v1: Visualizer: bring v1b1 up to parity with main (9 PRs) - #1157
Merged
Conversation
…om the well count (PyLabRobot#1147) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> (cherry picked from commit 6ffb734)
…PyLabRobot#1064) Closes PyLabRobot#898. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> (cherry picked from commit 2d9b77f)
…-reposition (PyLabRobot#1148) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> (cherry picked from commit 1929a78)
…yLabRobot#1150) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> (cherry picked from commit 8dbc1bd)
…e fade (PyLabRobot#1151) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> (cherry picked from commit f7dfdd2)
…lding the Konva group (PyLabRobot#1153) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> (cherry picked from commit 2673008)
…Visualizer volume readouts (PyLabRobot#1137) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> (cherry picked from commit 7a91016)
…lass (PyLabRobot#1155) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> (cherry picked from commit 88d6193)
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.
Brings
pylabrobot/visualizer/onv1b1up to parity withmain, which was ahead by nine visualizer PRs since the branches forked (2026-03-30). v1b1 had no visualizer work of its own, so this is a straight catch-up: each upstream PR is replayed as its own commit, adapted where v1b1's architecture or serializers differ. After this,lib.jsdiffers from main by 62 lines, all of it legitimately v1b1-specific (the holder-based OT-2 deck andgetDeckplacement).Ported, oldest to newest: #1064 (centralize overlay refresh), #1062 (rotation-aware positions), #1137 (Container volume-tracker state updates and volume readouts), #1147 (plate lid as its own tree node), #1148 (capability-panel height fix and drag; "Machine Tools" becomes "Capabilities"), #1150 (per-item visibility toggle), #1151 (background workcell grid and deck-surface gradient), #1153 (recolor liquid and tip shapes in place), #1155 (cache idle plates; send method signatures once per class).
Three adaptations were needed for v1b1 rather than a verbatim replay. #1062's
load_statecalledRotation.deserialize, which does not exist on v1b1 - rotation is reconstructed through the module-leveldeserializehere, matching how the rest ofresource.pyalready does it. #1062 also edited the activeliquid_handler.py, which v1b1 has moved underlegacy, so that hunk is dropped rather than resurrect the file. #1151 overlapped the OT-2 deck'sdrawMainShape: the resolution keeps v1b1's holder-based slots and adds the deck-surface gradient, which had been left out when the holder deck first landed because the colour constants did not yet exist.Validated by rendering a scene that exercises the new paths - a rotated plate, liquid moved between wells, the background grid, the OT-2 deck - in a headless browser with no console errors, and by the check suite: format, isort, and lint clean; mypy holds at its pre-existing baseline with no new errors; the affected resource and visualizer tests pass.
🤖 Generated with Claude Code