import type { InjectionKey } from 'vue' import type { Point } from '@/renderer/core/layout/types' export interface TransformState { screenToCanvas: (p: Point) => Point canvasToScreen: (p: Point) => Point camera?: { x: number; y: number; z: number } isNodeInViewport?: ( nodePos: ArrayLike, nodeSize: ArrayLike, viewport: { width: number; height: number }, margin?: number ) => boolean } export const TransformStateKey: InjectionKey = Symbol('transformState')