code wiki / (root) / nx_nxa_rig_motion_stream_t140.nx

nx_nxa_rig_motion_stream_t140.nx

buildroot/runtime/nx_nxa_rig_motion_stream_t140.nx

7677 B192 linesdepth 3pulls 3 transitivereach 5 importersview sourcekind librarytopic nxa
docsdependenciesstructsconstsfunctions

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

nx_nxa_fk.nx nx_nxa_anim_lib.nx nx_nxa_rig_motion_stream_t140. nx_gate_rig_motion_stream_t140.nx nx_nxa_rig_motion_context_t140.nx

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

95struct NrmFrameInput

consts

7const NRM_Q12: i64 = 4096
8const NRM_SCR_W: i64 = 32

functions

9func nrm_q(p: *i64, i: i64) -> *i64 { return ((p as i64) + i*32) as *i64 }
called by 1: nrm_compose
10func 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
73func nrm_frame_words(ns:i64,nt:i64)->i64
81func nrm_basis(v:*i64,out:*i64,sax:*i64,ssg:*i64,tax:*i64,tsg:*i64)->i64
called by 1: nrm_frame
86func nrm_basis_det(sax:*i64,ssg:*i64,tax:*i64,tsg:*i64,m:*i64)->i64
called by 1: nrm_frame
113func nrm_frame(frame:*NrmFrameInput,t:i64,rows:*i64,row_words:i64,work:*i64,work_words:i64)->i64
163func nrm_affine_rows(nj:i64,bind:*i64,q:*i64,dt:*i64,out:*i64,scr:*i64)->i64
called by 1: nrm_frame calls 1: nf_qrotv