psychedelicious
f8d4d5e546
feat(ui): use unique id for metadata in Graph class
2024-09-06 21:27:37 +10:00
psychedelicious
f628b8ad9d
tidy(ui): remove unused stuff 2
2024-09-06 21:27:37 +10:00
psychedelicious
bb4eb70a4a
tidy(ui): remove unused stuff
2024-09-06 21:27:37 +10:00
psychedelicious
7b1a533bf2
tidy(ui): reduce use of parseify util
2024-09-06 21:27:37 +10:00
psychedelicious
d32526f04a
feat(ui): refine canvas entity list items & menus
2024-09-06 21:27:37 +10:00
psychedelicious
76bc2cf5db
feat(ui): canvas layer preview, revised reactivity for adapters
2024-09-06 21:27:37 +10:00
psychedelicious
90b3ebb27d
feat(ui): add SyncableMap
...
Can be used with useSyncExternal store to make a `Map` reactive.
2024-09-06 21:27:37 +10:00
psychedelicious
4b65d9145e
tidy(ui): removed unused transform methods from canvasmanager
2024-09-06 21:27:37 +10:00
psychedelicious
9badbb8dff
feat(ui): transform tool ux
2024-09-06 21:27:37 +10:00
psychedelicious
70bcca23a4
feat(ui): rough out canvas mode
2024-09-06 21:27:37 +10:00
psychedelicious
5ba15d0db5
feat(ui): add canvas autosave checkbox
2024-09-06 21:27:37 +10:00
psychedelicious
fef70fdac0
fix(ui): memory leak when getting image DTO
...
must unsubscribe!
2024-09-06 21:27:37 +10:00
psychedelicious
62eb00aacf
feat(ui): rework settings menu
2024-09-06 21:27:37 +10:00
psychedelicious
3f41ea574b
feat(ui): no entities fallback buttons
2024-09-06 21:27:37 +10:00
psychedelicious
e865c1a2b5
perf(ui): optimize gallery image delete button rendering
2024-09-06 21:27:37 +10:00
psychedelicious
f4a798c64f
feat(ui): remove "solid" background option
2024-09-06 21:27:37 +10:00
psychedelicious
7806604666
tidy(ui): organise files and classes
2024-09-06 21:27:37 +10:00
psychedelicious
917f8087b4
tidy(ui): abstract compositing logic to module
2024-09-06 21:27:37 +10:00
psychedelicious
b7a9a6153a
fix(ui): fix canvas cache property access
2024-09-06 21:27:37 +10:00
psychedelicious
fdc5f89060
tidy(ui): clean up CanvasFilter class
2024-09-06 21:27:37 +10:00
psychedelicious
7fc0959c83
tidy(ui): clean up a few bits and bobs
2024-09-06 21:27:37 +10:00
psychedelicious
95ff64d1d6
tidy(ui): abstract canvas rendering logic to module
2024-09-06 21:27:37 +10:00
psychedelicious
67f94007d0
tidy(ui): abstract caching logic to module
2024-09-06 21:27:37 +10:00
psychedelicious
930f27d009
tidy(ui): abstract worker logic to module
2024-09-06 21:27:37 +10:00
psychedelicious
6125e0fd13
tidy(ui): abstract stage logic into module
2024-09-06 21:27:37 +10:00
psychedelicious
c8e8cf9dfb
feat(ui): add entity group hiding
2024-09-06 21:27:37 +10:00
psychedelicious
ac8122a154
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-09-06 21:27:37 +10:00
psychedelicious
aa7c909f14
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-09-06 21:27:37 +10:00
psychedelicious
40d294b29c
feat(ui): revise filter implementation
2024-09-06 21:27:36 +10:00
psychedelicious
ff1fd5b5b5
fix(ui): add button to delete inpaint mask
2024-09-06 21:27:36 +10:00
psychedelicious
6aa87d7df2
feat(ui): add contexts/hooks to access entity adapters directly
2024-09-06 21:27:36 +10:00
psychedelicious
7732eeb815
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-09-06 21:27:36 +10:00
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