Browser-BIM (cad): semantisches Modell, abgeleitete 2D/3D-Sichten, Zeichenwerkzeuge

Standalone-Browser-Port von DOSSIER. Enthaelt das semantische Modell mit
Plan-/3D-Ableitung, Zeichen- und Editierwerkzeuge, Rhino-artiges Befehlssystem,
dockbares Panel-System, Resource-Manager, DXF/.lin/.pat-Import, i18n (de/en)
sowie Projektdokumentation und Probe-Harness.
This commit is contained in:
2026-06-30 20:52:27 +02:00
commit ca859c4aa4
157 changed files with 37921 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
import { Component, type ErrorInfo, type ReactNode } from "react";
import { t } from "../i18n";
interface Props {
children: ReactNode;
}
interface State {
error: Error | null;
}
/** Sicherheitsnetz: fängt Render-Fehler ab, statt die Seite weiß zu lassen. */
export class ErrorBoundary extends Component<Props, State> {
state: State = { error: null };
static getDerivedStateFromError(error: Error): State {
return { error };
}
componentDidCatch(error: Error, info: ErrorInfo): void {
console.error(t("error.console"), error, info);
}
render(): ReactNode {
if (this.state.error) {
return (
<div className="error-screen">
<h1>{t("error.title")}</h1>
<p>{t("error.body")}</p>
<pre>{this.state.error.message}</pre>
<button onClick={() => location.reload()}>{t("error.reload")}</button>
</div>
);
}
return this.props.children;
}
}