feat: P2 - QTE system, subtitles, save thumbnails

- QTESystem: trigger detection via timeupdate, multi-key matching, timeout handling
- QTEOverlay: SVG countdown ring + key prompts + success/fail animation
- Engine: integrate QTE (timeupdate check, conditional branching, effect application)
- Subtitles: WebVTT parsing + synchronized subtitle rendering
- GamePlayer: overlay QTE and subtitle components
- SaveSystem: DB v2 with thumbnail field, canvas snapshot at 320x180 JPEG
- SaveLoadMenu: thumbnail preview for save slots
- VideoManager: getActiveVideoElement() for canvas capture
- App.vue: QTE/subtitle integration, thumbnail capture on save
- stores: QTE state management, save list with thumbnails
- demo.json: QTE scene (right_door), subtitles, new event types
- ROADMAP: mark P2 as completed
This commit is contained in:
2026-06-07 19:35:14 +08:00
parent c168e30e52
commit 319a379921
18 changed files with 625 additions and 53 deletions

View File

@@ -0,0 +1,7 @@
WEBVTT
00:00.000 --> 00:02.000
你醒来发现自己在一个陌生的房间
00:02.500 --> 00:03.000
前方有两扇门,你必须做出选择

View File

@@ -0,0 +1,7 @@
WEBVTT
00:00.000 --> 00:02.500
你走进了发光的门,来到一个明亮的大厅
00:02.500 --> 00:03.000
一位陌生人向你伸出了手

View File

@@ -0,0 +1,4 @@
WEBVTT
00:00.000 --> 00:03.000
你选择留在原地,时间缓缓流逝...