mirror of
https://github.com/storytold/designcraft.git
synced 2026-10-28 20:26:57 -06:00
The shortcut model, dispatch and storage move onto the shared craft-keymap
crate. The catalogue is built from UI_COMMANDS, the engine command specs,
the panels (window.panel {panel}) and the tools (tool.select {tool}, one
group per Tools-panel group), with menu paths from the menu tree.
- Dispatch goes through craft_keymap::egui::Dispatcher; presentation keys,
Esc-to-selection, Clear and the native-menu skip stay app-side, and the
clipboard events stay with the canvas.
- Panels take InDesign's default keys where DesignCraft leaves them free.
- Tool keys are editable; tools sharing a key take turns.
- ui.json keeps its shortcuts as craft-keymap Overrides; the map form older
versions saved loads unchanged.
- window.setShortcut accepts params (panels), tool ids and steal; the
Keyboard Shortcuts dialog lists panels and tools and moves recorded keys.