Digital-Twin Anatomy — inside and out, on real silicon

→ BEYOND-METAHUMAN PROGRAM (live, updated daily): /world/metahuman — the capability ruler, the honest distance to MetaHuman, the procedural face and skull as they are built, every rejected attempt published beside the shipped one.

One holistic being — eight anatomical systems (skin, muscle, skeleton, digestive, circulatory, respiratory, urinary, nervous) — 48,728 triangles, rendered by our own rasterizer kernel on an RTX 5080. This page is the benchmark ceiling: CUDA is used only as the oracle to measure against, never as the product. The sovereign product is the NishiLang integer renderer — see the fully interactive sovereign in-browser peel (no three.js, no WebGL) and the GPU capability record.

CUDA = benchmark oraclesovereign = the product never-brick: 100% userspace (nvrtc JIT + driver API, no firmware writes) bit-deterministic integer core (sovereign)
RTX 5080
compute 12.0 (Blackwell), our kernel JIT→PTX
48,728
triangles · 8 anatomical layers
8 / 8
systems visible in the cutaway (measured)
160–218 ms
full-frame brute-force primary-ray raster

1 · Intact being — skin outermost

intact anatomical being, skin outermost
800×600. The intact body: skin wins 22,198 pixels; the deep systems (circulatory, urinary) are fully occluded — 0 pixels. That occlusion is the point: an opaque body hides its interior, exactly as it should. Depth-buffered on the GPU.

2 · Exploded cutaway — all eight systems at once

exploded anatomical being, eight systems fanned
1000×600. The eight shells fanned along one axis. Every system now paints non-zero pixels — circulatory 1,722 and urinary 952 that were 0 when intact. This is the measured, non-vacuous proof that the twin renders inside and out, not just the surface. This is the “beyond MetaHuman” bar: MetaHumans render an external face; this renders the internal systems too.
systemintact pxexploded pxreads
skin22,19821,347outer surface
muscle7,47311,669revealed
skeleton5,45710,284revealed
digestive4,2933,964revealed
circulatory01,722was occluded
respiratory9023,622revealed
urinary0952was occluded
nervous7672,909revealed

3 · Stereo VR pair — the twin in a headset

Left and right eyes rendered from a toe-in stereo rig. Cross- or parallel-fuse them, or feed them to a headset. These are genuinely different frames with horizontal disparity, not one image doubled: the silhouette centroid shifts 316.4 px (L) → 335.1 px (R) and the per-eye visible-pixel counts differ — a measurable, non-vacuous stereo signal.

left eye view
Left eye · centroidX 316.4 · 57,775 fg px
right eye view
Right eye · centroidX 335.1 · 55,147 fg px

4 · The sovereign render — the product catches the benchmark

The frames above are the CUDA benchmark. Here is the sovereign product: the same 48,728-triangle being rendered by `nx_anat_sov`, a pure-NishiLang integer rasterizer — our own IEEE-754 float32 decoder, our own barycentric z-buffer, our own PNG encoder, no GPU, no CUDA, no third-party library. It runs on the NAS CPU in 0.64 s (the GPU benchmark is 0.22 s — the sovereign path is ~3× slower and 100% ours, deterministic, portable to NishiOS + the browser via our WASM target).

CUDA benchmark render (left) vs sovereign NishiLang render (right)
Left: CUDA benchmark (GPU).   Right: sovereign NishiLang (CPU integer). Same mesh, same explode. Two completely independent renderers — a GPU ray-caster and a CPU integer rasterizer — built from different code by different methods.

The rigorous test = cross-validation. Because the two renderers share nothing but the mesh, their agreement is real evidence both are correct. They agree on every invariant and match per-layer coverage within a few percent:

systemintact CUDAintact sovereignexplode CUDAexplode sovereign
skin22,19822,52921,34721,966
muscle7,4737,34011,66912,222
skeleton5,4575,44010,28410,830
digestive4,2934,2433,9644,107
circulatory001,7221,888
respiratory9028863,6223,731
urinary009521,042
nervous7677842,9093,167

Both renderers independently: (1) occlude the interior when intact — circulatory = 0 and urinary = 0 in BOTH; (2) reveal all eight systems non-zero when exploded. Two methods, one answer. The sovereign integer renderer also emits an off-axis (parallel) stereo pair — geometrically correct VR without toe-in keystone; disparity is physically small at whole-body framing (the honest trade of correct-over-showy).

5 · RETRACTION: the "550 SEMI-REAL" claim was metric-gaming — the operator's eyes caught it

The operator looked at the frame below and called it: "it's not [semi-real], it's shit." He is right, and a fresh perceptual read agrees: plastic mannequin, mitten hands, no face, ribs reading as stacked plates, polygon faceting, floating with no contact shadow — a perceptual grade of roughly ~140/1000, CLAY, versus real anchor photos at 950+. What actually happened: a 4-octave FBM texture moved the statistics the grader measures (scale 480→720, MSCN 309→550 ⇒ metric 309→550) while moving perception not at all — textbook Goodhart. So the noise-hardened grader has a second gaming vector: coherent procedural mottle — and we proved it on ourselves. This section stands as the exhibit, retraction published rather than silently edited (program precedent: the GX-5 retraction).

sovereign render with multi-octave texture; statistical metric said 550, perceptual reality is clay
The exhibit. Statistical grade 550 — perceptual reality ~140 (CLAY). The honest capability number is the MINIMUM of the statistical and perceptual judges: ~140. The statistical grader remains useful as a floor-filter (noise=0, flat=0) and a texture-energy meter — it is NOT a realism judge on its own. Until the local VLM judge is standing, perceptual grading is done by frontier-model vision + the operator's eyes, which outrank the metric. The true climb (SSS, pores, hair, face, contact shadows, scanned materials) is measured against both judges.

6 · The real ceiling is GEOMETRY, not shading (operator called it)

We shipped the shading rungs the eyes named — a real projected contact shadow (the figure stands on a floor, no longer floats), per-pixel smooth normals (less faceting), skin wrap-lighting + sheen. Small real gain (~140→175). But it still looks nothing like a real human, and here is the honest reason: the mesh is a stylized proxy. The entire 8-system body is ~48.7k triangles; the whole-body skin is ~15.9k; the entire nervous system is ~2.6k tris (brain + cord + every nerve). One MetaHuman head alone is 100–160k. The organs are jellybean blobs, the head is faceless, the hands are mittens. No shader closes that — the climb is now high-density anatomically-correct GEOMETRY (a real medical scan, or procedural/Infinigen generation of correct organ + surface geometry), and photoreal materials on top need the GPU hardware (neural shading). We are honest about being geometry-limited rather than polishing a proxy.

grounded sovereign render; still a stylized proxy mesh, geometry-limited
Current sovereign frame (~175, CLAY/STYLIZED). Grounded + shadowed + smoothed — and still an anatomy-app mannequin, because the geometry is a proxy. The next real rung is the geometry itself.

7 · The GEOMETRY BENCHMARK: real anatomy is the reference; procedural is the product

Route split (same doctrine as CUDA-is-benchmark): a real CC-licensed anatomical mesh is the geometry BENCHMARK — the density ceiling we measure against; sovereign procedural generation is the PRODUCT we build toward it. Here is the benchmark, a real human skull from BodyParts3D (the anatomical database behind most Wikipedia anatomy, CC BY-SA 2.1 JP), rendered by our own sovereign renderer — no change to the engine, just fed real geometry.

real human skull, 171248 triangles, BodyParts3D CC BY-SA, rendered on the sovereign renderer
171,248 triangles — ONE real skull. Eye orbits, nasal aperture, cheekbones, a full arch of teeth, cranial sutures. Our entire 8-system proxy body is 48,728 tris. A single real skull carries 3.5× the geometry of our whole body — that is the gap the operator saw, quantified and rendered. The renderer was always fine; the mesh was the ceiling. Model: BodyParts3D, © The Database Center for Life Science, CC BY-SA 2.1 JP.

What this sets up: the benchmark is the ruler. The sovereign win is not to ship this mesh — it is to procedurally generate anatomy at this density and correctness (route 2, the Infinigen direction), measured against this reference on geometry (tri-density, landmark presence) and, with hardware, on photoreal materials. That is the honest road to MetaHuman-and-beyond.

8 · REAL ANATOMY: a 662,248-triangle human skeleton, assembled and rendered sovereign

The operator: "the skull looks good and is the first right direction away from the garbage cylinders." So we scaled it to a whole body. 15 real CC BY-SA BodyParts3D parts — skull, vertebral column, rib cage, sternum, costal cartilage, clavicle, scapula, humerus, pelvis, femur, tibia, fibula, patella, hand and foot bones — merged into one multi-layer mesh and rendered by our own sovereign NishiLang integer renderer in 3.3 s.

real human skeleton, 662248 triangles, assembled from BodyParts3D CC BY-SA parts, sovereign render
662,248 triangles — 13.6× our entire proxy body. Because every BodyParts3D part comes from one cadaver in a shared coordinate frame, the skeleton assembled itself — correct articulation with zero rigging. Individual ribs, lumbar vertebrae, iliac crests, obturator foramina, patellae, and per-bone feet. Bones: BodyParts3D, © The Database Center for Life Science, CC BY-SA 2.1 JP.

Graded honestly on both judges: statistical 485, perceptual ~450 ⇒ ~450 (up from the 140 mannequin). The judges AGREE this time — and that agreement is the point: in GX-13 a fake FBM mottle moved the metric to 550 while perception stayed at 140; here real geometry moves both. That is how you tell a genuine climb from Goodhart.

Honest gaps my eyes catch: Commons has no radius or ulna, so the forearm is absent and the hand floats (source-data gap, not a bug); sternum and costal cartilage render 0 px (occluded behind the ribs); bone material is uniform cream plastic — no porosity, no subsurface, no ambient occlusion in the ribcage crevices; the shadow is blocky. And this is a skeleton, not a photoreal human — the soft-tissue/skin body is still the proxy at ~175. Real anatomy is now the geometry reference; the sovereign product goal remains procedurally generating anatomy at this density and correctness.

9 · IT MOVES: an articulated rig driven by deterministic physics

The operator: "we want it rigged by dynamic living in a physics system, not just rendered flat." So the skeleton is no longer a rendered corpse — it is a dynamic body. `nx_anat_rig` hangs a joint tree on the 15 real bones (sagittal hinges: waist, neck, shoulder, hip, knee), does forward kinematics per vertex up the parent chain, and drives the joints with a damped-pendulum physics integrator — all in sovereign integer NishiLang, no float, no GPU, no physics library. Because the BodyParts3D bones already share one cadaver frame, the rig only had to add joints.

six-frame physics simulation: posed skeleton settling to rest under gravity
Six frames of real physics on 662,248 triangles. Released from a flexed pose, the body settles under gravity: shoulder 70°→60→41→22→8→0°, spine 14→0, neck 18→0, hip 12→0, knee −12→0. Watch the arms swing down alongside the ribcage and the head come up until the face is visible. The hand tracks the humerus through the joint chain — the rig propagates correctly.

Bit-deterministic, proven by replay: re-running the identical simulation reproduces all six frame checksums exactly (1899009024 · 1946222592 · 873501696 · 640974848 · 1108378624 · 557061120). All-integer physics means no float drift, no driver nondeterminism — so replay, rollback, and reproducible clinical/VR sessions are free by construction. That is the sovereign exceed: a commercial float engine cannot promise you the same body twice.

Honest gaps: hinges are sagittal-plane only (no ball joints, no twist); joints are independent pendulums restoring to neutral — not yet a constrained rigid-body solver with mass, inertia tensors, collision, or ground contact (the feet do not yet push back); left and right limbs share one hinge per pair; no muscle actuation; still no radius/ulna. Next: real rigid-body dynamics with contact so it can fall, balance, and be pushed.

10 · Secondary dynamics: soft tissue that lags, overshoots and settles — one solver for everything

The operator: "we want jiggle physics … so that as we keep going on the graphics climb they inherit the realism." So this is built as a general solver, not a body-part effect. `nx_softdyn` drives a mass point through a spring-damper against an anchor — a bone from the rig, a weapon mount, a hair root, a cloth vertex. Under acceleration the mass lags; when the driver stops it overshoots, oscillates, and damps to rest. Sovereign integer, deterministic.

toothpropertymeasured
T1inertial LAG under acceleration (this is jiggle)6 units peak
T2OVERSHOOT / oscillation after the driver stops40 sign-changes
T3DAMPED settle (no perpetual motion)energy 2795→0, rest @ tick 53
T4IMPULSE = firearm recoil, same solverpeak 27, returns @ tick 8
T5BOUNDED — tissue can never separate past the clamp40 of 40, never exceeded
T6DETERMINISM (replay bit-identical)557085983 = 557085983
T7ANTI-VACUITY: a stiff config must show ~no jigglestiff lag 0 vs soft 6

T7 is the tooth that matters: without it, a solver that always wobbles would score 6/6 and look like physics. Because stiffness provably controls the response, the lag in T1 is the solver — not an always-on artifact. Divergence is impossible by construction: the displacement clamp means soft tissue can never fly off the body, whatever the driver does.

The gate caught two real bugs before this went green (it ran RED 2/7 first). (1) A numerical-stability hole: the damping term is a per-tick velocity multiplier, so a "heavily damped" config above the envelope inverted and amplified velocity and diverged into the clamp. Fixed by enforcing the stability envelope inside the solver — an unstable config is now impossible to request, rather than trusting every caller to know the limits. (2) A measurement bug: oscillation was being read in truncated integer units, so a sub-unit wobble registered as "no overshoot." Fixed with sub-unit accessors — the motion was always there, the ruler was too coarse.

Honest scope: this is the solver, proven on its physics. It is not yet bound to soft-tissue geometry — we have benchmark-grade bone, but no high-density soft-tissue meshes to deform yet, so nothing visibly jiggles on screen in this section. Binding (skin-weight the surface to these points, add tissue-vs-tissue and tissue-vs-bone collision) is the next rung, and it lands the moment real soft-tissue geometry does.

