- Added stable slot layout support in various components, enhancing the layout and interaction of nodes. - Updated TypeScript configuration to include new paths for the agent-graph package. - Refactored layout logic in activity lanes and kanban to accommodate stable slot assignments. - Enhanced GraphView and GraphControls to support sidebar visibility toggling and owner slot drop handling. - Introduced new types for layout management in GraphDataPort and related files. - Updated README to include stable slot layout documentation.
22 lines
807 B
TypeScript
22 lines
807 B
TypeScript
import type { GraphNode, GraphEdge, GraphParticle, GraphLayoutPort } from './types';
|
|
|
|
/**
|
|
* Data provider port — supplies graph state to the visualization.
|
|
* Host project implements this via an adapter (e.g., useTeamGraphAdapter).
|
|
*/
|
|
export interface GraphDataPort {
|
|
/** All nodes to render (members, tasks, processes, lead) */
|
|
nodes: GraphNode[];
|
|
/** All edges (ownership, blocking, related, message, parent-child) */
|
|
edges: GraphEdge[];
|
|
/** Active particles (messages in flight, spawn effects) */
|
|
particles: GraphParticle[];
|
|
/** Team name for display */
|
|
teamName: string;
|
|
/** Team brand color */
|
|
teamColor?: string;
|
|
/** Whether the team lead process is alive */
|
|
isAlive?: boolean;
|
|
/** Stable owner-slot layout hints supplied by the host app */
|
|
layout?: GraphLayoutPort;
|
|
}
|