code wiki / (root) / nx_scene_compose_gate.nx

nx_scene_compose_gate.nx

buildroot/runtime/nx_scene_compose_gate.nx

8307 B146 linesdepth 3pulls 6 transitivereach 0 importersview sourcekind gate/prooftopic scene
docsdependenciesstructsconstsfunctions

about

nx_scene_compose_gate.nx -- PG10: DOES A SCENE COMPOSE OVER THE LIVE SOLVER, AND DOES AN IMPOSSIBLE ONE REFUSE BY NAME? SUBJECT: nx_part_solver_lib.ps_scene_compose (in-process). The rung's done-rule in its own words: a scene composes over ps_solve with no second solver, and an unsatisfiable scene REFUSES by name. Every geometric claim below is RECOMPUTED from the solver's own positions and extents, never read back from the composer's say-so, and every value is emitted with gv_kv. Fixtures are in-memory strings, so the gate leaks no filesystem state.

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_part_solver_lib.nx nx_scene_compose_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.nxnx_part_solver_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 ↻ sg_scene ps_scene_compose sc_reset sys_mmap ↻ sys_mmap ↻ ps_ntok ps_tokeq ps_slen ps_err sys_write ↻ ps_slen ↻ ps_toknum sc_add ps_err ↻ sc_find sc_name ps_slen ↻ sc_name ↻ sc_find ↻ sc_kind

structs

none

consts

10const SG_SITE_EX: i64 = 120
11const SG_SITE_EY: i64 = 120
12const SG_BAND_LO: i64 = 16 // max(hut ex 12, ey 10) + being r 2 + SC_GAP 2 -- the composer's own derivation
13const SG_BAND_HI: i64 = 56 // lo + SC_NEAR
14const SG_SCENE_PARTS: i64 = 12 // site + sea + hut + shed + 6 trees + 2 beings

functions

16func sg_scene() -> *u8
called by 1: main
19func sg_unsat() -> *u8
called by 1: main
22func sg_badrow() -> *u8
called by 1: main
25func sg_abs(v: i64) -> i64 { if v < 0 { return 0 - v } return v }
called by 2: sg_sepmain
26func sg_max(a: i64, b: i64) -> i64 { if a > b { return a } return b }
called by 1: sg_sep
28func sg_sep(i: i64, j: i64) -> i64
34func main() -> i64