What it is
A Google Slides deck with download and copy disabled, rebuilt slide by slide — then its hidden media rebuilt too: deduplication was eating 70 images, Googles resize endpoint was flattening the animations, and the links were SVG anchors my scan could not see. Now a full-screen presenter with clickable hotspots and working video cards.
Version history
Straight from the project’s own card data — what each version added.
Files on the site
What broke, and what I’d change
Not written yet. This is the part only I can write — what actually went wrong, and what I’d do differently. It lives in builds/reflections/fusion-workbook.md (see _TEMPLATE.md); as soon as that file has words in it, this section fills in on the next build.
Everything else on this page — the spec, the version history, the file counts — is generated from the project’s own build notes and files, so nothing here is guesswork.
Build spec
The project’s own build notes, rendered. Open the raw .md ↗
Show the spec
Master Fusion Workbook — build spec
Source: a Google Slides deck with download and copy disabled (owner restriction). Target: a 55-slide, full-screen presenter with every image and every animation working.
Method
- Open /present in an offscreen Chrome on a debug port, signed in.
- Launch with --disable-backgrounding-occluded-windows and friends, or every DOM read costs 5-11s.
- Jump to each slide with present?slide=id.<pageId>; a bare pageId silently lands on slide 1.
- Capture 3840x2160 PNGs, one per slide, then downscale to 960x540 PDF pages.
- Fetch every image slot in one in-page Promise.all per slide, original bytes, saved per slot. Never dedupe slots.
- Transcode each GIF to H.264 MP4; never trust the resize endpoint to keep animation.
- Harvest shape links from SVG <a> elements (xlink:href), normalise against the 1419x798 stage, render as hotspots.
Verify
- 0 broken images, 0 fetch errors, 55/55 slides.
- A video element currentTime must advance, not just report playing.
- A Drive player iframe must be present after clicking a video card.
- Hotspot count per slide must match the SVG anchor count.