Commit Graph
4827 Commits
Author SHA1 Message Date
moppeeerandClaude Opus 5.5 b50eb265af Pages panel: parents and pages scroll on their own, a divider resizes them, the footer stays at the bottom
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 20:12:36 +02:00
moppeeer 70df119149 TUT3.2: show captured and pending paragraph style settings 2026-10-15 19:41:49 +02:00
moppeeer 8fb944fe06 TUT4.3: redefine text styles from local formatting 2026-10-15 19:12:09 +02:00
moppeeer 4ea23d4ccd TUT1.1: restore the Typography workspace panel groups 2026-10-15 19:07:12 +02:00
moppeeer e298455174 TUT4.2: preview edits in text style options 2026-10-15 19:05:55 +02:00
moppeeer 4f3a55a190 TUT3.1: let captured text inherit later style edits 2026-10-15 19:01:13 +02:00
moppeeer 7313bdfc93 TUT4.1: show and clear text style overrides in Styles panels 2026-10-15 19:00:08 +02:00
Claude 31e9316331 Merge GitHub's sync of drop-cap-size with storytold:main (same upstream)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CgGsJkVe5GYG9qK6VFdECa
2026-10-15 16:43:21 +00:00
moppeeerandClaude Opus 5.5 09f8089943 Properties: Edit Page takes the Page tool to the page and shows its own size, as InDesign's
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 18:13:05 +02:00
moppeeerandClaude Opus 5.5 5ab0abaf6f Pages: deleting pages that contain objects asks first, with Don't show again
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 18:02:04 +02:00
moppeeerandClaude Opus 5.5 29f02d5458 Canvas: pages show their paper while their render is on its way
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 17:49:01 +02:00
Claude 5af96dcaf5 Merge upstream main into drop-cap-size
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CgGsJkVe5GYG9qK6VFdECa
2026-10-15 15:31:46 +00:00
sanyamsingh001andCodex b20a94aa6a Merge tested main 26137acbb2 into PR #456
Preserve the reviewed PR behavior and tested upstream base.

