blessedcoolant
3fdcdc7247
refactor: Simplify the entire ImageAlphaToOutline node
...
Remove general line width and line mode entirely. Instead now use independent sliders to control inner bleed and outer bleed allowing users to pick the perfect mask shape they want for inpainting.
2024-10-29 08:25:20 +05:30
blessedcoolant
2a3d819113
feat(nodes)(ui): Add line mode to ImageAlphaToOutline
...
Allows the user to pick where the outlines are drawn .. both inside and outside of the alpha region
2024-10-27 10:36:45 +05:30
blessedcoolant
50bda4c889
fix(nodes)(ui): Update Alpha to Outline node to work better with any image size
2024-10-27 10:07:12 +05:30
psychedelicious
f3015d22e5
feat(ui): add alpha to outline filter
2024-10-25 21:00:34 +10:00
psychedelicious
dd1936afd4
chore(ui): typegen
2024-10-25 21:00:25 +10:00
psychedelicious
01a220b1c9
feat(nodes): add img_alpha_to_outline node
2024-10-25 20:57:47 +10:00
psychedelicious
1f898430e9
feat(ui): use PiPlayFill for process buttons for filter & select object
2024-10-25 16:08:56 +10:00
psychedelicious
a7f3eda99b
feat(ui): use fill style icons for Filter
2024-10-25 16:08:56 +10:00
psychedelicious
5ef1cb0067
feat(ui): use PiShapesFill icon for Select Object
2024-10-25 16:08:56 +10:00
psychedelicious
e7ecc4942e
feat(ui): make canvas layer toolbar icons a bit larger
2024-10-25 16:08:56 +10:00
psychedelicious
948b482d1b
feat(ui): "Auto-Mask" -> "Select Object"
2024-10-25 16:08:56 +10:00
psychedelicious
863af69138
feat(ui): support inverted selection in auto-mask
2024-10-25 16:08:56 +10:00
psychedelicious
4a8f0b874c
chore(ui): typegen
2024-10-25 16:08:56 +10:00
psychedelicious
13d64efcfa
feat(nodes): add invert to apply_tensor_mask_to_image
2024-10-25 16:08:56 +10:00
psychedelicious
fe97c0d5eb
tweak(ui): default settings verbiage
2024-10-25 16:09:59 +11:00
psychedelicious
6056764840
feat(ui): disable default settings button when synced
...
A blue button is begging to be clicked, but clicking it will do nothing. Instead, we should communicate that no action is needed by disabling the button when the default settings are already in use.
2024-10-25 16:09:59 +11:00
psychedelicious
8747c0dbb0
fix(ui): handle no model selection in default settings tooltip
2024-10-25 16:09:59 +11:00
psychedelicious
c5cdd5f9c6
fix(ui): use const EMPTY_OBJECT to prevent rerenders
2024-10-25 16:09:59 +11:00
psychedelicious
abc5d53159
fix(ui): use explicit null check when comparing default settings
...
Using `&&` will result in false negatives for settings where a falsy value might be valid. For example, any setting for which 0 is a valid number. To be on the safe side, just use an explicit null check on all values.
2024-10-25 16:09:59 +11:00
psychedelicious
2f76019a89
tweak(ui): defaults sync tooltip styling
2024-10-25 16:09:59 +11:00
Mary Hipp
3f45beb1ed
feat(ui): add out of sync details to model default settings button
2024-10-25 16:09:59 +11:00
Mary Hipp
bc1126a85b
(ui): add setting for showing model descriptions in dropdown defaulted to true
2024-10-25 14:52:33 +11:00
psychedelicious
380017041e
fix(app): mutating an image also changes the in-memory cached image
...
We use an in-memory cache for PIL images to reduce I/O. If a node mutates the image in any way, the cached image object is also updated (but the on-disk image file is not).
We've lucked out that this hasn't caused major issues in the past (well, maybe it has but we didn't understand them?) mainly because of a happy accident. When you call `context.images.get_pil` in a node, if you provide an image mode (e.g. `mode="RGB"`), we call `convert` on the image. This returns a copy. The node can do whatever it wants to that copy and nothing breaks.
However, when mode is not specified, we return the image directly. This is where we get in trouble - nodes that load the image like this, and then mutate the image, update the cache. Other nodes that reference that same image will now get the mutated version of it.
The fix is super simple - we make sure to return only copies from `get_pil`.
2024-10-25 10:22:22 +11:00
psychedelicious
ab7cdbb7e0
fix(ui): do not delete point on right-mouse click
2024-10-25 10:22:22 +11:00
psychedelicious
e5b78d0221
fix(ui): canvas drop area grid layout
2024-10-25 10:22:22 +11:00
psychedelicious
1acaa6c486
chore: bump version to v5.3.0rc2
v5.3.0rc2
2024-10-25 07:50:58 +11:00
psychedelicious
b0381076b7
revert(ui): drop targets for inpaint mask and rg
2024-10-25 07:42:46 +11:00
psychedelicious
ffff2d6dbb
feat(ui): add New from Image submenu for image ctx menu
2024-10-25 07:42:46 +11:00
psychedelicious
afa9f07649
fix(ui): missing cursor when transforming
2024-10-25 07:42:46 +11:00
psychedelicious
addb5c49ea
feat(ui): support dnd images onto inpaint mask/rg entities
2024-10-25 07:42:46 +11:00
psychedelicious
a112d2d55b
feat(ui): add logging to useCopyLayerToClipboard
2024-10-25 07:42:46 +11:00
psychedelicious
619a271c8a
feat(ui): disable copy to clipboard when layer is empty
2024-10-25 07:42:46 +11:00
psychedelicious
909f2ee36d
feat(ui): add help tooltip to automask
2024-10-25 07:42:46 +11:00
psychedelicious
b4cf3d9d03
fix(ui): canvas context menu w/ eraser tool erases
2024-10-25 07:42:46 +11:00
psychedelicious
e6ab6e0293
chore(ui): lint
2024-10-24 08:39:29 -04:00
psychedelicious
66d9c7c631
fix(ui): icon for automask save as
2024-10-24 08:39:29 -04:00
psychedelicious
fec45f3eb6
feat(ui): animate automask preview overlay
2024-10-24 08:39:29 -04:00
psychedelicious
7211d1a6fc
feat(ui): add context menu options for layer type convert/copy
2024-10-24 08:39:29 -04:00
psychedelicious
f3069754a9
feat(ui): add logic to convert/copy between all layer types
2024-10-24 08:39:29 -04:00
psychedelicious
4f43152aeb
fix(ui): handle pen/touch events on submenu
2024-10-24 08:39:29 -04:00
psychedelicious
7125055d02
fix(ui): icon menu item group spacing
2024-10-24 08:39:29 -04:00
psychedelicious
c91a9ce390
feat(ui): add pull bbox to global ref image ctx menu
2024-10-24 08:39:29 -04:00
psychedelicious
3e7b73da2c
feat(ui): add entity context menu as canvas context menu sub-menu
2024-10-24 08:39:29 -04:00
psychedelicious
61ac50c00d
feat(ui): use sub-menu for image metadata recall
2024-10-24 08:39:29 -04:00
psychedelicious
c1201f0bce
feat(ui): add useSubMenu hook to abstract logic for sub-menus
2024-10-24 08:39:29 -04:00
psychedelicious
acdffac5ad
feat(ui): close viewer when filtering/transforming/automasking
2024-10-24 08:39:29 -04:00
psychedelicious
e420300fa4
feat(ui): replace automask apply w/ save as menu
2024-10-24 08:39:29 -04:00
psychedelicious
260a5a4f9a
feat(ui): add automask button to toolbar
2024-10-24 08:39:29 -04:00
psychedelicious
ed0c2006fe
feat(ui): rename "foreground"/"background" -> "include"/"exclude"
2024-10-24 08:39:29 -04:00
psychedelicious
9ffd888c86
feat(ui): remove neutral points
2024-10-24 08:39:29 -04:00