psychedelicious
7f2c83b9e6
feat(ui): consolidate isolated preview settings
...
`isolatedFilteringPreview` and `isolatedTransformingPreview` are merged into `isolatedLayerPreview`. This is also used for segment anything.
2024-10-23 16:01:15 +11:00
psychedelicious
bc85bd4bd4
tidy(ui): clean up and document CanvasSegmentAnythingModule
2024-10-23 16:01:15 +11:00
psychedelicious
38b09d73e4
feat(ui): masking UX (wip - interaction state issue)
2024-10-23 16:01:15 +11:00
psychedelicious
606c4ae88c
feat(ui): masking UX (wip - issue w/ positioning)
2024-10-23 16:01:15 +11:00
psychedelicious
f666bac77f
tidy(ui): CanvasToolView -> CanvasViewToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
c9bf7da23a
tidy(ui): CanvasToolRect -> CanvasRectToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
dfc65b93e9
tidy(ui): CanvasToolMove -> CanvasMoveToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
9ca40b4cf5
tidy(ui): CanvasToolErase -> CanvasEraserToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
d571e71d5e
tidy(ui): CanvasToolColorPicker -> CanvasColorPickerToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
ad1e6c3fe6
tidy(ui): CanvasToolBrush -> CanvasBrushToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
21d02911dd
tidy(ui): CanvasBboxModule -> CanvasBboxToolModule, move file
2024-10-23 16:01:15 +11:00
psychedelicious
43afe0bd9a
feat(ui): move cursor handling to tool modules
...
Also add cursors for move tool and bbox tool - when pointer is over the layer or bbox, use the move cursor.
2024-10-23 16:01:15 +11:00
psychedelicious
e7a68c446d
feat(ui): add CanvasToolView
...
It's nearly a noop but I think it makes sense to have a module for each tool...
2024-10-23 16:01:15 +11:00
psychedelicious
b9c68a2e7e
feat(ui): add CanvasToolMove
...
It's essentially a noop but I think it makes sense to have a module for each tool...
2024-10-23 16:01:15 +11:00
psychedelicious
371a1b1af3
feat(ui): make CanvasBboxModule child of CanvasToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
dae4591de6
feat(ui): let tool modules set own visibility
2024-10-23 16:01:15 +11:00
psychedelicious
8ccb2e30ce
feat(ui): bail on stage events when not targeting the stage
2024-10-23 16:01:15 +11:00
psychedelicious
b8106a4613
fix(ui): bail on drawing when mouse not down
2024-10-23 16:01:15 +11:00
psychedelicious
ce51e9582a
feat(ui): add CanvasRectTool
2024-10-23 16:01:15 +11:00
psychedelicious
00848eb631
feat(ui): let color picker tool handle its events
2024-10-23 16:01:15 +11:00
psychedelicious
b48430a892
feat(ui): let eraser tool handle its events
2024-10-23 16:01:15 +11:00
psychedelicious
f94a218561
tidy(ui): remove extraneous checks from CanvasToolBrush
2024-10-23 16:01:15 +11:00
psychedelicious
9b6ed40875
fix(ui): edge case where pressure could be added erroneously to points
2024-10-23 16:01:15 +11:00
psychedelicious
26553dbb0e
tidy(ui): CanvasToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
9eb695d0b4
docs(ui): update CanvasToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
babab17e1d
feat(ui): let brush tool handle its events
...
Move brush tool event logic to its class.
2024-10-23 16:01:15 +11:00
psychedelicious
d0a80f3347
feat(ui): create zCoordinateWithPressure & export type from canvas types
2024-10-23 16:01:15 +11:00
psychedelicious
9b30363177
tidy(ui): CanvasToolModule structure
2024-10-23 16:01:15 +11:00
psychedelicious
89bde36b0c
feat(ui): support draggable SAM points
2024-10-23 16:01:15 +11:00
psychedelicious
86a8476d97
feat(ui): working segment anything flow
2024-10-23 16:01:15 +11:00
psychedelicious
afa0661e55
chore(ui): typegen
2024-10-23 16:01:15 +11:00
psychedelicious
ba09c1277f
feat(nodes): hacked together nodes for segment anything w/ points
2024-10-23 16:01:15 +11:00
psychedelicious
80bf9ddb71
feat(ui): rough out points UI for segment anything module
2024-10-23 16:01:15 +11:00
psychedelicious
1dbc98d747
feat(ui): add CanvasSegmentAnythingModule (wip)
2024-10-23 16:01:15 +11:00
psychedelicious
0698188ea2
feat(ui): support readonly arrays in SerializableObject type
2024-10-23 16:01:15 +11:00
psychedelicious
59d0ad4505
chore(ui): migrate from ts-toolbelt to type-fest
...
`ts-toolbelt` is unmaintained while `type-fest` is very actively maintained. Both provide similar TS utilities.
2024-10-23 16:01:15 +11:00
Thomas Bolteau
074a5692dd
translationBot(ui): update translation (French)
...
Currently translated at 100.0% (1509 of 1509 strings)
translationBot(ui): update translation (French)
Currently translated at 100.0% (1509 of 1509 strings)
Co-authored-by: Thomas Bolteau <thomas.bolteau50@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/fr/
Translation: InvokeAI/Web UI
2024-10-23 10:23:37 +11:00
Васянатор
bb0741146a
translationBot(ui): update translation (Russian)
...
Currently translated at 99.6% (1504 of 1509 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-10-23 10:23:37 +11:00
Riccardo Giovanetti
1845d9a87a
translationBot(ui): update translation (Italian)
...
Currently translated at 98.8% (1492 of 1509 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-10-23 10:23:37 +11:00
Riku
748c393e71
translationBot(ui): update translation (German)
...
Currently translated at 71.0% (1072 of 1509 strings)
Co-authored-by: Riku <riku.block@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translation: InvokeAI/Web UI
2024-10-23 10:23:37 +11:00
David Burnett
9bd17ea02f
Get flux working with MPS on 2.4.1, with GGUF support
2024-10-23 10:20:42 +11:00
David Burnett
24f9b46fbc
ruff fix
2024-10-23 10:09:24 +11:00
David Burnett
54b3aa1d01
load t5 model in the same format as it is saved, seems to load as float32 on Macs
2024-10-23 10:09:24 +11:00
Maximilian Maag
d85733f22b
fix(installer): pytorch and ROCm versions are incompatible
...
Each version of torch is only available for specific versions of CUDA and ROCm.
The Invoke installer and dockerfile try to install torch 2.4.1 with ROCm 5.6
support, which does not exist. As a result, the installation falls back to the
default CUDA version so AMD GPUs aren't detected. This commits fixes that by
bumping the ROCm version to 6.1, as suggested by the PyTorch documentation. [1]
The specified CUDA version of 12.4 is still correct according to [1] so it does
need to be changed.
Closes #7006
Closes #7146
[1]: https://pytorch.org/get-started/previous-versions/#v241
2024-10-23 09:59:00 +11:00
psychedelicious
aff6ad0316
FLUX XLabs IP-Adapter Support ( #7157 )
...
## Summary
This PR adds support for the XLabs IP-Adapter
(https://huggingface.co/XLabs-AI/flux-ip-adapter ) in workflows. Linear
UI integration is coming in a follow-up PR. The XLabs IP-Adapter can be
installed in the Starter Models tab.
Usage tips:
- Use a `cfg_scale` value of 2.0 to 4.0
- Start with an IP-Adatper weight of ~0.6 and adjust from there.
- Set `cfg_scale_start_step = 1`
- Set `cfg_scale_end_step` to roughly the halfway point (it's
unnecessary to apply CFG to all steps, and this will improve processing
time).
Sample workflow:
<img width="976" alt="image"
src="https://github.com/user-attachments/assets/4627b459-7e5a-4703-80e7-f7575c5fce19 ">
Result:

## Related Issues / Discussions
Prerequisite: https://github.com/invoke-ai/InvokeAI/pull/7152
## Remaining TODO:
- [ ] Update default workflows.
## QA Instructions
- [x] Test basic happy path
- [x] Test with multiple IP-Adapters (it runs, but results aren't great)
- [ ] ~Test with multiple images to a single IP-Adapter~ (this is not
supported for now)
- [ ] Test automatic runtime installation of CLIP-L, CLIP-H, and CLIP-G
image encoder models if they are not already installed.
- [ ] Test starter model installation of the XLabs FLUX IP-Adapter
- [ ] Test SD and SDXL IP-Adapters for regression.
- [ ] Check peak memory utilization.
## Merge Plan
- [ ] Merge #7152
- [ ] Change target branch to main
## Checklist
- [x] _The PR has a short but descriptive title, suitable for a
changelog_
- [x] _Tests added / updated (if applicable)_
- [ ] _Documentation added / updated (if applicable)_
2024-10-23 09:57:39 +11:00
psychedelicious
61496fdcbc
fix(nodes): load IP Adapter images as RGB
...
FLUX IP Adapter only works with RGB. Did the same for non-FLUX to be safe & consistent, though I don't think it's strictly necessary.
2024-10-23 08:34:15 +10:00
psychedelicious
ee8975401a
fix(ui): remove special handling for flux in IPAdapterModel
...
This masked an issue w/ the CLIP Vision model. Issue is now handled in reducer/graph builder.
2024-10-23 08:31:10 +10:00
psychedelicious
bf3260446d
fix(ui): use flux_ip_adapter for flux
2024-10-23 08:30:11 +10:00
psychedelicious
f53823b45e
fix(ui): update CLIP Vision when ipa model changes
2024-10-23 08:29:14 +10:00
Ryan Dick
5cbe89afdd
Merge branch 'main' into ryan/flux-ip-adapter-cfg-2
2024-10-22 21:17:36 +00:00