# NPC face and silhouette gate — Quaternius pilot (2026-11-05) This page is the owner decision point for [ADR-0017](../../adr/0017-quaternius-npc-base.md) + [ADR-0018](../../adr/0018-quaternius-stage2-runtime-rig.md) stage 2. It answers one question: **which head ships?** `npc_casual` is now the CC0 Quaternius `Casual_Hoodie` base baked to the project contract (arm-down rest, five tint slots, 62-joint rig at source proportions). The procedural library with the MakeHuman head is unchanged and still ships for the other eleven characters. ## The sheet ![face gate sheet](sheet_face_gate.jpg) Rows: the Quaternius base, the procedural library with the MakeHuman head, and a procedural crowd variant. Columns: front, three-quarter, profile, and the crowd-distance silhouette the player actually sees from 8 m. Source frames: `godot --path . --script res://src/test/capture_npc_baseline.gd -- --out=res://tmp/npc-gate`. ## What the sheet shows | | Head height / body | Face read at portrait | Crowd-distance read | | --- | --- | --- | --- | | Quaternius base | 0.134 | clean low-poly brows, nose, jaw, layered hair | slim, upright, clearly a person | | procedural + MakeHuman head | ~0.20 | oversized head, soft nose, beard slab reads as a bar | bobblehead proportions | | procedural crowd variant | ~0.20 | oversized head, flat cheeks | bobblehead proportions | Measured (`python3 -m pytest tools/tests/test_npc_proportions.py -q`, `python3 tools/npc_proportions.py`): - `npc_casual` (Quaternius): head 13.4 % of height, arm-down rest, 6,206 tris, 12,988 glTF vertices, texel density 73–74 px/m on the 256² maps. - The procedural library: head 16–22 % of height (the stylized band in `tools/npc_proportions.GUIDE`). The Quaternius head is *smaller and more realistic* than the stylized library head, which is exactly the trade the owner has to accept or reject. The vision judge that reviewed the earlier head rework reads the Quaternius face as the cleaner silhouette of the three at both distances. ## The three options 1. **Full swap.** Every character rebaked onto the Quaternius base in `0.9.10`; the procedural library and the MakeHuman head retire to the tested fallback. Consistent look, real anatomy, no further head work. 2. **Crowd only.** Quaternius for the anonymous crowd roles, procedural + MakeHuman for the named roles the player talks to. Keeps two art styles in one frame. 3. **Add head detail.** Keep the Quaternius body and author a higher-detail head (subdivision and hair cards) inside the 24,000-triangle / 24,000-vertex budget. Most work; the current head already reads well at gameplay distance. ## Recommendation Option 1. The Quaternius head beats the MakeHuman head at portrait distance in this sheet, and it costs no further authoring; the budget headroom (6.2k of 24k triangles) stays available for the hands and gear that the review still flags as weak. ## Recorded decision Status: **option 1 (full swap) accepted by the owner, 2026-11-05.** Every roster character moves onto the Quaternius base; the procedural library and the MakeHuman head become the tested fallback. See the follow-up decision section in [ADR-0018](../../adr/0018-quaternius-stage2-runtime-rig.md#follow-up-decision-full-roster-swap). Roster silhouettes are less varied than the procedural library until the modular part library (hair, outfits) is added in the `0.9.10` roster workstream — recorded rather than hidden.