@omnimedia/omnitool 1.1.0-78 → 1.1.0-79

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 (58) hide show
  1. package/README.md +107 -1
  2. package/package.json +1 -1
  3. package/s/demo/routines/timeline-setup.ts +37 -22
  4. package/s/driver/fns/schematic.ts +2 -0
  5. package/s/driver/parts/compositor.ts +6 -0
  6. package/s/timeline/index.ts +2 -0
  7. package/s/timeline/parts/animations.ts +24 -0
  8. package/s/timeline/parts/item.ts +24 -1
  9. package/s/timeline/renderers/parts/handy.ts +53 -36
  10. package/s/timeline/renderers/parts/samplers/visual/parts/sample.ts +9 -8
  11. package/s/timeline/renderers/parts/samplers/visual/parts/sequence.ts +4 -4
  12. package/s/timeline/sugar/helpers.ts +74 -2
  13. package/s/timeline/sugar/o.ts +95 -2
  14. package/s/timeline/types.ts +26 -3
  15. package/s/timeline/utils/anim.ts +71 -0
  16. package/s/timeline/utils/terps.ts +81 -0
  17. package/x/demo/demo.bundle.min.js +104 -104
  18. package/x/demo/demo.bundle.min.js.map +4 -4
  19. package/x/demo/routines/timeline-setup.js +16 -4
  20. package/x/demo/routines/timeline-setup.js.map +1 -1
  21. package/x/driver/fns/schematic.d.ts +2 -0
  22. package/x/driver/parts/compositor.js +5 -0
  23. package/x/driver/parts/compositor.js.map +1 -1
  24. package/x/index.html +2 -2
  25. package/x/tests.bundle.min.js +105 -105
  26. package/x/tests.bundle.min.js.map +4 -4
  27. package/x/tests.html +1 -1
  28. package/x/timeline/index.d.ts +2 -0
  29. package/x/timeline/index.js +2 -0
  30. package/x/timeline/index.js.map +1 -1
  31. package/x/timeline/parts/animations.d.ts +25 -0
  32. package/x/timeline/parts/animations.js +12 -0
  33. package/x/timeline/parts/animations.js.map +1 -0
  34. package/x/timeline/parts/item.d.ts +24 -5
  35. package/x/timeline/parts/item.js +5 -3
  36. package/x/timeline/parts/item.js.map +1 -1
  37. package/x/timeline/renderers/parts/handy.d.ts +13 -7
  38. package/x/timeline/renderers/parts/handy.js +22 -20
  39. package/x/timeline/renderers/parts/handy.js.map +1 -1
  40. package/x/timeline/renderers/parts/samplers/visual/parts/sample.d.ts +3 -2
  41. package/x/timeline/renderers/parts/samplers/visual/parts/sample.js +6 -5
  42. package/x/timeline/renderers/parts/samplers/visual/parts/sample.js.map +1 -1
  43. package/x/timeline/renderers/parts/samplers/visual/parts/sequence.d.ts +3 -2
  44. package/x/timeline/renderers/parts/samplers/visual/parts/sequence.js +2 -2
  45. package/x/timeline/renderers/parts/samplers/visual/parts/sequence.js.map +1 -1
  46. package/x/timeline/sugar/helpers.d.ts +19 -2
  47. package/x/timeline/sugar/helpers.js +43 -0
  48. package/x/timeline/sugar/helpers.js.map +1 -1
  49. package/x/timeline/sugar/o.d.ts +18 -1
  50. package/x/timeline/sugar/o.js +71 -1
  51. package/x/timeline/sugar/o.js.map +1 -1
  52. package/x/timeline/types.d.ts +12 -2
  53. package/x/timeline/utils/anim.d.ts +5 -0
  54. package/x/timeline/utils/anim.js +44 -0
  55. package/x/timeline/utils/anim.js.map +1 -0
  56. package/x/timeline/utils/terps.d.ts +11 -0
  57. package/x/timeline/utils/terps.js +57 -0
  58. package/x/timeline/utils/terps.js.map +1 -0
package/x/tests.html CHANGED
@@ -295,7 +295,7 @@ canvas {
295
295
  }
296
296
  }
297
297
  </style>
