Builtin Library
README.md
cutscene.runtime
One playing cutscene: the clock, the camera it drives through the shot list, the fade and letterbox at its boundaries, the subtitle showing now, and the cues that fire as the clock crosses them.
new(def) reads the definition and returns the playback; tick(dt) takes the
stage on its first call, draws the opening fade there, and advances the cutscene
from then on. Who calls tick is the host's business — the cutscene namespace
drives one from a per-frame task, the CutsceneTrigger component from its own
update — so both hosts behave identically. A playback that is built and never
stepped leaves the picture as it found it.
pb:tick(dt)·skip()·stop(reason?)·seek(t)·pause()·resume()pb:setRate(r)·onFinished(fn)·time()·getDuration()·progress()pb:isPlaying()·status()
Everything the stage shows derives from the clock alone, so a seek lands on exactly the frame that time would have produced.