code wiki / _hdl_build / nx_ad_emitter_apply.nx
nx_ad_emitter_apply.nx
buildroot/runtime/_hdl_build/nx_ad_emitter_apply.nx
about
nx_ad_emitter_apply.nx -- LIB: the builder CONSUMES its learned catalog. ab_emit_from_registry resolves a
size/theme/accent/animation BY ID from the emitter registry and renders the banner through the shared core
(ab_emit_banner_c). So a GROWN emitter (e.g. theme "ocean" + accent "star" + animation "slide") is actually
USABLE -- growing the catalog grows what the builder can emit, with no code change. This CLOSES the
emitter-of-emitters loop: build -> teach (register) -> grow -> consume. license_tier: ORIGINAL
dependencies 5 imports · 2 importers
imports: nx_ad_banner.nxnx_ad_emitter_registry.nxnx_nishi_builder.nxnx_ad_serve.nxnx_syscalls.nx
imported by: nx_ad_emitter_apply_gate.nxnx_ad_nb_fold_gate.nx
structs
| none |
consts
| 11 | const K_MAGIC_4096: i64 = 4096 |
functions
| 14 | func ap_wh(s: *u8, wbox: *i64, hbox: *i64) -> i64 |
| 25 | func ap_split4(s: *u8, b0: *u8, b1: *u8, b2: *u8, b3: *u8) -> i64 |
| 42 | func ab_emit_from_registry(path: *u8, business: *u8, headline: *u8, body: *u8, cta: *u8, link: *u8, |
| 59 | func ab_emit_from_nb(path: *u8, business: *u8, headline: *u8, body: *u8, cta: *u8, link: *u8, |