code wiki / (root) / nx_worldpipe_relief_contact_gate_t140.nx

nx_worldpipe_relief_contact_gate_t140.nx source

↩ module page · 36 lines · 1971 B

1// Current canonical consumer qualification with a controlled non-flat HQ fixture. 2// Does not install the candidate producer or claim full integrated worldgen. 3import "_hdl_build/nx_wasm_craft_move_t72.nx" 4import "nx_gate_verdict.nx" 5func main() -> i64 { 6 let ctr: *i64 = gv_ctr() 7 gv_head("RELIEF / current Q8 consumer contract" as *u8) 8 let arena: *u8 = sys_mmap_shared(CRAFT_EXT_TOTAL) 9 if (arena as i64) <= 0 { return 3 } 10 let base: i64 = arena as i64 11 wc_spec(base,2) 12 gv_check_eq("current Beach smooth surface enabled",wsp(base)[P_SURF],1,ctr) 13 gv_check_eq("current Beach erosion disabled",wsp(base)[P_ERODE],0,ctr) 14 gv_check_eq("current Beach staged terrain disabled",wsp(base)[P_WPIPE],0,ctr) 15 // All surrounding terrain samples form an analytic ramp, zero structures. 16 var z: i64 = 0 17 while z < WZ { 18 var x: i64 = 0 19 while x < WX { hq_set(base,x,z,11*256+x+2*z); x = x + 1 } 20 z = z + 1 21 } 22 let xq: i64 = 32*256+128 23 let zq: i64 = 32*256+128 24 // Bilinear shader surf is 12+97.5/256 blocks. Native truncates to Q8. 25 let expected: i64 = 12*256+97 26 gv_check_eq("native bilinear field is analytic ramp",wc_surface_source(base,xq,zq),expected,ctr) 27 gv_check_eq("NPC floor consumer reads same field",wc_contact_floor_q(base,xq,zq,WY-1),expected,ctr) 28 gv_check_eq("player exact supported pose is clear",wc_player_position_clear(base,xq,expected+EYE,zq),1,ctr) 29 gv_check_eq("player one Q8 unit below field refused",wc_player_position_clear(base,xq,expected+EYE-1,zq),0,ctr) 30 gv_check_eq("last-column missing interpolation corner refused",wc_surface_source(base,(WX-1)*256,zq),0-1,ctr) 31 gv_kv("shader_exact_surface_numerator_q8_times2",expected*2+1) 32 gv_kv("native_surface_q8",expected) 33 gv_kv("shader_native_quantization_bound_q8",1) 34 gv_check_eq("owned gate arena released",sys_munmap(arena,CRAFT_EXT_TOTAL),0,ctr) 35 return gv_verdict("RELIEF-CONTACT" as *u8,ctr,"current native consumers only; actual GPU upload and integrated relief world remain pending" as *u8) 36}