| column |
type |
what it is |
| observation.images.main | video · HEVC | 1080p RGB, decoded per frame by the loader |
| observation.images.depth | image · uint16 TIFF | metric depth, millimetre integers, lossless, embedded in the table |
| observation.camera_pose | float32[16] | 4 × 4 world-from-camera transform, row-major (ARKit) |
| observation.camera_intrinsics | float32[9] | 3 × 3 K matrix per frame |
| imu | float32[6] | acceleration (G) + rotation rate (rad/s), frame-aligned |
| observation.hands.{left,right}.joints | float32[63] | 21 joints × (x,y,z) in metres, world frame; zeros where the hand is absent |
| observation.hands.{left,right}.confidence | float32[21] | per-joint solver confidence — shipped so you can filter, not trust blindly |
| observation.hands.{left,right}.inferred | bool[21] | true where the solver's priors filled a joint no 2D observation supported |
| observation.hands.{left,right}.present | bool | a solved sample exists for this hand at this frame — absent and unmeasured stay distinguishable |
| observation.hands.{left,right}.wrist_speed | float32 | m/s over one solver tick; −1.0 is the undefined sentinel, never a measurement |
| observation.hands.pose48 | float32[48] | compact view — wrist, 6D rotation and fingertips for both hands, derived from this row's joints |
| task · task_index | string · int64 | the recipe step being executed in this frame, as the cook was told it |
| timestamp · indices | float32 · int64 | delivered-clock seconds + frame / episode / global row ids |