Commit Graph

4712 Commits

Author SHA1 Message Date
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
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
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
psychedelicious
908f4117fc feat(ui): remove unused asPreview for StageComponent 2024-09-06 21:27:57 +10:00
psychedelicious
87b294708a chore(ui): lint 2024-09-06 21:27:57 +10:00
psychedelicious
87bc3f5f0a feat(ui): revise generation mode logic
- Canvas generation mode is replace with a boolean `sendToCanvas` flag. When off, images generated on the canvas go to the gallery. When on, they get added to the staging area.
- When an image result is received, if its destination is the canvas, staging is automatically started.
- Updated queue list to show the destination column.
- Added `IconSwitch` component to represent binary choices, used for the new `sendToCanvas` flag and image viewer toggle.
- Remove the queue actions menu in `QueueControls`. Move the queue count badge to the cancel button.
- Redo layout of `QueueControls` to prevent duplicate queue count badges.
- Fix issue where gallery and options panels could show thru transparent regions of queue tab.
- Disable panel hotkeys when on mm/queue tabs.
2024-09-06 21:27:57 +10:00
psychedelicious
14dea8bad3 chore(ui): typegen 2024-09-06 21:27:57 +10:00
psychedelicious
b0414a81ec tidy(ui): ViewerToggleMenu -> ViewerToggle 2024-09-06 21:27:57 +10:00
psychedelicious
f078e325f8 feat(ui): alt quick switches to color picker 2024-09-06 21:27:57 +10:00
psychedelicious
1a5dc202cb feat(ui): tweak add entity button layout 2024-09-06 21:27:57 +10:00
psychedelicious
79d7f023e8 feat(ui): restore context menu for entity list 2024-09-06 21:27:57 +10:00
psychedelicious
913912d96b feat(ui): add delete button to each layer 2024-09-06 21:27:57 +10:00
psychedelicious
cfa22b345a feat(ui): add + buttons to entity categories 2024-09-06 21:27:57 +10:00
psychedelicious
ce4948ec23 feat(ui): tweak brush fill UI 2024-09-06 21:27:57 +10:00
psychedelicious
86d10ca87b feat(ui): do not select layer on staging accept 2024-09-06 21:27:57 +10:00
psychedelicious
057b5ec646 fix(ui): more fiddly queue count layout stuff 2024-09-06 21:27:57 +10:00
psychedelicious
16eede4288 fix(ui): floating params panel invoke button loading state 2024-09-06 21:27:57 +10:00
psychedelicious
e3c0c638c1 feat(ui): move canvas undo/redo to hook 2024-09-06 21:27:57 +10:00
psychedelicious
e57ee8db35 fix(ui): queue count badge positioning 2024-09-06 21:27:57 +10:00
psychedelicious
cd2a80cf77 fix(ui): add node cmdk only enabled on workflows tab 2024-09-06 21:27:57 +10:00
psychedelicious
a95fbfe6c6 fix(ui): pending node connection stuck 2024-09-06 21:27:57 +10:00
psychedelicious
79168b637e chore(ui): lint 2024-09-06 21:27:57 +10:00
psychedelicious
ac349573f2 feat(ui): migrate add node popover to cmdk
Put this together as a way to figure out the library before moving on to the full app cmdk. Works great.
2024-09-06 21:27:56 +10:00
psychedelicious
28feb013d7 fix(ui): schema parsing now that node_pack is guaranteed to be present 2024-09-06 21:27:56 +10:00
psychedelicious
4129cddbeb chore(ui): typegen 2024-09-06 21:27:56 +10:00
psychedelicious
db0b97cca1 fix(ui): unnecessary z-index on invoke button 2024-09-06 21:27:56 +10:00
psychedelicious
be58b03137 feat(ui): split settings modal 2024-09-06 21:27:56 +10:00
psychedelicious
2df0056ef1 perf(ui): disable useInert on modals
This hook forcibly updates _all_ portals with `data-hidden=true` when the modal opens - then reverts it when the modal closes. It's intended to help screen readers. Unfortunately, this absolutely tanks performance because we have many portals. React needs to do alot of layout calculations (not re-renders).

IMO this behaviour is a bug in chakra. The modals which generated the portals are hidden by default, so this data attr should really be set by default. Dunno why it isn't.
2024-09-06 21:27:56 +10:00
psychedelicious
eeca521baf feat(ui): fix queue item count badge positioning
Previously this badge, floating over the queue menu button next to the invoke button, was rendered within the existing layout. When I initially positioned it, the app layout interfered - it would extend into an area reserved for a flex gap, which cut off the badge.

As a (bad) workaround, I had shifted the whole app down a few pixels to make room for it. What I should have done is what I've done in this commit - render the badge in a portal to take it out of the layout so we don't need that extra vertical padding.

Sleekified some styling a bit too.
2024-09-06 21:27:56 +10:00