Define the measurable face/hands acceptance criteria for the model overhaul
This commit is contained in:
1 parent
2b6e774580
commit
ecd50503e7
2 files changed
+49
-1
No files matched your search
@@ -154,6 +154,53 @@ width scale.
|
||||
Each GLB carries a stray 42-vert/80-tri `Icosphere` origin helper that must be dropped before any
|
||||
promotion.
|
||||
|
||||
## Overhaul acceptance criteria (measurable)
|
||||
|
||||
Defined 2026-11-04 for the local part pipeline. A prototype must pass every applicable item
|
||||
before it is rolled out to the other variants; the bar is the stylized low-poly target, not
|
||||
photorealism.
|
||||
|
||||
### Face (one-variant prototype first)
|
||||
|
||||
Capture `front` (yaw 0°), `three_quarter` (yaw 35°) and `profile` (yaw 90°) at **1.5 m** and
|
||||
**1.85 m** (32° FOV), matching `capture_npc_baseline.gd` (a new 1.5 m portrait capture is added
|
||||
for this). Pass conditions:
|
||||
|
||||
- **Eyes** — sclera + iris + both lids distinct at 1.85 m; at 1.5 m the iris is a readable dark
|
||||
dot against the white sclera, not a floating oval; no socket ring or lid seam.
|
||||
- **Mouth** — the mouth line and lower-lip volume read at both distances; no moustache-like
|
||||
shadow from a floating dark slot.
|
||||
- **Nose** — bridge, tip and ala planes read in three-quarter and profile; no nose-wing seam or
|
||||
inverted normal at the base.
|
||||
- **Ears** — concha depth + lobe read in profile; not a flat disc.
|
||||
- **Jaw/cheek/chin** — front and profile show a jaw transition and cheek/chin planes; no faceted
|
||||
plane seams, inverted normals or z-fighting.
|
||||
- **Silhouette** — front/three-quarter/profile agree; face direction is unambiguous.
|
||||
- **AO** — the 256² bake stays clean: no recessed crease baking into a dark patch.
|
||||
|
||||
### Hands (one-variant prototype first)
|
||||
|
||||
Capture an **open palm** and a **relaxed grip** at **0.8 m** (`--view=hand` plus a new grip
|
||||
capture). Pass conditions:
|
||||
|
||||
- **Open palm** — four fingers and a thumb read as a hand, not a mitten; at least two of the four
|
||||
finger gaps are readable.
|
||||
- **Grip** — the palm plus curled fingers silhouette reads; no finger-through-palm clipping.
|
||||
- **Gear contact** — phone, cup, clipboard, camera, flashlight, wand and radio contact the palm
|
||||
at 0.8 m with `HAND_ITEM_FORWARD` unchanged; no floating or hand-through-item clipping.
|
||||
|
||||
### Contract (both, every prototype)
|
||||
|
||||
- 16,000 triangles / 16,000 glTF vertices per character; gear stays at 1,500.
|
||||
- Optional extra bones are allowed; the required 13 core bones and their rest positions must not
|
||||
move; the `npc_base` mesh node name and the five tint slots stay unchanged.
|
||||
|
||||
### Measurement gates
|
||||
|
||||
`blender_assets.py inspect`/`audit`/`fit`, `npc_proportions.py`, the 24-NPC budget, Godot + Python
|
||||
tests, the 48-frame baseline and the 96-frame pose/context review all stay authoritative; the new
|
||||
face/hands captures are the visual bar for this track.
|
||||
|
||||
## Scorecard skeleton
|
||||
|
||||
Verdicts use `qa-review` semantics: **P0** (blocker: wrong scale, broken normals, budget fail),
|
||||
|
||||
Reference in new issue
Block a user