Editor's Path Properties has a position display but no 'x, y' input for the path — user wanting to nudge a path by exact mm has to drag, no input field #353
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#353
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
The Path Properties section has stitch type, density, color. It may or may not show the path's (x, y) position. Let me check.
grep -rn 'path.*x.*y\|onUpdatePathPosition' src/components/editor/EditorRightPanel.tsxreturns 0.A user with a path:
The fix is an (x, y) input in the Path Properties section.
Where
src/components/editor/EditorRightPanel.tsxgrep -rn 'onUpdatePathPosition' src/components/editor/returns 0Suggested fix shape
Behavior: the path's bounding box is moved to the new (x, y). The path's nodes are translated by the delta.
History: each input change is a single undoable action (per #243 — debounce on Enter, not on every keystroke).
Use cases:
Severity
Low. The user can drag. Power users with precise needs notice.
Discovered by
Gap analysis (2026-10-02) of editor path properties.
Related
feat(#353) landed on origin/main as commit
d99fe73— precise (X, Y) position input in the Path Properties Transform section (sits directly below the #352 Rotation input). The path's bounding-box centroid moves to the typed coordinate on each change; Figma / Illustrator / Inkscape convention.src/components/editor/geometry.ts— newtranslateNodes+applyPathTranslation(NaN/Infinity clamp, identity short-circuit, bbox-centroid target math).src/pages/Editor.tsx— newhandleTranslateSelectedPathwith the same single-commit history contract as #352 (one pushHistory entry per apply, underlay rides along, multi-select fans out).src/components/editor/EditorRightPanel.tsx— two NumberField inputs (step 0.1mm, no min/max) inside the Transform section, hidden whenonTranslateSelectedPathisn't wired (back-compat), disabled when the selected path has zero nodes.src/components/editor/geometry.test.ts— 12 new tests pin the modulo-NaN + identity + bbox-centroid math.src/components/editor/issue-353.test.tsx— 8 new panel tests pin presence, value tracking, X-only / Y-only handler dispatch, negative targets, empty/dash guards, optional-prop back-compat, empty-nodes disabled, and regression guards for the buttons + rotation input.Local: 8/8 issue-353 tests pass, 144/144 geometry tests pass (was 132),
tsc -bclean,vite buildclean,eslint .clean. 20 pre-existing test failures in #329/#331/#333/#334 overlay tests are unrelated (verified by reproducing on parent main).