Commit Graph

8500 Commits

Author SHA1 Message Date
psychedelicious
dbff929be5 tidy(ui): remove unused $isProcessingTransform atom 2024-09-06 21:27:57 +10:00
psychedelicious
44be058ac7 docs(ui): docstrings for $canvasCache 2024-09-06 21:27:57 +10:00
psychedelicious
437129cf70 feat(ui): tweak bookmark verbiage 2024-09-06 21:27:57 +10:00
psychedelicious
2e4a48b71c feat(ui): move transformer state to nanostores
This provides some free reactivity for this canvas-manager-managed state.
2024-09-06 21:27:57 +10:00
psychedelicious
618473db02 fix(ui): transform should ignore konva filters (e.g. transparency effect) 2024-09-06 21:27:57 +10:00
psychedelicious
4f4eee76b9 feat(ui): add fit to bbox as transform helper 2024-09-06 21:27:57 +10:00
psychedelicious
1628eb5900 tidy(ui): transformer organisation 2024-09-06 21:27:57 +10:00
psychedelicious
92c754df79 fix(ui): disable merge visible when 1 or fewer layers of type 2024-09-06 21:27:57 +10:00
psychedelicious
921ade4b0a feat(ui): brush preview opacity at 0.5 when drawing on mask 2024-09-06 21:27:57 +10:00
psychedelicious
c38b05c002 chore(ui): lint 2024-09-06 21:27:57 +10:00
psychedelicious
277708d69e fix(ui): edge cases in quick switch, simpler logic 2024-09-06 21:27:57 +10:00
psychedelicious
02061faaf0 chore(ui): lint 2024-09-06 21:27:57 +10:00
psychedelicious
a4fb8eb171 feat(ui): add bookmark for quick switch 2024-09-06 21:27:57 +10:00
psychedelicious
d3c2432bfb fix(ui): force dims on scaled bbox when manual scaling + locked aspect ratio
Closes #5590
2024-09-06 21:27:57 +10:00
psychedelicious
0c3e2c45f1 feat(ui): "Control Layers" -> "Layers" 2024-09-06 21:27:57 +10:00
psychedelicious
d019dbdbd3 feat(ui): "IP Adapter" -> "Global IP Adapter" 2024-09-06 21:27:57 +10:00
psychedelicious
2538b348c7 tidy(ui): canvas hotkey hooks 2024-09-06 21:27:57 +10:00
psychedelicious
420178c09f feat(ui): add alt+[ and alt+] hotkeys to cycle through layers 2024-09-06 21:27:57 +10:00
psychedelicious
75ecc56ca5 feat(ui): add layer quick switch
Q toggles between the last-selected layers.
2024-09-06 21:27:57 +10:00
psychedelicious
874b96c67d feat(ui): bbox hotkey is c 2024-09-06 21:27:57 +10:00
psychedelicious
b0eddd19d4 fix(ui): select nonexistent entity 2024-09-06 21:27:57 +10:00
psychedelicious
cb9d0bce56 feat(ui): brush & eraser width ui/ux
Use same pattern as canvas scale & opacity sliders w/ scaled slider values for precision at low values.
2024-09-06 21:27:57 +10:00
psychedelicious
fd6d080fb0 tidy(ui): canvas scale & entity opacity sliders 2024-09-06 21:27:57 +10:00
psychedelicious
8f6e6960e0 feat(ui): hotkeys for brush/eraser size 2024-09-06 21:27:57 +10:00
psychedelicious
58064a1ea5 feat(ui): use default IP adapter when creating IP adapter 2024-09-06 21:27:57 +10:00
psychedelicious
0d94a89d98 tidy(ui): organise files 2024-09-06 21:27:57 +10:00
psychedelicious
eb4d447e2f feat(ui): remove object count from entity title
This was used for troubleshooting only.
2024-09-06 21:27:57 +10:00
psychedelicious
487422a53f tidy(ui): misc cleanup 2024-09-06 21:27:57 +10:00
psychedelicious
b24f8e2b26 docs(ui): docstrings for classes (wip) 2024-09-06 21:27:57 +10:00
psychedelicious
fd22ff7c9f feat(ui): revised canvas module base class
Big cleanup. Makes these classes easier to implement, lots of comments and docstrings to clarify how it all works.

- Add default implementations for `destroy`, `repr` and `getLoggingContext`
- Tidy individual module configs
- Update `CanvasManager.buildLogger` to accept a canvas module as the arg
- Add `CanvasManager.buildPath`
2024-09-06 21:27:57 +10:00
psychedelicious
9cd5107955 feat(ui): split canvas tool previews into modules 2024-09-06 21:27:57 +10:00
psychedelicious
fd7f0056e3 fix(ui): reject on dataURLToImageData 2024-09-06 21:27:57 +10:00
psychedelicious
b1673b9222 fix(ui): correctly set last cursor pos to null 2024-09-06 21:27:57 +10:00
psychedelicious
f4e8799561 chore: release v4.2.9.dev10 2024-09-06 21:27:57 +10:00
psychedelicious
6f85743996 feat(ui): remove entity list context menu (again)
stupid events
2024-09-06 21:27:57 +10:00
psychedelicious
243e7c954e fix(ui): entity groups not collapsing 2024-09-06 21:27:57 +10:00
psychedelicious
33d25c7977 chore: release v4.2.9.dev9 2024-09-06 21:27:57 +10:00
psychedelicious
d11251f380 fix(ui): entity opacity number input focus prevents slider from opening 2024-09-06 21:27:57 +10:00
psychedelicious
d5e5cae398 feat(ui): add merge visible for raster and inpaint mask layers
I don't think it makes sense to merge control layers or regional guidance layers because they have additional state.
2024-09-06 21:27:57 +10:00
psychedelicious
fa80452abf fix(ui): save to gallery rect too large
Was including all layer types in the rect - only want the raster layers.
2024-09-06 21:27:57 +10:00
psychedelicious
c9e396bee9 fix(ui): canvasToBlob not raising error correctly 2024-09-06 21:27:57 +10:00
psychedelicious
fd6de78746 feat(ui): add save to gallery button 2024-09-06 21:27:57 +10:00
psychedelicious
6096c8ed0a fix(ui): fix getRectUnion util, add some tests 2024-09-06 21:27:57 +10:00
psychedelicious
5126ec114a fix(ui): modals not staying open
TBH not sure exactly why this broke. Fixed by rollback back the use of a render prop in favor of global state. Also revised the API of `useBoolean` and `buildUseBoolean`.
2024-09-06 21:27:57 +10:00
psychedelicious
221c51b498 fix(ui): correct labels for generation tab origin 2024-09-06 21:27:57 +10:00
psychedelicious
28db39a932 fix(ui): context menu doesn't work for new entities
I do not understand why this fixes the issue, doesn't seem like it should. But it does.
2024-09-06 21:27:57 +10:00
psychedelicious
5512f80066 tidy(ui): organise tool module 2024-09-06 21:27:57 +10:00
psychedelicious
70e27d6fbb fix(ui): staging hotkeys enabled at wrong times 2024-09-06 21:27:57 +10:00
psychedelicious
e91149111e fix(ui): incorrect batch origin preventing progress/staging 2024-09-06 21:27:57 +10:00
psychedelicious
ad7919b3ec feat(ui): restore minimal HUD 2024-09-06 21:27:57 +10:00