psychedelicious
575ecb4028
feat(ui): prevent connections to direct-only inputs
2024-05-17 22:08:40 +10:00
psychedelicious
ad8778df6c
feat(ui): extract node execution state from nodesSlice
...
This state is ephemeral and not undoable.
2024-05-17 13:24:23 +10:00
psychedelicious
d2f5103f9f
fix(ui): ignore actions from other slices in nodesSlice history
2024-05-17 13:24:23 +10:00
psychedelicious
dd42a56084
tests(ui): fix parseSchema test fixture
...
The schema fixture wasn't formatted quite right - doesn't affect the test but still.
2024-05-17 13:24:23 +10:00
psychedelicious
23ac340a3f
tests(ui): add test for parseSchema
2024-05-17 13:24:23 +10:00
psychedelicious
6791b4eaa8
chore(ui): lint
2024-05-17 13:24:23 +10:00
psychedelicious
a8b042177d
feat(ui): connection validation for collection items types
2024-05-17 13:24:23 +10:00
psychedelicious
76825f4261
fix(ui): allow collect node inputs to connect to multiple fields when using lazy connect
2024-05-17 13:24:23 +10:00
psychedelicious
78cb4d75ad
fix(ui): use elevateEdgesOnSelect
so last-selected edge is the interactable one when updating edges
2024-05-17 13:24:23 +10:00
psychedelicious
a18bbac262
fix(ui): jank interaction between edge update and autoconnect
2024-05-17 13:24:23 +10:00
psychedelicious
9ff5596963
feat(ui): hide values for connected fields
2024-05-17 13:24:23 +10:00
psychedelicious
8ea596b1e9
fix(ui): janky editable field title
...
- Do not allow whitespace-only field titles
- Make only preview text trigger editable
- Tooltip over the preview, not the whole "row"
2024-05-17 13:24:23 +10:00
psychedelicious
e3a143eaed
fix(ui): fix jank w/ stale connections
2024-05-17 13:24:23 +10:00
psychedelicious
c359ab6d9b
fix(ui): fix dependency tracking for copy/paste hotkeys
2024-05-17 13:24:23 +10:00
psychedelicious
dbfaa07e03
feat(ui): add checks for undo/redo actions
2024-05-17 13:24:23 +10:00
psychedelicious
7f78fe7a36
feat(ui): move viewport state to nanostores
2024-05-17 13:24:23 +10:00
psychedelicious
6cf5b402c6
feat(ui): remove extraneous selectedEdges and selectedNodes state
2024-05-17 13:24:23 +10:00
psychedelicious
b0c7c7cb47
feat(ui): remove remaining extraneous state from nodes slice
2024-05-17 13:24:23 +10:00
psychedelicious
4d68cd8dbb
feat(ui): recreate edge auto-add-node logic
2024-05-17 13:24:23 +10:00
psychedelicious
2c1fa30639
feat(ui): recreate edge autoconnect logic
2024-05-17 13:24:23 +10:00
psychedelicious
708c68413d
tidy(ui): add type for templates
2024-05-17 13:24:23 +10:00
psychedelicious
1d884fb794
feat(ui): move invocation templates out of redux
...
Templates are stored in nanostores. All hooks, selectors, etc are reworked to reference the nanostore.
2024-05-17 13:24:23 +10:00
psychedelicious
f6a44681a8
feat(ui): move invocation templates out of redux (wip)
2024-05-17 13:24:23 +10:00
psychedelicious
d4df312300
feat(ui): move nodes copy/paste out of slice
2024-05-17 13:24:23 +10:00
psychedelicious
9c0d44b412
feat(ui): split workflow editor settings to separate slice
...
We need the undoable slice to be only undoable state - settings are not undoable.
2024-05-17 13:24:23 +10:00
psychedelicious
27826369f0
feat(ui): make nodesSlice undoable
2024-05-17 13:24:23 +10:00
H0onnn
31d8b50276
[Refactor] Update min and max values for LoRACard weight input
2024-05-17 10:38:26 +10:00
psychedelicious
40b4fa7238
feat(ui): SDXL clip skip
...
Uses the same CLIP Skip value for both CLIP1 and CLIP2.
Adjusted SDXL CLIP Skip min/max/markers to be within the valid range (0 to 11).
Closes #4583
2024-05-16 07:49:30 -04:00
psychedelicious
f489c818f1
docs(ui): add comments to nsfw & watermarker helpers
2024-05-15 14:09:44 +10:00
psychedelicious
af477fa295
tidy(ui): remove unused modelLoader from refiner helper
2024-05-15 14:09:44 +10:00
psychedelicious
0ff0290735
tidy(ui): use Invocation<> helper type in canvas graph builders, elsewhere
2024-05-15 14:09:44 +10:00
psychedelicious
67dbe6d949
tidy(ui): use Invocation<> helper type in OG control adapters
2024-05-15 14:09:44 +10:00
psychedelicious
4c3c2297b9
tidy(ui): organise graph builder files
2024-05-15 14:09:44 +10:00
psychedelicious
cadea55521
tidy(ui): organise graph builder files
2024-05-15 14:09:44 +10:00
psychedelicious
c8f30b1392
tidy(ui): move testing-only types to test file
2024-05-15 14:09:44 +10:00
psychedelicious
3d14a98abf
tidy(ui): use Invocation<> type in control layers types
2024-05-15 14:09:44 +10:00
psychedelicious
77024bfca7
fix(ui): fix sdxl generation mode metadata
2024-05-15 14:09:44 +10:00
psychedelicious
4a1c3786a1
tidy(ui): organise CL graph builder
2024-05-15 14:09:44 +10:00
psychedelicious
b239891986
tidy(ui): clean up base model handling in graph builder
2024-05-15 14:09:44 +10:00
psychedelicious
9fb03d43ff
tests(ui): get coverage to 100% for graph builder
2024-05-15 14:09:44 +10:00
psychedelicious
bdc59786bd
tidy(ui): clean up graph builder helper functions
2024-05-15 14:09:44 +10:00
psychedelicious
fb6e926500
tidy(ui): remove extraneous graph validate calls
2024-05-15 14:09:44 +10:00
psychedelicious
48ccd63dba
feat(ui): use integrated metadata helper
2024-05-15 14:09:44 +10:00
psychedelicious
ee647a05dc
feat(ui): move metadata util to graph class
...
No good reason to have it be separate. A bit cleaner this way.
2024-05-15 14:09:44 +10:00
psychedelicious
154b52ca4d
docs(ui): update docstrings for Graph builder
2024-05-15 14:09:44 +10:00
psychedelicious
5dd460c3ce
chore(ui): knip
2024-05-15 14:09:44 +10:00
psychedelicious
4897ce2a13
tidy(ui): remove unused files
2024-05-15 14:09:44 +10:00
psychedelicious
5425526d50
feat(ui): use graph builder for generation tab sdxl
2024-05-15 14:09:44 +10:00
psychedelicious
5a4b050e66
feat(ui): use asserts in graph builder
2024-05-15 14:09:44 +10:00
psychedelicious
8d39520232
feat(ui): port NSFW and watermark nodes to graph builder
2024-05-15 14:09:44 +10:00
psychedelicious
04d12a1e98
feat(ui): add HRF graph builder helper
2024-05-15 14:09:44 +10:00
psychedelicious
39aa70963b
docs(ui): update docstrings for addGenerationTabSeamless
2024-05-15 14:09:44 +10:00
psychedelicious
5743254a41
fix(ui): use arrays for edge methods
2024-05-15 14:09:44 +10:00
psychedelicious
c538ffea26
tidy(ui): remove console.log
2024-05-15 14:09:44 +10:00
psychedelicious
e8d3a7c870
feat(ui): support multiple fields for getEdgesTo
, getEdgesFrom
, deleteEdgesTo
, deleteEdgesFrom
2024-05-15 14:09:44 +10:00
psychedelicious
2be66b1546
feat(ui): add deleteNode
and getEdges
to graph util
2024-05-15 14:09:44 +10:00
psychedelicious
76e181fd44
build(ui): add eslint no-console
rule
2024-05-15 14:09:44 +10:00
psychedelicious
b5d42fbc66
tidy(ui): remove unused graph helper
2024-05-15 14:09:44 +10:00
psychedelicious
b463cd763e
tidy(ui): remove extraneous is_intermediate
node fields
2024-05-15 14:09:44 +10:00
psychedelicious
eb320df41d
feat(ui): use new lora loaders, simplify VAE loader, seamless
2024-05-15 14:09:44 +10:00
psychedelicious
de1869773f
chore(ui): typegen
2024-05-15 14:09:44 +10:00
psychedelicious
ef89c7e537
feat(nodes): add LoRASelectorInvocation, LoRACollectionLoader, SDXLLoRACollectionLoader
...
These simplify loading multiple LoRAs. Instead of requiring chained lora loader nodes, configure each LoRA (model & weight) with a selector, collect them, then send the collection to the collection loader to apply all of the LoRAs to the UNet/CLIP models.
The collection loaders accept a single lora or collection of loras.
2024-05-15 14:09:44 +10:00
psychedelicious
008645d386
fix(ui): work through merge conflicts (wip)
2024-05-15 14:09:44 +10:00
psychedelicious
f8042ffb41
WIP, sd1.5 works
2024-05-15 14:09:44 +10:00
psychedelicious
dbe22be598
feat(ui): use graph utils in builders (wip)
2024-05-15 14:09:44 +10:00
psychedelicious
8f6078d007
feat(ui): refine graph building util
...
Simpler types and API surface.
2024-05-15 14:09:44 +10:00
psychedelicious
4020bf47e2
feat(ui): add MetadataUtil class
...
Provides methods for manipulating a graph's metadata.
2024-05-15 14:09:44 +10:00
psychedelicious
9d685da759
feat(ui): add stateful Graph class
...
This stateful class provides abstractions for building a graph. It exposes graph methods like adding and removing nodes and edges.
The methods are documented, tested, and strongly typed.
2024-05-15 14:09:44 +10:00
psychedelicious
e3289856c0
feat(ui): add and use type helpers for invocations and invocation outputs
2024-05-15 14:09:44 +10:00
psychedelicious
47b8153728
build(ui): enable TS strictPropertyInitialization
...
https://www.typescriptlang.org/tsconfig/#strictPropertyInitialization
2024-05-15 14:09:44 +10:00
psychedelicious
7901e4c082
chore(ui): typegen
2024-05-15 14:09:44 +10:00
psychedelicious
18b0977a31
feat(api): add InvocationOutputMap to OpenAPI schema
...
This dynamically generated schema object maps node types to their pydantic schemas. This makes it much simpler to infer node types in the UI.
2024-05-15 14:09:44 +10:00
psychedelicious
fc6b214470
tests(ui): set up vitest coverage
2024-05-15 14:09:44 +10:00
blessedcoolant
e22211dac0
fix: Fix Outpaint not applying the expanded mask correctly
...
In unscaled situations
2024-05-15 13:59:01 +10:00
psychedelicious
2a9cea6689
Update invokeai_version.py
...
Bump to v4.2.1
2024-05-14 07:37:02 +10:00
psychedelicious
93da75209c
feat(nodes): use new blur_if_nsfw
method
2024-05-14 07:23:38 +10:00
psychedelicious
9c819f0fd8
fix(nodes): fix nsfw checker model download
2024-05-14 07:23:38 +10:00
Васянатор
eef6fcf286
translationBot(ui): update translation (Russian)
...
Currently translated at 100.0% (1210 of 1210 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-05-14 07:15:12 +10:00
Riccardo Giovanetti
e375d9f787
translationBot(ui): update translation (Italian)
...
Currently translated at 98.5% (1192 of 1210 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.5% (1192 of 1210 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.5% (1192 of 1210 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.5% (1192 of 1210 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-05-14 07:15:12 +10:00
gallegonovato
ab18174774
translationBot(ui): update translation (Spanish)
...
Currently translated at 31.3% (379 of 1208 strings)
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/es/
Translation: InvokeAI/Web UI
2024-05-14 07:15:12 +10:00
Hosted Weblate
9265841384
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-05-14 07:15:12 +10:00
Riccardo Giovanetti
c5fd08125d
translationBot(ui): update translation (Italian)
...
Currently translated at 98.5% (1192 of 1210 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-05-14 07:15:12 +10:00
Васянатор
11d88dae7f
translationBot(ui): update translation (Russian)
...
Currently translated at 100.0% (1210 of 1210 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-05-14 07:15:12 +10:00
Hosted Weblate
3b495659b0
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-05-14 07:15:12 +10:00
Riccardo Giovanetti
15c9a3a4b6
translationBot(ui): update translation (Italian)
...
Currently translated at 98.3% (1189 of 1209 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.3% (1189 of 1209 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-05-14 07:15:12 +10:00
flower_elf
60e77e4ed6
translationBot(ui): update translation (Chinese (Simplified))
...
Currently translated at 77.8% (922 of 1185 strings)
Co-authored-by: flower_elf <miaoju2005@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/
Translation: InvokeAI/Web UI
2024-05-14 07:15:12 +10:00
Васянатор
fa832a8ac6
translationBot(ui): update translation (Russian)
...
Currently translated at 100.0% (1209 of 1209 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1209 of 1209 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1188 of 1188 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1185 of 1185 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-05-14 07:15:12 +10:00
Hosted Weblate
f7834d7d59
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-05-14 07:15:12 +10:00
Alexander Eichhorn
63d7461510
translationBot(ui): update translation (German)
...
Currently translated at 71.9% (839 of 1166 strings)
Co-authored-by: Alexander Eichhorn <pfannkuchensack@einfach-doof.de>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translation: InvokeAI/Web UI
2024-05-14 07:15:12 +10:00
Васянатор
1de704160e
translationBot(ui): update translation (Russian)
...
Currently translated at 97.3% (1154 of 1185 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1174 of 1174 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1173 of 1173 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1166 of 1166 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1165 of 1165 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1149 of 1149 strings)
translationBot(ui): update translation (Russian)
Currently translated at 100.0% (1147 of 1147 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-05-14 07:15:12 +10:00
Riccardo Giovanetti
b118a2565c
translationBot(ui): update translation (Italian)
...
Currently translated at 96.0% (1138 of 1185 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1156 of 1174 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.3% (1155 of 1174 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1129 of 1147 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-05-14 07:15:12 +10:00
psychedelicious
eb166baafe
fix(ui): invoke button shows loading while queueing
...
Make the Invoke button show a loading spinner while queueing.
The queue mutations need to be awaited else the `isLoading` state doesn't work as expected. I feel like I should understand why, but I don't...
2024-05-13 11:53:29 +10:00
psychedelicious
818d37f304
fix(api): retain cover image when converting model to diffusers
...
We need to retrieve and re-save the image, because a conversion to diffusers creates a new model record, with a new key.
See: https://old.reddit.com/r/StableDiffusion/comments/1cnx40d/invoke_42_control_layers_regional_guidance_w_text/l3bv152/
2024-05-13 08:46:07 +10:00
psychedelicious
9cdb801c1c
fix(api): add cover image to update model response
...
Fixes a bug where the image _appears_ to be reset when editing a model.
See: https://old.reddit.com/r/StableDiffusion/comments/1cnx40d/invoke_42_control_layers_regional_guidance_w_text/l3asdej/
2024-05-13 08:46:07 +10:00
blessedcoolant
6ec3dc0c0d
Merge branch 'main' into psyche/fix/ui/cl-listening-layers
2024-05-13 04:05:35 +05:30
blessedcoolant
93efeafe30
Merge branch 'main' into psyche/fix/ui/canvas-layer-translations
2024-05-13 04:02:23 +05:30
psychedelicious
124d49f35e
fix(ui): use translations for canvas layer select
2024-05-13 08:30:18 +10:00
blessedcoolant
52d8efa892
Merge branch 'main' into psyche/fix/ui/depth-anything-select
2024-05-13 04:00:07 +05:30
psychedelicious
4ea8416c68
fix(ui): use pluralization for invoke button tooltip
2024-05-13 08:29:31 +10:00
psychedelicious
8dd0bfb068
feat(ui): use new model type grouping for control adapters in control layers
2024-05-13 08:29:31 +10:00