nx_nxa_groom_gate.nx
buildroot/runtime/nx_nxa_groom_gate.nx
about
nx_nxa_groom_gate.nx -- THE GROOM GATE v3: anatomical invariants on a generated groom asset.
WHY (operator 2026-08-26, twice in one day): first a backwards groom shipped because the referee
plot inherited the organ's own facing assumption; then a head-covering wrap shipped because 794
permil of synthesized roots sat INSIDE the skull and hair grew out of the volume. Both defects are
now BANKED REAL ASSETS and both are teeth here. v2 replaces the v1 facing basis (an extreme-extent
nose test, itself refuted: the dense face mesh drags the centroid so the sparse occiput measures
the larger extent) with the same basis the groom organ now uses: the estate rig convention
ANTERIOR-NEGATIVE = FACE, cross-checked by mesh density, refusing on disagreement.
license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0
dependencies 2 imports · 0 importers
imports: nx_syscalls.nxnx_gate_verdict.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 14 | const GG_SUBJECT: *u8 = "sites/nishifamily/world/ref9d.nxa" |
| 15 | const GG_FIX_HIJAB: *u8 = "knowledge/banked_ref9d_hijab.nxa" // real defect 2: face-side roots + interior fill |
| 16 | const GG_FIX_BACKWARDS: *u8 = "knowledge/banked_ref9d_backwards.nxa" // real defect 1: interior fill (its facing is the correct side) |
| 17 | const GG_HDR: i64 = 32 |
| 18 | const GG_TOCE: i64 = 32 |
| 19 | const GG_WORDS: i64 = 24 |
| 20 | const GG_PTS: i64 = 8 |
| 21 | const GG_HEADBAND_PERMIL: i64 = 120 |
| 22 | const GG_MIN_STRANDS: i64 = 4800 |
| 23 | const GG_LEN_LO_PERMIL: i64 = 180 |
| 24 | const GG_LEN_HI_PERMIL: i64 = 400 |
| 25 | const GG_CONF_MAX_PERMIL: i64 = 1300 |
| 26 | const GG_FACE_CONE_PERMIL: i64 = 350 |
| 27 | const GG_EYE_DROP_PERMIL: i64 = 40 |
| 28 | const GG_FACE_MAX_PERMIL: i64 = 80 |
| 36 | const GG_FAR_MAX_PERMIL: i64 = 100 |
| 37 | const GG_FAR_FIX_MIN_PERMIL: i64 = 200 |
| 38 | const GG_SPACING_SAMPLES: i64 = 128 |
functions
| 40 | func gg_rd64(b: *u8, o: i64) -> i64 called by 1: gg_stats |
| 46 | func gg_tageq(b: *u8, o: i64, t: *u8) -> i64 called by 1: gg_stats |
| 51 | func gg_isqrt(n: i64) -> i64 called by 1: gg_stats |
| 63 | func gg_stats(path: *u8, out: *i64) -> i64 |
| 299 | func gg_dump(tag: *u8, o: *i64) -> i64 |
| 315 | func main(argc: i64, argv: *i64) -> i64 |