Add the four crowd-variety characters and extend the baseline to twelve
Full build / Import + headless tests (push) Successful in 42s
Full build / Full desktop build + optional release (push) Skipped

This commit is contained in:
zwitschi committed 2026-11-04 10:57:58 +01:00
1 parent b945eb6e8f
commit 4e8665e25b
17 files changed
+199 -12

No files matched your search

+8 -8
View File
@@ -631,14 +631,14 @@ must inherit the reviewed face/hand/gear baseline instead of multiplying whateve
accessory; no clothing that labels the NPC's behaviour). (`npc_crowd_a` bun/slim/sunglasses,
`npc_crowd_b` bald/broad/beard/shoulder bag, `npc_crowd_c` coat/umbrella, `npc_crowd_d`
hood/cup; prototype sheet committed.)
- [ ] Re-derive the four approved specs against the re-evaluated character baseline (face, hands,
proportions, gear offsets) so the new variants do not reintroduce the gaps the review found.
- [ ] Generate the four variants through the assisted pipeline (procedural generator → `inspect` →
`audit`/`fit`) and capture the result before committing any of them.
- [ ] Add the four approved specs to `CHARACTERS`, build and commit their GLBs/AO maps, and
update the manifest with roles and tint data. Build only the new assets, never a no-op full
rebuild, and remember that `export_filter="all_resources"` packs committed GLBs into the
next release build: keep this off `main` until after the 0.10.0 tag or accept the size.
- [x] Re-derive the four specs against the new baseline: the four crowd entries inherit the
realistic face (`seg=24/rings=16`) and the reviewed hand/gear offsets automatically because
they share `_face`/`_hands_and_shoes`/`GEAR_ATTACH`.
- [x] Generate the four variants: built via `blender_assets.py build`, AO re-baked, `audit` clean
(4,734–5,814 tris), `inspect` clean, proportions pass.
- [x] Add the four specs to `CHARACTERS`, commit their GLBs/AO maps and manifest roles/tint data.
(Note: this adds ~2 MB to the next release build via `export_filter=all_resources` — accepted
for the crowd-variety roster.)
- [ ] Replace the fixed `character_model_for()` mapping with deterministic per-role pools and add
tests for repeatability and duplicate avoidance (`godot-export` contract check included).
- [ ] Rebuild and verify gear fit for every new variant (`blender_assets.py fit` plus the runtime