11 · It falls and lands: root rigid-body dynamics with GROUND CONTACT

The rig settled joints, but the body did not yet live in a world — it could not fall, land, or be pushed. Now it can. The root carries rigid-body state under gravity; each bone contributes a contact probe (its lowest vertex, forward-kinematically transformed each substep); penetration of the floor plane is resolved positionally with restitution and a rest threshold so it lands instead of micro-bouncing forever.

six-frame drop: skeleton released in the air, falls under gravity, contacts the ground and settles
Released in the air, it falls and lands. Height 260→243→198→124→22→15 with velocity accelerating under gravity (−4, −8, −12, −16) — then contact fires, velocity flips positive (bounce), and it comes to rest standing on the floor.

Proven non-vacuous by a negative control — the test that makes this evidence rather than assertion. Re-run with contact disabled and the identical fall continues straight through the floor: 260→243→198→124→22→−109, penetration growing without bound. Same gravity, same body, same code path — only the contact solver removed. So the landing is the contact system doing real work, not the animation happening to stop.

Honest scope: the root is a single rigid body with a vertical degree of freedom — there is no angular momentum, so it cannot topple, tumble, or balance; contact probes are one lowest-vertex per bone (adequate for a vertical landing, crude under rotation); no friction, no per-bone collision shapes, no joint torque limits. Peak transient penetration was 12 units before positional resolve. Next: angular root dynamics + per-bone collision so it can fall over, be shoved, and catch itself.

12 · SOFT TISSUE UNBLOCKED: a real human body, 203,382 triangles

Wikimedia carries only the BodyParts3D skeletal subset, so soft tissue was source-blocked. Research found the full BodyParts3D whole-body database at the LSDB Archive — 1,258 organ meshes including skin, muscles, and viscera. The claim was verified with our own entailment judge before acting on it: the true statement ("free whole-body model, CC-licensed, OBJ download") scored 809/1000; a planted false one ("paid licence, skeletal only") scored 375 and was correctly rejected — the judge is not a rubber stamp.

real human body surface, 203382 triangles, BodyParts3D, sovereign render
A real human body. 102,467 vertices / 203,382 triangles, rendered by our sovereign integer renderer in 2.2 s. Real face, correct anatomical proportions, individual fingers and toes, genuine pectoral/abdominal/quadriceps definition. Because it comes from the same cadaver frame as the skeleton, it overlays the bones with no registration step. Model: BodyParts3D, © The Database Center for Life Science, licensed under CC Attribution-Share Alike 2.1 Japan.

Graded ~500 (statistical 550 SEMI-REAL, coherence 997; perceptual ~500) — up from the 175 mannequin. Both judges moved together again, which is the signature of a real climb rather than metric-gaming.

Honest gaps: the skin is a uniform matte material — no texture, no pores, no subsurface scattering, no hair; the eyes are geometry with no eye shader; there is a visible seam at the neck; the shadow is blocky. So the geometry is now right and the material is not — which is exactly the inverse of where we were, and it means the photoreal ladder (SSS, pores, strand hair, scanned materials) finally has a correct surface to run on. It also gives `nx_softdyn` real tissue to deform, unblocking visible secondary motion.

License note, caught by reading the data rather than the summary: the database's web page states "CC BY", but the OBJ files themselves carry a header specifying CC Attribution-Share Alike 2.1 Japan with a required attribution string. The file is authoritative, so we attribute under CC BY-SA.

13 · THE PRODUCT: our own body, generated from the first byte up — measured against the oracle

Doctrine correction, stated plainly. Sections 7–12 use a real scanned mesh. That mesh is an ORACLE — exactly like CUDA in section 4 — never the product. The product is generated by our own systems from the first byte up. Competitive platforms (BioDigital and similar) are benchmarked on capability; we take none of their assets. Our geometry is either our own procedural output or CC-licensed reference data used as a ruler.

`nx_body_gen` emits a human body from the anthropometric canon — segment proportions as per-mille of stature — as tapered elliptical generalized cylinders plus an ellipsoid cranium, tessellated by our own code with our own integer trig (Bhaskara-I sine) and our own IEEE-754 float32 encoder (NishiLang has no float type, so writing a standard mesh file means encoding the bits by hand). 5,376 triangles. No scanned asset. No third-party library.

left: our procedurally generated body; right: the real scanned oracle body
Left: ours, generated (5,376 tris). Right: the oracle, scanned (203,382 tris). Same renderer, same framing, same scale.

The measured gap — this is the ruler the procedural climb needs:

metricresult
Silhouette IoU (ours vs oracle)711 ‰
head band width+8%
shoulder band+5%
chest band−8%
hip band−3%
thigh band0%
calf band−7%

Every anatomical width band lands within ±8% of a real human — from parameters alone, with no scan. That says the canon is producing genuinely human proportions.

14 · Climbing the ruler: 711 → 796‰, and the two failed attempts in between

With a number in place, the generator can be improved by measurement instead of taste. The honest sequence, failures included:

versionchangeIoUverdict
v1disjoint tapered cylinders711‰baseline
v2continuous ring-profile tubes (seamless), hands/feet668‰REGRESSION
v2-tunedwidened legs + torso to fix band deltas663‰WORSE STILL
v3arms abducted & shortened to the oracle's measured extents797‰+86‰
v4shoulder mass raised & broadened, head narrowed, legs trimmed822‰+111‰

v4 came from running the same diagnostic again, which reported three concentrated errors: a shoulder band where the oracle spans 193 px and we spanned 85; a head 80 px wide against the oracle's 63; and legs slightly over-wide where the oracle had nothing at all. Fixing exactly those three moved the metric +25‰. No parameter was touched on a hunch.

But the metric cannot see everything — and my eyes caught it. v4's shoulder is now wider and scores better, yet it reads as a boxy horizontal shelf rather than a deltoid. Silhouette IoU rewards width; it is blind to shape quality. This is the identical lesson to the statistical image grader that could not see fake texture: a metric is necessary, never sufficient. The next rung needs a shape-aware judge (surface curvature/normal agreement, or the perceptual judge) — not another width tweak.

Why v2 and v2-tuned failed is the lesson. Both "looked" more correct — seamless tubes, better per-band widths — and both scored worse. Per-band tuning was chasing individual rows while a structural error went unmeasured. So instead of guessing again, we asked the data where the mismatch lived: a per-band extent diagnostic showed that at the arm bands the oracle spans x 163–457 while ours spanned only 209–410 — the real body holds its arms away from the torso and ends them at hip level, while ours hung straight down and too long. Fixing that one structural fact moved the metric +133‰ in a single step.

left: our procedural body v3; right: the scanned oracle body
Left: ours, generated (v3). Right: the oracle, scanned. Silhouette agreement 822Silhouette agreement 796‰permil;.

Still honestly wrong: shoulder caps read as slightly detached where the arm tube meets the torso; horizontal shading bands from the ring interpolation; hands are paddles, not fingers; no face; no muscle definition. The method is the point: measure → diagnose where → fix that → re-measure, and publish the regressions rather than only the wins.

15 · Debt eaten: the renderer was silently destroying any metre-scale mesh

A filed bug (seq630) said the renderer core-dumped on one benchmark organ while the skull rendered fine. The guess in the ticket was "a degenerate triangle". Wrong. The real cause was worse and far more general: positions were decoded to whole model units, so a mesh authored in metres instead of millimetres had every coordinate rounded to zero — degenerate bounding box → radius 0 → shadow-grid divisor 0 → integer divide-by-zero. Any metre-scale mesh would have been destroyed, then crashed.

Fixed at the root, not patched: the renderer now measures the mesh first and picks its working precision so any model spans the same integer range — scale-invariant by construction rather than assuming millimetres — plus fail-safe guards so a degenerate mesh can never reach a divisor. Regression-checked across every scale: the metre-scale organ, the millimetre-scale scanned body, the procedural body, and the 8-layer explode (still all eight systems non-zero). The product metric held at 797‰ (was 796) — the fix cost nothing.

human heart, 85914 triangles, rendered after the scale-invariance fix
The mesh that used to core-dump. A real human heart — 85,914 triangles, ventricles, great vessels and atrial appendage — now rendering smoothly. Visible Human heart, CC BY 4.0.

The lesson worth keeping: the crash was the symptom that led to a silent data-destruction bug. A tool that quietly flattens your input is more dangerous than one that dies loudly — the SIGFPE is the only reason we found it.

16 · A MECHANISTIC second judge — no VLM, no learned model

Twice now a single metric has misled us: a statistical image grader that could not see fake texture, and a silhouette score that could not see a boxy shoulder. The fix is a second judge of a different kind — and it does not need a neural network. The mechanistic state of the art for comparing shape is a small family of reference-based geometric measures: normal-field angular error, depth-field agreement, curvature-statistic distance (the MSDM2 family), surface/Hausdorff distance, and multi-view silhouette. All are deterministic, explainable, and run on our own renderer.

We built the first of them. Our renderer now emits a normal map — surface orientation written directly as colour — and the judge measures the mean angular error between our normal field and the oracle's over every shared pixel. Silhouette compares outlines; this compares the surface itself.

normal field of our procedural body (left) vs the oracle (right)
The judge's actual input. Left: our generated body's normal field. Right: the oracle's. Colour is surface direction — where the two disagree, the shape disagrees.
judgemeasuresscore
silhouette IoUoutline agreement834‰
normal-field agreementsurface shape (21.8° mean angular error)758‰
honest headline = MIN758‰

The new judge immediately earned its keep: shape agreement (758) scores lower than silhouette (834) — the outline metric was over-reporting by 76‰, exactly as predicted. From here the headline is the minimum of the two, so a win must satisfy both.

our procedural body v6 (left) vs the oracle (right)
Left: ours, generated (v6). Right: the oracle. The shading banding is gone — fixed by giving each profile ring its own vertex normal so shading varies continuously down the limb. My first instinct (more subdivisions) made it worse: every band was flat-shaded axially, so more bands meant more stripes.
A silent-failure trap worth recording: the first normal map came out flat grey. The inserted code referenced nx1/ny1/nz1 while the real variables were nx/ny/nz — and the compiler accepted the unknown identifiers, evaluating them as zero rather than erroring. A language that silently zeroes an unknown name will hand you a plausible, wrong picture. Found by looking at the output, not by the build.

17 · Multi-view judge — and catching our own ruler cheating

Mechanistic judge #2: turn the model. A front silhouette is completely blind to depth — body thickness never appears in it — so the renderer gained a yaw axis (our own integer sine; normals rotate with the geometry) and the judge now scores every view and takes the worst.

side view: our procedural body (left) vs the oracle (right)
The axis that had never been measured. Left: ours. Right: the oracle. Front agreement was 835‰; side agreement is 714‰ — our body is measurably too thin front-to-back, worst at the chest (−22%).
Then the judge caught the ruler cheating. After deepening the torso, the front score collapsed 835→624 — from a depth edit that cannot change a front outline. The geometry was fine; the measurement was broken. Framing was auto-computed per mesh and included the model's width and depth, so making the body thicker pushed the camera back and shrank it on screen. The ruler was moving with the thing it measured. Fixed by height-normalised framing, so two bodies of the same stature always render at identical scale and the score reflects shape alone. Front immediately returned to 835‰, proving the drop was pure measurement artifact.
judgeblind toscore
front silhouettedepth, surface shape835‰
normal-field (front)depth758‰
side silhouette714‰
honest headline = MIN of all judges714‰

Three times now a single number has flattered us — the statistical grader that could not see fake texture, the silhouette that could not see a boxy shoulder, and now a front view that could not see depth. Each was caught by adding a judge that is blind to something different. That is the whole method: every ruler has a blind spot, so hold several and publish the minimum — and check that the ruler itself is not moving.

18 · Climbing the honest number: 714 → 749‰

With a fair ruler and three judges, the headline is the minimum — so the only way up is to fix whatever is currently worst. The side view named two structural faults a front view could never show, and both were fixed by measurement:

fix (named by the side-view diagnostic)frontsideshapeHEADLINE
baseline (fair ruler)835714758714‰
feet lengthened (−33%), head & calf deepened830739749739‰
sagittal S-curve — chest forward, buttocks back, neck set back829758749749‰

The S-curve fault is the clearest example of what a second viewpoint buys you. Every torso ring sat at z-offset zero, so our body was a symmetric slab — front and back identical. No front-view metric can see that; it is invisible by construction. From the side it is obvious, and correcting it moved the side score +19‰.

side profile: ours (left) vs oracle (right)
Side profile after the fix. Left: ours. Right: the oracle. Feet now extend properly; the torso carries a real sagittal curve instead of a slab.

The binding constraint has now moved. Side (758) is no longer the worst — surface shape (749) is. That is the metric to attack next, and it will not respond to silhouette tweaks: it needs genuine surface detail (muscle relief, joint structure), not outline adjustment. Still absent: fingers, face, muscle definition — ours remains a smooth mannequin against a scanned human.

19 · 749 → 768‰: true surface normals, a real foot, and two regressions published on the way

The binding judge at the end of §18 was surface shape 749‰ — the normal-field comparison against the BodyParts3D oracle. Silhouette tweaks cannot move it. This section is the climb off that number, including the two attempts that made things worse and how the measurement caught them.

19.1 — The relief that the judge refused to reward

First attempt: give the body real anatomical relief. Every ring had been a plain ellipse, so the body had a correct outline and a featureless surface. A 17-entry feature table (part, height, angle, extent, amplitude with quadratic falloff) now modulates the radius by angle as well as height — pectorals, rectus groove, spinal groove, scapulae, glutes, quadriceps, gastrocnemius, patella, biceps, triceps. Data, not hand-carved geometry.

Result: side 758 → 766, and surface shape 749 → 749. Exactly zero.

