code wiki / (root) / nx_genome.nx

nx_genome.nx

buildroot/runtime/nx_genome.nx

7107 B136 linesdepth 3pulls 4 transitivereach 4 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_genome.nx -- ★CREATURE GENOME (operator 2026-07-12: "the humans look awful clay monsters with no anatomy intelligence... a human and a rabbit and a fantasy monster all get the right gen up... if we don't need the internals, just show the outer body -- whatever the research shows"). The Infinigen creature lesson, banked (knowledge/creature_genome_banked.txt): a TREE GENOME -- nodes are part specs, edges are attachment points, "limbs don't form closed loops" -- with ONE generative walker, many body plans. And the research default is SURFACE-ONLY (their creatures have rigs + skin, no internals) -> creatures here emit OUTER BODY only; the human's 8 internal systems remain the opt-in medical-view exceed. GENE ROW (stride 12): kind(0 blob | 1 chain), ax,ay,az (attachment), dy,dz (chain direction fx1024), segs, len, rad, taper(fx1024 per segment), mirrorX(0/1), aux (blob: rz | chain: 0) The CHAIN generator is the shared anatomy intelligence: tapered segment ellipsoids walked from the attachment point along the direction -- legs, arms, ears, horns, tails across every plan (the integer cousin of their "deviations from a center curve"). Plans: 0 HUMAN (delegates to the canon-validated atlas_build), 1 RABBIT (quadruped), 2 MONSTER (composition: four arms + horns + tail). license_tier: ORIGINAL

dependencies 2 imports · 2 importers

nx_syscalls.nx nx_bodyatlas.nx nx_genome.nx nx_authorgen.nx nx_authorgen_gate.nx

imports: nx_syscalls.nxnx_bodyatlas.nx

imported by: nx_authorgen.nxnx_authorgen_gate.nx

structs

none

consts

17const G_MAGIC_2048: i64 = 2048
18const G_MAGIC_1024: i64 = 1024
19const G_MAGIC_65536: i64 = 65536
20const G_MAGIC_1080: i64 = 1080
22const G_STRIDE: i64 = 12

functions

31func gen_defaults() -> i64 { GEN_EARLEN = 95; GEN_ARMPAIRS = 2; GEN_HORNS = 1; GEN_TAIL = 1; GEN_INIT = 1; return 0 }
called by 2: ag_parsegen_reset
33func gen_reset() -> i64
39func gen_set_earlen(v: i64) -> i64 { GEN_EARLEN = v; return 0 }
called by 1: ag_parse
40func gen_set_armpairs(v: i64) -> i64 { GEN_ARMPAIRS = v; return 0 }
called by 1: ag_parse
41func gen_set_horns(v: i64) -> i64 { GEN_HORNS = v; return 0 }
called by 1: ag_parse
42func gen_set_tail(v: i64) -> i64 { GEN_TAIL = v; return 0 }
called by 1: ag_parse
43func gene(kind: i64, ax: i64, ay: i64, az: i64, dy: i64, dz: i64, segs: i64, len: i64, rad: i64, taper: i64, mirror: i64, aux: i64) -> i64
53func gen_emit_one(ax: i64, ay: i64, az: i64, kind: i64, dy: i64, dz: i64, segs: i64, len: i64, rad: i64, taper: i64, aux: i64, col: i64, nid: i64) -> i64
called by 1: gen_walk calls 1: ba_add
78func gen_walk(col: i64) -> i64
93func genome_rabbit() -> i64
113func genome_monster() -> i64
131func genome_build(plan: i64) -> i64