Plan the 0.9.9-1.0.0 roadmap and re-evaluate the NPC base
Move the gap analysis and risks into PLAN.md, version the character track (0.9.9 rig correction, 0.9.10 roster) and split 0.9.11-0.9.12 polish and verification out of the old 0.10.0 milestone. Add roadmaps to 0.10.0, 0.11.0 and 1.0.0, record the Quaternius face-fidelity gate and the rest-relative pose finding in MEMORY.md, and move the completed 0.9.7 and pose-harness sections to DONE.md.
This commit is contained in:
1 parent
5508f5510f
commit
140a7ada0f
7 files changed
+760
-445
No files matched your search
@@ -107,6 +107,26 @@ canonical implemented-features list in `docs/development-status.md`.
|
||||
cleared, storefront/rating approval pending, external playtests and full hardware matrix pending.
|
||||
Recorded in `CREDITS.md`, `PRIVACY.md`, `docs/accessibility.md`, `docs/known-limitations.md`.
|
||||
|
||||
- **Release roadmap (2026-11-05, owner):** `0.9.9` Quaternius pilot base (rig/export fix,
|
||||
rest-relative pose math, owner face/silhouette gate), `0.9.10` 12-role roster, `0.9.11`
|
||||
scheduled venue/prop/lighting polish, `0.9.12` performance/Web/accessibility verification,
|
||||
`0.10.0` public-readiness minor, then `0.10.1`–`0.10.3` fixes, `0.11.0` replay + fourth venue +
|
||||
localization foundation, `0.12.0` signed/storefront builds + save v2, `0.13.x` content complete
|
||||
and release candidates, `1.0.0` stable. The full gap analysis and roadmap live in `PLAN.md`; the
|
||||
character track is versioned now, so a blocked rig cannot block the release. Planning only —
|
||||
none of these versions is built yet.
|
||||
- **Quaternius face/readability gate (2026-11-05):** the base is 6.2k tris total and replaces a
|
||||
library with a sculpted realistic face, so the 0.9.9 gate is a product decision, not just an
|
||||
art check. Owner picks full swap / crowd-only / extra head detail. Do not lower character
|
||||
fidelity silently.
|
||||
- **Pose composition is rest-relative (2026-11-05, hypothesis to verify at 0.9.9):** Godot's
|
||||
`set_bone_pose_rotation` offsets from the bone rest, so `rest * Quaternion(axis, angle)` only
|
||||
equals the target when the rest is ±identity (the old 180° rig). The candidate fix is
|
||||
`rest.inverse() * target`, proven with measured global bone transforms.
|
||||
- **One character source, one fallback:** no new NPC source without an ADR. MPFB body work stays
|
||||
closed, the Stage-1 proportion warp is not reopened, and the procedural `npc_base` + MakeHuman
|
||||
head stay tested until the Quaternius base passes its gate.
|
||||
|
||||
## Gotchas / Known Issues
|
||||
|
||||
- **Two character builders — do not confuse them.** `tools/blender_assets.py` is the real builder
|
||||
@@ -132,6 +152,8 @@ canonical implemented-features list in `docs/development-status.md`.
|
||||
bind matrices (Godot renders A-pose even though the rest is arm-down). The runtime `_pose_bone`
|
||||
`rest * Quaternion(axis, angle)` only cancels when `rest² = identity` (old rig's 180° rest); the
|
||||
Quaternius ~76° rest does not, so the pose formula must be re-derived for a non-180° rest.
|
||||
Godot's bone pose rotation is relative to the bone rest, not absolute: treat
|
||||
`rest.inverse() * target` as the candidate and verify with measured global bone transforms.
|
||||
- Image models have per-model size floors/caps (Seedream needs 1920+; `GEN_SIZE=2048`, do not
|
||||
lower; gpt-5-image-mini caps lower). `generate_image` applies model-specific sizing; concept
|
||||
generation defaults to `--request-size 1536`.
|
||||
@@ -205,20 +227,27 @@ canonical implemented-features list in `docs/development-status.md`.
|
||||
## Open Questions
|
||||
|
||||
- Whether the responder avatar should be playable/controllable or purely scripted.
|
||||
- Localization target languages beyond English.
|
||||
- macOS notarization approach for broad distribution.
|
||||
- Quaternius scope: full 12-role swap, crowd-only, or extra head detail (owner decision at 0.9.9).
|
||||
- Localization target languages beyond English (0.11.0/0.12.0).
|
||||
- macOS notarization approach for broad distribution (0.12.0).
|
||||
- Fourth-venue choice for 0.11.0 (candidate: TCL Chinese Theatre forecourt).
|
||||
|
||||
## Current State
|
||||
|
||||
The playable build covers the three venues, tutorial/campaign/checkpoints, the 0.9.3–0.9.6
|
||||
polish/texture/integration passes and the Blender + realism asset pipeline (see `DONE.md` and
|
||||
`CHANGELOG.md`). The 12-character library (realistic face + four crowd variants) and the
|
||||
Comedy Store map rebuild are complete. **Priority (2026-11-05, owner):** 1) the **Quaternius NPC
|
||||
base migration** (bake the CC0 Quaternius character to the runtime contract), 2) the 3D model and
|
||||
map improvements, 3) ship it all together in the **0.10.0 minor**. The 0.9.7/0.9.8
|
||||
character patches are published; `TODO.md` is the priority source. The active implementation is
|
||||
the Quaternius base migration (ADR-0017); planning/docs were rewritten and `tmp/` cleaned on
|
||||
2026-11-05, but no character GLB has been rebuilt yet. Test counts as of 2026-11-05: Python
|
||||
167/167 (last run), Godot 277/277 (last run before the docs-only pivot), `check_docs` OK.
|
||||
v0.9.8 is published. The build covers the three venues, the shift loop, tutorial/campaign/
|
||||
checkpoints, the 0.9.3–0.9.8 polish/texture/integration/character passes and the Blender +
|
||||
realism asset pipeline (see `DONE.md` and `CHANGELOG.md`). The 12-character procedural library
|
||||
(realistic face + four crowd variants) and the Comedy Store map rebuild are complete.
|
||||
|
||||
**Planning pivot (2026-11-05, owner):** the character and map work was re-sequenced into
|
||||
patches (`0.9.9`–`0.9.12`) with `0.10.0` as the public-readiness minor. The gap analysis and the
|
||||
three release roadmaps now live in `PLAN.md`; `TODO.md` is the executable task list. ADR-0017
|
||||
Stage 1 (proportion warp) is dead; ADR-0018 option 2 (62-joint runtime) is accepted. The
|
||||
`quaternius_base.glb`, joint map, slot map and `NpcAvatar` name mapping exist, but the arm-down
|
||||
skin export and the pose composition are still wrong — no Quaternius character has rendered
|
||||
correctly in Godot yet, and no character GLB has been rebuilt since the pivot.
|
||||
|
||||
Test counts as of 2026-11-05: Python 167/167 (last run), Godot 277/277 (last run before the
|
||||
docs-only pivot), `check_docs` OK.
|
||||
|
||||
<!-- b64: RWFzdGVyIGVnZzogYSByYXJlIHJhZGlvIHRyYW5zbWlzc2lvbiAiwr9Ew7NuZGUgZXN0w6EgbGEgbW90YT8iIGZpcmVzIHZpYSBHYW1lTWFuYWdlci5fbWF5YmVfcmFkaW9fZWFzdGVyX2VnZyAoMi41JSBjaGFuY2UgYWZ0ZXIgYSBzdWNjZXNzZnVsIHJhZGlvIGNhbGwpLiBTdHJpbmcga2V5IHJhZGlvLmVhc3Rlcl9lZ2cgaW4gY29udGVudC9zdHJpbmdzLmVuLmpzb24uIERvIG5vdCByZW1vdmUu -->
|
||||
Reference in new issue
Block a user