Thomas Bolteau
e0ae2ace89
translationBot(ui): update translation (French)
...
Currently translated at 100.0% (1561 of 1561 strings)
Translation: InvokeAI/Web UI
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/fr/
2024-10-31 17:18:35 +11:00
Riku
269faae04b
translationBot(ui): update translation (German)
...
Currently translated at 71.4% (1115 of 1561 strings)
Translation: InvokeAI/Web UI
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
2024-10-31 17:18:35 +11:00
Riccardo Giovanetti
e282acd41c
translationBot(ui): update translation (Italian)
...
Currently translated at 98.8% (1543 of 1561 strings)
Translation: InvokeAI/Web UI
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
2024-10-31 17:18:35 +11:00
Ettore Atalan
a266668348
translationBot(ui): update translation (German)
...
Currently translated at 69.3% (1083 of 1561 strings)
Translation: InvokeAI/Web UI
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
2024-10-31 17:18:35 +11:00
Riccardo Giovanetti
3bb3e142fc
translationBot(ui): update translation (Italian)
...
Currently translated at 98.8% (1543 of 1561 strings)
Translation: InvokeAI/Web UI
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
2024-10-31 17:18:35 +11:00
Hosted Weblate
6ac6d70a22
translationBot(ui): update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
translationBot(ui): update translation files
Updated by "Cleanup translation files" hook in Weblate.
translationBot(ui): update translation files
Updated by "Cleanup translation files" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/
Translation: InvokeAI/Web UI
2024-10-31 17:18:35 +11:00
Riccardo Giovanetti
b0acf33ba5
translationBot(ui): update translation (Italian)
...
Currently translated at 98.5% (1496 of 1518 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-31 17:18:35 +11:00
qyouqme
b3eb64b64c
translationBot(ui): update translation (Chinese (Simplified Han script))
...
Currently translated at 66.0% (1003 of 1518 strings)
Co-authored-by: qyouqme <camtasiacn@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/
Translation: InvokeAI/Web UI
2024-10-31 17:18:35 +11:00
Riku
95f8ab1a29
translationBot(ui): update translation (German)
...
Currently translated at 71.3% (1083 of 1518 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-31 17:18:35 +11:00
Hosted Weblate
4e043384db
translationBot(ui): update translation files
...
Updated by "Cleanup translation files" hook in Weblate.
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/
Translation: InvokeAI/Web UI
2024-10-31 17:18:35 +11:00
psychedelicious
0f5df8ba17
chore(ui): lint
2024-10-31 16:54:31 +11:00
psychedelicious
2826ab48a2
refactor(ui): layer interaction locking
...
Previously we maintained an `isInteractable` flag, which was derived from these layer flags:
- Locked/unlocked
- Enabled/disabled
- Layer's type visible/hidden
When a layer was not interactable, we blocked all layer actions.
After comparing to the behaviour in Affinity and considering user feedback, I've loosened these restrictions while maintaining safety. First, some definitions.
There two kinds of layer actions - mutating actions and non-mutating actions.
- Mutating actions are drawing on the layer, cropping it, filtering it, converting it, etc. Anything that changes the layer.
- Non-mutating actions are copying the layer, saving the layer to gallery, etc. Anything that _uses_ the layer.
Then, there are two broad canvas states - busy and not busy. "Busy" means the canvas is actively filtering, staging, compositing layers together, etc - something that is "single-threaded" by nature.
And here are the revised restrictions:
- When canvas is busy, you cannot initiate any layer actions.
- When the canvas is not busy, and the layer is locked, you initiate any mutating actions.
- When the canvas is not busy and the layer is not locked, you can initiate any layer action.
Besides safely giving users more freedom, it also fixes an issue where the context menu for a layer was disabled if it was not the selected layer.
2024-10-31 16:54:31 +11:00
psychedelicious
7ff1b635c8
docs: clarify comments for invoke method return annotation validation
2024-10-31 16:21:07 +11:00
psychedelicious
7259da799c
feat(nodes): attempt to look up invoke return types by name
2024-10-31 16:21:07 +11:00
psychedelicious
90232806d9
feat(nodes): add validation for invoke method return types
2024-10-31 16:21:07 +11:00
psychedelicious
d3a82f7119
feat(ui): do not show hftoken error until user attempts to set it
2024-10-31 15:47:14 +11:00
Mary Hipp
291c5a0341
lint
2024-10-31 15:47:14 +11:00
Mary Hipp
bcb41399ca
feat(ui,api): support for HF tokens in UI, handle Unauthorized and Forbidden errors
2024-10-31 15:47:14 +11:00
psychedelicious
4e7d63761a
fix(nodes): nodes denylist handling
...
- Add method to force a rebuild of the pydantic type adapter for the union of invocations, which is used to validate graphs.
- Update the xfail'd test.
2024-10-31 15:22:14 +11:00
psychedelicious
198c84105d
fix(ui): compositor not setting processing flag when cleaning up
2024-10-30 16:27:36 +11:00
psychedelicious
2453b9f443
chore: bump version to v5.3.0rc1
2024-10-30 13:11:41 +11:00
psychedelicious
b091aca986
chore(ui): lint
2024-10-30 11:05:46 +11:00
psychedelicious
8f02ce54a0
perf(ui): cache image data & transparency mode during generation mode calculation
...
Perf boost and reduces the number of images we create on the backend.
2024-10-30 11:05:46 +11:00
psychedelicious
f4b7c63002
feat(ui): omit non-render-impacting keys when hashing entities
...
Had missed several of these, which means we were invalidating caches far too often. For example, when you changed a RG prompt, we were invalidating the cached canvas for that entity, even though changing the prompt doesn't affect the canvas at all.
2024-10-30 11:05:46 +11:00
psychedelicious
a4629280b5
feat(ui): use typeguard instead of string comparison
2024-10-30 11:05:46 +11:00
psychedelicious
855fb007da
tidy(ui): minor type fix
2024-10-30 11:05:46 +11:00
psychedelicious
d805b52c1f
feat(ui): merge down deletes merged entities
2024-10-30 11:05:46 +11:00
psychedelicious
2ea55685bb
feat(ui): add save to assets for inpaint & rg
2024-10-30 11:05:46 +11:00
psychedelicious
bd6ff3deaa
feat(ui): add merge down for all entity types
2024-10-30 11:05:46 +11:00
psychedelicious
82dd53ec88
tidy(ui): clean up merge visible logic
2024-10-30 11:05:46 +11:00
psychedelicious
71d749541d
feat(ui): control layers supports merge visible
...
The "lighter" GlobalCompositeOperation is used. This seems to be the best one when merging control layers, as it retains edge maps.
2024-10-30 11:05:46 +11:00
psychedelicious
48a57fc4b9
feat(ui): support globalCompositeOperation when compositing canvas
2024-10-30 11:05:46 +11:00
psychedelicious
530e0910fc
feat(ui): regional guidance supports merge visible
2024-10-30 11:05:46 +11:00
psychedelicious
2fdf8fc0a2
feat(ui): merge visible creates new layer
...
Previously, merge visible deleted all other visible layers. This is not how affinity works, I should have confirmed before making it work like this in the first place.Ï
2024-10-30 11:05:46 +11:00
psychedelicious
91db9c9300
refactor(ui): generalize compositor methods
...
`CanvasCompositorModule` had a fairly inflexible API, only supporting compositing all raster layers or inpaint masks.
The API has been generalized work with a list of canvas entities. This enables `Merge Down` and `Merge Selected` functionality (though `Merge Selected` is not part of this set of changes).
2024-10-30 11:05:46 +11:00
psychedelicious
bc42205593
fix(ui): remember to disable isFiltering when finishing filtering
2024-10-30 09:19:30 +11:00
psychedelicious
2e3cba6416
fix(ui): flash of original layer when applying filter/segment
...
Let the parent module adopt the filtered/segemented image instead of destroying it and making the parent re-create it, which results in a brief flash of the parent layer's original objects before the new image is rendered.
2024-10-30 09:19:30 +11:00
psychedelicious
7852aacd11
fix(uI): track whether graph succeeded in runGraphAndReturnImageOutput
...
This prevents extraneous graph cancel requests when cleaning up the abort signal after a successful run of a graph.
2024-10-30 09:19:30 +11:00
psychedelicious
6cccd67ecd
feat(ui): update SAM module to w/ minor improvements from filter module
2024-10-30 09:19:30 +11:00
psychedelicious
a7a89c9de1
feat(ui): use more resilient logic in canvas filter module, same as in SAM module
2024-10-30 09:19:30 +11:00
psychedelicious
5ca8eed89e
tidy(ui): remove all buffer renderer interactions in SAM module
...
We don't use the buffer rendere in this module; there's no reason to clear it.
2024-10-30 09:19:30 +11:00
psychedelicious
c885c3c9a6
fix(ui): filter layer data pushed to parent rendered when saving as
2024-10-30 09:19:30 +11:00
Mary Hipp
d81c38c350
update announcements
2024-10-29 09:53:13 -04:00
Riku
92d5b73215
fix(ui): seamless zod parameter cleanup
2024-10-29 20:43:44 +11:00
Riku
097e92db6a
fix(ui): always write seamless metadata
...
Ensure images without seamless enabled correctly reset the setting
when all parameters are recalled
2024-10-29 20:43:44 +11:00
Riku
84c6209a45
feat(ui): display seamless values in metadata viewer
2024-10-29 20:43:44 +11:00
Riku
107e48808a
fix(ui): recall seamless settings
2024-10-29 20:43:44 +11:00
dunkeroni
47168b5505
chore: make ruff
2024-10-29 14:07:20 +11:00
dunkeroni
58152ec981
fix preview progress bar pre-denoise
2024-10-29 14:07:20 +11:00
dunkeroni
c74afbf332
convert to bgr on sdxl t2i
2024-10-29 14:07:20 +11:00