psychedelicious
0e0076d819
tidy(ui): rename canvas state "regions" -> "regionalGuidance"
2024-09-16 15:10:17 +03:00
psychedelicious
7725baf6c8
feat(ui): revised regional guidance
2024-09-16 15:10:17 +03:00
psychedelicious
4cf9933487
feat(ui): tighten up ip adapter settings layout
2024-09-16 15:10:17 +03:00
psychedelicious
26e590ed0c
feat(ui): updated add entity buttons/menu
2024-09-16 15:10:17 +03:00
psychedelicious
35012dbee8
fix(ui): pull bbox into ref image translations
2024-09-16 15:10:17 +03:00
psychedelicious
e8c218672f
tidy(ui): clean up addLayerHooks
2024-09-16 15:10:17 +03:00
psychedelicious
e967197fd9
feat(ui): close viewer button is an icon
...
Reduces the awkwardness of having two identical buttons visible at once.
2024-09-16 15:10:17 +03:00
psychedelicious
f76c998791
feat(ui): more translation updates
...
- Migrate some translations to `controlLayers` namespace
- Remove the `controlnet` namespace entirely
- Remove other unused translations
2024-09-16 15:10:17 +03:00
psychedelicious
c2fb821574
feat(ui): update translations for reference image
2024-09-16 15:10:17 +03:00
psychedelicious
0ebe070be6
feat(ui): updated canvas context menu
2024-09-16 15:10:17 +03:00
psychedelicious
26e23a43dc
tidy(ui): create/move store utils to separate file
2024-09-16 15:10:17 +03:00
psychedelicious
52a19ceac3
feat(ui): ip adapter -> reference image (internal state)
...
We are renaming "IP Adapter" to "Reference Image".
- Update all internal state
- Update all components
2024-09-16 15:10:17 +03:00
psychedelicious
2d20e9612c
feat(ui): add sections to add layer menu
2024-09-16 15:10:17 +03:00
psychedelicious
79683479fc
fix(ui): right click opens image in new tab
2024-09-16 15:10:17 +03:00
psychedelicious
28cba5b5c3
chore: v5.0.0.a6
v5.0.0.a6
2024-09-15 10:27:31 +10:00
psychedelicious
d50abd80a6
fix(ui): image quality degradation while saving images
...
The HTML Canvas context has an `imageSmoothingEnabled` property which defaults to `true`. This causes the browser canvas API to, well, apply image smoothing - everything gets antialiased when drawn.
This is, of course, problematic when our goal is to be pixel-perfect. When the same image is drawn multiple times, we get progressive image degradation.
In `CanvasEntityObjectRenderer.cloneObjectGroup()`, where we use Konva's `Node.cache()` method to create a canvas from the entity's objects. Here, we were not setting `imageSmoothingEnabled` to false. This method is used very often by the compositor and we end up feeding back antialiased versions of the image data back into the canvas or generation backend.
Disabling smoothing here appears to fix the issue. I've also disabled image smoothing everywhere else we interact with a canvas rendering context.
2024-09-15 10:18:43 +10:00
psychedelicious
ddfa32d101
feat(ui): middle-mouse click on image opens in new tab
...
Closes #6809
2024-09-15 10:18:43 +10:00
psychedelicious
be9c65b8a2
feat(ui): log $stageAttrs in CanvasStageModule.repr()
2024-09-15 10:18:43 +10:00
psychedelicious
cd2f9b1884
fix(ui): do not floor stage coords, add util to sync stage attrs
2024-09-15 10:18:43 +10: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
ae6bf6f5c0
feat(ui): more detailed repr outputs for canvas
2024-09-15 10:18:43 +10:00
psychedelicious
d9cb718e33
fix(ui): bbox interactability
2024-09-15 10:18:43 +10:00
psychedelicious
ae7440b721
fix(ui): cursor sometimes hidden during staging
...
Need a to track a few more things to ensure we update the cursor correctly in all situations.
2024-09-15 10:18:43 +10:00
psychedelicious
b1cf0306bf
fix(ui): disable transformer when canvas is busy
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
dd0f75a67c
fix(ui): errors when doing stuff w/ IP Adapters
...
Closes #6852
2024-09-15 10:18:43 +10:00
psychedelicious
0e5077a96b
feat(ui): move nanostores fallback atoms to util
2024-09-15 10:18:43 +10:00
Ryan Dick
51df5aa94d
Invert the expected denoise_mask parameter to the FLUX Denoise node to match the behaviour of Denoise Latents node used for SD.
2024-09-14 00:42:31 +03:00
psychedelicious
865f419ffe
feat(ui): region starts w/ no prompts or ip adapters
v5.0.0.a5
2024-09-13 22:33:34 +10:00
psychedelicious
dc2ed2f1c1
feat(ui): bbox has black and white outline
2024-09-13 22:33:34 +10:00
psychedelicious
818a7a01cc
chore(ui): lint
2024-09-13 22:33:34 +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
07df5c2d39
feat(ui): handle errors when saving canvas to gallery
2024-09-13 22:33:34 +10:00
psychedelicious
153533157f
docs(ui): update canvasToBlob docstring
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
fbe02e3d1d
fix(ui): do not show/hide objects when filtering
...
This is a holdover from before the buffer renderer was split out.
2024-09-13 22:33:34 +10:00
psychedelicious
790195854e
fix(ui): set opacity to 1 when rasterizing for filter
2024-09-13 22:33:34 +10:00