import type { Dispatch } from "@commands/dispatcher"; import type { GlobalWheelConsumer, WheelInputEvent } from "./pointer"; export function handleViewportWheel(options: { event: WheelInputEvent; globalConsumer: GlobalWheelConsumer; dispatch: Dispatch; currentZoom: number; }): boolean { if (options.globalConsumer(options.event)) return true; const zoomFactor = Math.exp(-options.event.delta.y * 0.001); options.dispatch("viewport.zoomAroundPoint", { zoom: options.currentZoom * zoomFactor, point: options.event.position, }); return true; }