@hyperframes/core 0.8.145 → 0.8.146
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/gsap.d.ts +0 -1
- package/dist/adapters/gsap.js +0 -1
- package/dist/adapters/index.d.ts +0 -1
- package/dist/adapters/index.js +0 -1
- package/dist/adapters/types.d.ts +0 -1
- package/dist/adapters/types.js +0 -1
- package/dist/atomicFile.d.ts +0 -1
- package/dist/atomicFile.js +0 -1
- package/dist/audibleVideo.d.ts +0 -1
- package/dist/audibleVideo.js +0 -1
- package/dist/audio/audioFxAutomation.d.ts +0 -1
- package/dist/audio/audioFxAutomation.js +0 -1
- package/dist/audio/audioFxGraph.d.ts +4 -1
- package/dist/audio/audioFxGraph.js +9 -3
- package/dist/audio/audioFxTail.d.ts +2 -1
- package/dist/audio/audioFxTail.js +11 -2
- package/dist/audio/audioFxTruePeak.d.ts +7 -0
- package/dist/audio/audioFxTruePeak.js +164 -0
- package/dist/audio/audioFxWorklets.d.ts +0 -1
- package/dist/audio/audioFxWorklets.js +9 -9
- package/dist/audioAutomation.d.ts +0 -1
- package/dist/audioAutomation.js +0 -1
- package/dist/audioCarve.d.ts +0 -1
- package/dist/audioCarve.js +0 -1
- package/dist/audioFade.d.ts +0 -1
- package/dist/audioFade.js +0 -1
- package/dist/audioFx.d.ts +0 -1
- package/dist/audioFx.js +47 -6
- package/dist/audioFxCopy.d.ts +0 -1
- package/dist/audioFxCopy.js +22 -6
- package/dist/audioFxEq.d.ts +0 -1
- package/dist/audioFxEq.js +1 -2
- package/dist/audioFxJobs.d.ts +0 -1
- package/dist/audioFxJobs.js +2 -3
- package/dist/audioFxPresets.d.ts +0 -1
- package/dist/audioFxPresets.js +6 -7
- package/dist/audioFxProfiles.d.ts +0 -1
- package/dist/audioFxProfiles.js +0 -1
- package/dist/audioGain.d.ts +0 -1
- package/dist/audioGain.js +0 -1
- package/dist/audioGroups.d.ts +0 -1
- package/dist/audioGroups.js +0 -1
- package/dist/audioLeveller.d.ts +0 -1
- package/dist/audioLeveller.js +1 -2
- package/dist/beats/beatDetection.d.ts +0 -1
- package/dist/beats/beatDetection.js +0 -1
- package/dist/beats/beatFile.d.ts +0 -1
- package/dist/beats/beatFile.js +0 -1
- package/dist/beats/index.d.ts +0 -1
- package/dist/beats/index.js +0 -1
- package/dist/canary.d.ts +0 -1
- package/dist/canary.js +0 -1
- package/dist/canaryRegistry.d.ts +0 -1
- package/dist/canaryRegistry.js +0 -1
- package/dist/clipFacts.d.ts +0 -1
- package/dist/clipFacts.js +0 -1
- package/dist/colorGrading.d.ts +0 -1
- package/dist/colorGrading.js +0 -1
- package/dist/colorGradingCurves.d.ts +0 -1
- package/dist/colorGradingCurves.js +0 -1
- package/dist/colorLuts.d.ts +0 -1
- package/dist/colorLuts.js +0 -1
- package/dist/compiler/assetPaths.d.ts +0 -1
- package/dist/compiler/assetPaths.js +0 -1
- package/dist/compiler/compositionAssembly.d.ts +0 -1
- package/dist/compiler/compositionAssembly.js +0 -1
- package/dist/compiler/compositionScoping.d.ts +0 -1
- package/dist/compiler/compositionScoping.js +0 -1
- package/dist/compiler/externalScripts.d.ts +0 -1
- package/dist/compiler/externalScripts.js +0 -1
- package/dist/compiler/htmlBundler.d.ts +0 -1
- package/dist/compiler/htmlBundler.js +0 -1
- package/dist/compiler/htmlCompiler.d.ts +0 -1
- package/dist/compiler/htmlCompiler.js +0 -1
- package/dist/compiler/htmlDocument.d.ts +0 -1
- package/dist/compiler/htmlDocument.js +0 -1
- package/dist/compiler/htmlParityContract.d.ts +0 -1
- package/dist/compiler/htmlParityContract.js +0 -1
- package/dist/compiler/importMaps.d.ts +0 -1
- package/dist/compiler/importMaps.js +0 -1
- package/dist/compiler/index.d.ts +0 -1
- package/dist/compiler/index.js +0 -1
- package/dist/compiler/inlineSubCompositions.d.ts +0 -1
- package/dist/compiler/inlineSubCompositions.js +0 -1
- package/dist/compiler/mediaRenderIds.d.ts +0 -1
- package/dist/compiler/mediaRenderIds.js +0 -1
- package/dist/compiler/rewriteSubCompPaths.d.ts +0 -1
- package/dist/compiler/rewriteSubCompPaths.js +0 -1
- package/dist/compiler/scenePartsManifest.d.ts +0 -1
- package/dist/compiler/scenePartsManifest.js +0 -1
- package/dist/compiler/scriptRuns.d.ts +0 -1
- package/dist/compiler/scriptRuns.js +0 -1
- package/dist/compiler/selectorIdTokens.d.ts +0 -1
- package/dist/compiler/selectorIdTokens.js +0 -1
- package/dist/compiler/standaloneEntry.d.ts +0 -1
- package/dist/compiler/standaloneEntry.js +0 -1
- package/dist/compiler/staticGuard.d.ts +0 -1
- package/dist/compiler/staticGuard.js +0 -1
- package/dist/compiler/subCompositionValidity.d.ts +0 -1
- package/dist/compiler/subCompositionValidity.js +0 -1
- package/dist/compiler/svgIdNamespacing.d.ts +0 -1
- package/dist/compiler/svgIdNamespacing.js +0 -1
- package/dist/compiler/svgSelectorAliases.d.ts +0 -1
- package/dist/compiler/svgSelectorAliases.js +0 -1
- package/dist/compiler/timingCompiler.d.ts +0 -1
- package/dist/compiler/timingCompiler.js +0 -1
- package/dist/compiler/timingResolver.d.ts +0 -1
- package/dist/compiler/timingResolver.js +0 -1
- package/dist/compositionContract.d.ts +0 -1
- package/dist/compositionContract.js +0 -1
- package/dist/compositionReadiness.d.ts +0 -1
- package/dist/compositionReadiness.js +0 -1
- package/dist/core.types.d.ts +0 -1
- package/dist/core.types.js +0 -1
- package/dist/editing/affordances.d.ts +0 -1
- package/dist/editing/affordances.js +0 -1
- package/dist/editing/draftMarkers.d.ts +0 -1
- package/dist/editing/draftMarkers.js +0 -1
- package/dist/figma/assetSnippet.d.ts +0 -1
- package/dist/figma/assetSnippet.js +0 -1
- package/dist/figma/bindings.d.ts +0 -1
- package/dist/figma/bindings.js +0 -1
- package/dist/figma/client.d.ts +0 -1
- package/dist/figma/client.js +9 -10
- package/dist/figma/color.d.ts +0 -1
- package/dist/figma/color.js +0 -1
- package/dist/figma/emitTimelineScript.d.ts +0 -1
- package/dist/figma/emitTimelineScript.js +1 -2
- package/dist/figma/freeze.d.ts +0 -1
- package/dist/figma/freeze.js +0 -1
- package/dist/figma/index.d.ts +0 -1
- package/dist/figma/index.js +0 -1
- package/dist/figma/jsonl.d.ts +0 -1
- package/dist/figma/jsonl.js +0 -1
- package/dist/figma/manifest.d.ts +0 -1
- package/dist/figma/manifest.js +0 -1
- package/dist/figma/mediaIndex.d.ts +0 -1
- package/dist/figma/mediaIndex.js +0 -1
- package/dist/figma/motionContextToDocs.d.ts +0 -1
- package/dist/figma/motionContextToDocs.js +0 -1
- package/dist/figma/motionEase.d.ts +0 -1
- package/dist/figma/motionEase.js +0 -1
- package/dist/figma/motionToGsap.d.ts +0 -1
- package/dist/figma/motionToGsap.js +0 -1
- package/dist/figma/nodeDocument.d.ts +0 -1
- package/dist/figma/nodeDocument.js +0 -1
- package/dist/figma/nodeToHtml.d.ts +0 -1
- package/dist/figma/nodeToHtml.js +0 -1
- package/dist/figma/parseFigmaRef.d.ts +0 -1
- package/dist/figma/parseFigmaRef.js +0 -1
- package/dist/figma/resolveBindings.d.ts +0 -1
- package/dist/figma/resolveBindings.js +0 -1
- package/dist/figma/sanitizeSvg.d.ts +0 -1
- package/dist/figma/sanitizeSvg.js +0 -1
- package/dist/figma/tokensToVariables.d.ts +0 -1
- package/dist/figma/tokensToVariables.js +0 -1
- package/dist/figma/types.d.ts +0 -1
- package/dist/figma/types.js +0 -1
- package/dist/fonts/aliases.d.ts +0 -1
- package/dist/fonts/aliases.js +0 -1
- package/dist/fonts/authoredGoogleFonts.d.ts +0 -1
- package/dist/fonts/authoredGoogleFonts.js +0 -1
- package/dist/fonts/deterministicFonts.d.ts +0 -1
- package/dist/fonts/deterministicFonts.js +3 -4
- package/dist/fonts/fontCompression.d.ts +0 -1
- package/dist/fonts/fontCompression.js +0 -1
- package/dist/fonts/fontData.generated.d.ts +0 -1
- package/dist/fonts/fontData.generated.js +0 -1
- package/dist/fonts/fontDiagnostics.d.ts +0 -1
- package/dist/fonts/fontDiagnostics.js +0 -1
- package/dist/fonts/systemFontLocator.d.ts +0 -1
- package/dist/fonts/systemFontLocator.js +0 -1
- package/dist/generated/audio-fx-runtime-inline.d.ts +0 -1
- package/dist/generated/audio-fx-runtime-inline.js +1 -2
- package/dist/generated/position-edits-render-inline.d.ts +0 -1
- package/dist/generated/position-edits-render-inline.js +1 -2
- package/dist/generated/runtime-inline.d.ts +0 -1
- package/dist/generated/runtime-inline.js +1 -2
- package/dist/generated/svg-selector-aliases-inline.d.ts +0 -1
- package/dist/generated/svg-selector-aliases-inline.js +0 -1
- package/dist/generators/hyperframes.d.ts +0 -1
- package/dist/generators/hyperframes.js +0 -1
- package/dist/generators/richTextHtml.d.ts +0 -1
- package/dist/generators/richTextHtml.js +0 -1
- package/dist/gsapCdn.d.ts +0 -1
- package/dist/gsapCdn.js +0 -1
- package/dist/hdrToneMap.d.ts +0 -1
- package/dist/hdrToneMap.js +0 -1
- package/dist/hyperframe.runtime.iife.js +214 -68
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/inline-scripts/hyperframe.d.ts +0 -1
- package/dist/inline-scripts/hyperframe.js +0 -1
- package/dist/inline-scripts/hyperframesRuntime.engine.d.ts +0 -1
- package/dist/inline-scripts/hyperframesRuntime.engine.js +0 -1
- package/dist/inline-scripts/parityContract.d.ts +1 -2
- package/dist/inline-scripts/parityContract.js +3 -1
- package/dist/inline-scripts/pickerApi.d.ts +0 -1
- package/dist/inline-scripts/pickerApi.js +0 -1
- package/dist/inline-scripts/runtimeContract.d.ts +0 -1
- package/dist/inline-scripts/runtimeContract.js +0 -1
- package/dist/lint/index.d.ts +0 -1
- package/dist/lint/index.js +0 -1
- package/dist/lottieReadiness.d.ts +0 -1
- package/dist/lottieReadiness.js +0 -1
- package/dist/media/gif.d.ts +0 -1
- package/dist/media/gif.js +0 -1
- package/dist/mediaGradeAnalyzer.d.ts +0 -1
- package/dist/mediaGradeAnalyzer.js +0 -1
- package/dist/mediaLink.d.ts +0 -1
- package/dist/mediaLink.js +0 -1
- package/dist/mediaTiming.d.ts +18 -3
- package/dist/mediaTiming.js +19 -4
- package/dist/parsers/gsapConstants.d.ts +0 -1
- package/dist/parsers/gsapConstants.js +0 -1
- package/dist/parsers/gsapParserAcorn.d.ts +0 -1
- package/dist/parsers/gsapParserAcorn.js +0 -1
- package/dist/parsers/gsapParserExports.d.ts +0 -1
- package/dist/parsers/gsapParserExports.js +0 -1
- package/dist/parsers/gsapWriterAcorn.d.ts +0 -1
- package/dist/parsers/gsapWriterAcorn.js +0 -1
- package/dist/parsers/hfIds.d.ts +0 -1
- package/dist/parsers/hfIds.js +0 -1
- package/dist/parsers/springEase.d.ts +0 -1
- package/dist/parsers/springEase.js +0 -1
- package/dist/playbackRateBounds.d.ts +0 -1
- package/dist/playbackRateBounds.js +0 -1
- package/dist/previewProxyBox.d.ts +0 -1
- package/dist/previewProxyBox.js +0 -1
- package/dist/projectRule.d.ts +0 -1
- package/dist/projectRule.js +0 -1
- package/dist/projects.d.ts +0 -1
- package/dist/projects.js +0 -1
- package/dist/registry/index.d.ts +0 -1
- package/dist/registry/index.js +0 -1
- package/dist/registry/types.d.ts +0 -1
- package/dist/registry/types.js +0 -1
- package/dist/runtime/adapters/seek-dispatch.d.ts +0 -1
- package/dist/runtime/adapters/seek-dispatch.js +0 -1
- package/dist/runtime/analytics.d.ts +0 -1
- package/dist/runtime/analytics.js +0 -1
- package/dist/runtime/applyVariableBindings.d.ts +0 -1
- package/dist/runtime/applyVariableBindings.js +0 -1
- package/dist/runtime/audioAutomationVolume.d.ts +0 -1
- package/dist/runtime/audioAutomationVolume.js +0 -1
- package/dist/runtime/authoredTiming.d.ts +0 -1
- package/dist/runtime/authoredTiming.js +0 -1
- package/dist/runtime/bridge.d.ts +0 -1
- package/dist/runtime/bridge.js +0 -1
- package/dist/runtime/clipTree.d.ts +0 -1
- package/dist/runtime/clipTree.js +3 -3
- package/dist/runtime/clipWindow.d.ts +0 -1
- package/dist/runtime/clipWindow.js +0 -1
- package/dist/runtime/clock.d.ts +0 -1
- package/dist/runtime/clock.js +0 -1
- package/dist/runtime/compositionDimension.d.ts +0 -1
- package/dist/runtime/compositionDimension.js +0 -1
- package/dist/runtime/compositionLength.d.ts +0 -1
- package/dist/runtime/compositionLength.js +0 -1
- package/dist/runtime/customEase.d.ts +0 -1
- package/dist/runtime/customEase.js +0 -1
- package/dist/runtime/diagnostics.d.ts +2 -1
- package/dist/runtime/diagnostics.js +13 -1
- package/dist/runtime/domRealm.d.ts +0 -1
- package/dist/runtime/domRealm.js +0 -1
- package/dist/runtime/flattenedRoot.d.ts +0 -1
- package/dist/runtime/flattenedRoot.js +0 -1
- package/dist/runtime/getVariables.d.ts +0 -1
- package/dist/runtime/getVariables.js +1 -2
- package/dist/runtime/globals.d.ts +0 -1
- package/dist/runtime/globals.js +0 -1
- package/dist/runtime/levelTap.d.ts +0 -1
- package/dist/runtime/levelTap.js +0 -1
- package/dist/runtime/media.d.ts +4 -1
- package/dist/runtime/media.js +29 -16
- package/dist/runtime/mediaVolumeEnvelope.d.ts +0 -1
- package/dist/runtime/mediaVolumeEnvelope.js +0 -1
- package/dist/runtime/playbackRate.d.ts +0 -1
- package/dist/runtime/playbackRate.js +0 -1
- package/dist/runtime/positionEdits.d.ts +0 -1
- package/dist/runtime/positionEdits.js +0 -1
- package/dist/runtime/protocol.d.ts +0 -1
- package/dist/runtime/protocol.js +0 -1
- package/dist/runtime/proxySrc.d.ts +0 -1
- package/dist/runtime/proxySrc.js +0 -1
- package/dist/runtime/renderFrameSibling.d.ts +0 -1
- package/dist/runtime/renderFrameSibling.js +0 -1
- package/dist/runtime/stackingContext.d.ts +0 -1
- package/dist/runtime/stackingContext.js +0 -1
- package/dist/runtime/startExpression.d.ts +0 -1
- package/dist/runtime/startExpression.js +0 -1
- package/dist/runtime/startResolver.d.ts +2 -1
- package/dist/runtime/startResolver.js +82 -111
- package/dist/runtime/state.d.ts +0 -1
- package/dist/runtime/state.js +0 -1
- package/dist/runtime/timeline.d.ts +0 -1
- package/dist/runtime/timeline.js +17 -17
- package/dist/runtime/timelineDuration.d.ts +3 -0
- package/dist/runtime/timelineDuration.js +14 -0
- package/dist/runtime/types.d.ts +0 -1
- package/dist/runtime/types.js +0 -1
- package/dist/runtime/validateVariables.d.ts +0 -1
- package/dist/runtime/validateVariables.js +0 -1
- package/dist/runtime/variableScope.d.ts +0 -1
- package/dist/runtime/variableScope.js +0 -1
- package/dist/runtime/webAudioRoute.d.ts +0 -1
- package/dist/runtime/webAudioRoute.js +1 -2
- package/dist/runtime/wiggleEase.d.ts +0 -1
- package/dist/runtime/wiggleEase.js +0 -1
- package/dist/safePath.d.ts +0 -1
- package/dist/safePath.js +0 -1
- package/dist/sceneParts.d.ts +0 -1
- package/dist/sceneParts.js +0 -1
- package/dist/slideshow/index.d.ts +0 -1
- package/dist/slideshow/index.js +0 -1
- package/dist/speedRamp.d.ts +0 -1
- package/dist/speedRamp.js +0 -1
- package/dist/storyboard/editStoryboard.d.ts +0 -1
- package/dist/storyboard/editStoryboard.js +0 -1
- package/dist/storyboard/index.d.ts +0 -1
- package/dist/storyboard/index.js +0 -1
- package/dist/storyboard/parseStoryboard.d.ts +0 -1
- package/dist/storyboard/parseStoryboard.js +0 -1
- package/dist/storyboard/types.d.ts +0 -1
- package/dist/storyboard/types.js +0 -1
- package/dist/studio-api/helpers/draftMarkers.d.ts +0 -1
- package/dist/studio-api/helpers/draftMarkers.js +0 -1
- package/dist/studio-api/helpers/finiteMutation.d.ts +0 -1
- package/dist/studio-api/helpers/finiteMutation.js +0 -1
- package/dist/studio-api/helpers/manualEditsRenderScript.d.ts +0 -1
- package/dist/studio-api/helpers/manualEditsRenderScript.js +0 -1
- package/dist/studio-api/helpers/screenshotClip.d.ts +0 -1
- package/dist/studio-api/helpers/screenshotClip.js +0 -1
- package/dist/studio-api/helpers/studioMotionRenderScript.d.ts +0 -1
- package/dist/studio-api/helpers/studioMotionRenderScript.js +0 -1
- package/dist/studio-api/index.d.ts +0 -1
- package/dist/studio-api/index.js +0 -1
- package/dist/studioPreviewMark.d.ts +0 -1
- package/dist/studioPreviewMark.js +0 -1
- package/dist/telemetryRedaction.d.ts +0 -1
- package/dist/telemetryRedaction.js +0 -1
- package/dist/templates/base.d.ts +0 -1
- package/dist/templates/base.js +0 -1
- package/dist/templates/constants.d.ts +0 -1
- package/dist/templates/constants.js +0 -1
- package/dist/text/fitTextFontSize.d.ts +0 -1
- package/dist/text/fitTextFontSize.js +0 -1
- package/dist/text/index.d.ts +0 -1
- package/dist/text/index.js +0 -1
- package/dist/text/pretext.d.ts +0 -1
- package/dist/text/pretext.js +0 -1
- package/dist/timelineAssetId.d.ts +0 -1
- package/dist/timelineAssetId.js +0 -1
- package/dist/tokenSlug.d.ts +0 -1
- package/dist/tokenSlug.js +0 -1
- package/dist/utils/cssSelector.d.ts +0 -1
- package/dist/utils/cssSelector.js +0 -1
- package/dist/utils/htmlAttrSafety.d.ts +0 -1
- package/dist/utils/htmlAttrSafety.js +0 -1
- package/dist/utils/renderOutputTimestamp.d.ts +0 -1
- package/dist/utils/renderOutputTimestamp.js +0 -1
- package/dist/utils/richTextSanitize.d.ts +0 -1
- package/dist/utils/richTextSanitize.js +0 -1
- package/dist/utils/urlPath.d.ts +0 -1
- package/dist/utils/urlPath.js +0 -1
- package/dist/variables.d.ts +0 -1
- package/dist/variables.js +0 -1
- package/dist/vfx/displacementMap.frag.d.ts +0 -1
- package/dist/vfx/displacementMap.frag.js +0 -1
- package/dist/vfx/fractalNoise.frag.d.ts +0 -1
- package/dist/vfx/fractalNoise.frag.js +0 -1
- package/dist/vfx/lumaMatte.frag.d.ts +0 -1
- package/dist/vfx/lumaMatte.frag.js +1 -2
- package/dist/vfx/noise.frag.d.ts +0 -1
- package/dist/vfx/noise.frag.js +1 -2
- package/dist/vfx/refs/displacementMap.d.ts +0 -1
- package/dist/vfx/refs/displacementMap.js +0 -1
- package/dist/vfx/refs/fractalNoise.d.ts +0 -1
- package/dist/vfx/refs/fractalNoise.js +0 -1
- package/dist/vfx/refs/lumaMatte.d.ts +0 -1
- package/dist/vfx/refs/lumaMatte.js +0 -1
- package/dist/vfx/refs/noise.d.ts +0 -1
- package/dist/vfx/refs/noise.js +0 -1
- package/dist/vfx/refs/waveWarp.d.ts +0 -1
- package/dist/vfx/refs/waveWarp.js +0 -1
- package/dist/vfx/waveWarp.frag.d.ts +0 -1
- package/dist/vfx/waveWarp.frag.js +0 -1
- package/dist/vfx.d.ts +0 -1
- package/dist/vfx.js +0 -1
- package/package.json +4 -6
- package/dist/adapters/gsap.d.ts.map +0 -1
- package/dist/adapters/gsap.js.map +0 -1
- package/dist/adapters/index.d.ts.map +0 -1
- package/dist/adapters/index.js.map +0 -1
- package/dist/adapters/types.d.ts.map +0 -1
- package/dist/adapters/types.js.map +0 -1
- package/dist/atomicFile.d.ts.map +0 -1
- package/dist/atomicFile.js.map +0 -1
- package/dist/audibleVideo.d.ts.map +0 -1
- package/dist/audibleVideo.js.map +0 -1
- package/dist/audio/audioFxAutomation.d.ts.map +0 -1
- package/dist/audio/audioFxAutomation.js.map +0 -1
- package/dist/audio/audioFxGraph.d.ts.map +0 -1
- package/dist/audio/audioFxGraph.js.map +0 -1
- package/dist/audio/audioFxTail.d.ts.map +0 -1
- package/dist/audio/audioFxTail.js.map +0 -1
- package/dist/audio/audioFxWorklets.d.ts.map +0 -1
- package/dist/audio/audioFxWorklets.js.map +0 -1
- package/dist/audioAutomation.d.ts.map +0 -1
- package/dist/audioAutomation.js.map +0 -1
- package/dist/audioCarve.d.ts.map +0 -1
- package/dist/audioCarve.js.map +0 -1
- package/dist/audioFade.d.ts.map +0 -1
- package/dist/audioFade.js.map +0 -1
- package/dist/audioFx.d.ts.map +0 -1
- package/dist/audioFx.js.map +0 -1
- package/dist/audioFxCopy.d.ts.map +0 -1
- package/dist/audioFxCopy.js.map +0 -1
- package/dist/audioFxEq.d.ts.map +0 -1
- package/dist/audioFxEq.js.map +0 -1
- package/dist/audioFxJobs.d.ts.map +0 -1
- package/dist/audioFxJobs.js.map +0 -1
- package/dist/audioFxPresets.d.ts.map +0 -1
- package/dist/audioFxPresets.js.map +0 -1
- package/dist/audioFxProfiles.d.ts.map +0 -1
- package/dist/audioFxProfiles.js.map +0 -1
- package/dist/audioGain.d.ts.map +0 -1
- package/dist/audioGain.js.map +0 -1
- package/dist/audioGroups.d.ts.map +0 -1
- package/dist/audioGroups.js.map +0 -1
- package/dist/audioLeveller.d.ts.map +0 -1
- package/dist/audioLeveller.js.map +0 -1
- package/dist/beats/beatDetection.d.ts.map +0 -1
- package/dist/beats/beatDetection.js.map +0 -1
- package/dist/beats/beatFile.d.ts.map +0 -1
- package/dist/beats/beatFile.js.map +0 -1
- package/dist/beats/index.d.ts.map +0 -1
- package/dist/beats/index.js.map +0 -1
- package/dist/canary.d.ts.map +0 -1
- package/dist/canary.js.map +0 -1
- package/dist/canaryRegistry.d.ts.map +0 -1
- package/dist/canaryRegistry.js.map +0 -1
- package/dist/clipFacts.d.ts.map +0 -1
- package/dist/clipFacts.js.map +0 -1
- package/dist/colorGrading.d.ts.map +0 -1
- package/dist/colorGrading.js.map +0 -1
- package/dist/colorGradingCurves.d.ts.map +0 -1
- package/dist/colorGradingCurves.js.map +0 -1
- package/dist/colorLuts.d.ts.map +0 -1
- package/dist/colorLuts.js.map +0 -1
- package/dist/compiler/assetPaths.d.ts.map +0 -1
- package/dist/compiler/assetPaths.js.map +0 -1
- package/dist/compiler/compositionAssembly.d.ts.map +0 -1
- package/dist/compiler/compositionAssembly.js.map +0 -1
- package/dist/compiler/compositionScoping.d.ts.map +0 -1
- package/dist/compiler/compositionScoping.js.map +0 -1
- package/dist/compiler/externalScripts.d.ts.map +0 -1
- package/dist/compiler/externalScripts.js.map +0 -1
- package/dist/compiler/htmlBundler.d.ts.map +0 -1
- package/dist/compiler/htmlBundler.js.map +0 -1
- package/dist/compiler/htmlCompiler.d.ts.map +0 -1
- package/dist/compiler/htmlCompiler.js.map +0 -1
- package/dist/compiler/htmlDocument.d.ts.map +0 -1
- package/dist/compiler/htmlDocument.js.map +0 -1
- package/dist/compiler/htmlParityContract.d.ts.map +0 -1
- package/dist/compiler/htmlParityContract.js.map +0 -1
- package/dist/compiler/importMaps.d.ts.map +0 -1
- package/dist/compiler/importMaps.js.map +0 -1
- package/dist/compiler/index.d.ts.map +0 -1
- package/dist/compiler/index.js.map +0 -1
- package/dist/compiler/inlineSubCompositions.d.ts.map +0 -1
- package/dist/compiler/inlineSubCompositions.js.map +0 -1
- package/dist/compiler/mediaRenderIds.d.ts.map +0 -1
- package/dist/compiler/mediaRenderIds.js.map +0 -1
- package/dist/compiler/rewriteSubCompPaths.d.ts.map +0 -1
- package/dist/compiler/rewriteSubCompPaths.js.map +0 -1
- package/dist/compiler/scenePartsManifest.d.ts.map +0 -1
- package/dist/compiler/scenePartsManifest.js.map +0 -1
- package/dist/compiler/scriptRuns.d.ts.map +0 -1
- package/dist/compiler/scriptRuns.js.map +0 -1
- package/dist/compiler/selectorIdTokens.d.ts.map +0 -1
- package/dist/compiler/selectorIdTokens.js.map +0 -1
- package/dist/compiler/standaloneEntry.d.ts.map +0 -1
- package/dist/compiler/standaloneEntry.js.map +0 -1
- package/dist/compiler/staticGuard.d.ts.map +0 -1
- package/dist/compiler/staticGuard.js.map +0 -1
- package/dist/compiler/subCompositionValidity.d.ts.map +0 -1
- package/dist/compiler/subCompositionValidity.js.map +0 -1
- package/dist/compiler/svgIdNamespacing.d.ts.map +0 -1
- package/dist/compiler/svgIdNamespacing.js.map +0 -1
- package/dist/compiler/svgSelectorAliases.d.ts.map +0 -1
- package/dist/compiler/svgSelectorAliases.js.map +0 -1
- package/dist/compiler/timingCompiler.d.ts.map +0 -1
- package/dist/compiler/timingCompiler.js.map +0 -1
- package/dist/compiler/timingResolver.d.ts.map +0 -1
- package/dist/compiler/timingResolver.js.map +0 -1
- package/dist/compositionContract.d.ts.map +0 -1
- package/dist/compositionContract.js.map +0 -1
- package/dist/compositionReadiness.d.ts.map +0 -1
- package/dist/compositionReadiness.js.map +0 -1
- package/dist/core.types.d.ts.map +0 -1
- package/dist/core.types.js.map +0 -1
- package/dist/editing/affordances.d.ts.map +0 -1
- package/dist/editing/affordances.js.map +0 -1
- package/dist/editing/draftMarkers.d.ts.map +0 -1
- package/dist/editing/draftMarkers.js.map +0 -1
- package/dist/figma/assetSnippet.d.ts.map +0 -1
- package/dist/figma/assetSnippet.js.map +0 -1
- package/dist/figma/bindings.d.ts.map +0 -1
- package/dist/figma/bindings.js.map +0 -1
- package/dist/figma/client.d.ts.map +0 -1
- package/dist/figma/client.js.map +0 -1
- package/dist/figma/color.d.ts.map +0 -1
- package/dist/figma/color.js.map +0 -1
- package/dist/figma/emitTimelineScript.d.ts.map +0 -1
- package/dist/figma/emitTimelineScript.js.map +0 -1
- package/dist/figma/freeze.d.ts.map +0 -1
- package/dist/figma/freeze.js.map +0 -1
- package/dist/figma/index.d.ts.map +0 -1
- package/dist/figma/index.js.map +0 -1
- package/dist/figma/jsonl.d.ts.map +0 -1
- package/dist/figma/jsonl.js.map +0 -1
- package/dist/figma/manifest.d.ts.map +0 -1
- package/dist/figma/manifest.js.map +0 -1
- package/dist/figma/mediaIndex.d.ts.map +0 -1
- package/dist/figma/mediaIndex.js.map +0 -1
- package/dist/figma/motionContextToDocs.d.ts.map +0 -1
- package/dist/figma/motionContextToDocs.js.map +0 -1
- package/dist/figma/motionEase.d.ts.map +0 -1
- package/dist/figma/motionEase.js.map +0 -1
- package/dist/figma/motionToGsap.d.ts.map +0 -1
- package/dist/figma/motionToGsap.js.map +0 -1
- package/dist/figma/nodeDocument.d.ts.map +0 -1
- package/dist/figma/nodeDocument.js.map +0 -1
- package/dist/figma/nodeToHtml.d.ts.map +0 -1
- package/dist/figma/nodeToHtml.js.map +0 -1
- package/dist/figma/parseFigmaRef.d.ts.map +0 -1
- package/dist/figma/parseFigmaRef.js.map +0 -1
- package/dist/figma/resolveBindings.d.ts.map +0 -1
- package/dist/figma/resolveBindings.js.map +0 -1
- package/dist/figma/sanitizeSvg.d.ts.map +0 -1
- package/dist/figma/sanitizeSvg.js.map +0 -1
- package/dist/figma/tokensToVariables.d.ts.map +0 -1
- package/dist/figma/tokensToVariables.js.map +0 -1
- package/dist/figma/types.d.ts.map +0 -1
- package/dist/figma/types.js.map +0 -1
- package/dist/fonts/aliases.d.ts.map +0 -1
- package/dist/fonts/aliases.js.map +0 -1
- package/dist/fonts/authoredGoogleFonts.d.ts.map +0 -1
- package/dist/fonts/authoredGoogleFonts.js.map +0 -1
- package/dist/fonts/deterministicFonts.d.ts.map +0 -1
- package/dist/fonts/deterministicFonts.js.map +0 -1
- package/dist/fonts/fontCompression.d.ts.map +0 -1
- package/dist/fonts/fontCompression.js.map +0 -1
- package/dist/fonts/fontData.generated.d.ts.map +0 -1
- package/dist/fonts/fontData.generated.js.map +0 -1
- package/dist/fonts/fontDiagnostics.d.ts.map +0 -1
- package/dist/fonts/fontDiagnostics.js.map +0 -1
- package/dist/fonts/systemFontLocator.d.ts.map +0 -1
- package/dist/fonts/systemFontLocator.js.map +0 -1
- package/dist/generated/audio-fx-runtime-inline.d.ts.map +0 -1
- package/dist/generated/audio-fx-runtime-inline.js.map +0 -1
- package/dist/generated/position-edits-render-inline.d.ts.map +0 -1
- package/dist/generated/position-edits-render-inline.js.map +0 -1
- package/dist/generated/runtime-inline.d.ts.map +0 -1
- package/dist/generated/runtime-inline.js.map +0 -1
- package/dist/generated/svg-selector-aliases-inline.d.ts.map +0 -1
- package/dist/generated/svg-selector-aliases-inline.js.map +0 -1
- package/dist/generators/hyperframes.d.ts.map +0 -1
- package/dist/generators/hyperframes.js.map +0 -1
- package/dist/generators/richTextHtml.d.ts.map +0 -1
- package/dist/generators/richTextHtml.js.map +0 -1
- package/dist/gsapCdn.d.ts.map +0 -1
- package/dist/gsapCdn.js.map +0 -1
- package/dist/hdrToneMap.d.ts.map +0 -1
- package/dist/hdrToneMap.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/inline-scripts/hyperframe.d.ts.map +0 -1
- package/dist/inline-scripts/hyperframe.js.map +0 -1
- package/dist/inline-scripts/hyperframesRuntime.engine.d.ts.map +0 -1
- package/dist/inline-scripts/hyperframesRuntime.engine.js.map +0 -1
- package/dist/inline-scripts/parityContract.d.ts.map +0 -1
- package/dist/inline-scripts/parityContract.js.map +0 -1
- package/dist/inline-scripts/pickerApi.d.ts.map +0 -1
- package/dist/inline-scripts/pickerApi.js.map +0 -1
- package/dist/inline-scripts/runtimeContract.d.ts.map +0 -1
- package/dist/inline-scripts/runtimeContract.js.map +0 -1
- package/dist/lint/index.d.ts.map +0 -1
- package/dist/lint/index.js.map +0 -1
- package/dist/lottieReadiness.d.ts.map +0 -1
- package/dist/lottieReadiness.js.map +0 -1
- package/dist/media/gif.d.ts.map +0 -1
- package/dist/media/gif.js.map +0 -1
- package/dist/mediaGradeAnalyzer.d.ts.map +0 -1
- package/dist/mediaGradeAnalyzer.js.map +0 -1
- package/dist/mediaLink.d.ts.map +0 -1
- package/dist/mediaLink.js.map +0 -1
- package/dist/mediaTiming.d.ts.map +0 -1
- package/dist/mediaTiming.js.map +0 -1
- package/dist/parsers/gsapConstants.d.ts.map +0 -1
- package/dist/parsers/gsapConstants.js.map +0 -1
- package/dist/parsers/gsapParserAcorn.d.ts.map +0 -1
- package/dist/parsers/gsapParserAcorn.js.map +0 -1
- package/dist/parsers/gsapParserExports.d.ts.map +0 -1
- package/dist/parsers/gsapParserExports.js.map +0 -1
- package/dist/parsers/gsapWriterAcorn.d.ts.map +0 -1
- package/dist/parsers/gsapWriterAcorn.js.map +0 -1
- package/dist/parsers/hfIds.d.ts.map +0 -1
- package/dist/parsers/hfIds.js.map +0 -1
- package/dist/parsers/springEase.d.ts.map +0 -1
- package/dist/parsers/springEase.js.map +0 -1
- package/dist/playbackRateBounds.d.ts.map +0 -1
- package/dist/playbackRateBounds.js.map +0 -1
- package/dist/previewProxyBox.d.ts.map +0 -1
- package/dist/previewProxyBox.js.map +0 -1
- package/dist/projectRule.d.ts.map +0 -1
- package/dist/projectRule.js.map +0 -1
- package/dist/projects.d.ts.map +0 -1
- package/dist/projects.js.map +0 -1
- package/dist/registry/index.d.ts.map +0 -1
- package/dist/registry/index.js.map +0 -1
- package/dist/registry/types.d.ts.map +0 -1
- package/dist/registry/types.js.map +0 -1
- package/dist/runtime/adapters/seek-dispatch.d.ts.map +0 -1
- package/dist/runtime/adapters/seek-dispatch.js.map +0 -1
- package/dist/runtime/analytics.d.ts.map +0 -1
- package/dist/runtime/analytics.js.map +0 -1
- package/dist/runtime/applyVariableBindings.d.ts.map +0 -1
- package/dist/runtime/applyVariableBindings.js.map +0 -1
- package/dist/runtime/audioAutomationVolume.d.ts.map +0 -1
- package/dist/runtime/audioAutomationVolume.js.map +0 -1
- package/dist/runtime/authoredTiming.d.ts.map +0 -1
- package/dist/runtime/authoredTiming.js.map +0 -1
- package/dist/runtime/bridge.d.ts.map +0 -1
- package/dist/runtime/bridge.js.map +0 -1
- package/dist/runtime/clipTree.d.ts.map +0 -1
- package/dist/runtime/clipTree.js.map +0 -1
- package/dist/runtime/clipWindow.d.ts.map +0 -1
- package/dist/runtime/clipWindow.js.map +0 -1
- package/dist/runtime/clock.d.ts.map +0 -1
- package/dist/runtime/clock.js.map +0 -1
- package/dist/runtime/compositionDimension.d.ts.map +0 -1
- package/dist/runtime/compositionDimension.js.map +0 -1
- package/dist/runtime/compositionLength.d.ts.map +0 -1
- package/dist/runtime/compositionLength.js.map +0 -1
- package/dist/runtime/customEase.d.ts.map +0 -1
- package/dist/runtime/customEase.js.map +0 -1
- package/dist/runtime/diagnostics.d.ts.map +0 -1
- package/dist/runtime/diagnostics.js.map +0 -1
- package/dist/runtime/domRealm.d.ts.map +0 -1
- package/dist/runtime/domRealm.js.map +0 -1
- package/dist/runtime/flattenedRoot.d.ts.map +0 -1
- package/dist/runtime/flattenedRoot.js.map +0 -1
- package/dist/runtime/getVariables.d.ts.map +0 -1
- package/dist/runtime/getVariables.js.map +0 -1
- package/dist/runtime/globals.d.ts.map +0 -1
- package/dist/runtime/globals.js.map +0 -1
- package/dist/runtime/levelTap.d.ts.map +0 -1
- package/dist/runtime/levelTap.js.map +0 -1
- package/dist/runtime/media.d.ts.map +0 -1
- package/dist/runtime/media.js.map +0 -1
- package/dist/runtime/mediaVolumeEnvelope.d.ts.map +0 -1
- package/dist/runtime/mediaVolumeEnvelope.js.map +0 -1
- package/dist/runtime/playbackRate.d.ts.map +0 -1
- package/dist/runtime/playbackRate.js.map +0 -1
- package/dist/runtime/positionEdits.d.ts.map +0 -1
- package/dist/runtime/positionEdits.js.map +0 -1
- package/dist/runtime/protocol.d.ts.map +0 -1
- package/dist/runtime/protocol.js.map +0 -1
- package/dist/runtime/proxySrc.d.ts.map +0 -1
- package/dist/runtime/proxySrc.js.map +0 -1
- package/dist/runtime/renderFrameSibling.d.ts.map +0 -1
- package/dist/runtime/renderFrameSibling.js.map +0 -1
- package/dist/runtime/stackingContext.d.ts.map +0 -1
- package/dist/runtime/stackingContext.js.map +0 -1
- package/dist/runtime/startExpression.d.ts.map +0 -1
- package/dist/runtime/startExpression.js.map +0 -1
- package/dist/runtime/startResolver.d.ts.map +0 -1
- package/dist/runtime/startResolver.js.map +0 -1
- package/dist/runtime/state.d.ts.map +0 -1
- package/dist/runtime/state.js.map +0 -1
- package/dist/runtime/timeline.d.ts.map +0 -1
- package/dist/runtime/timeline.js.map +0 -1
- package/dist/runtime/types.d.ts.map +0 -1
- package/dist/runtime/types.js.map +0 -1
- package/dist/runtime/validateVariables.d.ts.map +0 -1
- package/dist/runtime/validateVariables.js.map +0 -1
- package/dist/runtime/variableScope.d.ts.map +0 -1
- package/dist/runtime/variableScope.js.map +0 -1
- package/dist/runtime/webAudioRoute.d.ts.map +0 -1
- package/dist/runtime/webAudioRoute.js.map +0 -1
- package/dist/runtime/wiggleEase.d.ts.map +0 -1
- package/dist/runtime/wiggleEase.js.map +0 -1
- package/dist/safePath.d.ts.map +0 -1
- package/dist/safePath.js.map +0 -1
- package/dist/sceneParts.d.ts.map +0 -1
- package/dist/sceneParts.js.map +0 -1
- package/dist/slideshow/index.d.ts.map +0 -1
- package/dist/slideshow/index.js.map +0 -1
- package/dist/speedRamp.d.ts.map +0 -1
- package/dist/speedRamp.js.map +0 -1
- package/dist/storyboard/editStoryboard.d.ts.map +0 -1
- package/dist/storyboard/editStoryboard.js.map +0 -1
- package/dist/storyboard/index.d.ts.map +0 -1
- package/dist/storyboard/index.js.map +0 -1
- package/dist/storyboard/parseStoryboard.d.ts.map +0 -1
- package/dist/storyboard/parseStoryboard.js.map +0 -1
- package/dist/storyboard/types.d.ts.map +0 -1
- package/dist/storyboard/types.js.map +0 -1
- package/dist/studio-api/helpers/draftMarkers.d.ts.map +0 -1
- package/dist/studio-api/helpers/draftMarkers.js.map +0 -1
- package/dist/studio-api/helpers/finiteMutation.d.ts.map +0 -1
- package/dist/studio-api/helpers/finiteMutation.js.map +0 -1
- package/dist/studio-api/helpers/manualEditsRenderScript.d.ts.map +0 -1
- package/dist/studio-api/helpers/manualEditsRenderScript.js.map +0 -1
- package/dist/studio-api/helpers/screenshotClip.d.ts.map +0 -1
- package/dist/studio-api/helpers/screenshotClip.js.map +0 -1
- package/dist/studio-api/helpers/studioMotionRenderScript.d.ts.map +0 -1
- package/dist/studio-api/helpers/studioMotionRenderScript.js.map +0 -1
- package/dist/studio-api/index.d.ts.map +0 -1
- package/dist/studio-api/index.js.map +0 -1
- package/dist/studioPreviewMark.d.ts.map +0 -1
- package/dist/studioPreviewMark.js.map +0 -1
- package/dist/telemetryRedaction.d.ts.map +0 -1
- package/dist/telemetryRedaction.js.map +0 -1
- package/dist/templates/base.d.ts.map +0 -1
- package/dist/templates/base.js.map +0 -1
- package/dist/templates/constants.d.ts.map +0 -1
- package/dist/templates/constants.js.map +0 -1
- package/dist/text/fitTextFontSize.d.ts.map +0 -1
- package/dist/text/fitTextFontSize.js.map +0 -1
- package/dist/text/index.d.ts.map +0 -1
- package/dist/text/index.js.map +0 -1
- package/dist/text/pretext.d.ts.map +0 -1
- package/dist/text/pretext.js.map +0 -1
- package/dist/timelineAssetId.d.ts.map +0 -1
- package/dist/timelineAssetId.js.map +0 -1
- package/dist/tokenSlug.d.ts.map +0 -1
- package/dist/tokenSlug.js.map +0 -1
- package/dist/utils/cssSelector.d.ts.map +0 -1
- package/dist/utils/cssSelector.js.map +0 -1
- package/dist/utils/htmlAttrSafety.d.ts.map +0 -1
- package/dist/utils/htmlAttrSafety.js.map +0 -1
- package/dist/utils/renderOutputTimestamp.d.ts.map +0 -1
- package/dist/utils/renderOutputTimestamp.js.map +0 -1
- package/dist/utils/richTextSanitize.d.ts.map +0 -1
- package/dist/utils/richTextSanitize.js.map +0 -1
- package/dist/utils/urlPath.d.ts.map +0 -1
- package/dist/utils/urlPath.js.map +0 -1
- package/dist/variables.d.ts.map +0 -1
- package/dist/variables.js.map +0 -1
- package/dist/vfx/displacementMap.frag.d.ts.map +0 -1
- package/dist/vfx/displacementMap.frag.js.map +0 -1
- package/dist/vfx/fractalNoise.frag.d.ts.map +0 -1
- package/dist/vfx/fractalNoise.frag.js.map +0 -1
- package/dist/vfx/lumaMatte.frag.d.ts.map +0 -1
- package/dist/vfx/lumaMatte.frag.js.map +0 -1
- package/dist/vfx/noise.frag.d.ts.map +0 -1
- package/dist/vfx/noise.frag.js.map +0 -1
- package/dist/vfx/refs/displacementMap.d.ts.map +0 -1
- package/dist/vfx/refs/displacementMap.js.map +0 -1
- package/dist/vfx/refs/fractalNoise.d.ts.map +0 -1
- package/dist/vfx/refs/fractalNoise.js.map +0 -1
- package/dist/vfx/refs/lumaMatte.d.ts.map +0 -1
- package/dist/vfx/refs/lumaMatte.js.map +0 -1
- package/dist/vfx/refs/noise.d.ts.map +0 -1
- package/dist/vfx/refs/noise.js.map +0 -1
- package/dist/vfx/refs/waveWarp.d.ts.map +0 -1
- package/dist/vfx/refs/waveWarp.js.map +0 -1
- package/dist/vfx/waveWarp.frag.d.ts.map +0 -1
- package/dist/vfx/waveWarp.frag.js.map +0 -1
- package/dist/vfx.d.ts.map +0 -1
- package/dist/vfx.js.map +0 -1
package/dist/runtime/globals.js
CHANGED
package/dist/runtime/levelTap.js
CHANGED
package/dist/runtime/media.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type VolumeKeyframe } from "./mediaVolumeEnvelope.js";
|
|
2
2
|
import { type AudioFades } from "../audioFade.js";
|
|
3
3
|
import { type RateSpec } from "../speedRamp.js";
|
|
4
|
+
import { type HostSlot } from "../mediaTiming.js";
|
|
4
5
|
export { readElementPlaybackRate, readElementRateSpec, resolveNaturalMediaTimelineDuration, } from "./playbackRate.js";
|
|
5
6
|
export declare function readElementPlaybackStart(el: Element): number;
|
|
6
7
|
export declare const HOLD_CAP_MS = 5000;
|
|
@@ -20,6 +21,8 @@ export declare function resolveRuntimeMediaClipDuration(params: {
|
|
|
20
21
|
export type RuntimeMediaClip = {
|
|
21
22
|
el: HTMLVideoElement | HTMLAudioElement;
|
|
22
23
|
start: number;
|
|
24
|
+
/** The clip's own t=0 when a host's in-point cut its head; source time, lanes and fades run from it. */
|
|
25
|
+
origin?: number;
|
|
23
26
|
mediaStart: number;
|
|
24
27
|
duration: number;
|
|
25
28
|
end: number;
|
|
@@ -43,6 +46,7 @@ export type RuntimeMediaClip = {
|
|
|
43
46
|
export declare function refreshRuntimeMediaCache(params?: {
|
|
44
47
|
resolveStartSeconds?: (element: Element) => number;
|
|
45
48
|
resolveDurationSeconds?: (element: HTMLVideoElement | HTMLAudioElement) => number | null;
|
|
49
|
+
resolveHostSlots?: (element: HTMLVideoElement | HTMLAudioElement) => HostSlot[];
|
|
46
50
|
shouldIncludeElement?: (element: HTMLVideoElement | HTMLAudioElement) => boolean;
|
|
47
51
|
/**
|
|
48
52
|
* Build clips for exactly these elements instead of scanning the document for
|
|
@@ -119,4 +123,3 @@ export declare function syncRuntimeMedia(params: {
|
|
|
119
123
|
* A thunk, because deriving the duration is only worth it for a clip past its own end. */
|
|
120
124
|
getCompositionDuration: () => number;
|
|
121
125
|
}): void;
|
|
122
|
-
//# sourceMappingURL=media.d.ts.map
|
package/dist/runtime/media.js
CHANGED
|
@@ -10,6 +10,7 @@ import { clampAudioGain } from "../audioGain.js";
|
|
|
10
10
|
import { isMemberGroupHidden } from "../audioGroups.js";
|
|
11
11
|
import { findInjectedRenderFrame } from "./renderFrameSibling.js";
|
|
12
12
|
import { registerSeekCompletion } from "./adapters/seek-dispatch.js";
|
|
13
|
+
import { cutToHostSlots } from "../mediaTiming.js";
|
|
13
14
|
export { readElementPlaybackRate, readElementRateSpec, resolveNaturalMediaTimelineDuration, } from "./playbackRate.js";
|
|
14
15
|
export function readElementPlaybackStart(el) {
|
|
15
16
|
return readMediaStart(el);
|
|
@@ -70,7 +71,7 @@ export function refreshRuntimeMediaCache(params) {
|
|
|
70
71
|
const videoClips = [];
|
|
71
72
|
let maxMediaEnd = 0;
|
|
72
73
|
for (const el of timedMediaEls) {
|
|
73
|
-
|
|
74
|
+
let start = params?.resolveStartSeconds
|
|
74
75
|
? params.resolveStartSeconds(el)
|
|
75
76
|
: Number.parseFloat(el.dataset.start ?? "0");
|
|
76
77
|
if (!Number.isFinite(start))
|
|
@@ -87,13 +88,20 @@ export function refreshRuntimeMediaCache(params) {
|
|
|
87
88
|
duration = Math.max(0, timeAtSourceTime(rate, sourceDuration - mediaStart));
|
|
88
89
|
}
|
|
89
90
|
const hasKnownDuration = Number.isFinite(duration) && duration >= 0;
|
|
90
|
-
|
|
91
|
+
let end = hasKnownDuration ? start + duration : Number.POSITIVE_INFINITY;
|
|
92
|
+
const origin = start;
|
|
93
|
+
const kept = cutToHostSlots({ start, end }, params?.resolveHostSlots?.(el) ?? []);
|
|
94
|
+
if (kept.start !== start || kept.end !== end) {
|
|
95
|
+
({ start, end } = kept);
|
|
96
|
+
duration = end - start;
|
|
97
|
+
}
|
|
91
98
|
const volumeRaw = Number.parseFloat(el.dataset.volume ?? "");
|
|
92
99
|
const clip = {
|
|
93
100
|
el,
|
|
94
101
|
start,
|
|
102
|
+
origin,
|
|
95
103
|
mediaStart,
|
|
96
|
-
duration:
|
|
104
|
+
duration: Number.isFinite(end) ? duration : Number.POSITIVE_INFINITY,
|
|
97
105
|
end,
|
|
98
106
|
volume: Number.isFinite(volumeRaw) ? volumeRaw : null,
|
|
99
107
|
playbackRate,
|
|
@@ -185,6 +193,8 @@ export function hasMediaSyncStateForTest(el) {
|
|
|
185
193
|
export const MEDIA_HARD_SYNC_SECONDS = 0.5;
|
|
186
194
|
/** Drift a playing audio element may carry before sync pulls it back onto the playhead. */
|
|
187
195
|
export const MEDIA_SYNC_TOLERANCE_SECONDS = 0.04;
|
|
196
|
+
// Chromium refuses a slower playbackRate (NotSupportedError).
|
|
197
|
+
const MIN_NATIVE_PLAYBACK_RATE = 1 / 16;
|
|
188
198
|
// A playing video is steered back by rate, not seeked (a seek resets its decoder).
|
|
189
199
|
// Its rate is written only when steering starts or stops: every write costs a frame.
|
|
190
200
|
const VIDEO_STEER = 0.03;
|
|
@@ -211,13 +221,14 @@ export function syncRuntimeMedia(params) {
|
|
|
211
221
|
if (!el.isConnected)
|
|
212
222
|
continue;
|
|
213
223
|
const clipRate = clip.rate ?? clip.playbackRate;
|
|
224
|
+
const origin = clip.origin ?? clip.start;
|
|
214
225
|
const isNonLoopVideo = el.tagName === "VIDEO" && !clip.loop;
|
|
215
226
|
const inWindow = isInClipWindow(params.timeSeconds, clip.start, clip.end);
|
|
216
227
|
const dueIn = clip.start - params.timeSeconds;
|
|
217
228
|
const startsEarly = el.tagName === "AUDIO" &&
|
|
218
229
|
!inWindow &&
|
|
219
230
|
dueIn > 0 &&
|
|
220
|
-
dueIn * Math.max(1, rateAt(clipRate,
|
|
231
|
+
dueIn * Math.max(1, rateAt(clipRate, clip.start - origin)) <=
|
|
221
232
|
Math.max(params.cueAheadSeconds ?? 0, startedEarly.has(el) ? MEDIA_SYNC_TOLERANCE_SECONDS : 0);
|
|
222
233
|
if (startsEarly)
|
|
223
234
|
startedEarly.add(el);
|
|
@@ -229,7 +240,7 @@ export function syncRuntimeMedia(params) {
|
|
|
229
240
|
!inWindow &&
|
|
230
241
|
(params.timeSeconds >= clip.end || sameInstant(params.timeSeconds, clip.end)) &&
|
|
231
242
|
isClipVisibleAt(params.timeSeconds, clip.start, clip.end, params.getCompositionDuration());
|
|
232
|
-
let relTime = sourceTimeAt(clipRate, Math.max(0, Math.min(params.timeSeconds, clip.end) -
|
|
243
|
+
let relTime = sourceTimeAt(clipRate, Math.max(0, Math.min(params.timeSeconds, clip.end) - origin)) +
|
|
233
244
|
clip.mediaStart;
|
|
234
245
|
const isHeldVideoTail = isTerminalVideo ||
|
|
235
246
|
(isNonLoopVideo && clip.sourceDuration != null && relTime >= clip.sourceDuration && inWindow);
|
|
@@ -278,7 +289,7 @@ export function syncRuntimeMedia(params) {
|
|
|
278
289
|
// different position than it renders, or ran it off the end entirely on a
|
|
279
290
|
// trimmed clip. The FX lanes on this same feature use clip-local elapsed;
|
|
280
291
|
// there is one time base, and this is it.
|
|
281
|
-
const laneGain = elementVolumeLaneGain(el, params.timeSeconds -
|
|
292
|
+
const laneGain = elementVolumeLaneGain(el, params.timeSeconds - origin);
|
|
282
293
|
if (laneGain !== null) {
|
|
283
294
|
authorVolume = clampAudioGain(laneGain);
|
|
284
295
|
}
|
|
@@ -290,7 +301,7 @@ export function syncRuntimeMedia(params) {
|
|
|
290
301
|
// `relTime` is a position inside the media SOURCE — it carries `mediaStart`
|
|
291
302
|
// and the playback rate — so it only coincides with the envelope's time base
|
|
292
303
|
// for an untrimmed clip playing at 1x from t=0.
|
|
293
|
-
const elapsedInClip = params.timeSeconds -
|
|
304
|
+
const elapsedInClip = params.timeSeconds - origin;
|
|
294
305
|
authorVolume = clampAudioGain(interpolateVolumeGain(clip.volumeKeyframes, elapsedInClip));
|
|
295
306
|
}
|
|
296
307
|
else if (params.isWebAudioRouted?.(el)) {
|
|
@@ -327,7 +338,7 @@ export function syncRuntimeMedia(params) {
|
|
|
327
338
|
// Clip-local fade on top of the resolved level, matching render's afade-after-volume.
|
|
328
339
|
const fades = clip.fades ?? NO_FADES;
|
|
329
340
|
if (fades.fadeIn > 0 || fades.fadeOut > 0) {
|
|
330
|
-
authorVolume *= fadeGain(params.timeSeconds - clip.
|
|
341
|
+
authorVolume *= fadeGain(params.timeSeconds - origin, clip.duration + clip.start - origin, fades);
|
|
331
342
|
}
|
|
332
343
|
// A data-hidden ancestor is silent in the export (audioMixer.ts drops
|
|
333
344
|
// it), so preview matches. Folded into the per-tick volume, not
|
|
@@ -355,7 +366,9 @@ export function syncRuntimeMedia(params) {
|
|
|
355
366
|
if (el.preload !== "auto")
|
|
356
367
|
el.preload = "auto";
|
|
357
368
|
// Per-element rate × global transport rate
|
|
358
|
-
const baseRate = rateAt(clipRate, params.timeSeconds -
|
|
369
|
+
const baseRate = rateAt(clipRate, params.timeSeconds - origin) * params.playbackRate;
|
|
370
|
+
// Too slow for the browser to play: kept paused and stepped onto the playhead by seeks.
|
|
371
|
+
const playing = params.playing && baseRate >= MIN_NATIVE_PLAYBACK_RATE;
|
|
359
372
|
// Drift correction — three tiers:
|
|
360
373
|
//
|
|
361
374
|
// 1. Hard sync (0.5s): first tick, timeline jumps (scrub), catastrophic
|
|
@@ -398,12 +411,13 @@ export function syncRuntimeMedia(params) {
|
|
|
398
411
|
// seek→freeze→drift→seek stutter. So a playing video skips strict and force sync; only hard
|
|
399
412
|
// sync (>0.5s) warrants the decoder-reset cost. A paused transport pauses this video below,
|
|
400
413
|
// so a seek that pauses mid-playback still lands it.
|
|
401
|
-
const isPlayingVideo = el.tagName === "VIDEO" && !el.paused &&
|
|
414
|
+
const isPlayingVideo = el.tagName === "VIDEO" && !el.paused && playing;
|
|
402
415
|
// Only apply strict sync when offset has stabilized (not growing).
|
|
403
416
|
// During initial buffering, offset grows ~16ms/tick as the timeline
|
|
404
417
|
// advances while media stays at 0. Accumulated drift from pause/play
|
|
405
418
|
// toggling shows up as a stable, non-zero offset (delta near 0).
|
|
406
|
-
const
|
|
419
|
+
const heldBelowFloor = params.playing && !playing;
|
|
420
|
+
const offsetStabilized = heldBelowFloor || (prevOffset !== undefined && Math.abs(offset - prevOffset) < 0.004);
|
|
407
421
|
let strictSync = false;
|
|
408
422
|
if (!isPlayingVideo &&
|
|
409
423
|
!hardSync &&
|
|
@@ -425,7 +439,7 @@ export function syncRuntimeMedia(params) {
|
|
|
425
439
|
// A hard sync lands the video on the playhead, so its pre-seek offset says nothing.
|
|
426
440
|
if (!isPlayingVideo || hardSync)
|
|
427
441
|
videoSteering.delete(el);
|
|
428
|
-
const rate = isPlayingVideo && !hardSync ? steeredVideoRate(el, offset, baseRate) : baseRate;
|
|
442
|
+
const rate = Math.max(MIN_NATIVE_PLAYBACK_RATE, isPlayingVideo && !hardSync ? steeredVideoRate(el, offset, baseRate) : baseRate);
|
|
429
443
|
// Some engines read a rate back at lower precision; an equal-enough rate is not rewritten.
|
|
430
444
|
if (Math.abs(el.playbackRate - rate) > 1e-6)
|
|
431
445
|
el.playbackRate = rate;
|
|
@@ -468,14 +482,14 @@ export function syncRuntimeMedia(params) {
|
|
|
468
482
|
}
|
|
469
483
|
playRequested.delete(el);
|
|
470
484
|
}
|
|
471
|
-
else if (!
|
|
485
|
+
else if (!playing) {
|
|
472
486
|
holdSeekBarrierUntilVideoLands(el);
|
|
473
487
|
}
|
|
474
488
|
if (isHeldVideoTail) {
|
|
475
489
|
if (!el.paused)
|
|
476
490
|
el.pause();
|
|
477
491
|
}
|
|
478
|
-
else if (
|
|
492
|
+
else if (playing && el.paused && !playRequested.has(el) && !isUnplayable(el)) {
|
|
479
493
|
// `HTMLMediaElement.play()` is spec'd to queue playback and resolve
|
|
480
494
|
// once enough data is buffered, so we can unconditionally call it —
|
|
481
495
|
// no need to gate on `readyState` or defer to a `canplay` listener.
|
|
@@ -504,7 +518,7 @@ export function syncRuntimeMedia(params) {
|
|
|
504
518
|
params.onAutoplayBlocked?.();
|
|
505
519
|
});
|
|
506
520
|
}
|
|
507
|
-
else if (!
|
|
521
|
+
else if (!playing && !el.paused) {
|
|
508
522
|
el.pause();
|
|
509
523
|
}
|
|
510
524
|
continue;
|
|
@@ -523,4 +537,3 @@ export function syncRuntimeMedia(params) {
|
|
|
523
537
|
el.pause();
|
|
524
538
|
}
|
|
525
539
|
}
|
|
526
|
-
//# sourceMappingURL=media.js.map
|
|
@@ -61,4 +61,3 @@ export interface VolumeProbeOptions {
|
|
|
61
61
|
* each read.
|
|
62
62
|
*/
|
|
63
63
|
export declare function probeAndCacheElementVolume(mediaEl: HTMLMediaElement, timeline: RuntimeTimelineRef | null | undefined, compositionDuration: number, cache: WeakMap<HTMLMediaElement, VolumeKeyframe[]>, options?: VolumeProbeOptions): void;
|
|
64
|
-
//# sourceMappingURL=mediaVolumeEnvelope.d.ts.map
|
|
@@ -24,4 +24,3 @@ export declare function resolveMediaElementDurationSeconds(el: Pick<Element, "ge
|
|
|
24
24
|
export declare function resolveTimedImageDurationSeconds(el: Element, startSeconds?: number): number | null;
|
|
25
25
|
/** A constant rate goes through the shared arithmetic; a `rate` lane integrates over its points. */
|
|
26
26
|
export declare function resolveNaturalMediaTimelineDurationFromValues(sourceDuration: number, mediaStart: number, playbackRate: RateSpec): number | null;
|
|
27
|
-
//# sourceMappingURL=playbackRate.d.ts.map
|
|
@@ -71,4 +71,3 @@ export declare function applyPositionEdits(doc: Document, opts?: {
|
|
|
71
71
|
/** Reapply SDK position edits after every render seek, including late-bound seeks. */
|
|
72
72
|
export declare function installPositionEditsSeekReapply(win: Window & typeof globalThis): void;
|
|
73
73
|
export {};
|
|
74
|
-
//# sourceMappingURL=positionEdits.d.ts.map
|
|
@@ -28,4 +28,3 @@ export declare function runtimeProtocolFpsToNumber(value: unknown): number | nul
|
|
|
28
28
|
export declare function runtimeProtocolMetadata(fps: number): RuntimeProtocolV1;
|
|
29
29
|
export declare function frameDisplayScale(frame: HTMLElement): number | null;
|
|
30
30
|
export declare function inspectRuntimeProtocol(value: unknown, legacyFps?: number): RuntimeProtocolInspection;
|
|
31
|
-
//# sourceMappingURL=protocol.d.ts.map
|
package/dist/runtime/protocol.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
/** Media elements swapped to their proxy, each with the src attribute it had before the swap. */
|
|
2
2
|
export declare const swappedElements: WeakMap<Element, string | null>;
|
|
3
3
|
export declare function unproxiedSrc(el: Element): string | null;
|
|
4
|
-
//# sourceMappingURL=proxySrc.d.ts.map
|
package/dist/runtime/proxySrc.js
CHANGED
|
@@ -38,4 +38,3 @@ export declare function renderFrameElementId(media: Element): string | null;
|
|
|
38
38
|
* (where the producer never creates one). Siblings first: a staged scene copy repeats the id.
|
|
39
39
|
*/
|
|
40
40
|
export declare function findInjectedRenderFrame(media: Element): HTMLImageElement | null;
|
|
41
|
-
//# sourceMappingURL=renderFrameSibling.d.ts.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { RuntimeTimelineLike } from "./types";
|
|
2
|
+
import { type HostSlot } from "../mediaTiming";
|
|
2
3
|
export declare function createRuntimeStartTimeResolver(params: {
|
|
3
4
|
timelineRegistry?: Record<string, Pick<RuntimeTimelineLike, "duration"> | undefined>;
|
|
4
5
|
includeAuthoredTimingAttrs?: boolean;
|
|
@@ -14,7 +15,7 @@ export declare function createRuntimeStartTimeResolver(params: {
|
|
|
14
15
|
resolveDurationForElement: (element: Element) => number | null;
|
|
15
16
|
resolveMediaStartForElement: (element: Element) => number;
|
|
16
17
|
resolveHostStartForElement: (element: Element) => number;
|
|
18
|
+
resolveHostSlotsForElement: (element: Element) => HostSlot[];
|
|
17
19
|
isRootGlobalMediaStartForElement: (element: Element) => boolean;
|
|
18
20
|
};
|
|
19
21
|
export type { RuntimeTimelineLike } from "./types";
|
|
20
|
-
//# sourceMappingURL=startResolver.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readTimelineDurationSeconds } from "./timelineDuration.js";
|
|
2
2
|
import { resolveAuthoredTimingWindow } from "./authoredTiming.js";
|
|
3
3
|
// Straight from playbackRate, not through media.ts's re-export: media.ts
|
|
4
4
|
// imports mediaVolumeEnvelope, which needs this resolver, and the round trip
|
|
@@ -6,7 +6,7 @@ import { resolveAuthoredTimingWindow } from "./authoredTiming.js";
|
|
|
6
6
|
import { parseStrictFiniteTimingNumber, resolveNaturalMediaTimelineDuration, resolveTimedImageDurationSeconds, } from "./playbackRate.js";
|
|
7
7
|
import { isMediaElement } from "./domRealm.js";
|
|
8
8
|
import { parseStartExpression } from "./startExpression.js";
|
|
9
|
-
import { isRootGlobalMediaStart, MEDIA_START_BASIS_ATTR, resolveMediaStartSeconds, } from "../mediaTiming.js";
|
|
9
|
+
import { compositionOriginSeconds, hostInPointSeconds, isRootGlobalMediaStart, MEDIA_START_BASIS_ATTR, resolveMediaStartSeconds, } from "../mediaTiming.js";
|
|
10
10
|
export function createRuntimeStartTimeResolver(params) {
|
|
11
11
|
const timelineRegistry = params.timelineRegistry ?? {};
|
|
12
12
|
const includeAuthoredTimingAttrs = params.includeAuthoredTimingAttrs ?? false;
|
|
@@ -20,75 +20,76 @@ export function createRuntimeStartTimeResolver(params) {
|
|
|
20
20
|
return byId;
|
|
21
21
|
return (doc.querySelector(`[data-composition-id="${CSS.escape(refId)}"]`) ?? null);
|
|
22
22
|
};
|
|
23
|
+
const authoredAttr = (element, name) => includeAuthoredTimingAttrs ? element.getAttribute(name) : null;
|
|
24
|
+
const resolveAuthoredDuration = (element) => resolveAuthoredTimingWindow({
|
|
25
|
+
start: 0,
|
|
26
|
+
duration: element.getAttribute("data-duration"),
|
|
27
|
+
authoredDuration: authoredAttr(element, "data-hf-authored-duration"),
|
|
28
|
+
})?.duration ??
|
|
29
|
+
resolveAuthoredTimingWindow({
|
|
30
|
+
start: resolveStartForElementInternal(element, 0),
|
|
31
|
+
end: element.getAttribute("data-end"),
|
|
32
|
+
authoredEnd: authoredAttr(element, "data-hf-authored-end"),
|
|
33
|
+
})?.duration ??
|
|
34
|
+
null;
|
|
35
|
+
const positive = (value) => value != null && Number.isFinite(value) && value > 0 ? value : null;
|
|
36
|
+
const resolveRegisteredTimelineDuration = (element) => {
|
|
37
|
+
const compositionId = element.getAttribute("data-composition-id");
|
|
38
|
+
return compositionId
|
|
39
|
+
? positive(readTimelineDurationSeconds(timelineRegistry[compositionId]))
|
|
40
|
+
: null;
|
|
41
|
+
};
|
|
23
42
|
const resolveDurationForElement = (element) => {
|
|
24
43
|
const cached = durationCache.get(element);
|
|
25
44
|
if (cached !== undefined)
|
|
26
45
|
return cached;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (durationTiming?.duration != null && durationTiming.duration > 0) {
|
|
36
|
-
resolved = durationTiming.duration;
|
|
37
|
-
}
|
|
38
|
-
if (resolved == null || resolved <= 0) {
|
|
39
|
-
const start = resolveStartForElementInternal(element, 0);
|
|
40
|
-
const endTiming = resolveAuthoredTimingWindow({
|
|
41
|
-
start,
|
|
42
|
-
end: element.getAttribute("data-end"),
|
|
43
|
-
authoredEnd: includeAuthoredTimingAttrs
|
|
44
|
-
? element.getAttribute("data-hf-authored-end")
|
|
45
|
-
: null,
|
|
46
|
-
});
|
|
47
|
-
if (endTiming?.duration != null && endTiming.duration > 0) {
|
|
48
|
-
resolved = endTiming.duration;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if ((resolved == null || resolved <= 0) && isMediaElement(element)) {
|
|
52
|
-
resolved = resolveNaturalMediaTimelineDuration(element, element.duration);
|
|
53
|
-
}
|
|
54
|
-
if (resolved == null || resolved <= 0)
|
|
55
|
-
resolved = resolveTimedImageDurationSeconds(element);
|
|
56
|
-
if (resolved == null || resolved <= 0) {
|
|
57
|
-
const compositionId = element.getAttribute("data-composition-id");
|
|
58
|
-
if (compositionId) {
|
|
59
|
-
const timeline = timelineRegistry[compositionId] ?? null;
|
|
60
|
-
if (timeline && typeof timeline.duration === "function") {
|
|
61
|
-
try {
|
|
62
|
-
const timelineDuration = Number(timeline.duration());
|
|
63
|
-
if (Number.isFinite(timelineDuration) && timelineDuration > 0) {
|
|
64
|
-
resolved = timelineDuration;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
catch (err) {
|
|
68
|
-
// ignore broken timeline impls
|
|
69
|
-
swallow("runtime.startResolver.site1", err);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (resolved != null && Number.isFinite(resolved) && resolved > 0) {
|
|
75
|
-
durationCache.set(element, resolved);
|
|
76
|
-
return resolved;
|
|
77
|
-
}
|
|
78
|
-
durationCache.set(element, null);
|
|
79
|
-
return null;
|
|
46
|
+
const resolved = resolveAuthoredDuration(element) ??
|
|
47
|
+
positive(isMediaElement(element)
|
|
48
|
+
? resolveNaturalMediaTimelineDuration(element, element.duration)
|
|
49
|
+
: null) ??
|
|
50
|
+
positive(resolveTimedImageDurationSeconds(element)) ??
|
|
51
|
+
resolveRegisteredTimelineDuration(element);
|
|
52
|
+
durationCache.set(element, resolved);
|
|
53
|
+
return resolved;
|
|
80
54
|
};
|
|
55
|
+
const isCompositionHost = (element) => element.hasAttribute("data-composition-src") ||
|
|
56
|
+
element.hasAttribute("data-composition-id") ||
|
|
57
|
+
element.hasAttribute("data-composition-file");
|
|
58
|
+
// A mounted composition root without its own `data-start` takes its timing from the host it was
|
|
59
|
+
// loaded into: the host may use a different id than the file, or none (an anonymous host).
|
|
60
|
+
const inheritedTimingHost = (element) => {
|
|
61
|
+
const parent = element.parentElement;
|
|
62
|
+
if (!parent || !element.hasAttribute("data-composition-id"))
|
|
63
|
+
return null;
|
|
64
|
+
if (parseStartExpression(element.getAttribute("data-start")))
|
|
65
|
+
return null;
|
|
66
|
+
return isCompositionHost(parent) ? parent : null;
|
|
67
|
+
};
|
|
68
|
+
const resolveCompositionOrigin = (compositionRoot, fallback) => compositionOriginSeconds(resolveStartForElementInternal(compositionRoot, fallback), inheritedTimingHost(compositionRoot) ?? compositionRoot);
|
|
81
69
|
const resolveHostOffsetForElement = (element, fallback) => {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
70
|
+
const compositionRoot = element.hasAttribute("data-composition-id")
|
|
71
|
+
? element.parentElement?.closest("[data-composition-id]")
|
|
72
|
+
: element.closest("[data-composition-id]");
|
|
73
|
+
return compositionRoot ? resolveCompositionOrigin(compositionRoot, fallback) : 0;
|
|
74
|
+
};
|
|
75
|
+
const computeStart = (element, fallback) => {
|
|
76
|
+
const expression = parseStartExpression(element.getAttribute("data-start"));
|
|
77
|
+
if (!expression) {
|
|
78
|
+
const host = inheritedTimingHost(element);
|
|
79
|
+
return host ? resolveStartForElementInternal(host, fallback) : fallback;
|
|
87
80
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
return 0;
|
|
91
|
-
|
|
81
|
+
if (expression.kind === "absolute") {
|
|
82
|
+
// Negative when a host's in-point is past its start; the host's slot cuts that part.
|
|
83
|
+
return resolveHostOffsetForElement(element, fallback) + Math.max(0, expression.value);
|
|
84
|
+
}
|
|
85
|
+
const target = findReferenceTarget(expression.refId);
|
|
86
|
+
if (!target)
|
|
87
|
+
return fallback;
|
|
88
|
+
const targetStart = resolveStartForElementInternal(target, 0);
|
|
89
|
+
const targetDuration = resolveDurationForElement(target) ?? 0;
|
|
90
|
+
// Clamped at local 0, as a numeric start is, once an in-point puts local 0 before 0.
|
|
91
|
+
const floor = Math.min(0, resolveHostOffsetForElement(element, 0));
|
|
92
|
+
return Math.max(floor, targetStart + targetDuration + expression.offset);
|
|
92
93
|
};
|
|
93
94
|
const resolveStartForElementInternal = (element, fallback) => {
|
|
94
95
|
const cached = startCache.get(element);
|
|
@@ -100,51 +101,7 @@ export function createRuntimeStartTimeResolver(params) {
|
|
|
100
101
|
}
|
|
101
102
|
visiting.add(element);
|
|
102
103
|
try {
|
|
103
|
-
const
|
|
104
|
-
if (!expression) {
|
|
105
|
-
// If this element is a loaded composition inner root (has data-composition-id
|
|
106
|
-
// but no data-start), walk up to the host parent which carries the actual
|
|
107
|
-
// timing. This happens when the host uses a different data-composition-id
|
|
108
|
-
// than the loaded file — e.g. host="montage" but file has "scene-10", or
|
|
109
|
-
// when the host itself has no data-composition-id at all (an "anonymous"
|
|
110
|
-
// host) and the composition's own id was restored onto the inlined wrapper.
|
|
111
|
-
// Check data-composition-src (runtime, not yet inlined), data-composition-id
|
|
112
|
-
// (bundled/compiled host with its own id), and data-composition-file (the
|
|
113
|
-
// marker every inlined host gets, compiled or bundled, once
|
|
114
|
-
// data-composition-src is stripped — covers the anonymous-host case).
|
|
115
|
-
if (element.hasAttribute("data-composition-id")) {
|
|
116
|
-
const parent = element.parentElement;
|
|
117
|
-
if (parent &&
|
|
118
|
-
(parent.hasAttribute("data-composition-src") ||
|
|
119
|
-
parent.hasAttribute("data-composition-id") ||
|
|
120
|
-
parent.hasAttribute("data-composition-file"))) {
|
|
121
|
-
const parentStart = resolveStartForElementInternal(parent, fallback);
|
|
122
|
-
startCache.set(element, parentStart);
|
|
123
|
-
return parentStart;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
startCache.set(element, fallback);
|
|
127
|
-
return fallback;
|
|
128
|
-
}
|
|
129
|
-
if (expression.kind === "absolute") {
|
|
130
|
-
const absolute = Math.max(0, expression.value);
|
|
131
|
-
const resolved = Math.max(0, resolveHostOffsetForElement(element, fallback) + absolute);
|
|
132
|
-
startCache.set(element, resolved);
|
|
133
|
-
return resolved;
|
|
134
|
-
}
|
|
135
|
-
const target = findReferenceTarget(expression.refId);
|
|
136
|
-
if (!target) {
|
|
137
|
-
startCache.set(element, fallback);
|
|
138
|
-
return fallback;
|
|
139
|
-
}
|
|
140
|
-
const targetStart = resolveStartForElementInternal(target, 0);
|
|
141
|
-
const targetDuration = resolveDurationForElement(target);
|
|
142
|
-
if (targetDuration == null || targetDuration <= 0) {
|
|
143
|
-
const unresolved = Math.max(0, targetStart + expression.offset);
|
|
144
|
-
startCache.set(element, unresolved);
|
|
145
|
-
return unresolved;
|
|
146
|
-
}
|
|
147
|
-
const resolved = Math.max(0, targetStart + targetDuration + expression.offset);
|
|
104
|
+
const resolved = computeStart(element, fallback);
|
|
148
105
|
startCache.set(element, resolved);
|
|
149
106
|
return resolved;
|
|
150
107
|
}
|
|
@@ -167,7 +124,7 @@ export function createRuntimeStartTimeResolver(params) {
|
|
|
167
124
|
const compositionRoot = element.closest("[data-composition-id]");
|
|
168
125
|
return {
|
|
169
126
|
authoredStart: parseStrictFiniteTimingNumber(element.getAttribute("data-start")),
|
|
170
|
-
hostStart: compositionRoot ?
|
|
127
|
+
hostStart: compositionRoot ? resolveCompositionOrigin(compositionRoot, 0) : 0,
|
|
171
128
|
hasAutoStart: element.hasAttribute("data-hf-auto-start"),
|
|
172
129
|
basis: element.getAttribute(MEDIA_START_BASIS_ATTR),
|
|
173
130
|
};
|
|
@@ -179,13 +136,27 @@ export function createRuntimeStartTimeResolver(params) {
|
|
|
179
136
|
ordinaryStart: () => resolveStartForElementInternal(element, input.hostStart),
|
|
180
137
|
});
|
|
181
138
|
};
|
|
139
|
+
// Hosts with an in-point, found by their composition attributes so an anonymous one counts too.
|
|
140
|
+
const resolveHostSlotsForElement = (element) => {
|
|
141
|
+
const slots = [];
|
|
142
|
+
for (let node = element.parentElement; node; node = node.parentElement) {
|
|
143
|
+
if (!isCompositionHost(node) || inheritedTimingHost(node))
|
|
144
|
+
continue;
|
|
145
|
+
if (hostInPointSeconds(node) <= 0)
|
|
146
|
+
continue;
|
|
147
|
+
const start = resolveStartForElementInternal(node, 0);
|
|
148
|
+
const duration = resolveAuthoredDuration(node);
|
|
149
|
+
slots.push({ start, end: duration ? start + duration : Infinity });
|
|
150
|
+
}
|
|
151
|
+
return slots;
|
|
152
|
+
};
|
|
182
153
|
const isRootGlobalMediaStartForElement = (element) => isMediaElement(element) && isRootGlobalMediaStart(mediaStartInput(element));
|
|
183
154
|
return {
|
|
184
155
|
resolveStartForElement: (element, fallback = 0) => resolveStartForElementInternal(element, Math.max(0, fallback)),
|
|
185
156
|
resolveDurationForElement: (element) => resolveDurationForElement(element),
|
|
186
157
|
resolveMediaStartForElement,
|
|
187
158
|
resolveHostStartForElement: (element) => resolveHostOffsetForElement(element, 0),
|
|
159
|
+
resolveHostSlotsForElement,
|
|
188
160
|
isRootGlobalMediaStartForElement,
|
|
189
161
|
};
|
|
190
162
|
}
|
|
191
|
-
//# sourceMappingURL=startResolver.js.map
|
package/dist/runtime/state.d.ts
CHANGED
package/dist/runtime/state.js
CHANGED