designcraft/crates/engine/src/cmd
Brandon Thomas 2531f039fe Data merge: review fixes (bounded reads, no truncation, safe links, docs)
- Remove the docs/superpowers planning spec.
- textimport: cap decompressed zip parts at 64 MiB (protects Place and
  xlsx data sources); oversized part is an error. Regression test.
- datamerge: refuse data files over 256 MiB and skip image candidates
  over 256 MiB by metadata before reading.
- datamerge: assign_page uses get_mut instead of indexing spreads.
- datamerge: one/limit over u32 are errors, not truncated.
- select_records dedupes with a HashSet (was O(n^2)), order kept.
- Hyperlink cells: only http, https, ftp and mailto schemes link.
- Document data.* commands and data.merge creating a new document.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 21:54:38 -04:00
..
datamerge Data merge: review fixes (bounded reads, no truncation, safe links, docs) 2026-10-07 21:54:38 -04:00
anchored.rs T: vertical type — Vertical Type tool, upright CJK, CJK line breaking 2026-10-03 08:18:14 -04:00
anchors.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
articles.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
book.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
buttons.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
captions.rs P: live captions that follow their source's metadata 2026-10-03 10:48:58 -04:00
changes.rs T: accept/reject single changes (+ Track Changes panel) 2026-10-03 07:51:59 -04:00
colorsettings.rs C: Color Settings, Proof Setup and Proof Colors 2026-10-03 07:44:40 -04:00
conditions.rs T: conditional text — conditions, hide/show in layout and exports, panel, IDML 2026-10-02 23:02:15 -04:00
edit.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
editorial.rs T: editorial notes — anchored, flagged on screen, never printed; Notes panel 2026-10-02 23:18:21 -04:00
endnotes.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
export.rs PDF/X-4: warn when a transparency group still blends in RGB 2026-10-06 09:05:03 -04:00
file.rs Data merge: merge into a new document, with preview and tiling 2026-10-07 21:22:06 +11:00
find.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
fonts.rs M2: Find/Replace Font and missing-font highlighting 2026-10-02 00:47:12 -04:00
guides.rs L: Liquid Layout — page rules, liquid guides, object pins, alternate layouts (+ panel) 2026-10-03 04:56:27 -04:00
index.rs M7: index — page references, Generate/Update Index, IDML topics 2026-10-01 22:45:55 -04:00
inspect.rs M14: community links — Help menu (Discord, app page, GitHub, issues, website), About splash with ArtCraft mark, start-screen community card, app-bar Discord button, app.links/help.* commands, CLI 'links', MCP websiteUrl 2026-10-01 14:19:13 -04:00
interactive.rs U: Hyperlinks and Bookmarks panels; hyperlink edit / go to source, bookmark rename 2026-10-02 23:54:22 -04:00
interchange.rs M6.2: IDML import/export 2026-10-01 12:03:28 -04:00
layout.rs T: right-to-left carets and selections; Binding: Right to Left 2026-10-04 01:34:47 -04:00
library.rs Engine: an empty ids names nothing; states.create and conveyor.collect honour id 2026-10-06 09:04:22 -04:00
linked.rs H: linked stories — Place and Link, out-of-date, update 2026-10-03 03:37:01 -04:00
links.rs L: Relink to Folder / Relink File Extension (links.relinkFolder) 2026-10-02 15:52:31 -04:00
liquid.rs L: alternate layouts keep their stories linked to the originals 2026-10-04 00:10:48 -04:00
lists.rs T: named lists continuing across stories (list.define, listName/startAt); null clears overrides 2026-10-02 20:52:11 -04:00
mathexpr.rs T: math expressions — LaTeX subset typeset to SVG, inline or framed 2026-10-03 08:30:11 -04:00
media.rs M: video and sound in interactive PDF (screen annotations, renditions) 2026-10-04 01:44:50 -04:00
mod.rs Data merge: merge into a new document, with preview and tiling 2026-10-07 21:22:06 +11:00
notes.rs M7: footnotes — Insert Footnote, Document Footnote Options, column-bottom layout, PDF/IDML; generic command dialogs 2026-10-01 21:01:27 -04:00
object.rs Engine: an empty ids names nothing; states.create and conveyor.collect honour id 2026-10-06 09:04:22 -04:00
overrides.rs D: parent item overrides — override (Cmd+Shift-click, Override All), remove local overrides, detach 2026-10-02 09:11:04 -04:00
package.rs S: style groups (style.group), renames reach table cells and footnotes; Package report preflight fix 2026-10-02 16:36:29 -04:00
path_type.rs T: Type on a Path — tool, options, screen and PDF 2026-10-02 20:34:20 -04:00
paths.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
pdflayers.rs P: Object Layer Options for placed PDFs 2026-10-03 08:38:23 -04:00
place_text.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
preflight.rs Preflight: placed PDF and SVG graphics have no resolution to check 2026-10-06 09:05:28 -04:00
prefs.rs U: Font menu with search, favourites and previews; persist engine preferences 2026-10-03 00:27:52 -04:00
print.rs O: Print dialog (file.print via the system spooler); shortcuts open dialogs, UI commands win ties 2026-10-02 16:51:21 -04:00
qr.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
scripts.rs W: Scripts panel and script.run (one undo step) 2026-10-03 10:48:58 -04:00
select.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
spelling.rs T: text language — hyphenation, spelling and quotes follow it 2026-10-04 00:01:50 -04:00
states.rs Engine: an empty ids names nothing; states.create and conveyor.collect honour id 2026-10-06 09:04:22 -04:00
strokes.rs F: stroke styles — stripes, wavy, hash drawn (screen + PDF); named custom styles (+ IDML) 2026-10-03 02:39:39 -04:00
style.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
table.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
text.rs Text: carriage returns in typed or created text start paragraphs 2026-10-06 09:04:08 -04:00
toc.rs continued work 2026-10-01 12:51:28 -04:00
transitions.rs E: transparency blend space as the PDF page group 2026-10-03 07:36:50 -04:00
variables.rs continued work 2026-10-01 12:51:28 -04:00
xml.rs Never crash: engine, MCP and tools 2026-10-04 12:43:33 -04:00
xref.rs M7: cross-references and text anchors; menus expose engine features 2026-10-01 22:26:47 -04:00