code wiki / _hdl_build / nx_bunny_gate.nx

nx_bunny_gate.nx

buildroot/runtime/_hdl_build/nx_bunny_gate.nx

4304 B77 linesdepth 4pulls 7 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 tm_set_spec tm_set_tex obj_load sys_mmap ↻ sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close obj_linestart obj_num tm_reset sys_mmap ↻ tm_vert tm_vcol tm_tri tm_compute_normals tm_isqrt tm_nv tm_nt pn sys_mmap ↻ sys_write ↻ tm_ovf clearfb trimesh_zclear trimesh_render it_cos4096 it_sin4096 it_sin4096 ↻ tm_isqrt ↻ sys_mmap ↻ tm_min3 tm_min tm_max3

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