psychedelicious
ce4c79a8d9
fix(ui): ignore Konva filters when previewing filter
2024-09-06 22:56:24 +10:00
psychedelicious
151b4efd3f
fix(ui): filter preview accidentally committed to layer
2024-09-06 22:56:24 +10:00
psychedelicious
16806e5d8d
feat(ui): improved transparency effect
...
Use the min of each pixel's alpha value and lightness for the output alpha. This prevents artifacts when using the transparency effect, especially with non-black pixels with low alpha.
2024-09-06 22:56:24 +10:00
psychedelicious
fd00e40ca7
fix(ui): missing translation
2024-09-06 22:56:24 +10:00
psychedelicious
029158ef3a
fix(ui): save to gallery uses auto-add board
2024-09-06 22:56:24 +10:00
psychedelicious
96b74f4a79
fix(ui): cancel transform/filter when deleting entity
2024-09-06 22:56:24 +10:00
psychedelicious
b1e85f8b60
chore(ui): lint
2024-09-06 22:56:24 +10:00
psychedelicious
aa418f0aba
feat(ui): iterate on state flow and rendering 2
...
- Rely on redux + reselect more
- Remove all nanostores that simply "mirrored" redux state in favor of direct subscriptions to redux store
- Add abstractions for creating redux subs and running selectors
- Add `initialize` method to CanvasModuleBase, for post-instantiation tasks
- Reduce local caching of state in modules to a minimum
2024-09-06 22:56:24 +10:00
psychedelicious
8b747b022b
feat(ui): iterate on state flow and rendering
2024-09-06 22:56:24 +10:00
psychedelicious
ed4b5dfac3
feat(ui): slight layout change for staging area toolbar
2024-09-06 22:56:24 +10:00
psychedelicious
b189937bc9
feat(ui): clean up adapter API
2024-09-06 22:56:24 +10:00
psychedelicious
e176e48fa3
feat(ui): streamlined state flow
2024-09-06 22:56:24 +10:00
psychedelicious
4931bdace5
fix(ui): handle optimal dimension when resetting canvas
2024-09-06 22:56:24 +10:00
psychedelicious
c3b52a1853
feat(ui): background and staging area modules have own store subscription and render themselves
2024-09-06 22:56:24 +10:00
psychedelicious
b201541cb0
feat(ui): make rendering methods not need args
...
They should pull from the entity's state directly. This allows more freedom with updating the canvas.
2024-09-06 22:56:24 +10:00
psychedelicious
ba54a05efd
feat(ui): restore size of invoke button
2024-09-06 22:56:24 +10:00
psychedelicious
6746870591
tidy(ui): remove unnecessary awaits in rendering module
2024-09-06 22:56:24 +10:00
psychedelicious
542844c6a3
tidy(ui): rename some classes to better represent their responsibilities
2024-09-06 22:56:24 +10:00
psychedelicious
4e5f4dadf2
feat(ui): abstract out CanvasEntityAdapterBase
...
Things were getting to complex to reason about & classes a bit complicated. Trying to simplify...
2024-09-06 22:56:24 +10:00
psychedelicious
1c15c2cb03
feat(ui): revise entity rendering flow
2024-09-06 22:56:24 +10:00
psychedelicious
a041f1f388
tidy(ui): remove unused id on konva nodes
2024-09-06 22:56:24 +10:00
psychedelicious
d0b62c88c9
tidy(ui): remove commented code
2024-09-06 22:56:24 +10:00
psychedelicious
0fd4dd4513
tidy(ui): remove extraneous docstrings
2024-09-06 22:56:24 +10:00
psychedelicious
4d3ed34232
feat(ui): clean up unused tool module state
2024-09-06 22:56:24 +10:00
psychedelicious
74de22349d
tidy(ui): disable isDebugging flag on root component
2024-09-06 22:56:24 +10:00
psychedelicious
18ad271225
fix(ui): unable to drag while transforming after switching tools
2024-09-06 22:56:24 +10:00
psychedelicious
f92730080c
feat(ui): prevent layer interactions when transforming or filtering
2024-09-06 22:56:24 +10:00
psychedelicious
f83b500645
feat(ui): add compositeMaskedRegions setting
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
1fdb702557
build(ui): add csstype dev dependency
2024-09-06 22:56:24 +10:00
psychedelicious
4df531b7c0
feat(ui): clean up tool preview rendering
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
944719cb9c
feat(ui): better types on CanvasStateApiModule.getEntity
2024-09-06 22:56:24 +10:00
psychedelicious
92ae679314
feat(ui): update default logging context path to be string
2024-09-06 22:56:24 +10:00
psychedelicious
771c3210b7
tidy(ui): mark canvas module attrs readonly
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
d81cd050ef
feat(ui): streamline manager -> react transform interface
2024-09-06 22:56:24 +10:00
psychedelicious
ae5ed18f12
tidy(ui): remove unused $isProcessingTransform atom
2024-09-06 22:56:24 +10:00
psychedelicious
9026180533
docs(ui): docstrings for $canvasCache
2024-09-06 22:56:24 +10:00
psychedelicious
437ea1109b
feat(ui): tweak bookmark verbiage
2024-09-06 22:56:24 +10:00
psychedelicious
95177a7389
feat(ui): move transformer state to nanostores
...
This provides some free reactivity for this canvas-manager-managed state.
2024-09-06 22:56:24 +10:00
psychedelicious
d01af064f9
fix(ui): transform should ignore konva filters (e.g. transparency effect)
2024-09-06 22:56:24 +10:00
psychedelicious
d50ee14d0b
feat(ui): add fit to bbox as transform helper
2024-09-06 22:56:24 +10:00
psychedelicious
096e8deac5
tidy(ui): transformer organisation
2024-09-06 22:56:24 +10:00
psychedelicious
e3b6ad7076
fix(ui): disable merge visible when 1 or fewer layers of type
2024-09-06 22:56:24 +10:00
psychedelicious
23c93509e0
feat(ui): brush preview opacity at 0.5 when drawing on mask
2024-09-06 22:56:24 +10:00
psychedelicious
f5eb6a06b5
chore(ui): lint
2024-09-06 22:56:24 +10:00
psychedelicious
db99b773bc
fix(ui): edge cases in quick switch, simpler logic
2024-09-06 22:56:24 +10:00
psychedelicious
daa0064947
chore(ui): lint
2024-09-06 22:56:24 +10:00
psychedelicious
ea062ab01a
feat(ui): add bookmark for quick switch
2024-09-06 22:56:24 +10:00