Visualizer: add a per-item visibility toggle to the workcell tree - #1150
Merged
Merged
Conversation
The visualizer's workcell tree lists every resource in the workcell - the liquid handler, carriers, plates, tip racks, and lids - but offered no way to hide an individual item from the canvas. On a dense deck, resources overlap and a carrier or lid occludes whatever sits beneath it, with no way to declutter the view or look underneath short of editing the layout. - Add an eye toggle to every row of the workcell tree (including the root); clicking it hides or shows that resource on the canvas. - Hiding flips the resource's Konva group visibility instead of destroying and redrawing it, so the item keeps its exact location and stacking order when shown again. - Hiding a container hides everything on it: the canvas scene graph mirrors the resource tree, so a hidden group clips all of its descendants - hide a carrier and its racks and plates go with it. - The hidden set is keyed by resource name and re-applied on every redraw, so an item stays hidden across the volume changes, tip pickups, and re-assignments that rebuild its canvas group. - A row whose parent is hidden is shown disabled and greyed with an explanatory tooltip, because its own toggle cannot take effect while an ancestor hides it; alt-clicking such a row reveals it by clearing the hidden flag on it and every hidden ancestor. Behavior: nothing changes until an eye is clicked - the default view, canvas rendering, and tree counts are untouched. The toggle is view-only; it never alters the deck layout or any resource state, only what the canvas draws, so it is a safe way to declutter a busy deck and inspect occluded or nested resources. Frontend only (lib.js and main.css); no Python or API change. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.8 <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.
The visualizer's workcell tree lists every resource in the workcell - the liquid handler, carriers, plates, tip racks, and lids - but offered no way to hide an individual item from the canvas. On a dense deck, resources overlap and a carrier or lid occludes whatever sits beneath it, with no way to declutter the view or look underneath short of editing the layout.
Behavior: nothing changes until an eye is clicked - the default view, canvas rendering, and tree counts are untouched. The toggle is view-only; it never alters the deck layout or any resource state, only what the canvas draws, so it is a safe way to declutter a busy deck and inspect occluded or nested resources. Frontend only (lib.js and main.css); no Python or API change.
🤖 Generated with Claude Code