Add image adjustment panel#77933
Draft
ramonjd wants to merge 1 commit intoupdate/image-extension-panelsfrom
Draft
Add image adjustment panel#77933ramonjd wants to merge 1 commit intoupdate/image-extension-panelsfrom
ramonjd wants to merge 1 commit intoupdate/image-extension-panelsfrom
Conversation
|
Size Change: +1.65 kB (+0.02%) Total Size: 7.91 MB 📦 View Changed
ℹ️ View Unchanged
|
2f1f005 to
2963f88
Compare
|
Flaky tests detected in 572239f. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/25370807703
|
5eda633 to
3c995e7
Compare
42 tasks
3c995e7 to
572239f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Kapture.2026-05-06.at.12.58.48.mp4
Adds an internal Adjust panel using the image editor extension panel registry from #77932.
The panel exposes native brightness, contrast, saturation, and greyscale controls. Adjustment state lives on the image editing session, participates in session dirty state, undo/redo, reset, and source-image replacement cleanup, and previews on the cropper image surface via CSS filters.
The image session now coordinates cropper and adjustment undo/redo with a session-level domain stack so mixed edit sequences unwind in chronological order.
The image export API is now centered on
exportImageEdit( { src, state, adjustments, mimeType, quality } ), which renders cropper transforms plus adjustments into a canvas-backedBlob.Saving uses two paths:
/wp/v2/media/{ id }/editmodifiers path.File, and upload it to/wp/v2/media, including attachment metadata.This is a stacked follow-up to #77932.
Why
This is the first real consumer of the extension-shaped panel API. It validates that a panel can plug into the image editor surface, use the session facade, preserve crop state while switching panels, participate in shared undo/redo without owning the editor shell, and save final pixel edits when the server modifier API cannot represent them.