Commit Graph
4827 Commits
Author SHA1 Message Date
Dylan M. Taylor 08718d712c Merge pull request #1658 from dylanmtaylor/sonar/security-reliability
fix: keep package temp files owner-writable (SonarCloud rust:S2612)
2026-10-23 10:02:32 -04:00
Dylan M. Taylor bd7fb76d4c fix: annotate package output permissions (SonarCloud rust:S2612)
New packages are created with the ordinary 0666 request; the process umask
decides the effective mode. Annotated with that reason so the analyzer's
world-writable warning does not change the intended sharing behaviour.

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
2026-10-23 09:53:28 -04:00
Marco Arnulfo 13f6739f49 Layout: Next or Previous Spread at the last or first spread is no jump for Go Back
At the end of the document the spread command only centres the spread in view,
which can move the view from one facing page to the other. That move was
recorded as a jump, so Go Back went to the other page of the same spread
instead of the page viewed before.
2026-10-23 15:39:47 +02:00
hslrmnp27 1f979b521f T.DE1: merge upstream 0.12.0 while preserving German hyphenation
Merge upstream/main e74208dd into the working branch and retain PR #1254 unchanged. Resolve ROADMAP.md by preserving both progress histories.

Validation: fmt, pdf-deps and workspace Clippy passed; compose 364 passed, 1 ignored, including all 4 German tests. Full CI stops at 4 pre-existing Windows engine tests (paths and symlink privileges); their sources match upstream. Assets check flags the two untracked local chronicle documents.
2026-10-23 15:18:57 +02:00
moppeeerandClaude Opus 5.5 55606d2927 Anchor Point(s): one point shows its frame's W and H, greyed
A single selected point has no size, so Transform's W and H read 0p0. InDesign
shows the object's width and height there, greyed out and not editable; with two
or more points they measure (and set) the points' bounds as before.

SelInfo keeps the selected objects' size from before the points replace the
bounds, and the anchor Transform section shows it in disabled W/H fields when
one point is selected.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 14:37:19 +02:00
moppeeerandClaude Opus 5.5 3fbaf8dfb9 Direct Selection: handles around the selected anchors only, and no bounding box
As InDesign: a selected anchor shows both its direction handles, and its
neighbours the handle that shapes the segment to it; with no anchor
selected no handle shows. Handles that don't show can't be grabbed (one
rule, select::handle_shown, for drawing and hit testing). The pen and the
anchor tools still show every handle. Under the anchor tools the selection
is drawn as its path and points, without the bounding box.

Found in the Learn Skills Daily course, chapter 43.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 14:28:48 +02:00
makesomethingshit b6f82deb11 #1620: Restore Properties Back from parent editing 2026-10-23 21:24:01 +09:00
moppeeerandClaude Opus 5.5 a1d4b1bc27 Merge #902 (Direct Selection pulls a corner of an unselected object) into direct-select-anchor-points
Both change the Direct Selection tool: #902's corner pull now builds the
anchor drag with this branch's list of other selected anchors (none), so the
two build together; both sets of tests are kept.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 14:13:33 +02:00
makesomethingshit 4f45a0127a #1620: Resize selected parent pages from page controls 2026-10-23 20:58:19 +09:00
moppeeer 19ba40b31a Merge remote-tracking branch 'origin/main' into indesign-default-swatches 2026-10-23 12:42:33 +02:00
moppeeer 5a07446487 Merge remote-tracking branch 'origin/main' into effect-blend-modes 2026-10-23 12:42:04 +02:00
moppeeer 6be1c70716 Merge remote-tracking branch 'origin/main' into insert-pages-dialog 2026-10-23 12:40:53 +02:00
Marco Arnulfo e7d16aeaaa docs: autoflow drops the pages it added for unused frames; threading into grouped frames is no longer a gap 2026-10-23 11:40:25 +02:00
Marco Arnulfo 5539e28647 Layout: Go Back after Presentation returns to the last spread presented
Presentation's spreads now count as one jump in the window's history, and
leaving it as a jump back to the view it was entered from, at the place the
view was. Before, the history stayed on the last presented spread while the
view was put back, so Go Back couldn't reach it.

