/** * TransformGraph.ts * * Transform hierarchy independent of scene graph: manages * parent/child transform chains, world matrix caching, * dirty flag propagation, and batch updates. * * @module spatial */ /** Object-shaped 3-vector for transform TRS (distinct from tuple `Vector3` in SpatialTypes). */ export interface Vec3 { x: number; y: number; z: number; } type TransformInput = Partial | { x?: number; y?: number; z?: number; sx?: number; sy?: number; sz?: number; } /** Local position only; scale defaults to (1,1,1). */ | readonly [number, number, number]; export interface Transform3D { position: Vec3; scale: Vec3; } export declare class TransformGraph { private entries; addNode(id: string, local?: TransformInput): void; removeNode(id: string): void; setParent(childId: string, parentId: string | null): void; getChildren(id: string): string[]; getParent(id: string): string | null; setPosition(id: string, x: number, y: number, z: number): void; setScale(id: string, sx: number, sy: number, sz: number): void; getLocalTransform(id: string): Transform3D | null; getWorldPosition(id: string): [number, number, number] | null; updateAll(): void; private updateWorld; private markDirty; getNodeCount(): number; getRoots(): string[]; } export {}; //# sourceMappingURL=TransformGraph.d.ts.map