psychedelicious
2e3cba6416
fix(ui): flash of original layer when applying filter/segment
...
Let the parent module adopt the filtered/segemented image instead of destroying it and making the parent re-create it, which results in a brief flash of the parent layer's original objects before the new image is rendered.
2024-10-30 09:19:30 +11:00
psychedelicious
6cccd67ecd
feat(ui): update SAM module to w/ minor improvements from filter module
2024-10-30 09:19:30 +11:00
psychedelicious
5ca8eed89e
tidy(ui): remove all buffer renderer interactions in SAM module
...
We don't use the buffer rendere in this module; there's no reason to clear it.
2024-10-30 09:19:30 +11:00
psychedelicious
75f605ba1a
feat(ui): support inverted selection in auto-mask
2024-10-25 08:12:14 -04:00
psychedelicious
ab7cdbb7e0
fix(ui): do not delete point on right-mouse click
2024-10-25 10:22:22 +11:00
psychedelicious
fec45f3eb6
feat(ui): animate automask preview overlay
2024-10-24 08:39:29 -04:00
psychedelicious
e420300fa4
feat(ui): replace automask apply w/ save as menu
2024-10-24 08:39:29 -04:00
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
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
eb20173487
fix(ui): set hasProcessed on segment module when deleting a point
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
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
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
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