Add the local npc_parts.py head/face/hand part pipeline with tests and docs
This commit is contained in:
1 parent
1b554df516
commit
b8d8869e03
7 files changed
+434
-13
No files matched your search
@@ -57,21 +57,24 @@ the rest of §C remains the broad review checklist.
|
||||
|
||||
### 2. Local part pipeline
|
||||
|
||||
- [ ] Add `tools/npc_parts.py` with a small, documented CLI:
|
||||
- [x] Add `tools/npc_parts.py` with a small, documented CLI:
|
||||
`extract` (pull the current head/hands for comparison), `build --part head|face|hand_l|hand_r`,
|
||||
`assemble --variant <name>`, `inspect`, `compare` and `sheet`. It should reuse the existing
|
||||
builder helpers where possible and emit deterministic local files; do not fork a second
|
||||
face/hand implementation.
|
||||
- [ ] Keep the part pipeline local-only and headless: flatpak Blender for authoring, stdlib/Pillow
|
||||
for inspection and sheets. No Blender MCP, no new runtime dependency, no CI Blender step.
|
||||
- [ ] Add tests for deterministic part assembly, contract output (mesh root, bones, slots, budgets)
|
||||
and the non-Blender failure path. Verify one assembled prototype with `audit`/`fit`/`inspect`
|
||||
before touching production variants.
|
||||
`assemble --variant <name>`, `inspect`, `compare` and `sheet`. It reuses the existing
|
||||
builder helpers (`blender_assets.py` `_face`/`_hands_and_shoes`/`_shape_head_mesh`); no
|
||||
second face/hand implementation. Verified end-to-end: built `head`/`face`/`hand_l`/`hand_r`,
|
||||
extracted `hand_l` from the shipped GLB, assembled `npc_casual` (contract inspect: no issues).
|
||||
- [x] Keep the part pipeline local-only and headless: flatpak Blender for authoring, stdlib/Pillow
|
||||
for inspection and sheets. No Blender MCP dependency, no new runtime dependency, no CI
|
||||
Blender step.
|
||||
- [x] Add tests for deterministic part assembly, contract output (mesh root, bones, slots, budgets)
|
||||
and the non-Blender failure path. `tools/tests/test_npc_parts.py` covers the part-name set,
|
||||
the clean Blender-required error path, sheet/compare error paths and a real-PNG sheet. The
|
||||
assembled prototype passes `inspect` (npc_base, 14 bones, skinned, no issues).
|
||||
- [x] Consider optional Blender MCP for interactive part exploration and document setup/safety.
|
||||
(`docs/asset-tooling.md#optional-interactive-blender-mcp` covers addon/client setup, Pi `pi mcp add`, flatpak networking,
|
||||
viewport/`bpy` workflow and the rule that headless audit/fit remains authoritative; MCP is
|
||||
not a build/CI/runtime dependency.)
|
||||
- [ ] Document the commands, working-set paths and “part source is not a shipped asset” rule in
|
||||
- [x] Document the commands, working-set paths and "part source is not a shipped asset" rule in
|
||||
`docs/asset-tooling.md`, `docs/blender-assets.md` and
|
||||
`.agents/skills/gig-line-blender-asset-contract/references/verification.md`.
|
||||
|
||||
|
||||
Reference in new issue
Block a user