code wiki / (root) / nx_meshvalid_gate.nx

nx_meshvalid_gate.nx

buildroot/runtime/nx_meshvalid_gate.nx

9964 B154 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_meshvalid_gate.nx -- the gate for nx_meshvalid_lib (/compare/dcc DC3). THE HAZARD THIS GATE IS SHAPED AGAINST: a validity checker that REFUSES EVERYTHING passes every negative test ever written for it. That is the inverse of the usual vacuity defect -- there the guard never fires, here it always does -- and four SSRF deny-tests once went green in this estate while the guard was wholly broken. So the load-bearing cell here is the POSITIVE control: a genuine closed tetrahedron with consistent outward winding that must come back with EVERY counter at zero. Each defect class is then a gv_bite: it must FIRE on its own planted defect and stay SILENT on the good mesh. The tetrahedron is built once and mutated per fixture, so every negative control differs from the positive one by exactly the defect under test -- if it differed by more, a kill would not attribute to the defect. 100% sovereign. No hardware writes (Rule 26). license_tier: ORIGINAL expect_exit: 0

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_meshvalid_lib.nx nx_meshvalid_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.nxnx_meshvalid_lib.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main gv_ctr sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ gv_head gv_puts sys_write ↻ mg_tetra mv_new mv_cap_for sys_mmap ↻ mv_words_for mv_set_vert mv_verts_off mv_set_tri mv_tris_off gv_check gv_puts ↻ mg_ne mg_eq mv_manifold mv_verdict mv_check mv_tris_off ↻ mv_bump mv_is_degenerate mv_verts_off ↻

structs

none

consts

17const MG_S: i64 = 100
18const MG_TETRA_V: i64 = 4
19const MG_TETRA_T: i64 = 4
20const MG_TRI_T: i64 = 1 // one triangle in the single-face fixtures
32const MG_CAP_SMALL: i64 = 10
33const MG_CAP_BIG: i64 = 1000
37const MG_CAP_PROBE: i64 = 64

functions

39func mg_eq(a: i64, b: i64) -> i64 { if a == b { return 1 } return 0 }
called by 1: main
40func mg_ne(a: i64, b: i64) -> i64 { if a != b { return 1 } return 0 }
called by 1: main
41func mg_gt(a: i64, b: i64) -> i64 { if a > b { return 1 } return 0 }
called by 1: main
46func mg_tetra(extra_v: i64, extra_t: i64) -> *i64
called by 1: main calls 3: mv_newmv_set_vertmv_set_tri
60func mg_all_clean(m: *i64) -> i64
called by 1: main calls 1: mv_count
67func main(argc: i64, argv: *i64) -> i64