psychedelicious
2d20e9612c
feat(ui): add sections to add layer menu
2024-09-16 15:10:17 +03:00
psychedelicious
25964bed18
fix(ui): checkerboard background slightly larger than canvas
...
The checkerboard background was rendered as a separate DOM element that stretched to fill the canvas container.
While the canvas width and height are always integers, this background element could have non-integer dimensions, depending on panel sizes.As a result, it could be slightly larger than the canvas, introducing a fine border around the canvas.
This is purely a visual issue, but it's very noticeable when you use the bbox overlay. It also can be noticed with masks that extend beyond the edge of the visible canvas.
- Refactor the checkerboard background to be rendered by the canvas instead of as a DOM element, resolving the issue.
- Add a helper method to get the scaled rect of the stage, updating a few places where we need such a rect.
- Rename `CanvasStageModule.getScaledPixels` method to `unscale`, clarifying its purpose.
2024-09-15 10:18:43 +10:00
psychedelicious
19201768b0
feat(ui): use phosphor icons
...
There were some scattered places where we used other icon packs. Changed all to use phosphor icons for consistency.
2024-09-15 10:18:43 +10:00
psychedelicious
e48ec1ce6d
feat(ui): rename "Generation" tab to "Canvas", updated icons
2024-09-15 10:18:43 +10:00
psychedelicious
2241d115c3
feat(ui): revised icons/names for canvas context menu
2024-09-15 10:18:43 +10:00
psychedelicious
e4aecf5616
fix(ui): output only masked regions was inverted
2024-09-15 10:18:43 +10:00
psychedelicious
00328f8bae
fix(ui): alert layouts
2024-09-15 10:18:43 +10:00
psychedelicious
f9232cd45f
feat(ui): preserve mask
2024-09-15 10:18:43 +10:00
psychedelicious
7aaeb95ab5
feat(ui): add bbox overlay, dimming area outside bbox
2024-09-15 10:18:43 +10:00
psychedelicious
39867d11a3
feat(ui): move canvas reset button out of settings
2024-09-15 10:18:43 +10:00
psychedelicious
218b216ebd
feat(ui): filter process button does immediate processing
2024-09-13 22:33:34 +10:00
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