Academy films: locally generated physics videos of the roast and the brew
Test and deploy / test-and-deploy (push) Successful in 1m1s

Two short macro films generated on the local ComfyUI instance (Wan 2.2
14B t2v + lightx2v 4-step LoRAs, 9 clips at 832x480) and stitched with
crossfades and burned-in phase labels: roast-physics.mp4 (charge, drying,
Maillard, first crack, drop) and brew-physics.mp4 (grind, bloom,
immersion, espresso). A "Films — the physics in motion" card on the
Academy menu plays them with posters; opening a lesson hides and pauses
them. The service worker now bypasses /academy-video/ and /academy-audio/
(Range/206 responses the Cache API rejects) and only caches full 200s.

Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
2026-08-11 18:12:15 -04:00
co-authored by Claude Fable 5
parent 385474ecef
commit cc735aba82
8 changed files with 77 additions and 3 deletions
+4
View File
@@ -97,6 +97,9 @@ function renderMenu() {
function openLesson(track, lesson, index) {
current = { track, lesson, index };
$("academy-menu").classList.add("hidden");
$("academy-films")?.classList.add("hidden");
// Pause any playing film so it doesn't run (and download) behind the lesson.
for (const video of document.querySelectorAll("#academy-films video")) video.pause();
$("academy-player").classList.remove("hidden");
renderSlide();
}
@@ -106,6 +109,7 @@ function closeLesson() {
current = null;
$("academy-player").classList.add("hidden");
$("academy-menu").classList.remove("hidden");
$("academy-films")?.classList.remove("hidden");
renderMenu(); // reflect fresh progress
}