psychedelicious
175a9dc28d
feat(ui): more resilient auto-masking processing
...
- Use a hash of the last processed points instead of a `hasProcessed` flag to determine whether or not we should re-process a given set of points.
- Store point coords in state instead of pulling them out of the konva node positions. This makes moving a point a more explicit action in code.
- Add a `roundCoord` util to round the x and y values of a coordinate.
- Ensure we always re-process when $points changes.
2024-10-24 08:39:29 -04:00
Mary Hipp
4db26bfa3a
(ui): add information popovers for other layer types
2024-10-24 23:34:06 +11:00
Mary Hipp
3321d14997
undo show descriptions for now
2024-10-24 23:34:06 +11:00
Mary Hipp
afa5a4b17c
(ui): add informational popover for controlnet layers
2024-10-24 23:34:06 +11:00
Mary Hipp
33c433fe59
(ui): show models in starter bundles on hover, use previous_names for isInstalled logic, allow grouped model combobox to optionally show descriptions
2024-10-24 23:34:06 +11:00
psychedelicious
3583d03b70
feat(ui): improve subs and cleanup in filterer module
...
- Subscribe when starting the filterer
- Remember to abort the abortcontroller when destroying
- Unsubscribe when destroying
2024-10-23 08:21:12 -04:00
psychedelicious
bc954b9996
feat(ui): abort controller in SAM module when destroying
2024-10-23 08:21:12 -04:00
psychedelicious
c08075946a
feat(ui): only subscribe listeners when segmenting
...
Realized we are doing a lot of event listening even when segmenting is not occuring. I don't think this will have a meaningful performance impact, but it makes sense to remove these listeners when not in use.
2024-10-23 08:21:12 -04:00
psychedelicious
df8df914e8
docs(ui): add comments to CanvasSegmentAnythingModule
2024-10-23 08:21:12 -04:00
psychedelicious
33924e8491
feat(ui): ensure abort controllers are cleaned up
2024-10-23 08:21:12 -04:00
psychedelicious
7e5ce1d69d
fix(ui): when last SAM point is deleted, reset ephemeral state
2024-10-23 08:21:12 -04:00
psychedelicious
fdbc244dbe
tidy(ui): autoProcessFilter -> autoProcess
...
It's used for more than filters now.
2024-10-23 16:01:15 +11:00
psychedelicious
0eea84c90d
chore(ui): lint
2024-10-23 16:01:15 +11:00
psychedelicious
e079a91800
feat(ui): reorder point type radios
2024-10-23 16:01:15 +11:00
psychedelicious
eb20173487
fix(ui): set hasProcessed on segment module when deleting a point
2024-10-23 16:01:15 +11:00
psychedelicious
20dd0779b5
feat(ui): use radio instead of drop-down for point label
2024-10-23 16:01:15 +11:00
psychedelicious
b384a92f5c
fix(ui): let segment module handle cursor if segmenting
2024-10-23 16:01:15 +11:00
psychedelicious
116d32fbbe
feat(ui): auto-process for segment anything
2024-10-23 16:01:15 +11:00
psychedelicious
b044f31a61
fix(ui): translation for isolated layer preview
2024-10-23 16:01:15 +11:00
psychedelicious
6c3c24403b
feat(ui): rename "Segment" -> "Auto Mask"
2024-10-23 16:01:15 +11:00
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