Fase 57
jw-meeting-media (clean-room)
Reunión-en-vivo, parser HTML del WOL diseñado desde DevTools
Nuevo subpaquete que entrega la capa 'reunión-en-vivo' ausente: descubrimiento automático del programa semanal mwb/w + descarga de media + presenter Tauri. Implementación clean-room estricta: cero archivos .ts/.vue de M³ (AGPL-3.0) abiertos. Parser HTML diseñado inspeccionando DOM real del WOL.
Qué se entregó
- MeetingProgramClient + parser BeautifulSoup sobre HTML semántico del WOL.
- MediaResolver wrappea PubMediaClient para video/audio refs.
- Downloader idempotente por sha256 con cache <root>/<lang>/<year>/<week>/.
- MeetingStorage sqlite + Thumbnailer (Pillow + ffmpeg).
- PresenterManager FSM con multi-session in-memory.
- CLI: jw meeting {discover, download, list}.
- REST: /presenter/sessions/{sid}/{state, play, pause, next, prev, stop}.
- Tauri 2.x window 'presenter' vanilla JS con keyboard shortcuts.
- 4 MCP tools meeting_*.