psychedelicious
eee3b7acf3
feat(ui): on-theme checkboard pattern colors
...
They were pure grayscale before. Now are tinted according to our base color.
2024-09-13 22:33:34 +10:00
psychedelicious
0a923cc77b
feat(ui): add filter/transform/delete to canvas context menu
2024-09-13 22:33:34 +10:00
psychedelicious
3898e09b8c
feat(ui): revised Result implementation
...
Use classes with `isOk` and `isErr` methods instead of separate type guard functions. Update tests and usage.
2024-09-13 22:33:34 +10:00
psychedelicious
277498bceb
feat(ui): show alert when selected layer is empty
2024-09-13 22:33:34 +10:00
psychedelicious
08078440cb
feat(ui): "Composite Masked Regions" -> "Output Only Masked Regions"
2024-09-13 22:33:34 +10:00
psychedelicious
73ea5cb42a
feat(ui): global canvas hotkey interaction restrictions
2024-09-13 22:33:34 +10:00
psychedelicious
3aaaae4d1c
feat(ui): more interaction restrictions
2024-09-13 22:33:34 +10:00
psychedelicious
e5792278b9
feat(ui): revised canvas "busyness" state tracking
...
Track various canvas states:
- Filtering an entity
- Transforming an entity
- Rasterizing an entity
- Compositing
- Busy (derived from all of the above)
Also track individual entity states:
- Locked
- Disabled
- All of type are hidden
- Has objects
- Interactable (derived from all of the above)
These states then gate various actions. For example:
- Cannot invoke while the canvas is busy.
- Cannot transform, filter, duplicate, or delete when the canvas is busy.
Tool interaction restrictions are not yet implemented.
2024-09-13 22:33:34 +10:00
psychedelicious
452e612235
fix(ui): wrong translation used for transform fit to bbox
2024-09-13 22:33:34 +10:00
psychedelicious
241fc18d69
feat(ui): add upload button to control layer
2024-09-13 22:33:34 +10:00
psychedelicious
8506d98f34
feat(ui): brighter border around fill color buttons
2024-09-13 22:33:34 +10:00
psychedelicious
cb53772722
feat(ui): add setting to disable progress images on canvas
2024-09-13 22:33:34 +10:00
psychedelicious
a802b92684
fix(ui): allow canceling filter when config is invalid
2024-09-13 07:24:58 +10:00
psychedelicious
fd19b0691a
fix(ui): spandrel filter translations
2024-09-13 07:24:58 +10:00
psychedelicious
91a08086c0
fix(ui): spandrel filter infinite loop when no models installed
...
Closes #6835
2024-09-13 07:24:58 +10:00
psychedelicious
637960d67e
fix(ui): remove unused setting, fix missing translation for alerts
2024-09-12 23:42:21 +10:00
psychedelicious
82df16d8ce
feat(ui): animations for send to alerts
2024-09-12 23:42:21 +10:00
psychedelicious
dd3013d333
feat(ui): alerts display depending on current generation destination
2024-09-12 23:42:21 +10:00
psychedelicious
30ea852761
feat(ui): restore viewer
...
- Remove gallery tab
- Restore viewer
- Add configurable alerts & toasts when user may be lost
2024-09-12 23:42:21 +10:00
psychedelicious
c03f80b19c
feat(ui): use <Alert/> for selected entity alerts
2024-09-12 23:42:21 +10:00
psychedelicious
88dcb388dc
feat(ui): pull bbox into functionality for control/ip adapters
2024-09-11 08:12:48 -04:00
psychedelicious
5a89bf841f
feat(ui): drop image on layer to replace it
2024-09-11 08:12:48 -04:00
psychedelicious
cfb538bdc2
feat(ui): add filter button next to control adapter model
2024-09-11 08:12:48 -04:00
psychedelicious
9f06a9b03c
feat(ui): use revised filters
...
- Add backcompat for cnet model default settings
- Default filter selection based on model type
- Updated UI components to use new filter nodes
- Added handling for failed filter executions, preventing filter from getting stuck in case it failed for some reason
- New translations for all filters & fields
2024-09-11 08:12:48 -04:00
psychedelicious
88c276cd09
fix(ui): use default control adapter when converting raster to control layer
2024-09-11 14:15:16 +10:00
psychedelicious
80877a1f15
fix(ui): disable filter process button when auto-processing
2024-09-11 14:15:16 +10:00
psychedelicious
2975ec5467
fix(ui): Layers tab counter only includes active entities
...
Empty and disabled layers are skipped.
2024-09-11 14:15:16 +10:00
psychedelicious
e3e50abc5a
fix(ui): do not show count on layers tab when no layers
2024-09-10 09:20:19 -04:00
psychedelicious
e5a53be42b
feat(ui): add canvas context menu
...
So far, this includes:
- Save Canvas to Gallery
- Save Bbox to Gallery
- Send Bbox to Regional IP Adapter
- Send Bbox to Global IP Adapter
- Send Bbox to Control Layer
- Send Bbox to Raster Layer
2024-09-10 09:20:19 -04:00
psychedelicious
dc51ccd9a6
feat(ui): simplify canvas component & hook API
2024-09-10 09:20:19 -04:00
psychedelicious
f5eefedc49
feat(ui): add count to layers tab button
2024-09-10 09:20:19 -04:00
psychedelicious
c5543e42c7
fix(ui): drag image over tab switches to wrong tab
2024-09-10 09:20:19 -04:00
psychedelicious
d6c553ca5e
chore(ui): lint
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
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
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
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
2301b388e8
feat(ui): rename snapToGrid -> gridSize
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