nx_nxa_pose.nx
buildroot/runtime/nx_nxa_pose.nx
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
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
structs
| none |
consts
| 18 | const NP_MAGIC_65535: i64 = 65535 |
| 19 | const NP_MAGIC_32767: i64 = 32767 |
| 20 | const NP_MAGIC_65536: i64 = 65536 |
| 21 | const NP_MAGIC_4096: i64 = 4096 |
| 22 | const NP_MAGIC_1000: i64 = 1000 |
| 23 | const NP_MAGIC_33: i64 = 33 |
| 24 | const NP_MAGIC_52: i64 = 52 |
| 25 | const NP_MAGIC_100: i64 = 100 |
| 26 | const NP_MAGIC_256: i64 = 256 |
| 27 | const NP_MAGIC_1000000000: i64 = 1000000000 |
functions
| 29 | func npw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 30 | func npn(v: i64) -> i64 |
| 42 | func np_atoi(s: *u8) -> i64 called by 1: main |
| 55 | func np_seq(a: *u8, b: *u8) -> i64 called by 1: main |
| 65 | func np_i16(w: i64, sh: i64) -> i64 called by 1: np_sample |
| 72 | func np_sample(h: *i64, koff: i64, nk: i64, t: i64, out7: *i64) -> i64 |
| 120 | func main(argc: i64, argv: *i64) -> i64 |