nx_nxa_rig_motion_stream_t140.nx
buildroot/runtime/nx_nxa_rig_motion_stream_t140.nx
about
Caller-owned native rig composition extracted from nx_nxa_retarget, 2026-09-09.
Inputs are admitted parent-first identity-bind rigs in the SAME target raw basis.
No allocator, shared writable arena, entity count, or joint ceiling.
q/d source inputs are immutable; outputs W(nt*4), P(nt*3), tdt(nt*3) must be disjoint.
scratch requires NRM_SCR_W words. Validate owned spans at the external context boundary.
dependencies 2 imports · 2 importers
imports: nx_nxa_fk.nxnx_nxa_anim_lib.nx
imported by: nx_gate_rig_motion_stream_t140.nxnx_nxa_rig_motion_context_t140.nx
structs
| 95 | struct NrmFrameInput |
consts
| 7 | const NRM_Q12: i64 = 4096 |
| 8 | const NRM_SCR_W: i64 = 32 |
functions
| 9 | func nrm_q(p: *i64, i: i64) -> *i64 { return ((p as i64) + i*32) as *i64 } called by 1: nrm_compose |
| 10 | func nrm_compose(ns: i64, nt: i64, sD: *i64, sdt: *i64, map: *i64, tpar: *i64, tbind: *i64, bdst: *i64, bound: i64, sse: i64, tse: i64, W: *i64, P: *i64, tdt: *i64, scratch: *i64) -> i64 |
| 73 | func nrm_frame_words(ns:i64,nt:i64)->i64 |
| 81 | func nrm_basis(v:*i64,out:*i64,sax:*i64,ssg:*i64,tax:*i64,tsg:*i64)->i64 called by 1: nrm_frame |
| 86 | func nrm_basis_det(sax:*i64,ssg:*i64,tax:*i64,tsg:*i64,m:*i64)->i64 called by 1: nrm_frame |
| 113 | func nrm_frame(frame:*NrmFrameInput,t:i64,rows:*i64,row_words:i64,work:*i64,work_words:i64)->i64 called by 2: nmg_assetnrc_frame calls 7: nrm_frame_wordsnrm_basis_detna_eval_track_orderedna_eval_tracknrm_basisnrm_compose+1 |
| 163 | func nrm_affine_rows(nj:i64,bind:*i64,q:*i64,dt:*i64,out:*i64,scr:*i64)->i64 |