nx_donor_texm_gate.nx
buildroot/runtime/nx_donor_texm_gate.nx
about
nx_donor_texm_gate.nx -- THE DONOR-SURFACE GATE: authored FBX materials carried into TEXC+TEXM
on ALL FOUR Fab donors, proven on the live artifacts (never fixtures standing in for them).
Subject: knowledge/rigcorpus/{dark_witch,paladin,dark_knight,toon3d8}_rigged.nxa as written by
nx_fbx_texm. Proves, per donor:
(1) TEXC exists and its row count EQUALS the VERT count -- the desync refusal held;
(2) TEXM exists, declares 4 map records, albedo is record 0, non-empty, a REAL PNG, with
entropy above the constant-color floor (a scalar-flood atlas cannot pass);
(3) the UV set is non-degenerate (u-spread) and spans >= 2 charts.
Neg-control: the banked PRE-TEXM donor (knowledge/bank/) must FAIL the presence tooth --
a gate that cannot fire on the pre-fix artifact has not been shown to fire.
The donor count is bound IN the conditions (4 of 4), so the empty set cannot pass.
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
| 17 | const DTG_NDONOR: i64 = 4 |
| 18 | const DTG_A1: *u8 = "knowledge/rigcorpus/dark_witch_rigged.nxa" |
| 19 | const DTG_A2: *u8 = "knowledge/rigcorpus/paladin_rigged.nxa" |
| 20 | const DTG_A3: *u8 = "knowledge/rigcorpus/dark_knight_rigged.nxa" |
| 21 | const DTG_A4: *u8 = "knowledge/rigcorpus/toon3d8_rigged.nxa" |
| 22 | const DTG_BANKED: *u8 = "knowledge/bank/dark_witch_rigged.nxa.pretexm-20260823" |
| 24 | const DTG_HDR: i64 = 32 |
| 25 | const DTG_TOCE: i64 = 32 |
| 26 | const DTG_TM_HDRW: i64 = 6 |
| 27 | const DTG_TM_RECW: i64 = 3 |
| 28 | const DTG_NMAPS: i64 = 4 |
| 29 | const DTG_RES_MIN: i64 = 8 // one PNG filter block, the same floor nx_nxa_texm enforces |
| 30 | const DTG_PNG0: i64 = 137 |
| 31 | const DTG_PNG1: i64 = 80 |
| 32 | const DTG_PNG2: i64 = 78 |
| 33 | const DTG_PNG3: i64 = 71 |
| 36 | const DTG_ENTROPY_MIN_BYTES: i64 = 65536 |
| 37 | const DTG_USPREAD_MIN_PERMIL: i64 = 500 // spread must cover over half the Q16 axis |
| 38 | const DTG_Q16: i64 = 65536 |
functions
| 40 | func dtg_rd64(b: *u8, off: i64) -> i64 |
| 46 | func dtg_tag4(s: *u8) -> i64 called by 1: dtg_sec |
| 49 | func dtg_sec(b: *u8, ns: i64, t: *u8, poff: *i64, pwords: *i64) -> i64 |
| 66 | func dtg_measure(path: *u8) -> i64 |
| 134 | func main() -> i64 |