viz primitives for data structures

This commit is contained in:
2025-09-12 15:26:17 +01:00
parent 3b4c242f8d
commit b576af260e
9 changed files with 1297 additions and 22 deletions
@@ -2,6 +2,10 @@
import { useVisualization } from "./visualization-context";
import { ArrayVisualizer } from "./visualizers/array-visualizer";
import { HistogramVisualizer } from "./visualizers/histogram-visualizer";
import { LinkedListVisualizer } from "./visualizers/linkedlist-visualizer";
import { StackVisualizer } from "./visualizers/stack-visualizer";
import { TreeVisualizer } from "./visualizers/tree-visualizer";
import type { DataStructureState } from "@/types/visualization";
interface StructureVisualizerProps {
@@ -13,36 +17,21 @@ function StructureVisualizer({ name, data }: StructureVisualizerProps) {
switch (data.type) {
case "array":
return <ArrayVisualizer data={data} name={name} />;
case "histogram":
return <HistogramVisualizer data={data} name={name} />;
case "linkedlist":
// Phase 3: LinkedListVisualizer
return (
<div className="text-muted-foreground">
LinkedList visualization coming soon
</div>
);
return <LinkedListVisualizer data={data} name={name} />;
case "stack":
// Phase 3: StackVisualizer
return (
<div className="text-muted-foreground">
Stack visualization coming soon
</div>
);
return <StackVisualizer data={data} name={name} />;
case "tree":
// Phase 3: TreeVisualizer
return (
<div className="text-muted-foreground">
Tree visualization coming soon
</div>
);
return <TreeVisualizer data={data} name={name} />;
case "graph":
// Phase 5: GraphVisualizer
return (
<div className="text-muted-foreground">
Graph visualization coming soon
</div>
);
case "matrix":
// Phase 5: MatrixVisualizer
return (
<div className="text-muted-foreground">
Matrix visualization coming soon