Commit Graph

13363 Commits

Author SHA1 Message Date
psychedelicious
f96148ca52 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 21:27:57 +10:00
psychedelicious
96786ed62b chore: release v4.2.9.dev12 2024-09-06 21:27:57 +10:00
psychedelicious
cc9cc62707 fix(ui): missing translation 2024-09-06 21:27:57 +10:00
psychedelicious
07cf5807be fix(ui): save to gallery uses auto-add board 2024-09-06 21:27:57 +10:00
psychedelicious
013414e962 fix(ui): cancel transform/filter when deleting entity 2024-09-06 21:27:57 +10:00
psychedelicious
10bba49e28 chore(ui): lint 2024-09-06 21:27:57 +10:00
psychedelicious
7888b4913a 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 21:27:57 +10:00
psychedelicious
27b00cedc5 feat(ui): iterate on state flow and rendering 2024-09-06 21:27:57 +10:00
psychedelicious
0bfdd5acb8 feat(ui): slight layout change for staging area toolbar 2024-09-06 21:27:57 +10:00
psychedelicious
6e6629ad74 feat(ui): clean up adapter API 2024-09-06 21:27:57 +10:00
psychedelicious
fe257e3e46 feat(ui): streamlined state flow 2024-09-06 21:27:57 +10:00
psychedelicious
0b1dc365d0 fix(ui): handle optimal dimension when resetting canvas 2024-09-06 21:27:57 +10:00
psychedelicious
c75a933b17 feat(ui): background and staging area modules have own store subscription and render themselves 2024-09-06 21:27:57 +10:00
psychedelicious
f1525c2a82 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 21:27:57 +10:00
psychedelicious
8266c10c53 feat(ui): restore size of invoke button 2024-09-06 21:27:57 +10:00
psychedelicious
34554f8555 tidy(ui): remove unnecessary awaits in rendering module 2024-09-06 21:27:57 +10:00
psychedelicious
200dbbbf55 tidy(ui): rename some classes to better represent their responsibilities 2024-09-06 21:27:57 +10:00
psychedelicious
5a30ff6045 feat(ui): abstract out CanvasEntityAdapterBase
Things were getting to complex to reason about & classes a bit complicated. Trying to simplify...
2024-09-06 21:27:57 +10:00
psychedelicious
73e8837d45 feat(ui): revise entity rendering flow 2024-09-06 21:27:57 +10:00
psychedelicious
6ba78e7632 tidy(ui): remove unused id on konva nodes 2024-09-06 21:27:57 +10:00
psychedelicious
736fabe327 tidy(ui): remove commented code 2024-09-06 21:27:57 +10:00
psychedelicious
ad53169eba tidy(ui): remove extraneous docstrings 2024-09-06 21:27:57 +10:00
psychedelicious
0a22e6b5a1 feat(ui): clean up unused tool module state 2024-09-06 21:27:57 +10:00
psychedelicious
5eb9e2ba04 tidy(ui): disable isDebugging flag on root component 2024-09-06 21:27:57 +10:00
psychedelicious
376a626419 fix(ui): unable to drag while transforming after switching tools 2024-09-06 21:27:57 +10:00
psychedelicious
5d089ecc77 feat(ui): prevent layer interactions when transforming or filtering 2024-09-06 21:27:57 +10:00
psychedelicious
3ed85d821b feat(ui): add compositeMaskedRegions setting 2024-09-06 21:27:57 +10:00
psychedelicious
7c29caa245 tidy(ui): merge tool slice, sendToCanvas into settings slice 2024-09-06 21:27:57 +10:00
psychedelicious
6161c71aa7 build(ui): add csstype dev dependency 2024-09-06 21:27:57 +10:00
psychedelicious
f7e68ac6d6 feat(ui): clean up tool preview rendering 2024-09-06 21:27:57 +10:00
psychedelicious
5074c97683 feat(ui): tool buttons are only disabled when currently selected 2024-09-06 21:27:57 +10:00
psychedelicious
bb6b5c4941 feat(ui): better types on CanvasStateApiModule.getEntity 2024-09-06 21:27:57 +10:00
psychedelicious
ff12f16343 feat(ui): update default logging context path to be string 2024-09-06 21:27:57 +10:00
psychedelicious
397038e6e8 tidy(ui): mark canvas module attrs readonly 2024-09-06 21:27:57 +10:00
psychedelicious
fcacc0f70a chore: release v4.2.9.dev11 2024-09-06 21:27:57 +10:00
psychedelicious
3ed4cf63ae feat(ui): tidy stateApi atoms & add docstrings 2024-09-06 21:27:57 +10:00
psychedelicious
4b753941e4 feat(ui): streamline manager -> react transform interface 2024-09-06 21:27:57 +10:00
psychedelicious
dbff929be5 tidy(ui): remove unused $isProcessingTransform atom 2024-09-06 21:27:57 +10:00
psychedelicious
44be058ac7 docs(ui): docstrings for $canvasCache 2024-09-06 21:27:57 +10:00
psychedelicious
437129cf70 feat(ui): tweak bookmark verbiage 2024-09-06 21:27:57 +10:00
psychedelicious
2e4a48b71c feat(ui): move transformer state to nanostores
This provides some free reactivity for this canvas-manager-managed state.
2024-09-06 21:27:57 +10:00
psychedelicious
618473db02 fix(ui): transform should ignore konva filters (e.g. transparency effect) 2024-09-06 21:27:57 +10:00
psychedelicious
4f4eee76b9 feat(ui): add fit to bbox as transform helper 2024-09-06 21:27:57 +10:00
psychedelicious
1628eb5900 tidy(ui): transformer organisation 2024-09-06 21:27:57 +10:00
psychedelicious
92c754df79 fix(ui): disable merge visible when 1 or fewer layers of type 2024-09-06 21:27:57 +10:00
psychedelicious
921ade4b0a feat(ui): brush preview opacity at 0.5 when drawing on mask 2024-09-06 21:27:57 +10:00
psychedelicious
c38b05c002 chore(ui): lint 2024-09-06 21:27:57 +10:00
psychedelicious
277708d69e fix(ui): edge cases in quick switch, simpler logic 2024-09-06 21:27:57 +10:00
psychedelicious
02061faaf0 chore(ui): lint 2024-09-06 21:27:57 +10:00
psychedelicious
a4fb8eb171 feat(ui): add bookmark for quick switch 2024-09-06 21:27:57 +10:00