code wiki / _hdl_build / nx_explode3d_gate.nx

nx_explode3d_gate.nx

buildroot/runtime/_hdl_build/nx_explode3d_gate.nx

13983 B317 linesdepth 4pulls 8 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 6 imports · 0 importers

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

imports: nx_syscalls.nxnx_step_parse.nxnx_explode3d.nxnx_render_core.nxnx_meshrender.nxnx_apng.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 sys_mmap sp_read_file sys_openat_rd sys_read sys_close sp_init sys_mmap ↻ sp_scan sp_skip_string sp_skip_comment sp_statement sp_isspace sp_isnamec sp_args_span sp_skip_string ↻ sp_nauo_collect sp_name_is sp_arg_span sp_skip_string ↻ sp_span_ref sp_isspace ↻ sp_putn sys_mmap ↻ sp_puts ↻ sys_write ↻ ex3_init ex3_oct ex3_rad ex3_dyv sp_pd_product sp_find sp_name_is ↻ sp_first_ref sp_skip_string ↻ sp_name_prefix ex3_part_begin ex3_isqrt

structs

none

consts

none

functions

17func xg_tooth(name: *u8, pass: i64, fails: *i64) -> i64
called by 1: main calls 1: sp_puts
28func 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
29func 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
31func main() -> i64