The comparison
The floor, read from image headers rather than package names
| Property | Measured floor | Where it came from |
|---|---|---|
| UV regions | 4 — Face, Torso, Limbs, Gens | the partition every measured skin uses |
| Maps per region | 4 — diffuse, specular, gloss, normal | filename suffixes D / S / G / N |
| Maps for a complete skin | 16 | 4 regions × 4 maps |
| Resolution floor | 4096 × 4096 | PNG header, two independent packages |
| Resolution premium | 8192 × 8192 | JPEG SOF marker — the “8k” claim verified, not trusted |
| Morph targets | 26 floor / 84 median / 310 high | archive entry counts across five looks |
Our geometry is not the gap: 14,164 vertices, 28,092 triangles and 104 joints all sit inside the VR triangle budget. The entire distance is in the material path.
The finding that changed the plan
The obvious reading of that picture is “add texture sampling to the shader.” That would not have worked, and the instrument told us why only after we fixed the instrument.
Our asset-floor gate checked seven section tags against a file declaring eleven. Four sections were invisible to its own inventory — and the texture question lived in exactly that blind spot. Made self-describing, it reports the container's real contents:
VERT TRIS CLUS SKEL SKIN ANIM HSTR GVRT GTRI GPIN POSE
There is no TEXC section. Interleaved coordinates are ruled out by three independent element counts: VERT carries 3 components per vertex (position only), TRIS 3 per triangle, SKIN 8 per vertex (bone indices and weights).
Our mesh has no UV coordinates at all. With no UVs there is nowhere to sample a texture from, so sampling any map is not difficult today — it is impossible. The first rung is the asset format (UV unwrap, a TEXC section, and the bake that fills it), not the fragment shader. Our source comment reads “we shade procedurally from genome,” which sounds like an aesthetic choice; it is a constraint. A header that states a workaround as a preference hides the rung underneath it.
What exceeding the floor means
The reference ships fixed files: one face, painted once, by hand. The axis it cannot follow us onto is generation — if we synthesise diffuse, specular, gloss and normal per genome at load time, every character receives its own 4K–8K skin with no authoring pass and no shipped bytes. That is the same principle our faces already use, applied one layer out.
UNVERIFIED — what this page does not establish
- The right-hand pane is not a portrait render. It is a magnified crop of a wide game frame, because our portrait mode (
?anat=1) currently hangs the page under headless capture. Filed, not worked around. Until it is fixed, no claim about our face specifically should be read off this image — only about surface detail generally. - Licence strings are self-declared by each uploader and were not independently traced. We rely on them for attribution only, never as provenance for the underlying artwork; a permissive tag on a repackaged asset does not launder its origin.
- Texel density is not measured here. We report map resolution, not pixels-per-square-centimetre of skin, because that requires the UV layout we do not yet have. The two are not interchangeable.
- No perceptual claim is made. Nothing on this page says our character looks worse to a human — only that it carries less authored surface data. Those are different assertions and the second does not prove the first.
Sources
Reference packages measured (freely distributed; excerpt shown under CC BY with credit):
- Skin 6 8k — Riddler (CC BY) — the 8192×8192 face diffuse excerpted above
- Skin DF1 8k — Demorfeus (CC BY) — second independent 8192×8192 confirmation
- EuLinRabei texture pack (CC BY-SA) — 4096×4096 floor and the variant-set pattern
- Virt-A-Mate Hub, free resources — the corpus these were drawn from
Lineage — Forks off our own asset-floor work: the gate that produced our side of this comparison, and the metrology programme that insists a ruler names what it cannot see. Parent: the character asset floor measurement, 2026-08-03.