code wiki / (root) / nx_beach_overhang_gate.nx

nx_beach_overhang_gate.nx source

↩ module page · 54 lines · 2456 B

1import "nx_wasm_craft.nx" 2import "nx_gate_verdict.nx" 3 4// Fixture coordinates describe two traversable levels, not runtime policy. 5func main() -> i64 { 6 let c: *i64 = gv_ctr() 7 let base: i64 = sys_mmap(CRAFT_TOTAL) as i64 8 let sp: *i64 = wsp(base) 9 let state: *i64 = wst(base) 10 sp[P_SURF]=1 11 sp[P_WATER]=0 12 let x: i64=10*256+128 13 let z: i64=10*256+128 14 hq_set(base,10,10,4*256) 15 hq_set(base,11,10,4*256) 16 hq_set(base,10,11,4*256) 17 hq_set(base,11,11,4*256) 18 vset(base,10,4,10,5) 19 let ground: i64=5*256 20 state[S_CX]=x 21 state[S_CZ]=z 22 state[S_CY]=ground+EYE 23 gv_check_eq("open terrain standing",wstand(base,x,z,state[S_CY]),ground+EYE,c) 24 gv_check_eq("open terrain vertical target",wstand_here(base,x,z),ground+EYE,c) 25 // A wood platform above the player's head must remain usable from above 26 // while allowing the same player to walk beneath it. 27 vset(base,10,12,10,6) 28 gv_kv("terrain_top_q8",ground) 29 gv_kv("platform_bottom_q8",12*256) 30 gv_kv("platform_top_q8",13*256) 31 gv_kv("eye_offset_q8",EYE) 32 gv_check_eq("walk below overhead platform",wstand(base,x,z,state[S_CY]),ground+EYE,c) 33 gv_check_eq("vertical target below overhead platform",wstand_here(base,x,z),ground+EYE,c) 34 state[S_CY]=13*256+EYE 35 gv_check_eq("stand on platform remains supported",wstand(base,x,z,state[S_CY]),13*256+EYE,c) 36 gv_check_eq("vertical target above platform",wstand_here(base,x,z),13*256+EYE,c) 37 state[S_CY]=10*256+EYE 38 gv_check_eq("fall beneath platform selects lower ground",wstand_here(base,x,z),ground+EYE,c) 39 state[S_CY]=14*256+EYE 40 gv_check_eq("fall above platform selects platform",wstand_here(base,x,z),13*256+EYE,c) 41 gv_check_eq("support exactly at bound",wc_contact_floor_below_q(base,x,z,WY-1,13*256),13*256,c) 42 gv_check_eq("support just below platform top",wc_contact_floor_below_q(base,x,z,WY-1,13*256-1),ground,c) 43 sp[P_SURF]=0 44 state[S_CY]=ground+EYE 45 gv_check_eq("voxel walk under platform",wstand(base,x,z,state[S_CY]),ground+EYE,c) 46 gv_check_eq("voxel vertical under platform",wstand_here(base,x,z),ground+EYE,c) 47 sp[P_SURF]=1 48 state[S_CY]=ground+EYE 49 vset(base,10,5,10,6) 50 gv_check_eq("existing one-cell step remains reachable",wstand(base,x,z,state[S_CY]),6*256+EYE,c) 51 state[S_CY]=6*256+EYE 52 gv_check_eq("accepted step supports vertical integration",wstand_here(base,x,z),6*256+EYE,c) 53 return gv_verdict("BEACH-OVERHANG",c,"Support selection includes overhang, falling, exact bounds, voxel mode and step retention; browser movement remains unverified.") 54}