psychedelicious
8506d98f34
feat(ui): brighter border around fill color buttons
2024-09-13 22:33:34 +10:00
psychedelicious
b1e85f8b60
chore(ui): lint
2024-09-06 22:56:24 +10:00
psychedelicious
1349e73a1a
tidy(ui): merge tool slice, sendToCanvas into settings slice
2024-09-06 22:56:24 +10:00
psychedelicious
a5a077964e
feat(ui): tool buttons are only disabled when currently selected
2024-09-06 22:56:24 +10:00
psychedelicious
eb09253b4e
feat(ui): tidy stateApi atoms & add docstrings
2024-09-06 22:56:24 +10:00
psychedelicious
c246fc98b3
tidy(ui): canvas hotkey hooks
2024-09-06 22:56:24 +10:00
psychedelicious
d9359bac23
feat(ui): bbox hotkey is c
2024-09-06 22:56:24 +10:00
psychedelicious
dd8b25260d
feat(ui): brush & eraser width ui/ux
...
Use same pattern as canvas scale & opacity sliders w/ scaled slider values for precision at low values.
2024-09-06 22:56:24 +10:00
psychedelicious
3cdc5d869f
feat(ui): hotkeys for brush/eraser size
2024-09-06 22:56:24 +10:00
psychedelicious
42ec07daad
feat(ui): tweak brush fill UI
2024-09-06 22:56:24 +10:00
psychedelicious
bac0ce1e69
perf(ui): optimize all selectors 1
...
I learned that the inline selector syntax recreates the selector function on every render:
```ts
const val = useAppSelector((s) => s.slice.val)
```
Not good! Better is to create a selector outside the function and use it. Doing that for all selectors now, most of the way through now. Feels snappier.
2024-09-06 22:56:24 +10:00
psychedelicious
04f78a99ad
feat(ui): rough out undo/redo on canvas
2024-09-06 22:56:24 +10:00
psychedelicious
82d50bfcc9
feat(ui): split out session state from canvas rendering state
2024-09-06 22:56:24 +10:00
psychedelicious
d99dbdfe7c
feat(ui): split out tool state from canvas rendering state
2024-09-06 22:56:24 +10:00
psychedelicious
e8190f4389
feat(ui): move selected tool and tool buffer out of redux
...
This ephemeral state can live in the canvas classes.
2024-09-06 22:56:24 +10:00
psychedelicious
772f0b80a1
feat(ui): disable most interaction while filtering
2024-09-06 22:56:24 +10:00
psychedelicious
664987f2aa
tidy(ui): "eye dropper" -> "color picker"
2024-09-06 22:56:24 +10:00
psychedelicious
efb97c301e
feat(ui): transform tool ux
2024-09-06 22:56:24 +10:00
psychedelicious
30050a23b9
tidy(ui): tool components & translations
2024-09-06 22:56:24 +10:00