@hyperframes/core 0.8.50 → 0.8.52

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.
Files changed (59) hide show
  1. package/dist/audioAutomation.d.ts +5 -0
  2. package/dist/audioAutomation.d.ts.map +1 -1
  3. package/dist/audioAutomation.js +21 -1
  4. package/dist/audioAutomation.js.map +1 -1
  5. package/dist/clipFacts.d.ts +32 -0
  6. package/dist/clipFacts.d.ts.map +1 -0
  7. package/dist/clipFacts.js +22 -0
  8. package/dist/clipFacts.js.map +1 -0
  9. package/dist/compiler/htmlBundler.d.ts +10 -0
  10. package/dist/compiler/htmlBundler.d.ts.map +1 -1
  11. package/dist/compiler/htmlBundler.js +17 -12
  12. package/dist/compiler/htmlBundler.js.map +1 -1
  13. package/dist/compiler/timingCompiler.d.ts +3 -2
  14. package/dist/compiler/timingCompiler.d.ts.map +1 -1
  15. package/dist/compiler/timingCompiler.js +23 -7
  16. package/dist/compiler/timingCompiler.js.map +1 -1
  17. package/dist/generated/audio-fx-runtime-inline.js +1 -1
  18. package/dist/generated/audio-fx-runtime-inline.js.map +1 -1
  19. package/dist/generated/runtime-inline.js +1 -1
  20. package/dist/generated/runtime-inline.js.map +1 -1
  21. package/dist/hyperframe.runtime.iife.js +30 -30
  22. package/dist/index.d.ts +3 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +4 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/mediaTiming.d.ts +10 -0
  27. package/dist/mediaTiming.d.ts.map +1 -1
  28. package/dist/mediaTiming.js +13 -0
  29. package/dist/mediaTiming.js.map +1 -1
  30. package/dist/playbackRateBounds.d.ts +2 -0
  31. package/dist/playbackRateBounds.d.ts.map +1 -0
  32. package/dist/playbackRateBounds.js +2 -0
  33. package/dist/playbackRateBounds.js.map +1 -0
  34. package/dist/runtime/audioAutomationVolume.d.ts +20 -0
  35. package/dist/runtime/audioAutomationVolume.d.ts.map +1 -0
  36. package/dist/runtime/audioAutomationVolume.js +51 -0
  37. package/dist/runtime/audioAutomationVolume.js.map +1 -0
  38. package/dist/runtime/clipTree.d.ts.map +1 -1
  39. package/dist/runtime/clipTree.js +7 -4
  40. package/dist/runtime/clipTree.js.map +1 -1
  41. package/dist/runtime/clipWindow.d.ts +8 -0
  42. package/dist/runtime/clipWindow.d.ts.map +1 -0
  43. package/dist/runtime/clipWindow.js +12 -0
  44. package/dist/runtime/clipWindow.js.map +1 -0
  45. package/dist/runtime/playbackRate.d.ts +16 -8
  46. package/dist/runtime/playbackRate.d.ts.map +1 -1
  47. package/dist/runtime/playbackRate.js +50 -34
  48. package/dist/runtime/playbackRate.js.map +1 -1
  49. package/dist/runtime/startResolver.d.ts.map +1 -1
  50. package/dist/runtime/startResolver.js +9 -15
  51. package/dist/runtime/startResolver.js.map +1 -1
  52. package/dist/speedRamp.d.ts +48 -0
  53. package/dist/speedRamp.d.ts.map +1 -0
  54. package/dist/speedRamp.js +196 -0
  55. package/dist/speedRamp.js.map +1 -0
  56. package/dist/storyboard/types.d.ts +2 -2
  57. package/dist/storyboard/types.js +1 -1
  58. package/docs/core.md +1 -1
  59. 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 { normalizePlaybackRate, parseStrictFiniteTimingNumber, readElementPlaybackRate, readMediaStart, resolveNaturalMediaTimelineDuration, resolveNaturalMediaTimelineDurationFromValues, } from "./runtime/playbackRate.js";
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";
@@ -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":"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"}
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
- export { normalizePlaybackRate, parseStrictFiniteTimingNumber, readElementPlaybackRate, readMediaStart, resolveNaturalMediaTimelineDuration, resolveNaturalMediaTimelineDurationFromValues, } from "./runtime/playbackRate.js";
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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"}
@@ -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"}
@@ -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
@@ -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,2 @@
1
+ export { MIN_PLAYBACK_RATE, MAX_PLAYBACK_RATE } from "@hyperframes/parsers/media-duration";
2
+ //# sourceMappingURL=playbackRateBounds.d.ts.map
@@ -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,2 @@
1
+ export { MIN_PLAYBACK_RATE, MAX_PLAYBACK_RATE } from "@hyperframes/parsers/media-duration";
2
+ //# sourceMappingURL=playbackRateBounds.js.map
@@ -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;AAInD,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;AAoDD,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"}
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"}
@@ -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 (!isMediaElement(el) || !Number.isFinite(el.duration))
38
- return null;
39
- return resolveNaturalMediaTimelineDuration(el, el.duration);
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":"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"}
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
- export declare function normalizePlaybackRate(raw: number): number;
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 explicit `data-duration`
9
- * trim if authored, otherwise the natural source length adjusted for playback
10
- * start and rate. `null` when the source has not reported a duration yet.
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
- export declare function resolveNaturalMediaTimelineDurationFromValues(sourceDuration: number, mediaStart: number, playbackRate: number): number | null;
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":"AAEA,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,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,CASjF;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,MAAM,CASxE;AACD,wBAAgB,mCAAmC,CACjD,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EACjC,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,CAMf;AAED;;;;;;;GAOG;AACH,wBAAgB,kCAAkC,CAChD,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACvD,MAAM,GAAG,IAAI,CAKf;AAED,wBAAgB,6CAA6C,CAC3D,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAIf"}
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 { isMediaElement } from "./domRealm.js";
2
- export function normalizePlaybackRate(raw) {
3
- return Number.isFinite(raw) && raw > 0 ? Math.max(0.1, Math.min(5, raw)) : 1;
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
- const authored = Number.parseFloat(el.getAttribute("data-playback-rate") ?? "");
11
- const raw = Number.isFinite(authored) && authored > 0
12
- ? authored
13
- : isMediaElement(el)
14
- ? el.defaultPlaybackRate
15
- : 1;
16
- return normalizePlaybackRate(raw);
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
- const parse = (raw) => {
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), readElementPlaybackRate(el));
25
+ return resolveNaturalMediaTimelineDurationFromValues(sourceDuration, readMediaStart(el), readElementRateSpec(el));
29
26
  }
