code wiki / (root) / nx_relief_bands_gate.nx

nx_relief_bands_gate.nx

buildroot/runtime/nx_relief_bands_gate.nx

19792 B350 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_relief_bands_gate.nx -- THE MULTI-BAND MICRO-RELIEF LAW AND THE DISCRETE PORE LAYER, GATED. /compare/graphics C5, symbol rlf_pore_mask. Subject: nx_relief_lib. WHAT THIS GATE IS FOR. nx_relief_lib grew from one spatial band to three on 2026-08-28. Three bands is three amplitudes and three wavelengths, and six numbers with nothing checking them is exactly the shape rule 11 exists to stop. So every claim the new code makes is a tooth here, and each tooth is a property the WRONG implementations provably cannot satisfy: * a band table that drifted from its conf ledger -> dies at T7 * a "pore layer" that is really a fourth noise octave -> dies at T5 (coverage, bite-proven) * a mask that ignores the orifice diameter -> dies at T6 (bite-proven at r=0) * a band 1 rigged by amplitude rather than wavelength -> dies at T3 (bite-proven) * an addition that disturbed the shipped single-band -> dies at T2 * a second tilt convention for the new bands -> dies at T1 * a resolution claim that flatters the whole-body atlas -> dies at T8, which asserts the UNFLATTERING direction as well T5 is the load-bearing tooth for the MECHANISM and its bar is not a constant: it is the coverage the model itself DERIVES (pi r^2 over the cell), measured at TWO different lattice scales, so a field that is not a sparse disc layer cannot agree with it twice. license_tier: ORIGINAL expect_exit: 0 No hw writes (Rule 26).

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_relief_lib.nx nx_relief_bands_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.nxnx_relief_lib.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 ↻ rlf_tilt_full rlf_band_tilt_full rlf_pore_tilt_full rlf_pore_radius rlf_pore_area_permil rlf_pore_radius ↻ gv_puts ↻ gv_num sys_mmap ↻ sys_write ↻ sys_munmap rb_cover_permil rb_mask_at_r rlf_pore_d2 rlf_pore_centre rlf_hash3 gv_check gv_puts ↻ rlf_relief_h rlf_noise3

structs

none

consts

26const RB_N_FULL: i64 = 256
35const RB_RES_BODY: i64 = 4096
38const RB_FACE_UM: i64 = 250000
39const RB_CELL_A: i64 = 64 // two lattice scales for the coverage measurement. A sparse disc
40const RB_CELL_B: i64 = 128 // layer has the SAME coverage at both; a noise octave does not.
41const RB_SWEEP_A: i64 = 512 // 8x8 = 64 cells at RB_CELL_A
42const RB_SWEEP_B: i64 = 1024 // 8x8 = 64 cells at RB_CELL_B
46const RB_TOL_PERMIL: i64 = 4
47const RB_SEED: i64 = 20260828
48const RB_BUF: i64 = 256
49const RB_CONF_A: *u8 = "knowledge/relief_bands.conf"
50const RB_CONF_B: *u8 = "buildroot/knowledge/relief_bands.conf"

functions

52func rb_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 1: main
53func rb_abs(v: i64) -> i64 { if v < 0 { return 0 - v } return v }
called by 1: rb_cover_wrong
54func rb_max2(a: i64, b: i64) -> i64 { if a > b { return a } return b }
57func rb_find(hay: *u8, hn: i64, ndl: *u8, nn: i64) -> i64
called by 1: main
74func rb_row(d: *u8, id: i64, name: *u8, amp: i64, lam: i64) -> i64
called by 1: main calls 2: gv_catgv_catn
91func rb_mask_at_r(x: i64, y: i64, cell: i64, r: i64) -> i64
called by 2: rb_cover_permilmain calls 1: rlf_pore_d2
99func rb_cover_permil(cell: i64, n: i64, r: i64) -> i64
called by 1: main calls 1: rb_mask_at_r
113func rb_cover_wrong(measured: i64, derived: i64) -> i64
called by 1: main calls 1: rb_abs
118func rb_not_outtilt(a_um: i64, lambda_um: i64) -> i64
123func main() -> i64