psychedelicious
b4166083c5
chore(ui): lint
2024-09-06 22:56:24 +10:00
psychedelicious
56d53b18f0
chore(ui): prettier
2024-09-06 22:56:24 +10:00
psychedelicious
20961215e7
chore(ui): eslint
2024-09-06 22:56:24 +10:00
psychedelicious
49c75ca381
tidy(ui): remove unused stuff 4
2024-09-06 22:56:24 +10:00
psychedelicious
cf6751cc06
tidy(ui): remove unused stuff 3
2024-09-06 22:56:24 +10:00
psychedelicious
6cc828b628
tidy(ui): remove unused pkg @chakra-ui/react-use-size
2024-09-06 22:56:24 +10:00
psychedelicious
ddeffb3ef1
feat(ui): revise graph building for control layers, fix issues w/ invocation complete events
2024-09-06 22:56:24 +10:00
psychedelicious
95b606683f
feat(ui): use unique id for metadata in Graph class
2024-09-06 22:56:24 +10:00
psychedelicious
0598b89738
tidy(ui): remove unused stuff 2
2024-09-06 22:56:24 +10:00
psychedelicious
c2be63a811
tidy(ui): remove unused stuff
2024-09-06 22:56:24 +10:00
psychedelicious
639304197b
tidy(ui): reduce use of parseify util
2024-09-06 22:56:24 +10:00
psychedelicious
c4a85cf1bf
feat(ui): refine canvas entity list items & menus
2024-09-06 22:56:24 +10:00
psychedelicious
cff80524a8
feat(ui): canvas layer preview, revised reactivity for adapters
2024-09-06 22:56:24 +10:00
psychedelicious
2d1b13bde7
feat(ui): add SyncableMap
...
Can be used with useSyncExternal store to make a `Map` reactive.
2024-09-06 22:56:24 +10:00
psychedelicious
220b78d0e7
tidy(ui): removed unused transform methods from canvasmanager
2024-09-06 22:56:24 +10:00
psychedelicious
efb97c301e
feat(ui): transform tool ux
2024-09-06 22:56:24 +10:00
psychedelicious
cd865347eb
feat(ui): rough out canvas mode
2024-09-06 22:56:24 +10:00
psychedelicious
54ccb9846d
feat(ui): add canvas autosave checkbox
2024-09-06 22:56:24 +10:00
psychedelicious
22a2849683
fix(ui): memory leak when getting image DTO
...
must unsubscribe!
2024-09-06 22:56:24 +10:00
psychedelicious
2bae67cfe9
feat(ui): rework settings menu
2024-09-06 22:56:24 +10:00
psychedelicious
de8e8d9f68
feat(ui): no entities fallback buttons
2024-09-06 22:56:24 +10:00
psychedelicious
eced34a72a
perf(ui): optimize gallery image delete button rendering
2024-09-06 22:56:24 +10:00
psychedelicious
591e8162c1
feat(ui): remove "solid" background option
2024-09-06 22:56:24 +10:00
psychedelicious
f4998bc308
tidy(ui): organise files and classes
2024-09-06 22:56:24 +10:00
psychedelicious
39a49fb585
tidy(ui): abstract compositing logic to module
2024-09-06 22:56:24 +10:00
psychedelicious
2b9073da36
fix(ui): fix canvas cache property access
2024-09-06 22:56:24 +10:00
psychedelicious
d3aa54f7bd
tidy(ui): clean up CanvasFilter class
2024-09-06 22:56:24 +10:00
psychedelicious
f0a959f6fe
tidy(ui): clean up a few bits and bobs
2024-09-06 22:56:24 +10:00
psychedelicious
9a5b702013
tidy(ui): abstract canvas rendering logic to module
2024-09-06 22:56:24 +10:00
psychedelicious
018807d678
tidy(ui): abstract caching logic to module
2024-09-06 22:56:24 +10:00
psychedelicious
cf5e8bf4ea
tidy(ui): abstract worker logic to module
2024-09-06 22:56:24 +10:00
psychedelicious
03ae65863c
tidy(ui): abstract stage logic into module
2024-09-06 22:56:24 +10:00
psychedelicious
3b7b6d6404
feat(ui): add entity group hiding
2024-09-06 22:56:24 +10:00
psychedelicious
e9171c80f6
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 22:56:24 +10:00
psychedelicious
0fd3881b3a
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 22:56:24 +10:00
psychedelicious
01ac4c3b3e
feat(ui): revise filter implementation
2024-09-06 22:56:24 +10:00
psychedelicious
f1fcc98a09
fix(ui): add button to delete inpaint mask
2024-09-06 22:56:24 +10:00
psychedelicious
b2823569f0
feat(ui): add contexts/hooks to access entity adapters directly
2024-09-06 22:56:24 +10:00
psychedelicious
3bd98e62de
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 22:56:24 +10:00
psychedelicious
318672be53
feat(ui) do not set $canvasManager until ready
2024-09-06 22:56:24 +10:00
psychedelicious
c5a05691fe
fix(ui): inpaint mask naming
2024-09-06 22:56:24 +10:00
psychedelicious
04fcb9e8e6
feat(ui): efficient canvas compositing
...
Also solves issue of exporting layers at different opacities than what is visible
2024-09-06 22:56:24 +10:00
psychedelicious
a1534b6503
feat(ui): allow multiple inpaint masks
...
This is easier than making it a nullable singleton
2024-09-06 22:56:24 +10:00
psychedelicious
0aa4b1575d
fix(ui): missing rasterization cache invalidations
2024-09-06 22:56:24 +10:00
psychedelicious
85eb6ad616
feat(ui): iterate on filter UI, flow
2024-09-06 22:56:24 +10:00
psychedelicious
9fd2841df0
fix(ui): rehydration data loss
2024-09-06 22:56:24 +10:00
psychedelicious
bd23dcd751
feat(ui): sort log namespaces
2024-09-06 22:56:24 +10:00
psychedelicious
4d480093d9
fix(ui): do not merge arrays by index during rehydration
2024-09-06 22:56:24 +10:00
psychedelicious
bb0d2b6ce2
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 22:56:24 +10:00
psychedelicious
0d863a876b
fix(ui): fix logger filter
...
was accidetnally replacing the filter instead of appending to it.
2024-09-06 22:56:24 +10:00