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
psychedelicious
0399b04f29
fix(ui): workflows marked touched on first load
2024-10-10 15:49:09 +11:00
psychedelicious
3b349b2686
chore(ui): lint
2024-10-10 15:49:09 +11:00
psychedelicious
aa34dbe1e1
feat(ui): "CopyWorkflowLinkModal" -> "ShareWorkflowModal"
2024-10-10 15:49:09 +11:00
psychedelicious
ac2476c63c
fix(ui): use modal overlay for workflow share modal
2024-10-10 15:49:09 +11:00
psychedelicious
f16489f1ce
feat(ui): split out delete style preset dialog logic into singleton
2024-10-10 15:49:09 +11:00
psychedelicious
3b38b69192
feat(ui): split out copy workflow link dialog logic into singleton
2024-10-10 15:49:09 +11:00
psychedelicious
2c601438eb
feat(ui): split out delete workflow dialog logic into singleton
2024-10-10 15:49:09 +11:00
psychedelicious
5d6a2a3709
fix(ui): use Text component in style preset delete dialog
2024-10-10 15:49:09 +11:00
psychedelicious
1d7a264050
feat(ui): workflow share icon only for non-user workflows
2024-10-10 15:49:09 +11:00
psychedelicious
c494e0642a
feat(ui): split out new workflow dialog logic, use it in list menu, restore new workflow dialog
2024-10-10 15:49:09 +11:00
psychedelicious
849b9e8d86
fix(ui): duplicate copy workflow link modals
...
The component state is a global singleton, but each workflow had an instance of the modal. So when you open one, they _all_ opened.
2024-10-10 15:49:09 +11:00
psychedelicious
4a66b7ac83
chore(ui): bump @invoke-ai/ui-library
...
Brings in a fix where ConfirmationAlertDialog rest props weren't used correctly.
2024-10-10 15:49:09 +11:00
psychedelicious
751eb59afa
fix(ui): issues with workflow list state
...
- Tooltips on buttons for a list item getting stuck
- List item action buttons should not propagate clicks
2024-10-10 15:49:09 +11:00