Pose capture
From the native camera to provider-neutral joint observations.
Common input contract
IPoseProvider keeps native SDKs outside the motion layer. AppleVisionPoseProvider maps joints into a common PoseFrame and distinguishes duplicate and out-of-order frames while polling. Capture time and receipt time are not interchangeable.
Apple Vision path
The native PMRPoseProvider owns an AVCaptureSession, a serial sample queue and a VNDetectHumanBodyPoseRequest. A short lock protects the latest completed frame, which Unity polls by copying values. No background callback enters managed code.
The configuration includes a 640×480 capture preset and a requested frame rate. These are settings, not measured throughput or guaranteed FPS, and are not published as product performance figures.
Confidence and tracking
Instantaneous native torso usability, managed provider health history and motion-layer joint confidence gates are different signals. A provider state does not prove readiness for every action. Missing arm or support landmarks change which features are available.
MediaPipe research path
The current Runner provider factory uses the MediaPipe implementation. MediaPipeTasksVision and its model remain behind the native boundary. Apple Vision behavior or privacy properties cannot simply be attributed to this path.
Validation scope
Provider and image-geometry test sources were inspected. This website task did not request camera permissions, capture frames or measure device performance.