psychedelicious
591f48bb95
chore(ui): lint
2024-10-23 16:01:15 +11:00
psychedelicious
dc6e45485c
feat(ui): update CanvasSegmentAnythingModule for new nodes
2024-10-23 16:01:15 +11:00
psychedelicious
790846297a
feat(ui): add more data to canvas module reprs
2024-10-23 16:01:15 +11:00
psychedelicious
230b455a13
tidy(ui): $pointTypeEnglish -> $pointTypeString
2024-10-23 16:01:15 +11:00
psychedelicious
71f0fff55b
fix(ui): right click on stage draws
2024-10-23 16:01:15 +11:00
psychedelicious
7f2c83b9e6
feat(ui): consolidate isolated preview settings
...
`isolatedFilteringPreview` and `isolatedTransformingPreview` are merged into `isolatedLayerPreview`. This is also used for segment anything.
2024-10-23 16:01:15 +11:00
psychedelicious
bc85bd4bd4
tidy(ui): clean up and document CanvasSegmentAnythingModule
2024-10-23 16:01:15 +11:00
psychedelicious
38b09d73e4
feat(ui): masking UX (wip - interaction state issue)
2024-10-23 16:01:15 +11:00
psychedelicious
606c4ae88c
feat(ui): masking UX (wip - issue w/ positioning)
2024-10-23 16:01:15 +11:00
psychedelicious
f666bac77f
tidy(ui): CanvasToolView -> CanvasViewToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
c9bf7da23a
tidy(ui): CanvasToolRect -> CanvasRectToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
dfc65b93e9
tidy(ui): CanvasToolMove -> CanvasMoveToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
9ca40b4cf5
tidy(ui): CanvasToolErase -> CanvasEraserToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
d571e71d5e
tidy(ui): CanvasToolColorPicker -> CanvasColorPickerToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
ad1e6c3fe6
tidy(ui): CanvasToolBrush -> CanvasBrushToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
21d02911dd
tidy(ui): CanvasBboxModule -> CanvasBboxToolModule, move file
2024-10-23 16:01:15 +11:00
psychedelicious
43afe0bd9a
feat(ui): move cursor handling to tool modules
...
Also add cursors for move tool and bbox tool - when pointer is over the layer or bbox, use the move cursor.
2024-10-23 16:01:15 +11:00
psychedelicious
e7a68c446d
feat(ui): add CanvasToolView
...
It's nearly a noop but I think it makes sense to have a module for each tool...
2024-10-23 16:01:15 +11:00
psychedelicious
b9c68a2e7e
feat(ui): add CanvasToolMove
...
It's essentially a noop but I think it makes sense to have a module for each tool...
2024-10-23 16:01:15 +11:00
psychedelicious
371a1b1af3
feat(ui): make CanvasBboxModule child of CanvasToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
dae4591de6
feat(ui): let tool modules set own visibility
2024-10-23 16:01:15 +11:00
psychedelicious
8ccb2e30ce
feat(ui): bail on stage events when not targeting the stage
2024-10-23 16:01:15 +11:00
psychedelicious
b8106a4613
fix(ui): bail on drawing when mouse not down
2024-10-23 16:01:15 +11:00
psychedelicious
ce51e9582a
feat(ui): add CanvasRectTool
2024-10-23 16:01:15 +11:00
psychedelicious
00848eb631
feat(ui): let color picker tool handle its events
2024-10-23 16:01:15 +11:00
psychedelicious
b48430a892
feat(ui): let eraser tool handle its events
2024-10-23 16:01:15 +11:00
psychedelicious
f94a218561
tidy(ui): remove extraneous checks from CanvasToolBrush
2024-10-23 16:01:15 +11:00
psychedelicious
9b6ed40875
fix(ui): edge case where pressure could be added erroneously to points
2024-10-23 16:01:15 +11:00
psychedelicious
26553dbb0e
tidy(ui): CanvasToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
9eb695d0b4
docs(ui): update CanvasToolModule
2024-10-23 16:01:15 +11:00
psychedelicious
babab17e1d
feat(ui): let brush tool handle its events
...
Move brush tool event logic to its class.
2024-10-23 16:01:15 +11:00
psychedelicious
d0a80f3347
feat(ui): create zCoordinateWithPressure & export type from canvas types
2024-10-23 16:01:15 +11:00
psychedelicious
9b30363177
tidy(ui): CanvasToolModule structure
2024-10-23 16:01:15 +11:00
psychedelicious
89bde36b0c
feat(ui): support draggable SAM points
2024-10-23 16:01:15 +11:00
psychedelicious
86a8476d97
feat(ui): working segment anything flow
2024-10-23 16:01:15 +11:00
psychedelicious
80bf9ddb71
feat(ui): rough out points UI for segment anything module
2024-10-23 16:01:15 +11:00
psychedelicious
1dbc98d747
feat(ui): add CanvasSegmentAnythingModule (wip)
2024-10-23 16:01:15 +11:00
psychedelicious
59d0ad4505
chore(ui): migrate from ts-toolbelt to type-fest
...
`ts-toolbelt` is unmaintained while `type-fest` is very actively maintained. Both provide similar TS utilities.
2024-10-23 16:01:15 +11:00
psychedelicious
ee8975401a
fix(ui): remove special handling for flux in IPAdapterModel
...
This masked an issue w/ the CLIP Vision model. Issue is now handled in reducer/graph builder.
2024-10-23 08:31:10 +10:00
psychedelicious
f53823b45e
fix(ui): update CLIP Vision when ipa model changes
2024-10-23 08:29:14 +10:00
Mary Hipp
0a96466b60
feat(ui): add IP adapters to FLUX in linear UI
2024-10-22 15:22:56 -04:00
psychedelicious
23fada3eea
feat(ui): simpler dnd indicator for right panel tabs
...
We can use the drop overlay component directly for this, without needing to add it as a `noop` dnd target.
Other changes:
- The `label` prop is now used to conditionally render the label - every drop target provides its own label, so this doesn't break anything.
- Add `withBackdrop` prop to control whether we apply the dimmed drop target effect.
2024-10-16 18:35:55 +11:00
psychedelicious
2917e59c38
Revert "feat(ui): add layers tab as droppable destination to improve UX for dragging from gallery to layers tabs"
...
This reverts commit 535c1287bbc8d2c2099f5ff659f62e3076a0dbee.
2024-10-16 18:35:55 +11:00
Mary Hipp
c691855a67
feat(ui): add layers tab as droppable destination to improve UX for dragging from gallery to layers tabs
2024-10-16 18:35:55 +11:00
Mary Hipp
a00347379b
feat(ui): move layers/gallery tab state into redux so it persists across sessions/refreshes, make gallery the default
2024-10-16 18:35:55 +11:00
psychedelicious
1251dfd7f6
feat(ui): better warnings when transforming
2024-10-15 19:47:50 -04:00
psychedelicious
804ee3a7fb
docs(ui): update docstrings for startTransform
2024-10-15 19:47:50 -04:00
psychedelicious
fc5f9047c2
fix(ui): fit to bbox just flashes transform handles
...
Need to `await` the startTransform call so it can acquire the lock on concurrent transformation operations.
2024-10-15 19:47:50 -04:00
psychedelicious
56f0845552
tidy(ui): consistent naming for selector builder util
2024-10-11 07:51:55 -04:00
psychedelicious
da3f85dd8b
fix(ui): edge case where entity isn't visible until interacting with canvas
...
To trigger the edge case:
- Have an empty layer and non-empty layer
- Select the non-empty layer
- Refresh the page
- Select to the empty layer without doing any other action
- You may be unable to draw on the layer
- Zoom in/out slightly
- You can now draw on it
The problem was not syncing visibility when a layer is selected, leaving the layer hidden. This indirectly disabled interactions.
The fix is to listen for changes to the layer's selected status and sync visibility when that changes.
2024-10-11 07:51:55 -04:00