/** * Layout Engine * * Force-directed layout algorithm for positioning tables in 3D space. * Groups tables by domain clusters and applies physics simulation. */ import type { TableNode, EntryPointNode, Vector3D, TableRelationship } from '../types/index.js'; interface LayoutResult { tables: Map; entryPoints: Map; clusters: Map; } /** * Detect which cluster a table belongs to based on its name */ export declare function detectCluster(tableName: string): string; /** * Group tables by cluster */ export declare function groupByCluster(tables: readonly TableNode[]): Map; /** * Main layout calculation */ export declare function calculateLayout(tables: readonly TableNode[], entryPoints: readonly EntryPointNode[], relationships: readonly TableRelationship[]): LayoutResult; /** * Apply layout to galaxy data (mutates positions) */ export declare function applyLayout(tables: TableNode[], entryPoints: EntryPointNode[], relationships: readonly TableRelationship[]): void; /** * Compute galaxy layout and return tables/entryPoints with positions */ export declare function computeGalaxyLayout(tables: readonly TableNode[], entryPoints: readonly EntryPointNode[], dataPaths: readonly { sourceId: string; targetTableId: string; }[]): { tables: TableNode[]; entryPoints: EntryPointNode[]; }; export {}; //# sourceMappingURL=layout-engine.d.ts.map