psychedelicious
6b2d900b54
tidy(ui): organise canvas tool classes
2024-09-08 21:55:26 +10:00
psychedelicious
3d6d5affb5
tidy(ui): organise canvas entity classes
2024-09-08 21:55:26 +10:00
psychedelicious
99b683fc1f
tidy(ui): organise canvas object classes
2024-09-08 21:55:26 +10:00
psychedelicious
d5cd50c3ea
feat(ui): split buffer renderer from object renderer
2024-09-08 21:55:26 +10:00
psychedelicious
d7cde0fc23
feat(ui): add spandrel filter
2024-09-08 21:55:26 +10:00
psychedelicious
541605edb4
fix(ui): ignore opacity when transforming
2024-09-08 21:55:26 +10:00
psychedelicious
0194344de2
feat(ui): reset $shouldShowStagedImage when start staging
...
Realized we can use listener middleware to respond to _actions_, as opposed to using the redux store subscription to respond to _state changes_... This might simplify some things.
Using this pattern here.
Only hiccup - there's a TS issue preventing this from being added to the state api module. The `addListener` method has an overloaded type signature and TS cannot extract the overloaded arg type using `Parameters<T>`. As a result, if we try to wrap this, we end up with a broken TS signature for the wrapper method.
2024-09-08 21:55:26 +10:00
psychedelicious
34f3cb3116
fix(ui): progress images shown during staging when show staged images is disabled
2024-09-08 21:55:26 +10:00
psychedelicious
5ab4818eb6
tidy(ui): rename canvas session slice to staging area slice
2024-09-08 21:55:26 +10:00
psychedelicious
60d2541934
chore(ui): lint
2024-09-08 06:16:53 +10:00
psychedelicious
8d87549ebe
fix(ui): disabled global IP adapters used for generation
2024-09-08 06:16:53 +10:00
psychedelicious
4cb5854990
fix(ui): compositor does not respect layer order
2024-09-08 06:16:53 +10:00
psychedelicious
6f4d3d0395
fix(ui): do not merge disabled layers when merging visible
2024-09-08 06:16:53 +10:00
psychedelicious
93e9e64b3a
fix(ui): queue status not invalidated on enqueue
2024-09-08 06:16:53 +10:00
psychedelicious
2bdfc340aa
fix(ui): race conditions with progress events
...
There's a race condition where we sometimes get progress events from canceled queue items, depending on the timing of the cancellation request and last event or two from the queue item.
I can't imagine how to resolve this except by tracking all cancellations and ignoring events for cancelled items, which is implemented in this change.
2024-09-08 06:16:53 +10:00
psychedelicious
2a1bc3e044
fix(ui): do not allow transform when entity is "empty"
2024-09-08 06:16:53 +10:00
psychedelicious
b4d006d14b
fix(ui): do not use crypto.randomUUID
...
This API is not available in all browsers. Also add an eslint rule to prevent usage in the future.
2024-09-08 06:16:53 +10:00
psychedelicious
464603e0ea
feat(ui): rework control adapter/ip adapter creation handling
...
- Add selectors to get the default control adapter and ip adapter with model, preferring controlnet over t2i adapter for model
- Add hooks to add each entity type, using the defaults
- Add hooks to add prompts/ip adapters to a regional guidance layer
- Use the defaults in other places where we add control layers or ip adapters (e.g. dnd-triggered entity creation)
2024-09-08 06:16:53 +10:00
psychedelicious
864e471e5a
fix(ui): prevent default browser behaviour on shortcut keys
...
Hopefully this resolves the issue w/ alt as a quick switch for color picker on windows.
2024-09-08 06:16:53 +10:00
psychedelicious
670e054fe0
feat(ui): refactor filter module
...
- Each entity gets its own `CanvasEntityFilterer`
- Add auto-preview feature to filter, debounced by 1000ms leading + trailing
- Fix flash when preview updates
2024-09-08 06:16:53 +10:00
psychedelicious
0abd81ac80
fix(ui): tool/cursor state when filtering or transforming
2024-09-08 06:16:53 +10:00
psychedelicious
1870daffa1
feat(ui): if uploading image directly to gallery, switch to destination board/assets view
2024-09-08 06:16:53 +10:00
psychedelicious
d6d27a82a6
fix(ui): aspect ratio preview not updating when changing bbox on canvas
2024-09-08 06:16:53 +10:00
psychedelicious
ff0d2fcc92
chore: release v5.0.0.dev13
2024-09-06 22:56:24 +10:00
psychedelicious
a2969816fa
feat(ui): move seed out of advanced, hide HRF settings
2024-09-06 22:56:24 +10:00
psychedelicious
6b20d1564d
chore(ui): lint
2024-09-06 22:56:24 +10:00
psychedelicious
bf484bc90e
feat(ui): tweak padding on entity group header
2024-09-06 22:56:24 +10:00
psychedelicious
fc58d34d25
feat(ui): use plurals for entity group header hidden tooltip
2024-09-06 22:56:24 +10:00
psychedelicious
c15793b794
feat(ui): move delete entity button down to entity list item
2024-09-06 22:56:24 +10:00
psychedelicious
1e32be827e
feat(ui): add fit bbox to layers
2024-09-06 22:56:24 +10:00
psychedelicious
8422908b70
fix(ui): tidy incorrect component name
2024-09-06 22:56:24 +10:00
psychedelicious
d10ff59f9c
feat(ui): do not allow invoke while transforming or filtering
2024-09-06 22:56:24 +10:00
psychedelicious
eab1f50a6f
feat(ui): do not allow transform, filter or merge while staging
2024-09-06 22:56:24 +10:00
psychedelicious
6e346884e3
fix(ui): prevent stage scale/size from being invalid
2024-09-06 22:56:24 +10:00
psychedelicious
1c9fd1f19a
fix(ui): do not save filtered previews to gallery
2024-09-06 22:56:24 +10:00
psychedelicious
28385d06d1
feat(ui): filter UI layout
2024-09-06 22:56:24 +10:00
psychedelicious
12e6f1be89
feat(ui): revised entity list action bars
...
- Global action bar on top
- Selected Entity action bar below
2024-09-06 22:56:24 +10:00
psychedelicious
e1a66e22e9
feat(ui): fit bbox to stage on canvas reset
2024-09-06 22:56:24 +10:00
psychedelicious
b3569e5c0d
chore(ui): lint
2024-09-06 22:56:24 +10:00
psychedelicious
c64693fffd
feat(ui): reworked image context menu
...
- Add `Open in Viewer`
- Remove `Send to Image to Image`
- Fix `Send to Canvas`
- Split out logic for composability
2024-09-06 22:56:24 +10:00
psychedelicious
ce9f17726f
feat(ui): restore aspect ratio preview component
2024-09-06 22:56:24 +10:00
psychedelicious
5f62dc6699
fix(ui): transformer rendered behind layer objects
2024-09-06 22:56:24 +10:00
psychedelicious
07cb12eef7
feat(ui): inverted shift behavior for transformer
2024-09-06 22:56:24 +10:00
psychedelicious
9e9f465552
fix(ui): ignore filters when calculating bbox
2024-09-06 22:56:24 +10:00
psychedelicious
e148cc810b
feat(ui): cancel by destination, not origin
2024-09-06 22:56:24 +10:00
psychedelicious
160f54d1ea
chore(ui): typegen
2024-09-06 22:56:24 +10:00
psychedelicious
480856a528
feat(app): cancel by destination, not origin
...
When resetting the canvas or staging area, we don't want to cancel generations that are going to the gallery - only those going to the canvas.
Thus the method should not cancel by origin, but instead cancel by destination.
Update the queue method and route.
2024-09-06 22:56:24 +10:00
psychedelicious
97aad2ab2f
fix(ui): scaled size not correctly reset when canvas reset
2024-09-06 22:56:24 +10:00
psychedelicious
2b93dbd96a
feat(ui): use black bg when rasterizing control images
2024-09-06 22:56:24 +10:00
psychedelicious
ce4c79a8d9
fix(ui): ignore Konva filters when previewing filter
2024-09-06 22:56:24 +10:00