Commit Graph

13073 Commits

Author SHA1 Message Date
09f1aac3a3 feat(ui): revise filter implementation 2024-08-30 22:18:50 +10:00
dd1dcb5eba fix(ui): add button to delete inpaint mask 2024-08-30 22:18:50 +10:00
757bd62ebe feat(ui): add contexts/hooks to access entity adapters directly 2024-08-30 22:18:50 +10:00
5a3127949b feat(ui): add CanvasManagerProviderGate
This context waits to render its children its until the canvas manager is available. Then its children have access to the manager directly via hook.
2024-08-30 22:18:50 +10:00
ced934c0a3 feat(ui) do not set $canvasManager until ready 2024-08-30 22:18:50 +10:00
c32445084f fix(ui): inpaint mask naming 2024-08-30 22:18:50 +10:00
9f1af0cdaa feat(ui): efficient canvas compositing
Also solves issue of exporting layers at different opacities than what is visible
2024-08-30 22:18:50 +10:00
0d26cab400 feat(ui): allow multiple inpaint masks
This is easier than making it a nullable singleton
2024-08-30 22:18:50 +10:00
c8de2da3fc fix(ui): missing rasterization cache invalidations 2024-08-30 22:18:50 +10:00
ca089a105e feat(ui): iterate on filter UI, flow 2024-08-30 22:18:50 +10:00
22000918d6 fix(ui): rehydration data loss 2024-08-30 22:18:50 +10:00
6affc28da4 feat(ui): sort log namespaces 2024-08-30 22:18:50 +10:00
f659995e1c fix(ui): do not merge arrays by index during rehydration 2024-08-30 22:18:50 +10:00
56fb3e738f 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-08-30 22:18:50 +10:00
56d450a907 fix(ui): fix logger filter
was accidetnally replacing the filter instead of appending to it.
2024-08-30 22:18:50 +10:00
d3cdcef36b 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-08-30 22:18:50 +10:00
19434e73b4 fix(ui): handle opacity for masks 2024-08-30 22:18:50 +10:00
f7b3df9583 feat(ui): default background to checkerboard 2024-08-30 22:18:50 +10:00
4da4b3bd50 feat(ui): clean up logging namespaces, allow skipping namespaces 2024-08-30 22:18:50 +10:00
e83513882a chore(ui): bump ui library 2024-08-30 22:18:50 +10:00
5adc784b6b fix(ui): do not allow drawing if layer disabled 2024-08-30 22:18:50 +10:00
f177513523 fix(ui): stale state causing race conditions & extraneous renders 2024-08-30 22:18:50 +10:00
8ebcf79b1a fix(ui): do not clear buffer when rendering "real" objects 2024-08-30 22:18:50 +10:00
c7e5f24704 tidy(ui): remove "filter" from CanvasImageState 2024-08-30 22:18:50 +10:00
ab3eb32ec8 feat(ui): better editable title 2024-08-30 22:18:50 +10:00
d76509e5cb fix(ui): stroke eraserline 2024-08-30 22:18:50 +10:00
04f56aab82 feat(ui): restore transparency effect for control layers 2024-08-30 22:18:50 +10:00
c7913cbbbb feat(ui): use text cursor for entity title 2024-08-30 22:18:50 +10:00
0556468518 tidy(ui): remove extraneous logging in CanvasStateApi 2024-08-30 22:18:49 +10:00
1c7ef827b6 feat(ui): better buffer commit logic 2024-08-30 22:18:49 +10:00
5720ed4d64 feat(ui): render buffer separately from "real" objects 2024-08-30 22:18:49 +10:00
7f05af4a68 fix(ui): pixelRect should always be integer 2024-08-30 22:18:49 +10:00
6db615ed5a fix(ui): only update stage attrs when stage itself is dragged 2024-08-30 22:18:49 +10:00
465f020c86 feat(ui): add line simplification
This fixes some awkward issues where line segments stack up.
2024-08-30 22:18:49 +10:00
f05b77088f fix(ui): various things listening when they need not listen 2024-08-30 22:18:49 +10:00
80a5abf1ad feat(ui): layer opacity via caching 2024-08-30 22:18:49 +10:00
7a6e8de60f feat(ui): reset view fits all visible objects 2024-08-30 22:18:49 +10:00
8364fa74cf fix(ui): rerenders when changing canvas scale 2024-08-30 22:18:49 +10:00
14f4566dd0 fix(ui): do not render rasterized layer unless renderObjects=true 2024-08-30 22:18:49 +10:00
6145378923 feat(ui): revise app layout strategy, add interaction scopes for hotkeys 2024-08-30 22:18:49 +10:00
68e2606427 feat(ui): tweak mask patterns 2024-08-30 22:18:49 +10:00
0f3eb04d1a fix(ui): dynamic prompts recalcs when presets are loaded 2024-08-30 22:18:49 +10:00
4a355323b2 fix(ui): use style preset prompts correctly 2024-08-30 22:18:49 +10:00
8601fbb4ea fix(ui): discard selected staging image not all other images 2024-08-30 22:18:49 +10:00
db885aa180 fix(ui): respect image size in staging preview 2024-08-30 22:18:49 +10:00
c18fb980a2 tidy(ui): cleanup after events change 2024-08-30 22:18:49 +10:00
b630dbdf20 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-08-30 22:18:49 +10:00
29ac1b5e01 fix(ui): rebase conflicts 2024-08-30 22:18:49 +10:00
506d3b079e fix(ui): update compositing rect when fill changes 2024-08-30 22:18:49 +10:00
0670e6b53a feat(ui): add canvas background style 2024-08-30 22:18:49 +10:00