import React from 'react'; import { Play, SkipForward, Square } from 'lucide-react'; import { BalancePanel } from './components/BalancePanel'; import { MarketPanel } from './components/MarketPanel'; import { MetricsPanel } from './components/MetricsPanel'; import { OfficeScene } from './components/OfficeScene'; import { useSimulationStore } from './store'; function App() { const { simState, portfolioHistory, priceHistory, lastPortfolioDelta, lastPriceDelta, lastError, toggleSimulation, fetchState, stepSimulation, } = useSimulationStore(); React.useEffect(() => { fetchState(); const interval = window.setInterval(() => { fetchState(); }, 600); return () => window.clearInterval(interval); }, [fetchState]); return (
Wild Card Demo

Indie quant floor with live agent choreography

The scene updates off the running trading environment: signals travel desk to desk, the trader fires orders, and the balance reacts to the trades in real time.

{lastError ? (
Demo error: {lastError}
) : null}
Step {simState.current_step}
{simState.engine?.mode}
); } export default App;