Fix panel docking bugs and polish its behavior (#4087)

* Fix panel docking bugs and polish its behavior

* Fix bug
This commit is contained in:
Keavon Chambers
2026-05-01 17:02:10 +00:00
committed by Timon
parent 4c1974c200
commit 83d03ad67d
14 changed files with 417 additions and 255 deletions
@@ -29,6 +29,12 @@ impl MessageHandler<OverlaysMessage, OverlaysMessageContext<'_>> for OverlaysMes
use crate::messages::viewport::{Position, ToPhysical};
use wasm_bindgen::JsCast;
// Discard detached canvas after a panel reorganization remounts the DOM
if self.canvas.as_ref().is_some_and(|canvas| !canvas.is_connected()) {
self.canvas = None;
self.context = None;
}
let canvas = match &self.canvas {
Some(canvas) => canvas,
None => {