Mary Hipp
8d44363d49
(ui): update boards list queries to only use sort params for list, and make sure archived boards are included in most places we are searching
2024-10-11 17:23:34 -04:00
Mary Hipp
e3e9d1f27c
(ui) break out boards settings from gallery/image settings
2024-10-11 17:23:34 -04:00
psychedelicious
bb59ad438a
docs(ui): add comments to ImageContextMenu
2024-10-11 09:36:23 -04:00
psychedelicious
e38f5b1576
fix(ui): safari doesn't have find on iterators
2024-10-11 09:36:23 -04:00
psychedelicious
1bb49b698f
perf(ui): efficient gallery image hover state
2024-10-11 09:36:23 -04:00
psychedelicious
fa1fbd89fe
tidy(ui): remove extraneous prop extraction
2024-10-11 09:36:23 -04:00
psychedelicious
190ef6732c
perf(ui): properly memoize gallery image icon components
2024-10-11 09:36:23 -04:00
psychedelicious
947cd4694b
perf(ui): use single event for all image context menus
...
Image elements register their target ref in a map, which is used to look up the image that was clicked on. Substantial perf improvement.
2024-10-11 09:36:23 -04:00
psychedelicious
ee32d0666d
perf(ui): memoize gallery page buttons
2024-10-11 09:36:23 -04:00
psychedelicious
bc8ad9ccbf
perf(ui): remove another extraneous useCallback
2024-10-11 09:36:23 -04:00
psychedelicious
e96b290fa9
perf(ui): remove extraneous useCallbacks
2024-10-11 09:36:23 -04:00
psychedelicious
b9f83eae6a
perf(ui): do not call upload hook unless upload is needed
2024-10-11 09:36:23 -04:00
psychedelicious
9868e23235
feat(ui): use singleton context menu
...
This improves render perf for the image component by 10-20%.
2024-10-11 09:36:23 -04:00
psychedelicious
0060cae17c
build(ui): set package mode target to ES2015
2024-10-11 07:54:44 -04:00
psychedelicious
56f0845552
tidy(ui): consistent naming for selector builder util
2024-10-11 07:51:55 -04:00
psychedelicious
da3f85dd8b
fix(ui): edge case where entity isn't visible until interacting with canvas
...
To trigger the edge case:
- Have an empty layer and non-empty layer
- Select the non-empty layer
- Refresh the page
- Select to the empty layer without doing any other action
- You may be unable to draw on the layer
- Zoom in/out slightly
- You can now draw on it
The problem was not syncing visibility when a layer is selected, leaving the layer hidden. This indirectly disabled interactions.
The fix is to listen for changes to the layer's selected status and sync visibility when that changes.
2024-10-11 07:51:55 -04:00
psychedelicious
7185363f17
fix(ui): edge case where controladapters added counts could be off
...
We were:
- Incrementing `addedControlNets` or `addedT2IAdapters`
- Attempting to add it, but maybe failing and skipping
Need to swap the order of operations to prevent misreporting of added cnet/t2i.
I don't think this would ever actually cause problems.
2024-10-11 10:37:30 +11:00
Riccardo Giovanetti
8464fd2ced
translationBot(ui): update translation (Italian)
...
Currently translated at 98.5% (1462 of 1483 strings)
Co-authored-by: Riccardo Giovanetti <riccardo.giovanetti@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translation: InvokeAI/Web UI
2024-10-11 09:41:45 +11:00
Васянатор
c3316368d9
translationBot(ui): update translation (Russian)
...
Currently translated at 100.0% (1479 of 1479 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-10-11 09:41:45 +11:00
Riku
8b2d5ab28a
translationBot(ui): update translation (German)
...
Currently translated at 70.3% (1048 of 1490 strings)
translationBot(ui): update translation (German)
Currently translated at 69.4% (1027 of 1479 strings)
Co-authored-by: Riku <riku.block@gmail.com >
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translation: InvokeAI/Web UI
2024-10-11 09:41:45 +11:00
psychedelicious
3f6acdc2d3
fix(ui): use non-icon version of delete menu item on canvas context menu
2024-10-10 18:23:32 -04:00
psychedelicious
4aa20a95b2
feat(ui): consolidate img2img canvas flow
...
Make the `New Canvas From Image` button do what the `New Img2Img From Image` does.
2024-10-11 09:03:44 +11:00
Ryan Dick
683f9a70e7
Restore instantx_control_mode field on FLUX ControlNet invocation.
2024-10-10 15:25:30 +00:00
Ryan Dick
bb947c6162
Make FLUX controlnet node API more like SD API and get it working with linear UI.
2024-10-10 07:59:29 -04:00
Mary Hipp
2bd44662f3
possibly a working FLUX controlnet graph
2024-10-10 07:59:29 -04:00
Mary Hipp
5141be8009
hide Control Mode for FLUX control net layer
2024-10-10 07:59:29 -04:00
Mary Hipp
eacdfc660b
ui: enable controlnet controls when FLUX is main model, update schema
2024-10-10 07:59:29 -04:00
psychedelicious
236c065edd
fix(ui): respect grid size when fitting layer to box
2024-10-10 07:43:46 -04:00
psychedelicious
1f5d744d01
fix(ui): disable canvas-related image context menu items when canvas is busy
2024-10-10 07:43:46 -04:00
psychedelicious
b36c6af0ae
feat(ui): add new img2img canvas from image functionality
...
This replicates the img2img flow:
- Reset the canvas
- Resize the bbox to the image's aspect ratio at the optimal size for the selected model
- Add the image as a raster layer
- Resizes the layer to fit the bbox using the 'fill' strategy
After this completes, the user can immediately click Invoke and it will do img2img.
2024-10-10 07:43:46 -04:00
psychedelicious
4e431a9d5f
feat(ui): add a mutex to CanvasEntityTransformer to prevent concurrent operations
2024-10-10 07:43:46 -04:00
psychedelicious
48a8232285
feat(ui): add entity adapter init callbacks
...
If an entity needs to do something after init, it can use this system. For example, if a layer should be transformed immediately after initializing, it can use an init callback.
2024-10-10 07:43:46 -04:00
psychedelicious
94007fef5b
tidy(ui): remove unused reducer
2024-10-10 07:43:46 -04:00
psychedelicious
9e6fb3bd3f
feat(ui): add hooks for new layer/canvas from image & use them
2024-10-10 07:43:46 -04:00
psychedelicious
8522129639
tidy(ui): "syncCache" -> "syncKonvaCache"
...
Reduce confusion w/ the many other caches
2024-10-10 17:45:05 +11:00
psychedelicious
15033b1a9d
fix(ui): prevent edge case where layers get cached while hidden
2024-10-10 17:45:05 +11:00
psychedelicious
743d78f82b
feat(ui): more debug info for canvas adapters
2024-10-10 17:45:05 +11:00
psychedelicious
06a434b0a2
tidy(ui): clean up awkward selector in CanvasEntityAdapterBase
2024-10-10 17:45:05 +11:00
psychedelicious
7f2fdae870
perf(ui): optimized object rendering
...
- Throttle opacity and compositing fill rendering to 100ms
- Reduce compositing rect rendering to minimum
2024-10-10 17:45:05 +11:00
psychedelicious
00be03b5b9
perf(ui): hide offscreen & uninteractable layers
2024-10-10 17:45:05 +11:00
psychedelicious
0f98806a25
fix(ui): deprecated konva attr
2024-10-10 17:45:05 +11:00
psychedelicious
0f1541d091
perf(ui): disable perfect draw for all shapes
...
This feature involves a certain amount of extra work to ensure stroke and fill with partial opacity render correctly together. However, none of our shapes actually use that combination of attributes, so we can disable this for a minor perf boost.
2024-10-10 17:45:05 +11:00
psychedelicious
c49bbb22e5
feat(ui): track whether entities intersect the bbox
2024-10-10 17:45:05 +11:00
psychedelicious
7bd4b586a6
feat(ui): track whether entities are on-screen or off-screen
2024-10-10 17:45:05 +11:00
psychedelicious
754f049f54
feat(ui): getScaledStageRect returns snapped values
2024-10-10 17:45:05 +11:00
psychedelicious
883beb90eb
refactor(ui): do not rely on konva internal canvas cache for layer previews
...
Instead of pulling the preview canvas from the konva internals, use the canvas created for bbox calculations as the preview canvas.
This doesn't change perf characteristics, because we were already creating this canvas. It just means we don't need to dip into the konva internals.
It fixes an issue where the layer preview didn't update or show when a layer is disabled or otherwise hidden.
2024-10-10 17:45:05 +11:00
psychedelicious
ad76399702
feat(ui): add getRectIntersection util
2024-10-10 17:45:05 +11:00
psychedelicious
69773a791d
feat(ui): use useAssertSingleton for all singleton modals
...
footgun insurance
2024-10-10 15:49:09 +11:00
psychedelicious
99e88e601d
fix(ui): edge case where you get stuck w/ the workflow list menu open, or it opens unexpectedly
...
- When resetting workflows, retain the current mode state
- Remove the useEffect that reacted to the `isCleanEditor` flag to prevent getting menu getting locked open
2024-10-10 15:49:09 +11:00
psychedelicious
4050f7deae
feat(ui): make workflow support link work like a link
2024-10-10 15:49:09 +11:00