PROMPT RECORD图像记录
-- 定义核心数据结构 type LayerDepth = Float -- 0.0(后方)到 1.0(前方) type PaperTexture = (Grain, Thickness, C...
中文说明
-- 定义核心数据结构 type LayerDepth = Float -- 0.0(后方)到 1.0(前方) type PaperTexture = (Grain, Thickness, Color) type UI_Element = (Icon, Label, Position) -- 核心生成函数 generatePaperDiorama :: CivilizationData -> GridConfig -> RenderSettings -> Image generatePaperDiorama civ grid settings = let -- 1. 从文明数据中提取建筑特征 landmarks = extractLandmarks civ terrain = extractT...
原始 Prompt
-- Define the core data structures
type LayerDepth = Float -- 0.0 (back) to 1.0 (front)
type PaperTexture = (Grain, Thickness, Color)
type UI_Element = (Icon, Label, Position)
-- The core generation function
generatePaperDiorama :: CivilizationData -> GridConfig -> RenderSettings -> Image
generatePaperDiorama civ grid settings =
let
-- 1. Extract architectural features from the civilization data
landmarks = extractLandmarks civ
terrain = extractTerrain civ
-- 2. Create the depth map for the paper cut effect
depthMap = createDepthMap [
Layer(0.0, background_sky),
Layer(0.2, distant_mountains),
Layer(0.4, mid_ground_structures),
Layer(0.7, foreground_landmarks),
Layer(0.9, ui_overlay_frame)
]
-- 3. Apply "Paper Cut" rendering pipeline
renderedScene = applyPaperPhysics (
lighting = WarmGoldenHour,
shadowIntensity = HighContrast,
material = TexturedCardstock
) depthMap
-- 4. Compose the UI overlay (dynamic based on civ data)
finalImage = composeUI renderedScene [
Title(civ. name, position=TopLeft),
Legend(civ.landmarks, position=LeftSide),
NavigationArrows(position=Bottom),
LevelIndicator(position=BottomRight)
]
in
finalImage
-- Execute: Generate 2x2 Grid
renderGrid([
generatePaperDiorama(EgyptData, Grid(0,0), Settings),
generatePaperDiorama(GreeceData, Grid(0,1), Settings),
generatePaperDiorama(ChinaData, Grid(1,0), Settings),
generatePaperDiorama(MesopotamiaData, Grid(1,1), Settings)
])