298
- <script type=module src="tests.bundle.min.js?v=408e5a041a21"></script>
298
+ <script type=module src="tests.bundle.min.js?v=797f47655812"></script>
299
299
 
300
300
 
301
301
  <meta name="theme-color" content="#3cff9c">
@@ -1,10 +1,12 @@
1
1
  export * from "./parts/basics.js";
2
+ export * from "./parts/animations.js";
2
3
  export * from "./parts/filters.js";
3
4
  export * from "./parts/item.js";
4
5
  export * from "./parts/media.js";
5
6
  export * from "./parts/resource-pool.js";
6
7
  export * from "./parts/resource.js";
7
8
  export * from "./parts/filmstrip.js";
9
+ export * from "./types.js";
8
10
  export * from "./parts/waveform/waveform.js";
9
11
  export * from "./parts/waveform/parts/types.js";
10
12
  export * from "./renderers/player/player.js";
@@ -1,10 +1,12 @@
1
1
  export * from "./parts/basics.js";
2
+ export * from "./parts/animations.js";
2
3
  export * from "./parts/filters.js";
3
4
  export * from "./parts/item.js";
4
5
  export * from "./parts/media.js";
5
6
  export * from "./parts/resource-pool.js";
6
7
  export * from "./parts/resource.js";
7
8
  export * from "./parts/filmstrip.js";
9
+ export * from "./types.js";
8
10
  export * from "./parts/waveform/waveform.js";
9
11
  export * from "./parts/waveform/parts/types.js";
10
12
  export * from "./renderers/player/player.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../s/timeline/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AAEpC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,8BAA8B,CAAA;AAE5C,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../s/timeline/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA;AAE1B,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,8BAA8B,CAAA;AAE5C,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAE/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,25 @@
1
+ export type AnimationValue = "scalar" | "transform";
2
+ export type AnimationDefinition = {
3
+ value: AnimationValue;
4
+ };
5
+ export declare const spatialAnimations: {
6
+ readonly transform: {
7
+ readonly value: "transform";
8
+ };
9
+ };
10
+ export declare const visualAnimations: {
11
+ readonly opacity: {
12
+ readonly value: "scalar";
13
+ };
14
+ };
15
+ export declare const animations: {
16
+ readonly opacity: {
17
+ readonly value: "scalar";
18
+ };
19
+ readonly transform: {
20
+ readonly value: "transform";
21
+ };
22
+ };
23
+ export type SpatialAnimationProperty = keyof typeof spatialAnimations;
24
+ export type VisualAnimationProperty = keyof typeof visualAnimations;
25
+ export type AnimationProperty = keyof typeof animations;
@@ -0,0 +1,12 @@
1
+ export const spatialAnimations = {
2
+ transform: { value: "transform" },
3
+ };
4
+ export const visualAnimations = {
5
+ opacity: { value: "scalar" },
6
+ };
7
+ // const audioAnimations = {}
8
+ export const animations = {
9
+ ...spatialAnimations,
10
+ ...visualAnimations,
11
+ };
12
+ //# sourceMappingURL=animations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animations.js","sourceRoot":"","sources":["../../../s/timeline/parts/animations.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,SAAS,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC;CACwB,CAAA;AAExD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,OAAO,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC;CAC6B,CAAA;AAExD,6BAA6B;AAE7B,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,GAAG,iBAAiB;IACpB,GAAG,gBAAgB;CACV,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { TextStyleOptions } from "pixi.js";
2
2
  import { Id, Hash } from "./basics.js";
3
- import { Transform } from "../types.js";
4
3
  import { Ms } from "../../units/ms.js";
5
4
  import type { FilterParams, FilterType } from "./filters.js";
5
+ import { Anim, TrackTransform, Transform, VisualAnimations } from "../types.js";
6
6
  export type Crop = [top: number, right: number, bottom: number, left: number];
