fix(runtime): hold external sub-compositions in render mode

PR #917 fixed visibility clamping for external sub-compositions in
preview mode by checking data-composition-src. However, the producer's
htmlCompiler strips that attribute during inlining without setting the
data-composition-file marker that the core bundler sets. This caused
the runtime to still clamp duration to Math.min(authored, live) in
rendered output.

Two fixes:
- Runtime: also check data-composition-file (set by the core bundler
  after inlining)
- Producer: set data-composition-file before removing
  data-composition-src, matching the core bundler's behavior

Closes #911

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Miguel Ángel
2026-05-17 15:30:23 +00:00
co-authored by Claude Sonnet 4.6
parent 3f976d454c
commit 2b46565c65
3 changed files with 41 additions and 1 deletions
+3 -1
View File
@@ -1335,7 +1335,9 @@ export function initSandboxRuntimeModular(): void {
}
}
const usesExternalCompositionSlot = rawNode.hasAttribute("data-composition-src");
const usesExternalCompositionSlot =
rawNode.hasAttribute("data-composition-src") ||
rawNode.hasAttribute("data-composition-file");
// Generic child compositions retain legacy behavior and respect both
// the authored parent clip window and the live child timeline duration.