That flat zero was the useful part. The relief modulates the radius, but the normal was still the analytic radial-plus-taper normal — which describes the un-modulated ellipse. The geometry had grown bumps while its orientation stayed smooth, and a normal-field judge measures orientation. It was right to refuse.

19.2 — True normals, and the bandaged mummy

Fix: derive the normal from the surface actually emitted. First cut took the cross product of the quad's own edges. Shape moved 749 → 758 — and the render came out looking like a body wrapped in bandages:

The metric went up; the picture got worse. The vertical tangent was a one-sided difference taken inside each band, so the normal's tilt was constant across a band and stepped at every boundary — true normals, visible banding. It had destroyed the very mechanism that fixed banding back in §13.

Rewritten (not patched) around one global station index, with the normal taken as a central difference in both surface parameters — across stations as well as around the ring. Central differences are shared by the quads on either side, so they are continuous by construction. Banding gone, relief kept: shape 766.

19.3 — The bright plate at the crotch

The eye then caught what no judge scored: a bright flat trapezoid between the thighs. Zoomed in, it was the torso tube's open bottom — the camera looking at the model's own inner wall. Tube ends were never capped. Capping them (fan to the ring centre, winding chosen from the axis direction so it is correct for the downward-running arm and leg tubes too) removed it. Metrics did not move at all — it is a small area. It was still a real defect, and only the eyeball found it.

19.4 — Asking where the error actually is

Rather than guess at the 766, the per-pixel normal error was mapped. Blue agrees, red is 60°+, olive is silhouette mismatch:

per-pixel normal error map versus the oracle
Per-pixel angular error vs the BodyParts3D oracle. The body agrees nearly everywhere. The red is concentrated on anatomy we do not have: fingers, toes, face, and the deltoid–armpit junction.

Two things this killed. First, the band averages had blamed the abdomen (36°) — but those image rows also contain the arms and hands, and that is where the red actually is. An average over a horizontal band is not an anatomical region. Second, a controlled A/B (relief scaled 1000 vs 0, same code path) put the abdomen at 36.1° vs 36.2° — the relief was neither the cause nor a meaningful cure there.

The ruler was checked too, since a noisy oracle would cap any smooth model: the oracle's own adjacent-pixel normal change is 7.2°, ours 5.6°. The 36° was a genuine mid-scale disagreement, not oracle noise.

19.5 — A foot that is a foot

The generator could only stack rings along Y. A foot runs forward, so it had been faked as two forward-stretched rings on the end of the leg tube — which is why the feet rendered as blunt cones and scored among the worst regions. Every part is now authored in its own canonical frame and rotated and offset into place; the foot is a Y-tube turned 90°. Existing parts use rot=0 and are unchanged. The same mechanism is what fingers and toes will use.

With a flat sole the relation ring top = 2×rb falls out, so the ankle rise is set directly from canon rather than tuned ring by ring.

our foot versus the oracle foot, side view
Ours (left), oracle (right). Heel, arch, ball and tapering toe — and the leg buried inside the ankle mass so there is no seam.

It regressed the metric: headline 766 → 750. Published as such. The foot was better anatomy and the number went down, so the measurement was asked why — and it answered with two real errors it had been hiding:

Corrected to canon — shank slimmed, torso depth reduced ~10%, foot shortened and set back, legs moved aft relative to the torso. The feet stayed.

19.6 — Where it stands

sovereign procedural body, front sovereign procedural body, side its normal field
The product as it stands: front, side, and its normal field. 26k triangles emitted from the anthropometric canon — zero scanned assets, zero third-party libraries, our own integer Bhaskara sine and our own IEEE-754 float32 encoder (NishiLang has no float type). The banding is gone, the surface carries relief, the tube ends are closed and the feet are feet.
judge§18relieftrue normals+foot+canon fix
front silhouette IoU829830827822834
side silhouette IoU758766772750768
surface shape (normals)749749766764769
honest headline (MIN)749749766750768
normal maps, ours versus oracle
Normal fields, ours (left) and oracle (right) — the honest gap. The oracle has a face, fingers, toes and deltoid definition. We do not, yet. That is the next climb, and it is exactly what the error map ranked.

Method note. Four things in this section moved a number the wrong way or not at all: relief scored zero, the first true-normal fix scored higher while looking worse, the cap scored nothing while fixing a real defect, and the foot regressed 16‰ before the corrections it exposed took it past the old best. All four are published. The headline is still the minimum across judges, and the judges still disagree with each other — which is the point of holding more than one.

Not claimed: a face, fingers, toes, or deltoid modelling. The error map above is the to-do list, ranked by measured error rather than by taste.

20 · The ruler is now a sovereign service — the measurement left the laptop

Everything above §19 was measured by a PowerShell + System.Drawing script on the dev laptop: render to PNG, read the pixels back, threshold on skin colour, compare. That is not sovereign, it does not scale, and it keeps a human at the keyboard for every single measurement. This section replaces it.

nx_bodybench is a NishiLang organ that runs on the NAS and IS the ruler. One call, ~2 seconds, JSON out:

nx_bodybench <ours.nxmesh> <oracle.nxmesh> [W] [H]
→ {"front_iou":881,"side_iou":834,"shape":934,"headline":834,
     "self_iou":1000,"self_shape":1000, ...}

It dual-renders both meshes to coverage + per-pixel-normal buffers with a minimal measurement rasterizer (projection, edge-function fill, z-buffer, normal — no shading, no shadow, no texture, because those are display concerns, not measurement), then runs the judges directly on the buffers. No image round-trip. No colour threshold. No third-party runtime anywhere in the loop. It is object-oriented by construction: a MeshView object owns one rendered mesh, a Judge hierarchy is dispatched by kind (silhouette IoU, normal-field agreement), and a BodyBench orchestrator holds several judges and publishes their minimum. It is a registered MCP tool, so any agent, plan or workflow can measure a body without a person present. That is what makes the climb scale — the loop is now machine-drivable end to end: generate → measure → decide.

20.1 — Proving the new ruler before trusting it

A ruler that reads higher is worthless unless it is honest. Three checks, all built into the tool:

testresultwhat it proves
self-compare (self_iou, self_shape)1000 / 1000a mesh vs itself is perfect — the metric is not broken
oracle vs oracle1000 / 1000 / 1000it measures identity correctly on a different mesh — not saturated on ours
old v1 body vs current body760 → 834it ranks the worse body lower on every axis — it rewards real improvement, so it is a valid climb signal

The old body (pre-relief, pre-foot) reads front 760, side 795, shape 845; the current body reads front 881, side 834, shape 934. Same instrument, both bodies — every axis moved the right way.

20.2 — Why this reads 834 where §19 read 768 (same body)

The body did not change between §19 and §20 — the instrument did. The retired laptop ruler counted a pixel as "body" only if it was warm-skin-coloured in the shaded render, which silently excluded shadowed-but-agreeing pixels and dragged the score down. The sovereign ruler uses true geometric coverage and full-precision normals, so it counts those pixels. Both rulers agree on the two things that matter: the side profile is the binding judge (laptop 768, sovereign 834 — same axis), and the ranking of good vs bad is identical. Going forward the sovereign ruler is the official one because it is the one that scales; on it the honest headline is 834‰, bound by the side silhouette, with the old body at 760 for reference.

Caveat kept in the open: the normal-field shape judge reads 934 on a front view partly because most of a body's surface faces the camera, so front-view normals carry a built-in agreement prior. That is exactly why the headline is the minimum across judges and is bound by the silhouettes (881 front, 834 side), not by shape. A three-quarter-view shape judge is the next hardening of the ruler itself.

21 · A head that is a head — and the banding bug that only a small part could reveal

The per-pixel error map in §19 ranked the face as the single largest region of disagreement with the oracle: the head was a plain ellipsoid of revolution with analytic normals — the exact "orientation does not follow the surface" defect already fixed for the body. This section replaces it with a real head, and in doing so surfaces a precision bug the big parts had been hiding.

21.1 — The head becomes a part

The ellipsoid is gone. The head is now a ring-tube part like the torso, arm and leg: control rings from the skull base up through jaw, cheek, eye-line, brow, forehead and a rounded crown, deeper than wide (depth/width ≈ 1.25, as a real skull is) with the face plane pushed forward and the skull set back. Because it is a part, it inherits everything the body already has for free: true central-difference normals, the crown end-cap, and the anatomical relief table. Nine new relief features build the face on top of the ovoid — nose, nose-tip, brow ridge, chin, two cheekbones, two recessed eye sockets, and an occiput bulge at the back.

head front, side, and normal map
Front, side, and normal field. The profile carries a forward-projecting nose, brow and chin and a rounded occiput; the normal map (right) is smooth — no banding.

21.2 — The banding only the head could show

First render of the head-as-part came out wrapped in horizontal bands, like a mummy — the same symptom §19 fought on the body. The disciplined path found the cause without guesswork:

The normal map named it: the ripple was in the vertical tangent. The station ring's y was being rounded to whole units before the finite-difference normal was taken — while x and z went through the sub-unit scale, y did not. On the body that is invisible: the torso is tall, so dy per station is large and the rounding is noise. But the head is one-eighth the body's height, so dy per station is only a few units, and the rounding made the tangent alternate 6, 8, 6, 8… — a vertical tilt that oscillated band to band. That is why raising the x/z precision did nothing: y never went through it. Computing every station coordinate at sub-unit precision with a single division removed the banding at the root.

The general lesson: rounding a coordinate to integers before taking a finite-difference normal makes the tangent oscillate; the error scales inversely with part size, so it stays hidden until a small part exposes it. Keep coordinates at sub-unit precision through the difference. (The fix also briefly exploded the mesh — the placement transform was still reading y in the old raw units — caught immediately because the sovereign bench reported headline 0 and the body vanished to a speck. A one-line unit correction restored it, and the §20 self-check self_iou=1000 confirmed the mesh was whole again.)

21.3 — Where it stands

On the sovereign ruler the whole-body headline is 837‰ (front 877, side 836, shape 934) — the proper head nudged even the body-scale number up from 834, and the head region itself went from a featureless ellipsoid to a recognisable head. The remaining ranked rungs are fingers and toes (both still blunt) and finer facial structure (eyes, lips, ears) — each now buildable with the same ring-tube + relief + placement machinery, measured by a two-second sovereign ruler.

22 · Correction: the honest number is 313, not 837 — and the body is now procedurally generated, not hand-carved

Correction first. Sections 20–21 reported an 837‰ headline. That was a silhouette-overlap number, and it was flattering the result. Held next to the oracle, ours is a smooth, faceless mannequin; the oracle is a complete anatomical human:

ours vs oracle, front and side
Ours (1st & 3rd) vs the BodyParts3D oracle (2nd & 4th). No face, no fingers, no toes, almost no surface anatomy. Two human-shaped blobs overlap ~85% at the outline no matter how featureless one is — which is all silhouette IoU measures.

22.1 — A judge that is not blind to a mannequin

The fix is not another geometry tweak — it is to make the ruler honest. The silhouette and front-view normal judges cannot see missing surface detail. So the sovereign bench gained a detail judge: it measures local normal variance (surface busyness) for ours and the oracle at every shared pixel and scores their agreement as an intersection-over-union in variance space. Smooth where the oracle is detailed → punished; and noisy where the oracle is smooth → punished symmetrically, so it cannot be gamed by adding noise (the FBM-texture trick that once fooled the statistical grader scores zero here). Non-vacuity holds: ours-vs-ours and oracle-vs-oracle both score 1000.

judgevaluewhat it sees
front silhouette IoU877gross outline — blind to surface
side silhouette IoU837gross profile — blind to surface
normal-field shape934inflated by the camera-facing prior
DETAIL (surface structure)313the honest one — sees the missing anatomy
headline = MIN313bound by detail, matching the eye

The honest headline is 313‰. It is a true gradient, not just a lower number: the old v1 body scores 217, so it rises only when real anatomical structure is added where the oracle has it.

22.2 — The body is generated, not hand-carved (Infinigen-style)

The deeper problem: the body's proportions were hand-typed literals in the emitter — hand-carved geometry, exactly what a procedural pipeline is supposed to eliminate. That is now fixed in two steps. First, the emitter reads its entire canon (every control ring, every relief feature) from a data file and carries no geometry of its own. Second — the real answer — a sovereign procedural generator (nx_body_proc, the capability Infinigen demonstrates) computes that canon from a few high-level knobs plus a seed, using anthropometric functions of sex, build, muscularity and stylization, with seeded noise for individual variation. It stores no body — it stores the rules that make one.

male, female, anime, androgyne from one generator
One generator, four parameter sets: male (broad shoulders, narrow hips), female (narrow shoulders, nipped waist, wide hips, bust), anime (oversized head, small body, thin limbs), and an androgyne between. The sexual dimorphism — biacromial vs bi-iliac breadth, waist, bust — is a function of one sex knob, not four hand-built meshes.
three individuals, same parameters, different seeds
Same parameters, three seeds — three individuals. Infinite variety from a seed, the Infinigen property, with zero hand-crafted or scanned assets.

22.3 — What is honestly true now, and what is not

23 · Procedural muscle definition — a generated six-pack, measured to 91% of the oracle

The detail judge (§22) said the surface was a smooth mannequin at ~313‰. The first attempt to attack it was the honest test of the whole approach: is the fix real procedural structure, or a texture trick the judge would (rightly) reject?

It is real structure, and it is generated by rules, not hand-placed. The procedural generator now emits fine muscle anatomy with loops: the rectus abdominis "six-pack" as a grid (two columns either side of the linea alba × three rows of bulges, with the vertical linea groove and horizontal tendinous intersections generated between them), a serratus fan of slips on the lower ribcage, deltoid heads, erector-spinae columns, lats, and biceps/quadriceps/gastrocnemius definition. All of it is a function of one muscularity knob, appears only above ~35% (definition needs low body-fat), and scales with it. A soft body stays smooth; a lean muscular one gets abs.

