055d8365fe
Wires the per-scene loop video all the way to the scene card: - studio-svc: SavedSceneResponse now includes Demo (was stored + copied but never serialized); MapSceneResponse passes s.Demo. - Scene type gains image?/demo?; parseScene reads them from the loaded scene data. - SceneThumbnailBlock shows scene.image as the still and plays scene.demo (muted, looped) on hover, resetting on mouse-leave. Existing projects backfilled (saved_scenes.image/demo from content.scenes). Both services rebuilt + deployed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>