code wiki / (root) / nx_mesh_neutral_gate_t346.nx

nx_mesh_neutral_gate_t346.nx source

↩ module page · 33 lines · 4461 B

1import "nx_mesh2glb_neutral_candidate_t346.nx" 2import "nx_gltf_render_descriptor_candidate_t181.nx" 3import "nx_gate_verdict.nx" 4func 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} 5func main()->i64{ 6 let c:*i64=gv_ctr();let ln:*i64=sys_mmap(16) as *i64 7 let source:*u8=sys_read_file("knowledge/gates/body-semantic-v2-t345.nxmesh",ln);let sourceBytes:i64=ln[0];if (source as i64)==0{return 1} 8 let range:*i64=sys_mmap(16) as *i64;let hdr:i64=nm_tri_base(source);let totalTris:i64=nm_ntris(source) 9 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) 10 let count:i64=range[1];let path:*u8="knowledge/gates/body-semantic-neutral-t346.glb" 11 gv_check("existing provenance door and neutral-layer converter emit actual source",mg_dispatch_layer_neutral("knowledge/gates/body-semantic-v2-t345.nxmesh",path,"skin",PV_JRNL_DEFAULT)==0,c) 12 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} 13 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 14 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} 15 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} 16 gv_check("selected raw FLOAT32 position bits and all triangles preserved",identical==1&&pv[1]==count*3&&iv[1]==count*3,c) 17 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) 18 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] 19 gv_check("neutral mode omits unsupported color binding explicitly",gli_member(cx,attributes,"COLOR_0")==0&&gld_int(cx,primitive,"material",-1)==0,c) 20 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 21 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) 22 if atomic_rewrite_checked("knowledge/gates/body-semantic-neutral-t346.json",desc,descriptorBytes)!=0{return 5} 23 var refused:i64=1;if mg_convert_layer_neutral(source,sourceBytes,"absent",path)!=MG_EXIT_REFUSE{refused=0} 24 if mg_convert_layer_neutral(source,hdr+totalTris*NM_TRI_REC,"skin",path)!=MG_EXIT_REFUSE{refused=0} 25 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) 26 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) 27 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) 28 let fix:*u8="knowledge/gates/mesh-neutral-legacy-fixture-t346.nxmesh";let legacyPath:*u8="knowledge/gates/mesh-neutral-legacy-candidate-t346.glb";if mg_convert(fix,legacyPath)!=0{return 6} 29 let candidate:*u8=sys_read_file(legacyPath,ln);let candidateBytes:i64=ln[0];let baseline:*u8=sys_read_file("knowledge/gates/mesh-neutral-legacy-baseline-t346.glb",ln) 30 gv_check("legacy invocation output remains byte-identical",candidateBytes==ln[0]&&ng_equal(candidate,baseline,candidateBytes)==1,c) 31 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") 32 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") 33}