Each generated prop used one material per part (body, accent, metal...). The model pipeline now packs a prop's palette into one power-of-two colour atlas plus a matching metallic/roughness atlas and emits a single material: - atlas_for(): 8x8 cells per palette role, colours in sRGB, roughness in the G and metallic in the B channel of the second atlas; NEAREST sampling keeps cells flat. - build_glb(): every part merges into one primitive with constant per-vertex atlas UVs; the material uses baseColorTexture + metallicRoughnessTexture with factors 1.0. - audit_glb(): fails unless a prop has exactly one material, both atlas textures, two images, and TEXCOORD_0 on every primitive. - Removed the now-unused sRGB->linear factor helpers; colour travels in the texture. Verification: headless 181 -> 182 (new "one material per prop scene" test), Python tooling 53/53 (atlas determinism/size/UV/palette-override tests replace the old factor tests), model audit OK for all six props, screenshots regenerated and screen_designs.py compare still 6 good / 0 bad. Version 0.3.1.
19 lines
1016 B
Markdown
19 lines
1016 B
Markdown
# TODO
|
|
|
|
Godot 4.3 prototype. Latest release **v0.3.1** (prop atlas). Headless suite **182/182** plus
|
|
**53** Python tooling tests; the session, PLAN-verb, crowd, emergency, timeline, audio, scenario-content, and
|
|
windowed focus/radial smokes pass. Anonymous downloads are enabled on the host.
|
|
|
|
All planned backlog sections are complete (see `DONE.md`). Optional future ideas live below.
|
|
|
|
## Future ideas (optional, not scheduled)
|
|
|
|
- [ ] Live 3D body-camera replay (the timeline is text-only today).
|
|
- [ ] LOD/culling for NPCs if `MAX_LIVE_NPCS` grows past the measured 16-avatar budget.
|
|
- [ ] Additional venues or seasonal events authored from the new `.tres` files.
|
|
- [ ] Real voice/dialogue audio (the crowd bed and radio crackle are procedural).
|
|
- [ ] Swap the primitive prop builder for an image-to-mesh model API behind the same
|
|
`assets/models/generated/<prop>.glb` contract.
|
|
- [ ] Regenerate the AI screen mockups for the seven new catalogue entries (only the
|
|
deterministic wireframes exist so far).
|