code wiki / (root) / nx_mesh_winding_prepare_gate_t365.nx

nx_mesh_winding_prepare_gate_t365.nx source

↩ module page · 35 lines · 4651 B

1import "nx_mesh2glb_neutral_candidate_t346.nx" 2import "nx_gltf_render_descriptor_candidate_t181.nx" 3import "nx_gate_verdict.nx" 4import "nx_estate_path.nx" 5func ng_equal(a:*u8,b:*u8,n:i64)->i64{var i:i64=0;while i<n{if a[i]!=b[i]{return 0};i=i+1};return 1} 6func main()->i64{ 7 if ep_anchor()<0{return 9} 8 let c:*i64=gv_ctr();let ln:*i64=sys_mmap(16) as *i64 9 let source:*u8=sys_read_file("buildroot/knowledge/gates/body-winding-candidate-t365.nxmesh",ln);let sourceBytes:i64=ln[0];if (source as i64)==0{return 1} 10 let range:*i64=sys_mmap(16) as *i64;let hdr:i64=nm_tri_base(source);let totalTris:i64=nm_ntris(source) 11 gv_check("actual named skin layer validated with complete source labels",mg_layer_window(source,sourceBytes,"skin",range)==0&&range[0]==nm_u32(source,NM_HDR+16)&&range[1]==nm_u32(source,NM_HDR+20),c) 12 let count:i64=range[1];let path:*u8="buildroot/knowledge/gates/body-winding-neutral-t365.glb" 13 gv_check("existing provenance door and neutral-layer converter emit actual source",mg_dispatch_layer_neutral("buildroot/knowledge/gates/body-winding-candidate-t365.nxmesh",path,"skin","/volume1/homes/elderwesto/nishihost/knowledge/provenance/assets.jrnl")==0,c) 14 let output:*u8=sys_read_file(path,ln);let outputBytes:i64=ln[0];let cx:*i64=sys_mmap(GLD_CONTEXT_WORDS*8) as *i64;if gltf_view_open(output,outputBytes,cx)!=0{return 2} 15 let state:*i64=cx[5] as *i64;let pv:*i64=sys_mmap(GLD_VIEW_WORDS*8) as *i64;let nv:*i64=sys_mmap(GLD_VIEW_WORDS*8) as *i64;let iv:*i64=sys_mmap(GLD_VIEW_WORDS*8) as *i64 16 if gltf_accessor_view(cx,0,state[2],pv)!=0||gltf_accessor_view(cx,1,state[2],nv)!=0||gltf_accessor_view(cx,3,state[2],iv)!=0{return 3} 17 var identical:i64=1;var t:i64=0;while t<count{var k:i64=0;while k<9{if nm_u32(source,hdr+(range[0]+t)*NM_TRI_REC+k*4)!=gll_ru32(cx[8] as *u8,pv[0]+t*36+k*4){identical=0};k=k+1};t=t+1} 18 gv_check("selected raw FLOAT32 position bits and all triangles preserved",identical==1&&pv[1]==count*3&&iv[1]==count*3,c) 19 var ordered:i64=1;t=0;while t<iv[1]{if gll_ru32(cx[8] as *u8,iv[0]+t*iv[2])!=t{ordered=0};t=t+1};gv_check("index order and winding unchanged",ordered,c) 20 let mesh:i64=gld_nth(cx,0,"meshes",0);let primitive:i64=gld_nth(cx,mesh,"primitives",0);let span:*i64=cx[4] as *i64;if gli_member(cx,primitive,"attributes")!=1{return 4};let attributes:i64=span[0] 21 gv_check("neutral mode omits unsupported color binding explicitly",gli_member(cx,attributes,"COLOR_0")==0&&gld_int(cx,primitive,"material",-1)==0,c) 22 let w:*i64=sys_mmap(32) as *i64;let rc:i64=gltf_render_static_descriptor(cx,0,w);let descriptorBytes:i64=w[2];let desc:*u8=sys_mmap(descriptorBytes);w[0]=desc as i64;w[1]=descriptorBytes;w[2]=0;w[3]=0 23 gv_check("canonical static descriptor accepts physical scale and source normals",rc==0&&gltf_render_static_descriptor(cx,0,w)==0&&w[2]==descriptorBytes,c) 24 if atomic_rewrite_checked("buildroot/knowledge/gates/body-winding-neutral-t365.json",desc,descriptorBytes)!=0{return 5} 25 var refused:i64=1;if mg_convert_layer_neutral(source,sourceBytes,"absent",path)!=MG_EXIT_REFUSE{refused=0} 26 if mg_convert_layer_neutral(source,hdr+totalTris*NM_TRI_REC,"skin",path)!=MG_EXIT_REFUSE{refused=0} 27 let save:i64=nm_u32(source,hdr);nm_put_u32(source,hdr,0x7fc00000);if mg_convert_layer_neutral(source,sourceBytes,"skin",path)!=MG_EXIT_REFUSE{refused=0};nm_put_u32(source,hdr,save) 28 let labelOff:i64=hdr+totalTris*NM_TRI_REC;let label:i64=nm_u32(source,labelOff);nm_put_u32(source,labelOff,1);if mg_convert_layer_neutral(source,sourceBytes,"skin",path)!=MG_EXIT_REFUSE{refused=0};nm_put_u32(source,labelOff,label) 29 let later:*u8=sys_read_file(path,ln);gv_check("invalid layer/truncation/nonfinite/label refusals preserve prior output",refused==1&&ln[0]==outputBytes&&ng_equal(output,later,outputBytes)==1,c) 30 let fix:*u8="buildroot/knowledge/gates/mesh-neutral-legacy-fixture-t346.nxmesh";let legacyPath:*u8="buildroot/knowledge/gates/mesh-neutral-legacy-candidate-t346.glb";if mg_convert(fix,legacyPath)!=0{return 6} 31 let candidate:*u8=sys_read_file(legacyPath,ln);let candidateBytes:i64=ln[0];let baseline:*u8=sys_read_file("buildroot/knowledge/gates/mesh-neutral-legacy-baseline-t346.glb",ln) 32 gv_check("legacy invocation output remains byte-identical",candidateBytes==ln[0]&&ng_equal(candidate,baseline,candidateBytes)==1,c) 33 gv_puts("source_triangles=");gv_num(totalTris);gv_puts(" selected_triangles=");gv_num(count);gv_puts(" normal_precision=GN_IN_MAX sourceColorCalibration=unknown material=existing-neutral-diagnostic\n") 34 gltf_view_close(cx);return gv_verdict("NXMSH-NEUTRAL-LAYER",c,"explicit mm-to-metre node scale; source unit-normal precision; no anatomical or skin calibration claim") 35}