Commit Graph
14082 Commits
Author SHA1 Message Date
bflatastic 8912679dd6 Keyboard Shortcuts: Paintbrush stroke needs points, so it isn't listed
#7592 documented brush.freehand's brush as optional, so the shortcut editor took it for a
command that runs without params and listed it, and listed_commands_run_from_a_key_without_a_missing_param
fails on main: a key press can't give the stroke's points. It joins NEEDS_A_PARAM with the
other commands that need a point.
2026-11-14 22:53:19 +07:00
dotCooCoo 9f23b0a5a4 OpenType panel: the tracked-ligatures note reads every selected story frame
With the Selection tool, the note that ligatures are off while the text is
tracked read only the first run of the first selected frame. It now shows
when any character the panel reads has Standard Ligatures on, tracking
outside the shaper's limits and no explicit liga or clig tag, including
the runs of later frames of a selected threaded story, locked or hidden.
The panel's other controls already read those runs through
character::shared; a new any_style helper walks the same styles. The
panel's commands still change only the selected frames.
2026-11-14 07:52:03 -08:00
dotCooCoo 43823fc844 Blend: a stroke gradient started on a step keeps the link after it
When a closed key path now starts where its stroke gradient steps between
two stops of one color linked to different swatches, the gradient's new
first stop takes the swatch link of the stop after the step instead of
the one before it.
2026-11-14 07:51:15 -08:00
dotCooCoo 4cfad8e56b Merge main into fix/ai-envelope-budget-warped-type 2026-11-14 07:51:15 -08:00
dotCooCoo 7d76b35710 .ai save: type written as outlines keeps wrapping by its bounds
Type that the editing copy writes as its outlines (mirrored type, type in
a clip or symbol, type the text document can't hold) put its Text Wrap
Options on the group of glyph outlines. The reader then wrapped area type
around the glyph shapes instead of the type's bounds, so the wrap region
changed when the file was opened.

The group now ends with an unpainted closed rectangle at the type's
geometric bounds, with the type's lock and hidden state, that carries the
wrap options; the group keeps the type's name and has no options of its
own. The `.ai` reader already reads an unpainted path with its own
options (`text_wrap` in crates/eps/src/import/ai/read/document.rs), and
wrap resolution descends into a group without options. The rectangle
counts toward the object limit; without room for it the options are left
out with the limit's warning. Type without finite bounds gets no
rectangle, as it had no wrap region before saving.
2026-11-14 07:48:03 -08:00
dotCooCoo d5e58b0e4b Metafile import: a clip of several figures along a box's sides still clips
A clip path is left out only when it is one rectangle around the whole
picture. Two open figures along the top and bottom of a box enclose nothing,
and the objects under such a clip are no longer imported unclipped.
2026-11-14 07:46:17 -08:00
dotCooCoo 978b94cef1 i18n: localization doc marks Vietnamese messages as partial
The Vietnamese row's message column said "all" while the same cell counts messages without a Vietnamese row. It now says dialogs and tooltips are complete and messages are partial, as the Indonesian row does. The row and the evidence line in docs/target-app-parity.md give the catalog's current counts: 1,750 @msg and 49 @msgplural rows, with 1,875 messages in the untranslated report.
2026-11-14 07:45:06 -08:00
dotCooCoo c7cd768399 Merge main into fix/clip-effects-hit-test 2026-11-14 07:42:26 -08:00
dotCooCoo e0ac4324a5 Tests: Reset Panel tests start from a changed attribute
Reset Panel records no undo step when it changes nothing, so the character and paragraph tests that reset a second document first give its type a value away from the panel's defaults.
2026-11-14 07:39:39 -08:00
dotCooCoo e2cdedc6d0 Docs: recount Indonesian and Bosnian on current main
The Indonesian and Bosnian rows now give the catalog counts and the
untranslated-report gaps measured on main at 676f0524cc: Indonesian has
6,825 rows (1,036 @msg) and lacks 60 menu strings and 2,508 scanned
messages; Bosnian has 6,887 rows (1,144 @msg) and lacks 97 menu strings
and 2,416 scanned messages.
2026-11-14 07:36:08 -08:00
dotCooCoo 3bbf511b10 Merge main into feat/da-complete-messages 2026-11-14 07:35:35 -08:00
dotCooCoo f8e70c1415 Metafile import: translucent strokes stay apart, and each pattern tile is averaged once
Strokes drawn one after another with the same pen join into one path only
when the pen is opaque. A translucent stroke keeps its own opacity, so where
two of them overlap both show.

Items filled with the same pattern brush share its tile, and the tile's
average color is now worked out once per tile instead of once per item.
2026-11-14 07:35:25 -08:00
dotCooCoo f8c5d2b6c0 Merge main into fix/pdf-tiff-keeps-icc
# Conflicts:
#	crates/pdf/src/images.rs
2026-11-14 07:31:28 -08:00
dotCooCoo 7756b1c815 Image Trace: quantize runs its passes over every pixel on all cores
Finding the blend pixels and settling them onto a side took about 85% of
color quantize on a 16 MP raster, all of it on one thread. The k-means
palette step works on at most 32,768 histogram bins and took under 1%.

- own_colours_among and settled work through bands of about 65,536
  pixels with layers::parallel_map (one thread on wasm32) and join the
  results in row order. settled reads every pixel's neighbors from the
  labels as they were before any change, as before, without copying
  them.
- settled_wide settles groups of its 7-column strips apart; each strip
  already started from empty buffers.
- A picture with no pixels returns before any band or strip is made.

The output does not change.
2026-11-14 07:31:06 -08:00
dotCooCoo 69ec28dc4c Merge main into fix/3d-shadow-builds-once 2026-11-14 07:28:03 -08:00
dotCooCoo 15e64f4057 Merge main into docs/localization-indonesian-bosnian 2026-11-14 07:25:48 -08:00
dotCooCoo a40f00ece9 Merge main into fix/export-cull-brushed-path-art 2026-11-14 07:25:25 -08:00
dotCooCoo c410e3fbb5 Brushes: the renderer's brush cull room counts only painted brushed strokes
The doc comment on pad() now says a brushed stroke needs a paint to get room, as vectorcraft_brush::reach does.
2026-11-14 07:25:25 -08:00
dotCooCoo 8ebe4cd1c3 Merge main into fix/live-paint-make-drawn-rows 2026-11-14 07:24:33 -08:00
dotCooCoo 0df1c3f284 Merge main into fix/emfplus-import 2026-11-14 07:24:22 -08:00
dotCooCoo 8c607c8070 Merge main into fix/type-no-op-undo-more 2026-11-14 07:24:09 -08:00
dotCooCoo a3f65c677a Merge main into fix/graph-wedge-legend-black-kept 2026-11-14 07:24:01 -08:00
dotCooCoo 96a8a0c6d6 Merge main into fix/svg-raster-keeps-resolution 2026-11-14 07:23:45 -08:00
FredApps 676f0524cc Merge pull request #1203 from FredApps/fix/spiral-decay-setting-20261011
Keep Spiral decay settings consistent with drawn geometry
2026-11-14 16:22:35 +01:00
dotCooCoo 132becf3ad Merge main into feat/smooth-keeps-corners 2026-11-14 07:20:07 -08:00
dotCooCoo f4492c3627 Merge main into fix/ai-wrap-options-edge-cases 2026-11-14 07:19:26 -08:00
dotCooCoo 32e90d5e2c Merge main into fix/paste-copied-file-size-limit 2026-11-14 07:18:49 -08:00
dotCooCoo 882980ed0f Merge main into feat/arrange-nest 2026-11-14 07:17:57 -08:00
dotCooCoo 17fcbe9950 Merge main into fix/vi-missing-message-rows 2026-11-14 07:16:52 -08:00
dotCooCoo fbb6546621 Merge main into fix/pdf-art-bounds-printing-layers 2026-11-14 07:15:53 -08:00
dotCooCoo 09eab2c93c Merge main into fix/blend-reversed-key-stroke-direction 2026-11-14 07:14:47 -08:00
dotCooCoo 9977ef2e01 Merge main into fix/graph-series-group-opacity 2026-11-14 07:11:27 -08:00
BFlat 16d5710e8e Merge pull request #7430 from dotCooCoo/fix/es-missing-message-rows
i18n: Spanish translates 114 messages that no catalog had a row for
2026-11-14 21:55:57 +07:00
BFlat 2ebf037bc5 Merge pull request #7360 from dotCooCoo/feat/learn-progress-rings
Learn: steps get check boxes, and skill rings fill as tutorials are finished
2026-11-14 21:55:49 +07:00
BFlat 3a80dfcd36 Merge pull request #7471 from dotCooCoo/fix/followup-7319
.ai save: a clipping path cut away outside keeps its text wrap options
2026-11-14 21:55:38 +07:00
BFlat 898553c79d Merge pull request #7563 from dotCooCoo/fix/text-zoom-marquee-space-moves
Zoom: Space moves a text-edit zoom marquee after Cmd is let go
2026-11-14 21:55:29 +07:00
BFlat edefbd0e7d Merge pull request #7449 from dotCooCoo/fix/links-stored-brush-art
Links: placed images in stored brush art get Links rows
2026-11-14 21:55:20 +07:00
BFlat 01a796e817 Merge pull request #7415 from dotCooCoo/fix/warichu-rtl-gap-caret
Type: justification spaces a right-to-left warichu block, and the caret keeps to its block line
2026-11-14 21:55:12 +07:00
BFlat 45d98a5f82 Merge pull request #7443 from dotCooCoo/fix/wireframe-outline-stroke-width
3D: Expand as Wireframes outlines each face's own stroke under a later Outline Stroke
2026-11-14 21:55:03 +07:00
BFlat cbba5e85fe Merge pull request #7528 from dotCooCoo/feat/ai-style-named-gradients
PDF/.ai import: graphic styles that paint with a named gradient load with it
2026-11-14 21:54:55 +07:00
BFlat b541d97a06 Merge pull request #7586 from dotCooCoo/fix/blend-spot-stop-plates
Blend: steps between gradients linked to the same spot swatch keep its process plates
2026-11-14 21:54:47 +07:00
BFlat cb99b78a40 Merge pull request #7441 from dotCooCoo/fix/eps-johab-code-space
EPS import: KSC-Johab type reads one-byte ASCII codes
2026-11-14 21:54:39 +07:00
BFlat 55939c1c54 Merge pull request #7594 from dotCooCoo/fix/panel-autoscroll-short-list
Panels: drag autoscroll scrolls the right way in a short list
2026-11-14 21:54:31 +07:00
BFlat 27a259e2db Merge pull request #7505 from dotCooCoo/fix/no-op-undo-steps
Undo: no step when Randomize Opacity or a type setting changes nothing
2026-11-14 21:54:21 +07:00
BFlat 32fbd81796 Merge pull request #7552 from dotCooCoo/fix/issue-7525
Fix #7525: Extrude & Bevel cuts sharp corners square instead of spiking
2026-11-14 21:54:11 +07:00
BFlat 66d24335e1 Merge pull request #7599 from dotCooCoo/fix/trace-hand-in-same-document
Image Trace: a finished trace is applied only to the document it was made in
2026-11-14 21:54:04 +07:00
BFlat e9fe815a1c Merge pull request #7533 from dotCooCoo/fix/graph-data-import-size-limit
Graph Data: Import Data refuses a file larger than 1 MB without reading it all
2026-11-14 21:53:56 +07:00
BFlat 075d81755a Merge pull request #7461 from dotCooCoo/fix/recovery-error-ancestor-paths
Automation: replies hide a file or missing folder on the way to the recovery folder
2026-11-14 21:53:48 +07:00
BFlat 35ac921b86 Merge pull request #7589 from dotCooCoo/chore/guides-shared-one-pass-helpers
Guides: document and layer guide edits share one set of one-pass helpers
2026-11-14 21:53:41 +07:00
BFlat 8863c41560 Merge pull request #7581 from dotCooCoo/fix/pdf-cmyk-image-keeps-icc
PDF export: CMYK images that keep their numbers carry their ICC profile
2026-11-14 21:53:33 +07:00