mirror of
https://github.com/storytold/designcraft.git
synced 2026-11-14 22:35:26 +00:00
Preserve linked story parents when duplicating a layer
This commit is contained in:
262 files changed
+83030
-82116
No files matched your search
@@ -54,7 +54,7 @@ code points in the text. Threading is the story's ordered frame list.
|
||||
Every user-visible action is a `CommandSpec` (`id`, `label`, menu path, shortcut, parameter
|
||||
doc, `enabled`, `run`, journaled, undoable) in `crates/engine/src/cmd/*`. The UI, the CLI, MCP
|
||||
and the control channel all call `Session::execute(id, params)`. UI-only commands (windows,
|
||||
panels, zoom, dialogs) are `UI_COMMANDS` in `crates/ui-egui/src/menus.rs`, reachable the same way.
|
||||
panels, zoom, dialogs) are `UI_COMMANDS` in `crates/ui-egui/src/menus/ui_commands.rs`, reachable the same way.
|
||||
Tool gestures emit Begin/Preview/Commit commands so a drag is one undo step. Every journaled
|
||||
command is replayable as a script. Escaped panics during a command or an import/export become an
|
||||
error (`engine/src/guard.rs`), never a lost document; native recovery is written periodically
|
||||
|
||||
@@ -166,8 +166,9 @@ to icons and `dockExpanded:true` expands the outer column. Activating a floating
|
||||
raises its group. These operations change only UI layout.
|
||||
|
||||
Clicking an icon in an iconic column opens its group as a flyout beside the column, on the
|
||||
canvas side; clicking the icon again closes it. With Auto-Collapse Iconic Panels on (the
|
||||
default; a column bar's menu toggles it), Escape or a click outside the flyout closes it too.
|
||||
canvas side; clicking the icon again, or another icon, closes it. With Auto-Collapse Iconic
|
||||
Panels on (off by default; a column bar's menu toggles it), Escape or a click outside the flyout
|
||||
closes it too.
|
||||
|
||||
`ui.docking` returns the panel layout in use; `ui.inspect` includes the same object as
|
||||
`docking`:
|
||||
@@ -181,7 +182,7 @@ default; a column bar's menu toggles it), Escape or a click outside the flyout c
|
||||
{"groups": [{"panels": ["stroke"], "active": 0}, …], "width": 260.0, "iconic": true,
|
||||
"iconic_width": 37.0}]}}}},
|
||||
"floating": []},
|
||||
"customized": false, "focused": "canvas", "flyout": null, "autoCollapse": true,
|
||||
"customized": false, "focused": "canvas", "flyout": null, "autoCollapse": false,
|
||||
"rightToLeft": false, "hidden": [],
|
||||
"hitRects": [{"hit": {"Tab": "properties"}, "rect": [983.0, 0.0, 74.0, 27.0]},
|
||||
{"hit": {"DragBar": "properties"}, "rect": [1190.0, 0.0, 56.0, 27.0]},
|
||||
|
||||
@@ -10,7 +10,7 @@ Script-specific typesetting detail: [cjk.md](cjk.md), [cjk-typography.md](cjk-ty
|
||||
|
||||
## How it was measured
|
||||
|
||||
Interface strings live in `crates/ui-egui/src/i18n.rs` (a shared table with German, French,
|
||||
Interface strings live in `crates/ui-egui/src/i18n/table.rs` (a shared table with German, French,
|
||||
Spanish, Japanese and Simplified Chinese columns) and `crates/ui-egui/src/i18n/{ar,cs,it,ja,ka,pt_br,uk}.rs`.
|
||||
Untranslated strings fall back to English. A script (2026-10-10) built the set of English
|
||||
interface strings as the union of every catalog's keys, every engine command label and every
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@ basics of editing fail for too many users on Windows and Linux.
|
||||
| What | Value | How |
|
||||
|---|---|---|
|
||||
| InDesign 21.6 menu items matched (in scope) | 331 / 482 (69%) | script over the running app's menu dump; see target-app-parity.md |
|
||||
| Menu bar | 9 menus, 49 submenus, 340 items | `MENUS` in `crates/ui-egui/src/menus.rs` |
|
||||
| Menu bar | 9 menus, 49 submenus, 340 items | `MENUS` in `crates/ui-egui/src/menus/tables.rs` |
|
||||
| Commands | 446 engine (188 in menus) + 99 UI | `crates/engine/src/cmd/*`, `UI_COMMANDS` |
|
||||
| Theme colours | measured hex values of Medium Dark, 4 brightness themes + High Contrast | `theme::Tokens` vs `11-observed-ui.md` §1 |
|
||||
|
||||
@@ -35,7 +35,7 @@ basics of editing fail for too many users on Windows and Linux.
|
||||
| Overset mark (red + at the out port) | selected frame only | every overset frame, groups included, while frame edges show | ✓ | a deliberate step past InDesign: grouped labels that overflow were invisible until Preflight |
|
||||
| Smart guides, snapping to guides/grid/baseline | ✓ | ✓ (2,049-line `snap.rs`) | ~ | vertical smart spacing between two rectangles (#188) |
|
||||
| Nudging with arrows, Shift ×10 | ✓ | ✓ | ✓ | |
|
||||
| Document views: scrollbars (each split pane), Hand tool by Space, middle drag, or Alt while editing text | ✓ | ✓ | ✓ | `canvas.rs` `scrollbar_tests` |
|
||||
| Document views: scrollbars (each split pane), Hand tool by Space, middle drag, or Alt while editing text | ✓ | ✓ | ✓ | `canvas/scroll.rs` `scrollbar_tests` |
|
||||
| Gridify while drawing, Gap tool, Live Distribute | ✓ | ✓ | ✓ | |
|
||||
| Type tool: caret, selection, double/triple click, drag-and-drop text | ✓ | ✓ | ~ | formatting at a caret discarded (#289); text editing complaints (#23, #174) |
|
||||
| Threading: click out port, load text cursor, click frame | ✓ | ✗ ports drawn only; no thread/unthread command; Primary Text Frame and autoflow on Place | ✗ | **alpha blocker** (#352, #194, #165, #140) |
|
||||
|
||||
Reference in new issue
Block a user