psychedelicious
e479cb5fe4
refactor(ui): workflows component structure (WIP)
...
- Simplify and de-insane-ify component structure, hooks, selectors, etc.
- Some perf improvements by using data attributes for styling instead of dynamic CSS-in-JS.
- Add field notes and start of linear view config, got blocked when I ran into deeper layout issues that made it very difficult to handle field configs. So those are WIP in this commit.
2025-02-14 14:50:56 +11:00
psychedelicious
52947f40c3
perf(ui): use data attribute for input field wrapper styles
2025-02-14 14:50:56 +11:00
psychedelicious
bce9a23b25
feat(ui): add ViewContext so components can know where they are being rendered (user-linear view, editor-linear view, or editor-nodes view)
2025-02-14 14:50:56 +11:00
psychedelicious
2d05579568
feat(ui): clean up user-linear view styling
2025-02-14 14:50:56 +11:00
psychedelicious
11aabb5693
feat(ui): show notes icon on user-linear view, replacing info icon
2025-02-14 14:50:56 +11:00
psychedelicious
1e1e31d5b7
feat(ui): show notes icon on editor linear view
2025-02-14 14:50:56 +11:00
psychedelicious
fe86cf6d99
feat(ui): add notes popover to field title bar
2025-02-14 14:50:56 +11:00
psychedelicious
cfb63c1b81
feat(ui): add notes state to fields
2025-02-14 14:50:56 +11:00
Ryan Dick
b44415415a
Use a default tile size of 1024 for VAE encode/decode operations in upscaling workflows. Previously, the model default was used (512 for SD1, 1024 for SDXL). Larger tile sizes help to prevent tiling artifacts.
2025-02-14 14:23:42 +11:00
Mary Hipp
6927e95444
update defaults
2025-02-12 15:49:15 -05:00
Mary Hipp
76618fee9c
feat(ui): separate upscaling settings so that tab does not inherit from main generation settings
2025-02-12 15:49:15 -05:00
Maxim Evtush
c2b71854be
Update useGalleryNavigation.ts
2025-02-11 20:03:11 +11:00
Maxim Evtush
d6181e4d64
Update useImageViewer.ts
2025-02-11 20:03:11 +11:00
Maxim Evtush
0a4ea9ac6f
Update validateWorkflow.ts
2025-02-11 20:03:11 +11:00
psychedelicious
b224cc8158
fix(ui): canvas image error placeholder never disappears
2025-02-11 11:10:14 +11:00
psychedelicious
b75d08a2d0
fix(ui): ensure CanvasObjectImage's visibility is set correctly when updating it
2025-02-11 11:10:14 +11:00
psychedelicious
5f1a30ea82
fix(ui): flicker when transitioning from an output image to next generation's progress image
2025-02-11 11:10:14 +11:00
psychedelicious
d09e600802
feat(ui): add more to CanvasStagingAreaModule repr
2025-02-11 11:10:14 +11:00
psychedelicious
f4ee59b92a
feat(ui): add more to CanvasObjectImage repr
2025-02-11 11:10:14 +11:00
psychedelicious
ad0b40b669
feat(ui): differentiate between failure modes for canvas image rendering
2025-02-11 11:10:14 +11:00
Mary Hipp
f3fbcf0014
fix [object object] OOM error
2025-02-11 07:04:11 +11:00
Mary Hipp
588e8a0195
fix oom toast title
2025-02-11 07:04:11 +11:00
psychedelicious
e7aafdfdbf
feat(ui): migrate all clipboard stuff to useClipboard
2025-02-07 11:08:03 +11:00
psychedelicious
e63bd26b19
feat(ui): tweak paste buttons
2025-02-06 12:56:21 +11:00
psychedelicious
91ded4bd15
feat(ui): tweak styling of canvas paste modal
2025-02-06 12:56:21 +11:00
psychedelicious
1656d3dd21
feat(ui): better canvas paste modal copy
2025-02-06 12:56:21 +11:00
psychedelicious
fe67dfefab
fix(ui): fall back to pasting to bbox when no raster layers
2025-02-06 12:56:21 +11:00
psychedelicious
6420882a5b
feat(ui): add helper text to paste modal
2025-02-06 12:56:21 +11:00
psychedelicious
568e3bd714
chore(ui): lint
2025-02-06 12:56:21 +11:00
psychedelicious
d9c2115396
feat(ui): support pasting directly to canvas
2025-02-06 12:56:21 +11:00
psychedelicious
3e13249983
test(ui): remove test for collect -> iterate validation
2025-02-06 07:57:26 +11:00
psychedelicious
2c2ee7fe20
feat(ui): allow collect -> iterate connections
2025-02-06 07:57:26 +11:00
psychedelicious
c5e5641f0e
feat(ui): add menu items to copy canvas/bbox to clipboard
2025-02-04 23:21:20 -05:00
Riku
a4d58aab09
feat(ui): add cancel all except current queue item functionality
2025-02-04 12:23:23 +11:00
dunkeroni
6f1a198af4
better granularity on image adjust slider
2025-02-04 12:06:17 +11:00
dunkeroni
8c9fc45341
add labels
2025-02-04 12:06:17 +11:00
dunkeroni
f93571f7ef
update default filter
2025-02-04 12:06:17 +11:00
dunkeroni
fdf9740f3c
fix: offets to integers
2025-02-04 12:06:17 +11:00
dunkeroni
58255ab7ba
add adjust image filter to canvas
2025-02-04 12:06:17 +11:00
Mary Hipp
64475b8f21
feat(ui): add button to clear model cache
2025-01-30 09:18:28 -05:00
Ryan Dick
7fef569e38
Update frontend graph building logic to support FLUX LoRAs that modify the T5 encoder weights.
2025-01-28 14:51:35 +00:00
psychedelicious
aba70eacab
fix(ui): field handle positioning for non-batch fields
...
Accidentally overwrote some reactflow styles which caused field handles to be positioned differently for non-batch fields. Just a minor visual issue.
2025-01-21 11:49:49 +11:00
psychedelicious
7d110cc9d3
fix(ui): disable dynamic prompts generators pending resolution of infinite recursion issue
...
Dynamic prompts string generators can cause an infinite feedback loop when added to the linear view.
The root cause is how these generators handle "resolving" their collections. They hit the dynamic prompts HTTP API within the view component to get the prompts, then set the batch node's internal state with those values.
When the same generator is rendered in both the node editor view and linear view and the timing is just right, that state update causes an infinite feedback loop between the two components as they respond to the state updates from the other component.
The other generators never store the generated values in the batch node's internal state. The values are "resolved" just-in-time as they are needed.
To fix this, the batch value "resolver" utilities could be made async and hit the API. But there's a problem - the resolver utilities are used within the "are we ready to invoke? are there any problems with the current settings?" redux selectors, which are strictly synchronous. To fix that, we can refactor that "are we ready to invoke?" logic to not use redux selectors, so the whole thing could be async.
It's not a big change but I'm not going to spend time on it at the moment.
So, until I address this, the dynamic prompts generators are disabled.
2025-01-21 09:00:40 +11:00
psychedelicious
82122645e8
refactor(ui): organize special handling for batch field types
2025-01-21 07:17:29 +11:00
psychedelicious
f5c5b73383
fix(ui): string batch nodes' inputs get batch type
2025-01-21 07:17:29 +11:00
psychedelicious
7535d2e188
feat(ui): use translation for load from file buttons
2025-01-20 08:57:42 +11:00
psychedelicious
3dff87aeee
feat(ui): better layout for generator load from file buttons
2025-01-20 08:57:42 +11:00
psychedelicious
b14bf1e0f4
chore(ui): lint
2025-01-20 08:57:42 +11:00
psychedelicious
4fdc6eec9d
feat(ui): support loading from file for string input generators
2025-01-20 08:57:42 +11:00
psychedelicious
180a67d11b
feat(ui): small fontsize on generator textareas
2025-01-20 08:57:42 +11:00