feat: compose Q10 maps in a pure renderer#885
Merged
allenporter merged 3 commits intoJul 19, 2026
Conversation
This was referenced Jul 19, 2026
tubededentifrice
force-pushed
the
agent/q10-map-renderer
branch
from
July 19, 2026 17:13
303fe71 to
4da996c
Compare
allenporter
approved these changes
Jul 19, 2026
Contributor
|
Thank you for the offline iteration, the new paths look great. Thank you @tubededentifrice for adding these new capabilities! |
This was referenced Jul 19, 2026
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
Next PR in the #848 split, following #881 and #884. This adds the pure Q10 map-composition layer on top of the merged low-level decoding and cleanup work.
Source lifecycle and API
render_q10_mapaccepts the three independently updated source snapshots plus static config:Q10MapPacket— latest01 01map-protocol response; owns grid layers, header calibration, rooms, and erase zones.Q10TracePacket | None— latest02 01trace-protocol response; owns path points, robot position, and heading.Q10MapOverlays— latest decoded restricted-zone and virtual-wall snapshot from DPS.B01Q10MapParserConfig— static parser/render configuration.It returns one fully composed PNG. Calibration, layers, projected
MapData, and drawing state remain internal; there is no separateQ10MapRenderdata model or alternatedraw_path_on_mapimage path.Changes
This PR intentionally contains no device-trait, subscription, or CLI orchestration changes. Those remain in the next stacked PR.
Validation
pytest -q— 790 passed, 86 snapshots passedpre-commit run --show-diff-on-failure --color=always --all-files— all hooks passed, including ruff and mypy