diff --git a/CREDITS.md b/CREDITS.md index 1916f2a..aaf7512 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -24,7 +24,7 @@ not embed third-party models or purchased asset packs. ### Development-only research previews Two review sheets under `docs/blender_previews/` compare source candidates for -the post-0.10.0 NPC variety work. They are development documentation and are not +the future NPC variety work. They are development documentation and are not bundled with the game or its release packages. The underlying source models are kept outside version control. diff --git a/MEMORY.md b/MEMORY.md index ff5b0ac..4395999 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -10,7 +10,7 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o prototyped with the existing builder (`npc_crowd_a` bun/slim/sunglasses, `npc_crowd_b` bald/broad/beard/shoulder bag, `npc_crowd_c` coat/umbrella, `npc_crowd_d` hood/cup); all audit clean at 4,550–5,258 tris / 4,356–5,086 verts. Prototype assets stay in - `tmp/npc-research/generator_proto/`; do not add them to the 0.10.0 release candidate. + `tmp/npc-research/generator_proto/`; do not add them to the current release candidate. **Quaternius is a reference, not a shipped base:** welding brings `Casual_Hoodie` from 12,518 to 3,199 verts and a 0.75 decimate to 2,423 verts / 4,654 tris, and its Idle/Walk clips read well, but the T-pose 62-bone realistic rig/proportions do not match the arm-down 13-bone diff --git a/TODO.md b/TODO.md index fd1138d..dba6b55 100644 --- a/TODO.md +++ b/TODO.md @@ -42,7 +42,7 @@ release-candidate foundation, not yet a 0.10.0 release candidate. | QA/CI | Headless suite, smokes, screenshot compare, 21/21 judge | Release-candidate smoke matrix, final gallery and release dry run | Regressions escape the release gate | 0.9.6 / 0.10.0 | | Release/legal | Unsigned desktop/macOS builds, Web/HQ packages | Signing/notarization decision, checksums, AI-asset provenance, credits, privacy/body-camera and rating review | Public release blocked by trust/policy | 0.10.0 | | Documentation | Architecture/ADR/status/roadmap ownership established | Final README/changelog/status/TODO/smoke-checklist sign-off and known-limitations page | Docs drift at launch | 0.9.6 / 0.10.0 | -| Future 0.x | Stable 0.x feature set | Live replay, more venues, VO/music, image-to-mesh props and seasonal content | Scope creep before release | 0.11.0+ | +| Future 0.x | Stable 0.x feature set | Live replay, more venues, VO/music, image-to-mesh props and seasonal content | Scope creep before release | Unscheduled | **Current priority:** map optimization, the **pre-build NPC revisit**, the **0.9.3 UI polish**, **0.9.4 NPC visual optimization**, **0.9.5 texture @@ -200,15 +200,15 @@ 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 +## Character development 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. +development pipeline. Start only after the current release candidate is published; this work must +not delay the release. -### 0.11.1 Source review and decision +### 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 @@ -228,19 +228,19 @@ must not delay the release. `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 +### 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 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. + so this is not on the character-development 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 +### Quaternius prototype - [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 @@ -250,10 +250,10 @@ must not delay the release. 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 +- [x] Make a go/no-go decision on Option B. (No-go for the current pass; proceed with the procedural generator and keep Quaternius as a visual/style reference.) -### 0.11.4 Roster and runtime +### Roster and runtime - [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, @@ -261,13 +261,13 @@ must not delay the release. 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.) + do not add them to the current 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 gear checks). -### 0.11.5 QA and release +### QA and release - [ ] Run the 24-NPC budget smoke, portrait baseline, gear fit, headless suite and a release build with the expanded library. @@ -276,7 +276,7 @@ must not delay the release. - [ ] 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 +### 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; diff --git a/docs/README.md b/docs/README.md index 24b2b1d..48abfad 100644 --- a/docs/README.md +++ b/docs/README.md @@ -13,7 +13,7 @@ This folder holds the project documentation, visual references and generated QA - [`asset-tooling.md`](asset-tooling.md) — image/model pipelines and screenshot gates - [`npc-visual-review.md`](npc-visual-review.md) — NPC visual baseline, acceptance criteria and ranked gaps - [`npc-proportion-audit.md`](npc-proportion-audit.md) — NPC proportion ratios and stylized guide results -- [`npc-model-sourcing.md`](npc-model-sourcing.md) — free/open-source character sources, contract evaluation and the 0.11.0 expansion plan +- [`npc-model-sourcing.md`](npc-model-sourcing.md) — free/open-source character sources, contract evaluation and the character-development plan - [`development-status.md`](development-status.md) — implemented features and current gaps - [`accessibility.md`](accessibility.md) — accessibility statement and known gaps - [`known-limitations.md`](known-limitations.md) — release-candidate blockers and accepted limits diff --git a/docs/adr/0015-npc-model-variety-sourcing.md b/docs/adr/0015-npc-model-variety-sourcing.md index 986b0ff..47449fb 100644 --- a/docs/adr/0015-npc-model-variety-sourcing.md +++ b/docs/adr/0015-npc-model-variety-sourcing.md @@ -1,6 +1,6 @@ # ADR-0015: NPC model variety sourcing -- **Status:** Accepted (post-0.10.0 planning) +- **Status:** Accepted (planning) - **Date:** 2026-11-03 ## Context diff --git a/docs/npc-model-sourcing.md b/docs/npc-model-sourcing.md index 18733df..1614ab9 100644 --- a/docs/npc-model-sourcing.md +++ b/docs/npc-model-sourcing.md @@ -183,7 +183,8 @@ output directory. All four audit clean and stay inside the character budget: They vary build, head silhouette, hair/beard and outer layer while keeping the existing face language. They are **not in the shipped catalogue**; production -integration belongs to milestone 0.11.4 after the 0.10.0 release candidate. +integration belongs to the roster/runtime work under the unversioned `Character +development` section, after the current release candidate. Preview: [`blender_previews/sheet_npc_crowd_prototypes.jpg`](blender_previews/sheet_npc_crowd_prototypes.jpg). @@ -209,7 +210,7 @@ The boundary for that future work is: - Only the final CC0-derived GLB and its provenance note are committed. The application code and any non-CC0 assets stay outside the repository. -This is deferred; it is not part of the 0.11.0 crowd-variety work. +This is deferred; it is not part of the current crowd-variety work. ## Provisional NPC roster @@ -232,13 +233,13 @@ guests, trespassers and threats is the template. ## Implementation plan -The actionable tasks live in `TODO.md` under milestone 0.11.0. The workstreams +The actionable tasks live in `TODO.md` under the `Character development` section. The workstreams are: 1. **Decision and licence gate.** Complete: ADR-0015, the CC0/CC-BY rule and the committed preview sheets. 2. **Generator crowd variants.** Complete as a prototype (four specs, clean - audit, review sheet). Production integration is pending the 0.10.0 release. + audit, review sheet). Production integration is pending the current release candidate. 3. **Quaternius intake.** The contract-retarget prototype is a no-go. Keep the source as a reference; a second-rig/animation path would need its own ADR. 4. **Roster build and runtime.** Add the four approved specs to `CHARACTERS`,