Measurement channels, full catalogue
Every channel the SDK knows about, grouped by kind. The Studio’s Measurements panel renders this same list grouped by section.
These are the IDs to reference from PhaseCondition.trackingPoint,
FormRule.trackingPoint, and angleBands[bucket].channelId in
.pose files.
Joint angles (view-invariant)
Three-landmark flexion angles. The angle at the middle landmark
between rays to the other two. Values in degrees [0, 180]. These
read the same from any camera position, safe to use without
per-bucket bands.
| ID | Description | Landmarks |
|---|---|---|
left_knee | Left knee flexion | left_hip → left_knee → left_ankle |
right_knee | Right knee flexion | right_hip → right_knee → right_ankle |
left_hip | Left hip flexion | left_shoulder → left_hip → left_knee |
right_hip | Right hip flexion | right_shoulder → right_hip → right_knee |
left_elbow | Left elbow flexion | left_shoulder → left_elbow → left_wrist |
right_elbow | Right elbow flexion | right_shoulder → right_elbow → right_wrist |
left_shoulder_abduction | Left shoulder abduction | left_hip → left_shoulder → left_elbow |
right_shoulder_abduction | Right shoulder abduction | right_hip → right_shoulder → right_elbow |
Defined in AngleDefinitions in package:pose_flow.
Camera-frame angles (view-dependent)
Projections into image space. These DO change with camera
position, when authoring against these, define per-bucket bands
in angleBands.
Marked with a 2D badge in the Studio.
| ID | Description |
|---|---|
spine | Spine lean, angle between shoulder-mid → hip-mid line and vertical. |
left_knee_valgus | Left knee valgus / varus, frontal-plane knee deviation from hip→ankle line. |
right_knee_valgus | Right knee valgus / varus. |
hip_tilt | Hip horizontal tilt (Trendelenburg sign). |
shoulder_tilt | Shoulder horizontal tilt. |
Distances
Two-landmark image-space distances. Normalised to [0, 1+].
Generally body-size dependent, prefer ratios when you want
size-invariance.
Selected highlights from DistanceDefinitions (full list ~12 entries):
| ID | Description |
|---|---|
stance_width | Ankle-to-ankle distance. |
wrist_spread | Left wrist to right wrist. |
left_wrist_to_shoulder | Left wrist to left shoulder. |
right_wrist_to_shoulder | Right wrist to right shoulder. |
hands_to_hips | Average wrist-to-hip distance (proximity proxy). |
Ratios
Dimensionless body-size-invariant. Numerator distance / denominator distance. The preferred shape for cross-body-size authoring.
Selected highlights from RatioDefinitions:
| ID | Description |
|---|---|
stance_to_shoulder_ratio | stance_width / shoulder_width. > 1.5 = wide stance. |
wrist_to_shoulder_spread_ratio | wrist_spread / shoulder_width. ~1 = neutral, > 1 = arms out. |
left_arm_overhead_ratio | wrist.y / shoulder.y for the left arm. ~1 = shoulder height, > 1 = overhead. |
right_arm_overhead_ratio | Right arm equivalent. |
left_squat_depth_ratio | Knee-to-hip / hip-to-ankle on the left. |
right_squat_depth_ratio | Right equivalent. |
Position channels
Raw x or y of a single landmark in normalised image space
[0, 1]. Used for “where in the frame is the user” gates.
Defined in PositionDefinitions:
| ID | Axis | Description |
|---|---|---|
hip_center_x | x | Hip midpoint x position. |
hip_center_y | y | Hip midpoint y position. |
left_wrist_x | x | Left wrist x position. |
left_wrist_y | y | Left wrist y position. |
right_wrist_x | x | Right wrist x. |
right_wrist_y | y | Right wrist y. |
wrist_center_x | x | Average wrist x. |
wrist_center_y | y | Average wrist y. |
left_ankle_x | x | Left ankle x. |
left_ankle_y | y | Left ankle y. |
right_ankle_x | x | Right ankle x. |
right_ankle_y | y | Right ankle y. |
shoulder_center_x | x | Shoulder midpoint x. |
shoulder_center_y | y | Shoulder midpoint y. |
Velocity channels
Rolling slope of a base channel over a 200ms window. The base
channel is referenced by baseTrackingPointId in the config.
Useful for jump detection + fast-movement cues.
Defined in VelocityDefinitions. Common derived channels:
| ID | Base channel |
|---|---|
wrist_y_velocity | wrist_center_y |
hip_y_velocity | hip_center_y |
ankle_y_velocity | average ankle y |
Stability channels
Rolling max-min of a base channel over a 1s window. Lower value = more stable. Used for hold-phase quality checks.
Defined in StabilityDefinitions. Common derived channels:
| ID | Base channel |
|---|---|
spine_stability | spine lean |
hip_stability | hip_center_x and hip_center_y |
shoulder_stability | shoulder centre. |
Diagnostic (informational, not currently conditionable)
symmetry_* channels that compare left/right pairs. Useful for
display but the rule-based runtime doesn’t evaluate them as
conditions yet.
| ID | Description |
|---|---|
symmetry_knee | Left vs right knee flexion symmetry. |
symmetry_hip | Left vs right hip symmetry. |
symmetry_elbow | Left vs right elbow symmetry. |
symmetry_shoulder_abduction | Left vs right shoulder abduction symmetry. |
symmetry_knee_valgus | Left vs right knee valgus symmetry. |