psychedelicious
8b6512cc90
fix(ui): stale rect used in getVisibleRect (partial fix)
...
Need to figure out why the rect isn't reset when the entity is reset. Probably just needs some special handling.
2024-09-09 23:17:41 +10:00
psychedelicious
a6b998c125
feat(ui): move fit bbox to layers button to toolbar
2024-09-09 23:17:41 +10:00
psychedelicious
5275782533
feat(ui): move add layer menu to selected entity action bar
2024-09-09 23:17:41 +10:00
psychedelicious
ede3bd8e64
feat(ui): default canvas state includes bookmarked inpaint mask
2024-09-09 23:17:41 +10:00
psychedelicious
da2583b894
feat(ui): shift+c clears regional guidance
2024-09-09 23:17:41 +10:00
psychedelicious
9210970130
fix(ui): preview not updating after reset
2024-09-09 23:17:41 +10:00
psychedelicious
2a022a811c
feat(ui): selected entity alert
2024-09-09 23:17:41 +10:00
psychedelicious
1a53e8dc5c
feat(ui): swap gallery and layer tabs
2024-09-09 23:17:41 +10:00
psychedelicious
71e0abe653
fix(ui): preview image squished when editing layer title
2024-09-09 23:17:41 +10:00
psychedelicious
3ed29a16a8
feat(ui): reworked layout (wip)
2024-09-09 23:17:41 +10:00
psychedelicious
e774b6879e
feat(ui): auto-negative defaults to off
2024-09-09 23:17:41 +10:00
psychedelicious
e7d95c3724
fix(ui): error when creating control adapter
2024-09-09 23:17:41 +10:00
psychedelicious
1b65884dbe
feat(ui): add selected entity status to HUD
2024-09-09 23:17:41 +10:00
psychedelicious
400ef8cdc3
feat(ui): grid size -> snap to grid
...
Similar behaviour to before. When on, snaps to 64. If ctrl/cmd held, snap to 8.
2024-09-09 23:17:41 +10:00
psychedelicious
b0ec3de40a
fix(ui): do not change scaled size when manual & locked
2024-09-09 23:17:41 +10:00
psychedelicious
b38b8bc90c
feat(ui): make filter process debounce internally configurable
2024-09-09 23:17:41 +10:00
psychedelicious
a5ab5e5146
feat(ui): disable filter apply button when no filter processed
2024-09-09 23:17:41 +10:00
psychedelicious
61fc30b345
feat(ui): filter behaviour
...
- Add `reset` functionality
- Rename badly named `autoPreviewFilter` to `autoProcessFilter`
- Do not process filter when starting, unless `autoProcessFilter` is enabled
2024-09-09 23:17:41 +10:00
psychedelicious
5a3e0d76d9
fix(ui): adapter konva objects drawn in wrong order
...
Add `syncZIndices` to `CanvasEntityAdapterBase` to arrange each layer's konva nodes appropriately.
2024-09-09 23:17:41 +10:00
psychedelicious
5eb919f602
feat(ui): use 64 as grid for auto-scaled bbox
2024-09-08 21:55:26 +10:00
psychedelicious
2301b388e8
feat(ui): rename snapToGrid -> gridSize
2024-09-08 21:55:26 +10:00
psychedelicious
dbf13999a0
fix(ui): staging area not rendering when images are staged
2024-09-08 21:55:26 +10:00
psychedelicious
a37592f9f3
chore(ui): lint
2024-09-08 21:55:26 +10:00
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
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
2a1bc3e044
fix(ui): do not allow transform when entity is "empty"
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
d6d27a82a6
fix(ui): aspect ratio preview not updating when changing bbox on canvas
2024-09-08 06:16:53 +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