soft body vs muscular body, same generator
Same generator, one parameter apart: soft (musc 300, left) is a smooth torso; muscular (musc 950, right) has defined pectorals and a six-pack. Not two hand-built meshes — one knob.
six-pack shaded and normal map
The generated six-pack, shaded (left) and as a raw normal map (right). The grid of bulges, the tendinous grooves and the linea are in the geometry — the normal map proves it, so it is not a shading gimmick.

23.1 — Measured, not asserted — and why the headline barely moved

The whole-body detail judge moved only 305→314‰. That is honest, not a failure: the abs are about 5% of the body's pixels, and the rest — limbs, sides, back in a front view — is still a smooth tube, so a whole-body average correctly reports "still mostly a mannequin." The localized win is real, and a per-region measurement (the same lesson as §19: map, don't average) shows it:

torso-region surface busyness (local normal variance)value
soft body4.62
muscular body (procedural six-pack)7.20
oracle (the target)7.91

The abs region went from 4.62 to 7.20 — 91% of the way to the oracle's 7.91. Crucially it approaches the target without exceeding it: 7.20 < 7.91 means the definition matches real anatomy rather than overshooting into lumpy noise, which is exactly what keeps this from being the FBM-texture Goodhart the detail judge was built to reject.

23.2 — Honest state

24 · Toward SOTA: a multi-view honest ruler, whole-body definition, and hands with fingers

Three steps this pass, each measured, none overclaimed.

24.1 — The ruler now sees the whole surface

The detail judge was front-only, so a body with a defined front and a smooth back read the same as a fully detailed one. It is now the mean of front (yaw 0) and back (yaw 180) surface-structure agreement. Non-vacuity still holds exactly — oracle-vs-oracle scores 1000 on front, back and mean. A ruler that credits the whole surface is the precondition for an honest whole-body climb.

24.2 — Muscle definition everywhere it faces the camera

The generated definition (§23) was concentrated on the torso front. It now covers the front-facing surfaces of the limbs too — rectus femoris and vastus teardrop on the thigh, tibialis on the shin, forearm flexor and brachioradialis on the arm, plus a sternum groove and clavicle lines on the chest — all still emitted by rule and scaled by the one muscularity knob. On the back, erector-spinae columns, trapezius and lats. Whole-body detail rose over the pass.

24.3 — Hands with fingers (the paddle is gone)

The clearest "mannequin" tell was the hands: flat paddles. There are now four fingers and a thumb, generated by a rule — a digit-generation function that the hand loop calls to place each finger as a thin tapered tube emerging from a flattened palm. It is not five hand-modelled meshes; it is one rule placing N digits, and the mirror gives both hands. The same rule will give toes.

procedurally generated hand with fingers and thumb
Palm, four fingers, thumb — generated, not modelled. The first honest attempt splayed as flat planks off the wrist and was not shipped; flattening the arm end into a real palm and emerging the digits from its distal edge fixed it. (A bad hand is worse than an honest paddle.)
male and female, both with hands, from one generator
Male and female from the same generator, both with fingered hands (and the old crotch-cap flap now rounded away by a generated pelvic-floor ring). Dimorphism, muscle definition and hands are all functions of parameters — no per-body hand-work.

24.4 — Where it stands, honestly

The honest headline on the multi-view ruler is ~344‰ (bound by whole-body detail: front ~319, back ~369). It rose from 313 over the pass — a real, measured climb — but it is still a ~one-third-of-the-way surface, and the number says so. The body now has procedural proportions, dimorphism, muscle definition, and fingered hands; it still lacks toes, a real face (eyes, lips, ears), fine whole-skin surface detail, and any skin material (the shading is flat Lambert — the perceptual grade stays 175 until subsurface skin, and that is a renderer problem, not a geometry one). Each of those is the next rung, and the multi-view detail judge — whole-body and per-region — is the ruler that keeps every one of them honest.

25 · Layered from the first cell up — bone, muscle, skin, not a painted shell

Everything before this was outside painting: a single skin surface with muscle bumps modulated onto it. A real body — and any digital twin worth the name, for cosmetic surgery or anything else — is built in layers that stack: a skeletal core, muscle on the bone, fat over the muscle, and skin as the outer envelope of all of it. The skin's shape is a consequence of the layers beneath, not a drawing on a balloon. The emitter now builds it that way.

The body is emitted three times over, nested: a bone core at 40% of the skin radius, a muscle envelope at 82% carrying the full muscle relief, and the skin as the outer surface. Each is a real layer of the mesh, so it renders and peels separately.

bone, muscle and skin layers exploded apart
The same body, its three layers pulled apart: bone (the thin skeletal core), muscle (the envelope on the bone, with the definition), and skin (the outer surface). One generator, three nested layers — peelable, like an anatomy atlas.

25.1 — The fat layer, and why the abs come and go on their own

Between muscle and skin sits subcutaneous fat, and it does real work: it controls how much of the muscle definition reaches the skin. Lean → the skin hugs the muscle and the six-pack shows; heavy → the fat fills the grooves and the skin goes smooth. Below is the same muscle layer under two fat levels — nothing about the muscle changed, only the fat:

lean versus heavy, same muscle layer
Lean (left) and heavy (right) from the identical muscle layer. The abs are not painted on and then erased — they emerge when the fat is thin and submerge when it is thick, the way a real body works.

25.2 — What this is, and what it is not

26 · Per-feature material: a face gets eyes — and a procedural character customizer

The last honest verdict was blunt: the head was a faceless egg, and the reason no amount of eye geometry helped was that the renderer colours every triangle by its layer (skin / muscle / bone) — so an eyeball came out skin-coloured. A bump, not an eye. The fix was the missing primitive: per-feature material.

Each triangle now carries its own material colour, written at emit time. The eye part is tagged with an eye material, and within it the front disc is coloured as iris and pupil while the rest is sclera. The renderer already reads per-triangle colour, so no renderer change was needed — the face simply gets eyes:

procedurally generated face with eyes
White sclera, a coloured iris, a dark pupil — generated, set into the eye sockets. Crude, but it reads as a face where a moment ago there was a blank egg.

26.1 — Eye colour is a knob, not an asset

Iris colour is a material id (brown, blue, green, amber), chosen per character — and if left on auto it is drawn deterministically from the character's seed, so a random person gets a random but repeatable eye colour. Nothing is hand-picked.

26.2 — One generator, many characters

This is the point of building it procedurally instead of hand-crafting: the generator is a character customizer. Sex, build, muscularity, stylization, individual-variation noise, seed, and eye colour are all parameters; every combination is a different person from the same rules, with zero per-body modelling:

six procedurally generated characters
Six characters from one generator: a lean muscular male, a female (narrower shoulders, waist, wider hips), a heavy build, an anime-stylized figure (oversized head), a slim female, and an athletic androgyne — each with its own build, proportions, muscle definition and eye colour, all from parameters.

26.3 — Honest state

27 · Subsurface skin — the clay starts to become flesh

The honest verdict was that no amount of geometry would stop it reading as clay, because the shading had no skin material: one flat flesh colour, hard Lambert falloff, a dead-grey terminator. Real skin is translucent — light scatters inside it, and red penetrates deepest, so where a surface turns away from the light it doesn't go grey, it glows warm. That subsurface term is now in the renderer.

torso before and after subsurface skin
Same geometry, same light. Before (left): flat, pinkish, uniform — plastic. After (right): the shadowed side glows warm/orange where light scatters through the flesh, and a multi-scale tone variation breaks the plastic uniformity. That warm terminator is the single strongest "skin, not clay" cue.

Two things were added to the skin layer's shading, both colour-only (so neither can move the shape or detail judges — this is honest material work, not metric-gaming):

ours with subsurface skin vs the oracle
Ours (left) with subsurface skin and a face, next to the oracle (right). The oracle still wins on form — proportions, a real face, natural muscle — but the material gap has closed: our skin now has the warmth and translucency the flat clay never did.

27.1 — Honest state

28 · More of a face: brows, lips, a projecting chin, and a fill light

With per-feature material and subsurface skin in place, the face got the next round — all of it either a material colour or a geometry parameter, none of it hand-painted:

procedural face with eyes, brows, nose, lips, chin
Eyes, brows, a nose ridge, lips, a lit chin — a crude but real face, from parameters and materials. Every part of it is a knob or a coloured region, not a sculpt.
full figure vs oracle
Ours (left) — subsurface skin, a face — next to the oracle (right). The material and the face have both moved; the oracle still wins on overall form.

28.1 — Honest state

29 · Spline lofting (the Infinigen gap) — and the inside-out digital-twin frame

Compared honestly to Infinigen, one structural thing stood out: Infinigen lofts a creature's body as a smooth spline through its control cross-sections, so the surface has continuous organic curvature. Ours interpolated linearly between sparse rings — which is exactly why every limb read as a stack of truncated cones with a crease at each ring, and the torso as a slab.

Fixed at the root: the emitter now interpolates every station with a Catmull-Rom cubic through each ring and its neighbours — same canon data, C1-smooth curvature everywhere, integer-exact at the control rings. (Radius overshoot is clamped so a cubic can never go negative.)

linear versus spline torso and shoulder
Linear (left) vs Catmull-Rom spline (right), same rings. The ring creases and the faceted shoulder-to-arm transition smooth into continuous curvature — the surface stops looking assembled from cones. Measured: whole-body detail rose 381→389‰, self-checks still 1000.
full figure linear vs spline
Full figure, linear (left) vs spline (right) — the whole body reads more organic.

29.1 — Outside-in is the benchmark; inside-out is the goal

Matching the BodyParts3D oracle's silhouette and surface has always been the benchmark — a ruler, not the product. The product is meant to be a digital twin built from the inside out: a real being assembled bone → muscle → skin, where the outer surface is a consequence of the anatomy beneath it, and the same machine builds a human, a horse, or anything else. The architecture is already that shape:

29.2 — Honest state

30 · Skin micro-relief — the surface stops being plastic

After splines fixed the macro form and subsurface scattering fixed the colour, the surface was still plastic-smooth — a dead giveaway against Infinigen output, whose surfaces carry pore- and wrinkle-scale detail. So the renderer now perturbs the skin's shading normal by a high-frequency noise gradient over world position: two octaves of micro-relief that catch light like real skin. It is renderer-only — the mesh and the measured bench are untouched; this is purely how the light reads the surface.

skin with micro-relief
The torso surface now carries a fine skin-like grain that catches light — pore/wrinkle scale, not smooth plastic. The muscle definition still reads through it; the two live at different scales.
ours front and side vs oracle
Ours front and side — spline-lofted form, subsurface warmth, micro-relief skin, a face — next to the oracle (right). The material and surface have closed much of the gap; the oracle still leads on the fine anatomy of the form.

30.1 — The material stack, honestly

The skin is now built from four layered signals, each a real technique, none a metric trick (all are shading or colour, so the shape/detail judges are untouched):

30.2 — Honest state

What is proven here, and what is not

Proven (measured, on this page): our own kernel executes on the RTX 5080 (compute 12.0), never-brick userspace; the 8-layer digital twin renders inside-and-out with every system accounted for pixel-by-pixel; depth occlusion is correct (intact hides the interior); a real stereo VR pair with measured disparity.
Sovereign result (this update): the NishiLang integer renderer now matches the CUDA benchmark's invariants and per-layer coverage on the same mesh — the product has caught the benchmark on geometry and systems fidelity. Still not claimed: photoreal skin. Shading is Lambert + two lights, not photoreal skin/SSS. Stereo is toe-in (production VR wants an asymmetric frustum). This is geometry-and-systems fidelity, not photoreal-human fidelity — that climb (SSS skin, strand hair, eyes, pores) is tracked on /world/graphics.

Sovereign stack, one owner: language → compiler → IR → rasterizer → renderer, zero third-party libraries. CUDA appears here only as the measuring stick. — sovereign peel · graphics SOTA board · GPU record

§31 — Measured section profiles: a negative result, and the defect it exposed

Rung GX-31. Two things shipped here are worth more than the rung that was attempted: a published negative result with the measurement that killed it, and a root-caused generator defect that had been deforming every small part.

What was attempted: profiles from real references (the Infinigen method)

Infinigen lofts creature surfaces through profile sections taken from real references (nurbs_data). Ours threaded ellipses — and a human cross-section is not an ellipse: it has a flat back, a spinal furrow, scapular bulges, a sternal hollow, an iliac flare. New sovereign organ nx_profile_fit slices the BodyParts3D oracle at 167 station heights, clusters each slice into torso / arm / leg / head, fits the section's bounding ellipse, and emits a dimensionless per-angle ratio (1000 = on the ellipse).

Only the shape prior is taken, never size. Stature, breadth, build and dimorphism stay procedural, so the prior is a measured shape rule applied to whatever body the generator asks for — it cannot drift into shipping the scanned mesh. The oracle licence line (BodyParts3D, © The Database Center for Life Science, CC Attribution-Share Alike 2.1 Japan) is written into the data file by the organ itself. The bin count travels inside the file so the two organs can never silently disagree on resolution.

It measured worse, so it does not ship

prior OFFprior ON
relief ONfront-detail 348 / back 374 → 361372 / 299 → 335
relief OFF345 / 375 → 360371 / 296 → 333

Side silhouette rose and front surface agreement rose by 24, but back detail collapsed and the honest headline (the MIN over all judges) fell 361 → 335. The knob ships default-off, regression-verified: the emitter with no argument reproduces 361 exactly and the standing product mesh still benches 864 / 830 / 945 / 389.

