'use client' import { useAppStore } from '@/store' import { PADDING_MODES } from '@/lib/kernels' import { Select, Card, CardContent, Slider, Button } from '@/components/ui' import { cn } from '@/utils/helpers' import { Settings, Layers, Grid } from 'lucide-react' export function OverlayControls() { const { settings, updateSettings, toggleOverlay, setPadding } = useAppStore() const { showOverlay, padding } = settings return ( Visualization Overlays {Object.entries(showOverlay).map(([key, value]) => ( toggleOverlay(key as keyof typeof showOverlay)} className="rounded border-gray-300" /> {key.replace(/([A-Z])/g, ' $1')} ))} ) } export function PaddingControls() { const { settings, setPadding } = useAppStore() const { padding } = settings return ( Padding Strategy setPadding(e.target.value as typeof padding)} options={PADDING_MODES.map((p) => ({ value: p.value, label: p.label }))} placeholder="Select padding mode" /> {PADDING_MODES.find((p) => p.value === padding)?.description} {/* Padding visualization would go here */} ) } export function KernelInfoPanel() { const { selectedKernel } = useAppStore() if (!selectedKernel) { return ( No kernel selected ) } const { name, category, matrix, size, normalize, description, formula, reference } = selectedKernel return ( {name} {category} {size}×{size} {normalize && ( Normalized )} {description} {formula && ( Formula: {formula} )} Kernel Matrix {matrix.map((row, i) => row.map((val, j) => ( 0 ? 'bg-green-50 text-green-800 dark:bg-green-900/30 dark:text-green-300' : 'bg-red-50 text-red-800 dark:bg-red-900/30 dark:text-red-300' )} > {val.toFixed(val === Math.round(val) ? 0 : 2)} )) )} {reference && ( Reference )} ) }
{description}