Redesign mcap.dev landing page - #1776
Conversation
Reorganize the landing page with a side-by-side demo and feature grid, a rosbag/SQLite comparison table, interactive language examples, and clearer CTAs for GitHub and bag conversion. Co-authored-by: Cursor <cursoragent@cursor.com>
|
I think place this in draft until you feel it's ready for human eyes? there seems to be some low-hanging fruit being picked up by Claude and CI checks. |
Correct multi-language write samples against real library APIs, switch the picker to Docusaurus Tabs, and update footer/ROS 2 default wording. Co-authored-by: Cursor <cursoragent@cursor.com>
Format index.tsx for CI fmt/lint checks and allowlist Callout in the cspell dictionary. Co-authored-by: Cursor <cursoragent@cursor.com>
Restructure the landing page into a single-column flow with a demo/conversion split, tighten spacing, and polish section backgrounds and panels. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
The code snippets are fixed and verified from last pass. New blocker this round is in the docs, not the landing page (inline): the Iron→Jazzy edit in cli.md/ros-2.md contradicts the "before ROS 2 Iron" sentence right below it and is factually wrong — message-definition recording landed in Iron. Looks like the Jazzy fix from the (now-removed) comparison table leaked into the wrong place.
Two carry-overs still open:
- Still a draft with Changelog / Docs / Description as template placeholders and no before/after screenshots — this is a landing-page redesign we can't see. Please fill those in and attach images + manual-test notes before it leaves draft. The description also still advertises a "rosbag/SQLite comparison table," but the latest commit deleted it — update the description to match what actually ships.
- Aescape is still dropped from the logo wall (
website/src/icons/index.ts). Intentional as part of the redesign, or collateral? A customer logo disappearing is user-visible — just confirm it's deliberate.
| <!-- cspell: enable --> | ||
|
|
||
| The `mcap` CLI dispatches on the input file extension (`.bag` for ROS 1, `.db3` for ROS 2) and reads ROS 2 `.db3` files using the message definitions embedded in the file. ROS 2 Iron and later embed message definitions when recording, so these files convert without a sourced workspace. | ||
| The `mcap` CLI dispatches on the input file extension (`.bag` for ROS 1, `.db3` for ROS 2) and reads ROS 2 `.db3` files using the message definitions embedded in the file. ROS 2 Jazzy and later embed message definitions when recording, so these files convert without a sourced workspace. |
There was a problem hiding this comment.
This now contradicts the next sentence: line 100 still says bags recorded before ROS 2 Iron lack embedded message definitions — i.e. Iron and later have them. rosbag2 added message-definition recording in Iron, not Jazzy, so "Iron and later" was correct. The .db3 self-describing cutoff (Iron) is a different fact from the default-storage switch to MCAP (Jazzy) — looks like the Jazzy fix from the old comparison table leaked into the wrong sentence. Revert to "Iron and later" (or reconcile both sentences).
| ``` | ||
|
|
||
| `mcap convert` reads the message definitions embedded in the `.db3` file. ROS 2 Iron and later embed message definitions when recording, so these bags convert directly without a sourced workspace. Converting may still produce different results from recording the bag directly in MCAP using the [rosbag2 MCAP storage plugin](https://github.com/ros-tooling/rosbag2_storage_mcap). | ||
| `mcap convert` reads the message definitions embedded in the `.db3` file. ROS 2 Jazzy and later embed message definitions when recording, so these bags convert directly without a sourced workspace. Converting may still produce different results from recording the bag directly in MCAP using the [rosbag2 MCAP storage plugin](https://github.com/ros-tooling/rosbag2_storage_mcap). |
There was a problem hiding this comment.
Same Iron→Jazzy issue as cli.md: this contradicts "before ROS 2 Iron do not contain embedded message definitions" two lines down. Message-definition recording landed in Iron — revert to "Iron and later."
Reorganize the landing page with a side-by-side demo and feature grid, a rosbag/SQLite comparison table, interactive language examples, and clearer CTAs for GitHub and bag conversion.
Changelog
Docs
Description