forked from 1b-agent/opencadstudio-upstream
Start Plan B — replace the daemon's pop-up OS windows with in-canvas modal overlays so dialogs work identically on native (one main window) and web (canvas only). - New `ui::modal::modal(base, content, on_close)`: dims the view behind a backdrop that blocks clicks but does NOT dismiss, frames the content, and adds a top-right ✕ as the sole close affordance. Sizes to the content (no `Fill`), so dialogs shrink to fit. - view_main stacks the active modal on top, so both run paths show it. - Migrate About as the pilot: `about_open` bool + AboutOpen/AboutClose instead of an OS window; About's view shrinks to content. Remaining dialogs migrate to the same pattern next. Native + 75 tests OK. Co-Authored-By: Claude Opus 4.8 <[email protected]>