Thanks for the kind words, johnleofficial!
On optimization: I didn’t run a “scientific” pass (time was tight), but I made a few pragmatic choices that helped avoid bottlenecks. In short:
- Heavy animations prerendered to MP4 and compressed with HandBrake; idle loops as lightweight GIFs to keep CPU low;
- Few active layers at a time and a clean timeline: show/hide instead of stacking objects;
- Cue points as a metronome: calculations and JS triggers fire on precise cues, so I avoid continuous setInterval/polling;
- Minimal JS: no external libraries, very few JS-driven animations;
- Optimized audio: MP3 at moderate bitrate and short SFX;
- No heavy Storyline filters (blur/drop shadows) at runtime: I baked those into images and videos.
With these in place, the local build runs smoothly and I haven’t seen noticeable slowdowns, even with multiple animations and a few JS triggers in parallel. Viewing in Review 360 does add a bit of loading time, but that’s a trade-off I can live with!