Editor's Path Properties has a 'Path length' display but no 'perimeter' or 'area' — user wanting to know how big the path is (in mm²) has to mentally integrate the path's nodes #355
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#355
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 -rn 'pathArea\|pathPerimeter' src/components/editor/EditorRightPanel.tsxreturns 0. The right panel shows the path's length but not its area or perimeter.A user with a closed path:
The fix is to add area and perimeter displays.
Where
src/components/editor/EditorRightPanel.tsxgrep -rn 'pathArea' src/components/editor/returns 0src/components/editor/geometry.ts(where the algorithm lives)Suggested fix shape
Severity
Low. The user can compute. Power users with production workflows notice.
Discovered by
Gap analysis (2026-10-02) of editor path properties.
Related
Closed by fix(#355) at
44f4b8e(push 668f1d8..44f4b8e). The right panel's Path Statistics subsection (already added in #261 with Path area / Thread usage / Stitch time / Covers fabric) now includes a Perimeter row that exposes the closed-boundary length including the implicit closing edge from the last node back to the first.Why the headline gap closed:
perimeterMm(nodes, closed)helper added next topolygonAreaMm2(shoelace area, #261) andestimatePathLength(Path Length math). Same one-decimal precision as Path Length, 0 for degenerate node counts.selectedPath.closedso open paths render only Path Length — adding Perimeter for an open polyline would just duplicate the value.Path Length row is unchanged — the thread/stitch count math downstream of it (#261) already runs against the open-polyline convention, so flipping Path Length to include the closing segment would silently re-title stitch and thread estimates under them.
6 new tests at src/pages/issue-355.test.tsx pin:
Verified locally: 6/6 issue-355 tests pass, 2407/2428 vitest pass overall (20 pre-existing failures in issue-329/#331/#333/#334 from a separate #344 findTightCurves crash, unrelated to #355 — those tests fail on main without my change). tsc -b clean, eslint clean.
CI status: Forgejo Actions run queued at 12:28:37Z, still "Waiting to run" at 12:44Z — runner queue delay, not a code problem. The push landed on origin/main as
44f4b8e; the operator can re-trigger if needed.