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