Why it failed — three findings that outlive the numbers

  1. A support function is a convex hull. Sampling each section as the farthest point in each direction — the obvious method — erases every concavity: spinal furrow, erector groove, armpit, popliteal hollow. The signature is unmistakable in the data: the convexified prior transferred fine on the mostly-convex front (348→372) and wrecked the back (374→281). Switching to the mean radius per angular bin recovered part of it (281→299).
  2. A low-frequency prior taken from a high-frequency reference transfers the flattening, not the structure. A real back genuinely is flatter than an ellipse (measured 868/1000 at the back pole) and busier at small scale. Copy only the smooth part and the surface gets flatter without getting busier — which any surface-structure judge correctly punishes. The prior has to carry the residual, not the section.
  3. The relief-feature table is worth about one part per thousand. The 2×2 above is the proof: switching off every authored relief feature — pectorals, scapulae, glutes, six-pack, everything added since GX-15 — moves the detail judge from 361 to 360. That surface work has been effectively invisible at body scale. Filed as debt, and it reframes what the next surface rung has to be: measured high-frequency residual, not more authored bumps.

A fourth, smaller one: the first explanation for the regression was that 24 linearly-interpolated bins were creasing every ring. The C1 Catmull–Rom fix moved the number by zero (333→333). The hypothesis was killed by a measurement in one run rather than by argument — which is the whole reason the knob was built as a controlled variable.

The defect the eyeball caught and the bench could not

Both A/B bodies scored 361 and both were broken in a way no judge here can see: a flat-brim mushroom head above a too-narrow neck. Root cause was not in the head at all — the generator drew its seeded individual-variation perturbation independently per control ring. On the torso (11 rings over 480‰ of stature) that is invisible; on the head (10 rings over 150‰) it dominated, giving section depths of 34, 51, 76, 67, 55, 66, 42 and a width peak at the crown. A stack of mismatched discs.

The fix is semantic, not a clamp: individual variation is a property of a PART, not of a SLICE. One draw per part for width and depth, held across all of its rings — a person's head is a few percent wider or deeper as a whole, never lumpy every 15 mm. Head rings are now monotonic (32, 43, 50, 54, 54, 52, 49, 44, 32, 17) and the honest headline moved 361 → 374 (back-detail 374→402, side 831, shape 923).

The general law, now proven twice on this body: a per-slice error scales inversely with part size, so it stays invisible until a small part exposes it. GX-24 hit it as coordinate rounding before a finite-difference normal; GX-31 hit it as noise amplitude. When a small part looks wrong, suspect a rule applied per-slice instead of per-part.

Procedural body before the fix: the head renders as a flat-brim mushroom above a narrow neck The same body with measured oracle section profiles applied: more chest and shoulder form, but the neck rings like stacked plates After the per-part variation fix: a proper cranium with eyes, brows and mouth on a continuous neck

Left: before — mushroom-brim head, headline 361. Centre: with the measured section prior — real chest and shoulder form, but the neck rings like stacked plates, headline 335. Right: after the per-part variation fix — proper cranium, continuous neck, headline 374.

Honest distance to the bar

Against a photograph, perceptual stays at roughly 175 — clay, and the render on the right is the argument, not the metric: it is a coherent mannequin, not a person. Paddle hands with sliver fingers, blunt flipper feet (the digit rule that produced fingers was never applied to toes), no deltoid cap, no muscle, no skin material at body scale. Those are filed, not glossed.

The remaining distance decomposes into four gaps, and only one of them is near its ceiling. Soft-tissue form (breast, hip and waist mass under gravity, clavicle hollows). Mesh density and true surface residual. Inner anatomy — the bone→muscle→skin stack that Infinigen's single-surface creatures do not have, and our genuine differentiator. And, untouched to date, real light transport: every image on this page is single-key direct lighting on a flat backdrop with a hard shadow, while Infinigen's photorealism comes substantially from Cycles path tracing — environment and bounce light, soft shadows, depth of field. Material shading is at its useful ceiling; that one is not, and by construction it cannot game the geometric bench, because the bench ignores shading entirely.

§32 — Toes from the same rule that gave fingers, and a silhouette lesson paid for twice

Continuing the defect list from §31 (debt seq794). The feet had stayed blunt flippers for one unglamorous reason: the procedural digit rule could only place a digit running straight down, and a toe runs forward, in the foot's own rotated frame.

The fix carries the placement into the rule — emitDigitP takes the part rotation and offset, and emitDigit becomes a call to it with rotation zero, so every existing finger is untouched. Five calls then generate a foot: great toe medial, stout and longest, the rest tapering outward. No modelling, and the same rule now serves hands and feet.

The first attempt regressed the silhouette, and that is the reusable part

Toes running to 174 in the foot frame made the foot roughly 20% longer, and in a height-normalised frame the side silhouette fell 831 → 723. Foot length is a silhouette-critical dimension — this lane has now paid for that lesson twice (GX-24 hit the identical trap with an over-long foot pushing the whole figure back in frame). Corrected rule: grow detail INTO the existing envelope, never beyond it. Toes now replace the flat toe-plate instead of extending past it.

same canon, same tessellation (radial 52, sub 8)frontsideshapedetailheadline
no toes822831923369369
toes, first attempt (foot 20% too long)816723923370370
toes, inside the envelope822814923376376

Detail — the binding judge — moves 369 → 376 (front 345→353, back 393→400), so the honest headline moves with it. It still costs 17 on the side silhouette: the foot remains slightly too deep against the oracle, and that is stated rather than hidden. Full session climb on the honest number: 361 → 374 (per-part variation fix) → 376 (toes).

The procedural body with generated toes, proper cranium and continuous neck The same generated body exploded into its bone, muscle and skin layers

Left: the current generated body — cranium, eyes, brows, mouth, fingers and now toes, all emitted from the canon by rules. Right: the same body peeled into its bone core, muscle envelope and skin, which is the inside-out stack Infinigen's single-surface creatures do not have.

Still honest about what this is: a coherent mannequin, not a person. Hands remain paddles with sliver fingers and no knuckles, the shoulder has no deltoid cap, there is no muscle striation and no skin material at body scale. Perceptual against a photograph stays around 175 — clay. The largest untouched lever remains real light transport: every image here is single-key direct lighting on a flat backdrop with a hard shadow.

§33 — Stop hand-crafting: digits rebuilt the way Infinigen actually constructs parts

The toes in §32 were an honest win on the ruler and a dishonest method: five typed calls with typed coordinates (fx = -14, -5, 3, 10, 16, tips 152/150/147/144/141). That is modelling with extra steps. Infinigen does not type parts out, so neither should we.

What Infinigen actually does, read from their source

Verified in assets/objects/creatures/ and util/genome.py: a creature part is a template instantiated from a parameter vector (their surfaces are lofted through profiles with genes like length_rad1_rad2 and aspect); parts are attached relative to their parent — a position along the parent, not an absolute coordinate — and assembled into an interpolatable genome. The literals live in distributions, never in the geometry.

The same three properties, in our emitter

Digits are now one rule, emitRaySet, and a hand and a foot are that rule with different parameters:

Ten typed digit calls collapsed to two rule calls plus the thumb, which stays separate because an opposed pollex is a genuinely different attachment — which is also how their genomes treat it.

The rule beat the hand-typed version on the ruler

same canon, same tessellation (radial 52, sub 8)frontsideshapedetailheadline
no toes822831923369369
toes, hand-typed coordinates822814923376376
toes + fingers from the ray-set rule823813923380380

Detail is the binding judge: 376 → 380 (front 353→357, back 400→404). The profile-derived lengths grade more anatomically than the numbers a person types, which is the argument for the method independent of the score. Session climb on the honest number: 361 → 374 → 376 → 380.

The generated body with fingers and toes produced by the parameterised ray-set rule The same generated body peeled into bone, muscle and skin layers

Left: every digit here was produced by one rule evaluated at its ray index — nothing about a specific finger or toe is written in the source. Right: the same body peeled into bone, muscle and skin, the inside-out stack Infinigen's single-surface creatures do not have.

Where the method is still not theirs. Our profiles are ring sections lofted with Catmull–Rom; theirs are NURBS surfaces with handles factorised from real reference data. Our genome is a handful of knobs (sex, build, muscularity, noise, seed) against their full part-graph with sampled attachment. And the torso, arm, leg and head control rings are still typed tables — the ray-set rule is the pattern that has to eat them next. Stated so it can be checked, not claimed as done.

§34–35 — Control handles factorised from the reference, and a limb rule that failed first

Operator directive: do their method from the first byte up. Infinigen's part templates carry handles factorised from real reference data; ours were typed. Two attempts, both measured, one reverted.

§34: the ray-set rule tried to eat the arm table and lost (380 → 329, reverted)

Generating the arm as a curve plus radius profile — uniform stations, linear hang path, girth peaked at the deltoid — measured 380 → 329 and was reverted. The reason is the useful part: a typed ring table is not just a list. It encodes non-uniform station density (four rings in the top 74‰ around the shoulder, four across the next 240‰) and a non-linear path (x runs 56, 76, 92, 108 then 116, 130, 144, 154). A uniform-linear rule destroys both. De-handcrafting is only real when the rule reproduces what the literals encoded; a more principled generator that scores worse is a worse generator.

§35: so factorise the handles from the reference instead of inventing them

nx_profile_fit already fits a centre and semi-axes at every station of every part — it was throwing them away as diagnostics. It now emits a canon whose rings are measured and selected: greedy max-error insertion places a control ring wherever the shape actually changes, so ring density is derived rather than authored; the measured centres become the ring offsets, so the path curve is measured rather than assumed. The rows are ordinary canon rows, so the emitter is untouched.

radial 52, sub 8, 16 partsfrontsideshapedetailheadline
typed canon (current product)823813923380380
factorised handles857816912320320

The fitted proportions are genuinely better — front silhouette 823 → 857, the best figure this lane has measured — and the detail judge is worse, so under the minimum rule it does not ship yet. Two real defects were found and fixed getting there. A handle must not be recorded where the section is not measurable: through the arm band the arms fuse to the torso, the clustering returns one blob, and torso width jumped 88 → 148 — which the greedy selector then chose because it was the largest change. An honest hole that the spline interpolates across beats a confident wrong number. And measured centres are absolute to the reference's origin: fitting each part's depth independently scattered the parts in depth (side 678 while the front hit 886); one global reference subtracted restored it, keeping the real relative depths.

The pattern across everything measured today, now four for four: every low-frequency transfer from the reference improves silhouettes and worsens surface busyness. The binding judge is detail, and nothing measured at low frequency touches it. The next build is the combination the data points at — fitted handles for proportion, the generator's definition and digits for high-frequency structure.

§36–38 — Light transport started, and it proved the lighting gap and the detail gap are one gap

Three builds, all shading-only, all measured. The geometric headline stayed at exactly 380 through every one of them — which is the point: shading cannot game a geometric judge, so this is the one lane where a win cannot be a Goodhart.

§36 Environment ambient

The ambient term in the renderer was the constant 225: every surface got identical fill regardless of facing. That single constant is the strongest reason these renders read as CG on a backdrop — real ambient is a hemisphere, where a surface facing up sees sky and one facing down sees only dim bounce off the ground. Replaced with the cosine-weighted sky-visibility term, integer and sovereign.

§37 Per-channel sky and ground

A scalar hemisphere brightens up-facing surfaces but cannot carry what actually reads as real light: sky is cool, ground bounce is warm. Added as a fraction of the surface's own colour, so it tints rather than washes.

§38 — and both were nearly invisible, which is the finding

On a front view of a smooth vertical body, almost every visible normal has ny ≈ 0. The hemisphere weight sits at 0.5 everywhere, warm and cool cancel, and an environment light has nothing to differentiate. ★Light reveals geometry. Where there is no up-facing or down-facing surface — clavicle hollows, ribcage, breast underside, muscle bellies — there is nothing for it to reveal. The lighting gap and the detail gap are the same gap, and this retires our own earlier assumption that light transport was an independent lever that could be banked while geometry waited.

§39 — The analytic shape basis: mechanism proven, anatomy not yet

Following the operator's Infinigen/InfiniHuman steer: displacement = Σ βi · basisi(coord) — the body as a mean shape plus weighted deformation functions, the genome being the coefficients. Two properties earned it the slot: it is registration-free by construction (evaluated in our own parameter space, so the misregistration that killed measured detail transfer cannot occur), and the bases vary in height, so they generate the up- and down-facing surface the previous three sections proved we lack. What matters is the gradient, not the amplitude — which is exactly what the old angle-only relief table never had, and why it measured as worth 1‰.

analytic basis weightdetail (front)headline
off380 (357)380
on, unshaped bands381 (361)381 — and visible
on, anatomically shaped ribs378 (356)378

The honest sequence. Unshaped bands moved the judge and were clearly visible — and read as a ribbed sweater, not a ribcage. Shaping them by three anatomical facts (ribs run down-and-lateral; spacing widens toward the lower ribs; amplitude is zero at the sternum, which is a flat plate) made them anatomically right and visually and numerically weaker: the sternum is precisely the region a front view sees, so correct ribs are placed where this camera cannot see them. Neither version ships — the knob defaults to off. A front view is simply the wrong instrument for lateral structure, and the next measurement has to be per-region and multi-view, not another amplitude.

On the skull, since it is the best-looking thing on this page: it was not generated. It is BodyParts3D Skull.stl — 171,248 real scanned triangles, CC BY-SA 2.1 Japan — ingested and rendered by our own renderer as an oracle, exactly as CUDA is used as a benchmark and never as the product. One real skull carries 3.5× the triangles of our entire eight-system body. That contrast is the honest measure of the gap between ingesting anatomy and generating it, and it is why the procedural track is scored against it rather than replaced by it.

Generated body with the analytic shape basis: chest structure the light reveals

The analytic shape basis at full weight: the chest finally carries structure the environment light can reveal — and it reads as corrugation rather than ribs, which is why it ships switched off.

§40 — Registration exists, and an honest perceptual audit of the distance left

Two things: the measurement primitive that five failed builds were missing, and a direct visual assessment of how far this is from a photograph — not a statistic, an actual look.

Landmarks: the registration primitive

