aiongg
ba120dc48e
Integration: track t06
...
# Conflicts:
# ROADMAP.md
# crates/ui-egui/src/i18n/tr.tsv
# docs/gaps.md
# docs/ui-parity.md
2026-10-22 15:38:19 +00:00
aiongg
9c7cc91f82
Integration: track t05
...
# Conflicts:
# crates/ui-egui/src/i18n/tr.tsv
# crates/ui-egui/src/shortcuts.rs
# docs/ui-parity.md
2026-10-22 15:38:18 +00:00
aiongg
1f0177f23c
Integration: track t04
...
# Conflicts:
# ATTRIBUTION.md
# contributors/people.toml
# crates/ui-egui/src/i18n/cs.tsv
# crates/ui-egui/src/i18n/de.tsv
# crates/ui-egui/src/i18n/el.tsv
# crates/ui-egui/src/i18n/es.tsv
# crates/ui-egui/src/i18n/fr.tsv
# crates/ui-egui/src/i18n/hu.tsv
# crates/ui-egui/src/i18n/id.tsv
# crates/ui-egui/src/i18n/it.tsv
# crates/ui-egui/src/i18n/ja.tsv
# crates/ui-egui/src/i18n/ko.tsv
# crates/ui-egui/src/i18n/nl.tsv
# crates/ui-egui/src/i18n/pl.tsv
# crates/ui-egui/src/i18n/pt-br.tsv
# crates/ui-egui/src/i18n/ru.tsv
# crates/ui-egui/src/i18n/sr.tsv
# crates/ui-egui/src/i18n/tr.tsv
# crates/ui-egui/src/i18n/uk.tsv
# crates/ui-egui/src/i18n/vi.tsv
# crates/ui-egui/src/i18n/zh-hans.tsv
# crates/ui-egui/src/i18n/zh-hant.tsv
# docs/gaps.md
2026-10-22 15:38:17 +00:00
aiongg
37dedcff38
Integration: track t03
...
# Conflicts:
# docs/ui-parity.md
2026-10-22 15:38:15 +00:00
aiongg
4d1b922ddf
Integration: track t02
...
# Conflicts:
# contributors/people.toml
# crates/engine/src/file_cmds/tests.rs
# crates/engine/src/print_cmds/tests.rs
# crates/ui-egui/src/i18n/cs.tsv
# crates/ui-egui/src/i18n/de.tsv
# crates/ui-egui/src/i18n/el.tsv
# crates/ui-egui/src/i18n/es.tsv
# crates/ui-egui/src/i18n/fr.tsv
# crates/ui-egui/src/i18n/hu.tsv
# crates/ui-egui/src/i18n/id.tsv
# crates/ui-egui/src/i18n/it.tsv
# crates/ui-egui/src/i18n/ja.tsv
# crates/ui-egui/src/i18n/ko.tsv
# crates/ui-egui/src/i18n/nl.tsv
# crates/ui-egui/src/i18n/pl.tsv
# crates/ui-egui/src/i18n/pt-br.tsv
# crates/ui-egui/src/i18n/ru.tsv
# crates/ui-egui/src/i18n/sr.tsv
# crates/ui-egui/src/i18n/tr.tsv
# crates/ui-egui/src/i18n/uk.tsv
# crates/ui-egui/src/i18n/vi.tsv
# crates/ui-egui/src/i18n/zh-hans.tsv
# crates/ui-egui/src/i18n/zh-hant.tsv
2026-10-22 15:38:14 +00:00
aiongg
82cf3c828c
Integration: track t01
...
# Conflicts:
# crates/ui-egui/src/i18n/cs.tsv
# crates/ui-egui/src/i18n/de.tsv
# crates/ui-egui/src/i18n/el.tsv
# crates/ui-egui/src/i18n/es.tsv
# crates/ui-egui/src/i18n/fr.tsv
# crates/ui-egui/src/i18n/hu.tsv
# crates/ui-egui/src/i18n/id.tsv
# crates/ui-egui/src/i18n/it.tsv
# crates/ui-egui/src/i18n/ja.tsv
# crates/ui-egui/src/i18n/ko.tsv
# crates/ui-egui/src/i18n/nl.tsv
# crates/ui-egui/src/i18n/pl.tsv
# crates/ui-egui/src/i18n/pt-br.tsv
# crates/ui-egui/src/i18n/ru.tsv
# crates/ui-egui/src/i18n/sr.tsv
# crates/ui-egui/src/i18n/tr.tsv
# crates/ui-egui/src/i18n/vi.tsv
# crates/ui-egui/src/i18n/zh-hans.tsv
# crates/ui-egui/src/i18n/zh-hant.tsv
# docs/file-format-parity.md
# docs/gaps.md
2026-10-22 15:38:14 +00:00
aiongg
0e80156397
Integration: track t16
...
Resolutions: CLI usage, flag lists and flag parsing carry both --tiff-compression (t15) and
--jpeg-format (t16); file.saveACopy, batch, imageProcessor and layersToFiles param specs carry
both tiffCompression and jpegFormat; file_cmds keeps tiff_compression_param and
jpeg_format_param; atn_cmds keeps flag_set/applies_at_canvas_bounds (t15) and UNHOLDABLE (t16),
edit.transform uses the pixel_target guard (t15) with layer_ref(p)? (t16); ui-egui open paths
build ImportOptions (t16) and apply raw_defaults (t15); docs headers/rows unioned; atn tests keep
both sides; tr.tsv "Keep Using CPU" kept once.
2026-10-22 15:38:13 +00:00
aiongg
3d1a4d6679
Integration: track t15
...
# Conflicts:
# crates/engine/src/atn_cmds/tests.rs
# crates/ui-egui/src/i18n/cs.tsv
# crates/ui-egui/src/i18n/de.tsv
# crates/ui-egui/src/i18n/el.tsv
# crates/ui-egui/src/i18n/es.tsv
# crates/ui-egui/src/i18n/fr.tsv
# crates/ui-egui/src/i18n/hu.tsv
# crates/ui-egui/src/i18n/id.tsv
# crates/ui-egui/src/i18n/it.tsv
# crates/ui-egui/src/i18n/ja.tsv
# crates/ui-egui/src/i18n/ko.tsv
# crates/ui-egui/src/i18n/nl.tsv
# crates/ui-egui/src/i18n/pl.tsv
# crates/ui-egui/src/i18n/pt-br.tsv
# crates/ui-egui/src/i18n/ru.tsv
# crates/ui-egui/src/i18n/sr.tsv
# crates/ui-egui/src/i18n/tr.tsv
# crates/ui-egui/src/i18n/uk.tsv
# crates/ui-egui/src/i18n/vi.tsv
# crates/ui-egui/src/i18n/zh-hans.tsv
# crates/ui-egui/src/i18n/zh-hant.tsv
# docs/file-format-parity.md
# docs/ui-parity.md
2026-10-22 15:38:12 +00:00
aiongg
e1d2596bd8
Integration: track t14
2026-10-22 15:38:11 +00:00
aiongg
d1cd1387a1
Integration: fix the two merged tests that no longer compile against main (StrokeFx overprint, per-tool Sample All Layers)
2026-10-22 15:37:35 +00:00
aiongg
d4a346e169
Merge PR #8309 : Fix Fixed Size marquee drag positioning, building on #6026
2026-10-22 15:37:34 +00:00
aiongg
8ac5ae11ec
Merge PR #8245 : fix(engine): Remove Background looks for the subject in the layer, not the canvas ( #8235 )
2026-10-22 15:37:33 +00:00
aiongg
408e2fedd9
Merge PR #8244 : Object Selection: preserve Shift/Alt from mouse-down
2026-10-22 15:37:33 +00:00
aiongg
a036d96302
Merge PR #8243 : Pen: ⌥/Alt-drag grabs the last anchor's incoming handle too ( #6077 )
2026-10-22 15:37:32 +00:00
aiongg
dfcdb011da
Merge PR #8186 : fix(paths): the Work Path is drawn only while selected or a path tool is active ( #6551 )
2026-10-22 15:37:32 +00:00
aiongg
26919b7a9a
Merge PR #8152 : fix(ui): grey out Select and Mask in the options bar without a selection ( #7520 )
2026-10-22 15:37:32 +00:00
aiongg
b18d7f1749
Merge PR #7922 : Create Rectangle and the other shape dialogs: right-click Width or Height to pick their unit ( #7786 )
2026-10-22 15:37:31 +00:00
aiongg
05b0ae05e4
Merge PR #6896 : fix: detect dominant foregrounds with Object Finder
...
docs/gaps.md: header and change-log row once each (the PR's row on top).
docs/ui-parity.md: header and change-log row once each; the Selection row keeps main's #6549 sentence and adds the PR's #6548 sentence.
2026-10-22 15:37:31 +00:00
aiongg
7e3517c090
Merge PR #6835 : Object Finder: hovering with an empty active layer shows the status-bar hint ( #6549 )
2026-10-22 15:37:30 +00:00
aiongg
704a420860
Merge PR #6692 : Find small objects in large documents with the Object Finder
2026-10-22 15:37:30 +00:00
aiongg
a1d23fd2a6
Merge PR #6484 : Shapes: the Color panel, Swatches and Gradients fill the selected shape ( #5568 )
...
crates/engine/src/presets/tests.rs: tests appended by both sides, kept whole (the PR's before main's persistence sections).
crates/ui-egui/src/swatches_ui.rs: tests appended by both sides, kept whole.
2026-10-22 15:37:30 +00:00
aiongg
afc3619b52
Merge PR #6252 : Paths panel: rename a path in place, and name the Work Path when saving it
...
crates/ui-egui/src/vector_ui.rs: kept both sides in paths_panel (main's trash-drag state, the PR's rename id) and both new tests; the PR's tests call path_context_actions with main's added layer argument (None).
2026-10-22 15:37:29 +00:00
aiongg
c9173cc9f2
Merge PR #6201 : Add hex color input to shape Fill and Stroke popovers
...
docs/ui-parity.md: header keeps main's date and gains the PR's change entry; change-log rows for both, newest first.
2026-10-22 15:37:29 +00:00
aiongg
26dbd7953b
Merge PR #5834 : Shapes: rounded corners on live triangles, polygons and stars (TOOL-214-12)
...
docs/scorecard.md: ours (regenerated at combine).
docs/ui-parity.md: kept main's header and added the PR's change entry once.
2026-10-22 15:37:29 +00:00
aiongg
f094216481
Merge PR #5412 : fix(pen): an unclosed path stays with its document ( #5373 )
...
crates/ui-egui/src/lib.rs: kept both cancel_stale calls (perspective crop from main, pen from the PR).
crates/ui-egui/src/vector_ui.rs pen_down: kept main's resume-at-endpoint block and the PR's pen_doc claim; the claim comes first so a resumed path is claimed by its document too.
2026-10-22 15:37:29 +00:00
aiongg
7654482fd1
Merge PR #3330 : Moving a shape keeps its rendering: Artboards to Files matches the reference app
...
crates/engine/src/layer_multi_cmds.rs: took the PR's call to shift_shape; main's added check that the moved path (plus stroke) stays inside the canvas moved into shift_shape (vector_cmds.rs) so both behaviours hold.
2026-10-22 15:37:29 +00:00
aiongg
1273077cda
Merge PR #8296 : fix(ui): Free Transform corners show the diagonal resize arrow on wide or tall boxes
2026-10-22 15:37:16 +00:00
aiongg
e4d2c0cca6
Merge PR #8201 : Warp: a surface drag commits exactly as previewed, now under test ( #7885 )
2026-10-22 15:37:15 +00:00
aiongg
900606460d
Merge PR #8021 : Keep previous crop length when normalizing rounds to zero
2026-10-22 15:37:14 +00:00
aiongg
3d7aa3e081
Merge PR #8010 : fix(geom): reject extreme warp split indices without overflow
2026-10-22 15:37:14 +00:00
aiongg
3e95fd622b
Merge PR #7943 : fix(transform): keep artboard paper below child previews
...
docs/ui-parity.md: header change line: kept main's line and added this PR's item first; Last updated stays 2026-10-21.
2026-10-22 15:37:13 +00:00
aiongg
959a7c369f
Merge PR #7798 : fix(ui): guides draw over the Puppet Warp, Perspective Warp and Vanishing Point previews ( #7781 )
2026-10-22 15:37:13 +00:00
aiongg
a78dfcf711
Integration: #6936 crop_size::target takes pt_per_in
2026-10-22 15:37:12 +00:00
aiongg
7c08e3d7bb
Merge PR #6936 : Crop tool: switching tools drops an untouched ratio-fitted frame instead of cropping
...
crates/algo/src/features.rs: comment-only conflict from a commit already on main; kept main's side.
crates/ui-egui/src/crop_ui.rs: fit_frame conflict; kept the PR's side (its 2-argument crop_size::target call does not compile on main; fixed in the next commit).
2026-10-22 15:37:12 +00:00
aiongg
48ccb21290
Merge PR #6786 : Puppet warp: Fix discrepancy between preview and the final state
...
crates/ui-egui/src/puppet_ui.rs: tests added by both sides in the same place; kept both whole (#6754 's pin-deletion tests, then #6786 's drag-preview tests).
2026-10-22 15:37:12 +00:00
aiongg
6a257627b1
Merge PR #6754 : Puppet warp: Delete and Backspace remove the selected pin
2026-10-22 15:37:12 +00:00
aiongg
9eb30f41a8
Merge PR #6224 : Free Transform: a rotated sprite's soft edge keeps its colour instead of a light border
2026-10-22 15:37:11 +00:00
aiongg
3ce61355f1
Merge PR #6186 : Free Transform: picking another tool or layer applies a background commit ( #5665 , #5667 )
2026-10-22 15:37:11 +00:00
aiongg
63f3dbfd5b
Merge PR #6042 : fix(ui): keep Clone Stamp source preview crisp when zoomed in
2026-10-22 15:37:11 +00:00
aiongg
3c329fa530
Merge PR #5545 : Keep Free Transform preview colors consistent with the canvas
2026-10-22 15:37:11 +00:00
aiongg
4ec2ef53c9
Merge PR #3926 : feat(ui): Free Transform 3x3 reference point widget and projective homography pivot snapping
2026-10-22 15:37:11 +00:00
aiongg
1033aab750
Integration: cargo fmt
2026-10-22 02:56:39 +00:00
aiongg
62d4573609
Integration: cargo fmt
2026-10-22 02:41:49 +00:00
aiongg
995927592b
Integration: DDS_PITCH is defined once after #5864 met the DDS writer
2026-10-22 02:36:51 +00:00
aiongg
882cbe1c2c
Merge PR #7240 : Save As on Linux: the one file type offered gives the name its extension
2026-10-22 02:36:51 +00:00
aiongg
98d8ada8b9
Integration: cargo fmt
2026-10-22 02:33:11 +00:00
aiongg
624b7ebaf7
Integration: #7262 Clipping Mask export refuses a numeric layer reference, as the other layer events do
2026-10-22 02:32:30 +00:00
aiongg
de2d5255fc
Integration: #5566 the panel-defaults test sets the edit's document (TextEdit gained the field on main)
2026-10-22 02:30:33 +00:00
aiongg
754692c45c
Integration: #7638 test's Bevel literal sets gloss_anti_alias, a field main added
2026-10-22 02:28:48 +00:00
aiongg
81fb7e7277
Integration: #6453 the T-icon drag test sets the edit's document
2026-10-22 02:28:23 +00:00