mirror of
https://github.com/storytold/figcraft.git
synced 2026-10-24 10:27:00 -06:00
- A minimised or covered window now answers every control request that acts on the app's state (`engine.execute`, `document.inspect`, `node.get`, `ui.inspect`, `ui.pointer`, `ui.key`, `ui.type`, `ui.set`, `ui.menu.invoke`, `ui.render`, `window.list`, `window.focus`, `app.quit`), in that window's file, from the app's `logic` (no frame drawn). Before, only six methods were answered there. - What only a drawn frame can answer (`ui.screenshot`, `ui.input`, `window.new`) is an error at once for a hidden window: `window 0 is minimised or hidden: `ui.screenshot` needs it on screen (`ui.render` draws the document without it)`. Before, these waited up to 60 s. - `crates/ui-egui/src/control.rs`: the `NO_FRAME` allow-list becomes a short `NEEDS_FRAME` list; `drain_hidden` answers the rest and fails the frame-only ones at once. - Docs: `docs/control-protocol.md` (hidden windows, `ui.screenshot`) and `docs/mcp.md` (attached mode while the window is minimised). ROADMAP progress log and revision history. Part of #720.