Roster sheet · Detail tier
Four mobs, one table
Every mob in the detail tier is a row. Posture, corruption, head asymmetry, gait, hair and beard each name a row of another table, and a new mob is a line of numbers rather than a branch. This is what the four currently resolve to.
· brooklyn-dead @ af708d5 · gate 207/221 · budget 40,000 tris / 8 MB

On the bench
Same four bodies, lit flat and shot from the same camera. Every dial below is anchored on something the geometry already states — never a number somebody picked — which is what keeps the table honest when a fifth mob is added.

cheek_mange earned a style rather than a dial value: its footprint is one no dial reaches.- beard
- matted · full_beard
- chest depth
- 115.05 mm
- neck escape
- 11.2 mm
- growth tris
- 4,960
- hair tris
- 1,642
11,734 tris29.3% of 40k · 40.5% of 8 MB
- beard
- cheek_mange
- chest depth
- 86.28 mm
- neck escape
- 27.0 mm
- growth tris
- 4,860
- hair tris
- 1,137
11,057 tris27.6% of 40k · 39.4% of 8 MB
- beard
- jaw_mat
- chest depth
- 163.29 mm
- neck escape
- 16.1 mm
- growth tris
- 11,336
- hair tris
- 1,954
18,426 tris46.1% of 40k · 52.1% of 8 MB
- beard
- tusked · moustache
- chest depth
- 151.62 mm
- neck escape
- 12.8 mm
- growth tris
- 11,860
- hair tris
- 1,696
18,604 tris46.5% of 40k · 52.0% of 8 MB
body + headcorruption growthshair + beardbar is share of the 40,000-triangle category budget
They move differently too
Until this round all four played Walk_Loop — the hero’s own clip — so four distinct silhouettes shared one gait, and gait is most of what reads as character in motion. Each now carries its own, baked into all 53 clips and shipped in the GLB.
Breaker · lumbers, shoulders forward
Crier · cranes low, arms wide and looseThe Breaker is not on this clip set
It comes out of the SDF generator rather than the Blender scripts — a signed distance field polygonised and auto-skinned to its own 21-bone rig, sharing nothing with the 65-bone mob skeleton. Nothing in the mob code changed to accept it, because kits already treat clip names as data.
It is off by default, capped at one, and will not spawn below a population of ten. 420 health at 260 poise cannot be staggered by a rifle — interesting at one, an unwinnable wall at four. What keeps it fair is speed: 2.2 m/s against the player’s 6.5, so you can always walk away.

The world they are measured in
One building specification generates the facade, the interior lining, the collision, the shelter geometry and the navigation source together. A layout that drifts between those is forbidden rather than discouraged — every mob figure on this page depends on the street being the same street the navmesh thinks it is.
Street level · interior · aerial



What every row shares
A dial is only ever anchored on something the geometry already states — never a number somebody picked. That rule is what keeps the table honest when a new mob is added:
| dial | 1.0 means | anchored on |
|---|---|---|
| arm_out | 22.1° | the binding row’s own contact crossing |
| arm_curl | 21.9° | measured at 21.92, unchanged by the ribcage |
| loss | full removal | the moustache’s own 0.40 half-span |
| matt | fully matted | the stubble shell’s own 3.5 / 1.2 mm |
| clump | welded | two locks joined at conserved width and tris |
| hem | shallowest | stubble_block’s own bottom row |
Two rows still fail their gate — the Fused and Breaker at the axilla, needing a shoulder trade that costs 23.5% of the band. Refused on measurement.
Frozen throughout — SK_Hero.glb 4833793441261a55…, byte-identical across all eleven merges of this round.