@revideo/2d 0.2.5 → 0.2.6-alpha.906

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 (222) hide show
  1. package/lib/code/CodeCursor.d.ts +74 -74
  2. package/lib/code/CodeCursor.js +286 -352
  3. package/lib/code/CodeDiffer.d.ts +16 -21
  4. package/lib/code/CodeDiffer.js +41 -39
  5. package/lib/code/CodeFragment.d.ts +8 -16
  6. package/lib/code/CodeFragment.js +36 -36
  7. package/lib/code/CodeHighlighter.d.ts +59 -59
  8. package/lib/code/CodeHighlighter.js +1 -1
  9. package/lib/code/CodeMetrics.d.ts +8 -12
  10. package/lib/code/CodeMetrics.js +24 -26
  11. package/lib/code/CodeRange.d.ts +5 -21
  12. package/lib/code/CodeRange.js +124 -131
  13. package/lib/code/CodeScope.d.ts +8 -18
  14. package/lib/code/CodeScope.js +61 -59
  15. package/lib/code/CodeSelection.d.ts +4 -9
  16. package/lib/code/CodeSelection.js +8 -8
  17. package/lib/code/CodeSignal.d.ts +47 -74
  18. package/lib/code/CodeSignal.js +189 -206
  19. package/lib/code/CodeTokenizer.d.ts +1 -1
  20. package/lib/code/CodeTokenizer.js +41 -41
  21. package/lib/code/DefaultHighlightStyle.d.ts +2 -2
  22. package/lib/code/DefaultHighlightStyle.js +96 -96
  23. package/lib/code/LezerHighlighter.d.ts +19 -21
  24. package/lib/code/LezerHighlighter.js +101 -101
  25. package/lib/code/diff.d.ts +9 -12
  26. package/lib/code/diff.js +205 -218
  27. package/lib/code/extractRange.d.ts +4 -7
  28. package/lib/code/extractRange.js +71 -79
  29. package/lib/code/index.d.ts +1 -1
  30. package/lib/code/index.js +1 -1
  31. package/lib/components/Audio.d.ts +11 -11
  32. package/lib/components/Audio.d.ts.map +1 -1
  33. package/lib/components/Audio.js +109 -115
  34. package/lib/components/Bezier.d.ts +18 -18
  35. package/lib/components/Bezier.js +75 -86
  36. package/lib/components/Circle.d.ts +90 -95
  37. package/lib/components/Circle.js +74 -85
  38. package/lib/components/Code.d.ts +211 -244
  39. package/lib/components/Code.d.ts.map +1 -1
  40. package/lib/components/Code.js +269 -317
  41. package/lib/components/CodeBlock.d.ts +67 -109
  42. package/lib/components/CodeBlock.d.ts.map +1 -1
  43. package/lib/components/CodeBlock.js +373 -414
  44. package/lib/components/CubicBezier.d.ts +36 -36
  45. package/lib/components/CubicBezier.js +49 -52
  46. package/lib/components/Curve.d.ts +198 -208
  47. package/lib/components/Curve.js +269 -270
  48. package/lib/components/Grid.d.ts +42 -47
  49. package/lib/components/Grid.js +56 -63
  50. package/lib/components/Icon.d.ts +50 -55
  51. package/lib/components/Icon.js +50 -58
  52. package/lib/components/Img.d.ts +79 -86
  53. package/lib/components/Img.d.ts.map +1 -1
  54. package/lib/components/Img.js +181 -193
  55. package/lib/components/Knot.d.ts +78 -97
  56. package/lib/components/Knot.js +60 -81
  57. package/lib/components/Latex.d.ts +12 -12
  58. package/lib/components/Latex.js +65 -77
  59. package/lib/components/Layout.d.ts +413 -455
  60. package/lib/components/Layout.d.ts.map +1 -1
  61. package/lib/components/Layout.js +681 -666
  62. package/lib/components/Line.d.ts +49 -61
  63. package/lib/components/Line.js +193 -216
  64. package/lib/components/Media.d.ts +35 -35
  65. package/lib/components/Media.d.ts.map +1 -1
  66. package/lib/components/Media.js +134 -135
  67. package/lib/components/Node.d.ts +830 -875
  68. package/lib/components/Node.d.ts.map +1 -1
  69. package/lib/components/Node.js +1314 -1383
  70. package/lib/components/Path.d.ts +14 -35
  71. package/lib/components/Path.js +89 -100
  72. package/lib/components/Polygon.d.ts +55 -60
  73. package/lib/components/Polygon.js +66 -71
  74. package/lib/components/QuadBezier.d.ts +29 -29
  75. package/lib/components/QuadBezier.js +45 -50
  76. package/lib/components/Ray.d.ts +28 -28
  77. package/lib/components/Ray.js +64 -71
  78. package/lib/components/Rect.d.ts +108 -115
  79. package/lib/components/Rect.js +72 -78
  80. package/lib/components/SVG.d.ts +139 -165
  81. package/lib/components/SVG.js +541 -609
  82. package/lib/components/Shape.d.ts +35 -44
  83. package/lib/components/Shape.d.ts.map +1 -1
  84. package/lib/components/Shape.js +127 -112
  85. package/lib/components/Spline.d.ts +40 -46
  86. package/lib/components/Spline.js +175 -190
  87. package/lib/components/Txt.d.ts +44 -55
  88. package/lib/components/Txt.d.ts.map +1 -1
  89. package/lib/components/Txt.js +155 -156
  90. package/lib/components/TxtLeaf.d.ts +16 -20
  91. package/lib/components/TxtLeaf.d.ts.map +1 -1
  92. package/lib/components/TxtLeaf.js +2 -2
  93. package/lib/components/Video.d.ts +45 -41
  94. package/lib/components/Video.d.ts.map +1 -1
  95. package/lib/components/Video.js +207 -138
  96. package/lib/components/View2D.d.ts +22 -21
  97. package/lib/components/View2D.d.ts.map +1 -1
  98. package/lib/components/View2D.js +89 -98
  99. package/lib/components/index.d.ts +1 -1
  100. package/lib/components/index.js +1 -1
  101. package/lib/components/types.d.ts +9 -22
  102. package/lib/components/types.js +1 -1
  103. package/lib/curves/ArcSegment.d.ts +24 -36
  104. package/lib/curves/ArcSegment.js +94 -145
  105. package/lib/curves/CircleSegment.d.ts +16 -26
  106. package/lib/curves/CircleSegment.js +49 -56
  107. package/lib/curves/CubicBezierSegment.d.ts +13 -18
  108. package/lib/curves/CubicBezierSegment.js +46 -79
  109. package/lib/curves/CurveDrawingInfo.d.ts +9 -9
  110. package/lib/curves/CurveDrawingInfo.js +1 -1
  111. package/lib/curves/CurvePoint.d.ts +13 -13
  112. package/lib/curves/CurvePoint.js +1 -1
  113. package/lib/curves/CurveProfile.d.ts +5 -5
  114. package/lib/curves/CurveProfile.js +1 -1
  115. package/lib/curves/KnotInfo.d.ts +8 -8
  116. package/lib/curves/KnotInfo.js +1 -1
  117. package/lib/curves/LineSegment.d.ts +14 -19
  118. package/lib/curves/LineSegment.js +42 -42
  119. package/lib/curves/Polynomial.d.ts +110 -110
  120. package/lib/curves/Polynomial.js +239 -249
  121. package/lib/curves/Polynomial2D.d.ts +20 -20
  122. package/lib/curves/Polynomial2D.js +42 -46
  123. package/lib/curves/PolynomialSegment.d.ts +37 -42
  124. package/lib/curves/PolynomialSegment.js +81 -83
  125. package/lib/curves/QuadBezierSegment.d.ts +12 -12
  126. package/lib/curves/QuadBezierSegment.js +41 -71
  127. package/lib/curves/Segment.d.ts +7 -12
  128. package/lib/curves/Segment.js +3 -2
  129. package/lib/curves/UniformPolynomialCurveSampler.d.ts +34 -34
  130. package/lib/curves/UniformPolynomialCurveSampler.js +62 -68
  131. package/lib/curves/createCurveProfileLerp.d.ts +6 -17
  132. package/lib/curves/createCurveProfileLerp.js +208 -211
  133. package/lib/curves/getBezierSplineProfile.d.ts +4 -8
  134. package/lib/curves/getBezierSplineProfile.js +101 -145
  135. package/lib/curves/getCircleProfile.d.ts +4 -10
  136. package/lib/curves/getCircleProfile.js +40 -72
  137. package/lib/curves/getPathProfile.d.ts +2 -2
  138. package/lib/curves/getPathProfile.js +112 -135
  139. package/lib/curves/getPointAtDistance.d.ts +4 -7
  140. package/lib/curves/getPointAtDistance.js +12 -12
  141. package/lib/curves/getPolylineProfile.d.ts +4 -8
  142. package/lib/curves/getPolylineProfile.js +54 -67
  143. package/lib/curves/getRectProfile.d.ts +4 -9
  144. package/lib/curves/getRectProfile.js +52 -117
  145. package/lib/curves/index.d.ts +1 -1
  146. package/lib/curves/index.js +1 -1
  147. package/lib/decorators/canvasStyleSignal.d.ts +3 -3
  148. package/lib/decorators/canvasStyleSignal.js +10 -10
  149. package/lib/decorators/colorSignal.d.ts +1 -1
  150. package/lib/decorators/colorSignal.js +7 -7
  151. package/lib/decorators/compound.d.ts +2 -4
  152. package/lib/decorators/compound.js +23 -43
  153. package/lib/decorators/computed.d.ts +1 -1
  154. package/lib/decorators/computed.js +9 -9
  155. package/lib/decorators/defaultStyle.d.ts +2 -5
  156. package/lib/decorators/defaultStyle.js +11 -11
  157. package/lib/decorators/filtersSignal.d.ts +8 -28
  158. package/lib/decorators/filtersSignal.js +64 -87
  159. package/lib/decorators/index.d.ts +1 -1
  160. package/lib/decorators/index.js +1 -1
  161. package/lib/decorators/initializers.d.ts +2 -5
  162. package/lib/decorators/initializers.js +19 -18
  163. package/lib/decorators/nodeName.d.ts +1 -1
  164. package/lib/decorators/nodeName.js +4 -4
  165. package/lib/decorators/signal.d.ts +20 -40
  166. package/lib/decorators/signal.js +104 -113
  167. package/lib/decorators/spacingSignal.d.ts +1 -1
  168. package/lib/decorators/spacingSignal.js +13 -13
  169. package/lib/decorators/vector2Signal.d.ts +7 -13
  170. package/lib/decorators/vector2Signal.js +13 -15
  171. package/lib/index.d.ts +1 -1
  172. package/lib/index.js +1 -1
  173. package/lib/jsx-dev-runtime.d.ts +3 -3
  174. package/lib/jsx-dev-runtime.js +3 -3
  175. package/lib/jsx-runtime.d.ts +9 -19
  176. package/lib/jsx-runtime.js +18 -18
  177. package/lib/partials/Filter.d.ts +16 -24
  178. package/lib/partials/Filter.js +69 -69
  179. package/lib/partials/Gradient.d.ts +24 -30
  180. package/lib/partials/Gradient.js +58 -69
  181. package/lib/partials/Pattern.d.ts +9 -14
  182. package/lib/partials/Pattern.js +24 -30
  183. package/lib/partials/ShaderConfig.d.ts +74 -81
  184. package/lib/partials/ShaderConfig.js +23 -22
  185. package/lib/partials/index.d.ts +1 -1
  186. package/lib/partials/index.js +1 -1
  187. package/lib/partials/types.d.ts +6 -19
  188. package/lib/partials/types.js +1 -1
  189. package/lib/scenes/Scene2D.d.ts +23 -42
  190. package/lib/scenes/Scene2D.d.ts.map +1 -1
  191. package/lib/scenes/Scene2D.js +152 -161
  192. package/lib/scenes/index.d.ts +1 -1
  193. package/lib/scenes/index.js +1 -1
  194. package/lib/scenes/makeScene2D.d.ts +5 -7
  195. package/lib/scenes/makeScene2D.js +10 -10
  196. package/lib/scenes/useScene2D.d.ts +2 -2
  197. package/lib/scenes/useScene2D.js +3 -3
  198. package/lib/tsconfig.build.tsbuildinfo +1 -1
  199. package/lib/utils/CanvasUtils.d.ts +21 -93
  200. package/lib/utils/CanvasUtils.js +105 -186
  201. package/lib/utils/diff.d.ts +18 -25
  202. package/lib/utils/diff.js +87 -84
  203. package/lib/utils/index.d.ts +1 -1
  204. package/lib/utils/index.js +1 -1
  205. package/lib/utils/is.d.ts +2 -4
  206. package/lib/utils/is.js +2 -2
  207. package/lib/utils/makeSignalExtensions.d.ts +4 -11
  208. package/lib/utils/makeSignalExtensions.js +17 -17
  209. package/package.json +5 -5
  210. package/src/lib/components/Audio.ts +2 -2
  211. package/src/lib/components/Code.ts +4 -2
  212. package/src/lib/components/CodeBlock.ts +1 -1
  213. package/src/lib/components/Img.ts +2 -2
  214. package/src/lib/components/Layout.ts +2 -2
  215. package/src/lib/components/Media.ts +3 -1
  216. package/src/lib/components/Node.ts +9 -9
  217. package/src/lib/components/Shape.ts +2 -2
  218. package/src/lib/components/Txt.ts +2 -2
  219. package/src/lib/components/TxtLeaf.ts +1 -1
  220. package/src/lib/components/Video.ts +120 -8
  221. package/src/lib/components/View2D.ts +6 -2
  222. package/src/lib/scenes/Scene2D.ts +4 -3
