psychedelicious
5df3c00e28
feat(ui): remove SerializableObject, use type-fest's JsonObject
2024-11-08 07:39:09 +11:00
psychedelicious
5361b6e014
refactor(ui): image actions sep of concerns
2024-11-08 07:39:09 +11:00
psychedelicious
92f660018b
refactor(ui): dnd actions to image actions
...
We don't need a "dnd" image system. We need a "image action" system. We need to execute specific flows with images from various "origins":
- internal dnd e.g. from gallery
- external dnd e.g. user drags an image file into the browser
- direct file upload e.g. user clicks an upload button
- some other internal app button e.g. a context menu
The actions are now generalized to better support these various use-cases.
2024-11-08 07:39:09 +11:00
psychedelicious
1afc2cba4e
feat(ui): support different labels for external drop targets (e.g. uploads)
2024-11-08 07:39:09 +11:00
psychedelicious
ee8359242c
feat(ui): more dnd cleanup and tidy
2024-11-08 07:39:09 +11:00
psychedelicious
f0c80a8d7a
tidy(ui): dnd stuff
2024-11-08 07:39:09 +11:00
psychedelicious
8da9e7c1f6
fix(ui): min height for workflow image field drop target
2024-11-08 07:39:09 +11:00
psychedelicious
6d7a486e5b
feat(ui): restore dnd to workflow fields
2024-11-08 07:39:09 +11:00
psychedelicious
6845cae4c9
tidy(ui): move new dnd impl into features/dnd
2024-11-08 07:39:09 +11:00
psychedelicious
31c9acb1fa
tidy(ui): clean up old dnd stuff
2024-11-08 07:39:09 +11:00
psychedelicious
93a3ed56e7
feat(ui): simpler dnd typing implementation
2024-11-08 07:39:09 +11:00
psychedelicious
406fc58889
feat(ui): migrate to pragmatic-drag-and-drop (wip 4)
2024-11-08 07:39:09 +11:00
psychedelicious
cf67d084fd
feat(ui): migrate to pragmatic-drag-and-drop (wip 3)
2024-11-08 07:39:09 +11:00
Mary Hipp
0ebe8fb1bd
(ui): add required/optional logic to other submodel fields
2024-11-04 12:42:09 -05:00
Mary Hipp
19f7a1295a
(ui): add fields for CLIP-L and CLIP-G, remove MainModelConfig type changes
2024-11-04 12:42:09 -05:00
Brandon Rising
ebabf4f7a8
Setup Model and T5 Encoder selection fields for sd3 nodes
2024-11-04 12:42:09 -05:00
Brandon Rising
606f3321f5
Initial wave of frontend updates for sd-3 node inputs
2024-11-04 12:42:09 -05:00
psychedelicious
24d3c22017
fix(ui): temp fix for stuck tooltips
2024-11-04 07:11:20 -05:00
psychedelicious
8f02ce54a0
perf(ui): cache image data & transparency mode during generation mode calculation
...
Perf boost and reduces the number of images we create on the backend.
2024-10-30 11:05:46 +11:00
psychedelicious
91db9c9300
refactor(ui): generalize compositor methods
...
`CanvasCompositorModule` had a fairly inflexible API, only supporting compositing all raster layers or inpaint masks.
The API has been generalized work with a list of canvas entities. This enables `Merge Down` and `Merge Selected` functionality (though `Merge Selected` is not part of this set of changes).
2024-10-30 11:05:46 +11:00
Riku
097e92db6a
fix(ui): always write seamless metadata
...
Ensure images without seamless enabled correctly reset the setting
when all parameters are recalled
2024-10-29 20:43:44 +11:00
psychedelicious
7cdda00a54
feat(ui): rearrange canvas paste back nodes to save an image step
...
We were scaling the unscaled image and mask down before doing the paste-back, but this adds an extraneous step & image output.
We can do the paste-back first, then scale to output size after. So instead of 2 resizes before the paste-back, we have 1 resize after.
The end result is the same.
2024-10-29 11:13:31 +11:00
psychedelicious
a74282bce6
feat(ui): graph builders use objects for arg instead of many args
2024-10-29 11:13:31 +11:00
psychedelicious
107f048c7a
feat(ui): extract canvas output node prefix to constant
2024-10-29 11:13:31 +11:00
psychedelicious
3947d4a165
fix(ui): normalize infill alpha to 0-255 when building infill nodes
...
The browser/UI uses float 0-1 for alpha, while backend uses 0-255. We need to normalize the value when building the infill nodes for outpaint.
2024-10-24 19:22:36 +11:00
psychedelicious
59d0ad4505
chore(ui): migrate from ts-toolbelt to type-fest
...
`ts-toolbelt` is unmaintained while `type-fest` is very actively maintained. Both provide similar TS utilities.
2024-10-23 16:01:15 +11:00
psychedelicious
bf3260446d
fix(ui): use flux_ip_adapter for flux
2024-10-23 08:30:11 +10:00
Ryan Dick
5cbe89afdd
Merge branch 'main' into ryan/flux-ip-adapter-cfg-2
2024-10-22 21:17:36 +00:00
Mary Hipp
0a96466b60
feat(ui): add IP adapters to FLUX in linear UI
2024-10-22 15:22:56 -04:00
Mary Hipp
8f28903c81
remove extra slash in workflow share link
2024-10-17 08:02:27 +11:00
Mary Hipp
b33dbfc95f
prefix share link with window location
2024-10-11 17:25:58 -04:00
Mary Hipp
d6add93901
lint
2024-10-11 17:23:34 -04:00
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
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
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
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
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
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
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
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
psychedelicious
f537cf1916
fix(ui): downloading workflow loads it
2024-10-10 15:49:09 +11:00
psychedelicious
0cc6f67bb1
feat(ui): use buildUseDisclosure for workflow list menu
2024-10-10 15:49:09 +11:00