psychedelicious
60d4514fd8
tidy(ui): CanvasSettingsAutoSaveCheckbox
2024-09-08 21:55:26 +10:00
psychedelicious
9709da901c
feat(ui): add snap & autosave to HUD
2024-09-08 21:55:26 +10:00
psychedelicious
44df59e9e9
feat(ui): snap to grid
...
Snap can be any of off, 8px or 64px.
The snap is used when moving and transforming entities.
When transforming and locking aspect ratio, the snap is ignored entirely, because we'd change the aspect ratio if we forced the snap.
Otherwise, if we are not locking aspect ratio (e.g. the user is holding shift), we snap the transform anchors to the grid.
2024-09-08 21:55:26 +10:00
psychedelicious
fbe80ceab2
fix(ui): bbox not updating when resizing from canvas
2024-09-08 21:55:26 +10:00
psychedelicious
a86822db4d
fix(ui): flicker when rendering buffers
2024-09-08 21:55:26 +10:00
psychedelicious
f024cb1d05
chore(ui): lint
2024-09-08 21:55:26 +10:00
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