feat: unified 0 and 90 degree PDF envelope and category descriptors

This commit is contained in:
2026-07-08 19:52:34 +00:00
commit 9fece3f174
170 changed files with 27177 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
import { Component, type ReactNode } from 'react';
interface Props {
children: ReactNode;
fallback: ReactNode;
}
interface State {
hasError: boolean;
}
export default class WebglErrorBoundary extends Component<Props, State> {
declare state: State;
constructor(props: Props) {
super(props);
this.state = { hasError: false };
}
static getDerivedStateFromError(): State {
return { hasError: true };
}
override componentDidCatch(error: Error) {
console.warn('[WindApp] Canvas render failed, showing fallback:', error.message);
}
override render() {
if (this.state.hasError) return this.props.fallback;
return this.props.children;
}
}