Every measured-transfer attempt on this page failed for one reason — the reference's anatomy at a coordinate is not our anatomy at that coordinate, so a residual sampled at (y,θ) lands in the wrong place. Landmarks are that correspondence, and the raw material was already present: each one is an extremum of the per-station series the profile organ already measured and was discarding. Maximum radius in a band gives acromion, iliac crest, trochanter, calf; minimum gives waist, wrist, elbow, knee, ankle. Measured in per-mille of each mesh's own stature, so two bodies are directly comparable.

landmarkreferenceourserror
acromion (shoulder)816840+24
waist618582−36
iliac crest438432−6
wrist522486−36
elbow5825820
trochanter408444+36
knee258282+24

The error is now quantified: 36‰ of stature is about 63 mm on a 1750 mm body. A residual sampled without this warp lands most of a hand-width away from the anatomy it was meant to describe — which is precisely why the high-frequency sweep fell monotonically (380, 345, 302, 260) the harder it was pushed. The next build maps reference height to ours piecewise between corresponding landmarks and re-runs that sweep, which is a falsifiable test: non-monotonic with a maximum above 380 means registration was the missing piece; still monotonic means measured detail transfer should be abandoned in favour of generated structure.

Honest defects in this first cut: the neck, calf and our own ankle return zero because the search bands miss them, and the emitted field labels do not print, so the values are positionally correct but unlabelled. Both are small and both are stated rather than tidied away.

Perceptual audit — looking at it, not measuring it

The rulers say 255 against a cadaver. Against a photograph the honest number is roughly 175 — clay, and that comes from looking at the render rather than scoring it. What a direct visual reading sees, stated plainly:

The distance to the goal, honestly: a photograph is roughly 950 on the same perceptual scale. We are at about 175. That gap is not one rung — it is form, density, facial structure, and light transport, in that order, and the ordering is now established by measurement rather than taste. Publishing the gap at its true size is the point; every number on this page is the minimum across all judges, and it falls whenever a new judge can see something the old ones could not.

Roadmap for the whole program: /world/human_roadmap

§41 — A faster process, a corrected headline, and a defect chased to its third cause

The goal is to pass MetaHuman on independent comparison against real humans. That needs a process that iterates in one command instead of four, and numbers that cannot go stale. Both moved this round.

The measure loop is now one call

gx_measure generates a body at any knob setting, runs every judge, extracts anatomical landmarks, computes the honest headline as the minimum across all judges, and prints a self-check warning if the ruler fails its own non-vacuity test — in a single command. An experiment went from roughly four round-trips to one.

It immediately corrected a number we had been publishing

With the head-region judge included, the honest headline is 227, not 255. The head is the minimum, so the head is the headline. The earlier figure came from a minimum computed by hand before that judge existed and never re-derived. The tool now computes it from every judge on every run, so a stale headline cannot recur. That is the whole argument for process tooling: it paid for itself in two runs by catching our own error.

judgefrontsideshapedetailquarterheadHEADLINE
current823813923380255227227

A defect chased to its third cause — and both earlier guesses were wrong

Landmarks for calf and ankle read zero. The filed ticket offered two hypotheses; a coverage probe refuted both and named a third: the leg station run stops at 282‰, so there were no stations in those bands to search. The search code was correct all along. The real cause was our own guard working exactly as designed — below mid-thigh the legs converge, the clustering cannot separate them, and the rule that refuses to record an unmeasurable section refused. Two fused legs, unlike an arm fused to a torso, are a known geometry: the seam is the midline. Splitting there changed the result (the trochanter landmark moved) but did not extend coverage, which narrows the remaining cause to the minimum-point threshold a half-section cannot meet. Reported at that precision rather than closed early.

The standing rule this reinforced: when a measurement reads zero, print the coverage before theorising about the search. And a guard that is correct in general can be wrong in a specific case — only a probe distinguishes.

What independent judgement will mean here

The bar is a photograph, not a cadaver. Our rulers score 227 against scanned anatomy; a direct visual reading against a real photograph puts us near 175 — clay. Passing MetaHuman means beating it on comparisons that a third party can run and check, so the instrument has to be built the same way everything else here was: several judges of different kinds, the minimum published, the reference stated, and every regression shown next to every win. A single number from a single judge is exactly the thing this page has spent forty sections learning not to trust.

§42 — First direct comparison against a real human, and what it costs us

The goal is to pass MetaHuman on independent comparison against real people. That requires actually placing our output beside a photograph at matched scale and reading both together. Done, and the result is worse than every number we have published.

The reference image stays private and is not reproduced here — it is a photograph of a real person, held locally as a quality bar only. What is published is the scoring, which is the part that has to be checkable.

Comparative judging is harsher than solo judging — and that is the honest instrument

Looking at our render alone, the perceptual reading has been about 175. Placed beside a real photograph at matched height, the same render reads closer to 130. Nothing changed but the presence of the reference. A render judged alone always flatters itself; the eye grades against memory, and memory is generous. That makes side-by-side comparison the correct instrument for this goal, and it means our published perceptual number was itself slightly inflated. Corrected here rather than defended.

What the comparison names, in order of how badly it reads

  1. Soft-tissue form is absent entirely. The reference has breast mass, hip flare, a defined waist, gluteal and thigh volume — shapes with weight, responding to gravity. Ours has none of it: a tubular torso, straight limbs, no mass anywhere. This is the single largest gap and it dwarfs everything the last several rungs worked on.
  2. The face is a placeholder. Beside a real face, an ovoid with eye and mouth marks does not read as a head at all. Our own head judge independently scores this our worst region at 227.
  3. The skin is uniform plastic. The reference carries tonal variation, tan lines, specular highlight, occlusion in every crease. Ours is one pink value with a warm terminator.
  4. The lighting is a studio of one lamp. Real environment light, real shadow softness, and depth of field are doing enormous work in the photograph, and none of it exists on our side.

A flaw in our own comparison, stated

The reference is female and the generated body was male. Some of the form gap above is therefore a category mismatch rather than a quality gap, and the comparison must be sex-matched before its numbers are quoted as a measurement. The generator supports both, so this is a setup error on our side, not a limitation — recorded because an instrument with a known flaw that is published is worth more than a clean number that is wrong.

What this changes about the plan

It re-orders the work by evidence rather than by preference. Soft-tissue form outranks everything — ahead of surface relief, ahead of the remaining light transport, ahead of the facial bases. A body with correct mass reads as a person under bad lighting; a body without it does not read as a person under any lighting. The fat layer already exists in our anatomical stack and currently does almost nothing; making it carry real volume is the next build.

Standing method note: comparisons against real people are run locally and privately, and only the scoring is published. We build look classes parametrically and do not replicate any identifiable person.

§43 — The ruler ranked a broken body above a good one

Testing the newly-ranked-first gap produced two defects in one run, and the second is more serious than the first.

To test soft-tissue form we generated a female body, since the previous comparison had the flaw of scoring a male body against a female photograph. The generated result is grossly broken: the torso renders as a barrel that flares wider than the shoulders and hangs to mid-thigh, with a tiny elongated head and short arms. It does not read as a female body. It reads as a bell. The dimorphism functions have evidently never been eyeballed at full sex weighting since the muscle and layer work landed.

And the ruler preferred it

bodyfrontsideshapedetailquarterheadHEADLINE
male — reasonable823813923380255227227
female — visibly broken831783900327308270270

Every judge in the detail family scored the bell higher. The mechanism is visible once stated: a bulkier, more irregular silhouette produces more local normal variance, and the detail judges reward variance without asking whether the variance is anatomy. This is the same failure that let procedural noise move a statistical grader from 309 to 550 with zero perceptual change — except this time it is expressed in geometry rather than in texture, which is why the existing hardening did not catch it.

What this invalidates, said plainly

The detail family can track one body across small changes — which is what every measurement on this page has used it for, and those remain valid. It cannot rank two bodies of different bulk against each other. So the male-versus-female headline comparison above is not a result; it is an artifact, and it is published as one. Any future claim that one body is better than another needs a judge that is not satisfied by variance alone.

The recurring lesson, now on its third instance: a metric that can be satisfied by something other than the thing you want will eventually be satisfied that way — by noise, by a boxy shoulder, and now by a bell-shaped torso. The defence is not a better single metric. It is holding several judges of different kinds, publishing the minimum, and looking at the render every single time.

Generated female body rendering as a bell-shaped barrel torso

The body the ruler scored 270, above a reasonable body at 227. Published because a judge that prefers this to that is the finding.

§44 — The bell was ours, the cause was correlation, and the fix lifted every judge

The previous section published a body the ruler preferred and the eye rejected. Root-caused, fixed, and verified across the parameter grid.

Not an arity bug — a correlation bug

The filed suspicion was silent argument misbinding, since the language performs no call-arity checking and three signatures had been widened. Wrong again. Comparing a freshly generated canon against a known-good one row by row showed the torso uniformly 60% too wide and 30% too shallow — systematic, not garbage, which rules out misbinding.

The cause was a fix from earlier in this same session. Individual variation had been moved from per-slice to per-part, which cured a lumpy head. But one draw then shifts an entire part, and width and depth were drawn independently — so a torso could come out 30% wider and, separately, 30% shallower. A wide flat slab. The bell.

The correction is the same rule the population work already needed, appearing at the scale of a single part: real people are bigger or smaller overall, not wider and flatter at once. Breadth and depth must covary. Correlating them, and damping a part-wide shift relative to a per-slice one, removes the failure by construction.

Verified across the grid, by eye and by number

All four bodies across the sex range now read as bodies, and the dimorphism is visible: shoulders narrow and hips widen from male to female, waist definition appears, the silhouette taper reverses. Every judge improved at once — headline 227 → 240, front silhouette 866 (the best measured on this page), shape 945, detail 388, quarter 310. A correction that lifts every judge rather than trading one against another is what distinguishes a real fix from a tuning.

Two coefficients that are still hand-crafted, said plainly

The fix contains an invented amplitude ratio and an invented width-to-depth correlation of 0.75. The structure is principled; the numbers are not measured. That correlation is an anthropometric statistic — the real covariance of chest breadth against chest depth across a population — and it belongs in a data file beside the canon, sourced from published anthropometry, never typed into the emitter. Until it is sourced, both are placeholders and are labelled as such wherever a number derived from them appears.

The process rule this earned

Six numeric judges scored the bell as normal, and one ranked it above a good body. Only a contact sheet caught it. An eyeball gate across the parameter grid now runs before every publish, not after a suspicion — and it is a tool, gx_grid, so it costs one command. Fast numbers alone will confidently report a bell as an improvement; fast numbers plus fast eyes is the actual process.

Four generated bodies across the sex parameter range after the correlation fix

The eyeball gate after the fix: sex 0, 333, 666, 1000. Shoulders narrow and hips widen left to right; all four read as bodies. This sheet is what caught the defect the six numeric judges missed.

§45 — Benchmarked against MetaHuman, axis by axis, including the axes we lose

The goal is to pass MetaHuman. That claim needs a scorecard, not an assertion — and it must be a capability comparison, because their assets are closed and we take none of them. Our column is measured on this page's own rulers. Their column is public capability; entries we have not personally verified are marked [unverified] rather than stated as fact.

AxisMetaHumanNishi (measured)Verdict
Photoreal skin materialscanned, measured materialsprocedural SSS + tone, one flat value at body scaleMetaHuman, decisively
Facial fidelityscan-derived, ~100–160k tris per head [unverified]head region judged 227, our worst regionMetaHuman, decisively
Hair / groomsstrand-basednoneMetaHuman
Facial rig / animationfull facial rig, DNA-boundjoint tree + forward kinematics + physics; no facial rigMetaHuman
Body from parametersmorphs over a curated libraryemitted from an anthropometric canon by rules; 16 parts, ~341k trisNishi
Internal anatomynone — a shell with a rignested bone → muscle → skin layers; outer form emerges from beneathNishi, uniquely
Determinismfloat pipelineall-integer; identical inputs give bit-identical frames, proven by replayNishi
Ownership / runtimeclosed ecosystem, cloud rigging, engine-bound [unverified]self-contained; own language, compiler, renderer; no third-party runtimeNishi
Measurement instrumentsnot applicable — an authoring toolsix independent judges, minimum published, self-check per runNishi (different purpose)

The honest verdict

We do not pass MetaHuman, and nothing on this page should be read as claiming otherwise. On the axes that decide whether a rendered human looks like a person — skin material, facial fidelity, hair — MetaHuman wins decisively, and our own numbers say so: 227 on the face, roughly 130 when placed beside a photograph.

What is true is narrower and worth stating precisely: we exceed MetaHuman on four axes it does not attempt — generation from parameters rather than morphs over a library, nested internal anatomy where the surface emerges from the layers beneath, bit-exact determinism, and full ownership with no third-party runtime. Those are not consolation axes; they are the ones that make a village of people generable, reproducible, and ours. But they are not the same as looking real, and conflating the two would be the exact self-flattery this page has spent forty-five sections refusing.

What would constitute passing

A defensible claim needs three things we do not yet have: (1) the face judged against a real head oracle rather than a cadaver-skin reference; (2) sex-matched, pose-matched side-by-side comparisons against real photographs, scored by judges of different kinds with the minimum published; (3) the material and hair axes attempted at all, since we currently score zero on one of them. Until those exist, the correct statement is the one above: ahead on generation, ownership and anatomy; well behind on appearance.

The path there, from the first byte up

A true one-to-one match with a specific person, without collapsing into a model that only reproduces that person, is not a contradiction — it is a statement about where the fitting happens. Fit free-form vertices to a target and you overfit by construction: the result reproduces one body and generalises to nothing. Fit the coefficients of a general basis and you cannot overfit, because every reachable result is still a valid human in the same parameter space. Specificity comes from the fit; generality is preserved by the basis. That is the same reason a correlated manifold beats independent sliders, and the same reason our layered stack beats a painted shell.

