psychedelicious
b586d67bac
chore(ui): eslint
2024-08-30 22:19:54 +10:00
psychedelicious
31e5e5af13
tidy(ui): remove unused stuff 4
2024-08-30 22:19:35 +10:00
psychedelicious
94871e88cd
tidy(ui): remove unused stuff 3
2024-08-30 22:18:50 +10:00
psychedelicious
00e56d1968
tidy(ui): remove unused pkg @chakra-ui/react-use-size
2024-08-30 22:18:50 +10:00
psychedelicious
43672a53ab
feat(ui): revise graph building for control layers, fix issues w/ invocation complete events
2024-08-30 22:18:50 +10:00
psychedelicious
45097ed2a6
feat(ui): use unique id for metadata in Graph class
2024-08-30 22:18:50 +10:00
psychedelicious
871f6b9f95
tidy(ui): remove unused stuff 2
2024-08-30 22:18:50 +10:00
psychedelicious
e6476e3c75
tidy(ui): remove unused stuff
2024-08-30 22:18:50 +10:00
psychedelicious
ac9b5f246d
tidy(ui): reduce use of parseify
util
2024-08-30 22:18:50 +10:00
psychedelicious
8bc72a2744
feat(ui): refine canvas entity list items & menus
2024-08-30 22:18:50 +10:00
psychedelicious
f76f1d89d7
feat(ui): canvas layer preview, revised reactivity for adapters
2024-08-30 22:18:50 +10:00
psychedelicious
7b54762b5e
feat(ui): add SyncableMap
...
Can be used with useSyncExternal store to make a `Map` reactive.
2024-08-30 22:18:50 +10:00
psychedelicious
bc6faf6a6d
tidy(ui): removed unused transform methods from canvasmanager
2024-08-30 22:18:50 +10:00
psychedelicious
e7ae1ac9b2
feat(ui): transform tool ux
2024-08-30 22:18:50 +10:00
psychedelicious
dcb436adb1
feat(ui): rough out canvas mode
2024-08-30 22:18:50 +10:00
psychedelicious
80f0441905
feat(ui): add canvas autosave checkbox
2024-08-30 22:18:50 +10:00
psychedelicious
8cde803654
fix(ui): memory leak when getting image DTO
...
must unsubscribe!
2024-08-30 22:18:50 +10:00
psychedelicious
62445680ad
feat(ui): rework settings menu
2024-08-30 22:18:50 +10:00
psychedelicious
7685e36886
feat(ui): no entities fallback buttons
2024-08-30 22:18:50 +10:00
psychedelicious
4c196844bd
perf(ui): optimize gallery image delete button rendering
2024-08-30 22:18:50 +10:00
psychedelicious
b36159bda4
feat(ui): remove "solid" background option
2024-08-30 22:18:50 +10:00
psychedelicious
b02948d49a
tidy(ui): organise files and classes
2024-08-30 22:18:50 +10:00
psychedelicious
f442d206be
tidy(ui): abstract compositing logic to module
2024-08-30 22:18:50 +10:00
psychedelicious
21ed6bccd8
fix(ui): fix canvas cache property access
2024-08-30 22:18:50 +10:00
psychedelicious
143ce7f00b
tidy(ui): clean up CanvasFilter class
2024-08-30 22:18:50 +10:00
psychedelicious
28e716139b
tidy(ui): clean up a few bits and bobs
2024-08-30 22:18:50 +10:00
psychedelicious
80a7c0c521
tidy(ui): abstract canvas rendering logic to module
2024-08-30 22:18:50 +10:00
psychedelicious
255ad3d2ad
tidy(ui): abstract caching logic to module
2024-08-30 22:18:50 +10:00
psychedelicious
089bc9c7d8
tidy(ui): abstract worker logic to module
2024-08-30 22:18:50 +10:00
psychedelicious
ee7dafaf57
tidy(ui): abstract stage logic into module
2024-08-30 22:18:50 +10:00
psychedelicious
516ecdb0ee
feat(ui): add entity group hiding
2024-08-30 22:18:50 +10:00
psychedelicious
b77675f74d
feat(ui): move all caching out of redux
...
While we lose the benefit of the caches persisting across reloads, this is a much simpler way to handle things. If we need a persistent cache, we can explore it in the future.
2024-08-30 22:18:50 +10:00
psychedelicious
eea5c8efad
feat(ui): revised rasterization caching
...
- use `stable-hash` to generate stable, non-crypto hashes for cache entries, instead of using deep object comparisons
- use an object to store image name caches
2024-08-30 22:18:50 +10:00
psychedelicious
09f1aac3a3
feat(ui): revise filter implementation
2024-08-30 22:18:50 +10:00
psychedelicious
dd1dcb5eba
fix(ui): add button to delete inpaint mask
2024-08-30 22:18:50 +10:00
psychedelicious
757bd62ebe
feat(ui): add contexts/hooks to access entity adapters directly
2024-08-30 22:18:50 +10:00
psychedelicious
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
psychedelicious
ced934c0a3
feat(ui) do not set $canvasManager until ready
2024-08-30 22:18:50 +10:00
psychedelicious
c32445084f
fix(ui): inpaint mask naming
2024-08-30 22:18:50 +10:00
psychedelicious
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
psychedelicious
0d26cab400
feat(ui): allow multiple inpaint masks
...
This is easier than making it a nullable singleton
2024-08-30 22:18:50 +10:00
psychedelicious
c8de2da3fc
fix(ui): missing rasterization cache invalidations
2024-08-30 22:18:50 +10:00
psychedelicious
ca089a105e
feat(ui): iterate on filter UI, flow
2024-08-30 22:18:50 +10:00
psychedelicious
22000918d6
fix(ui): rehydration data loss
2024-08-30 22:18:50 +10:00
psychedelicious
6affc28da4
feat(ui): sort log namespaces
2024-08-30 22:18:50 +10:00
psychedelicious
f659995e1c
fix(ui): do not merge arrays by index during rehydration
2024-08-30 22:18:50 +10:00
psychedelicious
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
psychedelicious
56d450a907
fix(ui): fix logger filter
...
was accidetnally replacing the filter instead of appending to it.
2024-08-30 22:18:50 +10:00
psychedelicious
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
psychedelicious
19434e73b4
fix(ui): handle opacity for masks
2024-08-30 22:18:50 +10:00