# ADR-0016: 24,000-triangle character budget - **Status:** Accepted - **Date:** 2026-11-05 ## Context ADR-0015 raised the character contract to 16,000 triangles / 16,000 glTF vertices for the MakeHuman head, hands and crowd variety. The local MPFB full-body prototype now uses that head, project hands and shoes, and a fused neck: it measures 19,747 triangles before any clothing variation. The 16,000 cap leaves no room for the firefighter and hoodie gear, and it forces the body and neck into a low decimation that produces visible facets. ## Decision Raise the character contract to **24,000 triangles / 24,000 glTF vertices** per character (`CHAR_MAX_TRIS`/`CHAR_MAX_VERTS`, `npc_pipeline.MAX_TRIANGLES`/ `MAX_VERTICES`, and the `adapt` defaults). The 13 core bones, five tint slots, front orientation, grounding and single `npc_base` skinned mesh are unchanged. Gear stays at 1,500 triangles and props at 4,000. ## Consequences - The MPFB body, accepted head and neck fit with headroom for the 12 clothing variants and future jacket/hoodie detail. - The 24-NPC and Web frame-time budgets must be re-measured before shipping any variant built at the new cap; the extra geometry is not free. - The procedural generator and the low-poly `npc_base` fallback remain valid; they are not required to use the new headroom. - MPFB stays a local development tool. Production must bake a committed source GLB; CI and the build must not depend on MPFB. - Historical reviews and measurements that state 16,000 remain accurate for the date they were recorded; current contract documents state 24,000. ## Alternatives - **Keep 16,000 and decimate the MPFB body further:** rejected because the neck and shoulder already show facets and the clothing variants would exceed the cap. - **Separate caps for the MPFB prototype and the shipped characters:** rejected because it creates a second contract and makes the rollout ambiguous.