code wiki / _hdl_build / nx_critic2_gate.nx
nx_critic2_gate.nx
buildroot/runtime/_hdl_build/nx_critic2_gate.nx
about
nx_critic2_gate.nx -- prove gc_quality2 UNSATURATES the top of the render-quality scale.
The old headline gc_quality clamps every dimension at its target: craft 983 vs Veloren 1000
was unmeasurable and every further graphics rung would have been built blind.
T1 ORDERING flat toy < structured rich (sanity: the extended scale preserves order)
T2 UNSATURATION two frames that BOTH pin the OLD ruler at its cap are SEPARATED by quality2
T3 HISTORY SAFE gc_quality (the old number) is untouched: toy scores TOY, rich pins the cap
T4 CEILING the asymptote holds: no frame reaches 2000
T5 MONOTONIC palette-crushing a rich frame DROPS quality2 (the ruler can move DOWN)
T6 BITE incoherent noise gets NO headroom bonus (fires on noise, silent on art)
license_tier: ORIGINAL expect_exit: 0
dependencies 3 imports · 0 importers
imports: nx_syscalls.nxnx_game_critic.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
| 15 | const CG_W: i64 = 200 |
| 16 | const CG_H: i64 = 120 |
functions
| 19 | func cg_rnd(s: *i64) -> i64 { s[0] = (s[0]*1103515245 + 12345) % 2147483648; if s[0] < 0 { s[0] = 0 - s[0] } return s[0] } called by 1: cg_mk_noise |
| 21 | func cg_alloc() -> *i64 { return sys_mmap(CG_W*CG_H*8) as *i64 } |
| 24 | func cg_mk_flat(fb: *i64) -> i64 called by 1: main |
| 35 | func cg_mk_rich(fb: *i64, huestep: i64) -> i64 called by 1: main |
| 68 | func cg_mk_noise(fb: *i64) -> i64 |
| 77 | func cg_crush(src: *i64, dst: *i64) -> i64 called by 1: main |
| 83 | func main() -> i64 |