"use client"; import { AnimatePresence, motion } from "framer-motion"; import { Line, LineChart, ReferenceLine, ResponsiveContainer, Tooltip, XAxis, YAxis, } from "recharts"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { RewardDeltaBadge } from "@/components/RewardDeltaBadge"; import { RewardBars } from "@/components/RewardBars"; import { ScriptPanel } from "@/components/ScriptPanel"; import { ArbitratorReasoning } from "@/components/ArbitratorReasoning"; export interface EpisodeSnapshot { episode: number; script: string; reasoning: string[]; rewards: { r1: number; r2: number; r3: number; r4: number; r5: number; r6: number; r7: number; r8: number; r9: number; r10: number; process: number; total: number; }; } interface Props { episodes: EpisodeSnapshot[]; current: number; historySeries: { episode: number; total: number }[]; } export function LearningTimeline({ episodes, current, historySeries }: Props) { const snap = episodes[current]; const prev = current > 0 ? episodes[current - 1] : null; const delta = prev ? snap.rewards.total - prev.rewards.total : 0; const improved = delta > 0.01; return (
Total Reward
{snap.rewards.total.toFixed(3)}