aiongg
71fecf8ad5
Merge #820 : fix(geom): decompose of a flattened transform reports 0 shear instead of NaN
2026-10-13 19:04:34 +00:00
aiongg
7894699eaf
Integration: #818 the document grid setting also drops the background render
2026-10-13 19:04:33 +00:00
aiongg
769b7f56d0
Merge #818 : fix: drop the background render when a display option changes ( #730 )
2026-10-13 19:03:42 +00:00
aiongg
8a4dac7faa
Merge #815 : fix(pdf): leave form fields and media out of PDF/A-2b exports ( #743 )
2026-10-13 19:03:42 +00:00
aiongg
732008dd5a
Merge #814 : fix(render): cap the failed-image cache at 64 entries ( #728 )
...
# Conflicts:
# crates/render/src/images.rs
2026-10-13 19:02:10 +00:00
aiongg
54c467a779
Merge #813 : MCP: render_page and screenshot are not read-only because they can write to path ( #733 )
2026-10-13 19:01:57 +00:00
aiongg
ffcf6e1c78
Merge #810 : Images: reject EPS bounding boxes with nonfinite corners or size ( #740 )
2026-10-13 19:01:57 +00:00
aiongg
c154b4325b
pdf: right-to-left tests read UTF-16 units with as_chunks (clippy 1.99)
2026-10-13 18:46:47 +00:00
aiongg
b4f7286482
Merge text-autosize: opening a file keeps its auto-size frame sizes ( #632 )
...
# Conflicts:
# ROADMAP.md
# crates/engine/src/cmd/interchange.rs
# docs/gaps.md
# docs/target-app-parity.md
2026-10-13 18:40:15 +00:00
aiongg
935741d47c
Text frames: opening a file keeps its auto-size frame sizes
2026-10-13 18:40:01 +00:00
Saad Abdullah
3c070a8cdd
fix(geom): decompose of a flattened transform reports 0 shear instead of NaN
2026-10-13 16:49:51 +00:00
MarekSpodBiedry
79b9971939
fix(pdf): leave form fields and media out of PDF/A-2b exports ( #743 )
2026-10-13 18:44:45 +02:00
MarekSpodBiedry
6599521305
fix: drop the background render when a display option changes ( #730 )
2026-10-13 18:43:26 +02:00
MarekSpodBiedry
b8e7e8ede6
fix(render): cap the failed-image cache at 64 entries ( #728 )
2026-10-13 18:20:29 +02:00
aiongg
7ad3d12883
Merge indd-import: open .indd and .indt files through indd-utils
2026-10-13 16:18:53 +00:00
MarekSpodBiedry
0820ef857c
MCP: render_page and screenshot are not read-only because they can write to path ( #733 )
2026-10-13 18:17:59 +02:00
MarekSpodBiedry
ac8f44d749
Images: reject EPS bounding boxes with nonfinite corners or size ( #740 )
2026-10-13 18:17:58 +02:00
aiongg
a7c3e330ec
INDD: open .indd and .indt files through indd-utils ( #21 , #114 )
...
.indd and .indt documents open through File › Open, drop, the web inbox,
file.open, file.openBytes, file.openIdml and the CLI. The engine converts
them to IDML in memory with storytold/indd-utils (pinned by rev, MIT OR
Apache-2.0, no dependencies, builds for wasm) and imports the result
through the existing IDML path. The converter's warnings come first in the
open result's `warnings`, before the IDML importer's and the font
warnings. A file the converter can't read is an open error, shown in the
Can't Open the File alert.
Routing: a path or name ending in .indd/.indt, or bytes starting with the
INDD signature (the web inbox passes the name without its extension).
opens_as_document and the desktop and web Open dialogs list indd/indt.
Tests use synthetic bytes only: signature-bearing junk, a zero-filled
.indd and a short .indt all fail as open errors with no document added;
a dropped unreadable .indd raises the open alert.
(cherry picked from commit bb8a6a23fa )
2026-10-13 16:15:15 +00:00
aiongg
843d471451
Merge menu-wake: macOS menu-bar commands run at once ( #784 )
...
# Conflicts:
# ROADMAP.md
# apps/designcraft/src/native_menu.rs
2026-10-13 14:58:34 +00:00
aiongg
fca75a3302
Merge locked-paths: tests for path edits on locked layers and groups ( #735 )
...
# Conflicts:
# crates/ui-egui/src/panel_docking_tests.rs
2026-10-13 14:58:15 +00:00
aiongg
572f9d3d9e
Merge editor-undo: story editor test finds the editor by its text input role
2026-10-13 14:58:08 +00:00
aiongg
2be4588658
test(properties): the Stroke link test starts with Properties active ( #736 )
2026-10-13 14:51:54 +00:00
aiongg
e08f3c5997
test(paths): path edits on a locked layer change nothing ( #735 )
2026-10-13 14:51:53 +00:00
aiongg
368958ee2f
fix(macos): a menu-bar command runs at once instead of on the next input ( #784 )
2026-10-13 14:51:52 +00:00
aiongg
6d9f6db23d
test(story-editor): find the editor by its text input role
2026-10-13 14:50:21 +00:00
aiongg
a2ec9b46ae
Integration (locked-paths): Stroke link test shows Properties, which floating Layers leaves behind Pages
2026-10-13 14:47:24 +00:00
aiongg
d9c766dd16
Integration (editor-undo): Story Editor test focuses the text input, not its text run; paste test sets its stale selection after Undo restores the selection
2026-10-13 14:47:23 +00:00
aiongg
4a349ce1c6
Integration: format
2026-10-13 14:33:51 +00:00
aiongg
d087c035b2
Merge recovery-dirs: fix(recovery): an explicit recovery folder never overwrites or deletes another run's checkpoints ( #715 )
2026-10-13 14:32:52 +00:00
aiongg
67b53772ff
Merge pdf-hidden-fields: fix(pdf): form fields, buttons and media that don't print stay out of the PDF ( #726 )
2026-10-13 14:32:17 +00:00
aiongg
a4f4a95901
Merge idml-overrides: fix(idml): export keeps overridden parent items and their local copies' links ( #725 )
2026-10-13 14:31:45 +00:00
aiongg
e04cce9838
Merge epub-tables: fix(epub): EPUB and HTML export include tables, footnotes and endnotes ( #724 )
2026-10-13 14:31:31 +00:00
aiongg
4e3a5364e5
Merge docx-tables: fix(textimport): Word table cells skip deleted text and field codes; Normal comes in as its own style ( #721 , #722 )
2026-10-13 14:31:03 +00:00
aiongg
c538979fc7
Merge cache-keys: fix(compose): text recomposes when the baseline grid, a wrap layer's visibility or section numbering changes ( #718 )
2026-10-13 14:29:08 +00:00
aiongg
a39bb70c5b
Merge locked-paths: fix(paths): path edits refuse a path on a locked layer or in a locked group ( #735 ); fix(properties): links to other panels open them when panel docking is on ( #736 )
2026-10-13 14:28:19 +00:00
aiongg
a418a8a309
Merge editor-undo: fix(editing): Story Editor stays with its document; Undo restores the selection from before the command ( #729 , #716 )
2026-10-13 14:27:42 +00:00
aiongg
3d3f02e621
Merge save-result: fix(file): saving never reports success without a file ( #741 , #708 )
2026-10-13 14:27:03 +00:00
aiongg
debec75166
fix(textimport): Word table cells skip deleted text and field codes; Normal comes in as its own style ( #721 , #722 )
...
Table cell paragraphs go through the same run and inline path as body paragraphs, so deleted and moved-from text and field instructions stay out of cells, and field results, tabs and breaks come in.
Word's Normal imports as a paragraph style named Normal whose definition is w:docDefaults with Normal's own properties on top; paragraphs without a style use Word's default paragraph style. A styleMap entry can still map Normal to [Basic Paragraph].
2026-10-13 14:23:08 +00:00
aiongg
4eb786e880
fix(recovery): an explicit recovery folder never overwrites or deletes another run's checkpoints ( #715 )
2026-10-13 14:22:58 +00:00
aiongg
eb83d23040
fix(file): saving never reports success without a file ( #741 , #708 )
...
to_bytes returns a Result and every caller propagates it, so a document
that can't be written is an error: the existing file, the unsaved state
and the recovery checkpoint stay. Asset entries near or over 4 GiB are
written with zip64 sizes. On the web, Save marks the document saved only
after the browser download has started.
2026-10-13 14:22:27 +00:00
aiongg
f606992782
fix(properties): links to other panels open them when panel docking is on ( #736 )
2026-10-13 14:19:57 +00:00
aiongg
8817e07013
fix(paths): path edits refuse a path on a locked layer or in a locked group ( #735 )
2026-10-13 14:19:56 +00:00
aiongg
c91b9af16d
fix(epub): EPUB and HTML export include tables, footnotes and endnotes ( #724 )
2026-10-13 14:19:45 +00:00
aiongg
2c7e3e53f0
fix(editing): Story Editor stays with its document; Undo restores the selection from before the command ( #729 , #716 )
2026-10-13 14:19:00 +00:00
aiongg
e3d7b44f4c
fix(pdf): form fields, buttons and media that don't print stay out of the PDF ( #726 )
...
Fields, buttons and video or sound are collected with the page content's
inclusion rule: the item's layer is visible and printable, and neither the
item nor any group around it is hidden or non-printing.
2026-10-13 14:18:35 +00:00
aiongg
d6f4c0133a
fix(compose): text recomposes when the baseline grid, a wrap layer's visibility or section numbering changes ( #718 )
2026-10-13 14:18:20 +00:00
aiongg
06762c3bfc
fix(idml): export keeps overridden parent items and their local copies' links ( #725 )
2026-10-13 14:17:13 +00:00
aiongg
578818466e
Merge craft-cms: Colour management on craft-cms
2026-10-13 13:08:18 +00:00
aiongg
fc31f7f14d
Merge craft-cms-adoption: colour management on craft-cms (next's image path)
2026-10-13 13:07:32 +00:00
aiongg
73af5d7f63
Merge script-dollar: GREP replacements like $1 stay literal in scripts ( #749 )
...
# Conflicts:
# ROADMAP.md
2026-10-13 13:01:31 +00:00