LYH Studio episode 6 colours the "1969" headline (8:28) and the loop's
stroke (9:15) from the Swatches panel, whose header holds InDesign's
Fill/Stroke proxy, Formatting Affects Container/Text and the Tint field.
- Header: a Fill/Stroke proxy showing the colours of what colour edits
apply to (panels::color_target; a click brings the other to the front,
as X does), the container/text buttons (app.formattingAffectsText) and
the tint of the colour in front.
- The Tint field sends only the tint, so each selected object (or run of
text) keeps its own swatch: object.fill takes a tint without a swatch,
and a stroke tint alone doesn't give a stroke-less object a stroke.
- Clicking a swatch applies it to the fill or stroke in front
(panels::apply_swatch, to the text when colours affect text); that row
is highlighted.
- Bottom row: New Color Group, New Swatch, Delete Swatch (the swatch last
clicked). Rows and the proxy are named for accessibility (and tests).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Add multi-click text selection, pending caret formatting and clipboard support, text-aware colour controls, guide/grid snapping, and frame threading with loaded-port interactions.
Include the layout, drop-cap and IDML updates carried from #83, with safeguards for generated and linked stories, external text references, local IDs, locked frames and atomic colour edits.
Fixes#23.
Co-authored-by: Sean Hammond <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Chris Cicchino's "Adobe InDesign – Page Tool and Liquid Layout" (0:42,
2:06) holds Option and drags a page in the Pages panel to copy it,
drags a page onto the New Page button to duplicate it ("click and drag
onto my plus sign I can duplicate that"), and resizes pages; InDesign's
panel also has an Edit page size button. DesignCraft's panel only moved
pages on drag, had no Edit page size button, and duplicating a page gave
the copy the size of the page before it (not its own) without its
liquid rule or guides. A page of its own size also drew its thumbnail
at the document's scale, over the panel's footer.
- Pages panel: Alt-drag copies the page to where it's dropped; a page
dropped on Create new page is duplicated at the end of the document;
Edit page size lists the presets (in the page's orientation) and
Custom Page Size…; InDesign's tooltips (Create new page, Delete
selected pages).
- Thumbnails share one scale (the document's page size, smaller when a
taller page would pass 1.8 times the usual height); rows fit their
spread's tallest page.
- engine: layout.pages.duplicateSpread copies the pages' size, margins,
columns, guides and liquid rule, takes `atEnd`, and returns the copy's
first page.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Chris Cicchino's "Adobe InDesign – Page Tool and Liquid Layout" (11:00–
13:30) drags guides out of the rulers with the Page tool on a
guide-based page: "these guides are a little bit different... they are a
dashed line, a cyan dashed line" - liquid guides, which let the objects
they cross stretch with the page. DesignCraft drew liquid guides dashed
and applied them, but a guide could only become liquid through the
Liquid Layout panel's list: ruler drags always made ruler guides.
- canvas: with the Page tool, a page guide dragged from a ruler is a
liquid guide; its preview is dashed while it's dragged.
- engine: guide.add takes `liquid`.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Chris Cicchino's "Adobe InDesign – Page Tool and Liquid Layout" (6:32–
9:58) clicks an object with the Page tool on an object-based page and
gets InDesign's on-canvas liquid controls: a pin outside each edge
("Object is pinned relative to the page edge. Click to release.") and a
padlock on the width and height lines ("The object's width is locked.
Click to let the object change width as the page changes width."). The
pins and resize settings existed (liquid.object, the Liquid Layout
panel) but the canvas showed none of it.
- tools: on an object-based page a Page tool click selects the object
with its page (layout.selectPage takes `ids`); its pins (14 px outside
each edge's middle) and width/height locks (beside the centre) toggle
liquid.object on click, show InDesign's tooltips on hover and a hand
cursor.
- canvas: LiquidPins (orange dashed width/height lines with padlocks,
open when the object follows the page; hollow pins, or a line to the
page edge when pinned) and Tip overlays; tooltip translations.
Builds on the Page tool PR (#862).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Chris Cicchino's "Adobe InDesign – Page Tool and Liquid Layout" (1:02–
2:06, 13:47) sizes pages from the Control panel with the Page tool
selected: X/Y, W/H, the page-size preset ("US Business Card"),
orientation, Liquid Page Rule ("Controlled by Parent"), Objects Move with
Page and Show Parent Page Overlay. DesignCraft's Control panel showed the
(empty) object controls.
- ui: with the Page tool, the Control panel shows the selected page (or
the page in view): the reference point (W/H, preset and orientation
keep it in place via layout.pageSize's anchor), X/Y (read-only),
W/H, the preset dropdown, portrait/landscape, Liquid Page Rule, Objects
Move with Page (always on: pages don't move within spreads yet) and
Show Parent Page Overlay.
- doc: LiquidRule::ControlledByParent (the parent page's rule, Off
without one; resolved by liquid::effective_rule); Page.show_parent_overlay.
- engine: layout.pageOptions {pages, showParentOverlay}; liquid.pageRule
takes controlledByParent.
- canvas: the parent page's size over a page with the overlay on.
- Liquid Layout panel and Control panel share InDesign's rule list
(Off, Scale, Re-center, Object-based, Guide-based, Controlled by
Parent); "US Business Card" preset; translations.
Builds on the Page tool PR (#862) for the selected page.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
table.options added as many rows as the requested header and footer
counts needed, without a limit. A large number typed into the Table
panel's Header Rows field froze the app and exhausted memory. Both
counts are now capped at 100, the limit table.insert already has.
Chris Cicchino's "Adobe InDesign – Page Tool and Liquid Layout" (0:42–
2:06) selects a page with the Page tool, gets its bounding box with
handles, drags a handle (the page springs back: a liquid-rule preview),
holds Option to really resize it, Shift for proportions, and reads the
size in a tooltip by the cursor. DesignCraft's Page tool only opened a
generic Page Size dialog on click.
- tools: the Page tool selects the page under a click (none on the
pasteboard); the selected page shows its outline, eight handles and
its liquid page rule ("Scale", "Object-Based"…) above it. Dragging a
handle previews layout.pageSize (the liquid rule re-flows the
objects) and springs back on release; Alt resizes, Shift keeps the
proportions; a W/H readout follows the pointer; resize cursors on the
handles. Double-click a page for the Page Size dialog.
- doc: Selection.page (the Page tool's page); engine: layout.selectPage
(no undo step).
- layout.pageSize `anchor` (0-8): the page grows away from the
reference point and its objects and guides keep their place relative
to it (a handle drag anchors the opposite edge); liquid rules work
from that.
- canvas: PageHandles and Tag overlays; translations for the tags and
the Resize Page undo label.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The cross-reference index composed its destination stories through
the cache. One with a running header asked for the running-header
index, which composed the story holding the cross-reference, which
asked for the cross-reference index again: the stack overflowed and
the app aborted. Destination stories with a running header are now
composed without it, like those with cross-references already were.