code wiki / _hdl_build / nx_procgen_gtlabels_gate.nx

nx_procgen_gtlabels_gate.nx

buildroot/runtime/_hdl_build/nx_procgen_gtlabels_gate.nx

7480 B108 linesdepth 3pulls 3 transitivereach 0 importersview sourcekind gate/prooftopic procgen
docsdependenciesstructsconstsfunctions

about

nx_procgen_gtlabels_gate.nx -- Gx/PROCGEN: the digital-twin GROUND-TRUTH TRIO from REAL heightfield geometry. One procedural terrain (FBM heightfield) emitted 4 ways in aligned panels: (1) shaded-relief RGB, (2) DEPTH map (elevation, grayscale), (3) NORMAL map (surface normal from the height gradient, standard tangent-space RGB encoding), (4) SEGMENTATION map (flat class by altitude + water). Depth + normals are GENUINE (computed from the heightfield gradient, not faked) -- exactly the multi-channel per-pixel label an ML-training or digital-twin pipeline consumes (Infinigen's signature output). Integer/sovereign/asset-free. Completes ground-truth-labels. license_tier: ORIGINAL expect_exit: 0

dependencies 1 imports · 0 importers

nx_png_write.nx nx_procgen_gtlabels_gate.nx

imports: nx_png_write.nx

imported by: nobody (leaf or entry point)

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

main gl_puts gl_fbm gl_vnoise gl_hash gl_smooth gl_isqrt nx_png_write_rgb sys_openat_wr sys_mmap sys_write pw_chunk pw_u32be sys_mmap ↻ sys_write ↻ sys_write ↻ pw_crc_block pw_adler32 sys_close gl_pn sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close ↻

structs

none

consts

none

functions

10func gl_puts(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
11func gl_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
12func gl_isqrt(n: i64) -> i64 { if n<=0 { return 0 } var x: i64=n; var y: i64=(x+n/x)/2; var it: i64=0; while it<64 { if y>=x { it=64 } else { x=y; y=(x+n/x)/2; it=it+1 } } return x }
called by 1: main
13func gl_hash(x: i64, y: i64, seed: i64) -> i64 { var a: i64=(x+1)*73856093+(y+1)*19349663+(seed+1)*83492791; a=a%16777216; if a<0{a=a+16777216} a=(a*1103515245+12345)%16777216; if a<0{a=a+16777216} return a%4096 }
called by 1: gl_vnoise
14func gl_smooth(t: i64) -> i64 { let t2: i64=(t*t)/4096; return (t2*(3*4096-2*t))/4096 }
called by 1: gl_vnoise
15func gl_vnoise(px: i64, py: i64, lat: i64, sz: i64, seed: i64) -> i64
called by 1: gl_fbm calls 2: gl_hashgl_smooth
23func gl_fbm(px: i64, py: i64, sz: i64, seed: i64) -> i64
called by 1: main calls 1: gl_vnoise
30func main() -> i64