@hyperframes/core 0.8.50 → 0.8.53-desktop.0
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/audioAutomation.d.ts +5 -0
- package/dist/audioAutomation.d.ts.map +1 -1
- package/dist/audioAutomation.js +21 -1
- package/dist/audioAutomation.js.map +1 -1
- package/dist/clipFacts.d.ts +32 -0
- package/dist/clipFacts.d.ts.map +1 -0
- package/dist/clipFacts.js +22 -0
- package/dist/clipFacts.js.map +1 -0
- package/dist/compiler/htmlBundler.d.ts +10 -0
- package/dist/compiler/htmlBundler.d.ts.map +1 -1
- package/dist/compiler/htmlBundler.js +17 -12
- package/dist/compiler/htmlBundler.js.map +1 -1
- package/dist/compiler/timingCompiler.d.ts +3 -2
- package/dist/compiler/timingCompiler.d.ts.map +1 -1
- package/dist/compiler/timingCompiler.js +23 -7
- package/dist/compiler/timingCompiler.js.map +1 -1
- package/dist/generated/audio-fx-runtime-inline.js +1 -1
- package/dist/generated/audio-fx-runtime-inline.js.map +1 -1
- package/dist/generated/runtime-inline.js +1 -1
- package/dist/generated/runtime-inline.js.map +1 -1
- package/dist/hyperframe.runtime.iife.js +30 -30
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/mediaTiming.d.ts +10 -0
- package/dist/mediaTiming.d.ts.map +1 -1
- package/dist/mediaTiming.js +13 -0
- package/dist/mediaTiming.js.map +1 -1
- package/dist/playbackRateBounds.d.ts +2 -0
- package/dist/playbackRateBounds.d.ts.map +1 -0
- package/dist/playbackRateBounds.js +2 -0
- package/dist/playbackRateBounds.js.map +1 -0
- package/dist/runtime/audioAutomationVolume.d.ts +20 -0
- package/dist/runtime/audioAutomationVolume.d.ts.map +1 -0
- package/dist/runtime/audioAutomationVolume.js +51 -0
- package/dist/runtime/audioAutomationVolume.js.map +1 -0
- package/dist/runtime/clipTree.d.ts.map +1 -1
- package/dist/runtime/clipTree.js +7 -4
- package/dist/runtime/clipTree.js.map +1 -1
- package/dist/runtime/clipWindow.d.ts +8 -0
- package/dist/runtime/clipWindow.d.ts.map +1 -0
- package/dist/runtime/clipWindow.js +12 -0
- package/dist/runtime/clipWindow.js.map +1 -0
- package/dist/runtime/playbackRate.d.ts +16 -8
- package/dist/runtime/playbackRate.d.ts.map +1 -1
- package/dist/runtime/playbackRate.js +50 -34
- package/dist/runtime/playbackRate.js.map +1 -1
- package/dist/runtime/startResolver.d.ts.map +1 -1
- package/dist/runtime/startResolver.js +9 -15
- package/dist/runtime/startResolver.js.map +1 -1
- package/dist/speedRamp.d.ts +48 -0
- package/dist/speedRamp.d.ts.map +1 -0
- package/dist/speedRamp.js +196 -0
- package/dist/speedRamp.js.map +1 -0
- package/dist/storyboard/types.d.ts +2 -2
- package/dist/storyboard/types.js +1 -1
- package/docs/core.md +1 -1
- package/package.json +12 -4
package/dist/index.d.ts
CHANGED
|
@@ -46,7 +46,9 @@ export { getVariables } from "./runtime/getVariables.js";
|
|
|
46
46
|
export { parseStartExpression, parseNumeric, type ReferenceExpression, } from "./runtime/startExpression.js";
|
|
47
47
|
export { COMPOSITION_CONTRACT_VERSION, COMPOSITION_ATTRIBUTES, CANONICAL_AUTHORED_TIMING_ATTRIBUTES, DERIVED_TIMING_ATTRIBUTES, LEGACY_TIMING_ATTRIBUTES, readClipTiming, writeClipTiming, ClipTimingWriteError, type ClipTiming, type ClipTimingDiagnostic, type ClipTimingDiagnosticCode, type ClipTimingUpdate, } from "./compositionContract.js";
|
|
48
48
|
export { createRuntimeStartTimeResolver } from "./runtime/startResolver.js";
|
|
49
|
-
export {
|
|
49
|
+
export { isClipVisibleAt, isInClipWindow } from "./runtime/clipWindow.js";
|
|
50
|
+
export { normalizePlaybackRate, normalizeRateSpec, parseStrictFiniteTimingNumber, readElementPlaybackRate, readElementRateSpec, readMediaStart, resolveNaturalMediaTimelineDuration, resolveNaturalMediaTimelineDurationFromValues, } from "./runtime/playbackRate.js";
|
|
51
|
+
export { shiftRateLane, sourceTimeAt, timeAtSourceTime, type RateSpec } from "./speedRamp.js";
|
|
50
52
|
export { validateVariables, formatVariableValidationIssue, type VariableValidationIssue, } from "./runtime/validateVariables.js";
|
|
51
53
|
export type { ItemType, FileType, FileTarget, RegistryItemDimensions, RegistryItemPreview, RegistryItem, ExampleItem, BlockItem, ComponentItem, RegistryManifestEntry, RegistryManifest, } from "./registry/index.js";
|
|
52
54
|
export { ITEM_TYPES, FILE_TYPES, ITEM_TYPE_DIRS, isExampleItem, isBlockItem, isComponentItem, } from "./registry/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACtE,YAAY,EACV,aAAa,EACb,WAAW,EACX,KAAK,EACL,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,GAAG,EACH,QAAQ,EACR,cAAc,EACd,SAAS,EACT,cAAc,EACd,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,+BAA+B,EAC/B,yBAAyB,EACzB,kCAAkC,EAClC,qBAAqB,EACrB,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACL,WAAW,EACX,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAI/B,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElF,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EACV,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EACL,4BAA4B,EAC5B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,GAClC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,mCAAmC,EACnC,sCAAsC,EACtC,iCAAiC,EACjC,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,sCAAsC,EACtC,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,uBAAuB,EACvB,oCAAoC,EACpC,8BAA8B,EAC9B,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,iCAAiC,EACtC,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,GAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGxF,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EACL,6BAA6B,EAC7B,KAAK,8BAA8B,GACpC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,wBAAwB,GAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAGpC,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,oCAAoC,EACpC,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B,EAC7B,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,mCAAmC,EACnC,6CAA6C,GAC9C,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG9F,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,gCAAgC,CAAC;AAGxC,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -47,7 +47,10 @@ export { COMPOSITION_CONTRACT_VERSION, COMPOSITION_ATTRIBUTES, CANONICAL_AUTHORE
|
|
|
47
47
|
// publishConfig entry points at a file the pack doesn't contain
|
|
48
48
|
// (verify:packed-manifests catches exactly that).
|
|
49
49
|
export { createRuntimeStartTimeResolver } from "./runtime/startResolver.js";
|
|
50
|
-
|
|
50
|
+
// Also exposed via the ./runtime/clip-window subpath; re-exported here for the same dist-emit reason.
|
|
51
|
+
export { isClipVisibleAt, isInClipWindow } from "./runtime/clipWindow.js";
|
|
52
|
+
export { normalizePlaybackRate, normalizeRateSpec, parseStrictFiniteTimingNumber, readElementPlaybackRate, readElementRateSpec, readMediaStart, resolveNaturalMediaTimelineDuration, resolveNaturalMediaTimelineDurationFromValues, } from "./runtime/playbackRate.js";
|
|
53
|
+
export { shiftRateLane, sourceTimeAt, timeAtSourceTime } from "./speedRamp.js";
|
|
51
54
|
// Variable validation (CLI / tooling-side)
|
|
52
55
|
export { validateVariables, formatVariableValidationIssue, } from "./runtime/validateVariables.js";
|
|
53
56
|
export { ITEM_TYPES, FILE_TYPES, ITEM_TYPE_DIRS, isExampleItem, isBlockItem, isComponentItem, } from "./registry/index.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mediaTiming.d.ts
CHANGED
|
@@ -9,4 +9,14 @@ export declare function resolveAbsoluteMediaStartSeconds(input: {
|
|
|
9
9
|
hostStart: number;
|
|
10
10
|
basis?: string | null;
|
|
11
11
|
}): number;
|
|
12
|
+
/** The one rule for a media element's root-timeline start; the runtime and the CLI both call it.
|
|
13
|
+
* With no literal start, an auto-injected start, or a host at t<=0 there is nothing for the basis
|
|
14
|
+
* to disambiguate, so the ordinary start resolution applies. */
|
|
15
|
+
export declare function resolveMediaStartSeconds(input: {
|
|
16
|
+
authoredStart: number | null;
|
|
17
|
+
hostStart: number;
|
|
18
|
+
hasAutoStart: boolean;
|
|
19
|
+
basis?: string | null;
|
|
20
|
+
ordinaryStart: () => number;
|
|
21
|
+
}): number;
|
|
12
22
|
//# sourceMappingURL=mediaTiming.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaTiming.d.ts","sourceRoot":"","sources":["../src/mediaTiming.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,CAErF;AAED;;wBAEwB;AACxB,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,GAAG,MAAM,CAIT"}
|
|
1
|
+
{"version":3,"file":"mediaTiming.d.ts","sourceRoot":"","sources":["../src/mediaTiming.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,CAErF;AAED;;wBAEwB;AACxB,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,GAAG,MAAM,CAIT;AAED;;gEAEgE;AAChE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,MAAM,CAAC;CAC7B,GAAG,MAAM,CAST"}
|
package/dist/mediaTiming.js
CHANGED
|
@@ -10,4 +10,17 @@ export function resolveAbsoluteMediaStartSeconds(input) {
|
|
|
10
10
|
? input.authoredStart
|
|
11
11
|
: input.hostStart + input.authoredStart;
|
|
12
12
|
}
|
|
13
|
+
/** The one rule for a media element's root-timeline start; the runtime and the CLI both call it.
|
|
14
|
+
* With no literal start, an auto-injected start, or a host at t<=0 there is nothing for the basis
|
|
15
|
+
* to disambiguate, so the ordinary start resolution applies. */
|
|
16
|
+
export function resolveMediaStartSeconds(input) {
|
|
17
|
+
if (input.hasAutoStart || input.authoredStart == null || input.hostStart <= 0) {
|
|
18
|
+
return input.ordinaryStart();
|
|
19
|
+
}
|
|
20
|
+
return resolveAbsoluteMediaStartSeconds({
|
|
21
|
+
authoredStart: input.authoredStart,
|
|
22
|
+
hostStart: input.hostStart,
|
|
23
|
+
basis: input.basis,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
13
26
|
//# sourceMappingURL=mediaTiming.js.map
|
package/dist/mediaTiming.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaTiming.js","sourceRoot":"","sources":["../src/mediaTiming.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,2BAA2B,CAAC;AAIlE,MAAM,UAAU,mBAAmB,CAAC,KAAgC;IAClE,OAAO,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AACvE,CAAC;AAED;;wBAEwB;AACxB,MAAM,UAAU,gCAAgC,CAAC,KAIhD;IACC,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ;QAClD,CAAC,CAAC,KAAK,CAAC,aAAa;QACrB,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC;AAC5C,CAAC"}
|
|
1
|
+
{"version":3,"file":"mediaTiming.js","sourceRoot":"","sources":["../src/mediaTiming.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,2BAA2B,CAAC;AAIlE,MAAM,UAAU,mBAAmB,CAAC,KAAgC;IAClE,OAAO,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AACvE,CAAC;AAED;;wBAEwB;AACxB,MAAM,UAAU,gCAAgC,CAAC,KAIhD;IACC,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ;QAClD,CAAC,CAAC,KAAK,CAAC,aAAa;QACrB,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC;AAC5C,CAAC;AAED;;gEAEgE;AAChE,MAAM,UAAU,wBAAwB,CAAC,KAMxC;IACC,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;QAC9E,OAAO,KAAK,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,gCAAgC,CAAC;QACtC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbackRateBounds.d.ts","sourceRoot":"","sources":["../src/playbackRateBounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbackRateBounds.js","sourceRoot":"","sources":["../src/playbackRateBounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The volume lane's gain for an element at a moment in its clip.
|
|
3
|
+
*
|
|
4
|
+
* Volume is not scheduled onto the gain AudioParam the way FX parameters are.
|
|
5
|
+
* The runtime rewrites that gain every tick from `data-volume` and the GSAP
|
|
6
|
+
* seeked value, which would erase a scheduled envelope within a frame — so the
|
|
7
|
+
* lane feeds the same per-tick path the probed `volumeKeyframes` already use,
|
|
8
|
+
* and the render still bakes it into the samples.
|
|
9
|
+
*/
|
|
10
|
+
import { type HfAutomationLane } from "../audioAutomation.js";
|
|
11
|
+
/** The lane for `target` inside a `data-automation` value, or null when absent or unreadable. */
|
|
12
|
+
export declare function laneFromAttr(raw: string, target?: string): HfAutomationLane | null;
|
|
13
|
+
/**
|
|
14
|
+
* Gain the lane asks for at `relTime` clip-local seconds, or null when the
|
|
15
|
+
* element has no volume lane and the caller should fall back to its own rules.
|
|
16
|
+
*/
|
|
17
|
+
export declare function elementVolumeLaneGain(el: {
|
|
18
|
+
getAttribute?(name: string): string | null;
|
|
19
|
+
}, relTime: number): number | null;
|
|
20
|
+
//# sourceMappingURL=audioAutomationVolume.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audioAutomationVolume.d.ts","sourceRoot":"","sources":["../../src/runtime/audioAutomationVolume.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAU/B,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAsB,GAAG,gBAAgB,GAAG,IAAI,CAcjG;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE;IAAE,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,EAClD,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAQf"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The volume lane's gain for an element at a moment in its clip.
|
|
3
|
+
*
|
|
4
|
+
* Volume is not scheduled onto the gain AudioParam the way FX parameters are.
|
|
5
|
+
* The runtime rewrites that gain every tick from `data-volume` and the GSAP
|
|
6
|
+
* seeked value, which would erase a scheduled envelope within a frame — so the
|
|
7
|
+
* lane feeds the same per-tick path the probed `volumeKeyframes` already use,
|
|
8
|
+
* and the render still bakes it into the samples.
|
|
9
|
+
*/
|
|
10
|
+
import { HF_AUDIO_AUTOMATION_ATTR, parseAutomation, sampleAutomationLane, VOLUME_TARGET, } from "../audioAutomation.js";
|
|
11
|
+
/**
|
|
12
|
+
* Parsed lanes by the attribute text they came from. Reparsing on every tick
|
|
13
|
+
* would run the JSON parser 60 times a second per track for a value that only
|
|
14
|
+
* changes when the author edits it.
|
|
15
|
+
*/
|
|
16
|
+
const cache = new Map();
|
|
17
|
+
const CACHE_LIMIT = 64;
|
|
18
|
+
/** The lane for `target` inside a `data-automation` value, or null when absent or unreadable. */
|
|
19
|
+
export function laneFromAttr(raw, target = VOLUME_TARGET) {
|
|
20
|
+
const key = `${target}\0${raw}`;
|
|
21
|
+
const hit = cache.get(key);
|
|
22
|
+
if (hit !== undefined)
|
|
23
|
+
return hit;
|
|
24
|
+
let lane = null;
|
|
25
|
+
try {
|
|
26
|
+
lane = parseAutomation(raw).lanes.find((l) => l.target === target) ?? null;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
// Unreadable automation plays the track flat rather than silencing it.
|
|
30
|
+
lane = null;
|
|
31
|
+
}
|
|
32
|
+
if (cache.size > CACHE_LIMIT)
|
|
33
|
+
cache.clear();
|
|
34
|
+
cache.set(key, lane);
|
|
35
|
+
return lane;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Gain the lane asks for at `relTime` clip-local seconds, or null when the
|
|
39
|
+
* element has no volume lane and the caller should fall back to its own rules.
|
|
40
|
+
*/
|
|
41
|
+
export function elementVolumeLaneGain(el, relTime) {
|
|
42
|
+
const raw = (typeof el.getAttribute === "function" ? el.getAttribute(HF_AUDIO_AUTOMATION_ATTR) : null) ??
|
|
43
|
+
"";
|
|
44
|
+
if (!raw)
|
|
45
|
+
return null;
|
|
46
|
+
const lane = laneFromAttr(raw);
|
|
47
|
+
if (!lane || lane.points.length === 0)
|
|
48
|
+
return null;
|
|
49
|
+
return sampleAutomationLane(lane, relTime);
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=audioAutomationVolume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audioAutomationVolume.js","sourceRoot":"","sources":["../../src/runtime/audioAutomationVolume.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,aAAa,GAEd,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmC,CAAC;AACzD,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,iGAAiG;AACjG,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,SAAiB,aAAa;IACtE,MAAM,GAAG,GAAG,GAAG,MAAM,KAAK,GAAG,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAClC,IAAI,IAAI,GAA4B,IAAI,CAAC;IACzC,IAAI,CAAC;QACH,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,GAAG,WAAW;QAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,EAAkD,EAClD,OAAe;IAEf,MAAM,GAAG,GACP,CAAC,OAAO,EAAE,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,EAAE,CAAC;IACL,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipTree.d.ts","sourceRoot":"","sources":["../../src/runtime/clipTree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"clipTree.d.ts","sourceRoot":"","sources":["../../src/runtime/clipTree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAQnD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CACrC;AAaD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEvD;AAED,UAAU,iBAAiB;IACzB,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACzE;AAwDD,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,aAAa,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAClE,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,QAAQ,CAyBX"}
|
package/dist/runtime/clipTree.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* (id/parentId/children) plus the backing element. Add fields (label, kind,
|
|
10
10
|
* absolute start) when a caller needs them.
|
|
11
11
|
*/
|
|
12
|
-
import { parseStrictFiniteTimingNumber, resolveNaturalMediaTimelineDuration } from "./playbackRate.js";
|
|
12
|
+
import { parseStrictFiniteTimingNumber, resolveNaturalMediaTimelineDuration, resolveTimedImageDurationSeconds, } from "./playbackRate.js";
|
|
13
13
|
import { isMediaElement } from "./domRealm.js";
|
|
14
14
|
const DECORATIVE_TAGS = new Set(["SCRIPT", "STYLE", "LINK", "META", "TEMPLATE", "NOSCRIPT"]);
|
|
15
15
|
/**
|
|
@@ -34,9 +34,12 @@ function durationFromTimeline(el, registry) {
|
|
|
34
34
|
return Number.isFinite(d) && d > 0 ? d : null;
|
|
35
35
|
}
|
|
36
36
|
function durationFromMedia(el) {
|
|
37
|
-
if (
|
|
38
|
-
return
|
|
39
|
-
|
|
37
|
+
if (isMediaElement(el)) {
|
|
38
|
+
return Number.isFinite(el.duration)
|
|
39
|
+
? resolveNaturalMediaTimelineDuration(el, el.duration)
|
|
40
|
+
: null;
|
|
41
|
+
}
|
|
42
|
+
return resolveTimedImageDurationSeconds(el);
|
|
40
43
|
}
|
|
41
44
|
// Used only to filter out zero-duration (decorative) elements at build time.
|
|
42
45
|
function resolveDuration(el, timelineRegistry, rootDuration, absoluteStart) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipTree.js","sourceRoot":"","sources":["../../src/runtime/clipTree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"clipTree.js","sourceRoot":"","sources":["../../src/runtime/clipTree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Half-open: two back-to-back clips never both hold the shared boundary instant. */
|
|
2
|
+
export declare const isInClipWindow: (time: number, start: number, end: number) => boolean;
|
|
3
|
+
/**
|
|
4
|
+
* Visibility window: half-open, except a clip that runs to the composition's end also owns
|
|
5
|
+
* the terminal instant, so a finished film rests on its last frame instead of going blank.
|
|
6
|
+
*/
|
|
7
|
+
export declare const isClipVisibleAt: (time: number, start: number, end: number, compositionDuration: number) => boolean;
|
|
8
|
+
//# sourceMappingURL=clipWindow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipWindow.d.ts","sourceRoot":"","sources":["../../src/runtime/clipWindow.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,KAAK,MAAM,KAAG,OAC7C,CAAC;AAI9B;;;GAGG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,KAAK,MAAM,EACX,qBAAqB,MAAM,KAC1B,OAIuD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Half-open: two back-to-back clips never both hold the shared boundary instant. */
|
|
2
|
+
export const isInClipWindow = (time, start, end) => time >= start && time < end;
|
|
3
|
+
const TERMINAL_EPSILON_SECONDS = 1e-6;
|
|
4
|
+
/**
|
|
5
|
+
* Visibility window: half-open, except a clip that runs to the composition's end also owns
|
|
6
|
+
* the terminal instant, so a finished film rests on its last frame instead of going blank.
|
|
7
|
+
*/
|
|
8
|
+
export const isClipVisibleAt = (time, start, end, compositionDuration) => isInClipWindow(time, start, end) ||
|
|
9
|
+
(time >= start &&
|
|
10
|
+
compositionDuration > 0 &&
|
|
11
|
+
end >= compositionDuration - TERMINAL_EPSILON_SECONDS);
|
|
12
|
+
//# sourceMappingURL=clipWindow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipWindow.js","sourceRoot":"","sources":["../../src/runtime/clipWindow.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW,EAAW,EAAE,CAClF,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,GAAG,CAAC;AAE9B,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAY,EACZ,KAAa,EACb,GAAW,EACX,mBAA2B,EAClB,EAAE,CACX,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;IAChC,CAAC,IAAI,IAAI,KAAK;QACZ,mBAAmB,GAAG,CAAC;QACvB,GAAG,IAAI,mBAAmB,GAAG,wBAAwB,CAAC,CAAC"}
|
|
@@ -1,19 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
import { clampPlaybackRate } from "@hyperframes/parsers/media-duration";
|
|
2
|
+
import { type RateSpec } from "../speedRamp";
|
|
3
|
+
export declare const normalizePlaybackRate: typeof clampPlaybackRate;
|
|
2
4
|
/** Parse a literal numeric timing attribute without accepting trailing units or garbage. */
|
|
3
5
|
export declare function parseStrictFiniteTimingNumber(raw: string | null | undefined): number | null;
|
|
4
6
|
export declare function readElementPlaybackRate(el: Pick<Element, "getAttribute">): number;
|
|
7
|
+
/** A constant rate clamped to the shared range; a lane is already normalised by its parser. */
|
|
8
|
+
export declare function normalizeRateSpec(spec: RateSpec | undefined): RateSpec;
|
|
9
|
+
/** The clip's rate: its `rate` lane when present, otherwise the constant rate. */
|
|
10
|
+
export declare function readElementRateSpec(el: Pick<Element, "getAttribute">): RateSpec;
|
|
5
11
|
export declare function readMediaStart(el: Pick<Element, "getAttribute">): number;
|
|
6
12
|
export declare function resolveNaturalMediaTimelineDuration(el: Pick<Element, "getAttribute">, sourceDuration: number): number | null;
|
|
7
13
|
/**
|
|
8
|
-
* How long a media element occupies the timeline: an
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Single owner for the media-window scan run by BOTH the runtime's duration
|
|
13
|
-
* floor and the clip manifest.
|
|
14
|
+
* How long a media element occupies the timeline: an authored `data-duration` trim, otherwise
|
|
15
|
+
* the source's natural length adjusted for playback start and rate (lane-aware). `null` while
|
|
16
|
+
* the source has not reported a duration yet. The authored/pending decision is the shared
|
|
17
|
+
* parsers resolver's; only a `rate` lane's arithmetic stays here, because lanes live in core.
|
|
14
18
|
*/
|
|
15
19
|
export declare function resolveMediaElementDurationSeconds(el: Pick<Element, "getAttribute"> & {
|
|
16
20
|
duration: number;
|
|
17
21
|
}): number | null;
|
|
18
|
-
|
|
22
|
+
/** A timed `<img>` (`data-start` or `data-track-index`) gets the dropped-image default unless
|
|
23
|
+
* trimmed by `data-duration` or `data-end`; a bare `<img>` is a static layer. `null` otherwise. */
|
|
24
|
+
export declare function resolveTimedImageDurationSeconds(el: Element, startSeconds?: number): number | null;
|
|
25
|
+
/** A constant rate goes through the shared arithmetic; a `rate` lane integrates over its points. */
|
|
26
|
+
export declare function resolveNaturalMediaTimelineDurationFromValues(sourceDuration: number, mediaStart: number, playbackRate: RateSpec): number | null;
|
|
19
27
|
//# sourceMappingURL=playbackRate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playbackRate.d.ts","sourceRoot":"","sources":["../../src/runtime/playbackRate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"playbackRate.d.ts","sourceRoot":"","sources":["../../src/runtime/playbackRate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAOlB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAqC,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAIhF,eAAO,MAAM,qBAAqB,0BAAoB,CAAC;AAEvD,4FAA4F;AAC5F,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAE3F;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,MAAM,CAKjF;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAEtE;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,QAAQ,CAE/E;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,MAAM,CAExE;AAED,wBAAgB,mCAAmC,CACjD,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EACjC,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,CAMf;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAChD,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACvD,MAAM,GAAG,IAAI,CAWf;AAED;oGACoG;AACpG,wBAAgB,gCAAgC,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,SAAI,GAAG,MAAM,GAAG,IAAI,CAa7F;AAED,oGAAoG;AACpG,wBAAgB,6CAA6C,CAC3D,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,QAAQ,GACrB,MAAM,GAAG,IAAI,CAMf"}
|
|
@@ -1,53 +1,69 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
import { clampPlaybackRate, readAuthoredDurationSeconds, readDataDurationSeconds, readMediaOffsetSeconds, readPlaybackRate, resolveMediaDuration, resolveNaturalDurationSeconds, } from "@hyperframes/parsers/media-duration";
|
|
2
|
+
import { resolveRateSpec, timeAtSourceTime } from "../speedRamp.js";
|
|
3
|
+
import { isImageElement, isMediaElement } from "./domRealm.js";
|
|
4
|
+
import { parseNumeric } from "./startExpression.js";
|
|
5
|
+
export const normalizePlaybackRate = clampPlaybackRate;
|
|
5
6
|
/** Parse a literal numeric timing attribute without accepting trailing units or garbage. */
|
|
6
7
|
export function parseStrictFiniteTimingNumber(raw) {
|
|
7
8
|
return parseNumeric(raw);
|
|
8
9
|
}
|
|
9
10
|
export function readElementPlaybackRate(el) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
return readPlaybackRate((name) => el.getAttribute(name), isMediaElement(el) ? el.defaultPlaybackRate : 1);
|
|
12
|
+
}
|
|
13
|
+
/** A constant rate clamped to the shared range; a lane is already normalised by its parser. */
|
|
14
|
+
export function normalizeRateSpec(spec) {
|
|
15
|
+
return typeof spec === "object" ? spec : normalizePlaybackRate(spec ?? 1);
|
|
16
|
+
}
|
|
17
|
+
/** The clip's rate: its `rate` lane when present, otherwise the constant rate. */
|
|
18
|
+
export function readElementRateSpec(el) {
|
|
19
|
+
return resolveRateSpec(el.getAttribute("data-automation"), readElementPlaybackRate(el));
|
|
17
20
|
}
|
|
18
21
|
export function readMediaStart(el) {
|
|
19
|
-
|
|
20
|
-
const value = parseStrictFiniteTimingNumber(raw);
|
|
21
|
-
if (value == null)
|
|
22
|
-
return null;
|
|
23
|
-
return Number.isFinite(value) && value >= 0 ? value : null;
|
|
24
|
-
};
|
|
25
|
-
return (parse(el.getAttribute("data-playback-start")) ?? parse(el.getAttribute("data-media-start")) ?? 0);
|
|
22
|
+
return readMediaOffsetSeconds((name) => el.getAttribute(name));
|
|
26
23
|
}
|
|
27
24
|
export function resolveNaturalMediaTimelineDuration(el, sourceDuration) {
|
|
28
|
-
return resolveNaturalMediaTimelineDurationFromValues(sourceDuration, readMediaStart(el),
|
|
25
|
+
return resolveNaturalMediaTimelineDurationFromValues(sourceDuration, readMediaStart(el), readElementRateSpec(el));
|
|
29
26
|
}
|
|
30
27
|
/**
|
|
31
|
-
* How long a media element occupies the timeline: an
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* Single owner for the media-window scan run by BOTH the runtime's duration
|
|
36
|
-
* floor and the clip manifest.
|
|
28
|
+
* How long a media element occupies the timeline: an authored `data-duration` trim, otherwise
|
|
29
|
+
* the source's natural length adjusted for playback start and rate (lane-aware). `null` while
|
|
30
|
+
* the source has not reported a duration yet. The authored/pending decision is the shared
|
|
31
|
+
* parsers resolver's; only a `rate` lane's arithmetic stays here, because lanes live in core.
|
|
37
32
|
*/
|
|
38
33
|
export function resolveMediaElementDurationSeconds(el) {
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
34
|
+
const resolved = resolveMediaDuration({
|
|
35
|
+
tag: "video", // video and audio resolve identically
|
|
36
|
+
authoredDurationSeconds: readDataDurationSeconds((name) => el.getAttribute(name)),
|
|
37
|
+
sourceDurationSeconds: Number.isFinite(el.duration) ? el.duration : null,
|
|
38
|
+
mediaStartSeconds: readMediaStart(el),
|
|
39
|
+
playbackRate: readElementPlaybackRate(el),
|
|
40
|
+
});
|
|
41
|
+
return resolved.source === "media"
|
|
42
|
+
? resolveNaturalMediaTimelineDuration(el, el.duration)
|
|
43
|
+
: resolved.seconds;
|
|
45
44
|
}
|
|
45
|
+
/** A timed `<img>` (`data-start` or `data-track-index`) gets the dropped-image default unless
|
|
46
|
+
* trimmed by `data-duration` or `data-end`; a bare `<img>` is a static layer. `null` otherwise. */
|
|
47
|
+
export function resolveTimedImageDurationSeconds(el, startSeconds = 0) {
|
|
48
|
+
if (!isImageElement(el))
|
|
49
|
+
return null;
|
|
50
|
+
if (!el.hasAttribute("data-start") && !el.hasAttribute("data-track-index"))
|
|
51
|
+
return null;
|
|
52
|
+
return resolveMediaDuration({
|
|
53
|
+
tag: "img",
|
|
54
|
+
authoredDurationSeconds: readAuthoredDurationSeconds((name) => el.getAttribute(name), startSeconds),
|
|
55
|
+
sourceDurationSeconds: null,
|
|
56
|
+
mediaStartSeconds: 0,
|
|
57
|
+
playbackRate: 1,
|
|
58
|
+
}).seconds;
|
|
59
|
+
}
|
|
60
|
+
/** A constant rate goes through the shared arithmetic; a `rate` lane integrates over its points. */
|
|
46
61
|
export function resolveNaturalMediaTimelineDurationFromValues(sourceDuration, mediaStart, playbackRate) {
|
|
62
|
+
if (typeof playbackRate === "number") {
|
|
63
|
+
return resolveNaturalDurationSeconds(sourceDuration, mediaStart, playbackRate);
|
|
64
|
+
}
|
|
47
65
|
if (!Number.isFinite(sourceDuration))
|
|
48
66
|
return null;
|
|
49
|
-
|
|
50
|
-
return remaining / normalizePlaybackRate(playbackRate);
|
|
67
|
+
return timeAtSourceTime(playbackRate, Math.max(0, sourceDuration - mediaStart));
|
|
51
68
|
}
|
|
52
|
-
import { parseNumeric } from "./startExpression.js";
|
|
53
69
|
//# sourceMappingURL=playbackRate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playbackRate.js","sourceRoot":"","sources":["../../src/runtime/playbackRate.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"playbackRate.js","sourceRoot":"","sources":["../../src/runtime/playbackRate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startResolver.d.ts","sourceRoot":"","sources":["../../src/runtime/startResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAenD,wBAAgB,8BAA8B,CAAC,MAAM,EAAE;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC,CAAC;IACnE,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;CACxB,GAAG;IACF,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACxE,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC;IAC/D,2BAA2B,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;CAC3D,
|
|
1
|
+
{"version":3,"file":"startResolver.d.ts","sourceRoot":"","sources":["../../src/runtime/startResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAenD,wBAAgB,8BAA8B,CAAC,MAAM,EAAE;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC,CAAC;IACnE,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;CACxB,GAAG;IACF,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACxE,yBAAyB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC;IAC/D,2BAA2B,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;CAC3D,CAgLA;AAED,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -3,10 +3,10 @@ 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
|
|
5
5
|
// would be an import cycle.
|
|
6
|
-
import { parseStrictFiniteTimingNumber,
|
|
6
|
+
import { parseStrictFiniteTimingNumber, resolveNaturalMediaTimelineDuration, resolveTimedImageDurationSeconds, } from "./playbackRate.js";
|
|
7
7
|
import { isMediaElement } from "./domRealm.js";
|
|
8
8
|
import { parseStartExpression } from "./startExpression.js";
|
|
9
|
-
import { MEDIA_START_BASIS_ATTR,
|
|
9
|
+
import { 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;
|
|
@@ -49,11 +49,10 @@ export function createRuntimeStartTimeResolver(params) {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
if ((resolved == null || resolved <= 0) && isMediaElement(element)) {
|
|
52
|
-
|
|
53
|
-
if (Number.isFinite(element.duration) && element.duration > playbackStart) {
|
|
54
|
-
resolved = (element.duration - playbackStart) / readElementPlaybackRate(element);
|
|
55
|
-
}
|
|
52
|
+
resolved = resolveNaturalMediaTimelineDuration(element, element.duration);
|
|
56
53
|
}
|
|
54
|
+
if (resolved == null || resolved <= 0)
|
|
55
|
+
resolved = resolveTimedImageDurationSeconds(element);
|
|
57
56
|
if (resolved == null || resolved <= 0) {
|
|
58
57
|
const compositionId = element.getAttribute("data-composition-id");
|
|
59
58
|
if (compositionId) {
|
|
@@ -167,17 +166,12 @@ export function createRuntimeStartTimeResolver(params) {
|
|
|
167
166
|
const resolveMediaStartForElement = (element) => {
|
|
168
167
|
const compositionRoot = element.closest("[data-composition-id]");
|
|
169
168
|
const hostStart = compositionRoot ? resolveStartForElementInternal(compositionRoot, 0) : 0;
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
// auto-injected start, or a host at t=0 — nothing for the basis to
|
|
173
|
-
// disambiguate, so the ordinary start resolution is already correct.
|
|
174
|
-
if (element.hasAttribute("data-hf-auto-start") || authoredStart == null || hostStart <= 0) {
|
|
175
|
-
return resolveStartForElementInternal(element, hostStart);
|
|
176
|
-
}
|
|
177
|
-
return resolveAbsoluteMediaStartSeconds({
|
|
178
|
-
authoredStart,
|
|
169
|
+
return resolveMediaStartSeconds({
|
|
170
|
+
authoredStart: parseStrictFiniteTimingNumber(element.getAttribute("data-start")),
|
|
179
171
|
hostStart,
|
|
172
|
+
hasAutoStart: element.hasAttribute("data-hf-auto-start"),
|
|
180
173
|
basis: element.getAttribute(MEDIA_START_BASIS_ATTR),
|
|
174
|
+
ordinaryStart: () => resolveStartForElementInternal(element, hostStart),
|
|
181
175
|
});
|
|
182
176
|
};
|
|
183
177
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startResolver.js","sourceRoot":"","sources":["../../src/runtime/startResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,yEAAyE;AACzE,6EAA6E;AAC7E,4BAA4B;AAC5B,OAAO,EACL,6BAA6B,EAC7B,
|
|
1
|
+
{"version":3,"file":"startResolver.js","sourceRoot":"","sources":["../../src/runtime/startResolver.ts"],"names":[],"mappings":"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"}
|