feat: Phase 1 - Canvas with React Flow

- 8 node types (Model, Solver, DesignVar, Extractor, Objective, Constraint, Algorithm, Surrogate)
- Drag-drop from palette to canvas
- Node configuration panels
- Graph validation with error/warning display
- Intent JSON serialization
- Zustand state management

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-14 20:00:35 -05:00
parent 73a7b9d9f1
commit 7919511bb2
24 changed files with 1915 additions and 6 deletions

View File

@@ -0,0 +1,30 @@
import { ModelNode } from './ModelNode';
import { SolverNode } from './SolverNode';
import { DesignVarNode } from './DesignVarNode';
import { ExtractorNode } from './ExtractorNode';
import { ObjectiveNode } from './ObjectiveNode';
import { ConstraintNode } from './ConstraintNode';
import { AlgorithmNode } from './AlgorithmNode';
import { SurrogateNode } from './SurrogateNode';
export {
ModelNode,
SolverNode,
DesignVarNode,
ExtractorNode,
ObjectiveNode,
ConstraintNode,
AlgorithmNode,
SurrogateNode,
};
export const nodeTypes = {
model: ModelNode,
solver: SolverNode,
designVar: DesignVarNode,
extractor: ExtractorNode,
objective: ObjectiveNode,
constraint: ConstraintNode,
algorithm: AlgorithmNode,
surrogate: SurrogateNode,
};