Commit Graph

3 Commits

Author SHA1 Message Date
SkyLiCoder d2ecb1a4ed refactor: stop recording triggers file download instead of browser storage
Recording flow: click Stop → frames packed into .mjpeg blob → browser
download triggered immediately. No more IndexedDB or OPFS.

Playback: use 'Load Recording File' button to open a .mjpeg file.
Removed all storage dependencies — pure file-based, 100% reliable.
2026-08-01 18:59:32 +08:00
SkyLiCoder 88caa1e976 fix: use canvas capture for recording, remove cancel button
Recording now creates an offscreen <img> (browser-native MJPEG
decoding) and captures frames via canvas.toBlob() at 100ms intervals.
This replaces the broken fetch-based multipart parser.

- useRecorder: img+canvas capture instead of fetch+ReadableStream
- RecorderControls: removed Cancel button, only Record/Stop remain
- App.vue: removed cancel wiring
2026-08-01 16:20:48 +08:00
SkyLiCoder 386d8d5852 refactor: flatten project structure, remove ti2026h-web subdirectory 2026-08-01 16:08:44 +08:00