code wiki / _hdl_build / nx_ciq_visual.nx

nx_ciq_visual.nx

buildroot/runtime/_hdl_build/nx_ciq_visual.nx

13926 B160 linesdepth 7pulls 8 transitivereach 0 importersview sourcekind tooltopic ciq
docsdependenciesstructsconstsfunctions

about

nx_ciq_visual.nx -- R3 of the CIQ arc, now MARKET-GENERIC: the VISUALIZER. For EACH market it reads placements + gap from the SOVEREIGN seg_store and emits a standalone browser Magic Quadrant (HTML + inline SVG, integer coords no-float, authored byte-by-byte like Nishi's site pages -- NOT a 3rd-party plot lib) to knowledge/staging/ciq_<market>_quadrant.html. Nishi is highlighted with its gap-vector arrow. GATE per market: re-read + assert "<svg" + EVERY placed entity + quadrant labels (liar-kill a phantom placement). 100% sovereign. license_tier: ORIGINAL expect_exit: 0

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_seg_store.nx nx_uxf_decode.nx nx_ciq_visual.nx

imports: nx_syscalls.nxnx_seg_store.nxnx_uxf_decode.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main sys_mmap ss_get sys_mmap ↻ ss_scan sys_mmap ↻ ss_manifest_dyn ss_manifest_file_dyn sys_mmap ↻ ss_cat ss_readall sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close sys_munmap ss_scan_seglist ss_len sys_mmap ↻ ss_cat ↻ ss_readall ↻ ss_r32 canon_decode ud_r32 sys_mmap ↻ v_field v_streq v_copy v_split vw sys_write emit_market sys_mmap ↻ v_key ss_cat ↻ ss_get ↻ canon_decode ↻ v_copy ↻ v_field ↻

structs

none

consts

10const VZ_MAGIC_1024: i64 = 1024
11const VZ_MAGIC_131072: i64 = 131072
13const VZ_STORE: *u8 = "knowledge/store/ciq-"
14const VZ_W: i64 = 820
15const VZ_H: i64 = 600
16const VZ_ML: i64 = 90
17const VZ_MR: i64 = 40
18const VZ_MT: i64 = 64
19const VZ_MB: i64 = 70
20const VZ_EXMIN: i64 = 500
21const VZ_VISMIN: i64 = 500

functions

23func vw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 2: emit_marketmain calls 1: sys_write
24func vn(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,"-" as *u8,1)} let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48 as u8;k=1} while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1} var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1} sys_write(1,bb,k); return 0 }
called by 2: emit_marketmain calls 2: sys_mmapsys_write
25func v_streq(a: *u8, b: *u8) -> i64 { var i: i64=0; while a[i]!=(0 as u8){ if a[i]!=b[i]{return 0} i=i+1 } if b[i]!=(0 as u8){return 0} return 1 }
called by 2: v_fieldemit_market
26func v_pint(s: *u8) -> i64 { var v: i64=0; var i: i64=0; var go: i64=1; while go==1 { let c: i64=s[i]; if c>=48 { if c<=57 { v=v*10+(c-48); i=i+1 } else { go=0 } } else { go=0 } } return v }
called by 1: emit_market
27func v_field(dk: *i64, dv: *i64, nf: i64, name: *u8) -> *u8 { var f: i64=0; while f<nf { if v_streq(dk[f] as *u8, name)==1 { return dv[f] as *u8 } f=f+1 } return 0 as *u8 }
called by 2: emit_marketmain calls 1: v_streq
28func v_split(buf: *u8, delim: i64, out: *i64, maxn: i64) -> i64 { var n: i64=0; var i: i64=0; var intok: i64=0; while buf[i]!=(0 as u8) { let c: i64=buf[i]; if c==delim { buf[i]=0 as u8; intok=0 } else { if intok==0 { if n<maxn { out[n]=(buf as i64)+i; n=n+1 } intok=1 } } i=i+1 } return n }
called by 2: emit_marketmain
29func v_copy(src: *u8, dst: *u8) -> i64 { var i: i64=0; while src[i]!=(0 as u8){ dst[i]=src[i]; i=i+1 } dst[i]=0 as u8; return i }
called by 2: emit_marketmain
30func bcat(buf: *u8, off: i64, s: *u8) -> i64 { var i: i64=0; while s[i]!=(0 as u8){ buf[off+i]=s[i]; i=i+1 } return off+i }
called by 2: emit_dotemit_market
31func bint(buf: *u8, off: i64, v: i64) -> i64 { var m: i64=v; var o: i64=off; if m<0{ buf[o]=45 as u8; o=o+1; m=0-m } let t: *u8=sys_mmap(32); var k: i64=0; if m==0{t[0]=48 as u8;k=1} while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1} var i: i64=0; while i<k{ buf[o+i]=t[k-1-i]; i=i+1 } return o+k }
called by 2: emit_dotemit_market calls 1: sys_mmap
32func v_contains(hay: *u8, n: i64, needle: *u8) -> i64 { var nl: i64=0; while needle[nl]!=(0 as u8){ nl=nl+1 } if nl==0 { return 1 } var i: i64=0; while i + nl <= n { var j: i64=0; var ok: i64=1; while j < nl { if hay[i+j] != needle[j] { ok=0; j=nl } else { j=j+1 } } if ok==1 { return 1 } i=i+1 } return 0 }
called by 1: emit_market
33func v_key(buf: *u8, market: *u8, suffix: *u8) -> i64 { var o: i64=0; o=ss_cat(buf,o,"ciq:" as *u8); o=ss_cat(buf,o,market); o=ss_cat(buf,o,":" as *u8); o=ss_cat(buf,o,suffix); buf[o]=0 as u8; return o }
called by 1: emit_market calls 1: ss_cat
34func px_x(vis: i64) -> i64 { let pw: i64 = VZ_W - VZ_ML - VZ_MR; return VZ_ML + (vis * pw) / 1000 }
called by 2: emit_dotemit_market
35func px_y(ex: i64) -> i64 { let ph: i64 = VZ_H - VZ_MT - VZ_MB; return VZ_MT + ((1000 - ex) * ph) / 1000 }
called by 2: emit_dotemit_market
37func emit_dot(buf: *u8, off: i64, name: *u8, ex: i64, vis: i64, is_nishi: i64, idx: i64) -> i64
called by 1: emit_market calls 4: px_xpx_ybcatbint
52func emit_market(market: *u8) -> i64
141func main() -> i64