docs/gaps.md: Go Back and Go Forward are two of the missing menu items, 149.
2026-10-23 11:26:32 +02:00
Marco Arnulfo 0160b7af07 Convert to Text (all instances): a caret in a table cell or a footnote keeps its place after the converted value; gaps: 150 missing menu items 2026-10-23 10:56:22 +02:00
aiongg 96648c382c Merge branch 'print-color' into print-color-separations 2026-10-23 08:35:36 +00:00
aiongg 530e568c9e Print color: an overprinting process gradient is DeviceN of its inks 2026-10-23 08:35:30 +00:00
aiongg 0409bbf9aa Merge branch 'print-color' into print-color-x1a
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	xtask/src/pdf_deps.rs
2026-10-23 08:16:07 +00:00
aiongg 3dbbcf2d07 Merge branch 'print-color' into print-color-separations
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	crates/engine/src/cmd/export.rs
#	crates/ui-egui/src/lib.rs
2026-10-23 05:52:56 +00:00
aiongg 7ac286e6d2 Merge branch 'keymap-adoption' into keymap-shortcuts-dialog
# Conflicts:
#	Cargo.toml
#	apps/designcraft/src/native_menu.rs
#	crates/ui-egui/src/i18n.rs
2026-10-23 05:41:18 +00:00
aiongg a30b71cd36 Merge remote-tracking branch 'upstream/main' into print-color
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	xtask/src/pdf_deps.rs
2026-10-23 05:40:13 +00:00
aiongg 3c38c84438 Merge remote-tracking branch 'upstream/main' into keymap-adoption
# Conflicts:
#	Cargo.toml
#	crates/ui-egui/src/menus.rs
#	crates/ui-egui/src/shortcut_import.rs
#	docs/target-app-parity.md
#	docs/ui-parity.md
2026-10-23 05:10:57 +00:00
aiongg bc1ccfa481 Merge remote-tracking branch 'upstream/main' into docking-trial
# Conflicts:
#	Cargo.toml
#	crates/ui-egui/src/i18n/fr.rs
2026-10-23 05:07:00 +00:00
aiongg e74208dd7e Merge pull request #1642 from aiongg/ci-speed
CI: one test binary per crate, nextest, line tables only
2026-10-22 23:59:30 -04:00
aiongg 62148670bd CI: apt packages through craft-common-actions' cached install 2026-10-23 02:54:21 +00:00
Marco Arnulfo 3cd235ee5c Type › Text Variables › Convert Variable to Text: the selected instances, or every instance of one variable, become the text they show on their page 2026-10-23 03:40:11 +02:00
Marco Arnulfo 86356d15be Layout: Go Back and Go Forward through the pages viewed, with InDesign's shortcuts 2026-10-23 03:19:47 +02:00
aiongg 0fd6e06ad6 CI: install nextest for the test step 2026-10-23 01:17:55 +00:00
aiongg 3ee11391ae CI: one integration-test binary per crate 2026-10-23 01:17:48 +00:00
skylar taylor-barrick d9477695e2 #249: test that menu rows are selectable across their full width
A menu row only reacted over its text because the column used a plain top-down layout. The test renders a menu column with a short Preferences row and clicks near the right end of the row, expecting the dialog to open. Without the justified layout the click misses and the test fails.
2026-10-22 17:57:36 -06:00
skylar taylor-barrick fecf5906c3 #248: test that the start screen offers every print preset including A6
The start screen showed only the first ten presets and had no A6 sheet. The test checks that the start screen paints a card for each print preset, that A6 exists at 105 x 148 mm, and that the Properties page-size list agrees. Without the fix it fails because the B5 card is cut off by take(10) and there is no A6.
2026-10-22 17:57:36 -06:00
skylar taylor-barrick 15e4fdd124 #329: test that the Help menu works on the start screen
The Help menu's links were greyed out when no document was open, because UI commands outside app. and window. needed a document. The test checks every help.* UI command is enabled with an empty session while another UI command (view.rulers) stays disabled. Without the help. exemption it fails on "help.discord must work from the start screen".
2026-10-22 17:57:36 -06:00
aiongg 40e86d48a5 CI: xtask runs tests with nextest, doctests apart, wasm in one check 2026-10-22 23:35:30 +00:00
aiongg 079b5bea82 CI: dev profile keeps line tables only 2026-10-22 23:31:37 +00:00
Marco Arnulfo 2caa39e130 Autoflow: fill the pages that follow before adding pages at the end
Autoflow (Shift-click, autoflow on Place, text.thread with autoflow) inserted
new pages right after the story's last frame, in front of the document's own
pages. As in InDesign, it now threads one frame per column on each page that
follows, whatever else the page holds, and only then adds pages at the end of
the document. It fills whole pages, so an estimate that stops inside a page
can't leave its later columns out of the thread. Frames it set past the end
of the text are removed again; the pages they were on stay. Smart Text Reflow
of the primary text frame keeps adding pages after the story's last page.

