- Edit > Edit Colors > Adjust Color Balance... opens Adjust Colors (`ui.colorBalanceDialog`, kind
`colorBalance`): colour mode Grayscale, RGB, CMYK or Global, a slider and field per channel
(-100..100 %), Convert, Fill and Stroke, and Preview.
- Saturate... opens Saturate (`ui.saturateDialog`, kind `saturate`): Intensity -100..100 % and
Preview.
- Both preview through the session interaction (fields changed by `ui.dialog.set` preview on the
next frame too); OK keeps the result as one undo step, Cancel rolls it back.
- `edit.colors.adjustBalance` takes `mode` (rgb|cmyk|gray|global; default from the channels
given). Global mode needs tints of global and spot colours and answers with a clear error until
they exist; the dialog stays open and the colours keep their links.
- Shared dialog helpers: `form::slider`, `form::preview`, `form::commit_preview`.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>