Commit Graph

8296 Commits

Author SHA1 Message Date
psychedelicious
9eb37feb6c feat(ui) do not set $canvasManager until ready 2024-09-06 21:27:36 +10:00
psychedelicious
e3b38339a0 fix(ui): inpaint mask naming 2024-09-06 21:27:36 +10:00
psychedelicious
f92695e677 feat(ui): efficient canvas compositing
Also solves issue of exporting layers at different opacities than what is visible
2024-09-06 21:27:36 +10:00
psychedelicious
9473d54fc7 feat(ui): allow multiple inpaint masks
This is easier than making it a nullable singleton
2024-09-06 21:27:36 +10:00
psychedelicious
33783eae4f fix(ui): missing rasterization cache invalidations 2024-09-06 21:27:36 +10:00
psychedelicious
f6c3570c26 feat(ui): iterate on filter UI, flow 2024-09-06 21:27:36 +10:00
psychedelicious
96a76a763e fix(ui): rehydration data loss 2024-09-06 21:27:36 +10:00
psychedelicious
209bc925c0 feat(ui): sort log namespaces 2024-09-06 21:27:36 +10:00
psychedelicious
a77fb427d0 fix(ui): do not merge arrays by index during rehydration 2024-09-06 21:27:36 +10:00
psychedelicious
6fc358b9ea fix(ui): clone parsed data during state rehydration
Without this, the objects and arrays in `parsed` could be mutated, and the log statment would show the mutated data.
2024-09-06 21:27:36 +10:00
psychedelicious
742ac3088d fix(ui): fix logger filter
was accidetnally replacing the filter instead of appending to it.
2024-09-06 21:27:36 +10:00
psychedelicious
8b958e5280 fix(ui): race condition queue status
Sequence of events causing the race condition:
- Enqueue batch
- Invalidate `SessionQueueStatus` tag
- Request updated queue status via HTTP - batch still processing at this point
- Batch completes
- Event emitted saying so
- Optimistically update the queue status cache, it is correct
- HTTP request makes it back and overwrites the optimistic update, indicating the batch is still in progress

FIxed by not invalidating the cache.
2024-09-06 21:27:36 +10:00
psychedelicious
71c727e586 fix(ui): handle opacity for masks 2024-09-06 21:27:36 +10:00
psychedelicious
c590e8bd6f feat(ui): default background to checkerboard 2024-09-06 21:27:36 +10:00
psychedelicious
71a13c3e91 feat(ui): clean up logging namespaces, allow skipping namespaces 2024-09-06 21:27:36 +10:00
psychedelicious
d7e7f049e7 chore(ui): bump ui library 2024-09-06 21:27:36 +10:00
psychedelicious
b23332e167 fix(ui): do not allow drawing if layer disabled 2024-09-06 21:27:36 +10:00
psychedelicious
21c637c365 fix(ui): stale state causing race conditions & extraneous renders 2024-09-06 21:27:36 +10:00
psychedelicious
2b7aecb346 fix(ui): do not clear buffer when rendering "real" objects 2024-09-06 21:27:36 +10:00
psychedelicious
5c669f7925 tidy(ui): remove "filter" from CanvasImageState 2024-09-06 21:27:36 +10:00
psychedelicious
748f445de5 feat(ui): better editable title 2024-09-06 21:27:36 +10:00
psychedelicious
2127ee9a09 fix(ui): stroke eraserline 2024-09-06 21:27:36 +10:00
psychedelicious
7ccb1c5938 feat(ui): restore transparency effect for control layers 2024-09-06 21:27:36 +10:00
psychedelicious
26d1a2ebfe feat(ui): use text cursor for entity title 2024-09-06 21:27:36 +10:00
psychedelicious
e0bd683d88 tidy(ui): remove extraneous logging in CanvasStateApi 2024-09-06 21:27:36 +10:00
psychedelicious
3c5332b236 feat(ui): better buffer commit logic 2024-09-06 21:27:36 +10:00
psychedelicious
d4e847bd9a feat(ui): render buffer separately from "real" objects 2024-09-06 21:27:36 +10:00
psychedelicious
cee16536cd fix(ui): pixelRect should always be integer 2024-09-06 21:27:36 +10:00
psychedelicious
811e75dc67 fix(ui): only update stage attrs when stage itself is dragged 2024-09-06 21:27:36 +10:00
psychedelicious
a4a77d70f7 feat(ui): add line simplification
This fixes some awkward issues where line segments stack up.
2024-09-06 21:27:36 +10:00
psychedelicious
13e2de3cb4 fix(ui): various things listening when they need not listen 2024-09-06 21:27:36 +10:00
psychedelicious
7925bbf454 feat(ui): layer opacity via caching 2024-09-06 21:27:36 +10:00
psychedelicious
39eb0a01d2 feat(ui): reset view fits all visible objects 2024-09-06 21:27:36 +10:00
psychedelicious
305e50004a fix(ui): rerenders when changing canvas scale 2024-09-06 21:27:36 +10:00
psychedelicious
9974784596 fix(ui): do not render rasterized layer unless renderObjects=true 2024-09-06 21:27:36 +10:00
psychedelicious
105c5a7fd4 feat(ui): revise app layout strategy, add interaction scopes for hotkeys 2024-09-06 21:27:36 +10:00
psychedelicious
7baad9c72e feat(ui): tweak mask patterns 2024-09-06 21:27:36 +10:00
psychedelicious
a5e8705ea3 fix(ui): dynamic prompts recalcs when presets are loaded 2024-09-06 21:27:36 +10:00
psychedelicious
7b2a5c3a30 fix(ui): use style preset prompts correctly 2024-09-06 21:27:36 +10:00
psychedelicious
3dcb33026a fix(ui): discard selected staging image not all other images 2024-09-06 21:27:36 +10:00
psychedelicious
e956ea5482 fix(ui): respect image size in staging preview 2024-09-06 21:27:36 +10:00
psychedelicious
64f50ab278 tidy(ui): cleanup after events change 2024-09-06 21:27:36 +10:00
psychedelicious
b152937f30 feat(ui): move socket event handling out of redux
Download events and invocation status events (including progress images) are very frequent. There's no real need for these to pass through redux. Handling them outside redux is a significant performance win - far fewer store subscription calls, far fewer trips through middleware.

All event handling is moved outside middleware. Cleanup of unused actions and listeners to follow.
2024-09-06 21:27:36 +10:00
psychedelicious
4e6a9d990c fix(ui): rebase conflicts 2024-09-06 21:27:36 +10:00
psychedelicious
d6fb220b2c fix(ui): update compositing rect when fill changes 2024-09-06 21:27:36 +10:00
psychedelicious
13fc539f8b feat(ui): add canvas background style 2024-09-06 21:27:36 +10:00
psychedelicious
d2b5d6342c feat(ui): mask layers choose own opacity 2024-09-06 21:27:36 +10:00
psychedelicious
eb644d4e6a feat(ui): mask fill patterns 2024-09-06 21:27:36 +10:00
psychedelicious
d8a2efc691 build(ui): add vite types to tsconfig 2024-09-06 21:27:36 +10:00
psychedelicious
163687aef3 fix(ui): do not smooth pixel data when using eyeDropper 2024-09-06 21:27:36 +10:00