psychedelicious
591e8162c1
feat(ui): remove "solid" background option
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
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
b69350e9ee
feat(ui): default background to checkerboard
2024-09-06 22:56:24 +10:00
psychedelicious
7b429e0a54
feat(ui): clean up logging namespaces, allow skipping namespaces
2024-09-06 22:56:24 +10:00
psychedelicious
ef0699310d
tidy(ui): remove "filter" from CanvasImageState
2024-09-06 22:56:24 +10:00
psychedelicious
0276dac38f
feat(ui): restore transparency effect for control layers
2024-09-06 22:56:24 +10:00
psychedelicious
ad92010778
feat(ui): add line simplification
...
This fixes some awkward issues where line segments stack up.
2024-09-06 22:56:24 +10:00
psychedelicious
d6fec0a0df
feat(ui): layer opacity via caching
2024-09-06 22:56:24 +10:00
psychedelicious
f358bb9364
fix(ui): discard selected staging image not all other images
2024-09-06 22:56:24 +10:00
psychedelicious
82b1d8dab8
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 22:56:24 +10:00
psychedelicious
5dda364b2c
fix(ui): rebase conflicts
2024-09-06 22:56:24 +10:00
psychedelicious
a0d644ac42
feat(ui): add canvas background style
2024-09-06 22:56:24 +10:00
psychedelicious
37198159c9
feat(ui): mask layers choose own opacity
2024-09-06 22:56:24 +10:00
psychedelicious
7170adf3a2
feat(ui): mask fill patterns
2024-09-06 22:56:24 +10:00
psychedelicious
706a3c8f2b
feat(ui): rough out eyedropper tool
...
It's a bit slow bc we are converting the stage to canvas on every mouse move. Also need to improve the visual but it works.
2024-09-06 22:56:24 +10:00
psychedelicious
384601898a
fix(ui): ip adapters work
2024-09-06 22:56:24 +10:00
psychedelicious
94eb5e638f
feat(ui): rename layers
2024-09-06 22:56:24 +10:00
psychedelicious
5629c54d55
feat(ui): revise entity menus
2024-09-06 22:56:24 +10:00
psychedelicious
1303396d0e
feat(ui): split control layers from raster layers for UI and internal state, same rendering as raster layers
2024-09-06 22:56:24 +10:00
psychedelicious
bcd5bcf8d7
feat(ui): implement cache for image rasterization, rip out some old controladapters code
2024-09-06 22:56:24 +10:00
psychedelicious
787a4422cb
feat(ui, app): use layer as control (wip)
2024-09-06 22:56:24 +10:00
psychedelicious
534d4fa495
fix(ui): depth anything v2
2024-09-06 22:56:24 +10:00
psychedelicious
e6ebb0390e
fix(ui): staging area works
2024-09-06 22:56:24 +10:00
psychedelicious
af99238a96
feat(ui): dnd image into layer
2024-09-06 22:56:24 +10:00
psychedelicious
02ddfc5aac
feat(ui): clean up state, add mutex for image loading, add thumbnail loading
2024-09-06 22:56:24 +10:00
psychedelicious
6469cd6e24
tidy(ui): massive cleanup
...
- create a context for entity identifiers, massively simplifying UI for each entity int he list
- consolidate common redux actions
- remove now-unused code
2024-09-06 22:56:24 +10:00
psychedelicious
ac0cc91046
tidy(ui): remove unused code, initial image
2024-09-06 22:56:24 +10:00
psychedelicious
918254b600
tidy(ui): remove unused state & actions
2024-09-06 22:56:24 +10:00
psychedelicious
814c3bed09
feat(ui): region mask rendering
2024-09-06 22:56:24 +10:00
psychedelicious
02c2308938
fix(ui): brush preview fill for inpaint/region
2024-09-06 22:56:24 +10:00
psychedelicious
8df40d2d94
feat(ui): inpaint mask transform
2024-09-06 22:56:24 +10:00
psychedelicious
9117753a70
tidy(ui): more imperative naming
2024-09-06 22:56:24 +10:00
psychedelicious
f2ba9c5d20
tidy(ui): rename union CanvasEntity -> CanvasEntityState
2024-09-06 22:56:24 +10:00
psychedelicious
06d76ed362
feat(ui): split out object renderer
2024-09-06 22:56:24 +10:00
psychedelicious
0578bf0890
tidy(ui): rename canvas stuff
2024-09-06 22:56:24 +10:00
psychedelicious
8af572d502
feat(ui): typing for logging context
2024-09-06 22:56:24 +10:00
psychedelicious
054c3becc0
tidy(ui): remove layer scaling reducers
2024-09-06 22:56:24 +10:00
psychedelicious
1b9aeaaea0
feat(ui): revised logging and naming setup, fix staging area
2024-09-06 22:56:24 +10:00
psychedelicious
bd63cc0562
feat(ui): use nanoid(10) instead of uuidv4 for canvas
...
Shorter ids makes it much more readable
2024-09-06 22:56:24 +10:00
psychedelicious
67f06b2f6e
fix(ui): prevent flash when applying transform
2024-09-06 22:56:24 +10:00
psychedelicious
e54cc241cd
feat(ui): trying to fix flicker after transform
2024-09-06 22:56:24 +10:00
psychedelicious
cd09b49e77
feat(ui): wip transform mode
2024-09-06 22:56:24 +10:00
psychedelicious
8a4b4ec4fe
feat(ui): wip transform mode
2024-09-06 22:56:24 +10:00