Skip to content

feat: compose Q10 map content from grouped traits - #3

Closed
tubededentifrice wants to merge 8 commits into
agent/q10-map-rendererfrom
agent/q10-map-traits
Closed

feat: compose Q10 map content from grouped traits#3
tubededentifrice wants to merge 8 commits into
agent/q10-map-rendererfrom
agent/q10-map-traits

Conversation

@tubededentifrice

@tubededentifrice tubededentifrice commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

Final PR in the Python-roborock#848 split: integrates the pure renderer through a low-level/high-level trait boundary based on maintainer feedback about mutable state and mixed update sources.

This fork-local draft is stacked on Python-roborock#885, so its incremental diff contains only trait/API/CLI integration. It can be promoted upstream once Python-roborock#885 lands.

State ownership

  • MapDpsTrait owns restricted-zone and virtual-wall DPS values.
  • MapContentTrait groups the latest map and trace protocol packets in one immutable Q10MapSource.
  • Rendering receives the map packet, trace packet, and decoded DPS overlay snapshot and returns one composed PNG.
  • The trait caches only that image; calibration, layers, projected MapData, and rendering intermediates are not exposed.
  • Rooms and trace information are read directly from their owning source packets.
  • DPS, map, or trace updates replace the relevant source snapshot and regenerate the same image output.

The stale layer-export CLI was removed. The path-specific CLI only waits for a live trace and saves the trait's normal image_content; it does not invoke an alternate renderer.

Validation

  • Focused map/trait suite — 88 passed
  • pytest -q — 797 passed, 86 snapshots passed
  • pre-commit run --show-diff-on-failure --color=always --all-files — all hooks passed, including ruff and mypy

Stack

  1. feat: compose Q10 maps in a pure renderer Python-roborock/python-roborock#885 — pure single-path renderer
  2. This PR — trait ownership and integration

@tubededentifrice
tubededentifrice force-pushed the agent/q10-map-renderer branch 2 times, most recently from a924f7a to 50d92a9 Compare July 19, 2026 16:24
@tubededentifrice
tubededentifrice force-pushed the agent/q10-map-renderer branch from 50d92a9 to 303fe71 Compare July 19, 2026 16:45
@tubededentifrice
tubededentifrice force-pushed the agent/q10-map-renderer branch from 303fe71 to 4da996c Compare July 19, 2026 17:13
@tubededentifrice

Copy link
Copy Markdown
Owner Author

Superseded by upstream PR Python-roborock#886 after Python-roborock#885 merged. The branch was updated incrementally and its history was not rewritten.

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