code wiki / _hdl_build / nx_adnet_banner_gen.nx

nx_adnet_banner_gen.nx

buildroot/runtime/_hdl_build/nx_adnet_banner_gen.nx

7112 B170 linesdepth 4pulls 6 transitivereach 0 importersview sourcekind tooltopic adnet
docsdependenciesstructsconstsfunctions

about

nx_adnet_banner_gen.nx -- GENERATOR: sovereign 728x90 house-ad PNG creatives for the adnet slot (build generators, not hand-authored artifacts). Pure pixels: vertical gradient + accent frame + centered scaled 8x8 sovereign font text -> nx_png_write_rgb. Self-verifying: each emitted file is read back and must carry the PNG magic + plausible size, else exit 1 (no fabricated greens). Output: knowledge/staging/adnet/adnet_ha_{torrent,library,video,world}.png expect_exit: 0 license_tier: ORIGINAL

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_png_write.nx nx_png.nx nx_font8x8.nx nx_adnet_banner_gen.nx

imports: nx_syscalls.nxnx_png_write.nxnx_png.nxnx_font8x8.nx

imported by: nobody (leaf or entry point)

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

main sys_mkdir abg_emit 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 ↻ abg_bg abg_px font8x8_table sys_mmap ↻ fg abg_tlen abg_text abg_px ↻ write_png png_publish png_buf_cap sys_mmap_try write_png_buf png_buf_cap ↻ write_png_buf_checked png_buf_cap ↻ sys_mmap_try ↻ sys_munmap_direct png_g png_paeth png_sabs dfe_compress

structs

none

consts

11const ABG_MAGIC_65536: i64 = 65536
13const ABG_W: i64 = 728
14const ABG_H: i64 = 90

functions

16func abg_px(buf: *u8, x: i64, y: i64, r: i64, g: i64, b: i64) -> i64
called by 2: abg_bgabg_text
29func abg_bg(buf: *u8, r: i64, g: i64, b: i64, ar: i64, ag: i64, ab: i64) -> i64
called by 1: abg_emit calls 1: abg_px
62func abg_text(buf: *u8, t: *u8, text: *u8, ox: i64, oy: i64, s: i64, r: i64, g: i64, b: i64) -> i64
called by 1: abg_emit calls 1: abg_px
101func abg_tlen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 1: abg_emit
104func abg_emit(path: *u8, title: *u8, sub: *u8, r: i64, g: i64, b: i64, ar: i64, ag: i64, ab: i64) -> i64
152func abg_puts(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 1: main calls 1: sys_write
154func main() -> i64