nx_gsplat4d_gate.nx
buildroot/runtime/nx_gsplat4d_gate.nx
about
nx_gsplat4d_gate.nx -- GATE for the 4D spatiotemporal Gaussian core.
★★THIS REFEREE CARRIES NO TUNED THRESHOLDS. An earlier revision judged with hand-picked bands -- "the
1-sigma weight is between 140 and 170", "more than 2000 pixels lit", "the arena is under 4 MiB". Every
one of those is a number nobody measured, and a referee that judges with them is measuring the number,
not the subject. They are all replaced by one of three honest forms:
EXACT IDENTITY -- the envelope must equal the TABLE ENTRY its index formula names (the index
arithmetic is the thing that can be wrong; only an exact compare tests it).
A MATHEMATICAL LAW -- symmetry in dt, strict monotonicity, antisymmetry of a signed ramp. These hold
regardless of table precision, so they need no tolerance at all.
A CONTROL -- render the SAME time twice and require ZERO changed pixels, then a different time
and require MORE than that. The control replaces the threshold entirely, and is
strictly stronger: it proves the difference is caused by TIME, not by noise.
The teeth that a plausible-but-wrong implementation FAILS:
T4 TEMPORAL LOCALITY is the anti-vacuity tooth. Two Gaussians carry IDENTICAL motion and differ only
in t_mu. At one instant one must have moved and the other must not. A deformation that ignored
the temporal window -- one that just animated everything -- passes every other tooth and dies here.
T1 REST INVARIANCE is the control: with no motion declared, the 4D bake reproduces the static cloud at
EVERY t. 4D that cannot reduce to 3D is not a superset, it is a different thing.
T9/T10/T11 are deny-guards asked BOTH directions, because A GUARD THAT REFUSES EVERYTHING PASSES
EVERY NEGATIVE TEST.
license_tier: ORIGINAL expect_exit: 0
dependencies 5 imports · 0 importers
imports: nx_syscalls.nxnx_gsplat.nxnx_gsplat4d_lib.nxnx_png.nxnx_gate_verdict.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 32 | const GG_CAP: i64 = 256 |
| 33 | const GG_RING: i64 = 3 |
| 34 | const GG_TMU_A: i64 = 1000 |
| 35 | const GG_SIG: i64 = 400 |
| 36 | const GG_TMU_B: i64 = 5000 |
| 37 | const GG_VX: i64 = 4096 |
| 38 | const GG_WAVE: i64 = 40 |
functions
| 42 | func gg_scene() -> i64 |
| 62 | func gg_cmp(a: *i64, b: *i64, n: i64) -> i64 called by 1: main |
| 67 | func gg_pixdiff(a: *i64, b: *i64, n: i64) -> i64 called by 1: main |
| 74 | func main() -> i64 |