From a5e62534ceaed16c2ec3be290bd9952810dcbe17 Mon Sep 17 00:00:00 2001 From: Zwitschi Date: Wed, 4 Nov 2026 21:26:00 +0100 Subject: [PATCH] Fix the prototype crotch material and loosen the shirt --- MEMORY.md | 18 +++++++++++------- TODO.md | 26 ++++++++++++++++++-------- docs/npc-model-sourcing.md | 11 +++++++---- 3 files changed, 36 insertions(+), 19 deletions(-) diff --git a/MEMORY.md b/MEMORY.md index f6f8102..c559410 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -33,9 +33,9 @@ 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,317 tris / 13,507 glTF - verts / 13,513 seam-split verts / 1.810 m / 14 bones / 10 materials**; `inspect` clean and feet - grounded. The torso is inflated radially by 8% between z 0.84 and 1.40 to loosen the shirt. The + accepted head and the 14-bone contract armature. Current output: **15,317 tris / 13,690 glTF + verts / 13,702 seam-split verts / 1.810 m / 14 bones / 10 materials**; `inspect` clean and feet + grounded. The torso is inflated radially by 12% through z 0.72–1.40 to loosen the shirt. The neck is a radial cut of the decimated column bridged by a four-ring, 20-segment lathe (lower rings painted cloth, reads as a crew neck); the ankles are hidden by a bevelled 0.11 m shoe shell, an inset 0.111 × 0.286 m sole, a tongue and a 0.08 m pant cuff. Sleeve cuffs use the @@ -45,10 +45,14 @@ canonical implemented-features list in `docs/development-status.md`. brace, shelf or donut, and vertex smoothing tore the open collar boundary into a dark hole. An untucked shirt-hem band at the hips also failed: it read as a hanging white flap at the crotch. Protruding flat sole plates read as skates/bricks and were replaced by an inset sole under a - rounded shell; laces were dropped for triangle budget. Remaining polish: V-shaped shirt hem at - the crotch, partly loosened shirt, angular thigh facets; a proper shirt shell is the fix. 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/renders74/`; body-only: `body_only.glb`. + rounded shell; laces were dropped for triangle budget. The neck skin rule needed a `z > 1.35` + guard: without it the `radius < 0.08` test painted skin at the crotch. Lowering the hem to + z 0.80 (unitard), tilting it up at the front (high-cut swimwear) and a 13% hem flare (peplum) + were all rejected; the remaining crotch V is the dark hollow under a body-painted shirt, and a + separate loose shirt shell is the real fix. Remaining polish: crotch V, partly loosened 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/renders82/`; 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 2c9a58f..a6834cb 100644 --- a/TODO.md +++ b/TODO.md @@ -203,9 +203,10 @@ 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,317 tris / 13,507 glTF verts / - 13,513 seam-split verts / 1.810 m / 14 bones / 10 materials**; `inspect` clean, feet grounded. - The torso is inflated radially by 8% between z 0.84 and 1.40 so the shirt is less skin-tight. + accepted head and the 14-bone armature. Current output: **15,317 tris / 13,690 glTF verts / + 13,702 seam-split verts / 1.810 m / 14 bones / 10 materials**; `inspect` clean, feet grounded. + The torso is inflated radially by 12% through z 0.72–1.40 (tapering out at the collar) so the + shirt reads as fabric rather than body paint. - [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 @@ -228,11 +229,20 @@ owner reviews the silhouette and a production integration decision is recorded. for triangle budget after they proved too small to read. - [x] Reject the untucked shirt-hem band: both the 0.09 m and 0.12 m cloth cylinders read as a hanging white flap at the crotch. The V hem needs a proper clothing shell, not a band. -- [ ] Owner reviews the updated MPFB body renders (`tmp/npc-parts/mpfb_proto/renders74/`). - Remaining known defects: white shirt hem still forms a V at the crotch, the shirt is only - partly loosened by the 8% torso inflation, and the 2k-tri body budget leaves some angular - thigh facets. A shirt shell is the proper fix for the first two; these are polish, not - blockers for the body direction. +- [x] Fix the neck material rule: the `radius < 0.08` skin test had no Z floor, so it painted a + skin patch at the crotch. It is now guarded to `z > 1.35`; the crotch stays pants. +- [x] Reject three cheap hem fixes: lowering the shirt to z 0.80 turns it into a unitard; tilting + the hem up at the front reads as high-cut swimwear; a 13% hem flare reads as a peplum. + The remaining V is the dark crotch hollow under a body-painted shirt, not a slot bug. +- [ ] Owner reviews the updated MPFB body renders (`tmp/npc-parts/mpfb_proto/renders82/`). + Remaining known defects: the crotch hollow still reads as a V under the shirt hem, the + shirt is only partly loosened by the 12% torso inflation, and the 2k-tri body budget leaves + some angular thigh facets. A separate loose shirt shell is the proper fix for the first + two; these are polish, not blockers for the body direction. +- [ ] Build a separate loose shirt shell (open hem, shaped to the hips) instead of body-painted + cloth. It must fit in the 683 spare triangles or come with a head/body triangle rebalance. +- [ ] Rebalance the triangle budget before rollout: 683 spare is below the ~1,200 the firefighter + and hoodie variants need. Protect the head budget first; do not lower the accepted face. - [ ] 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). - [ ] Record the production integration decision: either bake the approved MPFB body to a committed diff --git a/docs/npc-model-sourcing.md b/docs/npc-model-sourcing.md index 135ab59..73b4875 100644 --- a/docs/npc-model-sourcing.md +++ b/docs/npc-model-sourcing.md @@ -57,12 +57,15 @@ 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,317 / 16,000 tris**, 1.810 m, 14 bones and 10 materials, with project hands, bevelled shoe shells with inset soles and tongues, pant cuffs, -cloth sleeve cuffs and flat slot colours. The torso is radially inflated by 8% between z 0.84 and -1.40 to loosen the shirt. It is a review candidate, not a shipped asset. The neck is a radial cut +cloth sleeve cuffs and flat slot colours. The torso is radially inflated by 12% through z 0.72–1.40 +to loosen the shirt. It is a review candidate, not a shipped asset. The neck is a radial cut of the decimated column bridged by a four-ring, 20-segment lathe (lower rings painted cloth, reading as a crew neck); the ankles are hidden by 0.11 m shoe shells and 0.08 m pant cuffs, and a -light smoothing pass softens the closed thigh/hip region. Remaining polish: a V-shaped shirt hem -at the crotch, a partly loosened shirt and angular thigh facets; a proper shirt shell is the fix. +light smoothing pass softens the closed thigh/hip region. The neck skin test is guarded to z > +1.35 so it cannot paint the crotch. Remaining polish: the crotch hollow still reads as a V under +the shirt hem, a partly loosened shirt and angular thigh facets; a separate loose shirt shell is +the fix. Lowering the hem to z 0.80, tilting it up at the front and a 13% hem flare were rejected +as a unitard, high-cut swimwear and a peplum respectively. A torus collar, cloth cylinder collar, skin neck-blend sphere, destructive vertex-smoothing pass and untucked shirt-hem band were tried and removed because they read as a brace, shelf, donut or hanging flap, or tore a hole at the collar. Protruding flat sole plates read as skates or bricks,