Commit Graph
6658 Commits
Author SHA1 Message Date
FredApps b63c6e00a6 Merge approved PhotoCraft PR #4711: Treat Dissolve as a per-pixel choice
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Current modular compositors already implement spatial Dissolve for adjustments and finished effects. Preserve equivalent implementations and newer Fill/HDR behavior, append approved missing CPU/GPU regression coverage.
2026-10-29 06:11:42 +01:00
FredApps 1c6acdf90f Merge approved PhotoCraft PR #4763: refactor(liquify): reuse native brush resizing and anchored HUD feedback
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Use shared zoom-corrected brush resize and HUD while preserving immediate press ownership and anchored outline when hover is absent. Keep original resize regressions. Fix duplicate identical Dissolve test registration and missing test-only UnicodeString import reported by 94-head check.
2026-10-29 06:11:12 +01:00
FredApps 7836d4b9e6 Merge approved PhotoCraft PR #4783: Fix/4758 type extreme finite geometry 20261013s1215
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Apply stricter finite 1e9 geometry bound to current parse/import safety paths; prevent corrected legacy origin bypass and retain current full PSD unsafe-import warning/raster fallback regression. Keep split import/build modules and port new overflow tests into import module.
2026-10-29 06:10:30 +01:00
FredApps 1daf3bc079 Merge approved PhotoCraft PR #4890: Add scrollbar visibility preferences (#3262)
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Port visibility preference, choice registration, live panel style and canvas override. Keep current animated camera and toolbar exclusions. Relocate misplaced persistence regression to prefs tests; retain current parity score counts.
2026-10-29 06:09:52 +01:00
FredApps 2ab2348adf Merge approved PhotoCraft PR #4992: Preserve Dissolve coverage when compositing clipped layers
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Current CPU and GPU already implement binary clipped Dissolve at document coordinates. Preserve current equivalent implementation and stronger negative-origin/depth regression; retain original named regression and added GPU parity coverage.
2026-10-29 06:08:48 +01:00
FredApps 3c79ed4430 Merge approved PhotoCraft PR #4993: Prevent control-channel engine commands from editing behind modal dialogs
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Apply modal ownership gate to both control entry points while retaining current Camera Raw and full-window workspace continuations, authorization, and direct engine dispatch. Fix Windows case-variant fixture to use supported document suffix; add explicit existing unrelated-file refusal assertion.
2026-10-29 06:07:59 +01:00
FredApps c89736bbdc Keep Mixer cursor helper export warning-free 2026-10-29 06:05:52 +01:00
FredApps 32f583f1d6 Merge approved PhotoCraft PR #5082: fix(mixer-brush): Alt-click samples the foreground colour like the Brush (#4873)
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Preserve current spatial Mixer Brush Alt-click sampling and live transaction architecture; add compatible point-sample command without foreground mutation. Retain sample across automatic reload until foreground changes and preserve all new regressions.
2026-10-29 06:05:02 +01:00
FredApps b4097ca07f Format gradient editor ports and use current egui role API 2026-10-29 06:03:15 +01:00
FredApps 1953077164 Merge approved PhotoCraft PR #5270: Layer Style: Gradient Overlay takes any number of colour stops (#5177)
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Port arbitrary-stop editor into current responsive dialog. Preserve source interpolation and exact model colors; unchanged dense imported snapshot lists roundtrip while edited lists retain 256-stop cap. Retain both validation guards and all original regression tests. Correct saved-path callers, floating-window and crop fixtures found by frozen 88-head all-target check.
2026-10-29 06:02:29 +01:00
FredApps 8323688e1f Merge approved PhotoCraft PR #5453: Shapes: independent fill and stroke paints (solid, gradient, pattern), part 1
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Integrated independent exact shape paints and atomic pattern clipboard snapshots into current modules, preserving current soft-mask coverage, shape cache keys and gradient stop caps. Shared bounded COW pattern sampling now retains minification filtering; shapes/clipboards resolve lazy catalog entries to full pixels. Preserved CPU/GPU/depth/model regression matrices; also corrected missing glow-test enum imports found by the 80-head check.
2026-10-29 05:53:29 +01:00
FredApps c81347aaa8 Merge approved PhotoCraft PR #5493: Import Photoshop custom shape sets into the Shapes panel
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Integrated bounded atomic CSH set parsing, unique shape/group naming and native Shapes panel import with inline-data authorization guards; preserved duplicate-name, inner-hole, malformed-second-record and preferences-reload regressions. Combined independent catalog additions and retained current parity metadata.
2026-10-29 05:47:45 +01:00
FredApps 9df3697de8 Merge approved PhotoCraft PR #5650: Guides: ⌥ turns a dragged guide; dropping one on either ruler deletes it (#5034)
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Added Alt guide rotation in current ruler/tool-input modules and engine Move Guide, retaining click-versus-drag selection, deletion on either ruler, colors, ruler-origin units and snapping. Selection follows the new orientation/index after a successful turn; original guide-turn/deletion regressions retained.
2026-10-29 05:46:02 +01:00
FredApps d34c7a92e0 Merge approved PhotoCraft PR #5744: fix(ui): keep detached documents in one interactive window
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Ported floating-document filtering and focused interactive view ownership into current tab/viewport modules, preserving stable arrangement tiles, fit_doc_tabs, zoom-resizes-windows and layer-transfer hover mapping through filtered document indices. Retained original detached-window/tab-order regressions and current metadata APIs.
2026-10-29 05:43:49 +01:00
FredApps 5cafc0968d Keep obsolete view command monolith deleted after modular form port 2026-10-29 05:39:24 +01:00
FredApps a72296ee57 Merge approved PhotoCraft PR #6139: Fix painting workflows, File Info and layer selection
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Ported Behind paint across engine/render and shared options-bar/canvas mode menus, preserving Clear and current popup ownership. Added localized responsive picker title/width and File Info multiline fields without dropping ordered fields, Browse or camera metadata; ported Pen anchor repositioning, copy cursor, grayscale-target sampling and authorized select-under-cursor dispatch into current modules with original regressions.
2026-10-29 05:39:00 +01:00
FredApps 08ab0a4da7 Merge approved PhotoCraft PR #6449: Hand tool: Cmd held zooms in and Alt zooms out, as in Photoshop
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Kept current stronger Hand modifier zoom implementation including sticky modifiers, primary-release ownership, middle-button pan and Free Transform exclusions; retained the original approved zoom/pan/release regressions alongside newer guards.
2026-10-29 05:34:11 +01:00
FredApps 78f9c137b3 Merge approved PhotoCraft PR #6621: Crop: right-click on the pending crop opens the crop menu (#6561)
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Extended current crop menu with Reset and shield toggles, preserving newer preset management, overlays, ownership checks and no-menu-during-gesture logic. Ported reset-frame no-op/undo semantics into current CropState/release and crop commit; retained original regression cases in split modules.
2026-10-29 05:29:44 +01:00
FredApps 55bcfaed35 Keep one registered copy of the preserved outer glow regression 2026-10-29 05:25:00 +01:00
FredApps f369874ddb Merge approved PhotoCraft PR #8039: Compose: Extend Softer outer glows past Size (#7899)
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Added bounded Softer outer-glow tail in current CPU paint and GPU glow-builder modules, retaining original tent convolution and current program dispatch; registered exact tail/kernel regression and expanded render margin only for outer Softer glows.
2026-10-29 05:24:44 +01:00
FredApps 1e5d6a4285 Merge approved PhotoCraft PR #8074: Transform: remember selected interpolation (#8067)
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Preserved current transform start/target/preview routes while remembering interpolation in ToolOptions, using General default only when unset; registered current-module helper imports and persistence/next-transform regressions.
2026-10-29 05:23:40 +01:00
FredApps a62b9ee217 Merge approved PhotoCraft PR #8347: Type: Roman Hanging Punctuation (trailing marks hang, don't steer the alignment)
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Ported hanging punctuation into current line placement and kerning modules, preserving forced breaks, bounded edge-tip row merging, justified-last-line behavior, area exclusions and independent Roman orientation shaping; kept PSD/engine/UI regression coverage.
2026-10-29 05:22:57 +01:00
FredApps 9eec5c99e0 Merge approved PhotoCraft PR #8892: ui: larger Align icons and overflow button; Save for Web keeps its width on an invalid Matte
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Retained newer 20-point Align icons from current main rather than regressing to the approved 16-point version; applied larger overflow chevrons and constrained invalid-Matte error placement in current Save for Web pane.
2026-10-29 05:21:16 +01:00
FredApps eab48af082 Merge approved PhotoCraft PR #8986: Path tools: edit the saved path selected in the Paths panel (#8478)
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Combined selected saved paths with current Type Path and targeted-mask editing; retained hidden Work Path exclusion independently of saved-path targeting, registered saved-path regressions and current modular overlay routing.
2026-10-29 05:20:45 +01:00
FredApps 0fd326b1cc Merge approved PhotoCraft PR #9282: feat(ui): Preset menus for Levels, Exposure, Black & White and Channel Mixer
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Registered adjustment presets in current dialog modules, preserving current editor dispatch, explicit PhotoCraft preset provenance, Custom matching and discrete preview/history regressions.
2026-10-29 05:19:36 +01:00
FredApps 2e2eec3a43 Merge approved PhotoCraft PR #9478: fix(text): vertical type sets roman letters upright, one per em, as Photoshop does (#9470)
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Ported upright Roman classification, independent unkerned/unligated em advances and tab reflow into current Para/VerticalPiece shaping modules; preserved area and paragraph flow; retained vertical geometry and PSD BaselineDirection regressions.
2026-10-29 05:18:29 +01:00
FredApps d98e419542 Merge approved PhotoCraft PR #5176: Play CopyCat, AJ and Line and Color action sets; keep patterns across restarts; Shift Edge scale
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Ported mappings and smart Save into current modules, preserving bounded authorized playback; migrated legacy PAT by committing validated per-pattern assets before atomic authoritative index; preserved same-ID replacements and builtin edits; added temporary-store interruption, corruption, duplicate ID/name and restart regression coverage. Current all-target compilation passed before final ownership guard refinement; focused tests pending.
2026-10-29 05:15:28 +01:00
FredApps 889018cabb Preserve action definition history regression with extended action metadata 2026-10-29 05:05:06 +01:00
FredApps da3d9ba3a9 Adapt preserved profile and action regressions to current interfaces 2026-10-29 05:03:18 +01:00
FredApps e0bca6baf6 Use explicit float mask format in combined Fill parity regression 2026-10-29 05:02:27 +01:00
FredApps 4082456022 Preserve gradient method editing in responsive Layer Style page 2026-10-29 05:01:13 +01:00
FredApps 7da5d15a34 Merge approved PhotoCraft PR #7255: fix(engine): guard trim and duplicate merged against documents exceeding render limits (#7223)
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Preflight existing render-cap helper before allocation, retain post-render completeness checks, and preserve the oversized Trim/Duplicate atomic-refusal regression.
2026-10-29 04:53:33 +01:00
FredApps 99cf87f5ec Merge approved PhotoCraft PR #7742: Actions: a fractional setting an integer field cannot hold is refused, not rounded
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Reuse current ExactLong refusal for Ripple/Crystallize, preserve command-specific rounding rules, improve the diagnostic and retain all fractional/whole-value regression cases.
2026-10-29 04:49:39 +01:00
FredApps a68db8e1f8 Merge approved PhotoCraft PR #8905: fix(plugins): bound a run's total plug-in memory, not just each instance
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Bound aggregate parallel plugin memory and preserve serial/parallel equality and total-budget regressions.
2026-10-29 04:47:32 +01:00
FredApps e415bbfb91 Wire moved UI modules and adapt new widgets to current accessible-field APIs 2026-10-29 04:47:05 +01:00
FredApps 959b41dca4 Merge approved PhotoCraft PR #9606: fix(ui): the Color panel remembers its options across restarts
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Persist and restore Color panel options through the current dock/startup modules and regenerate the scorecard from current source.
2026-10-29 04:46:40 +01:00
FredApps b98b2d2228 Merge approved PhotoCraft PR #8985: Color panel and Color Picker: clip the round cursor to the colour field
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Clip color cursors to their actual field in both panel and picker while preserving hit testing and original clipping regressions.
2026-10-29 04:43:45 +01:00
FredApps 6d1f4a47fd Merge approved PhotoCraft PR #9401: fix(format): a save on macOS keeps the file's creation time (#9388)
Preserve both independent additions and moved regression modules without changing production merge semantics.
2026-10-29 04:41:19 +01:00
FredApps cf786a3851 Merge approved PhotoCraft PR #8897: fix(io): read linked smart objects for PSD export as regular files only
Preserve both independent additions and moved regression modules without changing production merge semantics.
2026-10-29 04:41:10 +01:00
FredApps a4862c8fee Merge approved PhotoCraft PR #5515: Selecting subject now automatically applies to selected layer, and us…
Preserve both independent additions and moved regression modules without changing production merge semantics.
2026-10-29 04:40:56 +01:00
FredApps 5c77108d2e Merge approved PhotoCraft PR #9517: fix(ui): Layer Style scrolls on a short window so OK stays on screen
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Preserve the current stronger fixed responsive layout and per-column scrolling; register the original 1435x858 Bevel/OK/Cancel regression without nesting redundant scroll areas.
2026-10-29 04:39:30 +01:00
FredApps 4546543013 Refresh 61-head progress and adapt filter-result error propagation 2026-10-29 04:37:44 +01:00
FredApps 6c225b13c3 Merge approved PhotoCraft PR #5010: Layer Style: Photoshop's layout (three columns, OK/Cancel/New Style/Preview on the right, one-line rows) [depends on #4938]
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Port responsive three-column Layer Style with owned right-side actions, preserve saved defaults/Blend If and current Curves/modal routing, and keep all original layout/Cancel tests registered.
2026-10-29 04:36:06 +01:00
FredApps 19651781b2 Merge approved PhotoCraft PR #4938: Layer Style: one dialog size on every page, and it fits short screens
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Add fixed responsive Layer Style sizing and independently scrolling list/page while preserving Curves remembered sizes, modal routing and all current style/default controls.
2026-10-29 04:29:23 +01:00
FredApps b0a9dc3f5b Merge approved PhotoCraft PR #9481: fix(ui): new layer effects start from the Make Default values
Port behavior and regression coverage into current modules; preserve current upstream behavior.
New effect instances read saved Make Default values; preserve shared-light behavior and current Layer Style regressions.
2026-10-29 04:24:26 +01:00
FredApps f63560732a Merge approved PhotoCraft PR #9590: fix(io): PSD layer-effect contours keep at most 16 points
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Keep PSD contours within 16 points while preserving endpoints and dominant bends, with all limit and tiny-span regressions registered.
2026-10-29 04:22:41 +01:00
FredApps 93f11e42aa Adapt Frequency Separation module registration and finish icon attribution reconciliation 2026-10-29 04:22:09 +01:00
FredApps 7f1f867b1d Merge approved PhotoCraft PR #9598: fix(ui): Liquify's Twirl Counterclockwise gets a mirrored twirl icon
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Preserve current attribution exclusions and credit the mirrored Lucide Twirl Counterclockwise icon; keep both Liquify regressions.
2026-10-29 04:21:48 +01:00
FredApps 2f6156bebe Merge approved PhotoCraft PR #5090: Actions: add editable PhotoCraft Essentials starter presets
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Register starter actions and bounded background-blur command in current modules; preserve persistent migration marker and portable JSON defaults compatibility.
2026-10-29 04:18:29 +01:00
FredApps ab9c044fba Merge approved PhotoCraft PR #3461: Replay recorded layer visibility on the intended named layer
Port behavior and regression coverage into current modules; preserve current upstream behavior.
Resolve recorded visibility targets before both engine and shell authorization, preserving bounded playback, paused dialogs and existing journal coalescing; retain ActionState take generation.
2026-10-29 04:16:32 +01:00