Research NPC model sources and plan 0.11.0 expansion

This commit is contained in:
zwitschi committed 2026-11-03 07:46:47 +01:00
1 parent 46f1e41874
commit bfe3c5a701
6 files changed
+324

No files matched your search

+60
View File
@@ -196,6 +196,66 @@ verify every distribution path. This is the next minor release after the 0.9.x p
- [ ] Exit: the release candidate is content-locked, externally played, legally reviewed,
documented, reproducibly built, and approved as the 0.10.0 release candidate.
## Milestone 0.11.0 — NPC model variety
Goal: break the eight-character clone effect with a reviewed, licence-cleared set of new NPC
looks while keeping the frozen `npc_base` bone, tint-slot and gear-attach contract. Start only
after the 0.10.0 release candidate is published; this milestone must not delay the release.
### 0.11.1 Source review and decision
- [x] Research free/open-source character sources and evaluate at least three downloads against
the existing Blender contract. (Measured Quaternius CC0, Kenney CC0, Khronos
CesiumMan/RiggedFigure CC-BY and the MakeHuman CC0 base mesh; none is a drop-in.
Results, local preview sheet and SHA-256 provenance are in
`docs/npc-model-sourcing.md`.)
- [ ] Review the sourcing research with the project owner and choose Option A (procedural),
Option B (Quaternius CC0 intake) or Option C (MakeHuman/MPFB body pipeline); record the
decision in an ADR and in `MEMORY.md`.
- [ ] Add a source licence allow-list and provenance rule: CC0 preferred, CC-BY only with
attribution in `CREDITS.md`, and no service assets whose terms restrict redistribution.
- [ ] Decide whether the external preview sheet stays local under `tmp/` or is committed with
the required CC-BY attribution.
### 0.11.2 Intake and validation
- [ ] Add a Blender `inspect` path that imports a GLB, applies node transforms, reports
tris/verts, bounds, bones, materials, UVs and skinning, and lists contract failures.
- [ ] Add an `adapt` path that scales/grounds the mesh, welds seams, decimates to the
triangle/vertex budget, maps materials into the five tint slots, rebuilds the contract
armature, transfers weights and writes the `npc_base` node name.
- [ ] Keep `tools/blender_assets.py audit` as the single final gate; add a regression test for the
intake report/adaptation using a deterministic synthetic or licence-cleared fixture.
- [ ] Document the adapter commands and the go/no-go checks in `docs/asset-tooling.md`.
### 0.11.3 One-character prototype
- [ ] Adapt one Quaternius CC0 variant and capture front, three-quarter, profile, back,
full-body and crowd views plus a walk cycle.
- [ ] Measure the prototype against the `npc_casual` controls: silhouette, face style, hands,
gear fit, rest pose and walk pose.
- [ ] Make a go/no-go decision on Option B; if no-go, remove the prototype from the pipeline and
continue with Option A.
### 0.11.4 Roster and runtime
- [ ] Approve four new looks (age/build/hair/outfit variation across everyday, workwear and
responder families; no clothing that labels the NPC's behaviour).
- [ ] Build or adapt the approved variants and add them to the manifest with roles and tint data.
- [ ] Replace the fixed `character_model_for()` mapping with deterministic per-role pools and add
tests for repeatability and duplicate avoidance.
- [ ] Rebuild and verify gear fit for every new variant (`blender_assets.py fit` plus the runtime
gear checks).
### 0.11.5 QA and release
- [ ] Run the 24-NPC budget smoke, portrait baseline, gear fit, headless suite and a release build
with the expanded library.
- [ ] Update `CREDITS.md`, `docs/development-status.md`, `docs/npc-visual-review.md` and
`CHANGELOG.md`; record any accepted visual limits.
- [ ] Exit: a reviewed 12-character library passes contract audit, portrait/gear acceptance,
the 24-NPC budget and licence/provenance review without changing the runtime contract.
## Future 0.x / non-blocking candidates
- [ ] Live 3D body-camera replay.