Shrinks gap 26: flowing into the primary text frame of the following pages
is left.
2026-10-22 23:28:22 +02:00
Brandon ThomasandClaude Opus 5.5 5e8ef67832 Release 0.12.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v0.12.0
2026-10-22 15:38:12 -04:00
522040c949 i18n(ka): Relative Colorimetric is ფარდობითი კოლორიმეტრიული
The adjective from კოლორიმეტრია is კოლორიმეტრიული; ფარდობითი matches PhotoCraft
(storytold/photocraft#5845, from a review by supersfera-online).

Co-authored-by: supersfera <223132313+supersfera-online@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YMTAbGNRxnMEzRvYnQGphF
2026-10-22 23:36:04 +04:00
MarekSpodBiedry d292dd2acd IDML export: write the graphic placed in a table cell (#1551) 2026-10-22 21:06:54 +02:00
MarekSpodBiedry ce486fda63 Fix slice panics in the PDF post-passes on malformed page trees and metadata (#1591) 2026-10-22 21:05:48 +02:00
MarekSpodBiedry fd3d5087fc Cursors: paint the tool cursors in the window on Wayland, so they keep the system size (#1544) 2026-10-22 21:03:58 +02:00
MarekSpodBiedry 62c71d004a Align towards/away from spine on parent-page folios by page side (#1577) 2026-10-22 21:03:00 +02:00
NetterSilverandClaude Haiku 5.5 2ddcf6d2a1 Decode UTF-16 plain text files by BOM on import
Found while testing crates/textimport/src/lib.rs:117

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 20:08:56 +02:00
NetterSilverandClaude Haiku 5.5 bbb95930a2 Skip control words and symbols used as RTF \uN fallbacks
Found while testing crates/textimport/src/rtf.rs:197-243 (the \u handler at :235-242; control words never decrement `pending`)

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-22 19:26:49 +02:00
Davit MatchakhelidzeandClaude Opus 5.5 6c25107508 ui: the Discord button widens to fit its label instead of spilling out
The start screen's community card reserves the button's measured width, so
the line beside it wraps before the button. Georgian's label overflowed the
fixed 190 px.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YMTAbGNRxnMEzRvYnQGphF
2026-10-22 21:23:52 +04:00
Hamza e6d78a71d0 A right-to-left paragraph's first-line indent is at its right edge (#1448)
The first-line indent was added to the left indent whatever the paragraph's
direction, so a right-to-left paragraph's first line moved the wrong way. With
the hanging indent a numbered list uses — right indent 10 mm, first line
−10 mm — the first line went 10 mm outside the frame on the left while the
wrapped lines sat where it should have been.

It is the paragraph's start-side indent, which is the right one in a
right-to-left paragraph; the drop-cap case beside it already made that
distinction.

Measured on a 200 pt column with that hanging indent:

  first line    right edge 200     (the frame's edge, as InDesign sets it)
  wrapped       right edge 171.65  (10 mm in)
  every line    left edge >= 0     (nothing outside the frame)

and the same paragraph left to right is unchanged, first line at 0 and wrapped
lines 10 mm in.

The test checks both directions; the right-to-left half fails without the
change. 359 composition tests pass unchanged.
2026-10-22 22:20:41 +05:00
PiMinusMaxandClaude Opus 5.5 d080a5635a Swatches panel: a gradient dropped on a colour group row is kept too
The drop zone held the ungrouped swatches only, so releasing the
gradient over a colour group's row did nothing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 19:13:31 +02:00
moppeeerandClaude Opus 5.5 028e950f97 Paragraph Shading and Border pages laid out as InDesign's, with Overprint
Paragraph Style Options › Paragraph Shading and Paragraph Border are headed
with the page's name; Tint is a spinner with InDesign's presets and has
Overprint beside it (shading, border stroke and gap: new paragraph
attributes, read and written in IDML as ParagraphShadingOverprint,
ParagraphBorderOverprint and ParagraphBorderGapOverprint; PDF export warns
that it doesn't overprint yet, as for objects). Corner Size and Shape is
InDesign's two-by-two grid of corner icons, size spinners and shape menus
showing each shape's glyph, with the link in the middle; the offsets have
spinners, with the edges and width beside them; the weights have spinners.

Found in the Learn Skills Daily course, chapter 41.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 19:00:30 +02:00
moppeeer dc8c9535b9 Merge remote-tracking branch 'origin/main' into paragraph-shading-indesign 2026-10-22 19:00:29 +02:00
KnottyDyes bba31c17b6 PDF: report visible unembedded fonts in PDF/X-4 (#909)
Track text state through graphics saves and drawn forms; exempt invisible text. Report font names and pages in export warnings and validation without embedding or outlining placed fonts.
2026-10-22 10:31:21 -06:00
moppeeer 315630e1c8 Merge remote-tracking branch 'fork/corner-menu-icons' into paragraph-shading-indesign
# Conflicts:
#	ROADMAP.md
2026-10-22 18:21:47 +02:00