psychedelicious
1533429e54
feat(ui): optimized empty mask logic
...
Turns out, it's more efficient to just use the bbox logic for empty mask calculations. We already track if if the bbox needs updating, so this calculation does minimal work.
The dedicated calculation wasn't able to use the bbox tracking so it ran far more often than the bbox calculation.
Removed the "fast" bbox calculation logic, bc the new logic means we are continually updating the bbox in the background - not only when the user switches to the move tool and/or selects a layer.
The bbox calculation logic is split out from the bbox rendering logic to support this.
Result - better perf overall, with the empty mask handling retained.
2024-05-09 07:52:52 -04:00
psychedelicious
fc000214a5
feat(ui): check for transparency and clear masks if no pixel data
...
Mask vector data includes additive (brush, rect) shapes and subtractive (eraser) shapes. A different composite operation is used to draw a shape, depending on whether it is additive or subtractive.
This means that a mask may have vector objects, but once rendered, is _visually_ empty (fully transparent). The only way determine if a mask is visually empty is to render it and check every pixel.
When we generate and save layer metadata, these fully erased masks are still used. Generating with an empty mask is a no-op in the backend, so we want to avoid this and not pollute graphs/metadata.
Previously, we did that pixel-based when calculating the bbox, which we only did when using the move tool, and only for the selected layer.
This change introduces a simpler function to check if a mask is transparent, and if so, deletes all its objects to reset it. This allows us skip these no-op layers entirely.
This check is debounced to 300 ms, trailing edge only.
2024-05-09 07:52:52 -04:00
psychedelicious
f631aea4ee
fix(ui): skip RG layers with no mask
...
These do not need to be added to the graph or metadata, as they are no-ops on the backend.
2024-05-09 07:52:52 -04:00
psychedelicious
32f4c1f966
fix(ui): memoize mouse event handlers
...
This prevents resetting the stage event handlers on every frame. Whoops!
2024-05-09 07:52:52 -04:00
psychedelicious
adebe639e3
tidy(ui): remove errant console.logs
2024-05-09 07:52:52 -04:00
psychedelicious
44280ed472
fix(ui): layer recall uses fresh ids
...
When layer metadata is stored, the layer IDs are included. When recalling the metadata, we need to assign fresh IDs, else we can end up with multiple layers with the same ID, which of course causes all sorts of issues.
2024-05-09 07:52:52 -04:00
psychedelicious
cec8840038
fix(ui): handle disabled RG layers
...
Was missing a check for `layer.isEnabled`.
2024-05-09 07:52:52 -04:00
psychedelicious
fc7f484935
feat(ui): add data-testid
s to control layers components:
...
- Add Layer Menu Button: `control-layers-add-layer-menu-button`
- Delete All Layers Button: `control-layers-delete-all-layers-button`
- CL Layer List: `control-layers-layer-list`
- CL Canvas: `control-layers-canvas`
- Toggle Metadata Button: `toggle-show-metadata-button`
- Toggle Progress Button: `toggle-show-progress-button`
- Toggle Viewer Menu Button: `toggle-viewer-menu-button`
- Settings Tab Button: `generation-tab-settings-tab-button`
- Control Layers Tab Button: `generation-tab-control-layers-tab-button`
2024-05-09 07:03:13 +10:00
psychedelicious
1aa7cd57c2
feat(ui): add invert brush scroll checkbox to control layers settings
2024-05-09 07:03:13 +10:00
psychedelicious
722a91aedb
fix(ui): canvas toolbar centering
2024-05-09 07:03:13 +10:00
Mary Hipp
03c24ca9cb
lint fix
2024-05-08 15:49:37 -04:00
Mary Hipp
5820579237
switch to generation tab when someone sends to img2img
2024-05-08 15:49:37 -04:00
psychedelicious
6c768bfe7e
fix(ui): viewer toggle prevents progress toggle interaction
2024-05-08 08:39:18 -04:00
psychedelicious
5ca794b94f
feat(ui): show progress toggle on control layers toolbar
2024-05-08 08:39:18 -04:00
psychedelicious
d20695260d
feat(ui): open viewer on enqueue from generation tab
2024-05-08 08:39:18 -04:00
psychedelicious
d8557d573b
Revert "feat(ui): extend zod with a is
typeguard` method"
...
This reverts commit 0f45933791
.
2024-05-08 08:39:18 -04:00
psychedelicious
6c1fd584d2
feat(ui): pre-CL control adapter metadata recall
2024-05-08 08:39:18 -04:00
psychedelicious
e8e764be20
feat(ui): revise image viewer
...
- Viewer only exists on Generation tab
- Viewer defaults to open
- When clicking the Control Layers tab on the left panel, close the viewer (i.e. open the CL editor)
- Do not switch to editor when adding layers (this is handled by clicking the Control Layers tab)
- Do not open viewer when single-clicking images in gallery
- _Do_ open viewer when _double_-clicking images in gallery
- Do not change viewer state when switching between app tabs (this no longer makes sense; the viewer only exists on generation tab)
- Change the button to a drop down menu that states what you are currently doing, e.g. Viewing vs Editing
2024-05-08 08:39:18 -04:00
psychedelicious
e8023c44b0
chore(ui): lint
2024-05-08 08:39:18 -04:00
psychedelicious
a3a6449786
feat(ui): versioned control layers metadata
2024-05-08 08:39:18 -04:00
psychedelicious
e9d2ffe3d7
fix(ui): process control image on recall if no processed image
2024-05-08 08:39:18 -04:00
psychedelicious
23ad6fb730
feat(ui): handle missing images/models when recalling control layers
2024-05-08 08:39:18 -04:00
psychedelicious
00f36cb491
tidy(ui): clean up control layers graph builder
2024-05-08 08:39:18 -04:00
psychedelicious
3f489c92c8
feat(ui): handle initial image layers in control layers helper
2024-05-08 08:39:18 -04:00
psychedelicious
f147f99bef
feat(ui): better metadata labels for layers
2024-05-08 08:39:18 -04:00
psychedelicious
6107e3d281
fix(ui): fix zControlAdapterBase schema weight
2024-05-08 08:39:18 -04:00
psychedelicious
de33d6e647
fix(ui): metadata "Layers" -> "Layer"
2024-05-08 08:39:18 -04:00
psychedelicious
e36e5871a1
chore(ui): lint
2024-05-08 08:39:18 -04:00
psychedelicious
8b25c1a62e
tidy(ui): remove extraneous metadata handlers
2024-05-08 08:39:18 -04:00
psychedelicious
dfbd7eb1cf
feat(ui): individual layer recall
2024-05-08 08:39:18 -04:00
psychedelicious
b43b2714cc
feat(ui): add fracturedjsonjs
to pretty-serialize objects
...
In use on the metadata viewer - makes it sooo much easier on the eyes.
2024-05-08 08:39:18 -04:00
psychedelicious
e537de2f6d
feat(ui): layers recall
...
This still needs some finessing - needs logic depending on the tab...
2024-05-08 08:39:18 -04:00
psychedelicious
ccd399e277
feat(ui): add getIsVisible
to metadata handlers
2024-05-08 08:39:18 -04:00
psychedelicious
bfad814862
fix(ui): fix IPAdapterConfigV2 schema weight
2024-05-08 08:39:18 -04:00
psychedelicious
6e8b7f9421
feat(ui): write layers to metadata
2024-05-08 08:39:18 -04:00
psychedelicious
e47629cbe7
feat(ui): add zod schema for layers array
2024-05-08 08:39:18 -04:00
psychedelicious
e840de27ed
feat(ui): extend zod with a is
typeguard` method
...
Feels dangerous, but it's very handy.
2024-05-08 08:39:18 -04:00
psychedelicious
8342f32f2e
refactor(ui): rewrite all types as zod schemas
...
This change prepares for safe metadata recall.
2024-05-08 08:39:18 -04:00
psychedelicious
a7aa529b99
tidy(ui): "imageName" -> "name"
2024-05-08 08:39:18 -04:00
psychedelicious
4adc592657
feat(ui): move strength to init image layer
...
This further splits the control layers state into its own thing.
2024-05-07 11:02:16 +10:00
psychedelicious
e8d60e8d83
fix(ui): image metadata viewer stuck when spamming hotkey
2024-05-07 11:02:16 +10:00
psychedelicious
886f5c90a3
feat(ui): move img2img strength out of advanced on canvas
2024-05-07 11:02:16 +10:00
psychedelicious
72ce239592
revert(ui): remove floating viewer
...
There are unresolved platform-specific issues with this component, and its utility is debatable.
Should be easy to just revert this commit to add it back in the future if desired.
2024-05-06 19:00:07 -04:00
psychedelicious
a826f8f8c5
fix(ui): show total layer count in control layers tab
2024-05-06 19:00:07 -04:00
psychedelicious
b6c19a8e47
feat(ui): close viewer when adding a RG layer
2024-05-06 19:00:07 -04:00
psychedelicious
67d6cf19c6
fix(ui): switch to viewer if auto-switch is enabled
2024-05-06 19:00:07 -04:00
psychedelicious
a9bf651c69
chore(ui): bump all deps
2024-05-06 19:00:07 -04:00
psychedelicious
3bd5d9a8e4
fix(ui): memoize FloatingImageViewer
...
Maybe this will fix @JPPhoto's issue?
2024-05-06 19:00:07 -04:00
psychedelicious
6249982d82
fix(ui): stuck viewer when spamming toggle
...
There are a number of bugs with `framer-motion` that can result in sync issues with AnimatePresence and the conditionally rendered component.
You can see this if you rapidly click an accordion, occasionally it gets out of sync and is closed when it should be open.
This is a bigger problem with the viewer where the user may hold down the `z` key. It's trivial to get it to lock up.
For now, just remove the animation entirely.
Upstream issues for reference:
https://github.com/framer/motion/issues/2023
https://github.com/framer/motion/issues/2618
https://github.com/framer/motion/issues/2554
2024-05-06 19:00:07 -04:00
psychedelicious
6b98dba71d
chore(ui): lint
2024-05-06 08:55:32 -04:00
psychedelicious
c0065a65a0
feat(ui): floating viewer always shows progress, never shows metadata
2024-05-06 08:55:32 -04:00
psychedelicious
cce3144c74
feat(ui): add floating image viewer
2024-05-06 08:55:32 -04:00
psychedelicious
aab152a7e9
fix(ui): track mouse out flags correctly
2024-05-06 08:55:32 -04:00
psychedelicious
c5b948bc3f
feat(ui): fade layer selection color
2024-05-06 08:55:32 -04:00
psychedelicious
44ecddae2e
feat(ui): style Settings/Control Layers tabs like tabs
2024-05-06 08:55:32 -04:00
psychedelicious
26847895b9
fix(ui): update hotkeys for viewer
2024-05-06 08:55:32 -04:00
psychedelicious
e4a640f0a7
feat(ui): optimized rendering of selected layer
...
Instead of caching on every stroke, we can use a compositing rect when the layer is being drawn to improve performance.
2024-05-04 12:03:28 -04:00
psychedelicious
b5b6a96d94
feat(ui): dynamic brush spacing
...
Scaled to 10% of brush size, clamped between 5px and 15px. This makes drawing feel a bit smoother, but maintains reasonable performance.
2024-05-04 12:03:28 -04:00
psychedelicious
806a8f69c5
perf(ui): rerender of opacity sliders
2024-05-04 12:03:28 -04:00
psychedelicious
ac0b9ba290
tidy(ui): $cursorPosition
-> $lastCursorPos
2024-05-04 12:03:28 -04:00
psychedelicious
7ca613d41c
feat(ui): snap cursor pos when drawing rects
...
- Rects snap to stage edge when within a threshold (10 screen pixels)
- When mouse leaves stage, set last mousedown pos to null, preventing nonfunctional rect outlines
Partially addresses #6306 .
There's a technical challenge to fully address the issue - mouse event are not fired when the mouse is outside the stage. While we could draw the rect even if the mouse leaves, we cannot update the rect's dimensions on mouse move, or complete the drawing on mouse up.
To fully address the issue, we'd need to a way to forward window events back to the stage, or at least handle window events. We can explore this later.
2024-05-04 12:03:28 -04:00
psychedelicious
5cb1ff8679
fix(ui): open viewer on image click, not select
2024-05-04 12:03:28 -04:00
psychedelicious
8794b99d51
fix(ui): save upscaled images to gallery on canvas tab
2024-05-03 23:15:10 -04:00
psychedelicious
6bdded85da
fix(ui): do not auto-hide next/prev image buttons
2024-05-03 23:15:10 -04:00
psychedelicious
26613f10c7
feat(ui): close viewer when user switches tabs
2024-05-03 23:15:10 -04:00
psychedelicious
6d2fe3b691
tidy(ui): clean up layer reset logic
2024-05-03 23:15:10 -04:00
psychedelicious
2888845f7c
fix(ui): invalidate mask cache when moving layer
2024-05-03 23:15:10 -04:00
psychedelicious
4beccea6e7
fix(ui): do not run HRO if using an initial image
2024-05-03 23:15:10 -04:00
psychedelicious
68d1458c83
fix(ui): address feedback
2024-05-04 08:40:12 +10:00
blessedcoolant
f4dde883ca
feat: improve the switch states of the control layers / viewer area
2024-05-04 08:40:12 +10:00
psychedelicious
be7eeb576b
fix(ui): fix viewer getting stuck when spamming toggle
2024-05-03 20:57:18 +10:00
psychedelicious
af9f0e0963
feat(ui): cache control layer mask images
...
When invoking with control layers, we were creating and uploading the mask images on every enqueue, even when the mask didn't change. The mask image can be cached to greatly reduce the number of uploads.
With this change, we are a bit smarter about the mask images:
- Check if there is an uploaded mask image name
- If so, attempt to retrieve its DTO. Typically it will be in the RTKQ cache, so there is no network request, but it will make a network request if not cached to confirm the image actually exists on the server.
- If we don't have an uploaded mask image name, or the request fails, we go ahead and upload the generated blob
- Update the layer's state with a reference to this uploaded image for next time
- Continue as before
Any time we modify the mask (drawing/erasing, resetting the layer), we invalidate that cached image name (set it to null).
We now only upload images when we need to and generation starts faster.
2024-05-03 20:57:18 +10:00
psychedelicious
579d436934
fix(ui): floating param/gallery buttons
2024-05-02 23:09:26 -04:00
psychedelicious
36f01988e8
chore(ui): lint
2024-05-02 23:09:26 -04:00
psychedelicious
d9b92d19f9
feat(ui): clearer viewer/editor context switching
2024-05-02 23:09:26 -04:00
psychedelicious
fdfc379a84
fix(ui): layer counts
2024-05-02 23:09:26 -04:00
psychedelicious
2062cfe84a
fix(ui): cursor when no renderable layers added
2024-05-02 23:09:26 -04:00
psychedelicious
eb36e834b2
feat(ui): add fallback when no layers exist
2024-05-02 23:09:26 -04:00
psychedelicious
2baa33730a
fix(ui): fix control layer list layout
2024-05-02 23:09:26 -04:00
psychedelicious
c30df7ce79
feat(ui): style settings/control layers tabs
2024-05-02 23:09:26 -04:00
psychedelicious
f05ac5a7a5
chore(ui): bump @invoke-ai/ui-library
2024-05-02 23:09:26 -04:00
psychedelicious
85dd78b8df
fix(ui): handle deleting images in use in generation tab
2024-05-02 23:09:26 -04:00
psychedelicious
4c7be03702
tidy(ui): rename generation tab graph builders
2024-05-02 23:09:26 -04:00
psychedelicious
e354fee4f4
fix(ui): add img2img metadata to graphs
2024-05-02 23:09:26 -04:00
psychedelicious
20e628297c
fix(ui): smoother animations in current image preview
2024-05-02 23:09:26 -04:00
psychedelicious
98664fc46f
fix(ui): gallery prev/next buttons animations
2024-05-02 23:09:26 -04:00
psychedelicious
33617fc06a
feat(ui): rework image viewer
...
- Rework styling
- Replace "CurrentImageDisplay" entirely
- Add a super short fade to reduce jarring transition
- Make the viewer a singleton component, overlaid on everything else - reduces change when switching tabs
2024-05-02 23:09:26 -04:00
psychedelicious
c05e52ebae
fix(ui): do not delete all layers when using image as initial image
2024-05-02 23:09:26 -04:00
psychedelicious
5734a97c55
fix(ui): do not attempt drawing when invalid layer type selected
2024-05-02 23:09:26 -04:00
psychedelicious
94a73d5377
feat(ui): update mm-related translations
2024-05-02 23:09:26 -04:00
psychedelicious
0f7fdabe9b
feat(ui): rename tab identifiers
...
- "txt2img" -> "generation"
- "unifiedCanvas" -> "canvas"
- "modelManager" -> "models"
- "nodes" -> "workflows"
- Add UI slice migration setting the active tab to "generation"
2024-05-02 23:09:26 -04:00
psychedelicious
7c1f1076b4
feat(ui): rename tabs
...
- "Text to Image" -> "Generation"
- "Unified Canvas" -> "Canvas"
- "Model Manager" -> "Models"
2024-05-02 23:09:26 -04:00
psychedelicious
a6ac184211
tidy(ui): excise img2img tab
2024-05-02 23:09:26 -04:00
psychedelicious
7d58908e32
fix(ui): fix img2img graphs w/ control layers
2024-05-02 23:09:26 -04:00
psychedelicious
26d3ec3fce
fix(ui): destroy initial image layer after deleting
2024-05-02 23:09:26 -04:00
psychedelicious
dc81357152
feat(ui): add img2img via control layers to graph builders
2024-05-02 23:09:26 -04:00
psychedelicious
c9886796f6
feat(ui): add image viewer overlay
...
- Works on txt2img, canvas and workflows tabs, img2img has its own side-by-side view
- In workflow editor, the is closeable only if you are in edit mode, else it's always there
- Press `i` to open
- Press `esc` to close
- Selecting an image or changing image selection opens the viewer
- When generating, if auto-switch to new image is enabled, the viewer opens when an image comes in
To support this change, I organized and restructured some tab stuff.
2024-05-02 23:09:26 -04:00
psychedelicious
209ddc2037
fix(ui): do not toggle layers on double click of opacity popover
2024-05-02 23:09:26 -04:00
psychedelicious
8b6a283eab
feat(ui): add opacity to initial image layer
2024-05-02 23:09:26 -04:00
psychedelicious
75be6814bb
feat(ui): add renderer for initial image
2024-05-02 23:09:26 -04:00
psychedelicious
1d213067e8
feat(ui): add initial image layer to CL
2024-05-02 23:09:26 -04:00
psychedelicious
d67480d92c
feat(ui): add layerwrapper component
2024-05-02 23:09:26 -04:00
psychedelicious
d55ea318ec
tidy(ui): remove unused gallery hotkeys
2024-05-02 23:09:26 -04:00
psychedelicious
474eab6f8a
fix(ui): clamp incoming w/h to ensure always a multiple of 8
...
When recalling metadata and/or using control image dimensions, it was possible to set a width or height that was not a multiple of 8, resulting in generation failures.
Added a `clamp` option to the w/h actions to fix this. The option is used for all untrusted sources - everything except for the w/h number inputs, which clamp the values themselves.
2024-05-02 23:09:26 -04:00
psychedelicious
1b13fee256
fix(ui): firefox drawing lag
...
Firefox v125.0.3 and below has a bug where `mouseenter` events are fired continually during mouse moves. The issue isn't present on FF v126.0b6 Developer Edition. It's not clear if the issue is present on FF nightly, and we're not sure if it will actually be fixed in the stable v126 release.
The control layers drawing logic relied on on `mouseenter` events to create new lines, and `mousemove` to extend existing lines. On the affected version of FF, all line extensions are turned into new lines, resulting in very poor performance, noncontiguous lines, and way-too-big internal state.
To resolve this, the drawing handling was updated to not use `mouseenter` at all. As a bonus, resolving this issue has resulted in simpler logic for drawing on the canvas.
2024-05-02 23:09:26 -04:00
psychedelicious
6363095b29
feat(ui): control adapter recall for control layers
...
- Add set of metadata handlers for the control layers CAs
- Use these conditionally depending on the active tab - when recalling on txt2img, the CAs go to control layers, else they go to the old CA area.
2024-05-02 23:09:26 -04:00
psychedelicious
4cd78b9478
feat(ui): add getImageDTO imperative RTKQ helper
2024-05-02 23:09:26 -04:00
psychedelicious
2cde8a643e
tidy(ui): suffix a control adapter types/objects with V2
...
Prevent mixing the old and new implementations up
2024-05-02 23:09:26 -04:00
psychedelicious
f9555f03f5
tidy(ui): "CONTROLNET_PROCESSORS" -> "CA_PROCESSOR_DATA"
2024-05-02 23:09:26 -04:00
psychedelicious
b1d8f3a3f9
tidy(ui): revert changes to old CA implementation
...
These changes were left over from the previous attempt to handle control adapters in control layers with the same logic. Control Layers are now handled totally separately, so these changes may be reverted.
2024-05-02 23:09:26 -04:00
psychedelicious
c35625eb44
feat(ui): processor layout changes
2024-05-01 21:48:47 -04:00
psychedelicious
6f572e1cce
fix(ui): convert t2i to cnet and vice-versa when model changes
2024-05-01 21:48:47 -04:00
psychedelicious
54acd3f2b1
ci(ui): restore error status for circular deps
2024-05-01 21:48:47 -04:00
psychedelicious
6e966909ab
chore(ui): lint
2024-05-01 21:48:47 -04:00
psychedelicious
311ba8c04b
fix(ui): ensure canvas size is correctly updated when model changed
...
Closes #6293
2024-05-01 21:48:47 -04:00
psychedelicious
1b617768cf
fix(ui): canvas infinite loop when setting bbox dims
...
When typing in a number into the w/h number inputs, if the number is less than the step, it appears the value of 0 is used. This is unexpected; it means Chakra isn't clamping the value correctly (or maybe our wrapper isn't clamping it).
Add checks to never bail if the width or height value from the number input component is 0.
2024-05-01 21:48:47 -04:00
psychedelicious
8ceb94497e
fix(ui): fix canvas rendering of control images
2024-05-01 21:48:47 -04:00
psychedelicious
efb571401c
feat(ui): tweak control adapter layout
2024-05-01 21:48:47 -04:00
psychedelicious
ffba4871d0
tidy(ui): "scribble" -> "Scribble"
2024-05-01 21:48:47 -04:00
psychedelicious
9437d701b2
fix(ui): disable clear processor when no processor selected
2024-05-01 21:48:47 -04:00
psychedelicious
6effa19626
fix(ui): edge cases in auto-process
2024-05-01 21:48:47 -04:00
psychedelicious
45c2ac41d5
feat(ui): processor layout/styling
2024-05-01 21:48:47 -04:00
psychedelicious
ca1c3c0873
fix(ui): do not re-process if processor config hasn't changed
2024-05-01 21:48:47 -04:00
psychedelicious
47ee08db91
fix(ui): processor select styling
2024-05-01 21:48:47 -04:00
psychedelicious
c96b98fc9e
feat(ui): auto-process for control layer CAs
2024-05-01 21:48:47 -04:00
psychedelicious
905baf2787
refactor(ui): continue wiring up CA logic across (wip)
...
It works!
2024-05-01 21:48:47 -04:00
psychedelicious
0e55488ff6
refactor(ui): wire up CA logic across (wip)
2024-05-01 21:48:47 -04:00
psychedelicious
424a27eeda
refactor(ui): add CA processor config components (wip)
2024-05-01 21:48:47 -04:00
psychedelicious
6007218a51
refactor(ui): add CA config components (wip)
2024-05-01 21:48:47 -04:00
psychedelicious
811e8a5a8b
refactor(ui): rename & export actions from CL slice
2024-05-01 21:48:47 -04:00
psychedelicious
121918352a
refactor(ui): add control layers separate control adapter implementation (wip)
...
- Revise control adapter config types
- Recreate all control adapter mutations in control layers slice
- Bit of renaming along the way - typing 'RegionalGuidanceLayer' over and over again was getting tedious
2024-05-01 21:48:47 -04:00
psychedelicious
3717321480
tidy(ui): organize layer components
2024-05-01 21:48:47 -04:00
blessedcoolant
38880cde5c
chore: update schema
2024-05-01 01:20:22 +05:30
blessedcoolant
39ab4dd83e
Merge branch 'main' into pr/6086
2024-05-01 00:37:06 +05:30
psychedelicious
631878b212
feat(ui): border radius on canvas
2024-04-30 08:10:59 -04:00
psychedelicious
7a5399e83c
feat(ui): display message when no layers are added
2024-04-30 08:10:59 -04:00
psychedelicious
e90775731d
fix(ui): layer layout orientation
2024-04-30 08:10:59 -04:00
psychedelicious
3f26880493
fix(ui): "Global Settings" -> "Settings"
2024-04-30 08:10:59 -04:00
psychedelicious
21cf1004db
fix(ui): layers default to expanded
2024-04-30 08:10:59 -04:00
psychedelicious
d74cd12aa6
feat(ui): collapsible layers
2024-04-30 08:10:59 -04:00
psychedelicious
cf1883585d
chore(ui): lint
2024-04-30 08:10:59 -04:00
psychedelicious
8a791d4f16
feat(ui): make control image opacity filter toggleable
2024-04-30 08:10:59 -04:00
psychedelicious
1212698059
tidy(ui): more renaming of components
2024-04-30 08:10:59 -04:00
psychedelicious
ba6db33b39
tidy(ui): more renaming of components
2024-04-30 08:10:59 -04:00
psychedelicious
b3dbfdaa02
tidy(ui): more renaming of components
2024-04-30 08:10:59 -04:00
psychedelicious
3441187c23
tidy(ui): "regional prompts" -> "control layers"
2024-04-30 08:10:59 -04:00
psychedelicious
8de56fd77c
tidy(ui): move regionalPrompts files to controlLayers
2024-04-30 08:10:59 -04:00
psychedelicious
22bd33b7c6
chore(ui): lint
2024-04-30 08:10:59 -04:00
psychedelicious
2af5c4be9f
fix(ui): ip adapter layers are not selectable
2024-04-30 08:10:59 -04:00
psychedelicious
415a41e21a
perf(ui): reset maskobjects when layer has no bbox (all objects erased)
2024-04-30 08:10:59 -04:00
psychedelicious
aa2ca03056
fix(ui): filter layers based on tab when disabling invoke button
2024-04-30 08:10:59 -04:00
psychedelicious
a20faca20f
feat(ui): layer layout tweaks
2024-04-30 08:10:59 -04:00
psychedelicious
9d042baf48
fix(ui): ip adapter layers always at bottom of list
2024-04-30 08:10:59 -04:00
psychedelicious
6195741814
feat(ui): move global mask opacity to settings popover
2024-04-30 08:10:59 -04:00
psychedelicious
c2f8adf93e
fix(ui): deselect other layers when new layer added
2024-04-30 08:10:59 -04:00
psychedelicious
ace3955760
fix(ui): tool preview/cursor when non-interactable layer selected
2024-04-30 08:10:59 -04:00
psychedelicious
720e16cea6
feat(ui): tweak layer list styling to better indicate selectablility
2024-04-30 08:10:59 -04:00
psychedelicious
a357a1ac9d
feat(ui): remove select layer on click in canvas
...
It's very easy to end up in a spot where you cannot select a layer at all to move it around. Too tricky to handle otherwise.
2024-04-30 08:10:59 -04:00
psychedelicious
22f160bfcc
fix(ui): unlink control adapter opaicty from global mask opacity
2024-04-30 08:10:59 -04:00
psychedelicious
fa637b5c59
fix(ui): add missed ca layer opacity logic
...
didn't stage the right changes a few commits back
2024-04-30 08:10:59 -04:00
psychedelicious
1f68a60752
feat(ui): hold shift to use control image size w/o model constraints
2024-04-30 08:10:59 -04:00
psychedelicious
048bd18e10
feat(ui): separate ca layer opacity
2024-04-30 08:10:59 -04:00
psychedelicious
e5ec529f0f
feat(ui): fix layer arranging
2024-04-30 08:10:59 -04:00
psychedelicious
d884c15d0c
feat(ui): update layer menus
2024-04-30 08:10:59 -04:00
psychedelicious
9ee7cad613
feat(ui): make control layer ui exclusive to txt2img tab
2024-04-30 08:10:59 -04:00
psychedelicious
629110784d
fix(ui): delete control layers correctly
2024-04-30 08:10:59 -04:00
psychedelicious
c1666a8b5a
fix(ui): select default control/ip adapter models in control layers
2024-04-30 08:10:59 -04:00
psychedelicious
d14b315bc6
fix(ui): use optimal size when using control image dims
2024-04-30 08:10:59 -04:00
psychedelicious
fe459295ea
fix(ui): exclude disabled control adapters on control layers
2024-04-30 08:10:59 -04:00
psychedelicious
9d67ec9efe
fix(ui): toggle control adapter layer vis
2024-04-30 08:10:59 -04:00
psychedelicious
5bf4d37949
perf(ui): reduce control image processing to when it is needed
...
Only should reprocess if the processor settings or the image has changed.
2024-04-30 08:10:59 -04:00
psychedelicious
387ab9cee7
feat(ui): reset controlnet model to null instead of disabling when base model changes
2024-04-30 08:10:59 -04:00
psychedelicious
56050f7887
fix(ui): fix canvas scaling when window is zoomed
...
Konva doesn't react to changes to window zoom/scale. If you open the tab at, say, 90%, then bump to 100%, the pixel ratio of the canvas doesn't change. This results in lower-quality renders on the canvas (generation is unaffected).
2024-04-30 08:10:59 -04:00
psychedelicious
c354470cd1
perf(ui): do not cache controlnet images unless required
2024-04-30 08:10:59 -04:00
psychedelicious
ded8267505
WIP control adapters in regional
2024-04-30 08:10:59 -04:00
psychedelicious
ebeae41cb2
tidy(ui): minor ca component tidy
2024-04-30 08:10:59 -04:00
psychedelicious
6f5f3381f9
feat(ui): revise internal state for RCC
2024-04-30 08:10:59 -04:00
psychedelicious
2f6fec8c6c
chore(ui): lint
2024-04-30 08:10:59 -04:00
psychedelicious
cc4bef4859
refactor(ui): move size state to regional
2024-04-30 08:10:59 -04:00
psychedelicious
b6a45e53f1
refactor(ui): move positive2 and negative2 prompt to regional
2024-04-30 08:10:59 -04:00
psychedelicious
1cf1e53a6c
refactor(ui): move positive and negative prompt to regional
2024-04-30 08:10:59 -04:00
psychedelicious
c686625076
feat(ui): add 'control_layer' type
2024-04-30 08:10:59 -04:00
psychedelicious
8d86fabf4b
chore(ui): lint
2024-04-24 20:09:52 +10:00
psychedelicious
af3e910ad3
fix(ui): fix layer arrangement
2024-04-24 20:09:52 +10:00
psychedelicious
af25d00964
tidy(ui): use const for brush spacing
2024-04-24 20:09:52 +10:00
psychedelicious
d4a30d08ef
feat(ui): create new line when mouse held down, leaves canvas and comes back over
2024-04-24 20:09:52 +10:00
psychedelicious
bd8a33e824
tidy(ui): clean up renderer functions
...
- Split logic to create layers/objects from the updating logic
- Organize and comment functions
2024-04-24 20:09:52 +10:00
psychedelicious
b425646b7b
chore(ui): lint
2024-04-24 20:09:52 +10:00
psychedelicious
293e11cfa6
feat(ui): hide add prompt buttons when user has a prompt
2024-04-24 20:09:52 +10:00
psychedelicious
c73aabdfbf
feat(ui): regional control defaults to having a positive prompt
2024-04-24 20:09:52 +10:00
psychedelicious
ca989c54b0
fix(ui): restore OG aspect ratio preview for non-t2i tabs
2024-04-24 20:09:52 +10:00
psychedelicious
ae1955a1a8
feat(ui): update canvas graphs to provide unet
2024-04-23 07:32:53 -04:00
psychedelicious
99e28da19b
feat(ui): add variant to model edit
...
Also simplify the layouting for all model view/edit components.
2024-04-23 07:32:53 -04:00
psychedelicious
42a159beaa
chore(ui): typegen
2024-04-23 07:32:53 -04:00
dunkeroni
bbf919a933
chore: frontend check error
2024-04-23 07:32:53 -04:00
dunkeroni
01897ec576
remove extra inputs
2024-04-23 07:32:53 -04:00
dunkeroni
6d7c8d5f57
remove unet test
2024-04-23 07:32:53 -04:00
dunkeroni
38604aa408
update canvas graphs
2024-04-23 07:32:53 -04:00
Josh Corbett
28c28b2fc0
fix: 🐛 handle trigger phrase form submits
2024-04-23 16:42:40 +10:00
psychedelicious
cf637ecaa6
fix(ui): disabled ip adapters applied to regional control
2024-04-23 13:08:26 +10:00
psychedelicious
fca718bdd3
tidy(ui): remove extraneous cursor sync
2024-04-23 12:11:47 +10:00
psychedelicious
5196a2efec
fix(ui): minor canvas overflow
2024-04-23 12:11:47 +10:00
psychedelicious
385e93443a
feat(ui): rp hotkeys
...
- Shift+C: Reset selected layer mask (same as canvas)
- Shift+D: Delete selected layer (cannot be Del, that deletes an image in gallery)
- Shift+A: Add layer (cannot be Ctrl+Shift+N, that opens a new window)
- Ctrl/Cmd+Wheel: Brush size (same as canvas)
2024-04-23 12:11:47 +10:00
psychedelicious
604217313a
chore(ui): lint
2024-04-23 12:11:47 +10:00
psychedelicious
229423b370
tidy(ui): memo aspectratiopreview
2024-04-23 12:11:47 +10:00
psychedelicious
75a548e3eb
perf(ui): debounce render wait = 300ms
2024-04-23 12:11:47 +10:00
psychedelicious
24dbb65ebb
perf(ui): add brush spacing
...
Only add point to line if the next point is 10 or more px from the last point
2024-04-23 12:11:47 +10:00
psychedelicious
c915220965
feat(ui): aspect ratio preview is regional prompts canvas
2024-04-23 12:11:47 +10:00
psychedelicious
bb37e25ed0
feat(ui): rp ui layout
2024-04-23 12:11:47 +10:00
psychedelicious
714126b832
build(ui): temp disable circular dependency check
...
I'll need to think about how to fix this properly. For now, disable the check as the UI can still build fine.
2024-04-22 23:09:39 +10:00
psychedelicious
a10c66797d
chore(ui): lint
2024-04-22 23:09:39 +10:00
psychedelicious
6dcaf75b5f
feat(ui): regional prompts spray n pray
...
Trying a lot of different things as I iterated, so this is smooshed into one big commit... too hard to split it now.
- Iterated on IP adapter handling and UI. Unfortunately there is an bug related to undo/redo. The IP adapter state is split across the `controlAdapters` slice and the `regionalPrompts` slice, but only the `regionalPrompts` slice supports undo/redo. If you delete the IP adapter and then undo/redo to a history state where it existed, you'll get an error. The fix is likely to merge the slices... Maybe there's a workaround.
- Iterated on UI. I think the layers are OK now.
- Removed ability to disable RP globally for now. It's enabled if you have enabled RP layers.
- Many minor tweaks and fixes.
2024-04-22 23:09:39 +10:00
psychedelicious
018845cda0
tidy(ui): regional prompts kind
-> type
2024-04-22 23:09:39 +10:00
psychedelicious
8c0a061fa0
fix(ui): hotkeys dependency array
2024-04-20 11:32:08 -04:00
psychedelicious
4895875ded
feat(ui): rects on regional prompt UI
2024-04-20 11:32:08 -04:00
psychedelicious
cfddbda578
tidy(ui): clean up action names
2024-04-20 11:32:08 -04:00
psychedelicious
58d3a9e7d4
refactor(ui): revise regional prompts state to support prompt-less mask layers
...
This structure is more adaptable to future features like IP-Adapter-only regions, controlnet layers, image masks, etc.
2024-04-20 11:32:08 -04:00
psychedelicious
e4024bdeb9
fix(ui): floor all pixel coords
...
This prevents rendering objects with sub-pixel positioning, which looks soft
2024-04-20 11:32:08 -04:00
psychedelicious
944690ac8e
feat(ui): remove drag distance on layers
2024-04-20 11:32:08 -04:00
psychedelicious
a7d69aa0a9
fix(ui): brush preview cursor jank
2024-04-20 11:32:08 -04:00
psychedelicious
15018fdbc0
fix(ui): brush preview not visible after hotkey
2024-04-20 11:32:08 -04:00
psychedelicious
31ace9aff8
feat(ui): tool hotkeys for rp
2024-04-20 11:32:08 -04:00
psychedelicious
3f4ea30113
fix(ui): fix missing bbox when a layer is empty
2024-04-20 11:32:08 -04:00
psychedelicious
7edcadb371
fix(ui): bbox rendered slightly too small
2024-04-20 11:32:08 -04:00
psychedelicious
d582203c62
chore(ui): lint
2024-04-20 14:54:49 +10:00
psychedelicious
148a6c08ca
fix(ui): fix bbox caching
2024-04-20 14:54:49 +10:00
psychedelicious
1e904d281a
feat(ui): hook up sd1.5 t2i graph to regional prompts
2024-04-20 14:54:49 +10:00
psychedelicious
03d9a75720
feat(ui): better rp colors
2024-04-20 14:54:49 +10:00
psychedelicious
5edce0a4de
perf(ui): caching efficiency
2024-04-20 14:54:49 +10:00
psychedelicious
604bf4e9ec
perf(ui): use efficient group caching instead of a compositing rect
...
Seems to be the same speed and it's less complex.
2024-04-20 14:54:49 +10:00
psychedelicious
39d036bb37
feat(ui): update move tool to show all bboxes, mouseover bbox strokes
2024-04-20 14:54:49 +10:00
psychedelicious
8a69fbd336
perf(ui): more bbox optimizations
...
- Keep track of whether the bbox needs to be recalculated (e.g. had lines/points added)
- Keep track of whether the bbox has eraser strokes - if yes, we need to do the full pixel-perfect bbox calculation, otherwise we can use the faster getClientRect
- Use comparison rather than Math.min/max in bbox calculation (slightly faster)
- Return `null` if no pixel data at all in bbox
2024-04-20 14:54:49 +10:00
psychedelicious
a71ed10b71
perf(ui): more efficient bbox method with smaller minimum offscreen canvas size
2024-04-20 14:54:49 +10:00
psychedelicious
9d3978edcf
fix(ui): give min dimensions to rp storybook
2024-04-20 14:54:49 +10:00
psychedelicious
18e1d74917
fix(ui): group layer color change history
2024-04-20 14:54:49 +10:00
psychedelicious
9276ecfd02
feat(ui): rp ui styling/layout
2024-04-19 09:32:56 -04:00
psychedelicious
d43f9732ab
feat(ui): rp ui styling
2024-04-19 09:32:56 -04:00
psychedelicious
c613839740
feat(ui): use translations for rp features
2024-04-19 09:32:56 -04:00
psychedelicious
bb371cfeca
feat(ui): minor styling rp
2024-04-19 09:32:56 -04:00
psychedelicious
6a5510146c
feat(ui): add default rp brush size
2024-04-19 09:32:56 -04:00
psychedelicious
9667f77c41
feat(ui): rp editor styling
2024-04-19 09:32:56 -04:00
psychedelicious
e93e0612af
tidy(ui): selectedLayer
-> selectedLayerId
2024-04-19 09:32:56 -04:00
psychedelicious
9528287d56
feat(ui): move ephemeral tool state out of redux
2024-04-19 09:32:56 -04:00
psychedelicious
14c722c265
tidy(ui): remove unused conditional
2024-04-19 09:32:56 -04:00
psychedelicious
4b2cd2da9f
feat(ui): remove special handling of main prompt
...
Until we have a good handle on what works best, leaving this to the user
2024-04-19 09:32:56 -04:00
psychedelicious
3c5b728bee
feat(ui): add enabled state for RP
2024-04-19 09:32:56 -04:00
psychedelicious
9b5c47748d
tidy(ui): isRegionalPromptLayer
-> isRPLayer
2024-04-19 09:32:56 -04:00
psychedelicious
eb781272f7
tidy(ui): organize rp layer components
2024-04-19 09:32:56 -04:00
psychedelicious
642a0de3dd
feat(ui): organize layer naming
...
prep for non-rp layer types
2024-04-19 09:32:56 -04:00
psychedelicious
f3b4cecf2e
feat(ui): invert tensor mask instead of loading mask image and converting to tensor second time
...
minor efficiency improvement
2024-04-19 09:32:56 -04:00
psychedelicious
499e7a7b74
chore(ui): typegen
2024-04-19 09:32:56 -04:00
psychedelicious
c195094e91
fix(ui): do not open panels when collapsed and window resize
2024-04-19 09:32:56 -04:00
psychedelicious
e6c57edf87
tidy(ui): shuffle graph builder logic
2024-04-19 09:32:56 -04:00
psychedelicious
c217e052a8
tidy(ui): remove unused action
2024-04-19 09:32:56 -04:00
psychedelicious
964e2236b9
feat(ui): do not add promptless conditioning nodes
2024-04-19 09:32:56 -04:00
psychedelicious
a6e64423d9
feat(ui): per-layer autonegative
2024-04-19 09:32:56 -04:00
psychedelicious
d3aa97ab99
feat(ui): add copy graph button to queue item detail view
2024-04-19 09:32:56 -04:00
psychedelicious
0d8edd67ab
fix(ui): group lines together in undo history
2024-04-19 09:32:56 -04:00
psychedelicious
d9dd00ea20
feat(ui): undo/redo in regional prompts
...
using the `redux-undo` library
2024-04-19 09:32:56 -04:00
psychedelicious
170763899a
tidy(ui): tidy regional prompts graph helper, add comments
2024-04-19 09:32:56 -04:00
psychedelicious
9e1a4a4a07
feat(ui): regional prompts default layer opacity
2024-04-19 09:32:56 -04:00
psychedelicious
dcb4a40741
fix(ui): regional prompts brush preview wonkiness
2024-04-19 09:32:56 -04:00
psychedelicious
f8bf985256
perf(ui): do not recreate map callback on every render
2024-04-19 09:32:56 -04:00
psychedelicious
81f29b9624
tidy(ui): remove errant console.log
2024-04-19 09:32:56 -04:00
psychedelicious
f2dde9a035
feat(ui): cleared selected layer styling
2024-04-19 09:32:56 -04:00
psychedelicious
85f4a066fb
feat(ui): use logger for stage renderer
2024-04-19 09:32:56 -04:00
psychedelicious
b9e6b7ba48
feat(ui): restore layer arrange functionality
2024-04-19 09:32:56 -04:00
psychedelicious
085f7bdbee
feat(ui): add invert negative mode
...
Adds an additional negative conditioning using the inverted mask of the positive conditioning and the positive prompt. May be useful for mutually exclusive regions.
2024-04-19 09:32:56 -04:00
psychedelicious
e4fcb6627a
feat(ui): style regional prompt boxes
2024-04-19 09:32:56 -04:00
psychedelicious
47aa6357d1
tidy(ui): organize regional prompts files
2024-04-19 09:32:56 -04:00
psychedelicious
b81030fe27
tidy(ui): remove unused exports
2024-04-19 09:32:56 -04:00
psychedelicious
a1a9f0da73
tidy(ui): remove more unused files
2024-04-19 09:32:56 -04:00
psychedelicious
8f4f3b773c
tidy(ui): remove unused files, code
2024-04-19 09:32:56 -04:00
psychedelicious
00737efc31
tidy(ui): tidy naming of regional prompt utils
2024-04-19 09:32:56 -04:00
psychedelicious
5924dc6ff6
feat(ui): transparency on regional prompts canvas
2024-04-19 09:32:56 -04:00
psychedelicious
246fabf2a0
feat(ui): scaling regional prompt canvas
2024-04-19 09:32:56 -04:00
psychedelicious
30e3e12513
feat(ui): layouting regional prompts
2024-04-19 09:32:56 -04:00
psychedelicious
a5bfe2dccb
feat(ui): support negative regional prompt
2024-04-19 09:32:56 -04:00
psychedelicious
aa6bfc8645
fix(ui): wip misc regional prompting ui
2024-04-19 09:32:56 -04:00
psychedelicious
20ccdb6c8f
fix(ui): remove extra type in nodestate
2024-04-19 09:32:56 -04:00
psychedelicious
8caa7bc2b1
feat(ui): abstract out bbox renderer
2024-04-19 09:32:56 -04:00
psychedelicious
ede8826757
feat(ui): remove dep on stage in mouse handlers
2024-04-19 09:32:56 -04:00
psychedelicious
ff7aa2558a
feat(ui): display prompt when debugging regions
2024-04-19 09:32:56 -04:00
psychedelicious
c9bf00b80b
feat(ui): restore invoke button (wip)
2024-04-19 09:32:56 -04:00
psychedelicious
1f8f429d55
feat(ui): abstract layer renderer
2024-04-19 09:32:56 -04:00
psychedelicious
d34e431002
feat(ui): abstract brush preview logic
2024-04-19 09:32:56 -04:00
psychedelicious
cdb481e836
feat(ui): use konva generics for types in selector functions
2024-04-19 09:32:56 -04:00
psychedelicious
525e6d697c
feat(ui): re-implement with imperative konva api (wip)
2024-04-19 09:32:56 -04:00
psychedelicious
bbbb5479e8
feat(ui): re-implement with imperative konva api (wip)
2024-04-19 09:32:56 -04:00
psychedelicious
ae7797f662
feat(ui): re-implement with imperative konva api (wip)
2024-04-19 09:32:56 -04:00
psychedelicious
05deeb68fa
feat(ui): draft of graph helper for regional prompts
2024-04-19 09:32:56 -04:00
psychedelicious
d1db6198b5
perf(ui): memoize & otherwise optimize regional prompts ui
2024-04-19 09:32:56 -04:00
psychedelicious
944fa1a847
chore(ui): lint
2024-04-19 09:32:56 -04:00
psychedelicious
52e7daffe7
feat(ui): selected layer styling
2024-04-19 09:32:56 -04:00
psychedelicious
cf4c1750cb
fix(ui): caching broke layer rendering
2024-04-19 09:32:56 -04:00
psychedelicious
de7ecc8e3e
feat(ui): tweak bbox styling
2024-04-19 09:32:56 -04:00
psychedelicious
6c0481ef51
fix(ui): do not reset layer position when toggling visibility
2024-04-19 09:32:56 -04:00
psychedelicious
b9d0da44eb
feat(ui): wip layer transparency
2024-04-19 09:32:56 -04:00
psychedelicious
0a42d7d510
docs(ui): update docstrings for helper function
2024-04-19 09:32:56 -04:00
psychedelicious
c1aae0815d
feat(ui): regional prompting layout, styling
2024-04-19 09:32:56 -04:00
psychedelicious
e7523bd1d9
fix(ui): fix layer debug
2024-04-19 09:32:56 -04:00
psychedelicious
8911017bd1
feat(ui): selectable & draggable layers
2024-04-19 09:32:56 -04:00
psychedelicious
c89a24d1ea
feat(ui): add util to get blobs from layers
2024-04-19 09:32:56 -04:00
psychedelicious
52ba4966c9
feat(ui): wip regional prompting UI
...
- Add eraser tool, applies per layer
2024-04-19 09:32:56 -04:00
psychedelicious
822dfa77fc
feat(ui): wip regional prompting UI
...
- Arrange layers
- Layer visibility
- Layered brush preview
- Cleanup
2024-04-19 09:32:56 -04:00
psychedelicious
83d359b681
feat(ui): wip regional prompting UI
2024-04-19 09:32:56 -04:00
psychedelicious
f87eee810b
feat(ui): rough out regional prompts components
2024-04-19 09:32:56 -04:00
psychedelicious
1d1e4d02dc
feat(ui): rough out regional prompts store
2024-04-19 09:32:56 -04:00
blessedcoolant
a35386f24c
fix: IP Adapter Method having incorrect informational popover
2024-04-18 13:37:55 -04:00
Riccardo Giovanetti
5295a398f3
translationBot(ui): update translation (Italian)
...
Currently translated at 98.4% (1122 of 1140 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-04-17 08:41:57 +10:00
Anonymous
0c7283c82d
translationBot(ui): update translation (Turkish)
...
Currently translated at 50.8% (580 of 1140 strings)
translationBot(ui): update translation (Korean)
Currently translated at 43.3% (494 of 1140 strings)
translationBot(ui): update translation (Chinese (Simplified))
Currently translated at 80.9% (923 of 1140 strings)
translationBot(ui): update translation (Russian)
Currently translated at 98.8% (1127 of 1140 strings)
translationBot(ui): update translation (Dutch)
Currently translated at 63.7% (727 of 1140 strings)
translationBot(ui): update translation (Japanese)
Currently translated at 50.4% (575 of 1140 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.3% (1121 of 1140 strings)
translationBot(ui): update translation (Spanish)
Currently translated at 27.8% (317 of 1140 strings)
translationBot(ui): update translation (German)
Currently translated at 72.2% (824 of 1140 strings)
Co-authored-by: Anonymous <noreply@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/de/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/es/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/it/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ja/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ko/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/nl/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/tr/
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/
Translation: InvokeAI/Web UI
2024-04-17 08:41:57 +10:00
Mary Hipp
73ad173c74
update labels for Style Only and CompositionOnly to be designated as beta
2024-04-17 08:29:10 +10:00
blessedcoolant
6bab040d24
Merge branch 'main' into ip-adapter-style-comp
2024-04-16 21:14:06 +05:30
blessedcoolant
f6b7bc5d98
fix: Dynamically adapt height of control adapter opts
2024-04-16 01:18:43 +05:30
blessedcoolant
cd76a31a8f
fix: IP Adapter method not being recalled
2024-04-15 22:29:32 +05:30
psychedelicious
5a8489bbfc
perf(ui): memoize infill components
2024-04-15 22:50:54 +10:00
psychedelicious
a24c9d0f7a
perf(ui): optimize useFeatureStatus
2024-04-15 22:50:54 +10:00
psychedelicious
7a92afc117
perf(ui): fix rerenders in nodes
...
Unmemoized selector tanking perf
2024-04-15 22:50:54 +10:00
psychedelicious
b508945b11
feat(ui): edge labels
...
Add setting to render labels with format `Source Node label -> Target Node label` on edges.
2024-04-15 22:48:46 +10:00
Lars Kappert
06bc38d3f4
Remove tag excluder
2024-04-15 09:14:49 +10:00
Lars Kappert
d3b0212da5
Scope project files to src dir (enables --production)
2024-04-15 09:14:49 +10:00
Lars Kappert
c2b79ce14c
Replace @knipignore
with paths
config
2024-04-15 09:14:49 +10:00
Васянатор
70185b0173
translationBot(ui): update translation (Russian)
...
Currently translated at 99.5% (1128 of 1133 strings)
Co-authored-by: Васянатор <ilabulanov339@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/ru/
Translation: InvokeAI/Web UI
2024-04-15 09:12:38 +10:00
怀瑾
a83a0c6146
translationBot(ui): update translation (Chinese (Simplified))
...
Currently translated at 81.5% (924 of 1133 strings)
Co-authored-by: 怀瑾 <symant233@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/invokeai/web-ui/zh_Hans/
Translation: InvokeAI/Web UI
2024-04-15 09:12:38 +10:00
Riccardo Giovanetti
12f41039cc
translationBot(ui): update translation (Italian)
...
Currently translated at 98.4% (1122 of 1140 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1120 of 1138 strings)
translationBot(ui): update translation (Italian)
Currently translated at 98.4% (1115 of 1133 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-04-15 09:12:38 +10:00
Daniel Abrao
b3b5b7e261
Include hardcoded count of one to avoid translation issues on missing keys
2024-04-15 09:10:15 +10:00
Daniel Abrao
f706a13230
Adjust gallery image length handling
2024-04-15 09:10:15 +10:00
Daniel Abrao
22c6400bb8
Refactor i18n pluralization
2024-04-15 09:10:15 +10:00
Daniel Abrao
1ca152f6c8
Apply eslint/prettier fixes
2024-04-15 09:10:15 +10:00
Daniel Abrao
982e255878
Add dynamic label to delete button located at the top toolbar
2024-04-15 09:10:15 +10:00
Daniel Abrao
7899149144
Remove unnecessary word
2024-04-15 09:10:15 +10:00
Daniel Abrao
bef97b46bf
Apply eslint/prettier fixes
2024-04-15 09:10:15 +10:00
Daniel Abrao
cc256fee0e
Modify the modal title to include selected image array length
2024-04-15 09:10:15 +10:00
Daniel Abrao
ec69a58c8d
Include plural variation for delete image modal title
2024-04-15 09:10:15 +10:00
Daniel Abrao
ec67ba61db
Pass an array of selected images instead of imageDTO
2024-04-15 09:10:15 +10:00
Daniel Abrao
66126996e7
Import image selection
2024-04-15 09:10:15 +10:00
Jennifer Player
4eb66a9198
remove hires fix badge from settings when using sdxl
2024-04-15 07:57:58 +10:00
Daniel Abrao
14e41a1fd9
Remove unnecessary whitespace
2024-04-15 07:54:36 +10:00
Daniel Abrao
fc55522003
Import hook in the main App script
2024-04-15 07:54:36 +10:00
Daniel Abrao
cd6d8ae9cc
Add a hook as a singleton to update favicon and title upon queueSize change
2024-04-15 07:54:36 +10:00
Daniel Abrao
2933eb594d
Remove unnecessary code
2024-04-15 07:54:36 +10:00
Daniel Abrao
4e08fab3f5
Apply brand red color and a black border
2024-04-15 07:54:36 +10:00
Daniel Abrao
8bca7e2aa2
Apply eslint/prettier fixes
2024-04-15 07:54:36 +10:00
Daniel Abrao
3706cf0ad4
Add JSDoc strings
2024-04-15 07:54:36 +10:00
Daniel Abrao
a459361376
Modify the processing to consider the active queue length instead of in_progress only
2024-04-15 07:54:36 +10:00
Daniel Abrao
bb330d50a6
Increase favicon alert detail size
2024-04-15 07:54:36 +10:00
Daniel Abrao
102cb62960
Apply eslint/prettier fixes
2024-04-15 07:54:36 +10:00
Daniel Abrao
8eeab22ecd
Replace let
with const
2024-04-15 07:54:36 +10:00
Daniel Abrao
4343852b83
Update HTML page title and favicon upon queue item event
2024-04-15 07:54:36 +10:00
Daniel Abrao
0a9bf25bff
Implement updatePageTitle
and updatePageFavicon
methods
2024-04-15 07:54:36 +10:00