code wiki / _hdl_build / nx_bunny_gate.nx

nx_bunny_gate.nx

buildroot/runtime/_hdl_build/nx_bunny_gate.nx

4320 B77 linesdepth 5pulls 9 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_bunny_gate.nx -- ★STANFORD BUNNY on the Nishi renderer (field-evidence rung 2): the standard mesh corpus. The conformance claim is EXACTNESS: the banked Stanford ground truth says bun_zipper = 35947 vertices / 69451 triangles, and the loaded mesh must match those numbers exactly (provenance proven by the counts). Then it must render. T1 exact canonical counts. T2 renders (our largest mesh ever). T3 determinism. T4 evidence -> knowledge/nx_bunny.png. license_tier: ORIGINAL expect_exit: 0

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_png.nx nx_trimesh.nx nx_objload.nx nx_bunny_gate.nx

imports: nx_syscalls.nxnx_png.nxnx_trimesh.nxnx_objload.nx

imported by: nobody (leaf or entry point)

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

main hw sys_write 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 ↻ tm_set_spec tm_set_tex obj_load sys_mmap ↻ sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_munmap sys_close obj_linestart obj_num tm_reset sys_mmap ↻ tm_vert tm_vcap tm_vcol tm_tri tm_tcap tm_compute_normals tm_isqrt

structs

none

consts

16const BG: i64 = 24 + 26*256 + 34*65536
17const W: i64 = 300
18const H: i64 = 300

functions

11func hw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 1: main calls 1: sys_write
12func pn(v: i64) -> i64 { let b: *u8=sys_mmap(32) as *u8; var x: i64=v; var ng: i64=0; if x<0{ng=1;x=0-x} var i: i64=31; if x==0{b[i]=48 as u8;i=i-1} while x>0{b[i]=(48+x%10) as u8;x=x/10;i=i-1} if ng==1{b[i]=45 as u8;i=i-1} sys_write(1,(b as i64+i+1) as *u8,31-i); return 0 }
called by 1: main calls 2: sys_mmapsys_write
13func clearfb(fb: *i64, n: i64, c: i64) -> i64 { var i: i64=0; while i<n { fb[i]=c; i=i+1 } return 0 }
called by 1: main
14func filled(fb: *i64, n: i64, bg: i64) -> i64 { var c: i64=0; var i: i64=0; while i<n { if fb[i]!=bg { c=c+1 } i=i+1 } return c }
called by 1: main
20func main() -> i64