code wiki / (root) / nx_pose_coach.nx

nx_pose_coach.nx

buildroot/runtime/nx_pose_coach.nx

3428 B71 linesdepth 2pulls 2 transitivereach 4 importersview sourcekind librarytopic pose
docsdependenciesstructsconstsfunctions

about

nx_pose_coach.nx -- the COACH's read (roadmap R8): compare a USER pose track to a REFERENCE track and say WHAT is off (which joint, how far) and score the form -- with TEMPO-INVARIANT alignment (DTW) so a slower/ faster attempt isn't penalised for form. Pure integer math on joint-position tracks (track[f*nj*3 + j*3 + c]); the tracks come from R3-retarget (from video via R2) or the rig. This is "help people achieve their goals": name the error, not just a number. license_tier: ORIGINAL

dependencies 1 imports · 2 importers

nx_syscalls.nx nx_pose_coach.nx nx_pose_coach_gate.nx nx_synth_serve.nx

imports: nx_syscalls.nx

imported by: nx_pose_coach_gate.nxnx_synth_serve.nx

structs

none

consts

none

functions

8func pc_isqrt(v: i64) -> i64 { if v <= 0 { return 0 } var x: i64 = v; var y: i64 = (x + 1) / 2; while y < x { x = y; y = (x + v / x) / 2 } return x }
called by 1: pc_jdist
10func pc_jdist(t1: *i64, o1: i64, t2: *i64, o2: i64) -> i64
called by 2: pc_framedistpc_score calls 1: pc_isqrt
15func pc_framedist(ref: *i64, ri: i64, user: *i64, uj: i64, nj: i64) -> i64
called by 1: pc_dtw calls 1: pc_jdist
22func pc_score(ref: *i64, user: *i64, T: i64, nj: i64, jdev: *i64) -> i64
called by 2: mainsv_do_coach calls 1: pc_jdist
38func pc_worst_joint(jdev: *i64, nj: i64) -> i64
called by 2: mainsv_do_coach
45func pc_dtw(ref: *i64, user: *i64, T: i64, nj: i64) -> i64
called by 1: main calls 2: sys_mmappc_framedist
66func pc_form_score(total: i64, samples: i64, tol: i64) -> i64
called by 2: mainsv_do_coach