ddf73de519
fix: remove redundant edge arrows, flow dash already indicates direction
2026-06-12 12:46:37 +08:00
97ebe1c8ca
feat: Catmull-Rom smooth edge curves with gold gradient, ghost brush, and flow animation
2026-06-12 12:42:34 +08:00
215a8db829
feat: chapter boundary gateway nodes in flow, prevent cross-chapter BFS expansion
2026-06-12 12:28:31 +08:00
8d5f6e175b
fix: increase base node height to 48px to prevent text clipping
2026-06-12 12:14:45 +08:00
9baa7b5ab3
feat: add scene thumbnails to TreeFlow nodes with auto-generated demo thumbs
2026-06-12 12:08:39 +08:00
ac0a6e2cd6
feat: optimize StoryGallery footer with progressive disclosure, gradient bars, backdrop blur
2026-06-12 12:02:21 +08:00
8fc4199354
fix: remove duplicate close button from StoryGallery header, left-align title
2026-06-12 11:51:05 +08:00
d680da11c8
fix: reorder computed declarations in StoryGallery so chapterReachable is defined before use
2026-06-12 11:44:41 +08:00
0379548a29
feat: full-screen StoryGallery with flow layout, startAtScene engine method, clickable flow nodes
2026-06-12 11:37:14 +08:00
6417a9de43
fix: remove orphan CSS lines causing build error in TreeFlow.vue
2026-06-11 22:06:43 +08:00
f204555066
feat: use orthogonal rounded paths for flow edges, increase spacing, layer nodes above edges
2026-06-11 22:04:20 +08:00
bca5e07cdd
fix: use path-based unique Dagre IDs so convergent scenes appear per branch
2026-06-11 21:58:34 +08:00
ab511b27ba
chore: remove deprecated ChapterRecap component (merged into StoryGallery)
2026-06-11 21:54:27 +08:00
337221ba87
feat: add TreeFlow horizontal flowchart, replace vertical tree in StoryGallery
2026-06-11 21:51:47 +08:00
73ac54fe95
feat: redesign StoryGallery with full-screen split layout, gold accents, and progress rings
2026-06-11 21:37:59 +08:00
ae7721d70e
feat: story gallery progress, type updates, roadmap, cleanup old session file
2026-06-11 21:08:29 +08:00
03c4ee3a65
feat: i18n for choice prompt via promptKey, with fallback
2026-06-10 16:51:50 +08:00
2f9f9a4117
feat: i18n achievement UI labels and data layer title/description
2026-06-10 16:36:24 +08:00
e51b5e234e
feat: i18n StoryGallery UI labels and data layer chapter/ending names
2026-06-10 16:29:25 +08:00
0a1147c2fe
fix: hotspot, demo, i18n and type updates
2026-06-10 16:10:23 +08:00
d2dae38f05
feat: P22 merge chapter select and gallery into StoryGallery, i18n updates
2026-06-10 16:01:26 +08:00
7c1c734572
fix: i18n all settings labels, add ja to language select, dynamic lang options
2026-06-10 15:42:33 +08:00
4c20c6444b
fix: add missing Japanese UI keys, deduplicate resume key, use pauseResume for pause menu
2026-06-10 15:38:39 +08:00
bf4b09f4e0
feat: pause menu, accessibility improvements, main menu polish, roadmap update
2026-06-10 15:18:39 +08:00
e7ed52d89b
fix: reduce menu overlay opacity to show background video
2026-06-10 14:54:28 +08:00
bb289f5438
feat: switch hotspot coordinates from container percentage to absolute content pixels
2026-06-10 12:45:41 +08:00
8f6138f97e
fix: remove scene. prefix from textKey, add fallback to choice.text when locale key missing
2026-06-10 12:29:01 +08:00
86a0aebdc8
feat: configurable locales path per story, dynamic language switching from story data
2026-06-10 12:17:52 +08:00
0071a34acf
feat: add Japanese language support, three-language subtitles for all demo scenes
2026-06-10 11:55:03 +08:00
87ba62b9ef
feat: main menu component, roadmap update
2026-06-09 20:15:46 +08:00
3185dc5819
fix: change pause key from Space to P, disable pause during QTE
2026-06-09 19:46:51 +08:00
c9d29019a0
feat: accessibility settings, subtitle/QTE improvements, docs update
2026-06-09 19:42:08 +08:00
906965c963
fix: wire up EndingGallery click to open ChapterRecap via chapterId
2026-06-09 17:57:21 +08:00
9297117544
feat: P15 ending gallery, chapter recap, visited tracking, save system v6
2026-06-09 17:49:07 +08:00
451c6ea025
chore: sync latest changes
2026-06-09 17:21:54 +08:00
bca137535b
fix: hoist prompt toast to App.vue so it survives ChoicePanel unmount after selection
2026-06-09 16:55:57 +08:00
bf4b85f727
feat: choice conditions with variables, demo updates, roadmap update
2026-06-09 16:46:06 +08:00
f044ed0b60
refactor: switch to key-based i18n for choices, revert inline textEn approach
2026-06-09 15:54:55 +08:00
8e7f77bc38
feat: inline bilingual choice text (textEn), lang-aware choice rendering
2026-06-09 15:51:37 +08:00
59aed77199
feat: i18n system, lang switch component, english subtitles, UI improvements, roadmap update
2026-06-09 15:40:51 +08:00
72e442f2c3
feat: UI polish, chapter select improvements, save system enhancements, roadmap update
2026-06-09 15:19:53 +08:00
2748b2c16f
fix: remove absolute positioning from PlaybackBar to prevent overlap with top-bar buttons
2026-06-09 15:03:18 +08:00
660fa9347c
feat: playback bar component, save system improvements, demo and roadmap updates
2026-06-09 14:21:41 +08:00
ace5ed1fb3
feat: chapter select system, multi-chapter support, scene manager refactor, and docs update
2026-06-09 11:35:11 +08:00
6b67989007
feat: engine improvements, new scenes, videos, subtitles, hotspot component and docs update
2026-06-08 14:01:58 +08:00
65c26e0972
fix: clear old subtitle cues when switching to scene without subtitles
...
Previously when subtitleUrl became null, the old cues array was retained
and would replay from the beginning on the next scene.
2026-06-07 21:22:45 +08:00
b6eb3c3959
fix: QTE false race condition + restore auto-save slot in menu
...
- QTESystem: add if (!this.active) return guard in setInterval/setTimeout
callbacks to prevent false result from firing after successful key press
- SaveLoadMenu: restore auto-save slot 0 row with blue styling, thumbnail,
scene label, and read-only load button
2026-06-07 21:07:21 +08:00
e2670c50d4
refactor: rename Subtitles prop videoUrl to subtitleUrl
2026-06-07 20:48:39 +08:00
319a379921
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
2026-06-07 19:35:14 +08:00
c61826e87c
feat: auto-save on scene change + resume from auto-save
...
- useGameEngine: auto-save to slot 0 on every sceneChange event
- useGameEngine: add resumeAutoSave() for continuing from auto-save
- useGameEngine: extract registerEvents() to share between start and resume
- SaveLoadMenu: show slot 0 as '自动存档' with distinct styling and read-only button
- App.vue: check auto-save on load, show '继续上次进度' button if available
2026-06-07 18:42:34 +08:00