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
Millun Atluri
24132a7950
Merge branch 'main' into refactor/rename-get-logger
2023-08-28 11:38:37 +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
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
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
Lincoln Stein
3f7ac556c6
Merge branch 'main' into refactor/rename-performance-options
2023-08-21 22:29:34 -04:00
psychedelicious
4da861e980
chore: clean up .gitignore
2023-08-22 10:02:03 +10: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
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
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
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
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
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
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
Lincoln Stein
45d172d5a8
Merge branch 'main' into refactor/rename-get-logger
2023-08-20 16:08:32 -04:00
Lincoln Stein
8e6d88e98c
resolve merge conflicts
2023-08-20 15:26:52 -04:00
psychedelicious
3c43594c26
Merge branch 'main' into fix/inpaint_gen
2023-08-18 15:57:48 +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
Lincoln Stein
1d107f30e5
remove getLogger() completely
2023-08-17 19:17:38 -04: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
23b4e1cea0
Merge branch 'main' into refactor/rename-performance-options
2023-08-17 14:43:00 -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
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
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
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
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
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
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
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
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
02fa116690
rebuild frontend for windows testing
2023-08-14 22:59:26 -04: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
psychedelicious
46a8eed33e
Merge branch 'main' into feat/refactor_generation_backend
2023-08-14 13:01:28 +10:00
psychedelicious
9217a217d4
fix(ui): refiner uses steps directly, no math
2023-08-14 12:56:37 +10:00
blessedcoolant
58d5c61c79
fix: SDXL Inpaint & Outpaint using regular Img2Img strength
2023-08-14 12:55:18 +12:00
blessedcoolant
957ee6d370
fix: SDXL Canvas Inpaint & Outpaint not respecting SDXL Refiner start value
2023-08-14 12:13:29 +12:00
blessedcoolant
fecad2c014
fix: SDXL Denoising Strength not plugged in correctly
2023-08-14 11:59:11 +12:00
blessedcoolant
550e6ef27a
re: Set the image denoise str back to 0
...
Bug has been fixed. No longer needed.
2023-08-14 10:27:07 +12:00
blessedcoolant
75fb3f429f
re: Readd Refiner Step Math but cap max steps to 1000
2023-08-14 09:26:01 +12:00
blessedcoolant
746e099f0d
fix: Do not do step math for refinerSteps
...
This is probably better done on the backend or in a different way. This can cause steps to go above 1000 which is more than the set number for the model.
2023-08-14 04:04:15 +12:00
blessedcoolant
499e89d6f6
feat: Add SDXL Negative Aesthetic Score
2023-08-14 04:02:36 +12:00
blessedcoolant
90fa3eebb3
feat: Make SDXL Style Prompt not take spaces
2023-08-14 02:25:39 +12:00
greatwolf
9e2e82a752
Fixed import issue in invokeai/frontend/install/model_install.py
...
This fixes an import issue introduced in commit 1bfe983
.
The change made 'invokeai_configure' into a module but this line still tries to call it as if it's a function. This will result in a `'module' not callable` error.
2023-08-13 05:15:55 -07:00