Skip to content

Shortcuts

HCT Color Picker (Hue / Chroma / Tone number inputs)

KeyAction
↑ / ↓±1
Shift + ↑ / ↓±10
Alt/Option + ↑ / ↓±0.1

Sliders support both drag and keyboard control:

  • Drag: normal = snap to integers, Shift + drag = snap to 10s, Alt + drag = 0.1 precision
  • Arrow keys on focused slider: ←→ / ↑↓ = ±0.1, Shift = ±10, Alt = ±0.01
  • Focused slider shows a filled dot indicator; focused input shows a ring indicator

All number inputs use free-text editing with comma-to-dot replacement.

Theme Editor — StepInput (contrast factors, chroma factors, contrast steps, level counts)

KeyAction
↑ / ↓±0.1
Shift + ↑ / ↓±1
Alt/Option + ↑ / ↓±0.01

Hold arrows to repeat: the OS fires keydown at ~30 Hz, but StepInput requestAnimationFrame-coalesces commits into one store update per animation frame. Each queued tick compounds onto the last pending value rather than the visible input, so held arrows feel smooth even on heavy themes.

Theme Editor — Contrast Chips (entity contrast ratios)

KeyAction
Click chipEdit value inline
EnterConfirm edit
EscapeCancel edit
↑ / ↓±0.1
Shift + ↑ / ↓±1
Alt/Option + ↑ / ↓±0.01
+ Add contrastAdd new contrast value
× buttonRemove chip

Preview — Zoom Keyboard Shortcuts

KeyAction
⌥ + = / +Zoom in 5% (anchored on cursor when hovering preview)
⌥ + -Zoom out 5%
⇧ + ⌥ + = / -Zoom ±10%
⌥ + 0Reset zoom to 100%
⌥⇧ + 0Toggle Fit-to-viewport (zoom auto-recomputes on resize)
Trackpad pinch / ⌃ / ⌘ / ⌥ + wheelSmooth zoom anchored on cursor (via @use-gesture/react)

Zoom range is clamped to 25%–300%. The Fit mode disables itself the moment the user picks any explicit zoom (preset, ±, hotkey, pinch, wheel) so the user-typed value sticks; ⌥⇧0 turns it back on.

Preview — Zoom Buttons

ButtonAction
Zoom out 5%
+Zoom in 5%
1:1Reset to 100%
FitAuto-fit content to viewport (last item in the percent dropdown)

Drag & Drop

Available in: Palette, Gradient Points, Entities, Modes. Drag handle (⋮⋮) on the left. Restricted to vertical axis.

Window

ActionGesture
Resize windowDrag bottom-right corner handle (clamped to 960×720 minimum)
Default viewClick "Default view" in status bar (resets to 960×720 plus all view state)
MaximizeDouble-click resize corner (expands to ~96% of viewport)

Gamut Clamping

ActionGesture
Snap to max chromaClick the clamped values button (tooltip: "Clamped — snap")

Global Hotkeys

KeyAction
⌥SSave (with wave animation feedback)
⌥PPush Vars (opens confirmation dialog)
⌥1Toggle editor footer panel
⌥2Toggle preview footer panel (swatch info readout)
⌥3Toggle agents footer panel (under chat)
⌥`Toggle AI chat open/closed
EscClose any open dialog (Theme Settings, AI Edit, Add Theme, Settings, About)

All rights reserved.