Skip to content

Make the top-level data containers struct for cleaner access patterns.#166

Draft
nvddr wants to merge 3 commits intomainfrom
devdeepr/topLevelStruct
Draft

Make the top-level data containers struct for cleaner access patterns.#166
nvddr wants to merge 3 commits intomainfrom
devdeepr/topLevelStruct

Conversation

@nvddr
Copy link
Contributor

@nvddr nvddr commented Feb 24, 2026

No description provided.

Introduce per-channel serialization for trackers that produce multiple
independent data streams (e.g. left/right hand, left/right controller).

- Add ITracker::get_record_channels() and channel_index param to
  ITrackerImpl::serialize() for multi-channel trackers
- Update McapRecorder to create separate MCAP channels per sub-channel
- HandTracker: serialize each hand individually (delete hands.fbs)
- ControllerTracker: split API to get_left_controller()/get_right_controller(),
  store snapshots directly as structs, update ControllerData schema to hold
  a single ControllerSnapshot
- Update all downstream: plugins, examples, source nodes, tests, bindings
Add XXRecord root_type wrapper tables for MCAP serialization:
- HandPoseRecord, ControllerSnapshotRecord, HeadPoseRecord,
  FullBodyPosePicoRecord, Generic3AxisPedalOutputRecord,
  LocomotionCommandRecord, FrameMetadataRecord
- Rename ControllerData to ControllerSnapshotRecord
- Update tracker schema names and binary schema references
- Update serialize() methods to pack into Record builders
- Add static_assert VT_DATA checks in C++ tests
Clean up the schema and make them structs because we have a top-level table for writing to mcap
@nvddr nvddr force-pushed the devdeepr/topLevelStruct branch from 6883f4f to 57f239f Compare February 24, 2026 16:59
@github-actions
Copy link

Docs preview

Built docs for this PR are available at:

https://NVIDIA.github.io/IsaacTeleop/preview/pr-166/

(It may take a minute to appear after the workflow completes.)

@nvddr nvddr marked this pull request as draft February 24, 2026 17:29
@nvddr nvddr force-pushed the devdeepr/createRecordType branch 2 times, most recently from 7cda387 to 6f16255 Compare February 25, 2026 22:51
Base automatically changed from devdeepr/createRecordType to main February 25, 2026 23:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant