Record the Quaternius pivot handoff in session memory

This commit is contained in:
zwitschi committed 2026-11-05 19:44:26 +01:00
1 parent 9968bc0a4c
commit deb74c53af
1 file changed
+52 -2
+52 -2
View File
@@ -193,6 +193,54 @@ canonical implemented-features list in `docs/development-status.md`.
- Localization target languages beyond English.
- macOS notarization approach for broad distribution.
## Handoff
### 2026-11-05 — NPC plan pivot and tmp cleanup
**What changed:** the NPC character direction was rewritten around the researched CC0
Quaternius character. ADR-0017 supersedes the generator-first decision in ADR-0015. `PLAN.md`,
`TODO.md`, `MEMORY.md`, `README.md`, `CREDITS.md`, the architecture/asset/review docs and the
docs index now point to the Quaternius base. The old MPFB/MakeHuman body tracks were closed and
their plans removed from `TODO.md`; the MakeHuman head and procedural `npc_base` remain tested
fallbacks only.
**Cleanup:** `tmp/` was reduced from ~2.9 GB to 4.7 MB. Removed the MPFB/MakeHuman scripts,
review renders, map scratch output and logs. Kept only the three researched Quaternius GLBs,
the Quaternius mirror HTML/README/licence, `prototype_quaternius.py`, and a local
`tmp/npc-research/quaternius/README.md` with hashes and re-download links. Do not delete that
folder while the migration is active.
**Implementation status:** planning and documentation only. No character GLB, code, manifest,
AO map or test was changed. The 12 shipped NPC GLBs still use the old procedural bodies.
**Next task (start here):** `TODO.md` → *Quaternius NPC base migration* → §1 Intake and
canonical base. First concrete step: inventory the four meshes, 62 joints, 24 clips and
material names in each of the three GLBs, then build a welded, grounded, animation-free
`quaternius_base.glb` at 1.81 m with front on Blender −Y.
**Main risk:** the source is a 62-joint T-pose with realistic proportions (research measured
~0.96 m hip, ~1.68 m arm span, ~0.153 m shoulder offset), while the runtime contract is an
arm-down 13-core rig with a 0.62 m hip and 0.27 m wrist targets. The Stage 1 proportion warp is
the make-or-break step. Judge the Quaternius result directly; do not reuse the old MPFB arm
warp. If the warp fails the silhouette/gear gate, stop and write the Stage 2 62-joint ADR.
**Key paths:**
- Source GLBs: `tmp/npc-research/quaternius/{Casual,Casual_Hoodie,Worker}.glb`
- Source hashes and inventory: `docs/npc-model-sourcing.md`
- Decision: `docs/adr/0017-quaternius-npc-base.md`
- Contract: `docs/architecture.md#character-and-gear-asset-contract`
- Runtime selector/fallback: `src/game/npc_avatar.gd`, `assets/models/blender/`
- Current library builder/fallback: `tools/blender_assets.py`, `tools/npc_pipeline.py`,
`assets/models/generated/npc_base.glb`
**Useful checks:** `python3 tools/check_docs.py`; `pytest -q tools/tests`;
`python3 tools/blender_assets.py audit|fit`; Blender headless:
`flatpak run org.blender.Blender --background --python "$PWD/tools/blender_assets.py" -- inspect --category npc --file "$PWD/<file>.glb"`.
This session ran `check_docs` and `git diff --check` after the doc rewrite; Python tests were
last green at 167/167. Godot tests were not rerun because no runtime file changed.
**Commit:** `2c90743 Rewrite NPC plans around the Quaternius base`. Working tree clean.
## Current State
The playable build covers the three venues, tutorial/campaign/checkpoints, the 0.9.3–0.9.6
@@ -201,7 +249,9 @@ polish/texture/integration passes and the Blender + realism asset pipeline (see
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. Test counts as of 2026-11-04:
Godot 277/277, Python 167/167, `check_docs` OK.
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.
<!-- b64: RWFzdGVyIGVnZzogYSByYXJlIHJhZGlvIHRyYW5zbWlzc2lvbiAiwr9Ew7NuZGUgZXN0w6EgbGEgbW90YT8iIGZpcmVzIHZpYSBHYW1lTWFuYWdlci5fbWF5YmVfcmFkaW9fZWFzdGVyX2VnZyAoMi41JSBjaGFuY2UgYWZ0ZXIgYSBzdWNjZXNzZnVsIHJhZGlvIGNhbGwpLiBTdHJpbmcga2V5IHJhZGlvLmVhc3Rlcl9lZ2cgaW4gY29udGVudC9zdHJpbmdzLmVuLmpzb24uIERvIG5vdCByZW1vdmUu -->