fix(webgl): use forceCanvas for Live2DCat to avoid dual WebGL context conflicts

Reverts shared-context approach. Live2DCat gets its own canvas with
forceCanvas:true (Canvas2D renderer), which avoids the WebGL bindBuffer
spam entirely. Cleaned up onAppReady prop from KiraAvatar.
This commit is contained in:
2026-06-05 13:08:18 -04:00
parent be1e51cc9a
commit 37f8bf59a0
4 changed files with 41 additions and 33 deletions
+1 -3
View File
@@ -7,7 +7,6 @@ interface Props {
outfit: string;
accessory: string | null;
onTalkToggle: () => void;
onAppReady?: (app: any) => void;
}
type ExpressionName = 'Normal' | 'Smile' | 'Sad' | 'Angry' | 'Surprised' | 'Blushing';
@@ -82,8 +81,7 @@ export default function KiraAvatar(props: Props) {
app.stage.addChild(model as any);
(model as any).isInteractive = () => false;
if (props.onAppReady) props.onAppReady(app);
if (!mounted) return;
try {
textureRef.current = {