Commit Graph

3665 Commits

Author SHA1 Message Date
blessedcoolant
b5f42bedce feat: Add Coherence Mode 2023-09-03 00:34:37 +12:00
blessedcoolant
fded8bee39 chore: Regen schema 2023-09-02 23:13:29 +12:00
blessedcoolant
ec09e21fc2 Merge branch 'main' into lama-infill 2023-09-02 23:02:38 +12:00
Kevin Turner
7df67d077a
Merge branch 'main' into feat/taesd 2023-09-01 22:18:40 -07:00
psychedelicious
625b08cff7 chore: typegen 2023-09-02 13:03:48 +10:00
psychedelicious
89b724d222 fix(ui): fix metadata parsing of older images
The metadata parsing was overly strict, not taking into account the shape of old metadata. Relaxed the schemas.

Also fixed a misspelling.
2023-09-02 13:03:48 +10:00
Lincoln Stein
6f6d920686
[Feature] Support the XL inpainting model (#4431)
* add StableDiffusionXLInpaintPipeline to probe list

* add StableDiffusionXLInpaintPipeline to probe list

* Blackified (?)

---------

Authored-by: Lincoln Stein <lstein@gmail.com>
Mucked about with to get it merged by: Kent Keirsey <31807370+hipsterusername@users.noreply.github.com>
2023-09-01 22:58:14 -04:00
psychedelicious
699dfa222e fix(ui): node UI elements do not select node on click
Add a click handler for node wrapper component that exclusively selects that node, IF no other modifier keys are held.

Technically I believe this means we are doubling up on the selection logic, as reactflow handles this internally also. But this is by far the most reliable way to fix the UX.
2023-09-02 12:11:07 +10:00
blessedcoolant
2c754cfce7
Merge branch 'main' into fix/lora_node_inputs_definition 2023-09-02 13:38:05 +12:00
Sergey Borisov
8fa2302956 Fix name 2023-09-02 04:37:11 +03:00
Mary Hipp
ec2b44bfbd update hooks to pass in DTO 2023-09-02 11:36:46 +10:00
Mary Hipp
f8bb1f7a3e update getImageMetadataFromFile query to allow dyanmic URL based on image without using baseUrl for rest of endpoints 2023-09-02 11:36:46 +10:00
Sergey Borisov
9c3405e0c0 Fix sdxl lora loader input definitions, fix namings 2023-09-02 04:34:17 +03:00
psychedelicious
4b78deba92
Merge branch 'main' into bugfix/set-vram-on-macs 2023-09-02 11:33:20 +10:00
psychedelicious
d099924ae9
Merge branch 'main' into bugfix/run-on-3.9 2023-09-02 11:33:09 +10:00
psychedelicious
b761807219
Merge branch 'main' into feat/ip-adapter 2023-09-02 11:31:08 +10:00
psychedelicious
45259894e0
Merge branch 'main' into chore/clean-up-unused-files 2023-09-02 11:30:41 +10:00
psychedelicious
0a7d06f8c6 fix(ui): fix circular imports
The logic that introduced a circular import was actually extraneous. I have entirely removed it.
2023-09-02 11:26:48 +10:00
psychedelicious
3288d9b31a
Merge branch 'main' into chore/clean-up-unused-files 2023-09-02 11:13:15 +10:00
psychedelicious
9cb04f6f80 chore: remove unused files 2023-09-02 11:12:19 +10:00
blessedcoolant
7269ed2a0a Merge branch 'main' into lama-infill 2023-09-02 11:21:31 +12:00
blessedcoolant
46bc6968b8 fix: ControlImage Dimension retrieval not working as intended 2023-09-02 11:11:34 +12:00
blessedcoolant
48484e9fc8 Merge branch 'main' into lama-infill 2023-09-02 11:08:31 +12:00
blessedcoolant
a12fbc7406 chore: black fix 2023-09-02 10:51:53 +12:00
blessedcoolant
ba2048dbc6 fix: SDXL Lora Loader not showing weight input 2023-09-02 10:47:55 +12:00
blessedcoolant
497f66e682 feat: Add Patchmatch Downscale control to UI + refine the ui there 2023-09-02 10:24:32 +12:00
blessedcoolant
b73216ef81 feat: Decrement Brush Size by 1 for values under 5 for more precision 2023-09-02 10:23:14 +12:00
blessedcoolant
469fc49a2f ui: Make patchmatch downscale options optional 2023-09-02 08:36:01 +12:00
Sergey Borisov
a36cf2f1dd Add scale to patchmatch 2023-09-01 23:08:46 +03:00
Sergey Borisov
5151798a16 Cleanup memory after model run 2023-09-01 20:50:39 +03:00
blessedcoolant
1a9f552a75 experimental: Add CV2 Infill 2023-09-02 04:48:18 +12:00
user1
fb1b03960e Added IP-Adapter SDXL support. Added IP-Adapter "Plus" (more detail) model support. 2023-09-01 04:40:30 -07:00
user1
74bfb5e1f9 First commit of separate node for IP-Adapter.
And it own dataclasses for passing info.
2023-08-31 23:07:15 -07:00
Lincoln Stein
10e4d8b72d fix second place where __annotations__ called 2023-08-31 23:49:08 -04:00
Lincoln Stein
6c2786201b
Update invokeai/app/invocations/baseinvocation.py
Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com>
2023-08-31 23:45:19 -04:00
Kevin Turner
bc1bce18b0 Merge branch 'main' into feat/taesd 2023-08-31 20:26:10 -07:00
Lincoln Stein
2cb57ef301 fix baseinvocation call to __attribute__ to work with py3.9 2023-08-31 23:11:54 -04:00
Lincoln Stein
44b49c7f2d fixed true source of problem 2023-08-31 22:55:17 -04:00
Lincoln Stein
52a5f1f56f prevent from trying to set vram on macs 2023-08-31 22:50:53 -04:00
blessedcoolant
7a295cbfd5 experimental: Pass Mask To Coherence Pass 2023-09-01 11:40:09 +12:00
blessedcoolant
6f162c5dec experimental: Dilate mask if blurred in Color Correction 2023-09-01 11:12:30 +12:00
blessedcoolant
b94ec14853 chore: Black lint fix 2023-09-01 09:19:10 +12:00
blessedcoolant
54cda8ea42 chore: Change LaMA log statement to use InvokeAI Logger 2023-09-01 09:17:41 +12:00
blessedcoolant
0d3d880323 feat: Re-Enable LaMa Infill 2023-09-01 09:13:28 +12:00
Lincoln Stein
ca5689dc54 jigger model naming so that v1-5-inpaint is not the default on new installs 2023-08-31 10:56:25 -04:00
Lincoln Stein
b567d65032 blackify and rerun frontend build 2023-08-31 10:35:17 -04:00
Lincoln Stein
35ac8e78bd bump to release version 2023-08-31 10:33:02 -04:00
psychedelicious
e90fd96eee fix(nodes): fix warning when using current image node 2023-08-31 13:40:38 +10:00
psychedelicious
ed72d51969 fix(nodes): fix primitives defaults for collections 2023-08-31 13:22:31 +10:00
user1
79db0e9e93 More cleanup after rebasing to main. 2023-08-30 18:29:06 -07:00
Sergey Borisov
d5267357b1 Pad conditioning tensors from clip and clip2 in sdxl 2023-08-30 21:28:40 -04:00
Sergey Borisov
e085eb63bd Check noise and latents shapes, more informative error 2023-08-30 21:28:40 -04:00
psychedelicious
8e470f9b6f fix(ui): fix metadata retrieval when has controlnet 2023-08-31 11:20:18 +10:00
user1
0c17f8604f Resolving rebase conflict, redirecting control imports to invocations/control_adapter 2023-08-30 17:35:31 -07:00
user1
054edc4077 Oops, forgot to add control_adapter.py for control nodes in last refactor commit 2023-08-30 17:31:46 -07:00
user1
5a9993772d Added ip_adapter_strength parameter to adjust weighting of IP-Adapter's added cross-attention layers 2023-08-30 17:28:30 -07:00
user1
f2cd9e9ae2 Working POC for IP-Adapters. Not fully nodified yet, lots of caveats, hardwired model paths, etc. 2023-08-30 17:28:30 -07:00
user1
9f86cfa471 Working POC of IP-Adapters. Not fully nodified yet. 2023-08-30 17:28:30 -07:00
user1
8c1390166f Modifying code from https://github.com/tencent-ailab/IP-Adapter. Also adding license notice at top. 2023-08-30 17:28:30 -07:00
user1
1ad98ce999 Core ip_adapter files from https://github.com/tencent-ailab/IP-Adapter
Copied into InvokeAI since IP-Adapter repo is not a package. Is there a better way to do this for non-packaged Python code while still keeping InvokeAI install easy?
2023-08-30 17:28:30 -07:00
Lincoln Stein
83163ddd9a fix migrate script to work when autoimport directories are None 2023-08-30 18:46:17 -04:00
Lincoln Stein
715686477e fix unknown PagingArgumentParser import error in ti-training 2023-08-30 17:49:19 -04:00
Lincoln Stein
05e203570d make image import script work with python3.9; cleanup wheel creator 2023-08-30 17:35:58 -04:00
blessedcoolant
3cd2d3b764 fix: SDXL T2I and L2I not respecting Scaled on Canvas 2023-08-31 06:45:21 +12:00
blessedcoolant
4bac36356a fix: Create SDXL Refiner Create Mask only in inpaint & outpaint 2023-08-31 06:33:09 +12:00
blessedcoolant
97763f778a fix: SDXL Refiner not working with Canvas Inpaint & Outpaint 2023-08-31 06:26:02 +12:00
blessedcoolant
754666ed09 fix: Missing SDXL Refiner Seamless VAE plug 2023-08-31 05:49:02 +12:00
blessedcoolant
4c407328f2 fix: SDXL Refiner Seamless Interaction 2023-08-31 05:14:19 +12:00
blessedcoolant
943bedadf2 ui: Rename ControlNet Collapse header to Control Adapters 2023-08-31 01:44:13 +12:00
psychedelicious
667d4deeb7 feat(ui): improved model node ui 2023-08-30 22:36:40 +10:00
psychedelicious
adfdb02c1b fix(ui): fix workflow edge validation for collapsed edges 2023-08-30 22:36:15 +10:00
psychedelicious
24d44ca559 feat(nodes): add scheduler invocation 2023-08-30 22:35:47 +10:00
psychedelicious
216dff143e feat(ui): swath of UI tweaks and improvements 2023-08-30 21:31:58 +10:00
psychedelicious
f2334ec302 fix(ui): reset node execution states on cancel 2023-08-30 18:58:27 +10:00
psychedelicious
044d4c107a feat(nodes): move all invocation metadata (type, title, tags, category) to decorator
All invocation metadata (type, title, tags and category) are now defined in decorators.

The decorators add the `type: Literal["invocation_type"]: "invocation_type"` field to the invocation.

Category is a new invocation metadata, but it is not used by the frontend just yet.

- `@invocation()` decorator for invocations

```py
@invocation(
    "sdxl_compel_prompt",
    title="SDXL Prompt",
    tags=["sdxl", "compel", "prompt"],
    category="conditioning",
)
class SDXLCompelPromptInvocation(BaseInvocation, SDXLPromptInvocationBase):
    ...
```

- `@invocation_output()` decorator for invocation outputs

```py
@invocation_output("clip_skip_output")
class ClipSkipInvocationOutput(BaseInvocationOutput):
    ...
```

- update invocation docs
- add category to decorator
- regen frontend types
2023-08-30 18:35:12 +10:00
psychedelicious
ae05d34584 fix(nodes): fix uploading image metadata retention
was causing failure to save images
2023-08-30 14:52:50 +10:00
psychedelicious
94d0c18cbd feat(ui): remove highlighto n mouseover 2023-08-30 13:22:59 +10:00
psychedelicious
7b49f96472 feat(ui): style input fields 2023-08-30 13:19:37 +10:00
psychedelicious
9a2c0554de feat(ui): better workflow validation and parsing
Checks for the existence of nodes for each edge - does not yet check the types.
2023-08-30 13:02:49 +10:00
blessedcoolant
29112f96d2 Merge branch 'main' into feat/nodes-phase-5 2023-08-30 14:11:49 +12:00
blessedcoolant
1d6be7f7fd Merge branch 'ui-fixes' of https://github.com/blessedcoolant/InvokeAI into ui-fixes 2023-08-30 14:08:39 +12:00
blessedcoolant
64723f0628 fix: ControlNet DnD icons repeated twice 2023-08-30 14:07:24 +12:00
psychedelicious
8982543312 fix(ui): fix control image save button logic 2023-08-30 11:58:15 +10:00
psychedelicious
d8ce20c06f fix(ui): fix control image save button logic 2023-08-30 11:33:38 +10:00
psychedelicious
0ed6a141f1
Merge branch 'main' into feat/nodes-phase-5 2023-08-30 11:15:34 +10:00
blessedcoolant
33cb6cb4d8 Merge branch 'main' into ui-fixes 2023-08-30 12:58:43 +12:00
Sergey Borisov
ca15b8b33e Fix wrong timestep selection in some cases(dpmpp_sde) 2023-08-30 03:40:59 +03:00
Sergey Borisov
8562dbaaa8 Hotfix to make second order schedulers work with mask 2023-08-30 02:18:08 +03:00
blessedcoolant
db4d35ed45 ui: update scaled width and height sliders to be model sensitive 2023-08-30 10:28:54 +12:00
blessedcoolant
65fb6af01f ui: Make aspect ratio logic more robust 2023-08-30 10:15:26 +12:00
blessedcoolant
c6bab14043 ui: actually resolve circulars + fix flip bounding boxes AR unset 2023-08-30 09:33:04 +12:00
blessedcoolant
55f19aff3a ui: encase Denoising Strength to make it more prominent 2023-08-30 09:32:41 +12:00
blessedcoolant
1b6586dd8c fix: cyclic redundancy 2023-08-30 09:12:07 +12:00
blessedcoolant
b5da7faafb ui: make bounding box swap also unlock Aspect Ratio 2023-08-30 09:06:38 +12:00
blessedcoolant
b13a06f650 ui: map aspect ratios instead of manually creating the array 2023-08-30 08:52:11 +12:00
blessedcoolant
8e4d288f02 ui: Make swap size unlock fixed ratio
Coz it is no longer relevant
2023-08-30 08:44:34 +12:00
blessedcoolant
8d4caaabb0 ui: Simply collapse spacing 2023-08-30 08:40:17 +12:00
blessedcoolant
171a0eaf51 feat: Add Lock Ratio Option 2023-08-30 07:04:08 +12:00
blessedcoolant
2469859c01 feat: Add Set Control Image Width / Height to User Settings 2023-08-30 06:23:02 +12:00
blessedcoolant
cff391aa1d feat: Update size resets to be model dependent 2023-08-30 05:58:07 +12:00
blessedcoolant
4fd4aee2ab feat: Auto Change Dimensions on Model Switch by Type 2023-08-30 05:49:57 +12:00
blessedcoolant
f5c5f59220 minor: tweak padding on ControlNet Collapse 2023-08-30 05:24:42 +12:00
blessedcoolant
9afc909ff0 ui: tweak parameter options spacing 2023-08-30 05:22:44 +12:00
blessedcoolant
176d41d624 ui: Add SubParametersWrapper 2023-08-30 05:05:54 +12:00
blessedcoolant
9eed8cdc27 ui: fix some minor spacing and color issues 2023-08-30 04:51:53 +12:00
blessedcoolant
98e905ee48 ui: Combine mask and coherence under Compositing 2023-08-30 04:51:32 +12:00
blessedcoolant
52c2397498 ui: Keep boards modal open by default 2023-08-30 04:17:30 +12:00
blessedcoolant
11fa87388b fix: Controlnet Prepreocessed Image Save Icon Missing 2023-08-30 04:05:36 +12:00
blessedcoolant
258b0814a8 Merge branch 'main' into feat/nodes-phase-5 2023-08-30 02:33:49 +12:00
blessedcoolant
41c5963e41 Merge branch 'main' into pr/4112 2023-08-30 02:22:37 +12:00
blessedcoolant
15a927b517 fix: Processing Control Image not saving properly 2023-08-30 02:09:13 +12:00
Sergey Borisov
121396f844 Fix tokenization log for sd models 2023-08-29 17:07:33 +03:00
blessedcoolant
d251124196 feat: Add Save Preprocessed Image To Board 2023-08-30 01:14:41 +12:00
blessedcoolant
243e76dd80 feat: Send Canvas Image & Mask To ControlNet 2023-08-29 23:48:28 +12:00
blessedcoolant
cfee8d9804 chore: seamless print statement cleanup 2023-08-29 13:09:30 +12:00
blessedcoolant
4196c669a0 chore: black / flake lint errors 2023-08-29 12:57:26 +12:00
blessedcoolant
a1398dec91 Merge branch 'main' into pr/4112 2023-08-29 12:56:59 +12:00
blessedcoolant
c4bec0e81b Merge branch 'main' into feat/nodes-phase-5 2023-08-29 12:42:52 +12:00
blessedcoolant
6fdeeb8ce8 Merge branch 'main' into pr/4352 2023-08-29 12:40:01 +12:00
blessedcoolant
9993e4b02e fix: lint errors 2023-08-29 12:37:09 +12:00
blessedcoolant
e6b677873a chore: Regen schema 2023-08-29 12:20:55 +12:00
blessedcoolant
44e77589b7 cleanup: Print statement in seamless hotfix 2023-08-29 12:18:26 +12:00
blessedcoolant
d0c74822eb resolve: Merge conflicts 2023-08-29 12:08:00 +12:00
blessedcoolant
383d008529 Merge branch 'main' into feat/nodes-phase-5 2023-08-29 12:05:28 +12:00
blessedcoolant
605e13eac0 chore: black fix 2023-08-29 07:50:17 +12:00
Kent Keirsey
2a1d7342a7 Seamless Patch from Stalker 2023-08-28 15:48:05 -04:00
blessedcoolant
577464091c fix: SDXL LoRA's not working with seamless 2023-08-29 06:44:18 +12:00
blessedcoolant
aaae471910 fix: SDXL Canvas Inpaint & Outpaint being broken 2023-08-29 05:42:00 +12:00
blessedcoolant
56ed76fd95 fix: useMultiSelect file named incorrectly 2023-08-29 05:19:51 +12:00
blessedcoolant
5133825efb fix: Incorrect plug in Dynamic Prompt Graph 2023-08-29 05:17:46 +12:00
blessedcoolant
99475ab800 chore: pyflake lint fixes 2023-08-29 05:16:23 +12:00
blessedcoolant
50a266e064 feat: Add Seamless to Inpaint & Outpaint 2023-08-29 05:11:22 +12:00
blessedcoolant
87bb4d8f6e fix: Seamless not working with SDXL on Canvas 2023-08-29 04:52:41 +12:00
blessedcoolant
fcb60a7a59 chore: Update var names that were not updated 2023-08-29 04:33:22 +12:00
blessedcoolant
b5dac99411 feat: Add Seamless To Canvas Text To Image / Image To Image + SDXL + Refiner 2023-08-29 04:26:11 +12:00
blessedcoolant
a08d22587b fix: Incorrect node ID's for Seamless plugging 2023-08-29 04:21:11 +12:00
blessedcoolant
0ea67050f1 fix: Seamless not correctly plugged to SDXL Denoise Latents 2023-08-29 04:18:45 +12:00
blessedcoolant
6db19a8dee fix: Connection type on Seamless Node VAE Input 2023-08-29 04:15:15 +12:00
blessedcoolant
ef58635a76 chore: black lint 2023-08-29 04:04:03 +12:00
blessedcoolant
594e547c3b feat: Add Seamless to T2I / I2I / SDXL T2I / I2I + Refiner 2023-08-29 04:01:04 +12:00
Sergey Borisov
2bf747caf6 Blackify 2023-08-28 18:36:27 +03:00
StAlKeR7779
cd548f73fd
Merge branch 'main' into feat_compel_and 2023-08-28 18:31:41 +03:00
Sergey Borisov
bb085c5fba Move monkeypatch for diffusers/torch bug to hotfixes.py 2023-08-28 18:29:49 +03:00
Kent Keirsey
3efb1f6f17 Merge branch 'Seamless' of https://github.com/invoke-ai/InvokeAI into Seamless 2023-08-28 10:30:43 -04:00
blessedcoolant
1ed0d7bf3c Merge branch 'main' into Seamless 2023-08-29 01:21:01 +12:00
blessedcoolant
3c37245804 Merge branch 'main' into maryhipp/preselected-image 2023-08-29 01:12:09 +12:00
blessedcoolant
e60af40c8d chore: lint fixes 2023-08-29 01:11:55 +12:00
Kent Keirsey
421f5b7d75 Seamless Updates 2023-08-28 08:43:08 -04:00
blessedcoolant
3ef36707a8 chore: Black lint 2023-08-28 23:10:00 +12:00
mickr777
00ca9b027a
Update CurrentImageNode.tsx 2023-08-28 19:15:53 +10:00
mickr777
e81e17ccb6
Merge branch 'main' into nextprevcurrentimagenode 2023-08-28 18:05:33 +10:00
Kent Keirsey
b9731cb434
Merge branch 'main' into Seamless 2023-08-28 00:12:23 -04:00
Kent Keirsey
1f476692da Seamless fixes 2023-08-28 00:10:46 -04:00
Kent Keirsey
5fdd25501b updates per stalkers comments 2023-08-27 22:54:53 -04:00
Sergey Borisov
b65c9ad612 Add monkeypatch for xformers to align unaligned attention_mask 2023-08-28 04:50:58 +03:00
StAlKeR7779
ef3bf2803f
Merge branch 'main' into feat_compel_and 2023-08-28 04:11:35 +03:00
StAlKeR7779
3e6c49001c
Change antialias to True as input - image
Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
2023-08-28 02:54:39 +03:00
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
Kevin Turner
dff466244d Merge remote-tracking branch 'origin/main' into feat/taesd
# Conflicts:
#	invokeai/app/invocations/latent.py
2023-08-25 15:21:47 -07: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