import { c as _c } from "react-compiler-runtime"; import type { ReactNode } from 'react'; import { FpsMetricsProvider } from '../context/fpsMetrics.js'; import { StatsProvider, type StatsStore } from '../context/stats.js'; import { type AppState, AppStateProvider } from '../state/AppState.js'; import { onChangeAppState } from '../state/onChangeAppState.js'; import type { FpsMetrics } from '../utils/fpsTracker.js'; type Props = { getFpsMetrics: () => FpsMetrics | undefined; stats?: StatsStore; initialState: AppState; children: ReactNode; }; /** * Top-level wrapper for interactive sessions. * Provides FPS metrics, stats context, and app state to the component tree. */ export function App(t0: Props) { const $ = _c(9); const { getFpsMetrics, stats, initialState, children } = t0; let t1; if ($[0] !== children || $[1] !== initialState) { t1 = {children}; $[0] = children; $[1] = initialState; $[2] = t1; } else { t1 = $[2]; } let t2; if ($[3] !== stats || $[4] !== t1) { t2 = {t1}; $[3] = stats; $[4] = t1; $[5] = t2; } else { t2 = $[5]; } let t3; if ($[6] !== getFpsMetrics || $[7] !== t2) { t3 = {t2}; $[6] = getFpsMetrics; $[7] = t2; $[8] = t3; } else { t3 = $[8]; } return t3; }