Record NPC sourcing decision and crowd prototypes
This commit is contained in:
1 parent
bfe3c5a701
commit
fef3af44c0
10 files changed
+269
-90
No files matched your search
@@ -198,9 +198,11 @@ verify every distribution path. This is the next minor release after the 0.9.x p
|
||||
|
||||
## 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.
|
||||
Goal: break the eight-character clone effect with four licence-cleared crowd-variety looks while
|
||||
keeping the frozen `npc_base` bone, tint-slot and gear-attach contract. The procedural generator is
|
||||
the primary path; Quaternius is a reviewed reference and MakeHuman is deferred to a separate local
|
||||
development pipeline. 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
|
||||
|
||||
@@ -209,39 +211,53 @@ after the 0.10.0 release candidate is published; this milestone must not delay t
|
||||
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),
|
||||
- [x] 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
|
||||
decision in an ADR and in `MEMORY.md`. (2026-11-03: extend the procedural generator as the
|
||||
primary path, keep Quaternius as a reviewed prototype/reference, defer MakeHuman to a
|
||||
separate local pipeline. Recorded in ADR-0015 and `MEMORY.md`.)
|
||||
- [x] 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.
|
||||
(ADR-0015; the CC-BY research previews are attributed in `CREDITS.md`.)
|
||||
- [x] Decide whether the external preview sheet stays local under `tmp/` or is committed with
|
||||
the required CC-BY attribution. (Committed as
|
||||
`docs/blender_previews/sheet_npc_sources_research.jpg` with Cesium CC-BY attribution;
|
||||
the project-owned crowd prototype sheet is also committed.)
|
||||
|
||||
### 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.
|
||||
- [ ] Add an `adapt` path for future external assets: scale/ground, weld seams, decimate, map the
|
||||
five tint slots, and either rebuild the contract armature or record an explicit second-rig
|
||||
contract. The Quaternius prototype showed that a contract rebuild needs a proportion warp,
|
||||
so this is not on the 0.11.0 critical path.
|
||||
- [ ] 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.
|
||||
- [x] Prototype one Quaternius CC0 variant: weld/decimate to budget and capture Idle/Walk
|
||||
renders. (12,518 imported verts -> 3,199 after weld -> 2,423 / 4,654 tris after a 0.75
|
||||
decimate; Idle/Walk quality is good. Preview in
|
||||
`docs/blender_previews/sheet_npc_sources_research.jpg`.)
|
||||
- [x] Measure the prototype against the `npc_casual` controls: silhouette, rest pose, body
|
||||
proportions and gear fit. (No-go for a contract rebuild: T-pose 62-bone realistic rig,
|
||||
~0.96 m hip, ~1.68 m arm span and ~0.153 m shoulder joint do not match the arm-down
|
||||
13-bone contract. Keep as reference; a second rig/animation path needs its own ADR.)
|
||||
- [x] Make a go/no-go decision on Option B. (No-go for 0.11.0; proceed with the procedural
|
||||
generator and keep Quaternius as a visual/style reference.)
|
||||
|
||||
### 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.
|
||||
- [x] Approve four crowd-variety looks (build, head silhouette, hair/beard, outer layer and
|
||||
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.)
|
||||
- [ ] Add the four approved specs to `CHARACTERS`, build and commit their GLBs/AO maps, and
|
||||
update the manifest with roles and tint data. (Prototype assets are local under `tmp/`;
|
||||
do not add them to the 0.10.0 release candidate.)
|
||||
- [ ] 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
|
||||
@@ -256,6 +272,16 @@ after the 0.10.0 release candidate is published; this milestone must not delay t
|
||||
- [ ] 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.
|
||||
|
||||
### 0.11.6 Deferred MakeHuman local pipeline
|
||||
|
||||
- [x] Evaluate the MakeHuman CC0 base mesh for a later separate local development pipeline.
|
||||
(19,158 verts / 36,972 tris; scaled to 1.82 m; decimate 0.35 -> 3,780 verts / 6,468 tris;
|
||||
UVs present, no normals/material groups/rig. Feasible only with retopology, a custom rig and
|
||||
project-owned clothing; keep out of CI/build.)
|
||||
- [ ] Decide whether body-shape diversity still matters after the 12-character library lands; if
|
||||
yes, prototype the local MPFB/MakeHuman pipeline outside the repo and commit only the final
|
||||
CC0-derived assets with provenance.
|
||||
|
||||
## Future 0.x / non-blocking candidates
|
||||
|
||||
- [ ] Live 3D body-camera replay.
|
||||
|
||||
Reference in new issue
Block a user