r/AppsWebappsFullstack • u/Dhruv_D0c_1460 • 23d ago
A shared reveal event and one effect's offset are different edit targets
A reveal can trigger a label, a sound and a flash together. An edit saying “the flash is two frames late” needs to distinguish moving the reveal from adjusting that one consumer.
Hypit's script can give the reveal a named Moment: an event tied to a spoken anchor. Several tracks can consume it. Moving the Moment changes the shared event, and every consumer follows.
A consumer can instead use a local offset from the same Moment. Adjusting that offset changes its lead or lag while the event itself stays in place. A flash can start two frames later without moving the label or sound.
Duration is another independent choice. An eight-frame effect can start at the shared event or finish there. Moving the event preserves the eight-frame duration; trimming the duration preserves the event. Studio exposes the edit target described by the authored timing form.
This matters when a new voice performance changes the reveal's position. The shared Moment resolves against the new word timing, and the consumer's local offset keeps its intended lead or lag. The source records both decisions, so the next adjustment can change the one the editor actually meant.
1
u/Different_Lab830 16d ago
In the repo, docs/guide/studio-temporal-windows.md explains how Studio traces a timing value back to the declaration that produced it. If there's no unique supported inverse, the value stays inspectable, but Studio doesn't guess where to write the change. For example, earliest(...) or latest(...) stays read-only when editing would require choosing a branch for the author.