diff --git a/MEMORY.md b/MEMORY.md index f1dc3f0..4f9ac69 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -33,14 +33,15 @@ canonical implemented-features list in `docs/development-status.md`. points/weights, removes the rig, applies the helper MASK, scales to 1.81 m, retargets the A-pose arms to the contract wrist, cuts the neck at 1.505, decimates, bisects the clothing boundaries, paints the five slots, adds a short neck flare, project hands, rounded shoes and cuffs, the - accepted head and the 14-bone contract armature. Current output: **15,333 tris / 9,241 raw verts / - 13,314 seam-split verts / 1.810 m / 14 bones / 10 materials**; `inspect` clean and feet grounded. - **Not accepted yet:** the decimated neck stub is boxy under the accepted head, the shoes are - block-shaped, the ankles taper to points above them, and the shirt hem forms a V at the crotch. - A torus collar, a cloth cylinder collar and a skin neck-blend sphere were all tried and removed: - they read as a brace, a shelf or a donut. The prototype uses flat slot colours because the - one-shot MPFB UV unwrap does not match the per-slot NPC atlases. Renders: - `tmp/npc-parts/mpfb_proto/renders55/`; body-only: `body_only.glb`. + accepted head and the 14-bone contract armature. Current output: **15,373 tris / 13,552 glTF + verts / 13,560 seam-split verts / 1.810 m / 14 bones / 10 materials**; `inspect` clean and feet + grounded. The neck is now a radial cut of the decimated column plus a wide 20-segment skin cone + (lower cone painted cloth, reads as a V-neck); the ankles are hidden by a 0.14 m shoe shell and a + 0.10 m pant cuff. Earlier torus collar, cloth cylinder collar and skin neck-blend sphere attempts + were removed: they read as a brace, a shelf or a donut. Remaining polish: block-shaped shoes, + V-shaped shirt hem at the crotch, skin-tight shirt, angular thigh facets. The prototype uses flat + slot colours because the one-shot MPFB UV unwrap does not match the per-slot NPC atlases. + Renders: `tmp/npc-parts/mpfb_proto/renders60/`; body-only: `body_only.glb`. - **Project agent skills (2026-11-03):** two tracked skills live in `.agents/skills/`: `gig-line-blender-asset-contract` and `gig-line-release-qa`. They are guidance only, add no runtime dependency and are referenced from `tools/README.md`. The third-party diff --git a/TODO.md b/TODO.md index 7e82112..3f2b0cd 100644 --- a/TODO.md +++ b/TODO.md @@ -203,24 +203,25 @@ owner reviews the silhouette and a production integration decision is recorded. apply the helper MASK, scale to 1.81 m, retarget the A-pose arms to the contract wrist (`x=±0.27`, `z=0.78`), cut the neck at 1.505, decimate, bisect the clothing boundaries, paint the five slots, add a short neck flare, project hands, rounded shoe shells, cuffs, the - accepted head and the 14-bone armature. Current output: **15,333 tris / 9,241 raw verts / - 13,314 seam-split verts / 1.810 m / 14 bones / 10 materials**; `inspect` clean, feet grounded. + accepted head and the 14-bone armature. Current output: **15,373 tris / 13,552 glTF verts / + 13,560 seam-split verts / 1.810 m / 14 bones / 10 materials**; `inspect` clean, feet grounded. - [x] Replace the spiky decimated MPFB hands with the project palm/finger primitives, straighten the splayed MPFB feet so the shoes point forward, and use rounded shoe shells + cuffs instead of flat blocks. Use flat slot colours in the prototype because the one-shot MPFB UV unwrap does not match the per-slot NPC atlases. -- [ ] Owner reviews the current MPFB body renders (`tmp/npc-parts/mpfb_proto/renders55/`): - the head/hair read well, but the decimated neck stub is boxy where the accepted head sits on - it, the shoes are still block-shaped, the ankles are pencil-thin where they meet the shoe - shells, and the shirt hem forms a V at the crotch. Earlier collar/neck-blend attempts were - rejected (disk shelf, neck brace, sawtooth collar); the current build ships no collar. -- [ ] Fix the neck junction before any rollout: either cap and taper the accepted head's open - bottom in `makehuman_head.glb` (rebuild the source, re-review the face) or insert a welded, - smooth neck mass with enough poly budget to avoid the decimated square prism. Do not hide it - with a torus/flat disk collar; both read as a brace or shelf. +- [x] Fix the neck junction without touching the accepted face: cut the decimated neck column + radially (all-vertex test inside r=0.085) so the shirt shoulder silhouette stays intact, + then bridge the opening with a wide 20-segment skin cone from r=0.10 to r=0.056. The lower + cone is painted cloth so the opening reads as a V-neck rather than bare chest. No torus, + disk shelf, neck brace or sawtooth collar. +- [x] Seat the ankles in the shoes: remove the lower-leg x-narrowing, raise the shoe shell to + 0.14 m and add a 0.10 m pant cuff at z=0.13 so the open tapered ankle is hidden. +- [ ] Owner reviews the updated MPFB body renders (`tmp/npc-parts/mpfb_proto/renders60/`). + Remaining known defects: block-shaped shoe silhouette, white shirt hem forms a V at the + crotch, shirt still reads skin-tight, and the 2k-tri body budget leaves some angular thigh + facets. These are polish, not blockers for the body direction. - [ ] Fix the low-budget seams before any rollout: weld the torso/hip/arm components after the - bisects, protect the hip/knee loops during decimation (or rebalance head/body triangles), and - rebuild the shoes/ankles so the leg does not taper to a point above a block. + bisects, protect the hip/knee loops during decimation (or rebalance head/body triangles). - [ ] Record the production integration decision: either bake the approved MPFB body to a committed source GLB (CI and fresh checkouts stay MPFB-free) or keep the procedural body as the shipped path. Do not add the MPFB extension as a build/CI dependency. diff --git a/docs/npc-model-sourcing.md b/docs/npc-model-sourcing.md index aab41c2..1f459bd 100644 --- a/docs/npc-model-sourcing.md +++ b/docs/npc-model-sourcing.md @@ -55,12 +55,14 @@ The MakeHuman body should reuse the approved local head/hand parts rather than f a second face implementation. The current local MPFB full-body prototype (`tmp/npc-research/build_mpfb_npc.py`) assembles the -accepted head on an MPFB 2.0.18 body at **15,333 / 16,000 tris**, 1.810 m, 14 bones and 10 -materials, with project hands, rounded shoe shells, accessory cuffs and flat slot colours. It is a -review candidate, not a shipped asset: the decimated neck stub is boxy under the accepted head, the -shoes remain block-shaped, the ankles taper above the shoe shells, and the shirt hem forms a V at -the crotch. A torus collar, cloth cylinder collar and skin neck-blend sphere were tried and removed -because they read as a brace, shelf or donut. The production integration decision (bake a committed +accepted head on an MPFB 2.0.18 body at **15,373 / 16,000 tris**, 1.810 m, 14 bones and 10 +materials, with project hands, rounded shoe shells, pant cuffs, accessory cuffs and flat slot +colours. It is a review candidate, not a shipped asset. The neck is a radial cut of the decimated +column bridged by a wide 20-segment cone (lower cone painted cloth, reading as a V-neck); the ankles +are hidden by raised shoe shells and pant cuffs. Remaining polish: block-shaped shoes, a V-shaped +shirt hem at the crotch, a skin-tight shirt and angular thigh facets. A torus collar, cloth cylinder +collar and skin neck-blend sphere were tried and removed because they read as a brace, shelf or +donut. The production integration decision (bake a committed source GLB or keep the procedural body) and the owner review are tracked in `TODO.md`; MPFB itself must not become a CI/build dependency.