IRON LITANY

Bounded art and exterior-piece pipeline

The first runtime uses original constructed geometry. Replace one family at a time after art approval; a large generated asset folder is not a style guarantee.

1. Choose one ID in dist/game/src/exterior.js, or one tank station/character. Record camera distance, on-screen footprint, dimensions/pivot, role, contact points, material ramps and motion.

2. Use ART_DIRECTION.md plus current source bible. Generate/sculpt one small reference-backed candidate. Keep exact prompt/generator/seed/source/license and a clean master. Check both affected filesystems before writes over 1 GB; keep a 100 GB reserve after peak.

3. Export runtime texture/geometry and a versioned manifest record. Nearest filtering is deliberate. Do not ship reference screenshots as textures or use a soft painting under pixel noise as the final asset.

4. Place the asset into the existing shared physical world. A pooled exterior object's pieceId follows it as it passes successive apertures. Pool size is 27, reused; no accumulating objects and no separate random video per porthole.

5. Inspect actual overhead, first-person and motion captures. Compare material/shape/light to target. Do not mass-produce a rejected asset family.

6. Shutters share the aperture coordinates. Recoil closes them briefly; severe heat and ash conditions reduce the opening. Expand later to localized grime, cracked lenses and debris with evidence-driven visibility consequences.

7. Save an approval record and exact commit. A source test verifies placement; only image/motion review certifies visual quality. Cinematic/narrated captures remain after user demo approval.

Current exterior definitions include ruins, armor, refugees, hostile runners, wrecks, rubble and roadside shrines. These are procedural stand-ins. The first body/gore and complex debris pass is planned, not silently claimed complete. Physics-linked event timing and sophisticated environmental occlusion remain follow-on work.