Kent Keirsey
19e0f360e7
Fix vae fields
2023-08-27 15:05:10 -04:00
Kent Keirsey
ea40a7844a
add VAE
2023-08-27 14:53:57 -04:00
Kent Keirsey
0d2e194213
Fixed dict error
2023-08-27 14:21:56 -04:00
Kent Keirsey
c6d00387a7
Revert old latent changes, update seamless
2023-08-27 14:15:37 -04:00
Kent Keirsey
3de45af734
updates
2023-08-27 14:13:00 -04:00
Sergey Borisov
526c7e7737
Provide antialias argument as behaviour will be changed in future(deprecation warning)
2023-08-27 20:04:55 +03:00
Sergey Borisov
1811b54727
Provide metadata to image creation call
2023-08-27 20:03:53 +03:00
Kent Keirsey
95883c2efd
Add Initial (non-working) Seamless Implementation
2023-08-27 12:29:11 -04:00
mickr777
38851ae19a
Merge branch 'main' into nextprevcurrentimagenode
2023-08-27 19:50:39 +10:00
blessedcoolant
71c3955530
feat: Add Scale Before Processing To Canvas Txt2Img / Img2Img (w/ SDXL)
2023-08-27 08:26:23 +12:00
blessedcoolant
3f8d17d6b7
chore: Black linting
2023-08-27 06:17:08 +12:00
blessedcoolant
b18695df6f
fix: Update color of denoise mask socket
...
The previous red look too much like the error color.
2023-08-27 06:16:13 +12:00
blessedcoolant
249048aae7
fix: Reorder DenoiseMask socket fields
2023-08-27 06:14:35 +12:00
blessedcoolant
521da555d6
feat: Update color of Denoise Mask socket
2023-08-27 06:09:02 +12:00
blessedcoolant
c923d094c6
rename: Inpaint Mask to Denoise Mask
2023-08-27 05:50:13 +12:00
blessedcoolant
226721ce51
feat: Setup UnifiedCanvas to work with new InpaintMaskField
2023-08-27 03:50:29 +12:00
blessedcoolant
af3e316cee
chore: Regen schema
2023-08-27 03:12:03 +12:00
blessedcoolant
382a55afd3
fix: merge conflicts
2023-08-27 03:07:42 +12:00
blessedcoolant
e9633a3adb
Merge branch 'main' into fix/inpaint_gen
2023-08-27 02:54:19 +12:00
Kent Keirsey
9c13f1b0fd
Merge branch 'main' into feat/dev_reload
2023-08-25 17:06:58 -04:00
Lincoln Stein
0bf5fee1b2
correct solution to crash
2023-08-24 23:16:03 -04:00
Lincoln Stein
8114fc7bc2
UI tweak to column select
2023-08-24 23:16:03 -04:00
Lincoln Stein
f9d2bcce04
blackify
2023-08-24 23:16:03 -04:00
Lincoln Stein
84bf2a03e9
fix crash that occurs when no invokeai.yaml is present
2023-08-24 23:16:03 -04:00
Kevin Turner
368ff17ed4
Merge branch 'main' into feat/dev_reload
2023-08-24 15:21:50 -07:00
Mary Hipp
d52a096607
enable preselected image actions
2023-08-24 13:29:53 -04:00
Mary Hipp
44b6adfb9f
cleanup
2023-08-25 00:09:16 +10:00
Mary Hipp
466a819f06
render created_by in UI if its present
2023-08-25 00:09:16 +10:00
maryhipp
e6fd1c3d1f
add optional field to type
2023-08-25 00:09:16 +10:00
psychedelicious
7caccb11fa
fix(backend): fix workflow not saving to image
2023-08-25 00:01:29 +10:00
psychedelicious
e22c797fa3
fix(db): fix typing on ImageRecordChanges
2023-08-24 22:13:05 +10:00
psychedelicious
0c5736d9c9
feat(ui): cache image metadata for 24 hours
2023-08-24 22:12:13 +10:00
psychedelicious
2d8f7d425c
feat(nodes): retain image metadata on save
2023-08-24 22:10:24 +10:00
psychedelicious
7d1942e9f0
feat: workflow saving and loading
2023-08-24 21:42:32 +10:00
mickr777
5d8cd62e44
Update CurrentImageNode.tsx
2023-08-24 19:20:35 +10:00
mickr777
b6dc5c0fee
Run Prettier
2023-08-24 18:45:38 +10:00
mickr777
c1b8e4b501
Add Next/Prev Buttons CurrentImageNode.tsx
2023-08-24 18:31:27 +10:00
Millun Atluri
65feb92286
Merge branch 'main' into feat_compel_and
2023-08-24 17:38:35 +10:00
psychedelicious
7f6fdf5d39
feat(ui): hide lama infill
2023-08-23 23:05:29 -04:00
psychedelicious
40e6dd8464
feat(ui): use seed + 1 for second inpaint/outpaint pass
2023-08-23 23:05:29 -04:00
psychedelicious
79df46bad2
chore: flake8
2023-08-23 23:05:29 -04:00
psychedelicious
2f11936db0
fix(ui): use seed + 1 for inpaint/outpaint second pass
2023-08-23 23:05:29 -04:00
blessedcoolant
2ba52b8921
fix: File Tile Infill being broken
2023-08-23 23:05:29 -04:00
blessedcoolant
fa3fcd7820
cleanup: Lama
2023-08-23 23:05:29 -04:00
blessedcoolant
f45ea1145d
fix: LoRA's not working with new canvas refine
2023-08-23 23:05:29 -04:00
blessedcoolant
5eb6148336
chore: black fix
2023-08-23 23:05:29 -04:00
blessedcoolant
49892faee4
experimental: LaMa Infill
2023-08-23 23:05:29 -04:00
blessedcoolant
7bb876a79b
feat: Add Refiner Pass to Canvas Inpainting
2023-08-23 23:05:29 -04:00
blessedcoolant
f89be8c685
cleanup: Some minor cleanup
2023-08-23 23:05:29 -04:00
blessedcoolant
7e4009a58e
chore: Rename canvas refine elements to have more apt names
2023-08-23 23:05:29 -04:00
blessedcoolant
5141e82f88
fix: Remove paste back from inpainting too
2023-08-23 23:05:29 -04:00
blessedcoolant
8277bfab5e
feat: Add Refiner Pass to SDXL Outpainting
...
Also fix Scale Before Processing
2023-08-23 23:05:29 -04:00
blessedcoolant
0af8a0e84b
feat: Replace Seam Painting with Refine Pass for Outpainting
2023-08-23 23:05:29 -04:00
blessedcoolant
9bafe4a94f
fix: Paste Back Not Respecting Inpainted Mask
2023-08-23 23:05:29 -04:00
Kevin Turner
54e844f7da
Merge branch 'main' into feat/dev_reload
2023-08-23 09:47:24 -07:00
psychedelicious
111322b015
fix(ui): fix staging area shadow
...
It was too strong
2023-08-23 23:06:42 +10:00
psychedelicious
859c155e7f
fix(ui): fix IAICollapse
styling
2023-08-23 23:06:42 +10:00
psychedelicious
955fef35aa
chore(ui): remove cruft related to old canvas scaling method
2023-08-23 23:06:42 +10:00
blessedcoolant
f3b293b5cc
feat: Add Blank Image Node
2023-08-23 23:06:42 +10:00
psychedelicious
6efa953172
fix(ui): fix canvas scaling
2023-08-23 23:06:42 +10:00
psychedelicious
06ac16a77d
feat(ui): style minimap
2023-08-23 23:06:42 +10:00
psychedelicious
05c939d41e
feat(ui): remove canvas beta layout
2023-08-23 23:06:42 +10:00
psychedelicious
cfee02b753
feat(ui): align invoke buttons
2023-08-23 23:06:42 +10:00
blessedcoolant
4f088252db
fix: Restyle the WorkflowPanel
2023-08-23 23:06:42 +10:00
blessedcoolant
ca3e826a14
feat: Make the in progress dark mode colors golden
2023-08-23 23:06:42 +10:00
psychedelicious
0cb886b915
feat(ui): node buttons and shadow
2023-08-23 23:06:42 +10:00
blessedcoolant
2ec8fd3dc7
feat: Make the active processing node light up
2023-08-23 23:06:42 +10:00
psychedelicious
90abd0fe49
fix(ui): position floating buttons
2023-08-23 23:06:42 +10:00
psychedelicious
3651cf7ee2
wip buttons
2023-08-23 23:06:42 +10:00
blessedcoolant
8eca3bbbcd
chore: Remove Pinned Hotkeys from Hotkeys Modal
2023-08-23 23:06:42 +10:00
psychedelicious
73318c2847
feat(ui): remove floating panels, move all to resizable panels
...
There is a console error we can ignore when toggling gallery panel on canvas - this will be resolved in the next release of the resizable library
2023-08-23 23:06:42 +10:00
psychedelicious
6d10e40c9b
feat(ui): add selection mode toggle
2023-08-23 23:06:42 +10:00
blessedcoolant
5cf9b75d77
fix: Remove / as hotkey for add node and add tooltip
2023-08-23 23:06:42 +10:00
blessedcoolant
d4463674cf
fix: Move add node hotkey to the right component
2023-08-23 23:06:42 +10:00
psychedelicious
ce7172d78c
feat(ui): add workflow saving/loading (wip)
...
Adds loading workflows with exhaustive validation via `zod`.
There is a load button but no dedicated save/load UI yet. Also need to add versioning to the workflow format itself.
2023-08-23 23:06:42 +10:00
psychedelicious
38b2dedc1d
feat(ui): use new ui_order
to sort fields; connection-only fields in grid
2023-08-23 23:06:42 +10:00
psychedelicious
cd73085eb9
feat(nodes): add ui_order
node field attribute
...
used by UI to sort fields in workflow editor
2023-08-23 23:06:42 +10:00
psychedelicious
2497aa5cd8
feat(ui): improve node schema parsing and add outputType
to templates
2023-08-23 23:06:42 +10:00
psychedelicious
089ada8cd1
chore(ui): typegen
2023-08-23 23:06:42 +10:00
psychedelicious
35d14fc0f9
fix(ui): simplify typegen script
...
i had this committed earlier but lost it somehow
2023-08-23 23:06:42 +10:00
psychedelicious
b79bca2c14
build(ui): fix up lint scripts (way faster now)
2023-08-23 23:06:42 +10:00
psychedelicious
5fc60d0539
fix(nodes): id
field is not an InputField
2023-08-23 23:06:42 +10:00
psychedelicious
7b97754271
chore(ui): update all packages
...
- only breaking change was in `openapi-fetch`, easy fix
- also looks like prettier/eslint is a bit more comprehensive? caught a couple extra things
2023-08-23 23:06:42 +10:00
Kevin Turner
98dcc8d8b3
Merge remote-tracking branch 'origin/main' into feat/dev_reload
2023-08-22 18:18:16 -07:00
Lincoln Stein
3f7ac556c6
Merge branch 'main' into refactor/rename-performance-options
2023-08-21 22:29:34 -04:00
Kevin Turner
56c052a747
Merge branch 'main' into feat/dev_reload
2023-08-21 18:22:31 -07:00
psychedelicious
be6ba57775
chore: flake8
2023-08-22 10:14:46 +10:00
psychedelicious
4da861e980
chore: clean up .gitignore
2023-08-22 10:02:03 +10:00
Lincoln Stein
9d7dfeb857
Merge branch 'main' into refactor/rename-performance-options
2023-08-21 19:47:55 -04:00
Kevin Turner
76750b0121
doc(development): add section on hot reloading with --dev_reload
2023-08-21 16:45:39 -07:00
Kevin Turner
88963dbe6e
Merge remote-tracking branch 'origin/main' into feat/dev_reload
...
# Conflicts:
# invokeai/app/api_app.py
# invokeai/app/services/config.py
2023-08-21 09:04:31 -07:00
blessedcoolant
7b2079cf83
feat: Add hotkey for Add Nodes (Shift+A)
...
Standard with other tools like Blender
2023-08-22 03:31:29 +12:00
psychedelicious
535eb1db16
Merge branch 'main' into fix/stats/handle-exceptions
2023-08-21 19:19:32 +10:00
psychedelicious
01738deb23
feat(ui): add eslint rules
...
- `curly` requires conditionals to use curly braces
- `react/jsx-curly-brace-presence` requires string props to *not* have curly braces
2023-08-21 19:17:36 +10:00
psychedelicious
fbff22c94b
feat(ui): memoize all components
2023-08-21 19:17:36 +10:00
psychedelicious
5c305b1eeb
feat(ui): add app error boundary
...
Should catch all app crashes
2023-08-21 19:17:36 +10:00
psychedelicious
990b6b5f6a
feat(ui): useful tooltips on invoke button
2023-08-21 19:17:36 +10:00
psychedelicious
2dfcba8654
fix(ui): fix graphs using old field names
2023-08-21 19:17:36 +10:00
psychedelicious
d95773f50f
Revert "feat(nodes): make fields that accept connection input optional in OpenAPI schema"
...
This reverts commit 7325cbdd250153f347e3782265dd42783f7f1d00.
2023-08-21 19:17:36 +10:00
psychedelicious
6d111aac90
fix(ui): fix node opacity slider hitbox
2023-08-21 19:17:36 +10:00
psychedelicious
f9fc89b3c5
feat(ui): nodes scheduler type default value -> "euler"
2023-08-21 19:17:36 +10:00
psychedelicious
ab76d54c10
feat(ui): update node schema parsing
...
simplified logic thanks to backend changes
2023-08-21 19:17:36 +10:00
psychedelicious
56245a7406
chore(ui): regen types
2023-08-21 19:17:36 +10:00
psychedelicious
bf04e913c2
feat(nodes): make primitive outputs not optional, fix primitive invocation defaults
2023-08-21 19:17:36 +10:00
psychedelicious
cdc49456e8
feat(api): add additional class
attribute to invocations and outputs in OpenAPI schema
...
It is `"invocation"` for invocations and `"output"` for outputs. Clients may use this to confidently and positively identify if an OpenAPI schema object is an invocation or output, instead of using a potentially fragile heuristic.
2023-08-21 19:17:36 +10:00
psychedelicious
37dc2d9d4d
feat(nodes): update vae node tags
2023-08-21 19:17:36 +10:00
psychedelicious
6e1ddb671e
feat(nodes): make fields that accept connection input optional in OpenAPI schema
...
Doing this via `BaseInvocation`'s `Config.schema_extra()` means all clients get an accurate OpenAPI schema.
Shifts the responsibility of correct types to the backend, where previously it was on the client.
2023-08-21 19:17:36 +10:00
psychedelicious
496a2db15c
feat(nodes): make id
, type
required in BaseInvocation, BaseInvocationOutput
...
Doing this via these classes' `Config.schema_extra()` method makes it unintrusive and clients will get the correct types for these properties.
Shifts the responsibility of correct types to the backend, where previously it was on the client.
2023-08-21 19:17:36 +10:00
psychedelicious
5292eda0e4
feat(nodes): remove "Loader" from model nodes
...
They are not loaders, they are selectors - remove this to reduce confusion.
2023-08-21 19:17:36 +10:00
psychedelicious
4ac41bc4b1
feat(ui): adding node selects new node exclusively
2023-08-21 19:17:36 +10:00
psychedelicious
4be4fc6731
feat(ui): rework add node select
...
- `space` and `/` open floating add node select
- improved filter logic (partial word matches)
2023-08-21 19:17:36 +10:00
psychedelicious
a9fdc77edd
feat(ui): rename node editor to workflow editor
2023-08-21 19:17:36 +10:00
psychedelicious
385765faec
fix(ui): fix missing tags on template parse
2023-08-21 19:17:36 +10:00
psychedelicious
adb05cde5b
feat(ui): simple partial search for nodes
2023-08-21 19:17:36 +10:00
psychedelicious
211e8203f8
feat(ui): organise nodes files
...
- also remove old `.gitignore` of `inputs/` which wasn't used and was ignoring a frontend folder
2023-08-21 19:17:36 +10:00
psychedelicious
0b9ae74192
fix(stats): RuntimeError: dictionary changed size during iteration
2023-08-21 19:17:36 +10:00
psychedelicious
165c57c001
feat(ui): add select all to workflow editor
2023-08-21 19:17:36 +10:00
psychedelicious
2514af79a0
feat(ui): crude node outputs display
...
Resets on invoke. Nothing fancy for the UI yet, just simple text (for numbers and strings) or image. For other output types, the output in JSON.
2023-08-21 19:17:36 +10:00
psychedelicious
f952f8f685
feat(ui): add typegen customisation for invocation outputs
...
The `type` property is required on all of them, but because this is defined in pydantic as a Literal, it is not required in the OpenAPI schema. Easier to fix this by changing the generated types than fiddling around with pydantic.
2023-08-21 19:17:36 +10:00
psychedelicious
484b572023
feat(nodes): primitives have value
instead of a
as field names
2023-08-21 19:17:36 +10:00
psychedelicious
cd9baf8092
fix(stats): fix InvocationStatsService
types
...
- move docstrings to ABC
- `start_time: int` -> `start_time: float`
- remove class attribute assignments in `StatsContext`
- add `update_mem_stats()` to ABC
- add class attributes to ABC, because they are referenced in instances of the class. if they should not be on the ABC, then maybe there needs to be some restructuring
2023-08-21 19:17:36 +10:00
psychedelicious
81385d7d35
fix(stats): fix fail case when previous graph is invalid
...
When retrieving a graph, it is parsed through pydantic. It is possible that this graph is invalid, and an error is thrown.
Handle this by deleting the failed graph from the stats if this occurs.
2023-08-21 19:17:36 +10:00
psychedelicious
519bcb38c1
feat(ui): node delete, copy, paste
2023-08-21 19:17:36 +10:00
psychedelicious
567d46b646
feat(ui): delete key works on workflow editor
2023-08-21 19:17:36 +10:00
psychedelicious
030802295b
feat(ui): reset only specific nodes/cnet that use images
...
Previously if an image was used in nodes and you deleted it, it would reset all of node editor. Same for controlnet.
Now it only resets the specific nodes or controlnets that used that image.
2023-08-21 19:17:36 +10:00
psychedelicious
a495c8c156
feat(ui): misc cleanups
2023-08-21 19:17:36 +10:00
psychedelicious
ae6db67068
feat(ui): add width to mantine selects
2023-08-21 19:17:36 +10:00
psychedelicious
3d84e7756a
fix(nodes): fix field names
2023-08-21 19:17:36 +10:00
psychedelicious
98431b3de4
feat: add Scheduler
as field type
...
- update node schemas
- add `UIType.Scheduler`
- add field type to schema parser, input components
2023-08-21 19:17:36 +10:00
psychedelicious
210a3f9aa7
feat(ui): make mantine single selects *exactly* the same size as chakra ones
2023-08-21 19:17:36 +10:00
psychedelicious
9332ce639c
fix(ui): fix node mouse interactions
...
Add "nodrag", "nowheel" and "nopan" class names in interactable elements, as neeeded. This fixes the mouse interactions and also makes the node draggable from anywhere without needing shift.
Also fixes ctrl/cmd multi-select to support deselecting.
2023-08-21 19:17:36 +10:00
psychedelicious
84cf8bdc08
feat(ui): field context menu, add/remove from linear ui
2023-08-21 19:17:36 +10:00
psychedelicious
64a6aa0293
fix(ui): move BoardContextMenu
to use IAIContextMenu
2023-08-21 19:17:36 +10:00
psychedelicious
5ae14bffba
fix(ui): clear exposedFields when resetting graph
2023-08-21 19:17:36 +10:00
psychedelicious
0909812c84
chore: black
2023-08-21 19:17:15 +10:00
psychedelicious
66c0aea9e7
fix(nodes): removed duplicate node
2023-08-21 19:17:15 +10:00
Damian Stewart
2bcded78e1
add BlendInvocation
2023-08-21 19:17:15 +10:00
Sergey Borisov
beb3e5aeb7
Report correctly to compel if we want get pooled in future(affects blend computation)
2023-08-21 19:05:40 +10:00
Lincoln Stein
5b6069b916
blackify (again)
2023-08-20 16:06:01 -04:00
Lincoln Stein
766cb887e4
resolve more flake8 problems
2023-08-20 15:57:15 -04:00
Lincoln Stein
ef317be1f9
blackify (again)
2023-08-20 15:46:12 -04:00
Lincoln Stein
027b84d1aa
add noqa comments to util/__init__
2023-08-20 15:43:17 -04:00
Lincoln Stein
11b670755d
fix flake8 error
2023-08-20 15:39:45 -04:00
Lincoln Stein
a536719fc3
blackify
2023-08-20 15:27:51 -04:00
Lincoln Stein
8e6d88e98c
resolve merge conflicts
2023-08-20 15:26:52 -04:00
Kevin Turner
2fef478497
fix(convert_ckpt): Removed is_safetensors_available
as safetensors is now a required dependency.
2023-08-18 11:05:59 -07:00
Kevin Turner
6df6abf6f6
Merge branch 'main' into dep/diffusers020
2023-08-18 11:02:52 -07:00
psychedelicious
1b70bd1380
fix(stats): fix InvocationStatsService
types
...
- move docstrings to ABC
- `start_time: int` -> `start_time: float`
- remove class attribute assignments in `StatsContext`
- add `update_mem_stats()` to ABC
- add class attributes to ABC, because they are referenced in instances of the class. if they should not be on the ABC, then maybe there needs to be some restructuring
2023-08-18 21:35:03 +10:00
psychedelicious
d1d2d5a47d
fix(stats): fix fail case when previous graph is invalid
...
When retrieving a graph, it is parsed through pydantic. It is possible that this graph is invalid, and an error is thrown.
Handle this by deleting the failed graph from the stats if this occurs.
2023-08-18 21:34:55 +10:00
Millun Atluri
3798c8bdb0
Merge branch 'main' into feat_compel_and
2023-08-18 17:04:03 +10:00
psychedelicious
c49851e027
chore: minor cleanup after merge & flake8
2023-08-18 16:05:39 +10:00
psychedelicious
3c43594c26
Merge branch 'main' into fix/inpaint_gen
2023-08-18 15:57:48 +10:00
Martin Kristiansen
ce465acf04
Fixed OnnxRuntimeModel import
2023-08-18 15:52:04 +10:00
Martin Kristiansen
33ee418d8c
Fixing class level import
2023-08-18 15:52:04 +10:00
Martin Kristiansen
537ae2f901
Resolving merge conflicts for flake8
2023-08-18 15:52:04 +10:00
psychedelicious
f6db9da06c
chore(ui): rename file to not cause madge to fail
2023-08-18 13:20:29 +10:00
psychedelicious
a17dbd7df6
feat(ui): improve error toast messages
2023-08-18 13:20:29 +10:00
Kevin Turner
98a4cc20a9
Merge branch 'main' into dep/diffusers020
2023-08-17 20:04:11 -07:00
Lincoln Stein
e2bdcc0271
Merge branch 'main' into refactor/rename-performance-options
2023-08-17 22:36:08 -04:00
Lincoln Stein
ffd0f5924b
pass lazy_offload to model cache
2023-08-17 22:35:16 -04:00
Kevin Turner
654dcd453f
feat(dev_reload): use jurigged to hot reload changes to Python source
2023-08-17 19:02:44 -07:00
Sergey Borisov
cfd827cfad
Added node for creating mask inpaint
2023-08-18 04:07:40 +03:00
Lincoln Stein
4ebe839d54
Merge branch 'main' into bugfix/enable-links-in-autoimport
2023-08-17 18:55:45 -04:00
Lincoln Stein
bc16b50302
add followlinks to all os.walk() calls
2023-08-17 18:54:18 -04:00
Kevin Turner
4267132926
dep(diffusers): upgrade diffusers to 0.20
...
Removed `is_safetensors_available` as safetensors is now a required dependency of diffusers.
2023-08-17 13:42:29 -07:00
Lincoln Stein
e9a294f733
Merge branch 'main' into fix/inpaint_gen
2023-08-17 16:13:33 -04:00
Lincoln Stein
b69f26c85c
add support for "balanced" attention slice size
2023-08-17 16:11:09 -04:00
Lincoln Stein
1102c12084
Merge branch 'main' into fix/sdxl_controlnet
2023-08-17 15:40:51 -04:00
Lincoln Stein
b5cee7d20c
blackify chore
2023-08-17 15:40:15 -04:00
Lincoln Stein
23b4e1cea0
Merge branch 'main' into refactor/rename-performance-options
2023-08-17 14:43:00 -04:00
Lincoln Stein
635a814dfb
fix up documentation
2023-08-17 14:32:05 -04:00
Lincoln Stein
c19835c2d0
wired attention configuration into backend
2023-08-17 14:20:45 -04:00
Lincoln Stein
ed38eaa10c
refactor InvokeAIAppConfig
2023-08-17 13:47:26 -04:00
blessedcoolant
b213335316
feat: Add InpaintMask Field type
2023-08-18 04:54:23 +12:00
Sergey Borisov
ff5c725586
Update mask field type
2023-08-17 19:35:03 +03:00
Sergey Borisov
bf0dfcac2f
Add inapint mask field class
2023-08-17 19:19:07 +03:00
Lincoln Stein
842eb4bb0a
Merge branch 'main' into bugfix/enable-links-in-autoimport
2023-08-17 07:20:26 -04:00
blessedcoolant
8923201fdf
Merge branch 'main' into seam-painting
2023-08-17 21:21:44 +12:00
mickr777
226409107b
Fix for Image Deletion issue
2023-08-17 17:18:11 +10:00
Lincoln Stein
503e3bca54
revise config but need to migrate old format to new
2023-08-16 23:30:00 -04:00
Lincoln Stein
daf75a1361
blackify
2023-08-16 21:47:29 -04:00
Lincoln Stein
c39f8b478b
fix misplaced ram_used and ram_changed attributes
2023-08-16 21:39:18 -04:00
Lincoln Stein
2ca8611723
add +/- sign in front of RAM delta
2023-08-16 15:53:01 -04:00
Sergey Borisov
5aa7bfebd4
Fix masked generation with inpaint models
2023-08-16 20:28:33 +03:00
Lincoln Stein
b12cf315a8
Merge branch 'main' into feat/collect-more-stats
2023-08-16 09:19:33 -04:00
blessedcoolant
975586bb40
Merge branch 'main' into seam-painting
2023-08-17 01:05:42 +12:00
psychedelicious
a7ba142ad9
feat(ui): set min zoom on nodes to 0.1
2023-08-16 23:04:36 +10:00
psychedelicious
0d36bab6cc
fix(ui): do not rerender top panel buttons
2023-08-16 23:04:36 +10:00
psychedelicious
c2e7f62701
fix(ui): do not rerender edges
2023-08-16 23:04:36 +10:00
psychedelicious
1f194e3688
chore(ui): lint
2023-08-16 23:04:36 +10:00
psychedelicious
f9b8b5cff2
fix(ui): improve node rendering performance
...
Previously the editor was using prop-drilling node data and templates to get values deep into nodes. This ended up causing very noticeable performance degradation. For example, any text entry fields were super laggy.
Refactor the whole thing to use memoized selectors via hooks. The hooks are mostly very narrow, returning only the data needed.
Data objects are never passed down, only node id and field name - sometimes the field kind ('input' or 'output').
The end result is a *much* smoother node editor with very minimal rerenders.
2023-08-16 23:04:36 +10:00
psychedelicious
f7c92e1eff
fix(ui): disable awkward resize animation for <Flow />
2023-08-16 23:04:36 +10:00
psychedelicious
70b8c3dfea
fix(ui): fix context menu on workflow editor
...
There is a tricky mouse event interaction between chakra's `useOutsideClick()` hook (used by chakra `<Menu />`) and reactflow. The hook doesn't work when you click the main reactflow area.
To get around this, I've used a dirty hack, copy-pasting the simple context menu component we use, and extending it slightly to respond to a global `contextMenusClosed` redux action.
2023-08-16 23:04:36 +10:00
psychedelicious
43b30355e4
feat: make primitive node titles consistent
2023-08-16 23:04:36 +10:00
Lincoln Stein
a93bd01353
fix bad merge
2023-08-16 08:53:07 -04:00
Lincoln Stein
bb1b8ceaa8
Update invokeai/backend/model_management/model_cache.py
...
Co-authored-by: StAlKeR7779 <stalkek7779@yandex.ru>
2023-08-16 08:48:44 -04:00
Lincoln Stein
be8edaf3fd
Merge branch 'main' into feat/collect-more-stats
2023-08-16 08:48:14 -04:00
blessedcoolant
9cbaefaa81
feat: Add Seam Painting to SDXL
2023-08-16 19:46:48 +12:00
blessedcoolant
cc7c6e5d41
feat: Add Seam Painting with Scale Before
2023-08-16 19:35:03 +12:00
blessedcoolant
f2ee8a3da8
wip: Basic Seam Painting (only normal models) (no scale)
2023-08-16 17:26:23 +12:00
blessedcoolant
e98d7a52d4
feat: Add Seam Painting Options
2023-08-16 17:25:55 +12:00
Lincoln Stein
21e1c0a5f0
tweaked formatting
2023-08-15 22:25:30 -04:00
psychedelicious
611e241ca7
chore(ui): regen types
2023-08-16 12:07:34 +10:00
psychedelicious
6df4af2c79
chore: lint
2023-08-16 12:07:34 +10:00
psychedelicious
0f8606914e
feat(ui): remove shouldShowDeleteButton
...
- remove this state entirely
- use `state.hotkeys.shift` directly to hide and show the icon on gallery
- also formatting
2023-08-16 12:07:34 +10:00
psychedelicious
5b1099193d
fix(ui): restore reset button in node image component
2023-08-16 12:07:34 +10:00
psychedelicious
230131646f
feat(ui): use imageDTOs
instead of images
in starring queries
2023-08-16 12:07:34 +10:00
psychedelicious
8b1ec2685f
chore: black
2023-08-16 12:07:34 +10:00
psychedelicious
60c2c877d7
fix: add response model for star/unstar routes
...
- also implement pessimistic updates for starring, only changing the images that were successfully updated by backend
- some autoformat changes crept in
2023-08-16 12:07:34 +10:00
psychedelicious
315a056686
feat(ui): show Star All
if selection is a mix of starred and unstarred
2023-08-16 12:07:34 +10:00
maryhipp
80b0c5eab4
change from pin to star
2023-08-16 12:07:34 +10:00
Mary Hipp
08dc265e09
add listener to update selection list with change in star status
2023-08-16 12:07:34 +10:00
Mary Hipp
029a95550e
rename pin to star, add multiselect and remove single image update api
2023-08-16 12:07:34 +10:00
maryhipp
ee6a26a97d
update list images endpoint to sort by pinnedness and then created_at
2023-08-16 12:07:34 +10:00
Mary Hipp
a512fdc0f6
update IAIDndImage to use children for icons, add UI for shift+delete to delete images from gallery
2023-08-16 12:07:34 +10:00
Mary Hipp
767a612746
(ui) WIP trying to get all cache scenarios working smoothly, fix assets
2023-08-16 12:07:34 +10:00
Mary Hipp
0a71d6baa1
(ui) update cache to render pinned images alongside unpinned correctly, as well as changes in pinnedness
2023-08-16 12:07:34 +10:00
Mary Hipp
37be827e17
(ui) hook up toggle pin mutation with context menu for single image
2023-08-16 12:07:34 +10:00
maryhipp
04a9894e77
(api) add ability to pin and unpin images
2023-08-16 12:07:34 +10:00
Lincoln Stein
f9958de6be
added memory used to load models
2023-08-15 21:56:19 -04:00
Lincoln Stein
ec10aca91e
report RAM and RAM cache statistics
2023-08-15 21:00:30 -04:00
psychedelicious
2b7dd3e236
feat: add missing primitive collections
...
- add missing primitive collections
- remove `Seed` and `LoRAField` (they don't exist)
2023-08-16 09:54:38 +10:00
psychedelicious
fa884134d9
feat: rename ui_type_hint
to ui_type
...
Just a bit more succinct while not losing any clarity.
2023-08-16 09:54:38 +10:00
blessedcoolant
18006cab9a
chore: Regen frontend types
2023-08-16 09:54:38 +10:00
psychedelicious
75ea716c13
feat(ui): hide node footer if there is nothing to display
2023-08-16 09:54:38 +10:00
blessedcoolant
d5f7027597
feat: Save Mask option for Canvas
2023-08-16 09:54:38 +10:00
blessedcoolant
b1ad777f5a
fix: Outpainting being broken due to field name change
2023-08-16 09:54:38 +10:00
psychedelicious
f65c8092cb
fix(ui): fix issue with node editor state not restoring correctly on mount
...
If `reactflow` initializes before the node templates are parsed, edges may not be rendered and the viewport may get reset.
- Add `isReady` state to `NodesState`. This is false when we are loading or parsing node templates and true when that is finished.
- Conditionally render `reactflow` based on `isReady`.
- Add `viewport` to `NodesState` & handlers to keep it synced. This allows `reactflow` to mount and unmount freely and not lose viewport.
2023-08-16 09:54:38 +10:00
psychedelicious
94bfef3543
feat(ui): add UI component for unknown node types
2023-08-16 09:54:38 +10:00
psychedelicious
c48fd9c083
feat(nodes): refactor parameter/primitive nodes
...
Refine concept of "parameter" nodes to "primitives":
- integer
- float
- string
- boolean
- image
- latents
- conditioning
- color
Each primitive has:
- A field definition, if it is not already python primitive value. The field is how this primitive value is passed between nodes. Collections are lists of the field in node definitions. ex: `ImageField` & `list[ImageField]`
- A single output class. ex: `ImageOutput`
- A collection output class. ex: `ImageCollectionOutput`
- A node, which functions to load or pass on the primitive value. ex: `ImageInvocation` (in this case, `ImageInvocation` replaces `LoadImage`)
Plus a number of related changes:
- Reorganize these into `primitives.py`
- Update all nodes and logic to use primitives
- Consolidate "prompt" outputs into "string" & "mask" into "image" (there's no reason for these to be different, the function identically)
- Update default graphs & tests
- Regen frontend types & minor frontend tidy related to changes
2023-08-16 09:54:38 +10:00
psychedelicious
f49fc7fb55
feat: node editor
...
squashed rebase on main after backendd refactor
2023-08-16 09:54:38 +10:00
Lincoln Stein
a4b029d03c
write RAM usage and change after each generation
2023-08-15 18:21:31 -04:00
Lincoln Stein
d6c9bf5b38
added sdxl controlnet detection
2023-08-15 12:51:15 -04:00
Sergey Borisov
4f82273fc4
Update 'monkeypatched' controlnet class
2023-08-15 11:07:43 -04:00
Lincoln Stein
b2934be6ba
use as_posix() instead of str()
2023-08-14 22:59:26 -04:00
Lincoln Stein
eab67b6a01
fixed actual bug
2023-08-14 22:59:26 -04:00
Lincoln Stein
02fa116690
rebuild frontend for windows testing
2023-08-14 22:59:26 -04:00
Lincoln Stein
5190a4c282
further removal of Paths
2023-08-14 22:59:26 -04:00
Lincoln Stein
141d438517
prevent windows from crashing with a WindowsPath serialization error on merge
2023-08-14 22:59:26 -04:00
psychedelicious
549d2e0485
chore: remove old web server code and python deps
2023-08-15 10:54:57 +10:00
blessedcoolant
d3d8b71c67
feat: Change refinerStart default to 0.8
...
This is the recommended value according to the paper.
2023-08-15 10:13:02 +10:00
Lincoln Stein
b524bf3c04
allow symbolic links to be followed during autoimport
2023-08-14 07:37:47 -04:00
psychedelicious
9d3cd85bdd
chore: black
2023-08-14 13:02:33 +10:00
psychedelicious
46a8eed33e
Merge branch 'main' into feat/refactor_generation_backend
2023-08-14 13:01:28 +10:00
psychedelicious
9fee3f7b66
Revert "Add magic to debug"
...
This reverts commit 511da59793
.
2023-08-14 12:58:08 +10:00
psychedelicious
9217a217d4
fix(ui): refiner uses steps directly, no math
2023-08-14 12:56:37 +10:00
Sergey Borisov
511da59793
Add magic to debug
2023-08-14 05:14:24 +03:00
Sergey Borisov
409e5d01ba
Fix cpu_only schedulers(unipc)
2023-08-14 05:14:05 +03:00
blessedcoolant
58d5c61c79
fix: SDXL Inpaint & Outpaint using regular Img2Img strength
2023-08-14 12:55:18 +12:00
Sergey Borisov
3d8da67be3
Remove callback-generator wrapper
2023-08-14 03:35:15 +03:00