7
7
  export declare enum Kind {
8
8
  Sequence = 0,
@@ -12,9 +12,11 @@ export declare enum Kind {
12
12
  Text = 4,
13
13
  Gap = 5,
14
14
  Spatial = 6,
15
- Transition = 7,
16
- TextStyle = 8,
17
- Filter = 9
15
+ AnimatedSpatial = 7,
16
+ Animation = 8,
17
+ Transition = 9,
18
+ TextStyle = 10,
19
+ Filter = 11
18
20
  }
19
21
  export declare enum Effect {
20
22
  Crossfade = 0
@@ -32,6 +34,19 @@ export declare namespace Item {
32
34
  crop?: Crop;
33
35
  enabled: boolean;
34
36
  };
37
+ type AnimatedSpatial = {
38
+ id: Id;
39
+ kind: Kind.AnimatedSpatial;
40
+ anim: Anim<TrackTransform>;
41
+ crop?: Crop;
42
+ enabled: boolean;
43
+ };
44
+ type Animation = {
45
+ id: Id;
46
+ kind: Kind.Animation;
47
+ anims: VisualAnimations;
48
+ enabled: boolean;
49
+ };
35
50
  type Filter<T extends FilterType = FilterType> = {
36
51
  id: Id;
37
52
  kind: Kind.Filter;
@@ -65,6 +80,7 @@ export declare namespace Item {
65
80
  start: number;
66
81
  duration: number;
67
82
  spatialId?: Id;
83
+ animationId?: Id;
68
84
  filterIds?: Id[];
69
85
  };
70
86
  type Audio = {
@@ -81,6 +97,7 @@ export declare namespace Item {
81
97
  content: string;
82
98
  duration: number;
83
99
  spatialId?: Id;
100
+ animationId?: Id;
84
101
  styleId?: Id;
85
102
  filterIds?: Id[];
86
103
  };
@@ -90,11 +107,13 @@ export declare namespace Item {
90
107
  effect: Effect.Crossfade;
91
108
  duration: number;
92
109
  };
93
- type Any = (Sequence | Stack | Video | Audio | Text | Gap | Transition | Spatial | TextStyle | Filter);
110
+ type Any = (Sequence | Stack | Video | Audio | Text | Gap | Transition | Spatial | AnimatedSpatial | Animation | TextStyle | Filter);
94
111
  }
95
112
  export type ContainerItem = Item.Sequence | Item.Stack;
96
113
  export type NonContainerItem = Exclude<Item.Any, ContainerItem>;
97
114
  export type FilterableItem = Item.Sequence | Item.Stack | Item.Video | Item.Text;
115
+ export type SpatialItem = Item.Spatial | Item.AnimatedSpatial;
116
+ export type VisualAnimatableItem = Item.Video | Item.Text;
98
117
  export type PlayableItem = Item.Any & {
99
118
  start: Ms;
100
119
  duration: Ms;
@@ -7,9 +7,11 @@ export var Kind;
7
7
  Kind[Kind["Text"] = 4] = "Text";
8
8
  Kind[Kind["Gap"] = 5] = "Gap";
9
9
  Kind[Kind["Spatial"] = 6] = "Spatial";
10
- Kind[Kind["Transition"] = 7] = "Transition";
11
- Kind[Kind["TextStyle"] = 8] = "TextStyle";
12
- Kind[Kind["Filter"] = 9] = "Filter";
10
+ Kind[Kind["AnimatedSpatial"] = 7] = "AnimatedSpatial";
11
+ Kind[Kind["Animation"] = 8] = "Animation";
12
+ Kind[Kind["Transition"] = 9] = "Transition";
13
+ Kind[Kind["TextStyle"] = 10] = "TextStyle";
14
+ Kind[Kind["Filter"] = 11] = "Filter";
13
15
  })(Kind || (Kind = {}));
14
16
  export var Effect;
15
17
  (function (Effect) {
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../s/timeline/parts/item.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,IAWX;AAXD,WAAY,IAAI;IACf,uCAAQ,CAAA;IACR,iCAAK,CAAA;IACL,iCAAK,CAAA;IACL,iCAAK,CAAA;IACL,+BAAI,CAAA;IACJ,6BAAG,CAAA;IACH,qCAAO,CAAA;IACP,2CAAU,CAAA;IACV,yCAAS,CAAA;IACT,mCAAM,CAAA;AACP,CAAC,EAXW,IAAI,KAAJ,IAAI,QAWf;AAED,MAAM,CAAN,IAAY,MAEX;AAFD,WAAY,MAAM;IACjB,6CAAS,CAAA;AACV,CAAC,EAFW,MAAM,KAAN,MAAM,QAEjB"}
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../s/timeline/parts/item.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,IAaX;AAbD,WAAY,IAAI;IACf,uCAAQ,CAAA;IACR,iCAAK,CAAA;IACL,iCAAK,CAAA;IACL,iCAAK,CAAA;IACL,+BAAI,CAAA;IACJ,6BAAG,CAAA;IACH,qCAAO,CAAA;IACP,qDAAe,CAAA;IACf,yCAAS,CAAA;IACT,2CAAU,CAAA;IACV,0CAAS,CAAA;IACT,oCAAM,CAAA;AACP,CAAC,EAbW,IAAI,KAAJ,IAAI,QAaf;AAED,MAAM,CAAN,IAAY,MAEX;AAFD,WAAY,MAAM;IACjB,6CAAS,CAAA;AACV,CAAC,EAFW,MAAM,KAAN,MAAM,QAEjB"}
@@ -1,22 +1,27 @@
1
1
  import { Ms } from '../../../units/ms.js';
2
2
  import { Id, TimelineFile } from '../../parts/basics.js';
3
+ import { SampleContext } from './samplers/visual/parts/types.js';
3
4
  import { Mat6 } from '../../utils/matrix.js';
4
5
  import { ContainerItem, Item } from '../../parts/item.js';
5
6
  type WalkCallbacks = {
6
- sequence?: (x: Item.Sequence, matrix: Mat6, ancestors: ContainerItem[]) => void;
7
- stack?: (x: Item.Stack, matrix: Mat6, ancestors: ContainerItem[]) => void;
8
- video?: (x: Item.Video, matrix: Mat6, ancestors: ContainerItem[]) => void;
9
- text?: (x: Item.Text, matrix: Mat6, ancestors: ContainerItem[]) => void;
7
+ sequence?: (x: Item.Sequence, matrix: Mat6, ancestors: AncestorAt[]) => void;
8
+ stack?: (x: Item.Stack, matrix: Mat6, ancestors: AncestorAt[]) => void;
9
+ video?: (x: Item.Video, matrix: Mat6, ancestors: AncestorAt[]) => void;
10
+ text?: (x: Item.Text, matrix: Mat6, ancestors: AncestorAt[]) => void;
10
11
  audio?: (x: Item.Audio) => void;
11
12
  };
12
13
  interface Props {
13
14
  timeline: TimelineFile;
14
15
  timecode: Ms;
15
16
  }
17
+ export interface AncestorAt {
18
+ item: ContainerItem;
19
+ localTime: Ms;
20
+ }
16
21
  interface At {
17
22
  item: Item.Any;
18
23
  localTime: Ms;
19
- ancestors: ContainerItem[];
24
+ ancestors: AncestorAt[];
20
25
  }
21
26
  export declare function itemsAt(p: Props): At[];
22
27
  interface FromProps {
@@ -24,7 +29,8 @@ interface FromProps {
24
29
  from: Ms;
25
30
  }
26
31
  export declare function itemsFrom(p: FromProps): At[];
27
- export declare function computeWorldMatrix(items: Map<Id, Item.Any>, ancestors: ContainerItem[], item: Item.Any): Mat6;
28
- export declare function walk(id: Id, items: Map<Id, Item.Any>, parentMatrix: Mat6, callbacks: WalkCallbacks, ancestors?: ContainerItem[]): void;
32
+ export declare function computeWorldMatrix(items: Map<Id, Item.Any>, ancestors: AncestorAt[], item: Item.Any, localTime: Ms): Mat6;
33
+ export declare function walk(id: Id, items: Map<Id, Item.Any>, parentMatrix: Mat6, localTime: Ms, callbacks: WalkCallbacks, ancestors?: AncestorAt[]): void;
29
34
  export declare function computeItemDuration(id: number, timeline: TimelineFile): Ms;
35
+ export declare function computeOpacity(ctx: SampleContext, item: Item.Any, time: Ms): number;
30
36
  export {};
@@ -1,5 +1,6 @@
1
1
  import { ms } from '../../../units/ms.js';
2
2
  import { I6, mul6, transformToMat6 } from '../../utils/matrix.js';
3
+ import { resolveScalarAnimation, resolveSpatialTransform } from '../../utils/anim.js';
3
4
  import { Kind } from '../../parts/item.js';
4
5
  function isPlayableItem(item) {
5
6
  return 'duration' in item;
@@ -28,40 +29,33 @@ export function itemsFrom(p) {
28
29
  });
29
30
  return results;
30
31
  }
31
- export function computeWorldMatrix(items, ancestors, item) {
32
+ export function computeWorldMatrix(items, ancestors, item, localTime) {
32
33
  let world = I6;
33
34
  for (const ancestor of ancestors) {
34
- world = applySpatialIfAny(items, ancestor, world);
35
+ world = applySpatialIfAny(items, ancestor.item, world, ancestor.localTime);
35
36
  }
36
- return applySpatialIfAny(items, item, world);
37
+ return applySpatialIfAny(items, item, world, localTime);
37
38
  }
38
- function applySpatialIfAny(items, item, parentMatrix) {
39
+ function applySpatialIfAny(items, item, parentMatrix, time) {
39
40
  if ("spatialId" in item && item.spatialId) {
40
41
  const spatial = items.get(item.spatialId);
41
42
  if (spatial?.enabled) {
42
- const local = transformToMat6(spatial.transform);
43
+ const local = transformToMat6(resolveSpatialTransform(spatial, time));
43
44
  return mul6(local, parentMatrix);
44
45
  }
45
46
  }
46
47
  return parentMatrix;
47
48
  }
48
- export function walk(id, items, parentMatrix, callbacks, ancestors = []) {
49
+ export function walk(id, items, parentMatrix, localTime, callbacks, ancestors = []) {
49
50
  const item = items.get(id);
50
51
  if (!item)
51
52
  return;
52
- let currentMatrix = parentMatrix;
53
- if ("spatialId" in item && item.spatialId) {
54
- const spatial = items.get(item.spatialId);
55
- if (spatial.enabled) {
56
- const local = transformToMat6(spatial.transform);
57
- currentMatrix = mul6(local, currentMatrix);
58
- }
59
- }
53
+ const currentMatrix = applySpatialIfAny(items, item, parentMatrix, localTime);
60
54
  switch (item.kind) {
61
55
  case Kind.Stack:
62
56
  callbacks.stack?.(item, currentMatrix, ancestors);
63
57
  for (const childId of item.childrenIds) {
64
- walk(childId, items, currentMatrix, callbacks, [...ancestors, item]);
58
+ walk(childId, items, currentMatrix, localTime, callbacks, [...ancestors, { item, localTime }]);
65
59
  }
66
60
  break;
67
61
  case Kind.Sequence: {
@@ -73,7 +67,7 @@ export function walk(id, items, parentMatrix, callbacks, ancestors = []) {
73
67
  if (!isPlayableItem(child)) {
74
68
  continue;
75
69
  }
76
- walk(childId, items, currentMatrix, callbacks, [...ancestors, item]);
70
+ walk(childId, items, currentMatrix, localTime, callbacks, [...ancestors, { item, localTime }]);
77
71
  }
78
72
  break;
79
73
  }
@@ -96,7 +90,7 @@ function walkAt(id, items, time, callbacks, ancestors = []) {
96
90
  case Kind.Stack:
97
91
  callbacks.stack(item, time, ancestors);
98
92
  for (const childId of item.childrenIds) {
99
- walkAt(childId, items, time, callbacks, [...ancestors, item]);
93
+ walkAt(childId, items, time, callbacks, [...ancestors, { item, localTime: time }]);
100
94
  }
101
95
  break;
102
96
  case Kind.Sequence: {
@@ -111,7 +105,7 @@ function walkAt(id, items, time, callbacks, ancestors = []) {
111
105
  }
112
106
  if (time >= offset && time < offset + child.duration) {
113
107
  const localTime = ms(time - offset);
114
- walkAt(childId, items, localTime, callbacks, [...ancestors, item]);
108
+ walkAt(childId, items, localTime, callbacks, [...ancestors, { item, localTime: time }]);
115
109
  break;
116
110
  }
117
111
  offset = ms(offset + child.duration);
@@ -137,7 +131,7 @@ function walkFrom(id, items, from, callbacks, ancestors = []) {
137
131
  case Kind.Stack:
138
132
  callbacks.stack(item, from, ancestors);
139
133
  for (const childId of item.childrenIds) {
140
- walkFrom(childId, items, from, callbacks, [...ancestors, item]);
134
+ walkFrom(childId, items, from, callbacks, [...ancestors, { item, localTime: from }]);
141
135
  }
142
136
  break;
143
137
  case Kind.Sequence: {
@@ -156,7 +150,7 @@ function walkFrom(id, items, from, callbacks, ancestors = []) {
156
150
  continue;
157
151
  }
158
152
  const localTime = ms(Math.max(0, from - offset));
159
- walkFrom(childId, items, localTime, callbacks, [...ancestors, item]);
153
+ walkFrom(childId, items, localTime, callbacks, [...ancestors, { item, localTime: from }]);
160
154
  offset = end;
161
155
  }
162
156
  break;
@@ -216,4 +210,12 @@ export function computeItemDuration(id, timeline) {
216
210
  }
217
211
  }
218
212
  }
213
+ export function computeOpacity(ctx, item, time) {
214
+ if (!("animationId" in item) || item.animationId === undefined)
215
+ return 1;
216
+ const animation = ctx.items.get(item.animationId);
217
+ return animation?.enabled && animation.anims.opacity
218
+ ? resolveScalarAnimation(time, animation.anims.opacity)
219
+ : 1;
220
+ }
219
221
  //# sourceMappingURL=handy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handy.js","sourceRoot":"","sources":["../../../../s/timeline/renderers/parts/handy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handy.js","sourceRoot":"","sources":["../../../../s/timeline/renderers/parts/handy.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { SampleContext } from "./types.js";
2
2
  import { Ms } from "../../../../../../units/ms.js";
3
+ import { Item } from "../../../../../parts/item.js";
3
4
  import { Layer } from "../../../../../../driver/fns/schematic.js";
4
- import { ContainerItem, Item } from "../../../../../parts/item.js";
5
- export declare function sampleVisual(ctx: SampleContext, item: Item.Any, time: Ms, ancestors: ContainerItem[]): Promise<Layer[]>;
5
+ import { AncestorAt } from "../../../handy.js";
6
+ export declare function sampleVisual(ctx: SampleContext, item: Item.Any, time: Ms, ancestors: AncestorAt[]): Promise<Layer[]>;
@@ -1,8 +1,9 @@
1
1
  import { sampleSequence } from "./sequence.js";
2
- import { computeWorldMatrix } from "../../../handy.js";
3
2
  import { Kind } from "../../../../../parts/item.js";
3
+ import { computeOpacity, computeWorldMatrix } from "../../../handy.js";
4
4
  export async function sampleVisual(ctx, item, time, ancestors) {
5
- const matrix = computeWorldMatrix(ctx.items, ancestors, item);
5
+ const matrix = computeWorldMatrix(ctx.items, ancestors, item, time);
6
+ const alpha = computeOpacity(ctx, item, time);
6
7
  const crop = "spatialId" in item && item.spatialId
7
8
  ? ctx.items.get(item.spatialId)?.crop
8
9
  : undefined;
@@ -14,7 +15,7 @@ export async function sampleVisual(ctx, item, time, ancestors) {
14
15
  : undefined;
15
16
  switch (item.kind) {
16
17
  case Kind.Stack: {
17
- const nextAnc = [...ancestors, item];
18
+ const nextAnc = [...ancestors, { item, localTime: time }];
18
19
  const layers = await Promise.all(item.childrenIds
19
20
  .map(id => ctx.items.get(id))
20
21
  .filter((child) => !!child)
@@ -27,7 +28,7 @@ export async function sampleVisual(ctx, item, time, ancestors) {
27
28
  if (time < 0 || time >= item.duration)
28
29
  return [];
29
30
  const frame = await ctx.videoSampler(item, time);
30
- return frame ? [{ kind: "image", frame, matrix, crop, filters, id: item.id }] : [];
31
+ return frame ? [{ kind: "image", frame, matrix, alpha, crop, filters, id: item.id }] : [];
31
32
  }
32
33
  case Kind.Text: {
33
34
  if (time < 0 || time >= item.duration)
@@ -35,7 +36,7 @@ export async function sampleVisual(ctx, item, time, ancestors) {
35
36
  const style = item.styleId
36
37
  ? ctx.items.get(item.styleId)?.style
37
38
  : undefined;
38
- return [{ id: item.id, kind: "text", content: item.content, style, matrix, crop, filters }];
39
+ return [{ id: item.id, kind: "text", content: item.content, style, matrix, alpha, crop, filters }];
39
40
  }
40
41
  case Kind.Gap: {
41
42
  return [{ id: item.id, kind: "gap" }];
@@ -1 +1 @@
1
- {"version":3,"file":"sample.js","sourceRoot":"","sources":["../../../../../../../s/timeline/renderers/parts/samplers/visual/parts/sample.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sample.js","sourceRoot":"","sources":["../../../../../../../s/timeline/renderers/parts/samplers/visual/parts/sample.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { SampleContext } from "./types.js";
2
2
  import { Ms } from "../../../../../../units/ms.js";
3
+ import { Item } from "../../../../../parts/item.js";
3
4
  import { Layer } from "../../../../../../driver/fns/schematic.js";
4
- import { ContainerItem, Item } from "../../../../../parts/item.js";
5
- export declare function sampleSequence(ctx: SampleContext, seq: Item.Sequence, time: Ms, ancestors: ContainerItem[]): Promise<Layer[]>;
5
+ import { AncestorAt } from "../../../handy.js";
6
+ export declare function sampleSequence(ctx: SampleContext, seq: Item.Sequence, time: Ms, ancestors: AncestorAt[]): Promise<Layer[]>;
@@ -1,13 +1,13 @@
1
1
  import { sampleVisual } from "./sample.js";
2
2
  import { sampleTransition } from "./transition.js";
3
3
  import { ms } from "../../../../../../units/ms.js";
4
- import { computeItemDuration } from "../../../handy.js";
5
4
  import { Kind } from "../../../../../parts/item.js";
5
+ import { computeItemDuration } from "../../../handy.js";
6
6
  export async function sampleSequence(ctx, seq, time, ancestors) {
7
7
  const state = sampleSequenceAt(ctx, seq, time);
8
8
  if (!state)
9
9
  return [];
10
- const nextAnc = [...ancestors, seq];
10
+ const nextAnc = [...ancestors, { item: seq, localTime: time }];
11
11
  if (!state.isTransitioning) {
12
12
  return sampleVisual(ctx, state.item, state.localTime, nextAnc);
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../../../../../../s/timeline/renderers/parts/samplers/visual/parts/sequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../../../../../../s/timeline/renderers/parts/samplers/visual/parts/sequence.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  import { TextStyleOptions } from "pixi.js";
2
2
  import { O } from "./o.js";
3
- import { Transform } from "../types.js";
4
3
  import { Media } from "../parts/media.js";
5
4
  import { TimelineFile } from "../parts/basics.js";
6
- import { Crop, FilterableItem, Item } from "../parts/item.js";
7
5
  import { filters, FilterParams, FilterType } from "../parts/filters.js";
6
+ import { Crop, FilterableItem, Item, VisualAnimatableItem } from "../parts/item.js";
7
+ import { Anim, Interpolation, Keyframes, TrackTransform, Transform, Vec2, VisualAnimations } from "../types.js";
8
8
  export type Build<T extends Item.Any = Item.Any> = (o: O) => T;
9
+ type BuildVisualAnimateActions = {
10
+ [TKey in keyof VisualAnimations]-?: BuildAnimateAction;
11
+ };
9
12
  export declare function timeline(root: Build): TimelineFile;
10
13
  export declare function sequence(...items: Build[]): Build<Item.Sequence>;
11
14
  export declare function stack(...items: Build[]): Build<Item.Stack>;
@@ -24,14 +27,28 @@ export declare function text(content: string, options?: {
24
27
  }): Build<Item.Text>;
25
28
  export declare function gap(duration: number): Build<Item.Gap>;
26
29
  export declare function spatial(transform?: Transform, crop?: Crop): Build<Item.Spatial>;
30
+ export declare function animatedSpatial(anim: Anim<TrackTransform>, crop?: Crop): Build<Item.AnimatedSpatial>;
31
+ export declare const anim: {
32
+ scalar(terp: Interpolation, track: Keyframes): Anim<Keyframes>;
33
+ vec2(terp: Interpolation, source: Keyframes<Vec2>): Anim<{
34
+ x: Keyframes;
35
+ y: Keyframes;
36
+ }>;
37
+ transform(terp: Interpolation, source: Keyframes<Transform>): Anim<TrackTransform>;
38
+ };
27
39
  interface BuildFilterAction<TFilter extends FilterType> {
28
40
  <T extends FilterableItem>(item: Build<T>, params?: FilterParams<TFilter>): Build<T>;
29
41
  make(params?: FilterParams<TFilter>): Build<Item.Filter<TFilter>>;
30
42
  }
43
+ interface BuildAnimateAction {
44
+ <T extends VisualAnimatableItem>(item: Build<T>, terp: Interpolation, track: Keyframes): Build<T>;
45
+ make(terp: Interpolation, track: Keyframes): Build<Item.Animation>;
46
+ }
31
47
  type BuildFilterActions = {
32
48
  [TName in keyof typeof filters]: BuildFilterAction<(typeof filters)[TName]["type"]>;
33
49
  };
34
50
  export declare const filter: BuildFilterActions;
51
+ export declare const animate: BuildVisualAnimateActions;
35
52
  export declare function textStyle(style: TextStyleOptions): Build<Item.TextStyle>;
36
53
  export declare const transition: {
37
54
  crossfade(duration: number): Build<Item.Transition>;
@@ -1,4 +1,5 @@
1
1
  import { O } from "./o.js";
2
+ import { visualAnimations } from "../parts/animations.js";
2
3
  import { filters } from "../parts/filters.js";
3
4
  function createTimeline() {
4
5
  return {
@@ -36,6 +37,37 @@ export function gap(duration) {
36
37
  export function spatial(transform, crop) {
37
38
  return o => o.spatial(transform, crop);
38
39
  }
40
+ export function animatedSpatial(anim, crop) {
41
+ return o => o.animatedSpatial(anim, crop);
42
+ }
43
+ export const anim = {
44
+ scalar(terp, track) {
45
+ return { terp, track };
46
+ },
47
+ vec2(terp, source) {
48
+ const track = { x: [], y: [] };
49
+ for (const [time, [x, y]] of source) {
50
+ track.x.push([time, x]);
51
+ track.y.push([time, y]);
52
+ }
53
+ return { terp, track };
54
+ },
55
+ transform(terp, source) {
56
+ const track = {
57
+ position: { x: [], y: [] },
58
+ scale: { x: [], y: [] },
59
+ rotation: [],
60
+ };
61
+ for (const [time, [position, scale, rotation]] of source) {
62
+ track.position.x.push([time, position[0]]);
63
+ track.position.y.push([time, position[1]]);
64
+ track.scale.x.push([time, scale[0]]);
65
+ track.scale.y.push([time, scale[1]]);
66
+ track.rotation.push([time, rotation]);
67
+ }
68
+ return { terp, track };
69
+ },
70
+ };
39
71
  function makeFilter(get) {
40
72
  const action = ((item, params) => o => get(o)(item(o), params));
41
73
  action.make = (params) => o => get(o).make(params);
@@ -50,6 +82,17 @@ function makeFilters() {
50
82
  return Object.fromEntries(entries);
51
83
  }
52
84
  export const filter = makeFilters();
85
+ function makeAnimate(get) {
86
+ const action = ((item, terp, track) => o => get(o)(item(o), terp, track));
87
+ action.make = (terp, track) => o => get(o).make(terp, track);
88
+ return action;
89
+ }
90
+ function makeAnimateActions() {
91
+ const entries = Object.keys(visualAnimations)
92
+ .map(key => [key, makeAnimate(o => o.animate[key])]);
93
+ return Object.fromEntries(entries);
94
+ }
95
+ export const animate = makeAnimateActions();
53
96
  export function textStyle(style) {
54
97
  return o => o.textStyle(style);
55
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../s/timeline/sugar/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../s/timeline/sugar/helpers.ts"],"names":[],"mappings":"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"}