code wiki / _hdl_build / nx_sovworld_gate.nx

nx_sovworld_gate.nx

buildroot/runtime/_hdl_build/nx_sovworld_gate.nx

8814 B161 linesdepth 3pulls 3 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_sovworld_gate.nx -- THE SOVEREIGN-RENDER LAW FOR THE SHIPPED WORLD PAGES. Operator, 2026-08-14: "we dont want GLSL or anything else except last layer interoperability" and "we shouldnt even have webgl it should all work on nishi browser without 3rd parties". WHAT THIS PROVES, on the BYTES THAT SHIP (never on the emitter's intentions): T1 the page renders through the SOVEREIGN path -- a wasm framebuffer copied to a 2d canvas. This is the anti-vacuity tooth: without it, deleting the whole renderer would pass T2. T2 NO WebGL context is created by DEFAULT. Every getContext("webgl2") in the page must sit behind an explicit opt-in guard, so the shipped default touches no third-party GPU stack. T3 no external host is referenced -- no ://, no <script src, no stylesheet link. A page that fetches anything at run time is not sovereign no matter what renders it. T4 neg-control: a synthetic page with an UNGUARDED webgl2 context is REFUSED. A law that has only ever seen compliant input has not been shown to bind. SCOPE, STATED: this measures the PAGE. Running that page on a host browser's canvas is still host interop -- the end state is Nishi-Browser presenting our framebuffer natively, and that is a different subject with its own lane. This gate holds the line that is holdable today: the product path is our rasteriser, and WebGL is opt-in interop only. license_tier: ORIGINAL expect_exit: 0

dependencies 2 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_sovworld_gate.nx

imports: nx_syscalls.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 ↻ sys_mmap ↻ sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_munmap sys_close gv_need gv_puts ↻ gv_puts ↻ gv_num sys_mmap ↻ sys_write ↻ sys_munmap ↻ sw_has sw_find sw_len gv_check gv_puts ↻

structs

none

consts

23const SW_PAGE: *u8 = "sites/nishifamily/world/craft.html"
27const SW_ENGINE: *u8 = "buildroot/runtime/nx_wasm_craft.nx"
28const SW_TMP: *u8 = "/tmp/nx_sovworld_negctl.html"
29const SW_GUARD_WINDOW: i64 = 200 // bytes before a context call in which the opt-in guard must appear

functions

31func sw_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 2: sw_findsw_write
33func sw_find(buf: *u8, len: i64, needle: *u8, from: i64) -> i64
called by 2: sw_hassw_unguarded calls 1: sw_len
48func sw_has(buf: *u8, len: i64, needle: *u8) -> i64
called by 1: main calls 1: sw_find
54func sw_unguarded(buf: *u8, len: i64) -> i64
called by 1: main calls 1: sw_find
72func sw_write(path: *u8, s: *u8) -> i64
80func main(argc: i64, argv: *i64) -> i64