code wiki / (root) / nx_visual_arc.nx

nx_visual_arc.nx

buildroot/runtime/nx_visual_arc.nx

9080 B160 linesdepth 6pulls 8 transitivereach 6 importersview sourcekind librarytopic visual
docsdependenciesstructsconstsfunctions

about

nx_visual_arc.nx -- the VISUAL SPINE for Elder AI image generation: fixes the "clothes stayed the same, arcs never shifted" defect. The prior work had a rich identity (character DNA) and a rich wardrobe, but a single default_outfit and no advancing state -- so every render reused the same outfit and scene. This organ separates the two axes correctly: * IDENTITY ANCHOR (constant) -- the appearance description that keeps it the SAME PERSON across every render, grounded in our scenes. Never rotates. * ARC STATE (advancing) -- a per-persona step counter that indexes the wardrobe x scenes x activities as an ODOMETER, so each varc_advance() yields a NEW combination (a different outfit AND, as the wardrobe cycles, a different scene AND activity) with NO repeat until the whole space is exhausted. varc_prompt() composes IDENTITY (constant) + the current outfit/scene/activity (varying) into the exact text the sovereign generator conditions on. Integrated with the persona (one visual identity per persona id). Stored in nx_registry over seg_store (additive; rule 13). Wardrobe/scenes/activities are DATA (rule 11/25): the persona's own closet and world -- no global content policy, whatever the record holds is what renders. license_tier: ORIGINAL

dependencies 2 imports · 3 importers

nx_registry.nx nx_tabrec.nx nx_visual_arc.nx nx_companion_render.nx nx_elder_seed.nx nx_visual_arc_gate.nx

imports: nx_registry.nxnx_tabrec.nx

imported by: nx_companion_render.nxnx_elder_seed.nxnx_visual_arc_gate.nx

structs

none

consts

18const VID_PREFIX: *u8 = "knowledge/visualid-" as *u8
19const VID_KP: *u8 = "vid:" as *u8
20const VID_IDX: *u8 = "__vididx__" as *u8
21const VARC_KP: *u8 = "varc:" as *u8
22const VARC_IDX: *u8 = "__varcidx__" as *u8
25const VF_ANCHOR: i64 = 0
26const VF_WARDROBE: i64 = 1
27const VF_SCENES: i64 = 2
28const VF_ACTS: i64 = 3

functions

31func vitem_count(buf: *u8, off: i64, len: i64) -> i64
39func vitem_at(buf: *u8, off: i64, len: i64, idx: i64, out2: *i64) -> i64
53func vid_put_pfx(prefix: *u8, persona: *u8, anchor: *u8, wardrobe: *u8, scenes: *u8, acts: *u8) -> i64
61func vid_get_pfx(prefix: *u8, persona: *u8, ptrout: *i64, lenout: *i64) -> i64 { return reg_get(prefix, VID_KP, persona, ptrout, lenout) }
64func varc_step_pfx(prefix: *u8, persona: *u8) -> i64
70func varc_set_step_pfx(prefix: *u8, persona: *u8, step: i64) -> i64
77func varc_advance_pfx(prefix: *u8, persona: *u8) -> i64
82func varc_reset_pfx(prefix: *u8, persona: *u8) -> i64 { return varc_set_step_pfx(prefix, persona, 0) }
87func varc_indices_pfx(prefix: *u8, persona: *u8, step: i64, out3: *i64) -> i64
105func varc_prompt_at_pfx(prefix: *u8, persona: *u8, step: i64, out: *u8, cap: i64) -> i64
127func vcatn(d: *u8, o: i64, src: *u8, off: i64, len: i64) -> i64 { var i: i64=0; while i<len { d[o+i]=src[off+i]; i=i+1 } return o+len }
130func varc_prompt_pfx(prefix: *u8, persona: *u8, out: *u8, cap: i64) -> i64
136func varc_caption_at_pfx(prefix: *u8, persona: *u8, step: i64, out: *u8, cap: i64) -> i64
152func varc_caption_at(persona: *u8, step: i64, out: *u8, cap: i64) -> i64 { return varc_caption_at_pfx(VID_PREFIX, persona, step, out, cap) }
155func vid_put(persona: *u8, anchor: *u8, wardrobe: *u8, scenes: *u8, acts: *u8) -> i64 { return vid_put_pfx(VID_PREFIX, persona, anchor, wardrobe, scenes, acts) }
called by 1: main calls 1: vid_put_pfx
156func varc_step(persona: *u8) -> i64 { return varc_step_pfx(VID_PREFIX, persona) }
calls 1: varc_step_pfx
157func varc_advance(persona: *u8) -> i64 { return varc_advance_pfx(VID_PREFIX, persona) }
158func varc_reset(persona: *u8) -> i64 { return varc_reset_pfx(VID_PREFIX, persona) }
called by 1: main calls 1: varc_reset_pfx
159func varc_prompt(persona: *u8, out: *u8, cap: i64) -> i64 { return varc_prompt_pfx(VID_PREFIX, persona, out, cap) }
calls 1: varc_prompt_pfx
160func varc_prompt_at(persona: *u8, step: i64, out: *u8, cap: i64) -> i64 { return varc_prompt_at_pfx(VID_PREFIX, persona, step, out, cap) }
called by 1: main calls 1: varc_prompt_at_pfx