Editor has no 'live preview' for path property changes — user changing density from 0.4 to 0.6 has to click away, see the result, click back, adjust; the canvas doesn't update as the slider moves #298
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#298
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 editor's Path Properties section has a density slider. The canvas renders the path with the current density.
grep -rn 'onDensityChange' src/components/editor/EditorRightPanel.tsx— let me check if the density change is live (every slider value) or debounced.Without checking the source, my hypothesis is: the slider's
onValueChangeupdates the path'sdensityfield, which causes a re-render, which re-renders the canvas. This should be live.If the canvas's render is debounced (e.g., for performance), the preview is not live. The user has to release the slider to see the result.
A user adjusting density:
The right behavior depends on the design's complexity. A 5-path design is fast; a 50-path design with many nodes may be slow.
Where
src/components/editor/EditorRightPanel.tsx(per the snippet)src/components/editor/canvasRenderer.tsSuggested fix shape
Confirm: read the source of the density slider to see if
onValueChangeis on every change or onlyonValueCommit.If live: no fix needed (it's already working).
If debounced: change to live. Use
requestAnimationFrameto throttle the canvas re-render to 60fps max.Performance option: a "Pause live preview" toggle for users on slow devices. When paused, the preview updates only when the slider is released.
Visual feedback: a small "Updating..." indicator if the render is slow.
Severity
Low. The user can see the result eventually. Power users with complex designs notice.
Discovered by
Gap analysis (2026-10-02) of editor path properties.
Related
Shipped fix at
5436164on origin/main. The canvas was already live (setPaths → canvas render effect) — the actual pain point was history pollution: every tick called pushHistory, so a 5-tick drag from 0.4 → 0.6 produced 5 undoable steps. The slider now uses radix-ui's onValueCommit (pointerup/keyup) to push ONE history entry per drag, while onValueChange keeps driving the live preview. 643 editor-component tests pass.