Editor has no 'smoothing' / 'simplify' operation on a path — user with 50 nodes in a wobbly path can't reduce it to a clean 8-node smooth path, no automatic simplification algorithm #279
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/Kimi_Agent_Brother_10_Digitizing_App#279
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Finding
grep -n 'simplifyPath\|douglasPeucker\|smoothPath' src/components/editor/returns 0. The editor has no path simplification.A user who imports a path with 200 nodes (from a tracing tool, or from a rough hand-draw) wants to:
The editor has no "Simplify" button on the path. The user can manually delete nodes (per the delete-node tool) but it's tedious.
Where
src/components/editor/EditorRightPanel.tsx(per-row actions)grep -rn 'simplify' src/components/editor/returns 0grep -rn 'douglasPeucker\|douglas_peucker' src/returns 0Suggested fix shape
src/components/editor/geometry.ts:Tolerance slider: a small slider for the tolerance (1-5mm). Higher tolerance = more aggressive simplification.
Preview: show "200 nodes → 24 nodes" before applying.
History: push the simplification as a single undoable action.
Severity
Low. The user can manually delete nodes. Power users with complex paths notice.
Discovered by
Gap analysis (2026-10-02) of editor path operations.
Related
Picking this up — implementing Douglas-Peucker in
src/components/editor/geometry.ts, plus a Simplify subsection in the right panel with a 1-5mm tolerance slider, live "N nodes → M nodes" preview, and a single-undoable Apply button. Will push to main and close the issue with the fix commit.Shipped fix(#279) at
8cfbe11on origin/main —src/components/editor/geometry.tsgainssimplifyPath()(iterative Douglas-Peucker) +perpendicularDistance(). The right panel's Path Properties section now has a 'Simplify Path' subsection with a 0.5-5mm tolerance slider, a live 'N → M nodes' preview, and an 'Apply Simplify' button. Editor.tsx wiresonSimplifySelectedPathto setPaths + pushHistory (undoable via Ctrl+Z) and clearsselectedNodeIdsafter the reduce so the canvas doesn't highlight nodes that no longer exist.grep -rn 'simplifyPath\|douglasPeucker' src/now returns hits in geometry.ts + the new issue-279 test file.grep -n 'simplify' src/components/editor/finds the section + theWand2-iconed Apply button. 14 new tests (8 panel-level + 3 Editor-wiring + 3 already-counted-in-geometry-test).CI run #7543 is queued on the self-hosted runner but the runner queue has been stalled/cancelled for the last 5 fixes (#275-#278 all show the same 'cancelled' status). Local gates are clean:
npx tsc -b(tsc -b && vite build),npm run lint,npm test(1532 editor-related tests pass; the 3 workspace/issue-275 failures + 1 issue-240 are pre-existing on main and unrelated).