Commit Graph

13032 Commits

Author SHA1 Message Date
a845a2daa5 fix(ui): do not merge arrays by index during rehydration 2024-08-27 11:01:52 +10:00
df41f4fbce 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-27 11:01:52 +10:00
76482da6f5 fix(ui): fix logger filter
was accidetnally replacing the filter instead of appending to it.
2024-08-27 11:01:52 +10:00
8205abbbbf 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-27 11:01:52 +10:00
926873de26 fix(ui): handle opacity for masks 2024-08-27 11:01:52 +10:00
00cb1903ba feat(ui): default background to checkerboard 2024-08-27 11:01:52 +10:00
58ba38b9c7 feat(ui): clean up logging namespaces, allow skipping namespaces 2024-08-27 11:01:52 +10:00
2f6a5617f9 chore(ui): bump ui library 2024-08-27 11:01:52 +10:00
e0d84743be fix(ui): do not allow drawing if layer disabled 2024-08-27 11:01:52 +10:00
ee7c62acc4 fix(ui): stale state causing race conditions & extraneous renders 2024-08-27 11:01:52 +10:00
daf3e58bd9 fix(ui): do not clear buffer when rendering "real" objects 2024-08-27 11:01:52 +10:00
c5b9209057 tidy(ui): remove "filter" from CanvasImageState 2024-08-27 11:01:52 +10:00
2a4d6d98e2 feat(ui): better editable title 2024-08-27 11:01:52 +10:00
cfdf59d906 fix(ui): stroke eraserline 2024-08-27 11:01:52 +10:00
f91ce1a47c feat(ui): restore transparency effect for control layers 2024-08-27 11:01:52 +10:00
4af2888168 feat(ui): use text cursor for entity title 2024-08-27 11:01:52 +10:00
8471c6fe86 tidy(ui): remove extraneous logging in CanvasStateApi 2024-08-27 11:01:52 +10:00
fe65a5a2db feat(ui): better buffer commit logic 2024-08-27 11:01:52 +10:00
0df26e967c feat(ui): render buffer separately from "real" objects 2024-08-27 11:01:52 +10:00
d4822b305e fix(ui): pixelRect should always be integer 2024-08-27 11:01:52 +10:00
8df5447563 fix(ui): only update stage attrs when stage itself is dragged 2024-08-27 11:01:52 +10:00
7b5a43df9b feat(ui): add line simplification
This fixes some awkward issues where line segments stack up.
2024-08-27 11:01:52 +10:00
61ef630175 fix(ui): various things listening when they need not listen 2024-08-27 11:01:52 +10:00
4eda2ef555 feat(ui): layer opacity via caching 2024-08-27 11:01:52 +10:00
57f4489520 feat(ui): reset view fits all visible objects 2024-08-27 11:01:52 +10:00
fb6cf9e3da fix(ui): rerenders when changing canvas scale 2024-08-27 11:01:52 +10:00
f776326cff fix(ui): do not render rasterized layer unless renderObjects=true 2024-08-27 11:01:52 +10:00
5be32d5733 feat(ui): revise app layout strategy, add interaction scopes for hotkeys 2024-08-27 11:01:52 +10:00
1f73435241 feat(ui): tweak mask patterns 2024-08-27 11:01:52 +10:00
3251a00631 fix(ui): dynamic prompts recalcs when presets are loaded 2024-08-27 11:01:52 +10:00
49c4ad1dd7 fix(ui): use style preset prompts correctly 2024-08-27 11:01:52 +10:00
5857e95c4a fix(ui): discard selected staging image not all other images 2024-08-27 11:01:52 +10:00
85be2532c6 fix(ui): respect image size in staging preview 2024-08-27 11:01:52 +10:00
8b81a00def tidy(ui): cleanup after events change 2024-08-27 11:01:52 +10:00
8544595c27 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-27 11:01:52 +10:00
a6a5d1470c fix(ui): rebase conflicts 2024-08-27 11:01:39 +10:00
febcc12ec9 fix(ui): update compositing rect when fill changes 2024-08-27 11:01:39 +10:00
ab64078b76 feat(ui): add canvas background style 2024-08-27 11:01:39 +10:00
0ff3459b07 feat(ui): mask layers choose own opacity 2024-08-27 11:01:39 +10:00
2abd7c9bfe feat(ui): mask fill patterns 2024-08-27 11:01:39 +10:00
8e5330bdc9 build(ui): add vite types to tsconfig 2024-08-27 11:01:39 +10:00
1ecec4ea3a fix(ui): do not smooth pixel data when using eyeDropper 2024-08-27 11:01:39 +10:00
700dbe69f3 tidy(ui): tool components & translations 2024-08-27 11:01:39 +10:00
af7ba3b7e4 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-27 11:01:39 +10:00
1f7144d62e fix(ui): ip adapters work 2024-08-27 11:01:39 +10:00
4e389e415b feat(ui): rename layers 2024-08-27 11:01:39 +10:00
2db29fb6ab feat(ui): revise entity menus 2024-08-27 11:01:39 +10:00
79653fcff5 feat(ui): split control layers from raster layers for UI and internal state, same rendering as raster layers 2024-08-27 11:01:39 +10:00
9e39180fbc feat(ui): implement cache for image rasterization, rip out some old controladapters code 2024-08-27 11:01:39 +10:00
dc0f832d8f feat(ui, app): use layer as control (wip) 2024-08-27 11:01:39 +10:00