Typing over "(87.6 pt)" and pressing Escape leaves the leading automatic;
only Enter or leaving the field commits it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One glyph each for the selection, the key object, the margins, the page and
the spread, drawn in code, so the button tells what the objects align to.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
object.clearFittingOptions puts the frames' auto-fit, crop amounts and
reference point back to their defaults and leaves the picture where it is.
Object > Fitting (and the context menu) groups the proportional fits, the
frame and content fits, Clear Frame Fitting Options and the dialog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rows show a crossed pencil on the swatches that can't be edited ([None],
[Registration], [Black]), the colour type (process halftone or spot disc)
and the colour mode (CMYK, RGB, Gray, or the [None] and [Registration]
glyphs), drawn in code, in place of a lock and "CMYK" text. The Tint field
reads 100 with nothing selected, as InDesign's.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Points selected with Direct Selection title Properties "Anchor Point(s)"
and show Transform, Appearance, Convert Points and the Delete Point(s)
quick action, as InDesign does. path.deletePoints removes the selected (or
given) points of several paths in one undo step. The Convert Point glyphs
are redrawn after InDesign's: the anchor on a corner or a curve with its
handles.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The readout beside the cursor while drawing or measuring uses a new
readout_bg token, InDesign's #a8a8a8 with white text as measured from the
tutorials' frames. High Contrast keeps it black.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A four-cornered empty graphic frame draws its X from corner to corner, so a
frame slanted with Direct Selection keeps the X on its corners, as InDesign
draws it. Other shapes still span their bounds.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A field showing an automatic value in parentheses commits what is typed over
it even when it is the same number, so typing 87.6 over (87.6 pt) sets fixed
leading, as InDesign does.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Edit > Keyboard Shortcuts is craft_keymap::ui::ShortcutsDialog over the
keymap and named shortcut sets. ui.json stores the sets as shortcutSets
and still writes the active set as shortcuts plus shortcutsMore. The
InDesign importer is the dialog's second import format, with a review,
and window.importShortcuts imports as a new set. window.shortcutSets
lists and selects sets. The native macOS menu drops its key equivalents
while the dialog records.
Undo, Redo, Select All and Story Editor keep running while typing in a
text frame through Text-context copies of their defaults. Tests for
Ctrl+Alt+Shift+N and AltGr while typing, and for Cmd+Shift+C as the
desktop and the web send it. window.setShortcut leaves a panel's twin
out of its conflicts. Removes the unused tool_for_shortcut, and moves
effective_shortcuts and shortcut_string out of the app code.
A zone is a side of the anchor. Without anchor or side, craft-ui would
make a frame on the outer edge of DesignCraft's root, which splits the
canvas; the error names anchor and side instead.
Pin craft-ui to aiongg/craft-libs 352a830. Workspace::set_visible takes
the panels' permissions; group_header_width takes the strip width. Tests
reach docking controls through DockArea::hit_id and floating_layer
instead of rebuilding egui ids. Control names in DOCK_LABELS follow
craft-ui's sentence case.
Test: dragging a dock divider and then pressing an arrow key nudges the
selection and leaves the dock's size alone.
Distinguish numbers from counts and text columns from grid columns, use formal Hungarian address consistently, and align menu paths with the visible labels. Add context and menu-path regression coverage and correct the localization language count and revision history.
Set my chosen real name and display name to Veress Róbert and disable GitHub profile-name synchronization. Preserve all other contributor entries.