psychedelicious
94007fef5b
tidy(ui): remove unused reducer
2024-10-10 07:43:46 -04:00
psychedelicious
9e6fb3bd3f
feat(ui): add hooks for new layer/canvas from image & use them
2024-10-10 07:43:46 -04:00
psychedelicious
8522129639
tidy(ui): "syncCache" -> "syncKonvaCache"
...
Reduce confusion w/ the many other caches
2024-10-10 17:45:05 +11:00
psychedelicious
15033b1a9d
fix(ui): prevent edge case where layers get cached while hidden
2024-10-10 17:45:05 +11:00
psychedelicious
743d78f82b
feat(ui): more debug info for canvas adapters
2024-10-10 17:45:05 +11:00
psychedelicious
06a434b0a2
tidy(ui): clean up awkward selector in CanvasEntityAdapterBase
2024-10-10 17:45:05 +11:00
psychedelicious
7f2fdae870
perf(ui): optimized object rendering
...
- Throttle opacity and compositing fill rendering to 100ms
- Reduce compositing rect rendering to minimum
2024-10-10 17:45:05 +11:00
psychedelicious
00be03b5b9
perf(ui): hide offscreen & uninteractable layers
2024-10-10 17:45:05 +11:00
psychedelicious
0f98806a25
fix(ui): deprecated konva attr
2024-10-10 17:45:05 +11:00
psychedelicious
0f1541d091
perf(ui): disable perfect draw for all shapes
...
This feature involves a certain amount of extra work to ensure stroke and fill with partial opacity render correctly together. However, none of our shapes actually use that combination of attributes, so we can disable this for a minor perf boost.
2024-10-10 17:45:05 +11:00
psychedelicious
c49bbb22e5
feat(ui): track whether entities intersect the bbox
2024-10-10 17:45:05 +11:00
psychedelicious
7bd4b586a6
feat(ui): track whether entities are on-screen or off-screen
2024-10-10 17:45:05 +11:00
psychedelicious
754f049f54
feat(ui): getScaledStageRect returns snapped values
2024-10-10 17:45:05 +11:00
psychedelicious
883beb90eb
refactor(ui): do not rely on konva internal canvas cache for layer previews
...
Instead of pulling the preview canvas from the konva internals, use the canvas created for bbox calculations as the preview canvas.
This doesn't change perf characteristics, because we were already creating this canvas. It just means we don't need to dip into the konva internals.
It fixes an issue where the layer preview didn't update or show when a layer is disabled or otherwise hidden.
2024-10-10 17:45:05 +11:00
psychedelicious
ad76399702
feat(ui): add getRectIntersection util
2024-10-10 17:45:05 +11:00
psychedelicious
69773a791d
feat(ui): use useAssertSingleton for all singleton modals
...
footgun insurance
2024-10-10 15:49:09 +11:00
psychedelicious
99e88e601d
fix(ui): edge case where you get stuck w/ the workflow list menu open, or it opens unexpectedly
...
- When resetting workflows, retain the current mode state
- Remove the useEffect that reacted to the `isCleanEditor` flag to prevent getting menu getting locked open
2024-10-10 15:49:09 +11:00
psychedelicious
4050f7deae
feat(ui): make workflow support link work like a link
2024-10-10 15:49:09 +11:00
psychedelicious
0399b04f29
fix(ui): workflows marked touched on first load
2024-10-10 15:49:09 +11:00
psychedelicious
3b349b2686
chore(ui): lint
2024-10-10 15:49:09 +11:00
psychedelicious
aa34dbe1e1
feat(ui): "CopyWorkflowLinkModal" -> "ShareWorkflowModal"
2024-10-10 15:49:09 +11:00
psychedelicious
ac2476c63c
fix(ui): use modal overlay for workflow share modal
2024-10-10 15:49:09 +11:00
psychedelicious
f16489f1ce
feat(ui): split out delete style preset dialog logic into singleton
2024-10-10 15:49:09 +11:00
psychedelicious
3b38b69192
feat(ui): split out copy workflow link dialog logic into singleton
2024-10-10 15:49:09 +11:00
psychedelicious
2c601438eb
feat(ui): split out delete workflow dialog logic into singleton
2024-10-10 15:49:09 +11:00
psychedelicious
5d6a2a3709
fix(ui): use Text component in style preset delete dialog
2024-10-10 15:49:09 +11:00
psychedelicious
1d7a264050
feat(ui): workflow share icon only for non-user workflows
2024-10-10 15:49:09 +11:00
psychedelicious
c494e0642a
feat(ui): split out new workflow dialog logic, use it in list menu, restore new workflow dialog
2024-10-10 15:49:09 +11:00
psychedelicious
849b9e8d86
fix(ui): duplicate copy workflow link modals
...
The component state is a global singleton, but each workflow had an instance of the modal. So when you open one, they _all_ opened.
2024-10-10 15:49:09 +11:00
psychedelicious
4a66b7ac83
chore(ui): bump @invoke-ai/ui-library
...
Brings in a fix where ConfirmationAlertDialog rest props weren't used correctly.
2024-10-10 15:49:09 +11:00
psychedelicious
751eb59afa
fix(ui): issues with workflow list state
...
- Tooltips on buttons for a list item getting stuck
- List item action buttons should not propagate clicks
2024-10-10 15:49:09 +11:00
psychedelicious
f537cf1916
fix(ui): downloading workflow loads it
2024-10-10 15:49:09 +11:00
psychedelicious
0cc6f67bb1
feat(ui): use buildUseDisclosure for workflow list menu
2024-10-10 15:49:09 +11:00
psychedelicious
b2bf03fd37
feat(ui): use own useDisclosure for workflow delete confirm dialog
2024-10-10 15:49:09 +11:00
psychedelicious
14bc06ab66
feat(ui): add our own useDisclosure hook
2024-10-10 15:49:09 +11:00
psychedelicious
9c82cc7fcb
feat(ui): use buildUseDisclosure for workflow copy link modal
2024-10-10 15:49:09 +11:00
psychedelicious
c60cab97a7
feat(ui): add buildUseDisclosure
2024-10-10 15:49:09 +11:00
psychedelicious
eda979341a
feat(installer): use torch extra index on all cuda install pathways
2024-10-09 22:46:18 -04:00
Eugene Brodsky
b6c7949bb7
feat(backend): prefer xformers based on cuda compute capability
2024-10-09 22:46:18 -04:00
Eugene Brodsky
d691f672a2
feat(docker): upgrade to CUDA 12.4 in container
2024-10-09 22:46:18 -04:00
Eugene Brodsky
8deeac1372
feat(installer): add options to include or exclude xFormers based on the GPU model
2024-10-09 22:46:18 -04:00
Mary Hipp
3c46522595
feat(ui): add option to copy share link for workflows if projectURL is defined (commercial)
2024-10-10 08:42:37 +11:00
psychedelicious
8544ba3798
feat(ui): add fit to bbox context menu item
...
This immediately fits the selected layer to the bbox, maintaining its aspect ratio.
2024-10-09 23:13:08 +11:00
psychedelicious
65fe79fa0e
feat(ui): add silent option to transformer.startTransform
...
A "silent" transformation executes without any user feedback.
2024-10-09 23:13:08 +11:00
psychedelicious
c99852657e
feat(ui): disable transfomer controls while applying transform
2024-10-09 23:13:08 +11:00
psychedelicious
ed54b89e9e
fix(ui): edge case where transforms don't do anything due to caching
...
This could be triggered by transforming a layer, undoing, then transforming again. The simple fix is to ignore the rasterization cache for all transforms.
2024-10-09 23:13:08 +11:00
psychedelicious
d56c80af8e
feat(ui): add ability to ignore rasterization cache
2024-10-09 23:13:08 +11:00
psychedelicious
0a65a01db8
feat(ui): use icons for layer menu common actions
2024-10-09 23:13:08 +11:00
psychedelicious
5f416ee4fa
feat(ui): add IconMenuItem component
2024-10-09 23:13:08 +11:00
psychedelicious
115c82231b
fix(ui): type signature for abstract sync method
2024-10-09 23:13:08 +11:00