This fixes three pre-existing issues in the visual test runner that were never caught because visual tests aren't run in CI. ## Fixes **1. Re-entrant read panic in sidebar creation (3 places)** `Sidebar::new` reads the `MultiWorkspace` entity, so creating it inside a `multi_workspace.update()` closure causes a `cannot read while being updated` panic. Fixed by using `update_window` with `root_view.downcast()` to get the handle without holding a mutable borrow. **2. Tooltip entity leak in breakpoint_hover test** The tooltip system has an Rc cycle (`ActiveTooltip::Visible` holds a `check_visible_and_update` closure that captures the `Rc<RefCell<Option<ActiveTooltip>>>`). This cycle is normally broken when the tooltip is dismissed, but the test closed the window while the tooltip was still visible, causing a panic from the leak detector. Fixed by simulating a click before cleanup to dismiss the tooltip. **3. Visual tests not in CI** Added a `cargo_run_visual_tests` step to the macOS test job via xtask so these tests run on every PR and regressions are caught early. Release Notes: - N/A
5 files changedLine totals unavailable