Summary
Replace the current separate upload PNG / upload SVG actions with a single "Upload image" entry that opens an import wizard. The wizard lets the user adjust the image and choose how it is converted to plottable lines, with at least 5 conversion algorithms.
Motivation
The current flow exposes two distinct upload paths and limited conversion control. A unified wizard makes import discoverable and gives the user control over the line-conversion result before committing to a plot.
Wizard flow
- Upload image (raster or vector).
- Adjust the image — basic edits such as: crop, scale/fit, rotate, brightness/contrast, threshold, invert.
- Choose conversion algorithm with a live preview of the resulting lines.
- Tune algorithm parameters (e.g. line spacing, threshold, density).
- Confirm — paths are added to the canvas.
Algorithms (at least 5)
Suggested set (final list TBD during design):
- Edge detection / outline tracing
- Horizontal/vertical/diagonal hatching by brightness
- Crosshatch (multi-angle hatching by tone)
- Dithering / stippling (dots)
- Contour / iso-level lines
- Centerline / skeleton tracing (bonus)
Acceptance criteria
Notes
Current conversion logic lives under src/plot/ (raster.ts, svg.ts, detail.ts); reuse/extend where possible.
Summary
Replace the current separate upload PNG / upload SVG actions with a single "Upload image" entry that opens an import wizard. The wizard lets the user adjust the image and choose how it is converted to plottable lines, with at least 5 conversion algorithms.
Motivation
The current flow exposes two distinct upload paths and limited conversion control. A unified wizard makes import discoverable and gives the user control over the line-conversion result before committing to a plot.
Wizard flow
Algorithms (at least 5)
Suggested set (final list TBD during design):
Acceptance criteria
Notes
Current conversion logic lives under
src/plot/(raster.ts,svg.ts,detail.ts); reuse/extend where possible.