@smoove/core 0.2.0 → 0.3.1

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 (100) hide show
  1. package/dist/engine/composition.d.ts.map +1 -1
  2. package/dist/engine/composition.js +1 -1
  3. package/dist/engine/composition.js.map +1 -1
  4. package/dist/engine/marker.d.ts +77 -0
  5. package/dist/engine/marker.d.ts.map +1 -0
  6. package/dist/engine/marker.js +107 -0
  7. package/dist/engine/marker.js.map +1 -0
  8. package/dist/engine/runtime-defaults.d.ts +5 -5
  9. package/dist/engine/runtime-defaults.d.ts.map +1 -1
  10. package/dist/engine/runtime-defaults.js +12 -9
  11. package/dist/engine/runtime-defaults.js.map +1 -1
  12. package/dist/engine/sequence.d.ts +39 -11
  13. package/dist/engine/sequence.d.ts.map +1 -1
  14. package/dist/engine/sequence.js +52 -12
  15. package/dist/engine/sequence.js.map +1 -1
  16. package/dist/engine/series.d.ts +20 -4
  17. package/dist/engine/series.d.ts.map +1 -1
  18. package/dist/engine/series.js +42 -3
  19. package/dist/engine/series.js.map +1 -1
  20. package/dist/index.d.ts +5 -10
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +8 -6
  23. package/dist/index.js.map +1 -1
  24. package/dist/layout/group.js +1 -1
  25. package/dist/layout/group.js.map +1 -1
  26. package/dist/layout/image.js +1 -1
  27. package/dist/layout/image.js.map +1 -1
  28. package/dist/layout/text/font.js +1 -1
  29. package/dist/layout/text/font.js.map +1 -1
  30. package/dist/layout/text/text.js +1 -1
  31. package/dist/layout/text/text.js.map +1 -1
  32. package/dist/markers.d.ts +43 -0
  33. package/dist/markers.d.ts.map +1 -0
  34. package/dist/markers.js +46 -0
  35. package/dist/markers.js.map +1 -0
  36. package/package.json +2 -3
  37. package/dist/media/audio/audio-driver.d.ts +0 -34
  38. package/dist/media/audio/audio-driver.d.ts.map +0 -1
  39. package/dist/media/audio/audio-driver.js +0 -2
  40. package/dist/media/audio/audio-driver.js.map +0 -1
  41. package/dist/media/audio/audio-for-preview.d.ts +0 -47
  42. package/dist/media/audio/audio-for-preview.d.ts.map +0 -1
  43. package/dist/media/audio/audio-for-preview.js +0 -232
  44. package/dist/media/audio/audio-for-preview.js.map +0 -1
  45. package/dist/media/audio/audio-for-rendering.d.ts +0 -16
  46. package/dist/media/audio/audio-for-rendering.d.ts.map +0 -1
  47. package/dist/media/audio/audio-for-rendering.js +0 -32
  48. package/dist/media/audio/audio-for-rendering.js.map +0 -1
  49. package/dist/media/audio/audio-source-browser.d.ts +0 -30
  50. package/dist/media/audio/audio-source-browser.d.ts.map +0 -1
  51. package/dist/media/audio/audio-source-browser.js +0 -139
  52. package/dist/media/audio/audio-source-browser.js.map +0 -1
  53. package/dist/media/audio/audio-source-mediabunny.d.ts +0 -45
  54. package/dist/media/audio/audio-source-mediabunny.d.ts.map +0 -1
  55. package/dist/media/audio/audio-source-mediabunny.js +0 -79
  56. package/dist/media/audio/audio-source-mediabunny.js.map +0 -1
  57. package/dist/media/audio/index.d.ts +0 -57
  58. package/dist/media/audio/index.d.ts.map +0 -1
  59. package/dist/media/audio/index.js +0 -176
  60. package/dist/media/audio/index.js.map +0 -1
  61. package/dist/media/audio/shared-audio-context.d.ts +0 -30
  62. package/dist/media/audio/shared-audio-context.d.ts.map +0 -1
  63. package/dist/media/audio/shared-audio-context.js +0 -68
  64. package/dist/media/audio/shared-audio-context.js.map +0 -1
  65. package/dist/media/audio/types.d.ts +0 -48
  66. package/dist/media/audio/types.d.ts.map +0 -1
  67. package/dist/media/audio/types.js +0 -2
  68. package/dist/media/audio/types.js.map +0 -1
  69. package/dist/media/media-marker.d.ts +0 -34
  70. package/dist/media/media-marker.d.ts.map +0 -1
  71. package/dist/media/media-marker.js +0 -34
  72. package/dist/media/media-marker.js.map +0 -1
  73. package/dist/media/video/driver.d.ts +0 -31
  74. package/dist/media/video/driver.d.ts.map +0 -1
  75. package/dist/media/video/driver.js +0 -3
  76. package/dist/media/video/driver.js.map +0 -1
  77. package/dist/media/video/index.d.ts +0 -66
  78. package/dist/media/video/index.d.ts.map +0 -1
  79. package/dist/media/video/index.js +0 -372
  80. package/dist/media/video/index.js.map +0 -1
  81. package/dist/media/video/types.d.ts +0 -36
  82. package/dist/media/video/types.d.ts.map +0 -1
  83. package/dist/media/video/types.js +0 -2
  84. package/dist/media/video/types.js.map +0 -1
  85. package/dist/media/video/video-for-preview.d.ts +0 -17
  86. package/dist/media/video/video-for-preview.d.ts.map +0 -1
  87. package/dist/media/video/video-for-preview.js +0 -30
  88. package/dist/media/video/video-for-preview.js.map +0 -1
  89. package/dist/media/video/video-for-rendering.d.ts +0 -17
  90. package/dist/media/video/video-for-rendering.d.ts.map +0 -1
  91. package/dist/media/video/video-for-rendering.js +0 -59
  92. package/dist/media/video/video-for-rendering.js.map +0 -1
  93. package/dist/media/video/video-source-browser.d.ts +0 -37
  94. package/dist/media/video/video-source-browser.d.ts.map +0 -1
  95. package/dist/media/video/video-source-browser.js +0 -171
  96. package/dist/media/video/video-source-browser.js.map +0 -1
  97. package/dist/media/video/video-source-mediabunny.d.ts +0 -69
  98. package/dist/media/video/video-source-mediabunny.d.ts.map +0 -1
  99. package/dist/media/video/video-source-mediabunny.js +0 -236
  100. package/dist/media/video/video-source-mediabunny.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../src/engine/composition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../src/engine/composition.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import Konva from "konva";