Which makes the road explicit, and it is instruments before appearance every time: more layers (bone and muscle as real structures rather than scaled envelopes, then vessels and organs), more measurements (per-region and multi-view judging, landmark registration, camera solve), and more judges of different kinds (geometric, statistical, perceptual, comparative) with the minimum always published. Every one of those is built here from the first byte — our language, our compiler, our renderer, our rulers — because a measurement borrowed from someone else's runtime cannot be trusted to tell us we have passed them.

§46 — The full benchmark field, not just MetaHuman

Five external systems, one scorecard. Our column is measured on our own rulers; theirs is public capability, with anything we have not personally verified marked [unverified]. No assets, weights or runtimes are taken from any of them — they are measuring sticks, the same posture that has served us with CUDA.

SystemWhat it isBeats us atWe beat it at
MetaHuman (Epic)closed asset ecosystem, DNA-bound morphs [unverified]skin material, facial fidelity, hair, facial rigparametric generation, internal anatomy, determinism, ownership
Infinigen (Princeton)procedural environments; verified from source: creatures are NURBS lofted through profiles from real refs, single-surfaceNURBS surfaces, profile data from real references, mesh density, mature materials, a full animal genomehumans at all (it generates none), nested internal anatomy, integer determinism
SMPL-X (MPI)statistical parametric body model, research licencethe correlated shape manifold learned from real scans; pose-dependent soft-tissue deformationinternal layers, ownership, no licence restriction on output
Anny (NAVER)open parametric model from WHO demographic datapopulation-grounded correlation structure across age and weight; clean production topologyinternal anatomy, our own renderer and judges
InfiniHumanverified from the paper: diffusion-based, 111k synthetic identities, licence unstatedidentity diversity at scale, textured output, clothingprocedural rather than learned; deterministic; identities grounded in anthropometry rather than a generative prior
BodyParts3Dreal cadaver scan — our standing oracleeverything about appearance — it is a real body; our headline against it is 240it is not a generator; it produces exactly one body

What the field says, read honestly

Two things are true at once and neither should be dropped. Every one of these systems beats us on appearance — that is not close, and our own rulers say so: 240 against a cadaver, roughly 130 beside a photograph, 227 on the face. And no system in this field does what we do structurally: Infinigen's creatures are single-surface, SMPL is a single skin shell, MetaHuman is a shell with a rig, InfiniHuman emits from learned weights. None of them has anything underneath.

So the position is precise rather than flattering: last on appearance, alone on inside-out structure, and the only one whose output, generator, renderer and rulers are all owned outright. Passing this field means keeping the second and third while closing the first — and the first is closed by form, density, materials and light, in that order, each measured on judges that have already proven they will report our own failures.

Standing method: capability comparison only; no competitor assets, weights or runtimes are used. Entries marked [unverified] are public claims we have not independently checked — on this page an unverified claim is labelled, never repeated as fact.

§47 — An independent judge scored our mannequin within 25 points of a real human

The benchmark comparisons so far were capability scorecards. This is an independent measurement instrument — a no-reference statistical image grader, already hardened against the noise exploit that once fooled it, and passing its own red-team gate GREEN 5/5 live — run on our render and on a real photograph at matched size.

LEVELscalemscnkurtcoherenceverdict
our generated body5500550763986SEMI-REAL
real human photograph5758005751000966SEMI-REAL

Twenty-five points, and the same verdict

A clay mannequin with no face, no hair, no material and no soft tissue scores 550. A photograph of a person scores 575. The eye puts them at roughly 130 and 950. This grader cannot see the difference between our output and a human being — and it is not a naive instrument: it was hardened after pure noise once scored 475 on its predecessor, and it still passes that hardening test today. The failure is not that it was broken; the failure is that statistical realism and actual realism are different things, and at this range the aggregate is a floor filter that says only both of these are photographs of something.

The same run hands us the instrument we needed

The per-axis breakdown is where the value is. The scale axis — multi-scale detail — reads 0 for us and 800 for the photograph. It separates perfectly. The aggregate buries that signal underneath mscn, kurt, colour and ai_fp, which are near-saturated for both images and therefore carry no information at this end of the range.

So three rules come out of it, and they are already in force: never quote LEVEL for this work — the honest figure remains the minimum across judge kinds, which is the perceptual ~130; adopt scale as the tracked statistical axis, since it sits at exactly zero and any genuine gain in surface detail must move it, and nothing else we hold measures that; and the standing defence is confirmed again — a metric that can be satisfied some other way eventually will be, so hold several judges of different kinds and publish the minimum.

This is the fourth instrument on this page to be caught flattering us — after a statistical grader fooled by procedural noise, a silhouette blind to a boxy shoulder, a front view blind to depth, and six geometric judges that ranked a bell-shaped body above a good one. Every one was caught by adding a judge of a different kind, never by refining the existing one. That is the method, and it is the reason the number on this page keeps going down.

§48 — Correction to §47: the axis we just adopted is confounded by resampling

Published within the hour of the claim it corrects, because the claim is wrong as stated.

§47 reported that the scale axis separates perfectly — 0 for our render, 800 for a photograph — and adopted it as the tracked statistical number. Grading two more of our own renders shows scale at 440 and 480, not 0.

The difference is not content. It is resampling. Those two renders were produced at 480×760 and downscaled to 300×620; the body scoring 0 was rendered natively at 300×620; and the photograph was downscaled from 2550×3300, which is heavy resampling. The axis is reading the interpolation as much as the anatomy.

So the separation in §47 was partly an artifact of how each image reached its final size, and the adoption of scale as our tracked number is withdrawn until it is measured under matched conditions: identical render resolution, identical resampling path, identical JPEG settings, on both sides. Nothing about the underlying conclusion changes — the statistical aggregate still cannot tell a mannequin from a human, and the perceptual reading of ~130 still stands as the honest figure. What changes is that we do not yet have a statistical axis we can trust to track progress.

This is the same failure the camera framing produced earlier on this page, where auto-framing moved the ruler along with the thing it was measuring. The law it earned applies to its own successor: verify that the ruler is not responding to something orthogonal to what you meant to measure. An hour between publishing a claim and refuting it is the process working, not failing — the alternative is a number that stays on the page and quietly becomes a foundation.

§49 — The matched-conditions harness corrected its own specification on first run

§48 withdrew the scale axis until it could be measured under matched conditions. The harness to do that now exists — and its first run showed the specification in §48 was itself incomplete.

The harness normalises target size, the bicubic path, aspect handling and JPEG quality across both images before grading. Under it, our body reads scale 0 and the photograph 680 — which looks like confirmation of the original claim.

It is not, because the harness still does not match the variable that drives the axis. Our render was already 300×620, so its downsample ratio was 1:1. The photograph came from 2550×3300 — a ratio near 8.5:1. Target size matched; downsample ratio did not. And we have direct evidence that ratio is the driver: the same body, same renderer, same target size, scored 440 when rendered at 480×760 and reduced, versus 0 when rendered natively. The axis moved 440 points on resampling alone.

So the correct protocol is one level deeper than §48 stated: match the source-to-target reduction ratio, not merely the target size. In practice that means rendering our body at the reference photograph's native resolution and putting both through the identical reduction. Until that runs, no scale comparison is quotable — including the 0-versus-680 above, which is recorded here as unresolved, not as evidence.

What stands unchanged: the statistical aggregate still cannot separate a mannequin from a human (550 against 600 in this same run), the perceptual reading of ~130 remains the honest figure, and we still hold no trusted statistical axis. What is new is a reusable instrument whose first act was to refute the specification it was built from — which is the entire argument for building instruments before trusting numbers.

§50 — The first trustworthy statistical comparison, and a target we can track

§48 withdrew the scale axis. §49 found the withdrawal specification was itself incomplete: the driver is the source-to-target reduction ratio, not the target size. This runs the corrected protocol.

Our body was rendered at 2550×3300 — the photograph's native resolution — so both images reduce to 300×388 through an identical 8.5:1 bicubic path at identical JPEG quality. Nothing about the comparison now depends on how either image reached its size.

LEVELscalemscnkurtcoherence
our generated body550380550864982
real human photograph6006606001000956

What is now established

scale survives the matched protocol as a genuine discriminator: 380 against 660. The earlier reading of 0 against 800 was inflated roughly twofold by the resampling confound, exactly as suspected — but the underlying separation is real, not an artifact. kurt separates too (864 against 1000). The aggregate LEVEL remains nearly blind at 550 against 600, and that is now a confirmed property measured under correct conditions rather than an assumption.

So we hold a trusted statistical axis again, and with it a target: our multi-scale surface detail sits at 58% of a real photograph. That is a number a third party can reproduce — the protocol is stated, the reduction is deterministic, and the grader is a separate instrument that passes its own red-team gate. Any future claim of closing the appearance gap has to move it.

Three sections to get one honest number: adopt an axis, withdraw it, refine the withdrawal, then measure properly. That sequence is not overhead — it is the difference between a number that tracks reality and a number that tracks our rendering pipeline. The headline figures are unchanged: geometric 240, perceptual ~130, and the face our worst region at 227.

§51 — The first lever proven to move a photograph-referenced number

§50 earned a trusted statistical axis. This uses it for the thing it was built for: testing whether one of our detail levers actually closes the gap to a real human, rather than to a cadaver.

Same body, same canon, same renderer, same 2550×3300 render reduced by the identical 8.5:1 path. The analytic shape basis is the only variable.

scalekurtLEVEL
shape basis off380864550
shape basis on400947550
real human photograph6601000600

What moved, and by how much

The basis closes 7% of the multi-scale detail gap and 61% of the kurtosis gap. The aggregate LEVEL does not move at all, which is now the expected behaviour rather than a surprise — it has been demonstrated blind at this range twice.

This is the first lever on this page proven to move a photograph-referenced number. Everything measured before it was scored against a cadaver scan, which answers a different question: how close are we to that body, not how close are we to a photograph of a person. The distinction has mattered all along and we could not test it until the matched protocol existed.

Honest bounds on the claim. The test ran the basis at high weight, and at that weight the ribbed banding is visible at body scale — so the measured gain and the visible artifact arrive together, and the correct default is the lower weight whose gain is smaller. A 7% closure on one axis is not a breakthrough; it is the first evidence that this class of work moves the right needle at all. The headline figures are unchanged: geometric 240, perceptual ~130, face worst at 227.

§52 — The caps were the ceiling: demand-honest emit, a dimension-gated 1 mm skull, and the first head-prior A/B

§29 left a warning in this page's margins: keep radial low or the 400k cap truncates the skin head. This section retires that whole class. Every number below re-runs; the compiled version with its evidence ledger is paper GX-001 on /papers (nx_paper_audit CLEAN 79/79, integrity 1000).

The emit cap was proven binding before being touched: radial 96/sub 24 emitted 599,998 of 600,000 with truncated:1 while true demand measured 861,696 — a silent 30% loss in production. The cap is now 223 with a tris_offered demand field, so a capped emit can never again report itself complete. A 1,529,856-triangle body emits and renders clean with 6.8M headroom. The honest headline finding is negative and load-bearing: 2.5× density moved the form bench essentially nothing (389-class to 369), so the bench is subdivision-proof and the whole remaining climb is FORM, not polycount.

subjectbeforeafterwhat changed
emit at radial 96/sub 24599,998 truncated:1861,696 offered=emittedcap 600k → 2^23 + demand reporting
skull vs real-skull oracle68 (2mm cells, 88,796 tris)142 (1mm cells, 363,184 tris)rear detail 74 → 229; bbox gate GREEN both runs
head-scale face (controlled A/B)226 (whole-body prior, 156 rows)249 (34 fitted head rows)back 361 → 439, front 92 → 60 — MIXED, not shipped

The skull is the Infinigen method run sovereignly: a fused implicit shell with true orbital and nasal openings, consuming 76 cross-section profiles fitted off the real BodyParts3D skull by nx_profile_fit, dimension-gated at 146×198×206 mm against the reference 151×209×215 (tolerance 25). A finer-grid request was REFUSED loudly at max grid 240: cell size is quantized to integer millimetres, so sutures at 0.2–0.5 mm are structurally unreachable until the sampler goes sub-millimetre — the named next limit, filed for the skull lane owner.

BEFORE: raw mm-quantized field, onion-ring terracing, 2mm cells AFTER: the shipped default -- redistanced true field with calibrated residual, rings dead, honest detail 125

(Left: the raw field every caller used to get. Right: what a plain nx_skullsdf call ships NOW — verified by a bare-argv proof run whose manifest reports the full stack. The ringed 1mm render is banked at skull_r2_ringed.png; its old detail figure of 142 is retracted per §53 — the rings were inflating it.)

Same-day addendum, after the operator's eye-verdict ("it looks like a cartoon" — correct): the renderer's entire material stack (subsurface, tone, micro-relief) applied only to the SKIN layer, so bone rendered flat diffuse plus a weak sheen — literal toon shading. A three-signal colour-only bone material shipped in nx_anat_sov (trabecular grain at two scales, shallow subsurface warmth at the terminator, matte mineral desaturation where the sky light dies, plus a wider satin specular lobe). The skull images above now carry it; the flat originals are banked at skull_r1_flat.png / skull_r2_flat.png for the A/B. Render manifests are byte-identical on every geometry statistic — the change is colour-only, so the form bench cannot move by construction.

Honest bounds

Perceptual is unchanged and stated unchanged (~130 beside a photograph); density was proven not to move it. The head-prior A/B is a diagnosis, not a win: the fitted rows carry station-Y in crop space while the emitter queries body space, and on the front the measured prior fights the hand-authored relief table — the +23 headline arrives with a −32 front regression. Exit criteria stand and none is reached yet: skull ≥300, head-scale face ≥300, body headline ≥450. The roadmap, its external anchors and all 79 cited runs are in GX-001.

