"use client"; import { useVisualization } from "@/lib/visualizations/use-visualization"; import type { AlgorithmDefinition } from "@/lib/visualizations/types"; import { VisualizationContainer } from "../core/visualization-container"; import { ArrayView } from "../data-structures/array-view"; import { CalculationBubble } from "../primitives/calculation-bubble"; interface TwoPointersVisualizationProps { algorithm: AlgorithmDefinition; className?: string; } export function TwoPointersVisualization({ algorithm, className, }: TwoPointersVisualizationProps) { const { currentStep, currentStepIndex, totalSteps, playback, controls, currentPhase, progress, } = useVisualization(algorithm); const { dataState } = currentStep; const mainArray = dataState.arrays[0]; const calculation = dataState.calculations[0] ?? null; return (
{/* Fixed height area for calculation bubble */}
{/* Array visualization with pointers */}
{mainArray && ( )}
); }