2
+ import { FONT_MARK, MEDIA_MARK } from "../markers.js";
2
3
  import { AudioMixer } from "../media/audio/mixer.js";
3
- import { FONT_MARK, MEDIA_MARK } from "../media/media-marker.js";
4
4
  import { createEmitter } from "./emitter.js";
5
5
  import { detectEnvironment } from "./environment.js";
6
6
  import { Sequence } from "./sequence.js";
@@ -1 +1 @@
1
- {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../src/engine/composition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../src/engine/composition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Timeline markers: lazily-resolving, immutable handles onto a scene's
3
+ * placement inside a marker source (`Series`, `TransitionSeries`, or a
4
+ * standalone `Sequence`). A marker stores no frame number — every read
5
+ * resolves against the source's *current* placement, so retiming a scene
6
+ * moves everything anchored to it.
7
+ *
8
+ * @module
9
+ */
10
+ /** Resolved placement of one scene: window open/close plus the settled point. */
11
+ export type ScenePlacement = {
12
+ /** Frame the scene's sequence window opens. */
13
+ from: number;
14
+ /** Frame the window closes (`from + durationInFrames`). */
15
+ end: number;
16
+ /**
17
+ * `from` + incoming overlap — the frame the scene is fully revealed. For
18
+ * `TransitionSeries` the overlap is the incoming transition's duration; for
19
+ * `Series` it is `max(0, −offset)`; for a standalone `Sequence` it is `0`
20
+ * (so `settled === from`).
21
+ */
22
+ settled: number;
23
+ };
24
+ /**
25
+ * Implemented by anything that hands out markers. `name` is `undefined` for
26
+ * single-scene sources (a standalone `Sequence`).
27
+ *
28
+ * @internal
29
+ */
30
+ export type MarkerSource = {
31
+ _kmResolveMarker(name: string | undefined): ScenePlacement;
32
+ };
33
+ export type MarkerKind = "start" | "end" | "settled";
34
+ /**
35
+ * One anchorable point of a marked scene (`start`, `end`, or `settled`),
36
+ * optionally shifted by an integer frame delta. Immutable: `add()` returns a
37
+ * new point. Accepted anywhere a {@link FrameAnchor} is.
38
+ */
39
+ export declare class MarkerPoint {
40
+ private readonly _source;
41
+ private readonly _name;
42
+ readonly kind: MarkerKind;
43
+ readonly delta: number;
44
+ /** @internal — obtain points via `Marker#start`/`end`/`settled`. */
45
+ constructor(_source: MarkerSource, _name: string | undefined, kind: MarkerKind, delta: number);
46
+ /** A new point shifted by `n` frames (integer; deltas accumulate). */
47
+ add(n: number): MarkerPoint;
48
+ /**
49
+ * Resolve to a frame number **now**. Prefer passing the point itself to
50
+ * `from:`/`until:` — an eagerly resolved number freezes and desyncs when
51
+ * the timeline is retimed.
52
+ */
53
+ resolve(): number;
54
+ }
55
+ /**
56
+ * Handle onto a marked scene. Exposes the three anchorable points; using the
57
+ * bare `Marker` as a {@link FrameAnchor} means its `.start`.
58
+ */
59
+ export declare class Marker {
60
+ private readonly _source;
61
+ private readonly _name?;
62
+ /** @internal — obtain via `series.marker(name)` / `sequence.marker()`. */
63
+ constructor(_source: MarkerSource, _name?: string | undefined);
64
+ /** The scene's window-open frame (under a transition: the transition begins). */
65
+ get start(): MarkerPoint;
66
+ /** The scene's window-close frame. */
67
+ get end(): MarkerPoint;
68
+ /** The frame the scene is fully revealed (start + incoming overlap). */
69
+ get settled(): MarkerPoint;
70
+ /** Sugar for `this.start.resolve()`. */
71
+ resolve(): number;
72
+ }
73
+ /** A timeline position: an absolute frame, a `Marker` (its `.start`), or a `MarkerPoint`. */
74
+ export type FrameAnchor = number | Marker | MarkerPoint;
75
+ /** Resolve a {@link FrameAnchor} to a frame number. @internal */
76
+ export declare function resolveFrameAnchor(anchor: FrameAnchor): number;
77
+ //# sourceMappingURL=marker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker.d.ts","sourceRoot":"","sources":["../../src/engine/marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,iFAAiF;AACjF,MAAM,MAAM,cAAc,GAAG;IAC3B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAAC;CAC5D,CAAC;AAuBF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;AAErD;;;;GAIG;AACH,qBAAa,WAAW;IAGpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM;IALxB,oEAAoE;gBAEjD,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,GAAG,SAAS,EACjC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM;IAGxB,sEAAsE;IACtE,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW;IAO3B;;;;OAIG;IACH,OAAO,IAAI,MAAM;CAqBlB;AAED;;;GAGG;AACH,qBAAa,MAAM;IAGf,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAHzB,0EAA0E;gBAEvD,OAAO,EAAE,YAAY,EACrB,KAAK,CAAC,EAAE,MAAM,YAAA;IAGjC,iFAAiF;IACjF,IAAI,KAAK,IAAI,WAAW,CAEvB;IAED,sCAAsC;IACtC,IAAI,GAAG,IAAI,WAAW,CAErB;IAED,wEAAwE;IACxE,IAAI,OAAO,IAAI,WAAW,CAEzB;IAED,wCAAwC;IACxC,OAAO,IAAI,MAAM;CAGlB;AAED,6FAA6F;AAC7F,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;AAExD,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAE9D"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Timeline markers: lazily-resolving, immutable handles onto a scene's
3
+ * placement inside a marker source (`Series`, `TransitionSeries`, or a
4
+ * standalone `Sequence`). A marker stores no frame number — every read
5
+ * resolves against the source's *current* placement, so retiming a scene
6
+ * moves everything anchored to it.
7
+ *
8
+ * @module
9
+ */
10
+ // Re-entrancy guard: resolving a marker may resolve the source's `from`,
11
+ // which may itself be a marker. A genuine loop revisits the same
12
+ // (source, name) pair — throw instead of recursing forever.
13
+ const resolutionStack = [];
14
+ function resolvePlacement(source, name) {
15
+ for (const entry of resolutionStack) {
16
+ if (entry.source === source && entry.name === name) {
17
+ throw new Error(`marker: circular anchoring while resolving "${name ?? "(sequence)"}" — its timeline position depends on itself`);
18
+ }
19
+ }
20
+ resolutionStack.push({ source, name });
21
+ try {
22
+ return source._kmResolveMarker(name);
23
+ }
24
+ finally {
25
+ resolutionStack.pop();
26
+ }
27
+ }
28
+ /**
29
+ * One anchorable point of a marked scene (`start`, `end`, or `settled`),
30
+ * optionally shifted by an integer frame delta. Immutable: `add()` returns a
31
+ * new point. Accepted anywhere a {@link FrameAnchor} is.
32
+ */
33
+ export class MarkerPoint {
34
+ _source;
35
+ _name;
36
+ kind;
37
+ delta;
38
+ /** @internal — obtain points via `Marker#start`/`end`/`settled`. */
39
+ constructor(_source, _name, kind, delta) {
40
+ this._source = _source;
41
+ this._name = _name;
42
+ this.kind = kind;
43
+ this.delta = delta;
44
+ }
45
+ /** A new point shifted by `n` frames (integer; deltas accumulate). */
46
+ add(n) {
47
+ if (!Number.isInteger(n)) {
48
+ throw new Error(`marker: add() delta must be an integer (got ${n})`);
49
+ }
50
+ return new MarkerPoint(this._source, this._name, this.kind, this.delta + n);
51
+ }
52
+ /**
53
+ * Resolve to a frame number **now**. Prefer passing the point itself to
54
+ * `from:`/`until:` — an eagerly resolved number freezes and desyncs when
55
+ * the timeline is retimed.
56
+ */
57
+ resolve() {
58
+ const placement = resolvePlacement(this._source, this._name);
59
+ const base = this.kind === "start"
60
+ ? placement.from
61
+ : this.kind === "end"
62
+ ? placement.end
63
+ : placement.settled;
64
+ if (!Number.isFinite(base)) {
65
+ throw new Error(`marker: cannot resolve "${this.kind}"${this._name ? ` of "${this._name}"` : ""} — the source sequence has no explicit duration and isn't attached to a composition`);
66
+ }
67
+ const frame = base + this.delta;
68
+ if (frame < 0) {
69
+ throw new Error(`marker: "${this._name ?? "(sequence)"}" ${this.kind}${this.delta ? ` ${this.delta > 0 ? "+" : ""}${this.delta}` : ""} resolves to ${frame}, before frame 0`);
70
+ }
71
+ return frame;
72
+ }
73
+ }
74
+ /**
75
+ * Handle onto a marked scene. Exposes the three anchorable points; using the
76
+ * bare `Marker` as a {@link FrameAnchor} means its `.start`.
77
+ */
78
+ export class Marker {
79
+ _source;
80
+ _name;
81
+ /** @internal — obtain via `series.marker(name)` / `sequence.marker()`. */
82
+ constructor(_source, _name) {
83
+ this._source = _source;
84
+ this._name = _name;
85
+ }
86
+ /** The scene's window-open frame (under a transition: the transition begins). */
87
+ get start() {
88
+ return new MarkerPoint(this._source, this._name, "start", 0);
89
+ }
90
+ /** The scene's window-close frame. */
91
+ get end() {
92
+ return new MarkerPoint(this._source, this._name, "end", 0);
93
+ }
94
+ /** The frame the scene is fully revealed (start + incoming overlap). */
95
+ get settled() {
96
+ return new MarkerPoint(this._source, this._name, "settled", 0);
97
+ }
98
+ /** Sugar for `this.start.resolve()`. */
99
+ resolve() {
100
+ return this.start.resolve();
101
+ }
102
+ }
103
+ /** Resolve a {@link FrameAnchor} to a frame number. @internal */
104
+ export function resolveFrameAnchor(anchor) {
105
+ return typeof anchor === "number" ? anchor : anchor.resolve();
106
+ }
107
+ //# sourceMappingURL=marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker.js","sourceRoot":"","sources":["../../src/engine/marker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2BH,yEAAyE;AACzE,iEAAiE;AACjE,4DAA4D;AAC5D,MAAM,eAAe,GAA8D,EAAE,CAAC;AAEtF,SAAS,gBAAgB,CAAC,MAAoB,EAAE,IAAwB;IACtE,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,IAAI,YAAY,6CAA6C,CACjH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;YAAS,CAAC;QACT,eAAe,CAAC,GAAG,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAID;;;;GAIG;AACH,MAAM,OAAO,WAAW;IAGH;IACA;IACR;IACA;IALX,oEAAoE;IACpE,YACmB,OAAqB,EACrB,KAAyB,EACjC,IAAgB,EAChB,KAAa;QAHL,YAAO,GAAP,OAAO,CAAc;QACrB,UAAK,GAAL,KAAK,CAAoB;QACjC,SAAI,GAAJ,IAAI,CAAY;QAChB,UAAK,GAAL,KAAK,CAAQ;IACrB,CAAC;IAEJ,sEAAsE;IACtE,GAAG,CAAC,CAAS;QACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,GAAG,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,KAAK,OAAO;YACnB,CAAC,CAAC,SAAS,CAAC,IAAI;YAChB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK;gBACnB,CAAC,CAAC,SAAS,CAAC,GAAG;gBACf,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,qFAAqF,CACrK,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,YAAY,IAAI,CAAC,KAAK,IAAI,YAAY,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,kBAAkB,CAC7J,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,MAAM;IAGE;IACA;IAHnB,0EAA0E;IAC1E,YACmB,OAAqB,EACrB,KAAc;QADd,YAAO,GAAP,OAAO,CAAc;QACrB,UAAK,GAAL,KAAK,CAAS;IAC9B,CAAC;IAEJ,iFAAiF;IACjF,IAAI,KAAK;QACP,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,sCAAsC;IACtC,IAAI,GAAG;QACL,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,wEAAwE;IACxE,IAAI,OAAO;QACT,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,wCAAwC;IACxC,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;CACF;AAKD,iEAAiE;AACjE,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AAChE,CAAC"}
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Globally-overridable factories for the media sources and image loader that
3
- * nodes build at construction time. The browser is the default everywhere; a
4
- * server renderer swaps in Node-safe implementations **before** any composition
5
- * is constructed (e.g. `@smoove/renderer`'s `setupServerRendering()`),
6
- * since the browser defaults ({@link MediabunnyAudioSource}/
7
- * {@link MediabunnyVideoSource}) rely on `document`/WebCodecs and would throw in Node.
3
+ * nodes build at construction time. A server renderer swaps in Node-safe
4
+ * implementations **before** any composition
5
+ * is constructed (e.g. `@smoove/renderer`'s `setupServerRendering()`). In the
6
+ * browser, importing `@smoove/media` registers its `Mediabunny*` sources; until
7
+ * a factory is registered the defaults throw with guidance.
8
8
  */
9
9
  import type { AudioSourceFactory } from "../media/audio/audio-source.js";
10
10
  import type { VideoSourceFactory } from "../media/video/video-source.js";
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-defaults.d.ts","sourceRoot":"","sources":["../../src/engine/runtime-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEtF,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGtF,8FAA8F;AAC9F,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,wFAAwF;AACxF,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAYhE;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAwBrF,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAE9E;AACD,wBAAgB,4BAA4B,IAAI,kBAAkB,CAEjE;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAE9E;AACD,wBAAgB,4BAA4B,IAAI,kBAAkB,CAEjE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAE/D;AACD,wBAAgB,qBAAqB,IAAI,WAAW,CAEnD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAE7D;AACD,wBAAgB,oBAAoB,IAAI,UAAU,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpF"}
1
+ {"version":3,"file":"runtime-defaults.d.ts","sourceRoot":"","sources":["../../src/engine/runtime-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,KAAK,EAAe,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEtF,8FAA8F;AAC9F,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,wFAAwF;AACxF,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAYhE;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAgCrF,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAE9E;AACD,wBAAgB,4BAA4B,IAAI,kBAAkB,CAEjE;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAE9E;AACD,wBAAgB,4BAA4B,IAAI,kBAAkB,CAEjE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAE/D;AACD,wBAAgB,qBAAqB,IAAI,WAAW,CAEnD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAE7D;AACD,wBAAgB,oBAAoB,IAAI,UAAU,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpF"}
@@ -1,13 +1,11 @@
1
1
  /**
2
2
  * Globally-overridable factories for the media sources and image loader that
3
- * nodes build at construction time. The browser is the default everywhere; a
4
- * server renderer swaps in Node-safe implementations **before** any composition
5
- * is constructed (e.g. `@smoove/renderer`'s `setupServerRendering()`),
6
- * since the browser defaults ({@link MediabunnyAudioSource}/
7
- * {@link MediabunnyVideoSource}) rely on `document`/WebCodecs and would throw in Node.
3
+ * nodes build at construction time. A server renderer swaps in Node-safe
4
+ * implementations **before** any composition
5
+ * is constructed (e.g. `@smoove/renderer`'s `setupServerRendering()`). In the
6
+ * browser, importing `@smoove/media` registers its `Mediabunny*` sources; until
7
+ * a factory is registered the defaults throw with guidance.
8
8
  */
9
- import { MediabunnyAudioSource } from "../media/audio/audio-source-mediabunny.js";
10
- import { MediabunnyVideoSource } from "../media/video/video-source-mediabunny.js";
11
9
  function domLoadImage(src) {
12
10
  return new Promise((resolve, reject) => {
13
11
  const img = document.createElement("img");
@@ -30,8 +28,13 @@ function domLoadFont(family, face) {
30
28
  document.fonts.add(loaded);
31
29
  });
32
30
  }
33
- let videoFactory = () => new MediabunnyVideoSource();
34
- let audioFactory = () => new MediabunnyAudioSource();
31
+ function unregisteredSource(kind) {
32
+ throw new Error(`[smoove] No default ${kind} source factory registered. In the browser, ` +
33
+ `import "@smoove/media" before constructing a composition; on the server, ` +
34
+ `call setDefault${kind}SourceFactory() (e.g. @smoove/renderer's setup).`);
35
+ }
36
+ let videoFactory = () => unregisteredSource("Video");
37
+ let audioFactory = () => unregisteredSource("Audio");
35
38
  let imageLoader = domLoadImage;
36
39
  let fontLoader = domLoadFont;
37
40
  /** Deduped face loads, keyed by `family|weight|style|src` — see {@link loadFontFace}. */
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-defaults.js","sourceRoot":"","sources":["../../src/engine/runtime-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAElF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAWlF,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAC9B,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;QACrB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAsBD,SAAS,WAAW,CAAC,MAAc,EAAE,IAAwB;IAC3D,8EAA8E;IAC9E,+EAA+E;IAC/E,0EAA0E;IAC1E,gCAAgC;IAChC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,GAAG,GAAG,EAAE;QAClD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QAC9B,QAA6D,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,YAAY,GAAuB,GAAgB,EAAE,CAAC,IAAI,qBAAqB,EAAE,CAAC;AACtF,IAAI,YAAY,GAAuB,GAAgB,EAAE,CAAC,IAAI,qBAAqB,EAAE,CAAC;AACtF,IAAI,WAAW,GAAgB,YAAY,CAAC;AAC5C,IAAI,UAAU,GAAe,WAAW,CAAC;AAEzC,yFAAyF;AACzF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEnD,MAAM,UAAU,4BAA4B,CAAC,OAA2B;IACtE,YAAY,GAAG,OAAO,CAAC;AACzB,CAAC;AACD,MAAM,UAAU,4BAA4B;IAC1C,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAA2B;IACtE,YAAY,GAAG,OAAO,CAAC;AACzB,CAAC;AACD,MAAM,UAAU,4BAA4B;IAC1C,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,WAAW,GAAG,MAAM,CAAC;AACvB,CAAC;AACD,MAAM,UAAU,qBAAqB;IACnC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAkB;IACrD,UAAU,GAAG,MAAM,CAAC;AACtB,CAAC;AACD,MAAM,UAAU,oBAAoB;IAClC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,IAAwB;IACnE,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACjE,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7B,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"runtime-defaults.js","sourceRoot":"","sources":["../../src/engine/runtime-defaults.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,25 @@
1
1
  import Konva from "konva";
2
+ import { type FrameAnchor, Marker, type MarkerSource, type ScenePlacement } from "./marker.js";
2
3
  export type SequenceOptions = Konva.LayerConfig & {
3
- /** Composition frame this sequence starts on. Defaults to `0`. */
4
- from?: number;
4
+ /**
5
+ * Composition frame this sequence starts on: an absolute frame, or a
6
+ * `Marker`/`MarkerPoint` resolved live (retiming the marked scene moves
7
+ * this sequence with it). Defaults to `0`.
8
+ */
9
+ from?: FrameAnchor;
5
10
  /**
6
11
  * How many frames the sequence spans. When omitted it defaults to the host
7
12
  * composition's `durationInFrames` — i.e. a layer spanning the whole comp.
8
13
  * Resolved live once added (see {@link Sequence.durationInFrames}).
14
+ * Mutually exclusive with {@link until}.
9
15
  */
10
16
  durationInFrames?: number;
17
+ /**
18
+ * End anchor: the span becomes `resolve(until) − resolve(from)`, kept live
19
+ * so retiming either end moves the window. Mutually exclusive with
20
+ * {@link durationInFrames}.
21
+ */
22
+ until?: FrameAnchor;
11
23
  };
12
24
  export type Updater = (localFrame: number) => void;
13
25
  /**
@@ -19,24 +31,40 @@ export type Updater = (localFrame: number) => void;
19
31
  export type SequenceProvider = {
20
32
  sequences(): Sequence[];
21
33
  };
22
- export declare class Sequence extends Konva.Layer {
23
- readonly from: number;
24
- /** Explicit span, or `undefined` to default to the host comp's duration. */
34
+ export declare class Sequence extends Konva.Layer implements MarkerSource {
35
+ private readonly _from;
36
+ /** Explicit span, or `undefined` to default to `until`/the host comp's duration. */
25
37
  private readonly _durationInFrames?;
38
+ private readonly _until?;
26
39
  private readonly _updaters;
27
40
  private _active;
28
41
  private _media;
29
42
  private _lastLocal;
30
43
  constructor(opts?: SequenceOptions);
31
44
  /**
32
- * Frames this sequence spans. When constructed without an explicit
33
- * `durationInFrames`, this resolves **live** to the host composition's
34
- * `durationInFrames` a layer that spans the whole comp. Before the sequence
35
- * is added to a composition (no reachable stage) it reports `Infinity`,
36
- * meaning "unbounded"; `_apply` is only ever driven by the comp, so by then
37
- * the real duration is reachable.
45
+ * Composition frame this sequence starts on. Marker-valued `from` resolves
46
+ * on every read (live, like {@link durationInFrames}), so retiming the
47
+ * marked scene moves this sequence automatically.
48
+ */
49
+ get from(): number;
50
+ /**
51
+ * Frames this sequence spans. With `until`, resolves live as
52
+ * `resolve(until) − resolve(from)`. When constructed without an explicit
53
+ * span, this resolves **live** to the host composition's
54
+ * `durationInFrames` — a layer that spans the whole comp. Before the
55
+ * sequence is added to a composition (no reachable stage) it reports
56
+ * `Infinity`, meaning "unbounded"; `_apply` is only ever driven by the
57
+ * comp, so by then the real duration is reachable.
38
58
  */
39
59
  get durationInFrames(): number;
60
+ /**
61
+ * A {@link Marker} onto this sequence's own placement — no name, a
62
+ * sequence *is* a single scene. Anchor other sequences to it:
63
+ * `new Sequence({ from: intro.marker().end })`.
64
+ */
65
+ marker(): Marker;
66
+ /** @internal marker-source hook. A plain sequence has no incoming overlap. */
67
+ _kmResolveMarker(): ScenePlacement;
40
68
  register(updater: Updater): () => void;
41
69
  /**
42
70
  * Internal — called by Composition on each frame change.
@@ -1 +1 @@
1
- {"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../../src/engine/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,GAAG;IAChD,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,SAAS,IAAI,QAAQ,EAAE,CAAA;CAAE,CAAC;AAQ3D,qBAAa,QAAS,SAAQ,KAAK,CAAC,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAmB;IAIjC,OAAO,CAAC,UAAU,CAAM;gBAEZ,IAAI,GAAE,eAAoB;IAkBtC;;;;;;;OAOG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAK7B;IAED,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,IAAI;IAOtC;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,IAAI;IAsC1C;;;;;OAKG;IACH,OAAO,IAAI,IAAI;CAOhB"}
1
+ {"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../../src/engine/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EACL,KAAK,WAAW,EAChB,MAAM,EACN,KAAK,YAAY,EAEjB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,GAAG;IAChD;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,SAAS,IAAI,QAAQ,EAAE,CAAA;CAAE,CAAC;AAQ3D,qBAAa,QAAS,SAAQ,KAAK,CAAC,KAAM,YAAW,YAAY;IAC/D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAmB;IAIjC,OAAO,CAAC,UAAU,CAAM;gBAEZ,IAAI,GAAE,eAAoB;IAyBtC;;;;OAIG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;;;;OAQG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAc7B;IAED;;;;OAIG;IACH,MAAM,IAAI,MAAM;IAIhB,8EAA8E;IAC9E,gBAAgB,IAAI,cAAc;IAKlC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,IAAI;IAOtC;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,IAAI;IAsC1C;;;;;OAKG;IACH,OAAO,IAAI,IAAI;CAOhB"}
@@ -1,11 +1,13 @@
1
1
  import Konva from "konva";
2
2
  import { isKMLayoutRoot } from "../layout/contract.js";
3
- import { MEDIA_MARK, TICK_MARK } from "../media/media-marker.js";
3
+ import { MEDIA_MARK, TICK_MARK } from "../markers.js";
4
4
  import { getComposition } from "./composition.js";
5
+ import { Marker, resolveFrameAnchor, } from "./marker.js";
5
6
  export class Sequence extends Konva.Layer {
6
- from;
7
- /** Explicit span, or `undefined` to default to the host comp's duration. */
7
+ _from;
8
+ /** Explicit span, or `undefined` to default to `until`/the host comp's duration. */
8
9
  _durationInFrames;
10
+ _until;
9
11
  _updaters = new Set();
10
12
  _active = false;
11
13
  _media = [];
@@ -14,35 +16,73 @@ export class Sequence extends Konva.Layer {
14
16
  // a sentinel that never equals a real local frame, so the first apply always runs.
15
17
  _lastLocal = -1;
16
18
  constructor(opts = {}) {
17
- const { from = 0, durationInFrames, ...layerOpts } = opts;
18
- if (!Number.isInteger(from) || from < 0) {
19
+ const { from = 0, durationInFrames, until, ...layerOpts } = opts;
20
+ if (typeof from === "number" && (!Number.isInteger(from) || from < 0)) {
19
21
  throw new Error("Sequence: from must be a non-negative integer");
20
22
  }
23
+ if (durationInFrames !== undefined && until !== undefined) {
24
+ throw new Error("Sequence: durationInFrames and until are mutually exclusive — provide one");
25
+ }
21
26
  // durationInFrames is optional: when omitted it resolves to the host comp's
22
27
  // duration (see the getter). Only validate an explicitly provided value.
23
28
  if (durationInFrames !== undefined &&
24
29
  (!Number.isInteger(durationInFrames) || durationInFrames <= 0)) {
25
30
  throw new Error("Sequence: durationInFrames must be a positive integer");
26
31
  }
32
+ if (typeof until === "number" && (!Number.isInteger(until) || until <= 0)) {
33
+ throw new Error("Sequence: until must be a positive integer frame");
34
+ }
27
35
  super({ ...layerOpts, visible: false });
28
- this.from = from;
36
+ this._from = from;
29
37
  this._durationInFrames = durationInFrames;
38
+ this._until = until;
39
+ }
40
+ /**
41
+ * Composition frame this sequence starts on. Marker-valued `from` resolves
42
+ * on every read (live, like {@link durationInFrames}), so retiming the
43
+ * marked scene moves this sequence automatically.
44
+ */
45
+ get from() {
46
+ return resolveFrameAnchor(this._from);
30
47
  }
31
48
  /**
32
- * Frames this sequence spans. When constructed without an explicit
33
- * `durationInFrames`, this resolves **live** to the host composition's
34
- * `durationInFrames` a layer that spans the whole comp. Before the sequence
35
- * is added to a composition (no reachable stage) it reports `Infinity`,
36
- * meaning "unbounded"; `_apply` is only ever driven by the comp, so by then
37
- * the real duration is reachable.
49
+ * Frames this sequence spans. With `until`, resolves live as
50
+ * `resolve(until) resolve(from)`. When constructed without an explicit
51
+ * span, this resolves **live** to the host composition's
52
+ * `durationInFrames` a layer that spans the whole comp. Before the
53
+ * sequence is added to a composition (no reachable stage) it reports
54
+ * `Infinity`, meaning "unbounded"; `_apply` is only ever driven by the
55
+ * comp, so by then the real duration is reachable.
38
56
  */
39
57
  get durationInFrames() {
58
+ if (this._until !== undefined) {
59
+ const from = this.from;
60
+ const until = resolveFrameAnchor(this._until);
61
+ const d = until - from;
62
+ if (d <= 0) {
63
+ throw new Error(`Sequence: until (${until}) must be after from (${from})`);
64
+ }
65
+ return d;
66
+ }
40
67
  if (this._durationInFrames !== undefined)
41
68
  return this._durationInFrames;
42
69
  const stage = this.getStage();
43
70
  const comp = stage && getComposition(stage);
44
71
  return comp ? comp.durationInFrames.get() : Number.POSITIVE_INFINITY;
45
72
  }
73
+ /**
74
+ * A {@link Marker} onto this sequence's own placement — no name, a
75
+ * sequence *is* a single scene. Anchor other sequences to it:
76
+ * `new Sequence({ from: intro.marker().end })`.
77
+ */
78
+ marker() {
79
+ return new Marker(this);
80
+ }
81
+ /** @internal marker-source hook. A plain sequence has no incoming overlap. */
82
+ _kmResolveMarker() {
83
+ const from = this.from;
84
+ return { from, end: from + this.durationInFrames, settled: from };
85
+ }
46
86
  register(updater) {
47
87
  this._updaters.add(updater);
48
88
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../src/engine/sequence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA6BlD,MAAM,OAAO,QAAS,SAAQ,KAAK,CAAC,KAAK;IAC9B,IAAI,CAAS;IACtB,4EAA4E;IAC3D,iBAAiB,CAAU;IAC3B,SAAS,GAAG,IAAI,GAAG,EAAW,CAAC;IACxC,OAAO,GAAG,KAAK,CAAC;IAChB,MAAM,GAAgB,EAAE,CAAC;IACjC,4EAA4E;IAC5E,8EAA8E;IAC9E,mFAAmF;IAC3E,UAAU,GAAG,CAAC,CAAC,CAAC;IAExB,YAAY,OAAwB,EAAE;QACpC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,4EAA4E;QAC5E,yEAAyE;QACzE,IACE,gBAAgB,KAAK,SAAS;YAC9B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,CAAC,CAAC,EAC9D,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,KAAK,CAAC,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,gBAAgB;QAClB,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC;IACvE,CAAC;IAED,QAAQ,CAAC,OAAgB;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAa,EAAE,KAAK,GAAG,KAAK;QACjC,MAAM,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAChF,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,yEAAyE;gBACzE,gFAAgF;gBAChF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CACrB,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CACpE,CAAC;YACnB,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,sEAAsE;YACtE,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU;gBAAE,OAAO;YACjE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS;gBAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACzC,yEAAyE;YACzE,0EAA0E;YAC1E,6DAA6D;YAC7D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;gBAAE,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnC,IAAI,cAAc,CAAC,CAAC,CAAC;oBAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAC9C,CAAC;YACD,0EAA0E;YAC1E,uEAAuE;YACvE,qEAAqE;YACrE,IAAI,YAAY;gBAAE,IAAI,CAAC,IAAI,EAAE,CAAC;;gBACzB,IAAI,CAAC,SAAS,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;gBAAE,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO;QAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../src/engine/sequence.ts"],"names":[],"mappings":"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"}