§53 — The rings were inflating the score: a ruler artifact caught by the eye, and a built-but-unwired fix stack

The operator's verdict on §52's skull ("shapes and the onion rings are junk") turned out to be a MEASUREMENT finding, not just an aesthetic one. Reading the skull organ's argument parser revealed four capabilities behind undocumented positionals, never invoked through the tool surface: a micrometre cell dial, a smooth-union radius knob (zero = true field with visible sutures), a REDISTANCE pass that rebuilds a true SDF at quarter-millimetre fixed point, and an oracle-derived RESIDUAL identity layer (base + residual = oracle) whose data file was already fitted and sitting on disk.

runfielddetail vs real skullwhat it proves
§52 skull (raw field)gradient mean 760, 47% under 800 — not an SDF142score partly counts the TERRACES as surface detail
redistanced (first invocation ever)gradient mean 965, zero overshoot, 256 q/mm73killing the artifact LOWERED the score — the honest parametric skull is 73–104, not 142
+ residual at full scalebbox 150×208×215 vs oracle 151×209×215 — near exact148 (silhouettes cratered)the residual DATA is real but full scale shatters the surface into the organ's own documented bead-cloud failure

redistanced true-SDF skull: rings reduced but surviving, form unchanged

(The full-scale residual failure is kept as linked evidence rather than displayed: skull_r5.png, a skull-shaped bead cloud — the organ's own documented filigree mode.)

Calibration addendum, same session: the residual ladder measures 0 → 73, 250 → 125 (silhouettes HELD at 701/595/667, rear detail 96 → 202), 500 → 148 but shape sheds 667 → 523 (the shatter onset), 1000 → bead cloud — 250 is the measured knee, bracketed from both sides, and it IS NOW THE SHIPPED DEFAULT: a plain nx_skullsdf call gets the redistanced true field, K=3 sutures and the calibrated residual (promoted 326cf47a; a missing residual file fails open to the parametric base, and every explicit argv still overrides). At 250 per-mille the eye-verdict changes category: the onion rings are gone — the surface reads as textured bone, not contour-line plastic. Honest negatives stand: the parametric FORM (egg cranium, bar brow, cone nose) is untouched by any of this, and the residual currently reads as generic surface crinkle rather than the oracle's anatomical features — scale calibration is not feature transfer. redistanced skull with residual layer at 250 permil: onion rings gone, surface reads as textured bone, parametric form unchanged

What is now established

The rings survive redistancing at reduced pitch, which converts the terracing diagnosis from hypothesis to proof: the redistance seeds inherit their positions from the RAW field's integer-millimetre zero crossings, so the quantization is baked in upstream of every downstream fix. The only cure is evaluating the primitive field itself at fixed-point sub-millimetre precision — filed with this evidence. Second: the learning beat reports the parametric fit at a plateau (447 start = 447 final), independently confirming the primitive set is exhausted and the residual layer is the designed escape — it needs its owner's calibration, not abandonment: full scale shatters, and the near-exact bounding box shows the identity data is good. Third: the detail judge needs terracing immunity before the skull exit criterion can be trusted at fine cells — and a SECOND same-day conviction hardens that into a design requirement: a head prior applied in the WRONG coordinate frame (crown sections smeared over the whole head) scored 249 while the SAME data correctly framed scored 115, because wrong-but-busy variance counts as detail wherever the oracle is busy. The judge measures variance PRESENCE; it must measure variance AGREEMENT (orientation-correlated, not merely co-located) before any fine-detail exit can be trusted. Until then the honest head-prior verdict is: no configuration beats the shipped default (226), and the ruler upgrade is the gate on this whole sub-ladder.

Honest bounds: nothing in this section moved a capability number upward — it moved one DOWN (142 to 73–104, the honest reading) and named why. That is the measurement working. The form verdict from §52 stands unchanged; the two named blockers now carry experimental proof instead of suspicion.

§54 — The ruler upgrade shipped, its first version refuted itself, and the numbers all moved DOWN

Same session as §53. The detail judge now carries a STRUCTURE-AGREEMENT term: matched busyness only scores where the per-axis variance composition of the two surfaces agrees (cosine of the variance vectors). Version 1 gated on point-normal angle and its own bite test refuted it within the hour — on the back of a head the base normals agree even where the busyness is wrong (the planted wrong-frame case fell only 249 to 244) — so v2 replaced it and is what shipped. Self-compare stays exactly 1000 by identity: the non-vacuity proof survives by construction.

subjectold judgev2 judgereading
procedural body vs cadaver skin369316muscle busyness partially composition-mismatched — honest tightening
shipped default skull vs real skull12591the residual is generic crinkle, not anatomical features — the judge now agrees with the eye
wrong-frame head prior (planted bad)249198discounted but NOT flipped — the controlled test below explains why honestly
right-frame head prior, full strength39station-row RINGING (the emitter's own recorded defect) convicted hard

What is now established

The third Goodhart conviction is WITHDRAWN with evidence: the wrong-frame prior outscoring the right-frame one is real mesh behaviour, not judge blindness — the correctly-framed prior cannot yet be applied smoothly (each of its 34 station rows creases the surface; at full strength the v2 judge scores those rings 22–39) and at safe strength it is nearly invisible. The named unlock is therefore in the EMITTER, not the ruler: interpolate the measured profile rows with the same Catmull-Rom machinery that §29 gave the canon rings (bg_cmr already exists), so the head prior can express its data at full strength without creasing. Every number in this section is the new baseline; the older figures above stand as history with their method stamped.

Honest bounds: the v2 ruler is stricter, not proven perfect — its variance-composition cosine has not been tested against an adversarial mesh built to match composition deliberately, and the wrong-frame case at 198 shows residual credit that orientation of the variance FIELD (not just its axis mix) would likely remove. Both are named future teeth. Nothing in this section raised a capability number; two went down and one conviction was retracted. That is the measurement plane doing its job.

§55 — The face-parts canon at uncapped density: the mechanism works, the proportions are the work

The 16-part face canon (the program that hit the old 400k cap) had never been emitted at real density — the cap made it impossible. At radial 96/sub 24 it now emits 2,076,480 triangles with zero truncation. Head-to-head at head scale, the v2 judge reads 40 and the eye agrees: the eyes and lips are REAL GEOMETRY now (the whole part-placement machinery works), but the shapes are toy-proportioned — bulbous protruding eyeballs, oversized duck-bill lips, no nasal bridge geometry, and a stray part below the chin. The judge and the eye giving the same verdict is the day's instrument work paying off.

16-part face canon at head scale, 2M tris: real eye and lip geometry with toy proportions -- the mechanism proven, the anatomy the next work

Named next work, face-parts program: anatomical part proportions (eye diameter ~24mm mostly INSIDE the orbit; lip vermilion border, not a bill; a nasal bridge part; jaw/chin line), with the factorised-from-oracle canon (nx_profile_fit argv[4], measured control handles) as the sizing source rather than hand numbers. The measurement plane is ready for it: demand-honest emit, structure-gated judge, head-scale crop, and every claim on this page re-runs.

§56 — The first visible face-form fix: eyes into their sockets, by one data edit

§55 diagnosed the eye part to the digit: a 38.5 mm sphere standing ~17 mm proud of the face, against real anatomy's 24 mm sitting near-flush (the 66 mm interpupillary spacing was already correct). The fix is one edited part block in a COPY of the canon (canon_merge2.dat; the original untouched): eye rings resized to 24 mm, forward offset 55 → 50. Emitted at 2,076,480 triangles, zero truncation.

BEFORE: 38.5mm eyeballs protruding 17mm proud of the face AFTER: 24mm eyes recessed into sockets with a real upper-lid shadow; the nasal mound now reads

Eye-verdict: the golf-ball protrusion is gone; the eyes sit IN sockets with a genuine lid shadow, and with them recessed the nasal relief reads for the first time. Still honestly cartoon — the duck-bill lip mass (an oscillating face-band part; this canon carries NO separate lip/brow/nose parts, so those are additions, not fixes), the egg cranium, and the forehead patch are the named remainder. The v2 bench run is pending on a recovering daemon and will be appended; the estate suffered a full outage mid-session and this section was produced through its recovery windows. One measured data edit, one visible category change — the part machinery rewards anatomy directly now.

§57 — Texture sampling exists: the shipped character carries UVs, bakes its own atlas, and the renderer samples it per-fragment

Until this rung the shipped game character (ref9d.nxa, 14,164 verts / 28,092 tris / 104 joints) had no UV coordinates at all — sampling any texture map was impossible by format, and "we shade procedurally from genome" was a constraint wearing the costume of a choice. The whole ladder landed in one arc, every rung gate-proven, and the asset now measured by the same instrument that filed the defect.

rungwhat shippedevidence
formatTEXC section in the NXA: per-vertex [u q16][v q16][owning joint], bone-anchored cylindrical unwrap, each of the 104 joints owning a DISJOINT tile of an 11×11 atlas grid — charts cannot bleed across body parts by constructionnx_nxa_texc_gate 11/11 GREEN; nx_asset_floor_gate re-measured: TEXC:42496 now among the declared tags, 13 sections, still GREEN
regionsevery joint classified Face|Torso|Limbs|Gens from its own bind anatomy (permil of the vertex span + laterality — the dyna normalization basis)exact on a controlled fixture; ref9d census face 13 / torso 14 / limbs 74 / gens 3 = 104, the partition sums
albedo bakeper-region skin albedo + a whisper of fine grain (±3 — the coarse-blotch regression is banked history), deterministic by seed, unowned tiles deliberately non-skin gray so a sampling leak is SEENnx_nxa_texbake_gate 11/11 GREEN: byte-identical re-bake, seed grain live, regions discriminate, within-tile spread ≤8
samplerthe renderer's existing per-fragment image path (tm_set_image + interpolated Q16 UVs) bound to TEXC — no new rasterizer was built; the path was already there, unwiredseed-A vs seed-B textured renders DIFFER (sampling is load-bearing end-to-end); 3-view turntable fills 56,482 px
the baked 1024 albedo atlas: 11x11 per-joint tiles, region-toned skin, gray void tiles beyond joint 103 the shipped character rendered with per-fragment atlas sampling: three views, lit, z-buffered

Left: the baked atlas — 104 owned tiles toned by anatomical region (face warmest, limbs darkest), fine grain only, and the unowned remainder deliberately gray. Right: the shipped character rendered by sampling that atlas per-fragment through its new TEXC coordinates — the first texture-mapped render of this asset in the estate's history.

Honest bounds

This is plumbing proven, not appearance won: the map is albedo-only (no specular/gloss/normal maps yet), the palette is region-flat rather than genome-driven, seams sit at bone-ownership boundaries, the published atlas is 1024px against the measured 4096 floor (resolution is a knob, higher untested), and the craft-world NPC wasm shader does not sample it yet — only the core renderer does. The perceptual number of this page does not move. What moved is a capability class: every rung above texture generation was dead code while the format lacked UVs; none of it is dead code now. Organs nx_nxa_texc + nx_nxa_texbake are promoted and registered; asset banked at ref9d.nxa.prev-pretexc.

§58 — The onion-ring root is dead: the skull field now evaluates at fixed point, and every instrument agrees

§53 proved the rings were not a cell-size problem — "redistance seeds inherit the RAW field's integer-mm zero crossings; the only cure is fixed-point evaluation of the primitive field itself" — and that cure is now shipped (debt 1786406737 part 1). The raw field grid carried integer-millimetre distances, so every iso-crossing snapped to coarse fractions of a cell. The fix follows the file's own precedent (the k1-at-SS_Q² lesson, applied to the output lane): additive _q variants of every primitive carry the result at SS_FQ = 256 units/mm — the same fixed point as the redistanced grid — so the seed crossing (a ratio), the sign restore and surface_nets at iso 0 are scale-invariant by construction and needed zero downstream changes. The millimetre lane survives untouched for the tuner and benches.

skull render before the fix: concentric crater-ring pattern across the cranial vault skull render after the fix: continuous pebbled bone texture, ring pattern gone

Same argv (sex 500, robust 500, grid 200, shipped defaults) before and after. The residual texture layer survives (intended, scale 250); the concentric ring/crater pattern riding under it is gone. The form defects (egg cranium, protruding arch) are §53's part-2 debt, deliberately untouched here.

instrumentbefore (mm field)after (SS_FQ field)reading
raw-field |grad| under-800 (per-mille, near-surface)565128the quantization noise that corrupted the seeds is gone
redistanced |grad| mean (1000 = true SDF)959 (min 0)1000 (min 23)the redistanced field now averages exactly a true SDF; no flat near-surface cells
nx_meshprofile jumps ≥ 26mm4 (a 28/27/26mm oscillation cluster at stations 328–343)1 (the §-anatomical brow transition only)the mid-face terrace bands vanished; genuine features survive
radius_min2000μm exactly (integer-mm artifact)2549μmvertex placement is genuinely sub-mm now
triangles94,08487,864 (−6.6%)fewer spurious surface-nets cells from micro-steps
CPU cost~230s~240sparity — the finer lane is not slower

Honest bounds

Verified at 2mm cells (grid 200); the 1mm-cell eye-verify rides the next bench window. The bbox lost 3mm on x (144→141 vs reference 151): the truncated field biased the surface outward, and removing that bias exposed that the fit vector was tuned against the biased lane. Re-tuned the same day against the sub-mm field (the tuner’s forward/reverse chamfer metric now evaluates the _q lane; nx_skullfit_beat GREEN 469→467 centi, fit proven loaded): bbox x 141→145, all dims within tolerance, raw under-800 held at 125‰, redistanced mean 1001. The residual 6mm on x and the many-part form gap carry in the successor debt. The detail-judge headline is deliberately not claimed here: §53 convicted it of counting terracing as detail, so killing terraces may lower it — the honest instruments for this change are the four above plus the eye. The form gap (§53 part 2: richer primitive skeleton) is the remaining and larger half of the skull's climb.