diff --git a/components/PlayCanvas.tsx b/components/PlayCanvas.tsx index 9869ff1..8e58285 100644 --- a/components/PlayCanvas.tsx +++ b/components/PlayCanvas.tsx @@ -276,6 +276,18 @@ export function PlayCanvas({ }); } + // Card swallows its own clicks so they never fall through to the image's + // vision (识图) trigger: while typing a click completes the text, a continue + // beat advances, and a choice beat stays inert (player must pick an option). + function handleCardClick() { + if (phase !== "ready" || !beat) return; + if (!typingDone) { + skipTypewriter(); + return; + } + if (beat.next.type === "continue") onAdvance(); + } + const interactive = phase === "ready" && !!imageUrl; const dimmed = phase === "transitioning"; @@ -366,7 +378,8 @@ export function PlayCanvas({ {(beat.narration || beat.line) && (