Editor renders all node types as the same 6px circle — user can't tell corner vs smooth vs symmetric nodes at a glance, even though the type is editable in the right panel #219
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#219
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
src/components/editor/canvasRenderer.ts'sdrawPath(line 81) loops through nodes and draws each as a 6px circle. The shape is the same regardless ofnode.type('corner' / 'smooth' / 'symmetric'). The only type-specific render is the Bezier handle: drawn for smooth/symmetric nodes when selected.grep -B1 -A8 'drawNodes && mode === 'select_nodes'' src/components/editor/canvasRenderer.tsshows the loop body draws the same circle shape for all types.A user with a 20-node path that's mostly smooth with 4 corners has to:
Standard vector editors distinguish node types visually:
A user looking at the canvas should be able to spot the corner nodes in a sea of smooth ones.
Where
src/components/editor/canvasRenderer.ts(indrawPath)src/components/editor/canvasRenderer.ts:155Suggested fix shape
In the loop, branch on
node.type:The user can now see at a glance which nodes are corners (squares), which are smooth (circles), and which are symmetric (circles with a crosshair). The right panel's type selector still works to change the type.
Optionally: the right panel's type label can include a small icon matching the visual (square for corner, circle for smooth, etc.) so the right panel and the canvas are in sync.
Severity
Low. The user can read the type in the right panel after selecting. Visual differentiation is a polish improvement.
Discovered by
Gap analysis (2026-10-02) of editor node visualization.
Related
Shipped via commit
f666780onmain. The editor now distinguishes node types at a glance:drawPathinsrc/components/editor/canvasRenderer.tsbranches onnode.typein the node-draw loop. Selection styling (amber fill, white border, drop shadow) is unchanged so a node's type remains readable when it's also selected. Right-panel type selector (Corner / Smooth / Symmetric) keeps changing the type as before.Added 5 canvasRenderer tests covering each type independently, a mixed-type path, and the
drawNodes: falseskip case. 1076 tests pass;tsc -bclean;vite buildclean.