code wiki / _hdl_build / nx_outfit_gate.nx

nx_outfit_gate.nx

buildroot/runtime/_hdl_build/nx_outfit_gate.nx

4738 B81 linesdepth 4pulls 8 transitivereach 0 importersview sourcekind gate/prooftopic outfit
docsdependenciesstructsconstsfunctions

about

nx_outfit_gate.nx -- OUTFIT SWAP proven: a synthetic human WEARS tunic/robe/cloak/armor (parametric clothing geometry + cloth materials), rendered on the photoreal shader. Proves each outfit paints its CLOTH COLOR onto the body (crimson/blue/green/steel pixels that the bare skin render doesn't have) + grows the part list. Emits knowledge/synth_outfit_<name>.png. expect_exit:0 license_tier: ORIGINAL

dependencies 5 imports · 0 importers

nx_syscalls.nx nx_sdfrender.nx nx_assetvariant.nx nx_outfit.nx nx_png.nx nx_outfit_gate.nx

imports: nx_syscalls.nxnx_sdfrender.nxnx_assetvariant.nxnx_outfit.nxnx_png.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 sdf_bytes av_build sys_mmap ↻ av_base_human av_p av_base_wolf av_p ↻ av_base_goblin av_p ↻ av_slot_head av_p ↻ av_slot_ears av_p ↻ av_slot_tail av_p ↻ sdf_clear_ops of_bare_count outfit_apply of_part sdf_set_mat sdf_set_op sdf_clear_ops_keep of_render it_cos4096 it_sin4096 it_sin4096 ↻ sdf_isqrt sdf_shade_ray sdf_eval sdf_ellip sdf_isqrt ↻ sdf_ellip_rot sdf_isqrt ↻ sdf_smax sdf_smin sdf_abs

structs

none

consts

14const OW: i64 = 160
15const OH: i64 = 120
16const OFOCAL: i64 = 183

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
18func of_render(base: i64, fb: *i64) -> i64
39func is_cloth(col: i64, outfit: i64) -> i64
called by 1: count_cloth
47func count_cloth(fb: *i64, outfit: i64) -> i64 { var c: i64=0; var i: i64=0; while i<OW*OH { if is_cloth(fb[i], outfit)==1 { c=c+1 } i=i+1 } return c }
called by 1: main calls 1: is_cloth
49func main() -> i64
78func of_bare_count(base: i64) -> i64 { let np: *i64 = (base + O_NPART) as *i64; return np[0] }
called by 1: main
81func sdf_clear_ops_keep(base: i64) -> i64 { return 0 }
called by 1: main