code wiki / (root) / nx_gsplat4d_gate.nx

nx_gsplat4d_gate.nx

buildroot/runtime/nx_gsplat4d_gate.nx

15635 B272 linesdepth 4pulls 9 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

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

nx_syscalls.nx nx_gsplat.nx nx_gsplat4d_lib.nx nx_png.nx nx_gate_verdict.nx nx_gsplat4d_gate.nx

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

main gv_ctr sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ gv_head gv_puts sys_write ↻ gg_scene g4_init g4_err sys_write ↻ g4_slen g4_alloc sys_mmap ↻ gs_expn gs_build_explut gs_stride_aniso g4_set_rest g4_err ↻ g4_set_time g4_err ↻ g4_set_motion g4_err ↻ g4_n gs_stride_aniso ↻ sys_mmap ↻ gv_puts ↻

structs

none

consts

32const GG_CAP: i64 = 256
33const GG_RING: i64 = 3
34const GG_TMU_A: i64 = 1000
35const GG_SIG: i64 = 400
36const GG_TMU_B: i64 = 5000
37const GG_VX: i64 = 4096
38const GG_WAVE: i64 = 40

functions

42func gg_scene() -> i64
62func gg_cmp(a: *i64, b: *i64, n: i64) -> i64
called by 1: main
67func gg_pixdiff(a: *i64, b: *i64, n: i64) -> i64
called by 1: main
74func main() -> i64