Files
AV-Live/data_only_viz
L'électron rare 8bc7acbd14 fix(pose): fresh arkit joint arrays per frame
Extract apply_skeleton_joints() as a pure module-level function that
copies prev_arr (or zeros) and writes a new array, never mutating the
old one.  The TAG_SKELETON handler now stores the new array under the
state lock, so readers that captured a reference to the previous array
(multi.py shallow-copy + ArkitFuse.apply outside the lock) always see
a complete, consistent snapshot — eliminating the B4 tearing race.

6 new tests cover: shape, identity (is not), value preservation for
invalid joints, value application for valid joints, wrong-shape reset,
and no-mutation of prev_arr.
2026-07-02 10:41:41 +02:00
..
2026-05-13 20:29:26 +02:00
2026-06-27 15:27:06 +02:00

data_only_viz

Python + Metal visualiser for the AV-Live data-only patch.

Hand features OSC

/pose/hands [pid=0, lx, ly, lopen, lspeed, rx, ry, ropen, rspeed, dist]

  • Emitted once per pipeline tick by pose_bridge.send_hands to sclang :57121.
  • L = leftmost hand on screen, R = rightmost; absent hand -> its 4 floats are 0.
  • Ranges: positions/openness/dist in [0,1]; speed >= 0 (normalized units/frame).
  • Consumed by SuperCollider ~handFeat (data_only) and the Metal renderer uniforms.
  • Multi-person is not yet carried (pid is always 0).