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
+42
View File
@@ -64,6 +64,48 @@
<main class="page-content">
<div id="academy-menu"></div>
<section class="panel-card" id="academy-films">
<div class="panel-head">
<h2>Films — the physics in motion</h2>
</div>
<div class="panel-body">
<p class="muted" style="margin-top: 0">
Two short macro films of what the lessons teach — every shot
generated on the local roaster's GPU.
</p>
<div class="academy-films-grid">
<figure class="academy-film">
<video
src="/academy-video/roast-physics.mp4?v=__ASSET_VERSION__"
poster="/academy-video/roast-physics-poster.jpg?v=__ASSET_VERSION__"
controls
muted
loop
playsinline
preload="metadata"
></video>
<figcaption>
The roast — charge · drying · Maillard · first crack · drop
</figcaption>
</figure>
<figure class="academy-film">
<video
src="/academy-video/brew-physics.mp4?v=__ASSET_VERSION__"
poster="/academy-video/brew-physics-poster.jpg?v=__ASSET_VERSION__"
controls
muted
loop
playsinline
preload="metadata"
></video>
<figcaption>
The brew — grind · bloom · immersion · espresso
</figcaption>
</figure>
</div>
</div>
</section>
<section class="panel-card hidden" id="academy-player">
<div class="panel-head">
<div>