Files
gamedev-the-steward/assets/painterly

Painterly valley assets

Original broadleaf and evergreen meshes created in Blender for The Steward. Scalloped crowns, painted vertex variation, crooked forks and root flares replace the primitive tree silhouettes. Editable sources are in art/painterly/; .gdignore keeps Blender outside Godot's runtime import dependencies. The two portable GLBs use opaque geometry without textures or alpha cards.

Rebuild and mesh budget

From the project root, using Blender 5.1 and Godot 4.7:

"$BLENDER_BIN" --background --python tools/art/build_painterly_trees.py
"$GODOT_BIN" --headless --editor --path "$PWD" --import

Use the isolated Godot profile configured by tools/quality.sh for headless validation. Runtime consumes the GLBs directly; no mesh-extraction step is needed. Preserve their .import files when updating exports.

Geometry Triangles Surfaces
Shared broadleaf crown 1,236 1
Joined broadleaf trunk, forks and roots 406 1
Complete broadleaf: four crowns plus trunk 5,350 5
Complete conifer: boughs plus trunk 1,580 2

tree_mesh_budget.json records these export counts. The broadleaf GLB is 45,676 bytes; the conifer GLB is 40,836 bytes and stands 3.10 m before placement scaling. A separate temporary rebuild with Blender 5.1.2 produced byte-identical copies of both GLBs and the budget JSON. This establishes generator reproducibility with that Blender version, not identical .blend serialization across versions.

StylizedTree shares imported meshes and isolates crown tint/wind materials. Its four direct Canopy* children retain the existing thinning and stump presentation contract. PainterlyConifer shares imported bough/trunk meshes. Both use the same world-direction breeze and explicit painted bark colors; neither adds simulation state, collision or per-frame GDScript work.

Painted sky provenance

painted_sky.png is an original 1774 × 887 image generated with the built-in ImageGen tool, rather than a CLI generator. The prompt asks for a painted cumulus panorama with warm ivory cloud tops, cool turquoise cloud shadows and a clear blue summer atmosphere. Film references informed the color and mood; no external film image was copied into the texture. The exact generation prompt is recorded in sky_prompt.md.

storybook_sky.gdshader maps the panorama's horizon at 69% of its height onto the upper hemisphere, repeats the painted band twice around the azimuth to retain cloud proportions, blends its seam/edge into haze, and follows the existing day/night palette. The image supplies the sky backdrop only; it does not paint terrain or create volumetric clouds.

Final renderer QA and the complete project quality gate belong to the integrated environment review. See the presentation guide for current verification evidence and remaining hardware limits.