package/lib/utils/diff.js CHANGED
@@ -1,94 +1,97 @@
1
1
  function getIdMap(list) {
2
- const map = new Map();
3
- let before = undefined;
4
- for (const [index, current] of list.entries()) {
5
- const currentArray = map.get(current.id) ?? [];
6
- if (!map.has(current.id)) {
7
- map.set(current.id, currentArray);
2
+ const map = new Map();
3
+ let before = undefined;
4
+ for (const [index, current] of list.entries()) {
5
+ const currentArray = map.get(current.id) ?? [];
6
+ if (!map.has(current.id)) {
7
+ map.set(current.id, currentArray);
8
+ }
9
+ currentArray.push({
10
+ before,
11
+ current,
12
+ beforeIdIndex: before ? map.get(before.id).length - 1 : -1,
13
+ currentIndex: index,
14
+ });
15
+ before = current;
8
16
  }
9
- currentArray.push({
10
- before,
11
- current,
12
- beforeIdIndex: before ? map.get(before.id).length - 1 : -1,
13
- currentIndex: index,
14
- });
15
- before = current;
16
- }
17
- return map;
17
+ return map;
18
18
  }
19
19
  export function getTransformDiff(from, to) {
20
- const diff = {
21
- inserted: [],
22
- deleted: [],
23
- transformed: [],
24
- };
25
- const fromMap = getIdMap(from);
26
- const toMap = getIdMap(to);
27
- for (const [key, fromItem] of fromMap.entries()) {
28
- const toItem = toMap.get(key);
29
- if (toItem) {
30
- toMap.delete(key);
31
- for (let i = 0; i < Math.max(fromItem.length, toItem.length); i++) {
32
- const insert = i >= fromItem.length;
33
- const remove = i >= toItem.length;
34
- const fromNode = !insert ? fromItem[i] : fromItem[fromItem.length - 1];
35
- const toNode = !remove ? toItem[i] : toItem[toItem.length - 1];
36
- diff.transformed.push({
37
- insert,
38
- remove,
39
- from: fromNode,
40
- to: toNode,
41
- });
42
- }
43
- } else {
44
- for (const node of fromItem) {
45
- diff.deleted.push(node);
46
- }
20
+ const diff = {
21
+ inserted: [],
22
+ deleted: [],
23
+ transformed: [],
24
+ };
25
+ const fromMap = getIdMap(from);
26
+ const toMap = getIdMap(to);
27
+ for (const [key, fromItem] of fromMap.entries()) {
28
+ const toItem = toMap.get(key);
29
+ if (toItem) {
30
+ toMap.delete(key);
31
+ for (let i = 0; i < Math.max(fromItem.length, toItem.length); i++) {
32
+ const insert = i >= fromItem.length;
33
+ const remove = i >= toItem.length;
34
+ const fromNode = !insert ? fromItem[i] : fromItem[fromItem.length - 1];
35
+ const toNode = !remove ? toItem[i] : toItem[toItem.length - 1];
36
+ diff.transformed.push({
37
+ insert,
38
+ remove,
39
+ from: fromNode,
40
+ to: toNode,
41
+ });
42
+ }
43
+ }
44
+ else {
45
+ for (const node of fromItem) {
46
+ diff.deleted.push(node);
47
+ }
48
+ }
47
49
  }
48
- }
49
- for (const toItem of toMap.values()) {
50
- for (const node of toItem) {
51
- diff.inserted.push(node);
50
+ for (const toItem of toMap.values()) {
51
+ for (const node of toItem) {
52
+ diff.inserted.push(node);
53
+ }
52
54
  }
53
- }
54
- return diff;
55
+ return diff;
55
56
  }
56
57
  export function applyTransformDiff(current, diff, cloner) {
57
- function insert(item) {
58
- let idIndex = -1;
59
- const index = item.before
60
- ? current.findIndex(({id}) => {
61
- if (id === item.before?.id) {
62
- idIndex++;
63
- if (idIndex === item.beforeIdIndex) return true;
64
- }
65
- return false;
66
- })
67
- : 0;
68
- current.splice(index + 1, 0, item.current);
69
- }
70
- const result = {
71
- inserted: diff.inserted.map(item => ({
72
- item,
73
- order: item.currentIndex,
74
- })),
75
- };
76
- for (const item of diff.transformed) {
77
- if (!item.insert) continue;
78
- const from = item.from;
79
- item.from = {
80
- ...item.to,
81
- current: cloner(from.current),
58
+ function insert(item) {
59
+ let idIndex = -1;
60
+ const index = item.before
61
+ ? current.findIndex(({ id }) => {
62
+ if (id === item.before?.id) {
63
+ idIndex++;
64
+ if (idIndex === item.beforeIdIndex)
65
+ return true;
66
+ }
67
+ return false;
68
+ })
69
+ : 0;
70
+ current.splice(index + 1, 0, item.current);
71
+ }
72
+ const result = {
73
+ inserted: diff.inserted.map(item => ({
74
+ item,
75
+ order: item.currentIndex,
76
+ })),
82
77
  };
83
- result.inserted.push({
84
- item: item.from,
85
- order: item.to.currentIndex,
86
- });
87
- }
88
- result.inserted.sort((a, b) => a.order - b.order);
89
- for (const item of result.inserted) {
90
- insert(item.item);
91
- }
92
- return result;
78
+ for (const item of diff.transformed) {
79
+ if (!item.insert)
80
+ continue;
81
+ const from = item.from;
82
+ item.from = {
83
+ ...item.to,
84
+ current: cloner(from.current),
85
+ };
86
+ result.inserted.push({
87
+ item: item.from,
88
+ order: item.to.currentIndex,
89
+ });
90
+ }
91
+ result.inserted.sort((a, b) => a.order - b.order);
92
+ for (const item of result.inserted) {
93
+ insert(item.item);
94
+ }
95
+ return result;
93
96
  }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvZGlmZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQ0EsU0FBUyxRQUFRLENBQW1CLElBQVM7SUFDM0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQWtDLENBQUM7SUFDdEQsSUFBSSxNQUFNLEdBQWtCLFNBQVMsQ0FBQztJQUN0QyxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDOUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3pCLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNoQixNQUFNO1lBQ04sT0FBTztZQUNQLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRCxZQUFZLEVBQUUsS0FBSztTQUNwQixDQUFDLENBQUM7UUFDSCxNQUFNLEdBQUcsT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLElBQVMsRUFDVCxFQUFPO0lBRVAsTUFBTSxJQUFJLEdBQXFCO1FBQzdCLFFBQVEsRUFBRSxFQUFFO1FBQ1osT0FBTyxFQUFFLEVBQUU7UUFDWCxXQUFXLEVBQUUsRUFBRTtLQUNo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
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvZGlmZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQ0EsU0FBUyxRQUFRLENBQW1CLElBQVM7SUFDM0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQWtDLENBQUM7SUFDdEQsSUFBSSxNQUFNLEdBQWtCLFNBQVMsQ0FBQztJQUN0QyxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDOUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3pCLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNoQixNQUFNO1lBQ04sT0FBTztZQUNQLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRCxZQUFZLEVBQUUsS0FBSztTQUNwQixDQUFDLENBQUM7UUFDSCxNQUFNLEdBQUcsT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLElBQVMsRUFDVCxFQUFPO0lBRVAsTUFBTSxJQUFJLEdBQXFCO1FBQzdCLFFBQVEsRUFBRSxFQUFFO1FBQ1osT0FBTyxFQUFFLEVBQUU7UUFDWCxXQUFXLEVBQUUsRUFBRTtLQUNo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
@@ -1,3 +1,3 @@
1
1
  export * from './CanvasUtils';
2
2
  export * from './is';
3
- //# sourceMappingURL=index.d.ts.map
3
+ //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,3 @@
1
1
  export * from './CanvasUtils';
2
2
  export * from './is';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsTUFBTSxDQUFDIn0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsTUFBTSxDQUFDIn0=
package/lib/utils/is.d.ts CHANGED
@@ -4,7 +4,5 @@
4
4
  *
5
5
  * @param klass - The class to check against.
6
6
  */
7
- export declare function is<T>(
8
- klass: new (...args: any[]) => T,
9
- ): (object: any) => object is T;
10
- //# sourceMappingURL=is.d.ts.map
7
+ export declare function is<T>(klass: new (...args: any[]) => T): (object: any) => object is T;
8
+ //# sourceMappingURL=is.d.ts.map
package/lib/utils/is.js CHANGED
@@ -5,6 +5,6 @@
5
5
  * @param klass - The class to check against.
6
6
  */
7
7
  export function is(klass) {
8
- return object => object instanceof klass;
8
+ return (object) => object instanceof klass;
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3V0aWxzL2lzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLEVBQUUsQ0FDaEIsS0FBZ0M7SUFFaEMsT0FBTyxDQUFDLE1BQU0sRUFBZSxFQUFFLENBQUMsTUFBTSxZQUFZLEtBQUssQ0FBQztBQUMxRCxDQUFDIn0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3V0aWxzL2lzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLEVBQUUsQ0FDaEIsS0FBZ0M7SUFFaEMsT0FBTyxDQUFDLE1BQU0sRUFBZSxFQUFFLENBQUMsTUFBTSxZQUFZLEtBQUssQ0FBQztBQUMxRCxDQUFDIn0=
@@ -1,11 +1,4 @@
1
- import {SignalExtensions} from '@revideo/core';
2
- import {PropertyMetadata} from '../decorators';
3
- export declare function makeSignalExtensions<
4
- TSetterValue,
5
- TValue extends TSetterValue,
6
- >(
7
- meta?: Partial<PropertyMetadata<TValue>>,
8
- owner?: any,
9
- name?: string,
10
- ): Partial<SignalExtensions<TSetterValue, TValue>>;
11
- //# sourceMappingURL=makeSignalExtensions.d.ts.map
1
+ import { SignalExtensions } from '@revideo/core';
2
+ import { PropertyMetadata } from '../decorators';
3
+ export declare function makeSignalExtensions<TSetterValue, TValue extends TSetterValue>(meta?: Partial<PropertyMetadata<TValue>>, owner?: any, name?: string): Partial<SignalExtensions<TSetterValue, TValue>>;
4
+ //# sourceMappingURL=makeSignalExtensions.d.ts.map
@@ -1,20 +1,20 @@
1
- import {capitalize} from '@revideo/core';
1
+ import { capitalize } from '@revideo/core';
2
2
  export function makeSignalExtensions(meta = {}, owner, name) {
3
- const extensions = {};
4
- if (name && owner) {
5
- const setter = meta.setter ?? owner?.[`set${capitalize(name)}`];
6
- if (setter) {
7
- extensions.setter = setter.bind(owner);
3
+ const extensions = {};
4
+ if (name && owner) {
5
+ const setter = meta.setter ?? owner?.[`set${capitalize(name)}`];
6
+ if (setter) {
7
+ extensions.setter = setter.bind(owner);
8
+ }
9
+ const getter = meta.getter ?? owner?.[`get${capitalize(name)}`];
10
+ if (getter) {
11
+ extensions.getter = getter.bind(owner);
12
+ }
13
+ const tweener = meta.tweener ?? owner?.[`tween${capitalize(name)}`];
14
+ if (tweener) {
15
+ extensions.tweener = tweener.bind(owner);
16
+ }
8
17
  }
9
- const getter = meta.getter ?? owner?.[`get${capitalize(name)}`];
10
- if (getter) {
11
- extensions.getter = getter.bind(owner);
12
- }
13
- const tweener = meta.tweener ?? owner?.[`tween${capitalize(name)}`];
14
- if (tweener) {
15
- extensions.tweener = tweener.bind(owner);
16
- }
17
- }
18
- return extensions;
18
+ return extensions;
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVNpZ25hbEV4dGVuc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3V0aWxzL21ha2VTaWduYWxFeHRlbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzNELE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsT0FBMEMsRUFBRSxFQUM1QyxLQUFXLEVBQ1gsSUFBYTtJQUViLE1BQU0sVUFBVSxHQUFvRCxFQUFFLENBQUM7SUFFdkUsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQyxNQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEUsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQyxNQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEUsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQyxRQUFRLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLFVBQVUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVNpZ25hbEV4dGVuc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3V0aWxzL21ha2VTaWduYWxFeHRlbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzNELE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsT0FBMEMsRUFBRSxFQUM1QyxLQUFXLEVBQ1gsSUFBYTtJQUViLE1BQU0sVUFBVSxHQUFvRCxFQUFFLENBQUM7SUFFdkUsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQyxNQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEUsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQyxNQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEUsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQyxRQUFRLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLFVBQVUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revideo/2d",
3
- "version": "0.2.5",
3
+ "version": "0.2.6-alpha.906+272a347",
4
4
  "description": "A 2D renderer for revideo",
5
5
  "author": "revideo",
6
6
  "homepage": "https://re.video/",
@@ -29,8 +29,8 @@
29
29
  ],
30
30
  "devDependencies": {
31
31
  "@preact/signals": "^1.2.1",
32
- "@revideo/internal": "0.0.0",
33
- "@revideo/ui": "^0.2.5",
32
+ "@revideo/internal": "^0.0.0",
33
+ "@revideo/ui": "^0.2.6-alpha.906+272a347",
34
34
  "clsx": "^2.0.0",
35
35
  "jsdom": "^22.1.0",
36
36
  "preact": "^10.19.2",
@@ -40,10 +40,10 @@
40
40
  "@codemirror/language": "^6.10.1",
41
41
  "@lezer/common": "^1.2.1",
42
42
  "@lezer/highlight": "^1.2.0",
43
- "@revideo/core": "^0.2.5",
43
+ "@revideo/core": "^0.2.6-alpha.906+272a347",
44
44
  "code-fns": "^0.8.2",
45
45
  "mathjax-full": "^3.2.2",
46
46
  "parse-svg-path": "^0.1.2"
47
47
  },
48
- "gitHead": "f2c36c8876a48e05de5241dde92a4b683c17a6f1"
48
+ "gitHead": "272a347b149c894b15292eb95bab4cd01090bda9"
49
49
  }
@@ -114,7 +114,7 @@ export class Audio extends Media {
114
114
  return audio;
115
115
  }
116
116
 
117
- protected override draw(context: CanvasRenderingContext2D) {
117
+ protected override async draw(context: CanvasRenderingContext2D) {
118
118
  const playbackState = this.view().playbackState();
119
119
 
120
120
  playbackState === PlaybackState.Playing ||
@@ -125,6 +125,6 @@ export class Audio extends Media {
125
125
  context.save();
126
126
  context.restore();
127
127
 
128
- this.drawChildren(context);
128
+ await this.drawChildren(context);
129
129
  }
130
130
  }
@@ -511,7 +511,9 @@ export class Code extends Shape {
511
511
  return size;
512
512
  }
513
513
 
514
- protected override draw(context: CanvasRenderingContext2D): void {
514
+ protected override async draw(
515
+ context: CanvasRenderingContext2D,
516
+ ): Promise<void> {
515
517
  this.requestFontUpdate();
516
518
  this.applyStyle(context);
517
519
  this.applyText(context);
@@ -534,7 +536,7 @@ export class Code extends Shape {
534
536
 
535
537
  context.restore();
536
538
 
537
- this.drawChildren(context);
539
+ await this.drawChildren(context);
538
540
  }
539
541
 
540
542
  protected override applyText(context: CanvasRenderingContext2D) {
@@ -335,7 +335,7 @@ export class CodeBlock extends Shape {
335
335
  );
336
336
  }
337
337
 
338
- protected override draw(context: CanvasRenderingContext2D) {
338
+ protected override async draw(context: CanvasRenderingContext2D) {
339
339
  if (!CodeBlock.initialized()) return;
340
340
 
341
341
  this.requestFontUpdate();
@@ -221,7 +221,7 @@ about working with images.`,
221
221
  return context;
222
222
  }
223
223
 
224
- protected override draw(context: CanvasRenderingContext2D) {
224
+ protected override async draw(context: CanvasRenderingContext2D) {
225
225
  this.drawShape(context);
226
226
  const alpha = this.alpha();
227
227
  if (alpha > 0) {
@@ -240,7 +240,7 @@ about working with images.`,
240
240
  context.clip(this.getPath());
241
241
  }
242
242
 
243
- this.drawChildren(context);
243
+ await this.drawChildren(context);
244
244
  }
245
245
 
246
246
  protected override applyFlex() {
@@ -820,7 +820,7 @@ export class Layout extends Node {
820
820
  return BBox.fromSizeCentered(this.computedSize());
821
821
  }
822
822
 
823
- protected override draw(context: CanvasRenderingContext2D) {
823
+ protected override async draw(context: CanvasRenderingContext2D) {
824
824
  if (this.clip()) {
825
825
  const size = this.computedSize();
826
826
  if (size.width === 0 || size.height === 0) {
@@ -833,7 +833,7 @@ export class Layout extends Node {
833
833
  context.clip();
834
834
  }
835
835
 
836
- this.drawChildren(context);
836
+ await this.drawChildren(context);
837
837
  }
838
838
 
839
839
  public override drawOverlay(
@@ -86,7 +86,9 @@ export abstract class Media extends Rect {
86
86
 
87
87
  protected abstract fastSeekedMedia(): HTMLMediaElement;
88
88
 
89
- protected abstract override draw(context: CanvasRenderingContext2D): void;
89
+ protected abstract override draw(
90
+ context: CanvasRenderingContext2D,
91
+ ): Promise<void>;
90
92
 
91
93
  protected setCurrentTime(value: number) {
92
94
  const media = this.mediaElement();
@@ -1355,7 +1355,7 @@ export class Node implements Promisable<Node> {
1355
1355
  * Get a cache canvas with the contents of this node rendered onto it.
1356
1356
  */
1357
1357
  @computed()
1358
- protected cachedCanvas() {
1358
+ protected async cachedCanvas() {
1359
1359
  const context = this.cacheCanvas();
1360
1360
  const cache = this.worldSpaceCacheBBox();
1361
1361
  const matrix = this.localToWorld();
@@ -1371,7 +1371,7 @@ export class Node implements Promisable<Node> {
1371
1371
  matrix.e - cache.x,
1372
1372
  matrix.f - cache.y,
1373
1373
  );
1374
- this.draw(context);
1374
+ await this.draw(context);
1375
1375
 
1376
1376
  return context;
1377
1377
  }
@@ -1629,7 +1629,7 @@ export class Node implements Promisable<Node> {
1629
1629
  *
1630
1630
  * @param context - The context to draw with.
1631
1631
  */
1632
- public render(context: CanvasRenderingContext2D) {
1632
+ public async render(context: CanvasRenderingContext2D) {
1633
1633
  if (this.absoluteOpacity() <= 0) {
1634
1634
  return;
1635
1635
  }
@@ -1640,7 +1640,7 @@ export class Node implements Promisable<Node> {
1640
1640
  if (this.requiresCache()) {
1641
1641
  const cacheRect = this.worldSpaceCacheBBox();
1642
1642
  if (cacheRect.width !== 0 && cacheRect.height !== 0) {
1643
- const cache = this.cachedCanvas().canvas;
1643
+ const cache = (await this.cachedCanvas()).canvas;
1644
1644
  const source = this.shaderCanvas(context.canvas, cache);
1645
1645
  if (source) {
1646
1646
  this.renderFromSource(context, source, 0, 0);
@@ -1654,7 +1654,7 @@ export class Node implements Promisable<Node> {
1654
1654
  }
1655
1655
  }
1656
1656
  } else {
1657
- this.draw(context);
1657
+ await this.draw(context);
1658
1658
  }
1659
1659
 
1660
1660
  context.restore();
@@ -1670,13 +1670,13 @@ export class Node implements Promisable<Node> {
1670
1670
  *
1671
1671
  * @param context - The context to draw with.
1672
1672
  */
1673
- protected draw(context: CanvasRenderingContext2D) {
1674
- this.drawChildren(context);
1673
+ protected async draw(context: CanvasRenderingContext2D) {
1674
+ await this.drawChildren(context);
1675
1675
  }
1676
1676
 
1677
- protected drawChildren(context: CanvasRenderingContext2D) {
1677
+ protected async drawChildren(context: CanvasRenderingContext2D) {
1678
1678
  for (const child of this.sortedChildren()) {
1679
- child.render(context);
1679
+ await child.render(context);
1680
1680
  }
1681
1681
  }
1682
1682
 
@@ -88,12 +88,12 @@ export abstract class Shape extends Layout {
88
88
  }
89
89
  }
90
90
 
91
- protected override draw(context: CanvasRenderingContext2D) {
91
+ protected override async draw(context: CanvasRenderingContext2D) {
92
92
  this.drawShape(context);
93
93
  if (this.clip()) {
94
94
  context.clip(this.getPath());
95
95
  }
96
- this.drawChildren(context);
96
+ await this.drawChildren(context);
97
97
  }
98
98
 
99
99
  protected drawShape(context: CanvasRenderingContext2D) {
@@ -177,8 +177,8 @@ export class Txt extends Shape {
177
177
  : 'block';
178
178
  }
179
179
 
180
- protected override draw(context: CanvasRenderingContext2D) {
181
- this.drawChildren(context);
180
+ protected override async draw(context: CanvasRenderingContext2D) {
181
+ await this.drawChildren(context);
182
182
  }
183
183
  }
184
184
 
@@ -61,7 +61,7 @@ export class TxtLeaf extends Shape {
61
61
  return parent instanceof Txt ? parent : null;
62
62
  }
63
63
 
64
- protected override draw(context: CanvasRenderingContext2D) {
64
+ protected override async draw(context: CanvasRenderingContext2D) {
65
65
  this.requestFontUpdate();
66
66
  this.applyStyle(context);
67
67
  this.applyText(context);