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
+22
View File
@@ -3190,6 +3190,28 @@ select.f {
border-color: var(--ember);
}
.academy-films-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 16px;
}
.academy-film {
margin: 0;
}
.academy-film video {
display: block;
width: 100%;
border-radius: var(--radius-lg);
border: 1px solid var(--line);
background: #1b1614;
}
.academy-film figcaption {
margin-top: 8px;
font-size: 12.5px;
color: var(--ink-2);
text-align: center;
}
/* Scene animations — restarted per slide because the SVG is rebuilt. */
@keyframes ac-draw-kf { from { stroke-dashoffset: 900; } to { stroke-dashoffset: 0; } }
.ac-draw { stroke-dasharray: 900; animation: ac-draw-kf 2.6s ease-out forwards; }