code wiki / (root) / nx_garment_boundary_gate_t128.nx

nx_garment_boundary_gate_t128.nx source

↩ module page · 40 lines · 2847 B

1import "nx_garment_boundary_candidate_t128.nx" 2import "nx_gate_verdict.nx" 3func gbc_valid(out:*i64,n:i64,dist:*i64)->i64 { 4 var i:i64=0 5 while i<n {let p:i64=i*4;let d:i64=out[p+3] 6 if d<=0||out[p]<0||out[p+1]<0||out[p+2]<0{return 0} 7 if out[p]+out[p+1]+out[p+2]!=d{return 0} 8 if out[p]*dist[0]+out[p+1]*dist[1]+out[p+2]*dist[2]<0{return 0} 9 i=i+1 10 };return 1 11} 12func main()->i64 { 13 let ctr:*i64=gv_ctr();gv_head("GARMENT-BOUNDARY-CLIP-V1") 14 let d:*i64=sys_mmap(24) as *i64;let out:*i64=sys_mmap(24*8) as *i64 15 var i:i64=0;while i<24{out[i]=919;i=i+1} 16 d[0]=1;d[1]=1;d[2]=1 17 var n:i64=gmg_clip_triangle_bary_v1(d,out,16) 18 gv_check("all-inside preserves three original vertices",n==3&&out[0]==1&&out[1]==0&&out[4]==0&&out[5]==1&&out[10]==1,ctr) 19 d[0]=1;d[1]=-1;d[2]=-1;n=gmg_clip_triangle_bary_v1(d,out,16) 20 gv_check("one-inside creates expected three-vertex polygon",n==3&&out[0]==1&&out[2]==1&&out[3]==2&&out[4]==1&&out[7]==1&&out[8]==1&&out[9]==1&&out[11]==2,ctr) 21 gv_check("one-inside exact normalized provenance remains inside",gbc_valid(out,n,d)==1,ctr) 22 d[0]=1;d[1]=1;d[2]=-1;n=gmg_clip_triangle_bary_v1(d,out,16) 23 gv_check("two-inside produces quad in winding order",n==4&&out[0]==1&&out[2]==1&&out[4]==1&&out[9]==1&&out[13]==1&&out[14]==1,ctr) 24 gv_check("two-inside exact normalized provenance remains inside",gbc_valid(out,n,d)==1,ctr) 25 d[0]=2;d[1]=-1;d[2]=-1;n=gmg_clip_triangle_bary_v1(d,out,16) 26 gv_check("non-dyadic crossings retain exact thirds",n==3&&out[0]==1&&out[2]==2&&out[3]==3&&out[8]==1&&out[9]==2&&out[11]==3,ctr) 27 let prior:i64=out[0];out[0]=out[0]+1 28 gv_bite("negative corrupted barycentric sum detected",gbc_valid(out,n,d)==0,0,ctr);out[0]=prior 29 d[0]=-1;d[1]=-1;d[2]=-1;n=gmg_clip_triangle_bary_v1(d,out,16) 30 gv_check("all-outside yields no polygon",n==0,ctr) 31 d[0]=0;n=gmg_clip_triangle_bary_v1(d,out,16);gv_check("single touching vertex is not a face",n==0,ctr) 32 d[1]=0;n=gmg_clip_triangle_bary_v1(d,out,16);gv_check("touching edge is not a face",n==0,ctr) 33 d[2]=1;n=gmg_clip_triangle_bary_v1(d,out,16);gv_check("boundary endpoints retained once",n==3&&gbc_valid(out,n,d)==1,ctr) 34 out[0]=919;gv_check("capacity refusal precedes write",gmg_clip_triangle_bary_v1(d,out,15)==GMG_CLIP_E_CAP&&out[0]==919,ctr) 35 d[0]=GMG_CLIP_DISTANCE_MAX+1;gv_check("range refusal precedes write",gmg_clip_triangle_bary_v1(d,out,16)==GMG_CLIP_E_INPUT&&out[0]==919,ctr) 36 d[0]=GMG_CLIP_DISTANCE_MAX;d[1]=0-GMG_CLIP_DISTANCE_MAX;d[2]=d[1];n=gmg_clip_triangle_bary_v1(d,out,16) 37 gv_check("maximum supported distances preserve exact ratio",n==3&&out[3]==2*GMG_CLIP_DISTANCE_MAX&&gbc_valid(out,n,d)==1,ctr) 38 gv_check("output canary intact",out[16]==919&&out[23]==919,ctr) 39 return gv_verdict("GARMENT-BOUNDARY-CLIP",ctr,"Native scalar-field triangle clipping with exact source barycentrics; no asset consumer or visible improvement claimed") 40}