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
psychedelicious
f7b3df9583
feat(ui): default background to checkerboard
2024-08-30 22:18:50 +10:00
psychedelicious
4da4b3bd50
feat(ui): clean up logging namespaces, allow skipping namespaces
2024-08-30 22:18:50 +10:00
psychedelicious
e83513882a
chore(ui): bump ui library
2024-08-30 22:18:50 +10:00
psychedelicious
5adc784b6b
fix(ui): do not allow drawing if layer disabled
2024-08-30 22:18:50 +10:00
psychedelicious
f177513523
fix(ui): stale state causing race conditions & extraneous renders
2024-08-30 22:18:50 +10:00
psychedelicious
8ebcf79b1a
fix(ui): do not clear buffer when rendering "real" objects
2024-08-30 22:18:50 +10:00
psychedelicious
c7e5f24704
tidy(ui): remove "filter" from CanvasImageState
2024-08-30 22:18:50 +10:00
psychedelicious
ab3eb32ec8
feat(ui): better editable title
2024-08-30 22:18:50 +10:00
psychedelicious
d76509e5cb
fix(ui): stroke eraserline
2024-08-30 22:18:50 +10:00
psychedelicious
04f56aab82
feat(ui): restore transparency effect for control layers
2024-08-30 22:18:50 +10:00
psychedelicious
c7913cbbbb
feat(ui): use text cursor for entity title
2024-08-30 22:18:50 +10:00
psychedelicious
0556468518
tidy(ui): remove extraneous logging in CanvasStateApi
2024-08-30 22:18:49 +10:00
psychedelicious
1c7ef827b6
feat(ui): better buffer commit logic
2024-08-30 22:18:49 +10:00
psychedelicious
5720ed4d64
feat(ui): render buffer separately from "real" objects
2024-08-30 22:18:49 +10:00
psychedelicious
7f05af4a68
fix(ui): pixelRect should always be integer
2024-08-30 22:18:49 +10:00
psychedelicious
6db615ed5a
fix(ui): only update stage attrs when stage itself is dragged
2024-08-30 22:18:49 +10:00
psychedelicious
465f020c86
feat(ui): add line simplification
...
This fixes some awkward issues where line segments stack up.
2024-08-30 22:18:49 +10:00
psychedelicious
f05b77088f
fix(ui): various things listening when they need not listen
2024-08-30 22:18:49 +10:00
psychedelicious
80a5abf1ad
feat(ui): layer opacity via caching
2024-08-30 22:18:49 +10:00
psychedelicious
7a6e8de60f
feat(ui): reset view fits all visible objects
2024-08-30 22:18:49 +10:00
psychedelicious
8364fa74cf
fix(ui): rerenders when changing canvas scale
2024-08-30 22:18:49 +10:00
psychedelicious
14f4566dd0
fix(ui): do not render rasterized layer unless renderObjects=true
2024-08-30 22:18:49 +10:00
psychedelicious
6145378923
feat(ui): revise app layout strategy, add interaction scopes for hotkeys
2024-08-30 22:18:49 +10:00
psychedelicious
68e2606427
feat(ui): tweak mask patterns
2024-08-30 22:18:49 +10:00
psychedelicious
0f3eb04d1a
fix(ui): dynamic prompts recalcs when presets are loaded
2024-08-30 22:18:49 +10:00
psychedelicious
4a355323b2
fix(ui): use style preset prompts correctly
2024-08-30 22:18:49 +10:00
psychedelicious
8601fbb4ea
fix(ui): discard selected staging image not all other images
2024-08-30 22:18:49 +10:00
psychedelicious
db885aa180
fix(ui): respect image size in staging preview
2024-08-30 22:18:49 +10:00
psychedelicious
c18fb980a2
tidy(ui): cleanup after events change
2024-08-30 22:18:49 +10:00
psychedelicious
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
psychedelicious
29ac1b5e01
fix(ui): rebase conflicts
2024-08-30 22:18:49 +10:00
psychedelicious
506d3b079e
fix(ui): update compositing rect when fill changes
2024-08-30 22:18:49 +10:00
psychedelicious
0670e6b53a
feat(ui): add canvas background style
2024-08-30 22:18:49 +10:00
psychedelicious
76124ea35b
feat(ui): mask layers choose own opacity
2024-08-30 22:18:49 +10:00
psychedelicious
6eae3470cd
feat(ui): mask fill patterns
2024-08-30 22:18:49 +10:00
psychedelicious
c7ba7ac876
build(ui): add vite types to tsconfig
2024-08-30 22:18:49 +10:00
psychedelicious
edc733abd9
fix(ui): do not smooth pixel data when using eyeDropper
2024-08-30 22:18:49 +10:00
psychedelicious
a56ded664e
tidy(ui): tool components & translations
2024-08-30 22:18:49 +10:00
psychedelicious
31ace5fb0c
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-08-30 22:18:49 +10:00
psychedelicious
11010236b3
fix(ui): ip adapters work
2024-08-30 22:18:49 +10:00
psychedelicious
5f061ac1e2
feat(ui): rename layers
2024-08-30 22:18:49 +10:00
psychedelicious
72919fa34e
feat(ui): revise entity menus
2024-08-30 22:18:49 +10:00
psychedelicious
d5ca99fc3c
feat(ui): split control layers from raster layers for UI and internal state, same rendering as raster layers
2024-08-30 22:18:49 +10:00
psychedelicious
e49b72ee4e
feat(ui): implement cache for image rasterization, rip out some old controladapters code
2024-08-30 22:18:49 +10:00
psychedelicious
abe8db8154
feat(ui, app): use layer as control (wip)
2024-08-30 22:18:49 +10:00
psychedelicious
e0e5941384
feat(ui): add contextmenu for canvas entities
2024-08-30 22:18:49 +10:00
psychedelicious
86e1f4e8b0
feat(ui): more better logging & naming
2024-08-30 22:18:49 +10:00
psychedelicious
447d873ef0
feat(ui): better logging w/ path
2024-08-30 22:18:49 +10:00