Commit Graph

12918 Commits

Author SHA1 Message Date
0792b9175e feat(ui): sort log namespaces 2024-08-23 19:47:01 +10:00
e4829f80af fix(ui): do not merge arrays by index during rehydration 2024-08-23 19:47:01 +10:00
bb760f3eb4 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-23 19:47:01 +10:00
388c65287b fix(ui): fix logger filter
was accidetnally replacing the filter instead of appending to it.
2024-08-23 19:47:01 +10:00
12cd41e05c 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-23 19:47:01 +10:00
7765c03949 fix(ui): handle opacity for masks 2024-08-23 19:47:01 +10:00
3daa80c57f feat(ui): default background to checkerboard 2024-08-23 19:47:01 +10:00
5dbbef4ebd feat(ui): clean up logging namespaces, allow skipping namespaces 2024-08-23 19:47:01 +10:00
db33b3f7b5 chore(ui): bump ui library 2024-08-23 19:47:01 +10:00
8ffcf2a6be fix(ui): do not allow drawing if layer disabled 2024-08-23 19:47:01 +10:00
2e7ae6a07e fix(ui): stale state causing race conditions & extraneous renders 2024-08-23 19:47:01 +10:00
fea1711f0c fix(ui): do not clear buffer when rendering "real" objects 2024-08-23 19:47:01 +10:00
2a3546db97 tidy(ui): remove "filter" from CanvasImageState 2024-08-23 19:47:01 +10:00
285c266612 feat(ui): better editable title 2024-08-23 19:47:01 +10:00
426ad54c53 fix(ui): stroke eraserline 2024-08-23 19:47:01 +10:00
fc75f7919f feat(ui): restore transparency effect for control layers 2024-08-23 19:47:01 +10:00
6c6b1aaff6 feat(ui): use text cursor for entity title 2024-08-23 19:47:01 +10:00
c319d653ac tidy(ui): remove extraneous logging in CanvasStateApi 2024-08-23 19:47:01 +10:00
d887e474e7 feat(ui): better buffer commit logic 2024-08-23 19:47:01 +10:00
da7b52d6ba feat(ui): render buffer separately from "real" objects 2024-08-23 19:47:01 +10:00
b5aa308593 fix(ui): pixelRect should always be integer 2024-08-23 19:47:01 +10:00
0b7ceb3bb6 fix(ui): only update stage attrs when stage itself is dragged 2024-08-23 19:47:01 +10:00
3a70cefda2 feat(ui): add line simplification
This fixes some awkward issues where line segments stack up.
2024-08-23 19:47:01 +10:00
4b609251e1 fix(ui): various things listening when they need not listen 2024-08-23 19:47:01 +10:00
0839eac0f7 feat(ui): layer opacity via caching 2024-08-23 19:47:01 +10:00
5f2a7feeee feat(ui): reset view fits all visible objects 2024-08-23 19:47:01 +10:00
982535eb92 fix(ui): rerenders when changing canvas scale 2024-08-23 19:47:01 +10:00
0c2b8edc8d fix(ui): do not render rasterized layer unless renderObjects=true 2024-08-23 19:47:01 +10:00
f78f4ca25f feat(ui): revise app layout strategy, add interaction scopes for hotkeys 2024-08-23 19:47:01 +10:00
d6b3e6c07d feat(ui): tweak mask patterns 2024-08-23 19:47:01 +10:00
071ff8e74a fix(ui): dynamic prompts recalcs when presets are loaded 2024-08-23 19:47:01 +10:00
1ea8aafca1 fix(ui): use style preset prompts correctly 2024-08-23 19:46:05 +10:00
533dd221f8 fix(ui): discard selected staging image not all other images 2024-08-23 19:46:05 +10:00
2b325c6683 fix(ui): respect image size in staging preview 2024-08-23 19:46:05 +10:00
3845b1b3e6 tidy(ui): cleanup after events change 2024-08-23 19:46:05 +10:00
cea7890a67 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-23 19:46:05 +10:00
c38fe8025d fix(ui): rebase conflicts 2024-08-23 19:46:05 +10:00
f1de95349c fix(ui): update compositing rect when fill changes 2024-08-23 19:46:05 +10:00
2950775fa7 feat(ui): add canvas background style 2024-08-23 19:46:05 +10:00
cb293fd7ac feat(ui): mask layers choose own opacity 2024-08-23 19:46:05 +10:00
43b3fab6be feat(ui): mask fill patterns 2024-08-23 19:46:05 +10:00
d4b0dbce49 build(ui): add vite types to tsconfig 2024-08-23 19:46:05 +10:00
137b810669 fix(ui): do not smooth pixel data when using eyeDropper 2024-08-23 19:46:05 +10:00
c172657324 tidy(ui): tool components & translations 2024-08-23 19:46:05 +10:00
97c966b04f 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-23 19:46:05 +10:00
7178fc6253 fix(ui): ip adapters work 2024-08-23 19:46:05 +10:00
4adb2eabf5 feat(ui): rename layers 2024-08-23 19:46:05 +10:00
9f2c815e13 feat(ui): revise entity menus 2024-08-23 19:46:05 +10:00
1435557d1d feat(ui): split control layers from raster layers for UI and internal state, same rendering as raster layers 2024-08-23 19:46:05 +10:00
96abf687f6 feat(ui): implement cache for image rasterization, rip out some old controladapters code 2024-08-23 19:46:05 +10:00