Establishes the offline 3D sprite render pipeline (#541) — Camera3D at exact D-019 angle (-72.5° from horizontal), three-point studio lighting rig (key/fill/rim, no baked shadows), orthographic projection
Adds generic NPC capsule model (24×32px footprint per D-044) and 8 runtime 64px test sprites (NPC + wall × 4 directions)
Documents full pipeline spec: camera, lighting, resolution chain (1024→256→64), model authoring guide
Unblocks client #540 (sprite camera angle adjustment) — test sprites ready for import validation
Decision References
D-019: Camera angle (-72.5° from horizontal)
D-043: Visual style, resolution chain, outline color
D-044: Entity footprint spec (24×32px in 64×64 tile)
Update Camera3D to exact D-019 angle (-72.5° from horizontal).
Replace single DirectionalLight with three-point studio rig
(key 1.0, fill 0.4, rim 0.3) for clean silhouettes without
baked shadows. Add generic NPC capsule model (24×32px footprint
per D-044). Document full pipeline spec in renderer/README.md.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Runtime 64px sprites rendered through the new pipeline: generic NPC
(4 directions) and structural wall (4 directions). These unblock
client ticket #540 for sprite camera angle integration.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix client sprite naming in README (files are _64.png, not .png)
- Clarify --path working directory (renderer/ from repo root)
- Remove /sprite-gen reference (skill not in branch yet)
- Add D-043 citation on outline color in render_export.gd
- Add uid to wall_bar_green.tscn for reproducible imports
- Note wall_bar_green has no rendered sprites yet
- Note npc_generic capsule symmetry is by design (D-044)
- Add outline + D-033 tint compatibility guidance
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Decision References
Test Plan
PR Review: visual -> main (visual)
Hoshe (QA): REQUEST_CHANGES
<model>_<dir>.pngbut files are<model>_<dir>_64.png— naming mismatchuidheader — Godot will auto-generate on import, non-reproducible--path .assumeswall_bar_greenin models table but no output sprites deliveredAraminta (Art Direction): REQUEST_CHANGES
wall_institutional_era1.pngtexture not committed — sprites rendered from Godot fallback material/sprite-genskill referenced but not present in branchVerdict: CHANGES REQUESTED (1 critical, 3 warnings)
Pull request closed