THALis: virtual-hand collection interface

50 poses, 2 s holds, 1.2 s transitions — need a clear target without making the UI distracting. maybe previewing the next pose helps timing, or maybe it just encourages anticipation

  • app split (0d32926): ClassificationMode.jsx, ContinuousMotionMode.jsx, VirtualHand.jsx, handPoses.js, and interpolation.js. The collector separates discrete cues from continuous-motion presentation and makes pose definitions explicit.

Continuous-motion collector and target poses
Continuous-motion collector and target poses

Virtual-hand finger states and colors
Virtual-hand finger states and colors

  • shadow Hand integration (ba7d320): ShadowHand3D.jsx loads the model meshes with Three.js; meshes live under the app's public/meshes/. A later same-day change (5e69413) color-codes active fingers/joints.
  • reference questions: what is the mapping from named pose to joint coordinates, how is interpolation timed, and which moments are exported as cues? Screen animation state and recorded labels must agree. Distinguish a cue shown to the participant from a measured hand movement.
  • evidence boundary: browser rendering and visual feedback are experiment infrastructure. They do not establish closed-loop prosthetic control or improved EEG discrimination merely because the visual model resembles the intended device.

Thumb–index pinch rendering bug
Thumb–index pinch rendering bug