code wiki / _hdl_build / nx_explode3d_gate.nx

nx_explode3d_gate.nx

buildroot/runtime/_hdl_build/nx_explode3d_gate.nx

14144 B311 linesdepth 4pulls 11 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_explode3d_gate.nx -- teeth for R2: the 3D exploded-view engine DRIVEN BY THE REAL STEP ASSEMBLY. Parses banked as1-oc-214.stp (nx_step_parse R1a) -> DFS the occurrence tree -> one 3D part per leaf instance (box/prism STAND-INS by product name; real face tessellation = R1b) -> nx_explode3d staged radial explode -> nx_meshrender frames -> ANIMATED APNG knowledge/nx_explode_as1.apng (assemble<->explode loop = the explodeview signature). T1 part count == INDEPENDENT occurrence-expansion count (two different computations agree) · T2 mean pairwise part distance strictly MONOTONIC in t · T3 exploded >= 2x assembled spread · T4 pose determinism (same t -> same bytes) · T5 staged depth (depth-3 parts travel further than depth-1) · T6 renders non-vacuous + assembled differs from exploded · T7 APNG written (signature + size). expect_exit: 0 license_tier: ORIGINAL

dependencies 7 imports · 0 importers

nx_syscalls.nx nx_step_parse.nx nx_explode3d.nx nx_render_core.nx nx_meshrender.nx nx_apng.nx nx_gate_verdict.nx nx_explode3d_gate.nx

imports: nx_syscalls.nxnx_step_parse.nxnx_explode3d.nxnx_render_core.nxnx_meshrender.nxnx_apng.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

main sp_puts sys_write 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 ↻ sys_mmap ↻ sp_read_file sys_openat_rd sys_read sys_close gv_subjects gv_puts sys_write ↻ gv_num sys_mmap ↻ sys_write ↻ sys_munmap gv_need gv_puts ↻ gv_verdict gv_note_bare_rate gv_bare_rate gv_at gv_obj_has_n gv_at ↻ gv_puts ↻

structs

none

consts

none

functions

18func xg_tooth(name: *u8, pass: i64, c: *i64) -> i64 { gv_check(name, pass == 1, c); return 0 }
called by 1: main calls 1: gv_check
23func xg_cover(fb: *i64, n: i64, bg: i64) -> i64 { var k: i64 = 0; var i: i64 = 0; while i < n { if fb[i] != bg { k = k + 1 } i = i + 1 } return k }
called by 1: main
24func xg_chk(v: *i64, n: i64) -> i64 { var x: i64 = 0; var i: i64 = 0; while i < n { x = x + v[i] * (1 + (i % 7)); i = i + 1 } return x }
called by 1: main
26func main() -> i64