Lincoln Stein
1b43276e5d
make widget selection wrap around
2023-06-06 13:53:11 -07:00
Lincoln Stein
294f086857
configure/install working correctly on windows11
2023-06-06 12:51:34 -07:00
Lincoln Stein
e5024bf5e9
fix conhost launch-with args
2023-06-06 15:17:15 -04:00
blessedcoolant
1a2f0984db
Merge branch 'main' into feat/ui/fix-stale-imageUsage
2023-06-07 04:35:16 +12:00
psychedelicious
454683e6eb
feat(ui): update image urls on connect ( #3507 )
...
* feat(ui): update image urls on connect
Add `updateImageUrlsOnConnect` RTK listener:
- requests URLs for *every* image the app knows about, on connect: gallery, selectedImage, initialImage, canvas images, nodes images, controlnet images
- only fires when `shouldUpdateImagesOnConnect` config is enabled
* remove prop
---------
Co-authored-by: Mary Hipp <maryhipp@Marys-MacBook-Air.local>
2023-06-06 10:23:51 -04:00
psychedelicious
bbb2a08e8f
feat(ui): fix bugs with image deletion
...
- `imageUsage` object was always stale due to react component lifecycle, fixed this
- cleaned up the deletion listener and context
2023-06-06 20:01:27 +10:00
psychedelicious
bf116927e1
feat(ui): clear features if image used by them is deleted
...
This handles the case when an image is deleted but is still in use in as eg an init image on canvas, or a control image. If we just delete the image, canvas/controlnet/etc may break (the image would just fail to load).
When an image is deleted, the app checks to see if it is in use in:
- Image to Image
- ControlNet
- Unified Canvas
- Node Editor
The delete dialog will always open if the image is in use anywhere, and the user is advised that deleting the image will reset the feature(s).
Even if the user has ticked the box to not confirm on delete, the dialog will still show if the image is in use somewhere.
2023-06-06 14:35:07 +10:00
psychedelicious
3d249c4fa3
feat(ui): refactor image deletion
...
Add `DeleteImageContext`:
- provide a single function to delete an image
- opens the modal or immediately deletes, if confirm is off
2023-06-06 14:35:07 +10:00
psychedelicious
fa338ddb6a
feat(ui): add useGetIsImageInUse
...
Checks if an image is currently being used eg in canvas, nodes, controlnet, init image.
2023-06-06 14:35:07 +10:00
psychedelicious
b200451330
feat(ui): add nodesSelector
2023-06-06 14:35:07 +10:00
psychedelicious
8283d23b74
feat(ui): remove shouldTransformUrls
...
This is no longer used.
2023-06-06 14:35:07 +10:00
psychedelicious
2fc0a4d53b
feat(ui): improve handling for urls/metadata received
...
Update images everywhere when urls or metadata is received:
- control images
- init images
- canvas
- nodes
- init image
Also renamed the variable.
2023-06-06 14:35:07 +10:00
psychedelicious
3ff732d583
feat(ui): clear controlnet image when image deleted
2023-06-06 14:35:07 +10:00
psychedelicious
840c632c0a
feat(ui): sort images by updated_at
instead of created_at
...
fixes issue where saved staging area images are sorted as expected in gallery.
2023-06-06 14:30:53 +10:00
psychedelicious
40d6e4f287
fix(ui): fix canvas auto-save not working
2023-06-06 14:30:53 +10:00
psychedelicious
fc5f9c30a6
fix(ui): fix metadata viewer not working for canvas images
2023-06-06 14:30:53 +10:00
psychedelicious
229de2dbb8
feat(ui): fix canvas saving
...
- fix "bounding box region only" not being respected when saving
- add toasts for each action
- improve workflow `take()` predicates to use the requestId
2023-06-06 14:30:53 +10:00
psychedelicious
cc22427f25
feat(ui): improve UI on smaller screens
...
- responsive changes were causing a lot of weird layout issues, had to remove the rest of them
- canvas (non-beta) toolbar now wraps
- reduces minH for prompt boxes a bit
2023-06-06 14:29:57 +10:00
Lincoln Stein
90333c0074
merge with main
2023-06-05 22:03:44 -04:00
Lincoln Stein
54e5301b35
Multiple fixes
...
1. Model installer works correctly under Windows 11 Terminal
2. Fixed crash when configure script hands control off to installer
3. Kill install subprocess on keyboard interrupt
4. Command-line functionality for --yes configuration and model installation
restored.
5. New command-line features:
- install/delete lists of diffusers, LoRAS, controlnets and textual inversions
using repo ids, paths or URLs.
Help:
```
usage: invokeai-model-install [-h] [--diffusers [DIFFUSERS ...]] [--loras [LORAS ...]] [--controlnets [CONTROLNETS ...]] [--textual-inversions [TEXTUAL_INVERSIONS ...]] [--delete] [--full-precision | --no-full-precision]
[--yes] [--default_only] [--list-models {diffusers,loras,controlnets,tis}] [--config_file CONFIG_FILE] [--root_dir ROOT]
InvokeAI model downloader
options:
-h, --help show this help message and exit
--diffusers [DIFFUSERS ...]
List of URLs or repo_ids of diffusers to install/delete
--loras [LORAS ...] List of URLs or repo_ids of LoRA/LyCORIS models to install/delete
--controlnets [CONTROLNETS ...]
List of URLs or repo_ids of controlnet models to install/delete
--textual-inversions [TEXTUAL_INVERSIONS ...]
List of URLs or repo_ids of textual inversion embeddings to install/delete
--delete Delete models listed on command line rather than installing them
--full-precision, --no-full-precision
use 32-bit weights instead of faster 16-bit weights (default: False)
--yes, -y answer "yes" to all prompts
--default_only only install the default model
--list-models {diffusers,loras,controlnets,tis}
list installed models
--config_file CONFIG_FILE, -c CONFIG_FILE
path to configuration file to create
--root_dir ROOT path to root of install directory
```
2023-06-05 21:45:35 -04:00
Lincoln Stein
9bcf0b2251
Merge branch 'main' into lstein/config-management-fixes
2023-06-05 15:10:33 -07:00
Lincoln Stein
d4bc98c383
revert to conhost method
2023-06-05 11:46:01 -07:00
psychedelicious
099e1e7c08
feat(ui): fix image fit
...
- Prevent init, current & control images from overflowing
2023-06-05 17:16:30 +10:00
psychedelicious
b1000e30c1
feat(ui): disable keyboard dnd
...
Need to fix a bug w/ collision detection before enabling it. Will pursue later.
2023-06-05 15:24:24 +10:00
psychedelicious
7bd94eac0e
feat(ui): support image dnd to canvas
2023-06-05 15:24:24 +10:00
psychedelicious
2c77563dcc
feat(ui): move DropOverlay into its own IAIDropOverlay component
2023-06-05 15:24:24 +10:00
Lincoln Stein
603c9a587e
open Windows Terminal maximized
2023-06-05 00:24:13 -04:00
Lincoln Stein
1a5a2dfda9
increased window size
2023-06-04 23:54:52 -04:00
Lincoln Stein
090b7eeaf3
workaround to get adequate window size on Windows Terminal
2023-06-04 23:44:07 -04:00
Lincoln Stein
117536324c
the "restore" env variable in .bat launcher confuses pydantic
2023-06-04 22:53:46 -04:00
Lincoln Stein
999c092b6a
fix mouse and window resizing issues
2023-06-04 22:00:11 -04:00
Lincoln Stein
9e31b1f387
Merge branch 'main' into lstein/config-management-fixes
2023-06-04 18:17:43 -04:00
Lincoln Stein
cb157ea530
fix crash when install-models launched from config script
2023-06-04 14:55:51 -04:00
Lincoln Stein
5f6f38074d
merge with main
2023-06-04 13:59:31 -04:00
blessedcoolant
fb06f5b892
Merge branch 'main' into feat_compel_longprompts_and_concat
2023-06-05 04:34:39 +12:00
Lincoln Stein
1a7fb601dc
ask user for v2 variant when model manager can't infer it
2023-06-04 11:27:44 -04:00
Damian Stewart
cdcfda164d
enable long prompts, upgrade compel to enable .and() (concatenating prompts)
2023-06-04 15:30:54 +02:00
psychedelicious
95fa66661c
dummy commit to make github actions run
2023-06-04 22:55:35 +10:00
psychedelicious
6247b79111
docs(ui): update API_CLIENT
2023-06-04 22:46:53 +10:00
psychedelicious
5831364f9c
Update web README.md
2023-06-04 22:44:18 +10:00
psychedelicious
919b81cff1
fix(ui): fix rebase issue
2023-06-04 22:34:58 +10:00
psychedelicious
065fff7db5
fix(ui): fix wonkiness with image dnd
2023-06-04 22:34:58 +10:00
psychedelicious
a664ee30a2
feat(ui): do not change images if the dropped image is the same image
2023-06-04 22:34:58 +10:00
psychedelicious
03f3ad435a
feat(ui): updated controlnet logic/ui
2023-06-04 22:34:58 +10:00
psychedelicious
2270c270ef
feat(ui): add tooltip to IAISwitch
2023-06-04 22:34:58 +10:00
psychedelicious
4f7820719b
feat(ui): add ellipsis direction to IAICustomSelect
2023-06-04 22:34:58 +10:00
psychedelicious
fa285883ad
feat(ui): make OverlayDragImage translucent
2023-06-04 22:34:58 +10:00
psychedelicious
474fca8e6a
feat(ui): add controlNetDenylist
2023-06-04 22:34:58 +10:00
psychedelicious
5dc0250b00
feat(ui): ControlNet layout tweaks
2023-06-04 22:34:58 +10:00
psychedelicious
f269377a01
feat(ui): "ProcessorOptionsContainer" -> "ProcessorWrapper", organise
2023-06-04 22:34:58 +10:00
psychedelicious
d0406024e3
feat(ui): IAICustomSelect tweak styles
2023-06-04 22:34:58 +10:00
blessedcoolant
aa3a969bd2
feat: Update ControlNet Model List & Map
2023-06-04 22:34:58 +10:00
blessedcoolant
73a95973a8
wip: Add Wrapper Container for Preprocessor Options
...
For fast altering of the layout across all pre-preocessors.
2023-06-04 22:34:58 +10:00
blessedcoolant
bf4fe3c1ac
wip: Fixing layout shifts with the ControlNet tab
2023-06-04 22:34:58 +10:00
psychedelicious
d6c08ba469
feat(ui): add mini/advanced controlnet ui
2023-06-04 22:34:58 +10:00
psychedelicious
69f0ba65f1
chore(ui): bump react-icons
2023-06-04 22:34:58 +10:00
psychedelicious
828c86964d
feat(ui): IAICustomSelect prevent label wrap
2023-06-04 22:34:58 +10:00
psychedelicious
54b7ddd63f
feat(ui): IAIDndImage cursor: 'grab'
2023-06-04 22:34:58 +10:00
psychedelicious
a0dde66b5d
feat(ui): more work on controlnet mini
2023-06-04 22:34:58 +10:00
psychedelicious
b6b3b9f99c
feat(ui): make scrollbar less bright
2023-06-04 22:34:58 +10:00
psychedelicious
faa69f8a47
feat(ui): add alpha colors
2023-06-04 22:34:58 +10:00
psychedelicious
d92c7f5483
feat(ui): organize IAIDndImage component
2023-06-04 22:34:58 +10:00
psychedelicious
6b824eb112
feat(ui): initial mini controlnet UI, dnd improvements
2023-06-04 22:34:58 +10:00
psychedelicious
72b4371804
feat(ui): control image auto-process
2023-06-04 22:34:58 +10:00
psychedelicious
fa290aff8d
feat(ui): add defaults for all processors
2023-06-04 22:34:58 +10:00
psychedelicious
3d99d7ae8b
feat(ui): update handling of inProgess, do not allow cnet process when processing
2023-06-04 22:34:58 +10:00
psychedelicious
2eb367969c
feat(ui): do not autoprocess control if invocation in progress
2023-06-04 22:34:58 +10:00
psychedelicious
9cdad95f48
feat(ui): add rest of controlnet processors
2023-06-04 22:34:58 +10:00
psychedelicious
707ed39300
chore(ui): regen api client
2023-06-04 22:34:58 +10:00
psychedelicious
6bbb5f061a
feat(nodes): update controlnet names/descriptions
2023-06-04 22:34:58 +10:00
psychedelicious
6896e69e95
fix(ui): fix multiple controlnets
2023-06-04 22:34:58 +10:00
psychedelicious
b17f4c1650
feat(ui): more tweaking controlnet ui
2023-06-04 22:34:58 +10:00
psychedelicious
98493ed9e2
feat(ui): reorg parameter panel to make room for controlnet
2023-06-04 22:34:58 +10:00
psychedelicious
94c953deab
feat(ui): get processed images back into controlnet ui
2023-06-04 22:34:58 +10:00
psychedelicious
fa4d88e163
feat(ui): improve drag and drop ux
2023-06-04 22:34:58 +10:00
psychedelicious
b1e1e3efc7
fix(ui): fix IAISelectableImage fallback
2023-06-04 22:34:58 +10:00
psychedelicious
3b9426eb72
feat(ui): controlnet/image dnd wip
...
Implement `dnd-kit` for image drag and drop
- vastly simplifies logic bc we can drag and drop non-serializable data (like an `ImageDTO`)
- also much prettier
- also will fix conflicts with file upload via OS drag and drop, bc `dnd-kit` does not use native HTML drag and drop API
- Implemented for Init image, controlnet, and node editor so far
More progress on the ControlNet UI
2023-06-04 22:34:58 +10:00
psychedelicious
e2e07696fc
feat(ui): wip controlnet ui
2023-06-04 22:34:58 +10:00
psychedelicious
d6a959b000
feat(nodes): tidy controlnet processor nodes & improve descriptions
2023-06-04 22:34:58 +10:00
Lincoln Stein
31e97ead2a
move invokeai.db to ~/invokeai/databases
...
- The invokeai.db database file has now been moved into
`INVOKEAIROOT/databases`. Using plural here for possible
future with more than one database file.
- Removed a few dangling debug messages that appeared during
testing.
- Rebuilt frontend to test web.
2023-06-03 20:25:34 -04:00
Lincoln Stein
0b49995659
merge with main
2023-06-03 20:06:27 -04:00
Lincoln Stein
f74f3d6a3a
many TUI improvements:
...
1. Separated the "starter models" and "more models" sections. This
gives us room to list all installed diffuserse models, not just
those that are on the starter list.
2. Support mouse-based paste into the textboxes with either middle
or right mouse buttons.
3. Support terminal-style cursor movement:
^A to move to beginning of line
^E to move to end of line
^K kill text to right and put in killring
^Y yank text back
4. Internal code cleanup.
2023-06-03 16:17:53 -04:00
Lincoln Stein
713fb061e8
Merge branch 'main' into release/make-web-dist-startable
2023-06-02 23:19:33 -04:00
Lincoln Stein
77b7680b32
slight refactoring of code; configure --yes should work now
2023-06-02 23:19:14 -04:00
Lincoln Stein
ff63433591
Merge branch 'main' into lstein/config-management-fixes
2023-06-02 22:56:43 -04:00
Lincoln Stein
31281d7181
Merge branch 'main' into lstein/logging-improvements
2023-06-02 22:56:13 -04:00
Lincoln Stein
44a6623094
Merge branch 'main' into lstein/new-model-manager
2023-06-02 22:40:51 -04:00
Lincoln Stein
72d1e4e404
fix bug in model_manager that prevented import of inpainting models
2023-06-02 22:39:26 -04:00
Lincoln Stein
91918e648b
dynamic display of log messages now working
2023-06-02 22:24:46 -04:00
Lincoln Stein
1390b65a9c
new TUI is fully functional; needs some polishing
2023-06-02 17:20:50 -04:00
blessedcoolant
7620bacc01
feat: Add temporary NodeInvokeButton
2023-06-02 17:55:15 +12:00
blessedcoolant
ea9cf04765
fix: Remove progress bg instead of altering button bg
2023-06-02 17:36:14 +12:00
blessedcoolant
47301e6f85
fix: Do the same without zIndex
2023-06-02 17:33:38 +12:00
blessedcoolant
f143fb7254
feat: Make Invoke Button also the progress bar
2023-06-02 17:24:40 +12:00
mickr777
2bdb655375
Change to absolute
2023-06-02 14:59:10 +10:00
Lincoln Stein
41f7758977
listing, downloading and deleting LoRAs working; TI support pending
2023-06-02 00:40:15 -04:00
mickr777
8ae1eaaccc
Add Progress bar under invoke Button
...
Find on some screens the progress bar at top of screen gets cut off
2023-06-02 14:19:02 +10:00
Lincoln Stein
98773b20ac
merge with main
2023-06-01 18:09:49 -04:00
Mary Hipp
d66979073b
add optional config for settings modal
2023-06-02 00:36:45 +10:00
psychedelicious
c9e621093e
fix(ui): fix looping gallery images fetch
...
The gallery could get in a state where it thought it had just reached the end of the list and endlessly fetches more images, if there are no more images to fetch (weird I know).
Add some logic to remove the `end reached` handler when there are no more images to load.
2023-06-02 00:34:03 +10:00
psychedelicious
e06ba40795
fix(ui): do not allow dpmpp_2s
to be used ever
...
it doesn't work for the img2img pipelines, but the implemented conditional display could break the scheduler selection dropdown.
simple fix until diffusers merges the fix - never use this scheduler.
2023-06-02 00:30:01 +10:00
psychedelicious
6571e4c2fd
feat(ui): refactor parameter recall
...
- use zod to validate parameters before recalling
- update recall params hook to handle all validation and UI feedback
2023-06-02 00:30:01 +10:00
Lincoln Stein
ff9240b51d
slight code cleanup
2023-06-01 00:45:07 -04:00
Lincoln Stein
18466e01fd
tab selection seems very natural; not wired to backend yet
2023-06-01 00:43:28 -04:00
Lincoln Stein
e9821ab711
implemented tabbed model selection; not wired to backend yet
2023-06-01 00:31:46 -04:00
Lincoln Stein
d6530df635
rename invokeai.backend.config to invokeai.backend.install
2023-05-31 21:34:20 -04:00
Sergey Borisov
b47786e846
First working TI draft
2023-05-31 02:12:27 +03:00
psychedelicious
062b2cf46f
fix(ui): fix width and height not working on txt2img tab
...
I missed a spot when working on the graph logic yesterday.
2023-05-30 18:41:09 -04:00
Lincoln Stein
082ecf6f25
minor formatting improvements
2023-05-30 13:59:32 -04:00
Lincoln Stein
1632ac6b9f
add controlnet model downloading
2023-05-30 13:49:43 -04:00
Sergey Borisov
69ccd3a0b5
Fixes for checkpoint models
2023-05-30 19:12:47 +03:00
psychedelicious
877959b413
fix(ui): ensure download image opens in new tab
2023-05-30 09:22:54 -04:00
psychedelicious
6e60f7517b
feat(ui): add model description tooltips
2023-05-30 09:06:13 -04:00
psychedelicious
296ee6b7ea
feat(ui): tidy ParamScheduler component
2023-05-30 09:06:13 -04:00
psychedelicious
7c7ffddb2b
feat(ui): upgrade IAICustomSelect to optionally display tooltips for each item
2023-05-30 09:06:13 -04:00
psychedelicious
e1ae7842ff
feat(ui): add defaultModel
to config
2023-05-30 09:06:13 -04:00
psychedelicious
9687fe7bac
fix(ui): set default model to first model (alpha sort)
2023-05-30 09:06:13 -04:00
psychedelicious
a9a2bd90c2
fix(nodes): set min and max for l2l strength
2023-05-30 09:06:13 -04:00
psychedelicious
47ca71a7eb
fix(nodes): set cfg_scale min to 1 in latents
2023-05-30 09:06:13 -04:00
psychedelicious
a9c47237b1
fix(ui): mark img2img resize node intermediate
2023-05-30 09:06:13 -04:00
psychedelicious
33bbae2f47
fix(ui): fix missing init image when fit disabled
2023-05-30 09:06:13 -04:00
psychedelicious
fab7a1d337
fix(ui): fix bug with staging bbox not resetting
2023-05-30 09:06:13 -04:00
psychedelicious
cffcf80977
fix(ui): remove w/h from canvas params, add bbox w/h
2023-05-30 09:06:13 -04:00
psychedelicious
1a3fd05b81
fix(ui): fix canvas bbox autoscale
2023-05-30 09:06:13 -04:00
psychedelicious
c22c6ca135
fix(ui): fix img2img fit
2023-05-30 09:06:13 -04:00
psychedelicious
3afb6a387f
chore(ui): regen api
2023-05-30 09:06:13 -04:00
psychedelicious
33e5ed7180
fix(ui): fix edge case in nodes graph building
...
Inputs with explicit values are validated by pydantic even if they also
have a connection (which is the actual value that is used).
Fix this by omitting explicit values for inputs that have a connection.
2023-05-30 09:06:13 -04:00
psychedelicious
2067757fab
feat(ui): enable progress images by default
2023-05-30 09:06:13 -04:00
user1
b1b94a3d56
Fixed problem with inpainting after controlnet support added to main.
...
Problem was that controlnet support involved adding **kwargs to method calls down in denoising loop, and AddsMaskLatents didn't accept **kwarg arg. So just changed to accept and pass on **kwargs.
2023-05-30 08:01:21 -04:00
Lincoln Stein
c9ee42450e
added controlnet models to frontend; backend needs to be done
2023-05-30 00:38:37 -04:00
Lincoln Stein
10fe31c2a1
Merge branch 'main' into lstein/config-management-fixes
2023-05-29 21:03:03 -04:00
Sergey Borisov
420a76ecdd
Add lora loader node
2023-05-30 02:12:33 +03:00
Sergey Borisov
79de9047b5
First working lora implementation
2023-05-30 01:11:00 +03:00
Lincoln Stein
dc54cbb1fc
Merge branch 'main' into release/make-web-dist-startable
2023-05-29 14:16:10 -04:00
psychedelicious
070218aba7
feat(ui): add progress image toggle to current image buttons
2023-05-29 09:07:46 -04:00
psychedelicious
f1c226b171
fix(ui): remove console.log()
2023-05-29 09:07:46 -04:00
psychedelicious
7004430380
feat(ui): gallery filter dropdown -> Images/Assets toggle
2023-05-29 09:07:46 -04:00
psychedelicious
1ddc620192
feat(ui): only cancel on staging commit if processing
2023-05-29 09:07:46 -04:00
psychedelicious
a7cebbd970
feat(ui): cancel session when staging image accepted
2023-05-29 09:07:46 -04:00
psychedelicious
d97438b0b3
fix(ui): fix typo in actionsDenylist
2023-05-29 09:07:46 -04:00
psychedelicious
4522f3f4c9
fix(ui): fix progress images in canvas
2023-05-29 09:07:46 -04:00
psychedelicious
6fe28980b0
feat(ui): revert in-gallery progress
...
wasn't fully baked. will revisist in the future.
2023-05-29 09:07:46 -04:00
psychedelicious
4aec5d8ffc
fix(ui): typo
2023-05-29 09:07:46 -04:00
psychedelicious
bbb4e8f5ef
feat(nodes): add resize image and scale image nodes
2023-05-29 09:07:46 -04:00
psychedelicious
bce33ea62e
fix(ui): when session is complete, null out progress image
...
This may cause minor gallery jumpiness at the very end of processing, but is necessary to prevent the progress image from sticking around if the last node in a session did not have an image output.
2023-05-29 09:07:46 -04:00
psychedelicious
e4705d5ce7
fix(ui): add additional socket event layer to gate handling socket events
...
Some socket events should not be handled by the slice reducers. For example generation progress should not be handled for a canceled session.
Added another layer of socket actions.
Example:
- `socketGeneratorProgress` is dispatched when the actual socket event is received
- Listener middleware exclusively handles this event and determines if the application should also handle it
- If so, it dispatches `appSocketGeneratorProgress`, which the slices can handle
Needed to fix issues related to canceling invocations.
2023-05-29 09:07:46 -04:00
psychedelicious
6764b2a854
fix(ui): fix save to gallery without bounding box
2023-05-29 09:07:46 -04:00
psychedelicious
970340cf62
fix(ui): infill and scaling options label
2023-05-29 09:07:46 -04:00
psychedelicious
043f9d9ba4
fix(ui): fix auto-switch to new images
2023-05-29 09:07:46 -04:00
psychedelicious
6f82801d07
fix(ui): fix canvas save to gallery incorrect is_intermediate
flag
2023-05-28 20:19:56 -04:00
psychedelicious
3e3dd39ae4
fix(nodes): fix images service update() for is_intermediate
2023-05-28 20:19:56 -04:00
psychedelicious
89aa06e014
feat(ui): consolidate images slice
...
Now that images are in a database and we can make filtered queries, we can do away with the cumbersome `resultsSlice` and `uploadsSlice`.
- Remove `resultsSlice` and `uploadsSlice` entirely
- Add `imagesSlice` fills the same role
- Convert the application to use `imagesSlice`, reducing a lot of messy logic where we had to check which category was selected
- Add a simple filter popover to the gallery, which lets you select any number of image categories
2023-05-28 20:19:56 -04:00
psychedelicious
6cc00ef4b7
chore(ui): regen api client
2023-05-28 20:19:56 -04:00
psychedelicious
f31e62afad
feat(nodes): make list images route use offset pagination
...
Because we dynamically insert images into the DB and UI's images state, `page`/`per_page` pagination makes loading the images awkward.
Using `offset`/`limit` pagination lets us query for images with an offset equal to the number of images already loaded (which match the query parameters).
The result is that we always get the correct next page of images when loading more.
2023-05-28 20:19:56 -04:00
psychedelicious
38fd2ad45d
fix(ui): fix metadata viewer crash
2023-05-28 20:19:56 -04:00
psychedelicious
05b99b5377
fix(ui): fix erroneously displays is_intermediate
field on nodes
2023-05-28 20:19:56 -04:00
psychedelicious
08a14ee6d5
fix(nodes): fix conflicts with controlnet
2023-05-28 20:19:56 -04:00
psychedelicious
29fcc92da9
feat(ui): handle new image origin/category setup
...
- Update all thunks & network related things
- Update gallery
What I have not done yet is rename the gallery tabs and the relevant slices, but I believe the functionality is all there.
Also I fixed several bugs along the way but couldn't really commit them separately bc I was refactoring. Can't remember what they were, but related to the gallery image switching.
2023-05-28 20:19:56 -04:00
psychedelicious
d78e3572e3
chore(ui): regen api client
2023-05-28 20:19:56 -04:00
psychedelicious
160267c71a
feat(nodes): refactor image types
...
- Remove `ImageType` entirely, it is confusing
- Create `ResourceOrigin`, may be `internal` or `external`
- Revamp `ImageCategory`, may be `general`, `mask`, `control`, `user`, `other`. Expect to add more as time goes on
- Update images `list` route to accept `include_categories` OR `exclude_categories` query parameters to afford finer-grained querying. All services are updated to accomodate this change.
The new setup should account for our types of images, including the combinations we couldn't really handle until now:
- Canvas init and masks
- Canvas when saved-to-gallery or merged
2023-05-28 20:19:56 -04:00
psychedelicious
fd47e70c92
feat(nodes): use higher precision timestamps in db
2023-05-28 20:19:56 -04:00
psychedelicious
9317b42e5f
feat(nodes, ui): wip image types
2023-05-28 20:19:56 -04:00
psychedelicious
bdab73701f
fix(ui): canvas images not added to staging
2023-05-28 20:19:56 -04:00
psychedelicious
3ea5e78322
fix(nodes): fix list images route param descriptions
2023-05-28 20:19:56 -04:00
psychedelicious
f609ee21a2
fix(ui): handle intermediates when fetching gallery
2023-05-28 20:19:56 -04:00
psychedelicious
f51defeeb3
chore(ui): regen api client
2023-05-28 20:19:56 -04:00
psychedelicious
ee0225f4ba
fix(nodes): handle intermediates during images.get_many()
2023-05-28 20:19:56 -04:00
psychedelicious
33a0af4637
feat(nodes): add nameservice
...
Currenly only used to make names for images, but when latents, conditioning, etc are managed in DB, will do the same for them.
Intended to eventually support custom naming schemes.
2023-05-28 20:19:56 -04:00
Lincoln Stein
d37b08a7dd
Merge branch 'main' into release/make-web-dist-startable
2023-05-28 19:46:09 -04:00
user1
9a796364da
Fixed controlnet preprocessors and controlnet handling in TextToLatents to work with revised Image services.
2023-05-26 21:44:00 -04:00
user1
1ad4eb3a7b
Progress toward improvement in fieldTemplateBuilder.ts getFieldType()
2023-05-26 21:44:00 -04:00
user1
3767a453bb
Added float to FIELD_TYPE_MAP ins constants.ts
2023-05-26 21:44:00 -04:00
user1
d9b1e4a98c
Added nodes for float params: ParamFloatInvocation and FloatCollectionOutput. Also added FloatOutput.
2023-05-26 21:44:00 -04:00
user1
a4dec8c1d6
Fixed bug where MediapipFaceProcessorInvocation was ignoring max_faces and min_confidence params.
2023-05-26 21:44:00 -04:00
user1
8960ceb98b
Added Mediapipe image processor for use as ControlNet preprocessor.
...
Also hacked in ability to specify HF subfolder when loading ControlNet models from string.
2023-05-26 21:44:00 -04:00
psychedelicious
be79d088c0
fix(nodes): controlnet input accepts list or single controlnet
2023-05-26 21:44:00 -04:00
psychedelicious
009407ea3f
fix(ui): fix node ui type hints
2023-05-26 21:44:00 -04:00
psychedelicious
6999d28c7f
chore(ui): regen api client
2023-05-26 21:44:00 -04:00
user1
324e9eb74b
Extended node-based ControlNet support to LatentsToLatentsInvocation.
2023-05-26 21:44:00 -04:00
user1
56cff40362
Cleaning up after ControlNet refactor in TextToLatentsInvocation
2023-05-26 21:44:00 -04:00
user1
2ba40c5e52
Refactored most of controlnet code into its own method to declutter TextToLatents.invoke(), and make upcoming integration with LatentsToLatents easier.
2023-05-26 21:44:00 -04:00
user1
3ab147204c
Fix to work with current stable release of controlnet_aux (v0.0.3). Turned of pre-processor params that were added post v0.0.3. Also change defaults for shuffle.
2023-05-26 21:44:00 -04:00
user1
e4c89cba9c
Switched CotrolNet node modelname input from free text to default list of popular ControlNet model names.
2023-05-26 21:44:00 -04:00
user1
322ea84c4e
Commented out ZoeDetector. Will re-instate once there's a controlnet-aux release that supports it.
2023-05-26 21:44:00 -04:00
user1
f2b41c60ff
Cleaning up prior to submitting ControlNet PR. Mostly turning off diagnostic printing. Also fixed error when there is no controlnet input.
2023-05-26 21:44:00 -04:00
user1
754acec92f
Added support for specifying which step iteration to start using
...
each ControlNet, and which step to end using each controlnet (specified as fraction of total steps)
2023-05-26 21:44:00 -04:00
user1
11fc7e40a5
Refactored ControNet support to consolidate multiple parameters into data struct. Also redid how multiple controlnets are handled.
2023-05-26 21:44:00 -04:00
user1
d15bb88eb2
Removed last bits of dtype and and device hardwiring from controlnet section
2023-05-26 21:44:00 -04:00
user1
70ba36eefc
Cleaning up mistakes after rebase.
2023-05-26 21:44:00 -04:00
user1
7e70391c2b
Cleaning up TextToLatent arg testing
2023-05-26 21:44:00 -04:00
user1
e2a94be336
Added resizing of controlnet image based on noise latent. Fixes a tensor mismatch issue.
2023-05-26 21:44:00 -04:00
user1
63a86eefb4
Refactored controlnet nodes: split out controlnet stuff into separate node, stripped controlnet stuff form image processing/analysis nodes.
2023-05-26 21:44:00 -04:00
user1
b0727b9d47
Prep for splitting pre-processor and controlnet nodes
2023-05-26 21:44:00 -04:00
user1
d96e727dd5
Added more preprocessor nodes for:
...
MidasDepth
ZoeDepth
MLSD
NormalBae
Pidi
LineartAnime
ContentShuffle
Removed pil_output options, ControlNet preprocessors should always output as PIL. Removed diagnostics and other general cleanup.
2023-05-26 21:44:00 -04:00
user1
fe480886dc
changes to base class for controlnet nodes
2023-05-26 21:44:00 -04:00
user1
8031d1827b
Refactored controlnet node to output ControlField that bundles control info.
2023-05-26 21:44:00 -04:00
user1
b5acdb322d
Switching to ControlField for output from controlnet nodes.
2023-05-26 21:44:00 -04:00
user1
a4d1fe8819
Initial port of controlnet node support from generator-based TextToImageInvocation node to latent-based TextToLatentsInvocation node
2023-05-26 21:44:00 -04:00
user1
10b7a58887
Added first controlnet preprocessor node for canny edge detection.
2023-05-26 21:44:00 -04:00
user1
901a277959
Core implementation of ControlNet and MultiControlNet.
2023-05-26 21:44:00 -04:00
user1
aaa093bef1
Fixed use of ControlNet control_weight parameter
2023-05-26 21:44:00 -04:00
user1
bb96543d66
Added support for using multiple control nets. Unfortunately this breaks direct usage of Control node output port ==> TextToLatent control input port -- passing through a Collect node is now required. Working on fixing this...
2023-05-26 21:44:00 -04:00
user1
a2a2cfa765
Added resizing of controlnet image based on noise latent. Fixes a tensor mismatch issue.
2023-05-26 21:44:00 -04:00
user1
18e6a2b410
Refactored controlnet nodes: split out controlnet stuff into separate node, stripped controlnet stuff form image processing/analysis nodes.
2023-05-26 21:44:00 -04:00
user1
db27263bc2
Prep for splitting pre-processor and controlnet nodes
2023-05-26 21:44:00 -04:00
user1
0e027ec3ef
Added more preprocessor nodes for:
...
MidasDepth
ZoeDepth
MLSD
NormalBae
Pidi
LineartAnime
ContentShuffle
Removed pil_output options, ControlNet preprocessors should always output as PIL. Removed diagnostics and other general cleanup.
2023-05-26 21:44:00 -04:00
user1
5acbbeecaa
Added HED, LineArt, and OpenPose ControlNet nodes
2023-05-26 21:44:00 -04:00
user1
6ef2168b67
changes to base class for controlnet nodes
2023-05-26 21:44:00 -04:00
user1
6d958a214c
Refactored ControlNet nodes so they subclass from PreprocessedControlInvocation, and only need to override run_processor(image) (instead of reimplementing invoke())
2023-05-26 21:44:00 -04:00
user1
4ae4bf4ff9
Resolving conflicts in rebase to origin/main
2023-05-26 21:44:00 -04:00
user1
fdef53b2de
Switching to ControlField for output from controlnet nodes.
2023-05-26 21:44:00 -04:00
user1
11bd038b9d
Added first controlnet preprocessor node for canny edge detection.
2023-05-26 21:44:00 -04:00
user1
768cfe3aab
Core implementation of ControlNet and MultiControlNet.
2023-05-26 21:44:00 -04:00
user1
c4277b0662
Moved to controlnet_aux v0.0.4, reinstated Zoe controlnet preprocessor. Also in pyproject.toml had to specify downgrade of timm to 0.6.13 _after_ controlnet-aux installs timm >= 0.9.2, because timm >0.6.13 breaks Zoe preprocessor.
2023-05-26 21:44:00 -04:00
psychedelicious
020f3ccf07
fix(nodes): controlnet input accepts list or single controlnet
2023-05-26 21:44:00 -04:00
psychedelicious
7467fa5e57
fix(ui): fix node ui type hints
2023-05-26 21:44:00 -04:00
psychedelicious
e19ef7ed2f
fix(ui): add control field type
2023-05-26 21:44:00 -04:00
psychedelicious
71003be6b8
fix(ui): add value to conditioning field
2023-05-26 21:44:00 -04:00
user1
c1dbafc2df
chore(ui): regen api client
2023-05-26 21:44:00 -04:00
user1
dcebd71381
Extended node-based ControlNet support to LatentsToLatentsInvocation.
2023-05-26 21:44:00 -04:00
user1
d855a65e73
Cleaning up after ControlNet refactor in TextToLatentsInvocation
2023-05-26 21:44:00 -04:00
user1
a9007c7e0f
Refactored most of controlnet code into its own method to declutter TextToLatents.invoke(), and make upcoming integration with LatentsToLatents easier.
2023-05-26 21:44:00 -04:00
user1
af60304f97
Fix to work with current stable release of controlnet_aux (v0.0.3). Turned of pre-processor params that were added post v0.0.3. Also change defaults for shuffle.
2023-05-26 21:44:00 -04:00
user1
6de241eead
Switched CotrolNet node modelname input from free text to default list of popular ControlNet model names.
2023-05-26 21:44:00 -04:00
user1
51032dc0b2
Commented out ZoeDetector. Will re-instate once there's a controlnet-aux release that supports it.
2023-05-26 21:44:00 -04:00
user1
297931f5d9
Cleaning up prior to submitting ControlNet PR. Mostly turning off diagnostic printing. Also fixed error when there is no controlnet input.
2023-05-26 21:44:00 -04:00
user1
f613c073c1
Added support for specifying which step iteration to start using
...
each ControlNet, and which step to end using each controlnet (specified as fraction of total steps)
2023-05-26 21:44:00 -04:00
user1
63d248622c
Refactored ControNet support to consolidate multiple parameters into data struct. Also redid how multiple controlnets are handled.
2023-05-26 21:44:00 -04:00
user1
48485fe92f
Removed last bits of dtype and and device hardwiring from controlnet section
2023-05-26 21:44:00 -04:00
user1
07726af703
Cleaning up mistakes after rebase.
2023-05-26 21:44:00 -04:00
user1
ad1004b485
Cleaning up TextToLatent arg testing
2023-05-26 21:44:00 -04:00
user1
0096fb2790
Added resizing of controlnet image based on noise latent. Fixes a tensor mismatch issue.
2023-05-26 21:44:00 -04:00
user1
9c8c2e49d6
Refactored controlnet nodes: split out controlnet stuff into separate node, stripped controlnet stuff form image processing/analysis nodes.
2023-05-26 21:44:00 -04:00
user1
2005a96847
Prep for splitting pre-processor and controlnet nodes
2023-05-26 21:44:00 -04:00
user1
00a8d60c1b
Added more preprocessor nodes for:
...
MidasDepth
ZoeDepth
MLSD
NormalBae
Pidi
LineartAnime
ContentShuffle
Removed pil_output options, ControlNet preprocessors should always output as PIL. Removed diagnostics and other general cleanup.
2023-05-26 21:44:00 -04:00
user1
3aa182390a
changes to base class for controlnet nodes
2023-05-26 21:44:00 -04:00
user1
e44f1d6d4e
Refactored controlnet node to output ControlField that bundles control info.
2023-05-26 21:44:00 -04:00
user1
dfdf8e2ead
Switching to ControlField for output from controlnet nodes.
2023-05-26 21:44:00 -04:00
user1
3a645c4e80
Initial port of controlnet node support from generator-based TextToImageInvocation node to latent-based TextToLatentsInvocation node
2023-05-26 21:44:00 -04:00
user1
113129daf9
Added first controlnet preprocessor node for canny edge detection.
2023-05-26 21:44:00 -04:00
user1
940e3b6635
Core implementation of ControlNet and MultiControlNet.
2023-05-26 21:44:00 -04:00
user1
7fb29dabff
Fixed lint-ish formatting error
2023-05-26 21:44:00 -04:00
user1
714ad6dbb8
Fixed use of ControlNet control_weight parameter
2023-05-26 21:44:00 -04:00
user1
c0863fa20f
Added support for using multiple control nets. Unfortunately this breaks direct usage of Control node output port ==> TextToLatent control input port -- passing through a Collect node is now required. Working on fixing this...
2023-05-26 21:44:00 -04:00
user1
78b0b37ba6
More rebase repair.
2023-05-26 21:44:00 -04:00
user1
5d5cdc7716
Added resizing of controlnet image based on noise latent. Fixes a tensor mismatch issue.
2023-05-26 21:44:00 -04:00
user1
93cd818f6a
Refactored controlnet nodes: split out controlnet stuff into separate node, stripped controlnet stuff form image processing/analysis nodes.
2023-05-26 21:44:00 -04:00
user1
598a628790
Prep for splitting pre-processor and controlnet nodes
2023-05-26 21:44:00 -04:00
user1
f3666eda63
Added more preprocessor nodes for:
...
MidasDepth
ZoeDepth
MLSD
NormalBae
Pidi
LineartAnime
ContentShuffle
Removed pil_output options, ControlNet preprocessors should always output as PIL. Removed diagnostics and other general cleanup.
2023-05-26 21:44:00 -04:00
user1
754017b59e
Added an additional "raw_processed_image" output port to controlnets, mainly so could route ImageField to a ShowImage node
2023-05-26 21:44:00 -04:00