Commit Graph
4751 Commits
Author SHA1 Message Date
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