nx_genome.nx
buildroot/runtime/nx_genome.nx
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
imports: nx_syscalls.nxnx_bodyatlas.nx
imported by: nx_authorgen.nxnx_authorgen_gate.nx
structs
| none |
consts
| 17 | const G_MAGIC_2048: i64 = 2048 |
| 18 | const G_MAGIC_1024: i64 = 1024 |
| 19 | const G_MAGIC_65536: i64 = 65536 |
| 20 | const G_MAGIC_1080: i64 = 1080 |
| 22 | const G_STRIDE: i64 = 12 |
functions
| 31 | func gen_defaults() -> i64 { GEN_EARLEN = 95; GEN_ARMPAIRS = 2; GEN_HORNS = 1; GEN_TAIL = 1; GEN_INIT = 1; return 0 } |
| 33 | func gen_reset() -> i64 |
| 39 | func gen_set_earlen(v: i64) -> i64 { GEN_EARLEN = v; return 0 } called by 1: ag_parse |
| 40 | func gen_set_armpairs(v: i64) -> i64 { GEN_ARMPAIRS = v; return 0 } called by 1: ag_parse |
| 41 | func gen_set_horns(v: i64) -> i64 { GEN_HORNS = v; return 0 } called by 1: ag_parse |
| 42 | func gen_set_tail(v: i64) -> i64 { GEN_TAIL = v; return 0 } called by 1: ag_parse |
| 43 | func 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 |
| 53 | func 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 |
| 78 | func gen_walk(col: i64) -> i64 |
| 93 | func genome_rabbit() -> i64 called by 1: genome_build calls 6: gen_resetgeneatlas_custom_resetgen_walkatlas_custom_finishatlas_part_count |
| 113 | func genome_monster() -> i64 called by 1: genome_build calls 6: gen_resetgeneatlas_custom_resetgen_walkatlas_custom_finishatlas_part_count |
| 131 | func genome_build(plan: i64) -> i64 |