nx_asset_page_gate.nx
buildroot/runtime/nx_asset_page_gate.nx
about
nx_asset_page_gate.nx -- the referee for nx_asset_page_lib (2026-09-17): the asset page emits the viewer script only when
a tier shows a GLB canvas. Planted manifests, in-process: an image-only manifest needs no viewer, a GLB tier on either
direction (tasset, tasset2) needs it, and the predicate reads the FORMAT column -- the word glb in a label, in an
evidence column, in a judge axis or on a row type that merely starts with tasset does not count. A CRLF manifest is
read the same as an LF one. The emitter's wiring is proven end to end by the media-judge workflow plan, whose last row
is nx_page_verify over the live page.
license_tier: ORIGINAL No hw writes (Rule 26).
dependencies 3 imports · 0 importers
imports: nx_syscalls.nxnx_gate_verdict.nxnx_asset_page_lib.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
| 12 | const AG_IMG_ONLY: *u8 = "meta\tdiora14\timg\tMedia judged\ntasset\t1\timg\t/compare/x/a.jpg\tORIGINAL\ntasset\t2\timg\t/compare/x/b.png\tMEASURED\ntier\t1\tLIVE\tnote\njudge\tnx_photomark\tface_found\t1\tflag\tevidence\n" |
| 13 | const AG_GLB_TIER: *u8 = "meta\tkk\tglb\tA mesh\ntasset\t1\tglb\t/exceed/kk/a.glb\tORIGINAL\ntier\t1\tLIVE\tnote\njudge\torgan\taxis\t1\tunit\tevidence\n" |
| 14 | const AG_GLB_OUTBOUND: *u8 = "meta\tkk\timg\tA mesh\ntasset\t1\timg\t/x/a.png\tORIGINAL\ntasset2\t3\tglb\t/exceed/kk/c.glb\tIMPROVED\ntier\t1\tLIVE\tnote\n" |
| 15 | const AG_GLB_IN_LABEL: *u8 = "meta\tkk\timg\tA mesh\ntasset\t1\timg\t/x/a.png\tglb\ntier\t1\tLIVE\tthe glb is coming\n" |
| 16 | const AG_GLB_IN_JUDGE: *u8 = "meta\tkk\timg\tA mesh\ntasset\t1\timg\t/x/a.png\tORIGINAL\njudge\tnx_mesh\tglb\t1\tglb\tglb\n" |
| 17 | const AG_GLB_ON_LOOKALIKE: *u8 = "meta\tkk\timg\tA mesh\ntassetx\t1\tglb\t/x/a.glb\tORIGINAL\n" |
| 18 | const AG_GLB_CRLF: *u8 = "meta\tkk\tglb\tA mesh\r\ntasset\t1\tglb\r\n" |
| 19 | const AG_GLB_UPPER: *u8 = "meta\tkk\tglb\tA mesh\ntasset\t1\tGLB\t/x/a.glb\tORIGINAL\n" |
| 20 | const AG_COL_LINE: *u8 = "tasset\t2\tglb\t/x/y.glb\tlabel" |
| 21 | const AG_COL_FORMAT_LEN: i64 = 3 |
| 22 | const AG_COL_ABSENT: i64 = 9 |
| 23 | const AG_I64: i64 = 8 |
functions
| 25 | func ag_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } |
| 26 | func ag_has(s: *u8) -> i64 { return apl_has_glb(s, ag_len(s)) } |
| 28 | func main(argc: i64, argv: *i64) -> i64 |