mirror of
https://github.com/storytold/designcraft.git
synced 2026-10-27 03:36:51 -06:00
The Type tool shows an input method's marked text in the story as a preview of text.insert, underlined (the converting clause twice), with the candidate window at the caret. The commit is one text.insert and one undo step; a cancelled composition leaves the document as it was. Keys, shortcuts, the clipboard and Undo wait while the IME composes; a click, a tool or document switch, or any journaled command keeps the marked text as typed. On macOS the app tells the input context to drop marked text the tool kept. With a split window, only the pane last clicked takes keyboard events (both panes saw them, so typing went in twice). The web build drops only real key names from text events, and nothing while its text input has the keyboard, so autocompleted words survive. The control channel's ui.ime, the headless MCP backend's ui.ime and the MCP ime tool send IME events.