Make character development an unversioned TODO section

This commit is contained in:
zwitschi committed 2026-11-03 08:24:55 +01:00
1 parent 1921bfae91
commit 979c6ad789
6 files changed
+22 -21

No files matched your search

+1 -1
View File
@@ -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.
+1 -1
View File
@@ -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
+13 -13
View File
@@ -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;
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+5 -4
View File
@@ -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`,