code wiki / (root) / nx_worldpipe_render_gate.nx

nx_worldpipe_render_gate.nx

buildroot/runtime/nx_worldpipe_render_gate.nx

11739 B234 linesdepth 5pulls 12 transitivereach 0 importersview sourcekind gate/prooftopic worldpipe
docsdependenciesstructsconstsfunctions

about

nx_worldpipe_render_gate.nx -- GATE for the rung "erosion reaches the PUBLISHED picture". THE SUBJECT IS NOT "DOES EROSION WORK". nx_worldpipe_erode_gate already proves that, 21/21, over the full 102,400-cell population. The subject HERE is the single behavioural claim nx_worldpipe_render makes and that a green erosion gate cannot make for it: that the bake changes the heights AT THE EXACT POINTS THE RENDERER TURNS INTO PIXELS, and that a consumer which does not bake is untouched. A capability can be proven and still never reach a surface; this gate measures the reaching. EVERY ASSERTION IS BOUND TO A DENOMINATOR (gv_subjects), and the denominators are the two real populations: the whole hydrology grid, and the whole hero sample lattice the render loop walks. No sampling. ANTI-VACUITY. "The picture changed" is passed by a uniform offset, by added noise, and by any bug that perturbs every height equally -- so a tooth that only counts changed points is not a tooth. This gate additionally requires the changes to be NON-UNIFORM (at least two distinct delta values among the changed points), which a constant offset cannot satisfy. NEGATIVE CONTROLS, NAMED SO A CENSUS CAN FIND THEM: neg-control-wp_erode-INERT-... proves the opt-in is real: before any bake every one of the 102,400 cells reads exactly zero, so an importer that never bakes is byte-identical. This is the "nobody else moves" claim. neg-control-zero-tick-budget-... proves the instrument does not manufacture erosion: asked for a zero budget it must return every sampled height to its pre-bake value and report zero material moved. license_tier: ORIGINAL expect_exit: 0 No hw writes (Rule 26).

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_worldpipe.nx nx_worldpipe_render_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.nxnx_worldpipe.nx

imported by: nobody (leaf or entry point)

structs

none

consts

33const WRG_SEED: i64 = 1
34const WRG_TICKS: i64 = 8
37const WRG_TN: i64 = 97
38const WRG_SP: i64 = 110
39const WRG_OFF: i64 = 48
40const WRG_ART: *u8 = "knowledge/nx_worldpipe_eroded.png"

functions

42func wrg_hero_x(i: i64) -> i64 { return (i - WRG_OFF)*WRG_SP }
48func wrg_talus_oracle() -> i64
79func wrg_sample_hero(dst: *i64) -> i64
92func main() -> i64