[feat] TransformPane - Viewport synchronization layer for Vue nodes (#4304)

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Benjamin Lu <benceruleanlu@proton.me>
Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
Christian Byrne
2025-08-06 11:51:41 -07:00
committed by Benjamin Lu
parent 6e04cb72b0
commit 19084e2799
118 changed files with 12638 additions and 347 deletions

View File

@@ -3,7 +3,21 @@
* Removes all DOM manipulation and positioning concerns
*/
export interface SimplifiedWidget<T = any, O = Record<string, any>> {
/** Valid types for widget values */
export type WidgetValue =
| string
| number
| boolean
| object
| undefined
| null
| void
| File[]
export interface SimplifiedWidget<
T extends WidgetValue = WidgetValue,
O = Record<string, any>
> {
/** Display name of the widget */
name: string

23
src/types/spatialIndex.ts Normal file
View File

@@ -0,0 +1,23 @@
/**
* Type definitions for spatial indexing system
*/
import type { Bounds } from '@/utils/spatial/QuadTree'
/**
* Debug information for a single QuadTree node
*/
export interface QuadNodeDebugInfo {
bounds: Bounds
depth: number
itemCount: number
divided: boolean
children?: QuadNodeDebugInfo[]
}
/**
* Debug information for the entire spatial index
*/
export interface SpatialIndexDebugInfo {
size: number
tree: QuadNodeDebugInfo
}