psychedelicious
2fc482141d
feat(ui): split out session state from canvas rendering state
2024-08-27 11:02:18 +10:00
psychedelicious
a41ec5f3fc
feat(ui): split out settings state from canvas rendering state
2024-08-27 11:02:18 +10:00
psychedelicious
c906225d03
feat(ui): split out tool state from canvas rendering state
2024-08-27 11:02:18 +10:00
psychedelicious
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
psychedelicious
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
psychedelicious
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
psychedelicious
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
psychedelicious
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
psychedelicious
b6b30ff01f
feat(ui): move events into modules who care about them
2024-08-27 11:02:04 +10:00
psychedelicious
aa9bfdff35
fix(ui): color picker resets brush opacity
2024-08-27 11:02:04 +10:00
psychedelicious
80308cc3b8
fix(ui): scaled bbox loses sync
2024-08-27 11:02:04 +10:00
psychedelicious
f6db73bf1f
feat(ui): add context menu to entity list
2024-08-27 11:02:04 +10:00
psychedelicious
ef9f61a39f
chore(ui): bump @invoke-ai/ui-library
2024-08-27 11:02:04 +10:00
psychedelicious
a1a0881133
fix(ui): missing vae precision in graph builders
2024-08-27 11:02:04 +10:00
psychedelicious
9956919ab6
chore: release v4.2.9.dev3
...
Instead of using dates, just going to increment.
2024-08-27 11:02:04 +10:00
psychedelicious
abc07f57d6
feat(ui): use new Result utils for enqueueing
2024-08-27 11:02:04 +10:00
psychedelicious
1a1cae79f1
fix(ui): graph building issue w/ controlnet
2024-08-27 11:02:04 +10:00
psychedelicious
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
psychedelicious
34e8ced592
chore: release v4.2.9.dev20240824
2024-08-27 11:02:04 +10:00
psychedelicious
1fdada65b6
fix(ui): lint & fix issues with adding regional ip adapters
2024-08-27 11:02:04 +10:00
psychedelicious
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
psychedelicious
a60e23f825
feat(ui): duplicate entity
2024-08-27 11:02:04 +10:00
psychedelicious
f69de3148e
feat(ui): autocomplete on getPrefixeId
2024-08-27 11:02:04 +10:00
psychedelicious
cbcd36ef54
feat(ui): paste canvas gens back on source in generate mode
2024-08-27 11:02:04 +10:00
psychedelicious
aa76134340
chore(ui): typegen
2024-08-27 11:02:04 +10:00
psychedelicious
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
psychedelicious
196e43b5e5
fix(ui): extraneous entity preview updates
2024-08-27 11:02:04 +10:00
psychedelicious
38b9828441
fix(ui): newly-added entities are selected
2024-08-27 11:02:04 +10:00
psychedelicious
0048a7077e
feat(ui): add crosshair to color picker
2024-08-27 11:02:04 +10:00
psychedelicious
527a39a3ad
fix(ui): color picker ignores alpha
2024-08-27 11:02:04 +10:00
psychedelicious
30ce4c55c7
fix(ui): calculate renderable entities correctly in tool module
2024-08-27 11:02:04 +10:00
psychedelicious
ca082d4288
feat(ui): better color picker
2024-08-27 11:02:04 +10:00
psychedelicious
5e59a4f43a
feat(ui): colored mask preview image
2024-08-27 11:02:04 +10:00
psychedelicious
9f86605049
fix(ui): new rectangles don't trigger rerender
2024-08-27 11:02:04 +10:00
psychedelicious
79058a7894
chore: bump version v4.2.9.dev20240823
2024-08-27 11:02:04 +10:00
psychedelicious
bb3ad8c2f1
feat(ui): disable most interaction while filtering
2024-08-27 11:02:04 +10:00
psychedelicious
799688514b
fix(ui): filter preview offset
2024-08-27 11:02:04 +10:00
psychedelicious
b7344b0df2
feat(ui): tweak layout of staging area toolbar
2024-08-27 11:02:04 +10:00
psychedelicious
7e382c5f3f
chore(ui): typegen
2024-08-27 11:02:04 +10:00
psychedelicious
9cf357e184
tidy(app): clean up app changes for canvas v2
2024-08-27 11:01:53 +10:00
psychedelicious
95b6c773d4
feat(ui): use singleton for clear q confirm dialog
2024-08-27 11:01:53 +10:00
psychedelicious
89d8c5ba00
fix(ui): rip out broken recall logic, NO TS ERRORS
2024-08-27 11:01:53 +10:00
psychedelicious
59580cf6ed
chore(ui): lint
2024-08-27 11:01:53 +10:00
psychedelicious
2b0c084f5b
fix(ui): staging area interaction scopes
2024-08-27 11:01:53 +10:00
psychedelicious
4d896073ff
fix(ui): staging area actions
2024-08-27 11:01:53 +10:00
psychedelicious
9f69503a80
tidy(ui): more cleanup
2024-08-27 11:01:53 +10:00
psychedelicious
0311e852a0
fix(ui): upscale tab graph
2024-08-27 11:01:53 +10:00
psychedelicious
7003a3d546
fix(ui): sdxl graph builder
2024-08-27 11:01:53 +10:00
psychedelicious
dc73072e27
fix(ui): select next entity in the list when deleting
2024-08-27 11:01:53 +10:00
psychedelicious
e549c44ad7
feat(ui): fix delete layer hotkey
2024-08-27 11:01:52 +10:00