code wiki / (root) / nx_nxa_pose.nx

nx_nxa_pose.nx

buildroot/runtime/nx_nxa_pose.nx

13621 B379 linesdepth 2pulls 5 transitivereach 0 importersview sourcekind tooltopic nxa
docsdependenciesstructsconstsfunctions

about

nx_nxa_pose.nx -- POSE section compiler: freezes ANIM channel-2 keyframes into the NXA pose library (spec: knowledge/nxa_format_spec.md POSE). A pose entry is one frozen channel-2 keyframe per joint -- [joint][qx qy qz qw q12][dtx dty dtz mm], world-delta about bind, root horizontal motion removed -- so a player applies it with the exact LBS the ANIM path already proves (M x = D(x-b)+b+dt), no FK reconstruction (which would re-introduce the dead-chain-adoption shard class: adopted joints' dt is donor-relative, not parent-relative). freeze picks its frame BY MEASUREMENT when t=-1: the sample minimizing horizontal foot separation (feet passing = legs together = reads as standing), never by taste. usage: nx_nxa_pose freeze <in.nxa> <out.nxa> <pose_id> <t_ms|-1> nx_nxa_pose list <in.nxa> rc: 0 ok, 2 usage, 4 missing SKEL/ANIM/tracks, 5 corrupt, 6 future-version, 9 io license_tier: ORIGINAL

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_nxa.nx nx_nxa_fk.nx nx_nxa_pose.nx

imports: nx_syscalls.nxnx_nxa.nxnx_nxa_fk.nx

imported by: nobody (leaf or entry point)

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

main npw sys_write sys_mmap sys_map_file sys_openat_rd sys_lseek sys_close nxa_find nxa_magic nxa_check2 nxa_tag4 np_seq npn sys_mmap ↻ sys_write ↻ np_atoi np_sample np_i16 nf_qnorm nf_isqrt nf_isqrt ↻ nxa_check2 ↻ nxa_magic ↻ sys_openat_wr sys_write ↻ sys_close ↻

structs

none

consts

18const NP_MAGIC_65535: i64 = 65535
19const NP_MAGIC_32767: i64 = 32767
20const NP_MAGIC_65536: i64 = 65536
21const NP_MAGIC_4096: i64 = 4096
22const NP_MAGIC_1000: i64 = 1000
23const NP_MAGIC_33: i64 = 33
24const NP_MAGIC_52: i64 = 52
25const NP_MAGIC_100: i64 = 100
26const NP_MAGIC_256: i64 = 256
27const NP_MAGIC_1000000000: i64 = 1000000000

functions

29func npw(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
30func npn(v: i64) -> i64
called by 1: main calls 2: sys_mmapsys_write
42func np_atoi(s: *u8) -> i64
called by 1: main
55func np_seq(a: *u8, b: *u8) -> i64
called by 1: main
65func np_i16(w: i64, sh: i64) -> i64
called by 1: np_sample
72func np_sample(h: *i64, koff: i64, nk: i64, t: i64, out7: *i64) -> i64
called by 1: main calls 2: np_i16nf_qnorm
120func main(argc: i64, argv: *i64) -> i64