nx_worldpipe_render_gate.nx
buildroot/runtime/nx_worldpipe_render_gate.nx
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
imports: nx_syscalls.nxnx_gate_verdict.nxnx_worldpipe.nx
imported by: nobody (leaf or entry point)
structs
| none |
consts
| 33 | const WRG_SEED: i64 = 1 |
| 34 | const WRG_TICKS: i64 = 8 |
| 37 | const WRG_TN: i64 = 97 |
| 38 | const WRG_SP: i64 = 110 |
| 39 | const WRG_OFF: i64 = 48 |
| 40 | const WRG_ART: *u8 = "knowledge/nx_worldpipe_eroded.png" |
functions
| 42 | func wrg_hero_x(i: i64) -> i64 { return (i - WRG_OFF)*WRG_SP } |
| 48 | func wrg_talus_oracle() -> i64 |
| 79 | func wrg_sample_hero(dst: *i64) -> i64 |
| 92 | func main() -> i64 |