Repository navigation
docs: FicTrac columns in the MCAP bag — audit of the 25 columns + recommended record (LAB-303) - #263
Merged
Merged
Conversation
…ommended record (LAB-303) Decision doc for the ROS 2 bridge's bag size now that bags go to the GitHub data repo: which of FicTrac's 25 columns the bag must keep. Audits every reader (bridge, kinematics, replay, dashboard, scripts, converter), recommends 10 columns in ONE per-frame /arena/frame record (no raw FicTrac topics by default), measures the result on the two 2026-10-14 bench bags with the plan's tuning (1.94x / 2.14x the jsonl.gz; today 10x / 30x), and lists the code changes for the implementation PR. No recorder code changes here. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…er frame, float64, no batching Michael 2026-10-18: adopt the recommendation, simpler is better, 2x accepted. Headline becomes the per-record figure (2.24x / 2.48x the jsonl.gz, ~5 MB per 30 min run at 50 Hz); batching and fixed-point stay documented as later knobs; the change list loses the batcher/unbatching items. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
mbreiser
added a commit
that referenced
this pull request
Oct 19, 2026
… derived-channel correction (LAB-303) (#265) Follow-up to #263: the reproducible ros2-poc/sizing/columns.py (PR #264) measures the adopted record at 2.41x / 2.68x the jsonl.gz (the first version quoted 2.24x / 2.48x from a scratch script); the live turning_dps / forward_mms cost 16 B/frame of incompressible doubles, not "about 1 %" (that came from a bench bag whose derived fields were the 2026-10-14 mixed-build garbage), so the implementation records them as NaN. Links the implementation PR. Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Decision doc
docs/development/fictrac-columns-in-the-bag.mdfor LAB-303 (ROS 2 bridge, MCAP as the record). Bags will be pushed to the GitHub data repo like the.jsonl.gzis today (Michael, 2026-10-18), so the bag has to stay near the JSONL's size. The doc:doc/data_header.txtandsrc/Trackball.cpp;/arena/framerecord,float64, one MCAP message per frame, with/fictrac/frameand/fictrac/rawno longer recorded by default (live topics unchanged);.jsonl.gz, about 5 MB per 30 minute run at 50 Hz against 2.3 MB today (as recorded now 10.2× / 30.4×; all 25 columns 4.5× / 5.5×). Two levers were measured and declined for simplicity, available later: 1 s batching (1.94× / 2.14×) and int32 fixed-point at the JSONL's 5-decimal precision (≈ 1.5×);ArenaFrame.msg,bridge_node.py,_rows.py,mcap_convert.py+fulllevel,recorder.py/mcap_index.pytuning, tests) without implementing them;Audit finding worth stating plainly: only the behavior row's 5 columns are read by anything today (bridge,
kinematics.js, replay, dashboard, scripts, converter); the 25 are used only bymcap_convert --level full, whose own readers use cols 1/15–17/22 of it.The doc references
ros2-poc/files that live on PR #254's branch (candidate 2026-10-20), not yet onmain. No recorder code changes here; the sizing scripts are in the session notes and are listed for porting intoros2-poc/sizing/.Tier
docs/skills-only.
Release notes
none
Test plan
🤖 Generated with Claude Code