New Paragraph Style with text selected starts from it, as InDesign's: Based On [No Paragraph
Style] and every setting of the text that differs from it, with Apply Style to Selection (on), so
OK gives the paragraph the new style. General has Next Style ([Same style] or a style) and Reset
To Base (the style keeps nothing of its own; edits made in the dialog still apply). Basic
Character Formats is laid out in two columns as InDesign's: the font, then Size | Leading,
Kerning | Tracking, Case | Position.
style.paragraph.edit honours nextStyle (string, or null for [Same style]); it was described but
ignored. It takes resetToBase.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The dialog follows InDesign's: General, Column Rules, Baseline Options, Auto-Size; on General,
framed Columns (Number and Width, Gutter and Maximum, Balance Columns), Inset Spacing (Top and
Bottom, the link, Left and Right) and Vertical Justification (Align, Paragraph Spacing Limit),
with spinner fields. With Fixed Number, Width shows each column's width as the number, gutter
and insets change.
Preview shows the options on the page while the dialog is open (redone as fields change); Cancel
puts the frames back, OK sets them once as one undo step.
Vertical Justification › Justify honours the Paragraph Spacing Limit: the extra space goes
between paragraphs, up to the limit each, and what is left spreads over every line (all of it,
with no limit, as before). object.textFrameOptions takes it as paragraphSpacingLimit.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
As InDesign's Effects dialog › Blending › Mode: the shadows start Multiply
and the outer glow Screen in white; the renderer blends each with what's
behind it, the commands take mode, IDML reads and writes the drop shadow's
BlendMode. Effects saved before read Normal, as they were drawn.
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>
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>
Repin craft-pdf, craft-prepress, krilla and the hayro crates to d30598d.
flatten_document writes the X-1a file at PDF 1.4 with GTS_PDFXVersion
PDF/X-1:2003 in the Info dictionary and XMP, so DesignCraft's header
rewrite and incremental update are gone. check_pdfx1a refuses DeviceN
NChannel attributes and warns about an ICC v4 output intent profile in a
file of PDF 1.5 or lower; the export names the built-in Coated FOGRA39
(v4) when it is the intent. validate-pdf lists warnings apart from issues.
standard x1a writes the PDF/X-4 print file, flattens it with
craft_prepress::flatten::flatten_document at the flattener preset's
resolution (high 300, medium 150, low 72 ppi; default 300), then makes it
PDF/X-1a:2003: the PDF 1.4 header, GTS_PDFXVersion and GTS_PDFXConformance
in the Info dictionary and XMP. check_pdfx1a refuses transparency (soft
masks, transparency groups, CA/ca below 1, blend modes) and color outside
DeviceCMYK, DeviceGray, Separation and DeviceN; export fails when the
flattened file still has either.
The X-1a path skips DesignCraft's RGB transparency flattener. Soft drop
shadows are drawn in their swatch's inks through a coverage mask, so
craft-prepress flattens them per ink instead of an RGB image of the
object. validate-pdf takes --standard x4|x1a; the Export PDF dialog gains
the PDF/X-1a:2003 preset and standard and a Transparency Flattener preset.
Found while testing crates/engine/src/cmd/table.rs:1396-1403
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Export PDF, File > Print and Separations Preview share one print
pipeline: print_pdf builds the print PDF of a set of pages (flattener,
rasterized layers and effects, PDF boxes, the writer, the blend space
outside print color), pdf_export adds Export PDF's view options for
file.exportPdf and file.print, and the preview separates print_pdf's
page per spread. Gradient stops on spot swatches resolve through the
same InkSet as fills (inks::spot_output). The hayro patches move to
craft-libs 8fbfea8 with craft-pdf, craft-prepress and krilla.
Each visible spread is exported in memory as Export PDF writes it (its
print settings, the document bleed) and separated with
craft_prepress::plates off the UI thread, at a resolution matched to the
zoom. The canvas draws all inks composited, one plate as film or the ink
limit over gray; Window > Output > Separations Preview lists the plates,
spot plates by name, with each ink's percentage under the pointer.
view.separations takes spot ink names and reports the plates, ui.inspect
shows the preview's sheets, and ink.separations gives coverage and the
areas over an ink limit to automation. The renderer's GCR separation view
is gone; its plate passes stay for the CMYK blend space.
A stop can name a colour swatch (spot, process, tint, [Paper]) next to its
display colour. swatch.create {gradient}, object.gradient, the Gradient panel
and IDML StopColor keep the reference; renames follow it, swatch edits refresh
the stop's colour and a deleted swatch leaves a plain colour. The field is
optional and omitted for plain stops, so saved documents load and save as
before.
file.print builds its PDF with the same pipeline as file.exportPdf
(flattener, placed PDFs with hidden layers and soft effects as images,
print color, view options), accepts Export PDF's settings and returns its
warnings, instead of calling designcraft_pdf::export_pdf with the
hard-edged vector drop shadow.
Groups are pushed with Surface::push_group, so Knockout Group writes
/K true and Isolate Blending /I true, each on its own. File > Export PDF
no longer rasterizes knockout groups.
Found while testing crates/engine/src/cmd/object.rs:710-711 (also :975)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The Ink Manager settings stay saved by swatch name; PDF export and the
ink commands build a craft_prepress::InkSet from the document's spot
swatches and those settings, and ink.options refuses alias loops. The
hayro crates come from craft-libs at the craft-pdf revision, which
craft-prepress's plate mode needs.
CMYK print exports (a CMYK blend space, and PDF/X-4) take their blending
groups, output intent and /Trapped from write::print::settings instead of
rewriting krilla's bytes. The output intent is the CMYK working space,
Coated FOGRA39 when it has none or its profile can't be written. PDF/X-4
still adds the XMP metadata date and version ID krilla doesn't write.
RGB and PDF/A exports are written as before.
Review fix (CodeRabbit): a story was placed on the page by its highest
hit, so a heading at the top of its later column put the whole story ahead
of another story whose heading sits higher than the first one's. Each story
is now placed by its first hit there in text order.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CgGsJkVe5GYG9qK6VFdECa