blessedcoolant
94ec3da7b5
chore: regen scheme merge
2023-09-05 15:23:16 +12:00
blessedcoolant
f44496a579
Merge branch 'main' into feat/ip-adapter
2023-09-05 15:22:15 +12:00
blessedcoolant
b008fd4a5f
Merge branch 'main' into fix/ui/fix-invoke-button-validation
2023-09-05 15:00:39 +12:00
psychedelicious
8b305651f9
fix(ui): fix non-nodes validation logic being applied to nodes invoke button
2023-09-05 12:44:39 +10:00
blessedcoolant
a9fafad5b5
chore: sync, lint & update
2023-09-05 14:17:23 +12:00
blessedcoolant
c5b9c8fc3a
Merge branch 'main' into lama-infill
2023-09-05 14:16:27 +12:00
blessedcoolant
fb5ac78191
Merge branch 'lama-infill' of https://github.com/blessedcoolant/InvokeAI into lama-infill
2023-09-05 14:11:05 +12:00
blessedcoolant
871b9286d1
fix: Review changes
2023-09-05 14:10:41 +12:00
psychedelicious
2ab75bc52e
feat(ui): move fp32 check to its own variable
...
remove a ton of extraneous checks that are easy to miss during maintenance
2023-09-05 11:51:46 +10:00
dunkeroni
10eec546ad
Consolidate and generalize saturation/luminosity adjusters ( #4425 )
...
* Consolidated saturation/luminosity adjust.
Now allows increasing and inverting.
Accepts any color PIL format and channel designation.
* Updated docs/nodes/defaultNodes.md
* shortened tags list to channel types only
* fix typo in mode list
* split features into offset and multiply nodes
* Updated documentation
* Change invert to discrete boolean.
Previous math was unclear and had issues with 0 values.
* chore: black
* chore(ui): typegen
---------
Co-authored-by: psychedelicious <4822129+psychedelicious@users.noreply.github.com>
2023-09-05 11:18:37 +10:00
blessedcoolant
c63390f6e1
fix: Temporarily update the ControlField zod model
...
While we decide how to go ahead with this .
2023-09-05 12:29:05 +12:00
blessedcoolant
cbd451c610
chore: Regen Schema
2023-09-05 12:13:08 +12:00
blessedcoolant
b1ef3370fa
chore: Regen Schema
2023-09-05 09:56:34 +12:00
blessedcoolant
db4af7c287
Merge branch 'main' into lama-infill
2023-09-05 09:54:44 +12:00
blessedcoolant
52d15e06bf
Merge branch 'main' into lama-infill
2023-09-05 07:12:27 +12:00
psychedelicious
4aca264308
feat(ui): handle node versions
...
- Node versions are now added to node templates
- Node data (including in workflows) include the version of the node
- On loading a workflow, we check to see if the node and template versions match exactly. If not, a warning is logged to console.
- The node info icon (top-right corner of node, which you may click to open the notes editor) now shows the version and mentions any issues.
- Some workflow validation logic has been shifted around and is now executed in a redux listener.
2023-09-04 19:08:18 +10:00
psychedelicious
920fc0e751
chore(ui): typegen
2023-09-04 15:25:58 +10:00
psychedelicious
34e3c2e000
feat(ui): style handles
2023-09-04 15:25:31 +10:00
psychedelicious
92975130bd
feat: allow float inputs to accept integers
...
Pydantic automatically casts ints to floats.
2023-09-04 15:25:31 +10:00
psychedelicious
a765f01c08
chore(ui): typegen
2023-09-04 15:25:31 +10:00
psychedelicious
09803b075d
fix(ui): fix node value checks to compare to undefined
...
existing checks would fail if falsy values
2023-09-04 15:25:31 +10:00
psychedelicious
1062fc4796
feat: polymorphic fields
...
Initial support for polymorphic field types. Polymorphic types are a single of or list of a specific type. For example, `Union[str, list[str]]`.
Polymorphics do not yet have support for direct input in the UI (will come in the future). They will be forcibly set as Connection-only fields, in which case users will not be able to provide direct input to the field.
If a polymorphic should present as a singleton type - which would allow direct input - the node must provide an explicit type hint.
For example, `DenoiseLatents`' `CFG Scale` is polymorphic, but in the node editor, we want to present this as a number input. In the node definition, the field is given `ui_type=UIType.Float`, which tells the UI to treat this as a `float` field.
The connection validation logic will prevent connecting a collection to `CFG Scale` in this situation, because it is typed as `float`. The workaround is to disable validation from the settings to make this specific connection. A future improvement will resolve this.
This also introduces better support for collection field types. Like polymorphics, collection types are parsed automatically by the client and do not need any specific type hints.
Also like polymorphics, there is no support yet for direct input of collection types in the UI.
- Disabling validation in workflow editor now displays the visual hints for valid connections, but lets you connect to anything.
- Added `ui_order: int` to `InputField` and `OutputField`. The UI will use this, if present, to order fields in a node UI. See usage in `DenoiseLatents` for an example.
- Updated the field colors - duplicate colors have just been lightened a bit. It's not perfect but it was a quick fix.
- Field handles for collections are the same color as their single counterparts, but have a dark dot in the center of them.
- Field handles for polymorphics are a rounded square with dot in the middle.
- Removed all fields that just render `null` from `InputFieldRenderer`, replaced with a single fallback
- Removed logic in `zValidatedWorkflow`, which checked for existence of node templates for each node in a workflow. This logic introduced a circular dependency, due to importing the global redux `store` in order to get the node templates within a zod schema. It's actually fine to just leave this out entirely; The case of a missing node template is handled by the UI. Fixing it otherwise would introduce a substantial headache.
- Fixed the `ControlNetInvocation.control_model` field default, which was a string when it shouldn't have one.
2023-09-04 15:25:31 +10:00
blessedcoolant
95f44ff343
fix: Make the name extraction work for both ckpts and folders
2023-09-04 10:52:27 +12:00
blessedcoolant
f9c3c07d98
fix: Support UNIX paths
2023-09-04 10:16:57 +12:00
blessedcoolant
c91ba2dbe7
feat: Infer Model Name automatically if empty in Model Forms
2023-09-04 01:36:48 +12:00
blessedcoolant
917c2c480e
Merge branch 'main' into lama-infill
2023-09-03 23:16:34 +12:00
psychedelicious
0a70a856e5
Merge branch 'main' into fix/ui/fix-click-node-collapse
2023-09-03 09:43:40 +10:00
blessedcoolant
4fa66b2ba8
ui: Move Coherence settings above mask settings
2023-09-03 01:39:01 +12:00
blessedcoolant
6cfabc585a
feat: Add Coherence Mode - Mask
2023-09-03 01:26:32 +12:00
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
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
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
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
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
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
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
blessedcoolant
1a9f552a75
experimental: Add CV2 Infill
2023-09-02 04:48:18 +12:00
blessedcoolant
7a295cbfd5
experimental: Pass Mask To Coherence Pass
2023-09-01 11:40:09 +12:00
blessedcoolant
0d3d880323
feat: Re-Enable LaMa Infill
2023-09-01 09:13:28 +12:00
Lincoln Stein
b567d65032
blackify and rerun frontend build
2023-08-31 10:35:17 -04:00
psychedelicious
e90fd96eee
fix(nodes): fix warning when using current image node
2023-08-31 13:40:38 +10:00
psychedelicious
8e470f9b6f
fix(ui): fix metadata retrieval when has controlnet
2023-08-31 11:20:18 +10: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
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
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
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
15a927b517
fix: Processing Control Image not saving properly
2023-08-30 02:09:13 +12: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
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
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
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
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
594e547c3b
feat: Add Seamless to T2I / I2I / SDXL T2I / I2I + Refiner
2023-08-29 04:01:04 +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
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
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
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
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
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
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
psychedelicious
0c5736d9c9
feat(ui): cache image metadata for 24 hours
2023-08-24 22:12:13 +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
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
2f11936db0
fix(ui): use seed + 1 for inpaint/outpaint second pass
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
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
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
psychedelicious
6efa953172
fix(ui): fix canvas scaling
2023-08-23 23:06:42 +10:00