Commit Graph

13134 Commits

Author SHA1 Message Date
73da6e9628 feat(ui): split out loras state from canvas rendering state 2024-08-27 11:02:18 +10:00
2fc482141d feat(ui): split out session state from canvas rendering state 2024-08-27 11:02:18 +10:00
a41ec5f3fc feat(ui): split out settings state from canvas rendering state 2024-08-27 11:02:18 +10:00
c906225d03 feat(ui): split out tool state from canvas rendering state 2024-08-27 11:02:18 +10:00
2985ea3716 feat(ui): split out params/compositing state from canvas rendering state
First step to restoring undo/redo - the undoable state must be in its own slice. So params and settings must be isolated.
2024-08-27 11:02:18 +10:00
4f151c6c6f feat(ui): add CanvasModuleBase class to standardize canvas APIs
I did this ages ago but undid it for some reason, not sure why. Caught a few issues related to subscriptions.
2024-08-27 11:02:04 +10:00
c4f5252c1a feat(ui): move selected tool and tool buffer out of redux
This ephemeral state can live in the canvas classes.
2024-08-27 11:02:04 +10:00
77c13f2cf3 feat(ui): move ephemeral state into canvas classes
Things like `$lastCursorPos` are now created within the canvas drawing classes. Consumers in react access them via `useCanvasManager`.

For example:
```tsx
const canvasManager = useCanvasManager();
const lastCursorPos = useStore(canvasManager.stateApi.$lastCursorPos);
```
2024-08-27 11:02:04 +10:00
3270d36fca feat(ui): normalize all actions to accept an entityIdentifier
Previously, canvas actions specific to an entity type only needed the id of that entity type. This allowed you to pass in the id of an entity of the wrong type.

All actions for a specific entity now take a full entity identifier, and the entity identifier type can be narrowed.

`selectEntity` and `selectEntityOrThrow` now need a full entity identifier, and narrow their return values to a specific entity type _if_ the entity identifier is narrowed.

The types for canvas entities are updated with optional type parameters for this purpose.

All reducers, actions and components have been updated.
2024-08-27 11:02:04 +10:00
b6b30ff01f feat(ui): move events into modules who care about them 2024-08-27 11:02:04 +10:00
aa9bfdff35 fix(ui): color picker resets brush opacity 2024-08-27 11:02:04 +10:00
80308cc3b8 fix(ui): scaled bbox loses sync 2024-08-27 11:02:04 +10:00
f6db73bf1f feat(ui): add context menu to entity list 2024-08-27 11:02:04 +10:00
ef9f61a39f chore(ui): bump @invoke-ai/ui-library 2024-08-27 11:02:04 +10:00
a1a0881133 fix(ui): missing vae precision in graph builders 2024-08-27 11:02:04 +10:00
9956919ab6 chore: release v4.2.9.dev3
Instead of using dates, just going to increment.
2024-08-27 11:02:04 +10:00
abc07f57d6 feat(ui): use new Result utils for enqueueing 2024-08-27 11:02:04 +10:00
1a1cae79f1 fix(ui): graph building issue w/ controlnet 2024-08-27 11:02:04 +10:00
bcfafe7b06 feat(ui): add Result type & helpers
Wrappers to capture errors and turn into results:
- `withResult` wraps a sync function
- `withResultAsync` wraps an async function

Comments, tests.
2024-08-27 11:02:04 +10:00
34e8ced592 chore: release v4.2.9.dev20240824 2024-08-27 11:02:04 +10:00
1fdada65b6 fix(ui): lint & fix issues with adding regional ip adapters 2024-08-27 11:02:04 +10:00
433f3e1971 feat(ui): add knipignore tag
I'm not ready to delete some things but still want to build the app.
2024-08-27 11:02:04 +10:00
a60e23f825 feat(ui): duplicate entity 2024-08-27 11:02:04 +10:00
f69de3148e feat(ui): autocomplete on getPrefixeId 2024-08-27 11:02:04 +10:00
cbcd36ef54 feat(ui): paste canvas gens back on source in generate mode 2024-08-27 11:02:04 +10:00
aa76134340 chore(ui): typegen 2024-08-27 11:02:04 +10:00
55758acae8 feat(nodes): CanvasV2MaskAndCropInvocation can paste generated image back on source
This is needed for `Generate` mode.
2024-08-27 11:02:04 +10:00
196e43b5e5 fix(ui): extraneous entity preview updates 2024-08-27 11:02:04 +10:00
38b9828441 fix(ui): newly-added entities are selected 2024-08-27 11:02:04 +10:00
0048a7077e feat(ui): add crosshair to color picker 2024-08-27 11:02:04 +10:00
527a39a3ad fix(ui): color picker ignores alpha 2024-08-27 11:02:04 +10:00
30ce4c55c7 fix(ui): calculate renderable entities correctly in tool module 2024-08-27 11:02:04 +10:00
ca082d4288 feat(ui): better color picker 2024-08-27 11:02:04 +10:00
5e59a4f43a feat(ui): colored mask preview image 2024-08-27 11:02:04 +10:00
9f86605049 fix(ui): new rectangles don't trigger rerender 2024-08-27 11:02:04 +10:00
79058a7894 chore: bump version v4.2.9.dev20240823 2024-08-27 11:02:04 +10:00
bb3ad8c2f1 feat(ui): disable most interaction while filtering 2024-08-27 11:02:04 +10:00
799688514b fix(ui): filter preview offset 2024-08-27 11:02:04 +10:00
b7344b0df2 feat(ui): tweak layout of staging area toolbar 2024-08-27 11:02:04 +10:00
7e382c5f3f chore(ui): typegen 2024-08-27 11:02:04 +10:00
9cf357e184 tidy(app): clean up app changes for canvas v2 2024-08-27 11:01:53 +10:00
95b6c773d4 feat(ui): use singleton for clear q confirm dialog 2024-08-27 11:01:53 +10:00
89d8c5ba00 fix(ui): rip out broken recall logic, NO TS ERRORS 2024-08-27 11:01:53 +10:00
59580cf6ed chore(ui): lint 2024-08-27 11:01:53 +10:00
2b0c084f5b fix(ui): staging area interaction scopes 2024-08-27 11:01:53 +10:00
4d896073ff fix(ui): staging area actions 2024-08-27 11:01:53 +10:00
9f69503a80 tidy(ui): more cleanup 2024-08-27 11:01:53 +10:00
0311e852a0 fix(ui): upscale tab graph 2024-08-27 11:01:53 +10:00
7003a3d546 fix(ui): sdxl graph builder 2024-08-27 11:01:53 +10:00
dc73072e27 fix(ui): select next entity in the list when deleting 2024-08-27 11:01:53 +10:00