30
27
  /**
31
- * How long a media element occupies the timeline: an explicit `data-duration`
32
- * trim if authored, otherwise the natural source length adjusted for playback
33
- * start and rate. `null` when the source has not reported a duration yet.
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 declaredDuration = parseStrictFiniteTimingNumber(el.getAttribute("data-duration"));
40
- if (declaredDuration != null && declaredDuration > 0)
41
- return declaredDuration;
42
- if (Number.isFinite(el.duration))
43
- return resolveNaturalMediaTimelineDuration(el, el.duration);
44
- return null;
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
- const remaining = Math.max(0, sourceDuration - mediaStart);
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,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,6BAA6B,CAAC,GAA8B;IAC1E,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAAiC;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IAChF,MAAM,GAAG,GACP,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QACvC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;YAClB,CAAC,CAAC,EAAE,CAAC,mBAAmB;YACxB,CAAC,CAAC,CAAC,CAAC;IACV,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAiC;IAC9D,MAAM,KAAK,GAAG,CAAC,GAAkB,EAAiB,EAAE;QAClD,MAAM,KAAK,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC,CAAC;IACF,OAAO,CACL,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CACjG,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,mCAAmC,CACjD,EAAiC,EACjC,cAAsB;IAEtB,OAAO,6CAA6C,CAClD,cAAc,EACd,cAAc,CAAC,EAAE,CAAC,EAClB,uBAAuB,CAAC,EAAE,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kCAAkC,CAChD,EAAwD;IAExD,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;IACzF,IAAI,gBAAgB,IAAI,IAAI,IAAI,gBAAgB,GAAG,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAC9E,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC;QAAE,OAAO,mCAAmC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,6CAA6C,CAC3D,cAAsB,EACtB,UAAkB,EAClB,YAAoB;IAEpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,CAAC;IAC3D,OAAO,SAAS,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;AACzD,CAAC;AACD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"playbackRate.js","sourceRoot":"","sources":["../../src/runtime/playbackRate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAiB,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEvD,4FAA4F;AAC5F,MAAM,UAAU,6BAA6B,CAAC,GAA8B;IAC1E,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAAiC;IACvE,OAAO,gBAAgB,CACrB,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAC/B,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB,CAAC,IAA0B;IAC1D,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CAAC,EAAiC;IACnE,OAAO,eAAe,CAAC,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAiC;IAC9D,OAAO,sBAAsB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,EAAiC,EACjC,cAAsB;IAEtB,OAAO,6CAA6C,CAClD,cAAc,EACd,cAAc,CAAC,EAAE,CAAC,EAClB,mBAAmB,CAAC,EAAE,CAAC,CACxB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kCAAkC,CAChD,EAAwD;IAExD,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACpC,GAAG,EAAE,OAAO,EAAE,sCAAsC;QACpD,uBAAuB,EAAE,uBAAuB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjF,qBAAqB,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QACxE,iBAAiB,EAAE,cAAc,CAAC,EAAE,CAAC;QACrC,YAAY,EAAE,uBAAuB,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,MAAM,KAAK,OAAO;QAChC,CAAC,CAAC,mCAAmC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;QACtD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;AACvB,CAAC;AAED;oGACoG;AACpG,MAAM,UAAU,gCAAgC,CAAC,EAAW,EAAE,YAAY,GAAG,CAAC;IAC5E,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IACxF,OAAO,oBAAoB,CAAC;QAC1B,GAAG,EAAE,KAAK;QACV,uBAAuB,EAAE,2BAA2B,CAClD,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAC/B,YAAY,CACb;QACD,qBAAqB,EAAE,IAAI;QAC3B,iBAAiB,EAAE,CAAC;QACpB,YAAY,EAAE,CAAC;KAChB,CAAC,CAAC,OAAO,CAAC;AACb,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,6CAA6C,CAC3D,cAAsB,EACtB,UAAkB,EAClB,YAAsB;IAEtB,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,6BAA6B,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC;AAClF,CAAC"}
@@ -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,CAuLA;AAED,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
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, readElementPlaybackRate, readMediaStart, } from "./playbackRate.js";
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, resolveAbsoluteMediaStartSeconds } from "../mediaTiming.js";
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
- const playbackStart = readMediaStart(element);
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
- const authoredStart = parseStrictFiniteTimingNumber(element.getAttribute("data-start"));
171
- // No literal start (absent, or a `data-start="intro + 2"` reference), an
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":"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"}
1
+ {"version":3,"file":"startResolver.js","sourceRoot":"","sources":["../../src/runtime/startResolver.ts"],"names":[],"mappings":"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"}