mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 23:03:09 +00:00
fix(core): remove 1800s hard cap on timeline duration that silently truncated long compositions (#1114)
The runtime had a maxTimelineDurationSeconds field defaulting to 1800 (30 minutes) that clamped the TransportClock duration. Any seek beyond this cap was silently clamped, so GSAP tweens starting past ~1700s never received their totalTime() call and stayed at their pre-tween state (e.g. opacity:0). The data-duration attribute is the authored source of truth. The loop- inflation guard (timelineLooksLoopInflated) already handles the infinite repeat:-1 case this cap was meant to protect against. Closes #1107
This commit is contained in:
@@ -538,8 +538,7 @@ export function initSandboxRuntimeModular(): void {
|
||||
} else {
|
||||
safeDuration = fallbackDuration;
|
||||
}
|
||||
const hardDurationCap = Math.max(1, Number(state.maxTimelineDurationSeconds) || 1800);
|
||||
return safeDuration > 0 ? Math.max(0, Math.min(safeDuration, hardDurationCap)) : 0;
|
||||
return safeDuration > 0 ? Math.max(0, safeDuration) : 0;
|
||||
};
|
||||
|
||||
const resolveRootTimelineFromDocument = (): TimelineResolution => {
|
||||
@@ -1423,7 +1422,6 @@ export function initSandboxRuntimeModular(): void {
|
||||
bindRootTimelineIfAvailable();
|
||||
const payload = collectRuntimeTimelinePayload({
|
||||
canonicalFps: state.canonicalFps,
|
||||
maxTimelineDurationSeconds: state.maxTimelineDurationSeconds,
|
||||
});
|
||||
window.__clipManifest = payload;
|
||||
postRuntimeMessage(payload);
|
||||
|
||||
Reference in New Issue
Block a user