import { Component, type ErrorInfo, type ReactNode } from "react"; import { useGameStore } from "../game/store"; interface Props { children: ReactNode } interface State { error: Error | null } export class SceneErrorBoundary extends Component { state: State = { error: null }; static getDerivedStateFromError(error: Error): State { return { error }; } componentDidCatch(error: Error, info: ErrorInfo) { console.error("Healer Man scene failed", error, info.componentStack); useGameStore.getState().setAssetStatus("error", error.message); } render() { if (!this.state.error) return this.props.children; return (

Dungeon load interrupted

The cavern could not be assembled.

{this.state.error.message}

); } }