4cf2263c78
refactor: separate story locales (public/) from UI locales (src/), async fetch for story messages
2026-06-10 12:10:03 +08:00
0071a34acf
feat: add Japanese language support, three-language subtitles for all demo scenes
2026-06-10 11:55:03 +08:00
25aafb034f
chore: shorten scene_1 placeholder video to 2s
2026-06-10 11:48:45 +08:00
3a46c2c6c8
chore: add placeholder test videos for main.json starter template
2026-06-10 11:46:07 +08:00
4258bc4034
feat: add minimal main.json as creator starter template
2026-06-10 11:43:44 +08:00
b38969b108
refactor: set assetBase to demo/ and strip redundant demo/ prefix from all paths
2026-06-10 11:32:14 +08:00
9409c893b3
chore: update demo.json paths to match scene-based asset organization
2026-06-10 11:29:45 +08:00
mingyuansi
082bb4ac48
资源结构调整
2026-06-10 11:26:20 +08:00
937e709dca
feat: global assetBase for scene JSON, convert demo to relative paths
2026-06-10 11:01:21 +08:00
76477050d3
chore: add default config.json pointing to demo.json
2026-06-10 10:52:30 +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
341316c357
chore: demo scene updates
2026-06-09 17:30:20 +08:00
451c6ea025
chore: sync latest changes
2026-06-09 17:21:54 +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
66c7028b32
fix: move skippable flag from QTE result scenes to the triggering scene
2026-06-09 14:57:46 +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
4bfdfbc27d
feat: audio system, demo scene updates, docs, and engine improvements
2026-06-08 23:18:33 +08:00
514c8f5207
fix: shorten stay subtitle cue to avoid overlap with loop segment
2026-06-08 22:02:19 +08:00
0dbe1b097d
feat: video loop support for hotspot scenes, demo updates, docs, and engine fixes
2026-06-08 21:48:47 +08:00
6b67989007
feat: engine improvements, new scenes, videos, subtitles, hotspot component and docs update
2026-06-08 14:01:58 +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
c168e30e52
tweak: reduce intro timeLimit from 15s to 5s for faster testing
2026-06-07 19:00:16 +08:00
fa84ed909a
test: add timeLimit to intro scene for timer feature testing
...
First intro choice has 15s limit, times out to left_door if user doesn't act
2026-06-07 18:59:37 +08:00
937e45c203
feat: P1 core - seamless video switching, conditional branches, save/load
...
- VideoManager: A/B dual-buffered video with crossfade transitions and candidate preloading
- Engine: condition-based choice filtering, ChoiceSystem timer, resumeScene for save/load
- SceneManager: getCandidateUrls for preloading next scenes
- SaveSystem: Dexie.js IndexedDB multi-slot save/load
- ChoiceSystem: timed choices with countdown and auto-default on timeout
- GamePlayer: dual video elements with crossfade CSS
- ChoicePanel: timer progress bar and countdown text
- SaveLoadMenu: save/load UI component
- App.vue: menu trigger, dual video refs, save/load integration
- gameStore: timer state, saves list
- demo.json: conditional choice example (secret ending, requires trust >= 80)
- ROADMAP: mark P1 as completed
2026-06-07 16:48:52 +08:00
aeb6dc46a4
init
2026-06-07 13:50:05 +08:00