Skip to content

feat: record generated messages as self-contained MCAP (3/6) - #4254

Closed
TomCC7 wants to merge 2 commits into
feat/cdr-message-packagesfrom
feat/cdr-mcap-viewers
Closed

TomCC7 wants to merge 2 commits into
feat/cdr-message-packagesfrom
feat/cdr-mcap-viewers

Conversation

@TomCC7

@TomCC7 TomCC7 commented Sep 21, 2026 •

Copy link
Copy Markdown
Member

Write generated CDR directly to a self-contained ROS2-profile MCAP. The reusable writer embeds the complete ros2msg dependency closure and uses MCAP chunk compression. A deterministic demo records raw/PNG images, moving poses, transforms, and custom nested telemetry without ROS or dimos-lcm codecs.

The viewer check independently decodes all 150 messages with Foxglove's libraries and imports 30 rows per topic with Rerun 0.32.0. It requires semantic image/pose/transform components and structured custom fields. Dependency section headers now use package/Type, which Rerun needs to resolve nested schemas. CI retains the MCAP and evidence.

Validation: four MCAP tests, three-language conformance/buffer/raw-transport demos, external wheel/sdist/CMake/Cargo demo, strict OpenSpec validation, focused mypy, and all pre-commit checks pass locally.

Draft acceptance work remains: Foxglove's application requires sign-in; its library checks do not substitute for UI verification. Rerun displays both images and nested telemetry, but final pose visualization and full semantic playback capture are still being checked. Runtime consumers remain for stage 4. See examples/message-codegen/README.md and EVIDENCE.md for reproduction and current limitations.

Stack: stage 3 of 6, based on #4252. Related proposal: openspec/changes/replace-lcm-message-encoding.

— Codex

Superseded by naming-only replacement #4367. Exact commit 592a6f73402dce7e9ef2e4301cb48c1f58391e5f, source tree and parent-relative diff are unchanged.

Verified native seven-layer stack #4372: #4247 → #4366 → #4367 → #4368 → #4369 → #4370 → #4371. Stack: #4247

All branches use cc/ and the ordered PR bases preserve the prior commit ancestry. Old branches/history are retained. Replacement PR checks are pending and prior CI retains its exact SHA/run/ref provenance. No merge, force push or release.

@TomCC7
TomCC7 added this pull request to stack #4253 September 21, 2026 17:41
@TomCC7 TomCC7 changed the title feat: record generated CDR with self-contained MCAP schemas feat: record generated messages as self-contained MCAP (3/6) Sep 21, 2026

This branch was successfully deployed

1 active deployment
cachix — 592a6f73 Deployed Oct 1, 2026 by TomCC7 via cachix-build-macos #11293
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