Placeholder — do not implement yet. Details to follow from the product owner.
Make panning, zooming, and navigation feel native on trackpads and touchscreens (part of the responsive PC/tablet/mobile + touch/Apple Pencil roadmap in docs/BRAND.md).
Scope to define later:
- Trackpad: two-finger scroll pans; pinch-to-zoom (browsers deliver pinch as
wheel with ctrlKey), distinct from scroll; smooth/inertial feel.
- Touch: one-finger drag pans the chart; two-finger pinch zooms; avoid fighting the browser's own gestures (
touch-action is already none on .ed-canvas).
- Apple Pencil / stylus: treat as a precise pointer for selecting/inserting/handle-drags, not panning.
- Keep the existing keyboard/mouse model intact (hold-Space pan, wheel zoom, marquee select).
Where it lives: the canvas controller in src/core/editorCanvas.ts already uses Pointer Events for drag/select and a wheel handler for zoom — extend these (likely add multi-pointer tracking for pinch and refine onWheel to separate pan vs pinch) rather than adding a new input layer.
Acceptance criteria to be filled in with the product owner before implementing.
Placeholder — do not implement yet. Details to follow from the product owner.
Make panning, zooming, and navigation feel native on trackpads and touchscreens (part of the responsive PC/tablet/mobile + touch/Apple Pencil roadmap in
docs/BRAND.md).Scope to define later:
wheelwithctrlKey), distinct from scroll; smooth/inertial feel.touch-actionis alreadynoneon.ed-canvas).Where it lives: the canvas controller in
src/core/editorCanvas.tsalready uses Pointer Events for drag/select and awheelhandler for zoom — extend these (likely add multi-pointer tracking for pinch and refineonWheelto separate pan vs pinch) rather than adding a new input layer.Acceptance criteria to be filled in with the product owner before implementing.