psychedelicious
b425646b7b
chore(ui): lint
2024-04-24 20:09:52 +10:00
psychedelicious
293e11cfa6
feat(ui): hide add prompt buttons when user has a prompt
2024-04-24 20:09:52 +10:00
psychedelicious
c73aabdfbf
feat(ui): regional control defaults to having a positive prompt
2024-04-24 20:09:52 +10:00
psychedelicious
ca989c54b0
fix(ui): restore OG aspect ratio preview for non-t2i tabs
2024-04-24 20:09:52 +10:00
blessedcoolant
260e24733f
fix: update SDXL IP Adpater starter model to be ViT-H
2024-04-24 00:08:21 -04:00
blessedcoolant
6b394554e2
fix: update ip adapter starter models path
2024-04-24 08:48:25 +05:30
psychedelicious
ae1955a1a8
feat(ui): update canvas graphs to provide unet
2024-04-23 07:32:53 -04:00
psychedelicious
1bef13db37
feat(nodes): restore unet check on CreateGradientMaskInvocation
...
Special handling for inpainting models
2024-04-23 07:32:53 -04:00
psychedelicious
a461537087
chore: ruff
2024-04-23 07:32:53 -04:00
psychedelicious
99e28da19b
feat(ui): add variant to model edit
...
Also simplify the layouting for all model view/edit components.
2024-04-23 07:32:53 -04:00
psychedelicious
42a159beaa
chore(ui): typegen
2024-04-23 07:32:53 -04:00
psychedelicious
0aa5aadfe8
fix(mm): move variant
to MainConfigBase
...
shoulda been here all along
2024-04-23 07:32:53 -04:00
dunkeroni
bbf919a933
chore: frontend check error
2024-04-23 07:32:53 -04:00
dunkeroni
01897ec576
remove extra inputs
2024-04-23 07:32:53 -04:00
dunkeroni
bc12d6654e
chore: comments and ruff
2024-04-23 07:32:53 -04:00
dunkeroni
6d7c8d5f57
remove unet test
2024-04-23 07:32:53 -04:00
dunkeroni
38604aa408
update canvas graphs
2024-04-23 07:32:53 -04:00
dunkeroni
781de914f4
fix threshhold
2024-04-23 07:32:53 -04:00
dunkeroni
c094bad233
add unet check in gradient mask node
2024-04-23 07:32:53 -04:00
dunkeroni
0063014f2b
gradient mask node test for inpaint
2024-04-23 07:32:53 -04:00
psychedelicious
2cee436ecf
tidy(app): remove unused class
2024-04-23 17:12:14 +10:00
psychedelicious
e6386d969f
fix(app): only clear tempdirs if ephemeral and before creating tempdir
...
Also, this needs to happen in init, else it deletes the temp dir created in init
2024-04-23 17:12:14 +10:00
psychedelicious
4b2b983646
tidy(api): reverted unnecessary changes in dependencies.py
2024-04-23 17:12:14 +10:00
Lincoln Stein
53808149fb
moved cleanup routine into object_serializer_disk.py
2024-04-23 17:12:14 +10:00
Lincoln Stein
21ba55d0a6
add an initialization function that removes dangling tmpdirs from outputs/tensors
2024-04-23 17:12:14 +10:00
Josh Corbett
28c28b2fc0
fix: 🐛 handle trigger phrase form submits
2024-04-23 16:42:40 +10:00
psychedelicious
8b9c4c62a6
chore: v4.2.0a2
2024-04-23 13:08:26 +10:00
psychedelicious
cf637ecaa6
fix(ui): disabled ip adapters applied to regional control
2024-04-23 13:08:26 +10:00
psychedelicious
fca718bdd3
tidy(ui): remove extraneous cursor sync
2024-04-23 12:11:47 +10:00
psychedelicious
5196a2efec
fix(ui): minor canvas overflow
2024-04-23 12:11:47 +10:00
psychedelicious
385e93443a
feat(ui): rp hotkeys
...
- Shift+C: Reset selected layer mask (same as canvas)
- Shift+D: Delete selected layer (cannot be Del, that deletes an image in gallery)
- Shift+A: Add layer (cannot be Ctrl+Shift+N, that opens a new window)
- Ctrl/Cmd+Wheel: Brush size (same as canvas)
2024-04-23 12:11:47 +10:00
psychedelicious
604217313a
chore(ui): lint
2024-04-23 12:11:47 +10:00
psychedelicious
229423b370
tidy(ui): memo aspectratiopreview
2024-04-23 12:11:47 +10:00
psychedelicious
75a548e3eb
perf(ui): debounce render wait = 300ms
2024-04-23 12:11:47 +10:00
psychedelicious
24dbb65ebb
perf(ui): add brush spacing
...
Only add point to line if the next point is 10 or more px from the last point
2024-04-23 12:11:47 +10:00
psychedelicious
c915220965
feat(ui): aspect ratio preview is regional prompts canvas
2024-04-23 12:11:47 +10:00
psychedelicious
bb37e25ed0
feat(ui): rp ui layout
2024-04-23 12:11:47 +10:00
psychedelicious
dda1111f20
Make it alpha
2024-04-22 10:54:21 -04:00
psychedelicious
9d71b91b7f
chore: v4.2.0b1
2024-04-22 10:54:21 -04:00
psychedelicious
714126b832
build(ui): temp disable circular dependency check
...
I'll need to think about how to fix this properly. For now, disable the check as the UI can still build fine.
2024-04-22 23:09:39 +10:00
psychedelicious
a10c66797d
chore(ui): lint
2024-04-22 23:09:39 +10:00
psychedelicious
6dcaf75b5f
feat(ui): regional prompts spray n pray
...
Trying a lot of different things as I iterated, so this is smooshed into one big commit... too hard to split it now.
- Iterated on IP adapter handling and UI. Unfortunately there is an bug related to undo/redo. The IP adapter state is split across the `controlAdapters` slice and the `regionalPrompts` slice, but only the `regionalPrompts` slice supports undo/redo. If you delete the IP adapter and then undo/redo to a history state where it existed, you'll get an error. The fix is likely to merge the slices... Maybe there's a workaround.
- Iterated on UI. I think the layers are OK now.
- Removed ability to disable RP globally for now. It's enabled if you have enabled RP layers.
- Many minor tweaks and fixes.
2024-04-22 23:09:39 +10:00
psychedelicious
018845cda0
tidy(ui): regional prompts kind
-> type
2024-04-22 23:09:39 +10:00
psychedelicious
8c0a061fa0
fix(ui): hotkeys dependency array
2024-04-20 11:32:08 -04:00
psychedelicious
4895875ded
feat(ui): rects on regional prompt UI
2024-04-20 11:32:08 -04:00
psychedelicious
cfddbda578
tidy(ui): clean up action names
2024-04-20 11:32:08 -04:00
psychedelicious
58d3a9e7d4
refactor(ui): revise regional prompts state to support prompt-less mask layers
...
This structure is more adaptable to future features like IP-Adapter-only regions, controlnet layers, image masks, etc.
2024-04-20 11:32:08 -04:00
psychedelicious
a00e703144
feat(nodes): image mask to tensor invocation
...
Thanks @JPPhoto!
2024-04-20 11:32:08 -04:00
psychedelicious
e4024bdeb9
fix(ui): floor all pixel coords
...
This prevents rendering objects with sub-pixel positioning, which looks soft
2024-04-20 11:32:08 -04:00
psychedelicious
944690ac8e
feat(ui): remove drag distance on layers
2024-04-20 11:32:08 -04:00
psychedelicious
a7d69aa0a9
fix(ui): brush preview cursor jank
2024-04-20 11:32:08 -04:00
psychedelicious
15018fdbc0
fix(ui): brush preview not visible after hotkey
2024-04-20 11:32:08 -04:00
psychedelicious
31ace9aff8
feat(ui): tool hotkeys for rp
2024-04-20 11:32:08 -04:00
psychedelicious
3f4ea30113
fix(ui): fix missing bbox when a layer is empty
2024-04-20 11:32:08 -04:00
psychedelicious
7edcadb371
fix(ui): bbox rendered slightly too small
2024-04-20 11:32:08 -04:00
psychedelicious
d582203c62
chore(ui): lint
2024-04-20 14:54:49 +10:00
psychedelicious
148a6c08ca
fix(ui): fix bbox caching
2024-04-20 14:54:49 +10:00
psychedelicious
1e904d281a
feat(ui): hook up sd1.5 t2i graph to regional prompts
2024-04-20 14:54:49 +10:00
psychedelicious
03d9a75720
feat(ui): better rp colors
2024-04-20 14:54:49 +10:00
psychedelicious
5edce0a4de
perf(ui): caching efficiency
2024-04-20 14:54:49 +10:00
psychedelicious
604bf4e9ec
perf(ui): use efficient group caching instead of a compositing rect
...
Seems to be the same speed and it's less complex.
2024-04-20 14:54:49 +10:00
psychedelicious
39d036bb37
feat(ui): update move tool to show all bboxes, mouseover bbox strokes
2024-04-20 14:54:49 +10:00
psychedelicious
8a69fbd336
perf(ui): more bbox optimizations
...
- Keep track of whether the bbox needs to be recalculated (e.g. had lines/points added)
- Keep track of whether the bbox has eraser strokes - if yes, we need to do the full pixel-perfect bbox calculation, otherwise we can use the faster getClientRect
- Use comparison rather than Math.min/max in bbox calculation (slightly faster)
- Return `null` if no pixel data at all in bbox
2024-04-20 14:54:49 +10:00
psychedelicious
a71ed10b71
perf(ui): more efficient bbox method with smaller minimum offscreen canvas size
2024-04-20 14:54:49 +10:00
psychedelicious
9d3978edcf
fix(ui): give min dimensions to rp storybook
2024-04-20 14:54:49 +10:00
psychedelicious
18e1d74917
fix(ui): group layer color change history
2024-04-20 14:54:49 +10:00
psychedelicious
9276ecfd02
feat(ui): rp ui styling/layout
2024-04-19 09:32:56 -04:00
psychedelicious
ea527f5fe1
feat(nodes): add beta classification to mask tensor nodes
2024-04-19 09:32:56 -04:00
psychedelicious
d43f9732ab
feat(ui): rp ui styling
2024-04-19 09:32:56 -04:00
psychedelicious
c613839740
feat(ui): use translations for rp features
2024-04-19 09:32:56 -04:00
psychedelicious
bb371cfeca
feat(ui): minor styling rp
2024-04-19 09:32:56 -04:00
psychedelicious
6a5510146c
feat(ui): add default rp brush size
2024-04-19 09:32:56 -04:00
psychedelicious
9667f77c41
feat(ui): rp editor styling
2024-04-19 09:32:56 -04:00
psychedelicious
e93e0612af
tidy(ui): selectedLayer
-> selectedLayerId
2024-04-19 09:32:56 -04:00
psychedelicious
9528287d56
feat(ui): move ephemeral tool state out of redux
2024-04-19 09:32:56 -04:00
psychedelicious
14c722c265
tidy(ui): remove unused conditional
2024-04-19 09:32:56 -04:00
psychedelicious
4b2cd2da9f
feat(ui): remove special handling of main prompt
...
Until we have a good handle on what works best, leaving this to the user
2024-04-19 09:32:56 -04:00
psychedelicious
3c5b728bee
feat(ui): add enabled state for RP
2024-04-19 09:32:56 -04:00
psychedelicious
9b5c47748d
tidy(ui): isRegionalPromptLayer
-> isRPLayer
2024-04-19 09:32:56 -04:00
psychedelicious
eb781272f7
tidy(ui): organize rp layer components
2024-04-19 09:32:56 -04:00
psychedelicious
642a0de3dd
feat(ui): organize layer naming
...
prep for non-rp layer types
2024-04-19 09:32:56 -04:00
psychedelicious
f3b4cecf2e
feat(ui): invert tensor mask instead of loading mask image and converting to tensor second time
...
minor efficiency improvement
2024-04-19 09:32:56 -04:00
psychedelicious
499e7a7b74
chore(ui): typegen
2024-04-19 09:32:56 -04:00
psychedelicious
aace364677
feat(nodes): add InvertTensorMaskInvocation
2024-04-19 09:32:56 -04:00
psychedelicious
c195094e91
fix(ui): do not open panels when collapsed and window resize
2024-04-19 09:32:56 -04:00
psychedelicious
e6c57edf87
tidy(ui): shuffle graph builder logic
2024-04-19 09:32:56 -04:00
psychedelicious
c217e052a8
tidy(ui): remove unused action
2024-04-19 09:32:56 -04:00
psychedelicious
964e2236b9
feat(ui): do not add promptless conditioning nodes
2024-04-19 09:32:56 -04:00
psychedelicious
a6e64423d9
feat(ui): per-layer autonegative
2024-04-19 09:32:56 -04:00
psychedelicious
d3aa97ab99
feat(ui): add copy graph button to queue item detail view
2024-04-19 09:32:56 -04:00
psychedelicious
0d8edd67ab
fix(ui): group lines together in undo history
2024-04-19 09:32:56 -04:00
psychedelicious
d9dd00ea20
feat(ui): undo/redo in regional prompts
...
using the `redux-undo` library
2024-04-19 09:32:56 -04:00
psychedelicious
170763899a
tidy(ui): tidy regional prompts graph helper, add comments
2024-04-19 09:32:56 -04:00
psychedelicious
9e1a4a4a07
feat(ui): regional prompts default layer opacity
2024-04-19 09:32:56 -04:00
psychedelicious
dcb4a40741
fix(ui): regional prompts brush preview wonkiness
2024-04-19 09:32:56 -04:00
psychedelicious
f8bf985256
perf(ui): do not recreate map callback on every render
2024-04-19 09:32:56 -04:00
psychedelicious
81f29b9624
tidy(ui): remove errant console.log
2024-04-19 09:32:56 -04:00
psychedelicious
f2dde9a035
feat(ui): cleared selected layer styling
2024-04-19 09:32:56 -04:00
psychedelicious
85f4a066fb
feat(ui): use logger for stage renderer
2024-04-19 09:32:56 -04:00
psychedelicious
b9e6b7ba48
feat(ui): restore layer arrange functionality
2024-04-19 09:32:56 -04:00
psychedelicious
085f7bdbee
feat(ui): add invert negative mode
...
Adds an additional negative conditioning using the inverted mask of the positive conditioning and the positive prompt. May be useful for mutually exclusive regions.
2024-04-19 09:32:56 -04:00
psychedelicious
e4fcb6627a
feat(ui): style regional prompt boxes
2024-04-19 09:32:56 -04:00
psychedelicious
47aa6357d1
tidy(ui): organize regional prompts files
2024-04-19 09:32:56 -04:00
psychedelicious
b81030fe27
tidy(ui): remove unused exports
2024-04-19 09:32:56 -04:00
psychedelicious
a1a9f0da73
tidy(ui): remove more unused files
2024-04-19 09:32:56 -04:00
psychedelicious
8f4f3b773c
tidy(ui): remove unused files, code
2024-04-19 09:32:56 -04:00
psychedelicious
00737efc31
tidy(ui): tidy naming of regional prompt utils
2024-04-19 09:32:56 -04:00
psychedelicious
5924dc6ff6
feat(ui): transparency on regional prompts canvas
2024-04-19 09:32:56 -04:00
psychedelicious
246fabf2a0
feat(ui): scaling regional prompt canvas
2024-04-19 09:32:56 -04:00
psychedelicious
30e3e12513
feat(ui): layouting regional prompts
2024-04-19 09:32:56 -04:00
psychedelicious
a5bfe2dccb
feat(ui): support negative regional prompt
2024-04-19 09:32:56 -04:00
psychedelicious
aa6bfc8645
fix(ui): wip misc regional prompting ui
2024-04-19 09:32:56 -04:00
psychedelicious
20ccdb6c8f
fix(ui): remove extra type in nodestate
2024-04-19 09:32:56 -04:00
psychedelicious
8caa7bc2b1
feat(ui): abstract out bbox renderer
2024-04-19 09:32:56 -04:00
psychedelicious
ede8826757
feat(ui): remove dep on stage in mouse handlers
2024-04-19 09:32:56 -04:00
psychedelicious
ff7aa2558a
feat(ui): display prompt when debugging regions
2024-04-19 09:32:56 -04:00
psychedelicious
c9bf00b80b
feat(ui): restore invoke button (wip)
2024-04-19 09:32:56 -04:00
psychedelicious
1f8f429d55
feat(ui): abstract layer renderer
2024-04-19 09:32:56 -04:00
psychedelicious
d34e431002
feat(ui): abstract brush preview logic
2024-04-19 09:32:56 -04:00
psychedelicious
cdb481e836
feat(ui): use konva generics for types in selector functions
2024-04-19 09:32:56 -04:00
psychedelicious
525e6d697c
feat(ui): re-implement with imperative konva api (wip)
2024-04-19 09:32:56 -04:00
psychedelicious
bbbb5479e8
feat(ui): re-implement with imperative konva api (wip)
2024-04-19 09:32:56 -04:00
psychedelicious
ae7797f662
feat(ui): re-implement with imperative konva api (wip)
2024-04-19 09:32:56 -04:00
psychedelicious
05deeb68fa
feat(ui): draft of graph helper for regional prompts
2024-04-19 09:32:56 -04:00
psychedelicious
602a59066e
fix(nodes): handle invert in alpha_mask_to_tensor
2024-04-19 09:32:56 -04:00
psychedelicious
d1db6198b5
perf(ui): memoize & otherwise optimize regional prompts ui
2024-04-19 09:32:56 -04:00
psychedelicious
944fa1a847
chore(ui): lint
2024-04-19 09:32:56 -04:00
psychedelicious
52e7daffe7
feat(ui): selected layer styling
2024-04-19 09:32:56 -04:00
psychedelicious
cf4c1750cb
fix(ui): caching broke layer rendering
2024-04-19 09:32:56 -04:00
psychedelicious
de7ecc8e3e
feat(ui): tweak bbox styling
2024-04-19 09:32:56 -04:00
psychedelicious
6c0481ef51
fix(ui): do not reset layer position when toggling visibility
2024-04-19 09:32:56 -04:00
psychedelicious
b9d0da44eb
feat(ui): wip layer transparency
2024-04-19 09:32:56 -04:00
psychedelicious
0a42d7d510
docs(ui): update docstrings for helper function
2024-04-19 09:32:56 -04:00
psychedelicious
c1aae0815d
feat(ui): regional prompting layout, styling
2024-04-19 09:32:56 -04:00
psychedelicious
e7523bd1d9
fix(ui): fix layer debug
2024-04-19 09:32:56 -04:00
psychedelicious
8911017bd1
feat(ui): selectable & draggable layers
2024-04-19 09:32:56 -04:00
psychedelicious
fc26f3e430
feat(nodes): add alpha mask to tensor invocation
2024-04-19 09:32:56 -04:00
psychedelicious
c89a24d1ea
feat(ui): add util to get blobs from layers
2024-04-19 09:32:56 -04:00
psychedelicious
52ba4966c9
feat(ui): wip regional prompting UI
...
- Add eraser tool, applies per layer
2024-04-19 09:32:56 -04:00
psychedelicious
822dfa77fc
feat(ui): wip regional prompting UI
...
- Arrange layers
- Layer visibility
- Layered brush preview
- Cleanup
2024-04-19 09:32:56 -04:00
psychedelicious
83d359b681
feat(ui): wip regional prompting UI
2024-04-19 09:32:56 -04:00
psychedelicious
f87eee810b
feat(ui): rough out regional prompts components
2024-04-19 09:32:56 -04:00
psychedelicious
1d1e4d02dc
feat(ui): rough out regional prompts store
2024-04-19 09:32:56 -04:00
Lincoln Stein
2b9f06dc4c
Re-enable app shutdown actions ( #6244 )
...
* closes #6242
* only override sigINT during slow model scanning
* fix ruff formatting
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-04-19 06:45:42 -04:00
blessedcoolant
a35386f24c
fix: IP Adapter Method having incorrect informational popover
2024-04-18 13:37:55 -04:00
psychedelicious
ac1071a5e5
chore: v4.1.0
2024-04-18 07:19:22 +10:00
Riccardo Giovanetti
5295a398f3
translationBot(ui): update translation (Italian)
...
Currently translated at 98.4% (1122 of 1140 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2024-04-17 08:41:57 +10:00
Anonymous
0c7283c82d
translationBot(ui): update translation (Turkish)
...
Currently translated at 50.8% (580 of 1140 strings)
translationBot(ui): update translation (Korean)
Currently translated at 43.3% (494 of 1140 strings)
translationBot(ui): update translation (Chinese (Simplified))
Currently translated at 80.9% (923 of 1140 strings)
translationBot(ui): update translation (Russian)
Currently translated at 98.8% (1127 of 1140 strings)
translationBot(ui): update translation (Dutch)
Currently translated at 63.7% (727 of 1140 strings)
translationBot(ui): update translation (Japanese)
Currently translated at 50.4% (575 of 1140 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.3% (1121 of 1140 strings)
translationBot(ui): update translation (Spanish)
Currently translated at 27.8% (317 of 1140 strings)
translationBot(ui): update translation (German)
Currently translated at 72.2% (824 of 1140 strings)
Co-authored-by: Anonymous <noreply@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/es/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ja/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ko/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/nl/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/tr/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/
Translation: InvokeAI/Web UI
2024-04-17 08:41:57 +10:00
Mary Hipp
73ad173c74
update labels for Style Only and CompositionOnly to be designated as beta
2024-04-17 08:29:10 +10:00
blessedcoolant
6bab040d24
Merge branch 'main' into ip-adapter-style-comp
2024-04-16 21:14:06 +05:30
blessedcoolant
f46bbaf8c4
fix: make ip-adapter weights not be optional
2024-04-16 21:12:45 +05:30
Lincoln Stein
fce6b3e44c
maybe solve race issue
2024-04-16 13:09:26 +10:00
blessedcoolant
d27907cc6d
fix: entire reshaping block needs to be skipped
2024-04-16 04:29:53 +05:30
blessedcoolant
7ee3fef2db
cleanup: better var names for the ip adapter weight collection block
2024-04-16 04:23:50 +05:30
blessedcoolant
b39ce642b6
cleanup: raise ValueErrors when target_blocks dont match base model
2024-04-16 04:12:30 +05:30
blessedcoolant
a148c4322c
fix: IP Adapter weights being incorrectly applied
...
They were being overwritten rather than being appended
2024-04-16 04:10:41 +05:30
blessedcoolant
f6b7bc5d98
fix: Dynamically adapt height of control adapter opts
2024-04-16 01:18:43 +05:30
blessedcoolant
5f6c6abf9c
chore: change IPAdapterAttentionWeights to a dataclass
2024-04-15 23:38:55 +05:30
blessedcoolant
cd76a31a8f
fix: IP Adapter method not being recalled
2024-04-15 22:29:32 +05:30
Lincoln Stein
e93f4d632d
[util] Add generic torch device class ( #6174 )
...
* introduce new abstraction layer for GPU devices
* add unit test for device abstraction
* fix ruff
* convert TorchDeviceSelect into a stateless class
* move logic to select context-specific execution device into context API
* add mock hardware environments to pytest
* remove dangling mocker fixture
* fix unit test for running on non-CUDA systems
* remove unimplemented get_execution_device() call
* remove autocast precision
* Multiple changes:
1. Remove TorchDeviceSelect.get_execution_device(), as well as calls to
context.models.get_execution_device().
2. Rename TorchDeviceSelect to TorchDevice
3. Added back the legacy public API defined in `invocation_api`, including
choose_precision().
4. Added a config file migration script to accommodate removal of precision=autocast.
* add deprecation warnings to choose_torch_device() and choose_precision()
* fix test crash
* remove app_config argument from choose_torch_device() and choose_torch_dtype()
---------
Co-authored-by: Lincoln Stein <lstein@gmail.com>
2024-04-15 13:12:49 +00:00
psychedelicious
5a8489bbfc
perf(ui): memoize infill components
2024-04-15 22:50:54 +10:00
psychedelicious
a24c9d0f7a
perf(ui): optimize useFeatureStatus
2024-04-15 22:50:54 +10:00
psychedelicious
7a92afc117
perf(ui): fix rerenders in nodes
...
Unmemoized selector tanking perf
2024-04-15 22:50:54 +10:00
psychedelicious
b508945b11
feat(ui): edge labels
...
Add setting to render labels with format `Source Node label -> Target Node label` on edges.
2024-04-15 22:48:46 +10:00
Lars Kappert
06bc38d3f4
Remove tag excluder
2024-04-15 09:14:49 +10:00
Lars Kappert
d3b0212da5
Scope project files to src dir (enables --production)
2024-04-15 09:14:49 +10:00
Lars Kappert
c2b79ce14c
Replace @knipignore
with paths
config
2024-04-15 09:14:49 +10:00
Васянатор
70185b0173
translationBot(ui): update translation (Russian)
...
Currently translated at 99.5% (1128 of 1133 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-04-15 09:12:38 +10:00
怀瑾
a83a0c6146
translationBot(ui): update translation (Chinese (Simplified))
...
Currently translated at 81.5% (924 of 1133 strings)
Co-authored-by: 怀瑾 <symant233@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/
Translation: InvokeAI/Web UI
2024-04-15 09:12:38 +10:00
Riccardo Giovanetti
12f41039cc
translationBot(ui): update translation (Italian)
...
Currently translated at 98.4% (1122 of 1140 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1120 of 1138 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1115 of 1133 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2024-04-15 09:12:38 +10:00
Daniel Abrao
b3b5b7e261
Include hardcoded count of one to avoid translation issues on missing keys
2024-04-15 09:10:15 +10:00
Daniel Abrao
f706a13230
Adjust gallery image length handling
2024-04-15 09:10:15 +10:00
Daniel Abrao
22c6400bb8
Refactor i18n pluralization
2024-04-15 09:10:15 +10:00
Daniel Abrao
1ca152f6c8
Apply eslint/prettier fixes
2024-04-15 09:10:15 +10:00
Daniel Abrao
982e255878
Add dynamic label to delete button located at the top toolbar
2024-04-15 09:10:15 +10:00
Daniel Abrao
7899149144
Remove unnecessary word
2024-04-15 09:10:15 +10:00
Daniel Abrao
bef97b46bf
Apply eslint/prettier fixes
2024-04-15 09:10:15 +10:00
Daniel Abrao
cc256fee0e
Modify the modal title to include selected image array length
2024-04-15 09:10:15 +10:00
Daniel Abrao
ec69a58c8d
Include plural variation for delete image modal title
2024-04-15 09:10:15 +10:00
Daniel Abrao
ec67ba61db
Pass an array of selected images instead of imageDTO
2024-04-15 09:10:15 +10:00
Daniel Abrao
66126996e7
Import image selection
2024-04-15 09:10:15 +10:00
Jennifer Player
4eb66a9198
remove hires fix badge from settings when using sdxl
2024-04-15 07:57:58 +10:00
Daniel Abrao
14e41a1fd9
Remove unnecessary whitespace
2024-04-15 07:54:36 +10:00
Daniel Abrao
fc55522003
Import hook in the main App script
2024-04-15 07:54:36 +10:00
Daniel Abrao
cd6d8ae9cc
Add a hook as a singleton to update favicon and title upon queueSize change
2024-04-15 07:54:36 +10:00
Daniel Abrao
2933eb594d
Remove unnecessary code
2024-04-15 07:54:36 +10:00
Daniel Abrao
4e08fab3f5
Apply brand red color and a black border
2024-04-15 07:54:36 +10:00
Daniel Abrao
8bca7e2aa2
Apply eslint/prettier fixes
2024-04-15 07:54:36 +10:00
Daniel Abrao
3706cf0ad4
Add JSDoc strings
2024-04-15 07:54:36 +10:00
Daniel Abrao
a459361376
Modify the processing to consider the active queue length instead of in_progress only
2024-04-15 07:54:36 +10:00
Daniel Abrao
bb330d50a6
Increase favicon alert detail size
2024-04-15 07:54:36 +10:00
Daniel Abrao
102cb62960
Apply eslint/prettier fixes
2024-04-15 07:54:36 +10:00
Daniel Abrao
8eeab22ecd
Replace let
with const
2024-04-15 07:54:36 +10:00
Daniel Abrao
4343852b83
Update HTML page title and favicon upon queue item event
2024-04-15 07:54:36 +10:00
Daniel Abrao
0a9bf25bff
Implement updatePageTitle
and updatePageFavicon
methods
2024-04-15 07:54:36 +10:00
Daniel Abrao
4cd09850b8
Add ID to the HTML link element
2024-04-15 07:54:36 +10:00
Daniel Abrao
dbc586e0b2
Add alert variation for Invoke favicon
2024-04-15 07:54:36 +10:00
blessedcoolant
8426f1e7b2
fix(experimental): Possible fix for conflict with regional embed length mismatch
...
Pushing this so people can test it out and see if this needs to be handled in a different way.
2024-04-14 12:19:19 +05:30
Jennifer Player
c2e3c61f28
fix recall all when loras, controls, or hrf arent present
2024-04-14 16:49:14 +10:00
Jennifer Player
77b3281f08
prettier
2024-04-14 15:22:33 +10:00
Jennifer Player
bd7c8cd517
added info popover back to model, updated description hover to combobox only
2024-04-14 15:22:33 +10:00
Jennifer Player
489d485907
added missing description to control adapters hover
2024-04-14 15:22:33 +10:00
Jennifer Player
6eed5ad531
added button for hiding bounding box
2024-04-14 15:22:33 +10:00
blessedcoolant
9cb0f63c44
refactor: fix a bunch of type issues in custom_attention
2024-04-13 14:17:25 +05:30
blessedcoolant
2d5786d3bb
fix: Incorrect composition blocks for SD1.5
2024-04-13 13:52:10 +05:30
blessedcoolant
27466ffa1a
chore: update the ip adapter node version
2024-04-13 13:39:08 +05:30
blessedcoolant
f50b156511
chore: do not include custom nodes in schema
2024-04-13 12:43:49 +05:30
blessedcoolant
9fc73743b2
feat: support SD1.5
2024-04-13 12:30:39 +05:30
blessedcoolant
d4393e4170
chore: linter fixes
2024-04-13 12:14:45 +05:30
blessedcoolant
7a67fd6a06
Revert "chore: ruff fixes"
...
This reverts commit af36fe8c1e
.
2024-04-13 12:10:20 +05:30
blessedcoolant
af36fe8c1e
chore: ruff fixes
2024-04-13 12:08:52 +05:30
blessedcoolant
e9f16ac8c7
feat: add UI for IP Adapter Method
2024-04-13 12:06:59 +05:30
blessedcoolant
6ea183f0d4
wip: Initial Implementation IP Adapter Style & Comp Modes
2024-04-13 11:09:45 +05:30
Mark E. Shoulson
24f2cde862
Remove type="submit" from all tsx files.
...
Fixes a problem on firefox, at least for me.
2024-04-12 09:09:32 +10:00
psychedelicious
b18442ded4
fix(queue): poll queue on finished queue item
...
When a queue item is finished (completed, canceled, failed), immediately poll the queue for the next queue item.
Closes #6189
2024-04-12 07:31:47 +10:00
Lincoln Stein
651c0b39b1
clear cache on all exceptions
2024-04-12 07:19:16 +10:00
Lincoln Stein
46d23cd868
catch RunTimeError during model to()
call rather than OutOfMemoryError
2024-04-12 07:19:16 +10:00
Lincoln Stein
dedf0c6ffa
fix ruff issues
2024-04-12 07:19:16 +10:00
Lincoln Stein
579082ac10
[mm] clear the cache entry for a model that got an OOM during loading
2024-04-12 07:19:16 +10:00
psychedelicious
7bc77ddb40
fix(nodes): doubly-noised latents
...
When using refiner with a mask (i.e. inpainting), we don't have noise provided as an input to the node.
This situation uniquely hits a code path that wasn't reviewed when gradient denoising was implemented.
That code path does two things wrong:
- It lerp'd the input latents. This was fixed in 5a1f4cb1ce
.
- It added noise to the latents an extra time. This is fixed in this change.
We don't need to add noise in `latents_from_embeddings` because we do it just a lines later in `AddsMaskGuidance`.
- Remove the extraneous call to `add_noise`
- Make `seed` a required arg. We never call the function without seed anyways. If we refactor this in the future, it will be clearer that we need to look at how seed is handled.
- Move the call to create the noise to a deeper conditional, just before we call `AddsMaskGuidance`. The created noise tensor is now only used in that function, no need to create it every time.
Note: Whether or not having both noise and latents as inputs on the node is correct is a separate conversation. This change just fixes the issue with the current setup.
2024-04-11 07:21:50 -04:00
psychedelicious
026d095afe
fix(nodes): do not set seed on output latents from denoise latents
...
`LatentsField` objects have an optional `seed` field. This should only be populated when the latents are noise, generated from a seed.
`DenoiseLatentsInvocation` needs a seed value for scheduler initialization. It's used in a few places, and there is some logic for determining the seed to use with a series of fallbacks:
- Use the seed from the noise (a `LatentsField` object)
- Use the seed from the latents (a `LatentsField` object - normally it won't have a seed)
- Use `0` as a final fallback
In `DenoisLatentsInvocation`, we set the seed in the `LatentsOutput`, even though the output latents are not noise.
This is normally fine, but when we use refiner, we re-use the those same latents for the refiner denoise. This causes that characteristic same-seed-fried look on the refiner pass.
Simple fix - do not set the field in the output latents.
2024-04-11 07:21:50 -04:00
psychedelicious
7e2ade50e1
fix(ui): canvas staging area & batch handling fixes
...
Handful of intertwined fixes.
- Create and use helper function to reset staging area.
- Clear staging area when queue items are canceled, failed, cleared, etc. Fixes a bug where the bbox ends up offset and images are put into the wrong spot.
- Fix a number of similar bugs where canvas would "forget" it had pending generations, but they continued to generate. Canvas needs to track batches that should be displayed in it using `state.canvas.batchIds`, and this was getting cleared without actually canceling those batches.
- Disable the `discard current image` button on canvas if there is only one image. Prevents accidentally canceling all canvas batches if you spam the button.
2024-04-10 21:48:34 +10:00
psychedelicious
c0d54d5414
Revert "always enqueue with fresh bounding box"
...
This reverts commit fae51da278b39c61cbbea5de88661b4bc546f1ce.
2024-04-10 21:48:34 +10:00
Mary Hipp
98bfbb73ac
always enqueue with fresh bounding box
2024-04-10 21:48:34 +10:00
Ryan Dick
f9af32a6d1
Fix the padding behavior when max-pooling regional IP-Adapter masks to mirror the downscaling behavior of SD and SDXL. Prior to this change, denoising with input latent dimensions that were not evenly divisible by 8 would raise an exception.
2024-04-09 16:50:43 -04:00
Ryan Dick
fba40eb1bd
Fix the padding behavior when max-pooling regional prompt masks to mirror the downscaling behavior of SD and SDXL. Prior to this change, denoising with input latent dimensions that were not evenly divisible by 8 would raise an exception.
2024-04-09 16:50:43 -04:00
Jonathan
80d631118d
Fix field ordering
...
Changed fields to go in w/h x/y order.
2024-04-09 14:17:55 -05:00
Ryan Dick
0c6dd32ece
(minor) Fix IP-Adapter conditional logic in CustomAttnProcessor2_0.
2024-04-09 15:06:51 -04:00
Ryan Dick
0bdbfd4d1d
Add support for IP-Adapter masks.
2024-04-09 15:06:51 -04:00
Ryan Dick
2e27ed5f3d
Pass IP-Adapter scales through the cross_attn_kwargs pathway, since they are the same for all attention layers. This change also helps to prepare for adding IP-Adapter region masks.
2024-04-09 15:06:51 -04:00
Ryan Dick
babdc64b17
(minor) Fix typo in IP-Adapter field description.
2024-04-09 15:06:51 -04:00
Ryan Dick
4a828818da
Remove support for Prompt-to-Prompt cross-attention control (aka .swap()). This feature is not widely used. It does not work with SDXL and is incompatible with IP-Adapter and regional prompting. The implementation is also intertwined with both text embedding and the UNet attention layers, resulting in a high maintenance burden. For all of these reasons, we have decided to drop support.
2024-04-09 10:57:02 -04:00
psychedelicious
fe386252f3
Revert "feat(nodes): add prompt region from image nodes"
...
This reverts commit 3a531c5097
.
2024-04-09 08:12:12 -04:00
Ryan Dick
182810337c
Add utility to_standard_float_mask(...) to convert various mask formats to a standardized format.
2024-04-09 08:12:12 -04:00
Ryan Dick
338bf808d6
Rename MaskField to be a generice TensorField.
2024-04-09 08:12:12 -04:00
Ryan Dick
5b5a4204a1
Fix dimensions of mask produced by ExtractMasksAndPromptsInvocation. Also, added a clearer error message in case the same error is introduced in the future.
2024-04-09 08:12:12 -04:00
Ryan Dick
75ef473748
Pull the upstream changes from diffusers' AttnProcessor2_0 into CustomAttnProcessor2_0. This fixes a bug in CustomAttnProcessor2_0 that was being triggered when peft was not installed. The bug was present in a block of code that was previously copied from diffusers. The bug seems to have been introduced during diffusers' migration to PEFT for their LoRA handling. The upstream bug was fixed in 531e719163
.
2024-04-09 08:12:12 -04:00
psychedelicious
926b8d0efe
feat(nodes): add prompt region from image nodes
2024-04-09 08:12:12 -04:00
Ryan Dick
9d9d1761f3
(minor) The latest ruff version has _slightly_ different formatting preferences.
2024-04-09 08:12:12 -04:00
Ryan Dick
a78df8123f
Update the diffusion logic to use the new regional prompting feature.
2024-04-09 08:12:12 -04:00
Ryan Dick
7ca677578e
Create a UNetAttentionPatcher for patching UNet models with CustomAttnProcessor2_0 modules.
2024-04-09 08:12:12 -04:00
Ryan Dick
31c456c1e6
Update CustomAttention to support both IP-Adapters and regional prompting.
2024-04-09 08:12:12 -04:00
Ryan Dick
2ce79b61f5
Initialize a RegionalPromptAttnProcessor2_0 class by copying AttnProcessor2_0 from diffusers.
2024-04-09 08:12:12 -04:00
Ryan Dick
109e3f0e7f
Add RegionalPromptData class for managing prompt region masks.
2024-04-09 08:12:12 -04:00
Ryan Dick
dc64fec771
Add support for lists of prompt embeddings to be passed to the DenoiseLatents invocation, and add handling of the conditioning region masks in DenoiseLatents.
2024-04-09 08:12:12 -04:00
Ryan Dick
d1e45585d0
Add TextConditioningRegions to the TextConditioningData data structure.
2024-04-09 08:12:12 -04:00
Ryan Dick
aba023e0c5
Improve documentation of conditioning_data.py.
2024-04-09 08:12:12 -04:00
Ryan Dick
e354c29b52
Rename ConditioningData -> TextConditioningData.
2024-04-09 08:12:12 -04:00
Ryan Dick
a7f363e654
Split ip_adapter_conditioning out from ConditioningData.
2024-04-09 08:12:12 -04:00
Ryan Dick
9b2162e564
Remove scheduler_args from ConditioningData structure.
2024-04-09 08:12:12 -04:00