feat(paint): add fill between slice interpolation#726
Conversation
✅ Deploy Preview for volview-dev ready!Built without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify site configuration. |
|
Thoughts on this GUI? @floryst and/or anyone? |
|
How does it compare to Slicer's paint interpolation UX? How will the preview/confirm/cancel functionality work? |
|
Here is how Slicer does it:
A video: |
99149eb to
938e54b
Compare
6e850d6 to
b3c5e97
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR introduces the "Fill Between" feature for painting by adding slice interpolation functionality and updating the paint tool behavior accordingly. Key changes include:
- Adding a new pipeline configuration for morphological contour interpolation in vite.config.ts.
- Introducing a new fillBetween store and updating the PaintMode enum and related logic in the paint tool code.
- Modifying UI components to integrate the new Fill Between mode and its controls.
Reviewed Changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| vite.config.ts | Adds pipeline configuration for morphological contour interpolation. |
| src/store/tools/paint.ts | Removes the export of ensureActiveSegmentGroupForImage from the paint store. |
| src/store/tools/fillBetween.ts | Introduces a new store for Fill Between functionality. |
| src/core/tools/paint/index.ts | Updates PaintMode enum and modifies stroke handling for Fill Between. |
| src/components/tools/paint/PaintWidget2D.vue | Adds reactive disabling of the widget for Fill Between mode. |
| src/components/tools/paint/PaintTool.vue | Updates active mode computation to account for Fill Between mode. |
| src/components/PaintControls.vue | Integrates a new Fill Between button and layout adjustments. |
| src/components/MiniExpansionPanel.vue | Introduces a reusable expansion panel component. |
| src/components/FillBetweenControls.vue | Provides controls for previewing, confirming, and canceling fill actions. |
Files not reviewed (1)
- package.json: Language not supported
Comments suppressed due to low confidence (2)
src/store/tools/paint.ts:254
- The removal of 'ensureActiveSegmentGroupForImage' from the store's returned API may impact dependent modules; please confirm that all consumers have been updated accordingly.
ensureActiveSegmentGroupForImage,
src/core/tools/paint/index.ts:80
- The early return for PaintMode.FillBetween bypasses brush value processing; please verify that this behavior is intentional and does not affect other expected fill operations.
if (this.brushValue == null || this.mode === PaintMode.FillBetween) return;
Uh oh!
There was an error while loading. Please reload this page.