Co-Authored-By: Codex <codex@openai.com>
2026-10-16 01:31:43 +10:00
NetterSilverandClaude Haiku 5.5 108427e216 Keep text of inline content controls in DOCX import
Found while testing crates/textimport/src/docx.rs:354

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 15:24:11 +00:00
moppeeerandClaude Opus 5.5 3d91e64605 New Document: a tab shows its first preset; Saved starts with [Default], as in InDesign
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 17:18:43 +02:00
moppeeerandClaude Opus 5.5 e2ad5cafa2 UI: double-clicking the status bar's preflight count shows the Preflight panel
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:57:42 +02:00
moppeeerandClaude Opus 5.5 32146348b8 UI: Tab, Shift+Tab and Presentation hide flyout and floating panels too
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:43:38 +02:00
seanth bed340cb3f Merge branch 'storytold:main' into drop-cap-size 2026-10-15 10:34:23 -04:00
moppeeerandClaude Opus 5.5 75d3e528ff View: Presentation shows one spread fitted to the screen and goes through spreads with arrow keys and clicks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:32:52 +02:00
moppeeerandClaude Opus 5.5 e001b41221 Layout: First/Previous/Next/Last Page and Next/Previous Spread with InDesign's shortcuts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:25:51 +02:00
NetterSilverandClaude Haiku 5.5 61d625bd90 Keep '-' after an RTF control word when no digit follows
Found while testing crates/textimport/src/rtf.rs:160

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-15 16:23:55 +02:00
moppeeerandClaude Opus 5.5 56cef8aeee Test and ROADMAP: an object wraps the frame its anchor lands in
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:07:17 +02:00
sanyamsingh001andCodex f9bd971fff Reject threading that would create linked-story ancestor cycles
Co-Authored-By: Codex <codex@openai.com>
2026-10-16 00:00:19 +10:00
NetterSilverandClaude Haiku 5.5 61d5f3a1ef Fix \rightarrow closing a \left fence early in math expressions
Found while testing crates/engine/src/math.rs:393

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:36:29 +00:00
moppeeerandClaude Opus 5.5 b642cec8cb Anchored objects wrap their own story as their anchor lines are set
#563 composed the story again with its objects where the previous pass put them, up to four
times. In a long story whose objects move between frames from one pass to the next (Learn Skills
Daily's 03_HP_LongDoc_Class, 79 pages), that never settled: stale wrap areas pushed headings into
the next frame. Now the composer places a custom or above-line object when its anchor line is set
and the lines after it wrap it in the same pass, as in InDesign.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 15:32:19 +02:00
moppeeer fda2ff5835 local: merge #563 2026-10-15 15:09:56 +02:00
midasmatterhorn 0c4fc4c0c5 images: the DOS EPS TIFF preview is read where the spec puts it
The EPSF binary header is 22 bytes (magic, psStart, psLength, tiffStart,
tiffLength, checksum), so the TIFF section is at 12/16 — not at 20/24,
which is the checksum plus the first two bytes of the PostScript section
and always lands past the end of a real file. A legacy DOS EPS therefore
never showed its preview: it fell back to drawn rectangles or the grey
placeholder. The old fixture encoded the same wrong layout, so it could
not catch it.

Read tiffStart/tiffLength at 12/16, document the header, and rebuild the
fixture on the real layout. Regression: the fixture test fails on main
(pixel_size 201x101 — the stand-in) and passes with the fix (10x5 — the
preview).
2026-10-15 15:57:28 +03:00
midasmatterhorn 937e948a3d docx: an explicit off imports as off
ST_OnOff (ECMA-376 17.17.4) is a boolean plus the words on and off, but
the toggle reader only counted 0/false/none as off — so <w:b w:val="off"/>
(a legal spelling written by non-Word producers) imported as bold, and
the same for <w:i>, <w:strike>, <w:caps>, <w:isLgl> and <w:u>.

Add "off" to both off-lists. Regression test:
off_valued_toggles_stay_off — on main the off run imports bold; with the
patch it stays regular and an on run stays bold.
2026-10-15 15:54:09 +03:00
midasmatterhorn 46a914dc4c idml: one unusable CJK metric no longer refuses the whole file
Composite-font and mojikumi metrics were taken from the file with no
sanity check, and Document::check rejects a zero, NaN or infinite
relative_size / horizontal_scale / vertical_scale / baseline_shift — so
one attribute anywhere in the package (RelativeSize="0",
BaselineShift="NaN") failed the import with "invalid composite font
metrics" and left the file unopenable. Every neighbouring number in this
importer already filters; the metrics now do too and fall back to a
usable value.

Regression test: unusable_cjk_metrics_do_not_refuse_the_whole_file —
fails on main with Invalid("invalid composite font metrics: Rubies"),
passes with the fallback.
2026-10-15 15:42:25 +03:00
pepen ba0b0ec110 fix(ui): the status bar's error count opens the Preflight panel
The "N errors ▾" text in the status bar was a plain label. As in
InDesign it is now a menu; its Preflight Panel… entry shows the panel
(`window.panel {panel: "preflight"}`).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 533ba782643314e5841fb8bb58cd3af4bf2dd9ae)
2026-10-15 14:38:33 +02:00
pepen 33c670671c fix(snap): objects snap to the bleed guide
Moving, resizing and drawing snapped to page edges, margins, columns and
ruler guides but never to the bleed guide. `Spread::bleed_rect` now holds
the bleed rectangle (shared by the canvas, which drew it with its own
copy of the rule), and the guide pass offers its four sides.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit ad7a78d7439a906ab3545ff98801ee37b15be127)
2026-10-15 14:38:32 +02:00
moppeeerandClaude Opus 5.5 45a6cc54b9 New Workspace: Capture Panel Locations and Menu Customization, as InDesign's
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 14:12:42 +02:00
moppeeerandClaude Opus 5.5 4e7c49b36b Window > Paragraph Styles opens the floating Character Styles | Paragraph Styles group
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 14:04:38 +02:00
moppeeerandClaude Opus 5.5 080534b09a Panel tabs: InDesign's Close, Close Tab Group, Minimize and Collapse to Icons
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:53:19 +02:00
moppeeer dba8774a13 Merge origin/main into codex/font-menu 2026-10-15 13:26:37 +02:00
pepen ffc0aa3629 feat(ui): overset mark on every overset frame, groups included
With frame edges shown, every text frame that ends an overset story
carries the red mark at its out port, selected or not and inside
groups too. InDesign marks only the selected frame, so an overflowing
label inside a grouped object stayed invisible until Preflight.
Hidden frames and hidden layers are skipped; the group walk is bounded.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit d9ef96dd4b8189b423b4fc32bbb4bf6e3c5c6727)
(cherry picked from commit b60500660ba1dd02bd5c09dd35e0e3238b6ae21b)
2026-10-15 13:15:54 +02:00
pepen 3fa4d72d67 fix(ui): text frames inside a selected group show their ports
A selected group drew no in/out ports for the text frames in it, so an
overset frame inside a group had no red mark. The selection walks groups
(bounded depth) and draws each nested text frame's ports with the group's
transform.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 17a3cf9bd1c695a585e94fce125ed9d3a3a5929d)
2026-10-15 13:15:54 +02:00
moppeeer 8236696234 Merge origin/main into codex/direct-select-unselected-anchor 2026-10-15 13:09:51 +02:00
moppeeer 2da46a8a3a Merge origin/main into codex/gradient-panel-layout 2026-10-15 13:04:12 +02:00
moppeeer 7242c4508f Merge origin/main into codex/new-gradient-swatch 2026-10-15 12:54:34 +02:00
moppeeer 78997e391a Merge origin/main into codex/text-frame-options-layout 2026-10-15 12:46:27 +02:00
moppeeer b3fb92a97f Merge origin/main into codex/content-handles 2026-10-15 12:38:07 +02:00
moppeeer 8ca022a11d Merge origin/main into codex/ungroup-real-groups 2026-10-15 12:29:01 +02:00
moppeeer c8cbe0a0dc Merge origin/main into codex/effects-dialog 2026-10-15 12:16:04 +02:00
moppeeer bfe7ba75b7 Merge origin/main into codex/paste-svg-paths 2026-10-15 12:07:55 +02:00
moppeeer e9d3effe65 Merge origin/main into codex/transform-content 2026-10-15 12:04:06 +02:00
moppeeer a14acea3a4 Merge origin/main into codex/swatch-popup-tint 2026-10-15 12:00:15 +02:00
moppeeer 12a41f69db Merge origin/main into codex/document-setup-dialog 2026-10-15 11:55:59 +02:00
moppeeer cc467a890d Merge origin/main into codex/pages-panel-sections 2026-10-15 11:50:35 +02:00
moppeeer c37dcc5c1d Merge origin/main into codex/new-section-dialog 2026-10-15 11:47:14 +02:00