React Query 5.x (TanStack) with 5-minute staleTime and 24-hour gcTime, persistence via react-query-persist-client, Zustand stores with Immer middleware (editor, traits with 50-item undo/redo, sim character input, drops, bags, live connection, metrics, nodes, UI), Refine.dev integration (authProvider for OAuth, dataProvider wrapping Supabase, liveProvider via Centrifuge), resource-based hooks (useResource, useResourceList, useResourceMany), virtual list hooks for large datasets, Supabase resources (game.spells, game.items, public.rotations, public.jobs, public.nodes), Centrifuge realtime subscriptions for live updates.
Next steps