@revideo/2d 0.2.1 → 0.2.2

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 (198) 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.js +109 -115
  33. package/lib/components/Bezier.d.ts +18 -18
  34. package/lib/components/Bezier.js +75 -86
  35. package/lib/components/Circle.d.ts +90 -95
  36. package/lib/components/Circle.js +74 -85
  37. package/lib/components/Code.d.ts +211 -244
  38. package/lib/components/Code.js +269 -317
  39. package/lib/components/CodeBlock.d.ts +67 -109
  40. package/lib/components/CodeBlock.js +373 -414
  41. package/lib/components/CubicBezier.d.ts +36 -36
  42. package/lib/components/CubicBezier.js +49 -52
  43. package/lib/components/Curve.d.ts +198 -208
  44. package/lib/components/Curve.js +269 -270
  45. package/lib/components/Grid.d.ts +42 -47
  46. package/lib/components/Grid.js +56 -63
  47. package/lib/components/Icon.d.ts +50 -55
  48. package/lib/components/Icon.js +50 -58
  49. package/lib/components/Img.d.ts +79 -86
  50. package/lib/components/Img.js +181 -193
  51. package/lib/components/Knot.d.ts +78 -97
  52. package/lib/components/Knot.js +60 -81
  53. package/lib/components/Latex.d.ts +12 -12
  54. package/lib/components/Latex.js +65 -77
  55. package/lib/components/Layout.d.ts +413 -455
  56. package/lib/components/Layout.js +681 -666
  57. package/lib/components/Line.d.ts +49 -61
  58. package/lib/components/Line.js +193 -216
  59. package/lib/components/Media.d.ts +35 -35
  60. package/lib/components/Media.js +134 -135
  61. package/lib/components/Node.d.ts +830 -875
  62. package/lib/components/Node.js +1314 -1383
  63. package/lib/components/Path.d.ts +14 -35
  64. package/lib/components/Path.js +89 -100
  65. package/lib/components/Polygon.d.ts +55 -60
  66. package/lib/components/Polygon.js +66 -71
  67. package/lib/components/QuadBezier.d.ts +29 -29
  68. package/lib/components/QuadBezier.js +45 -50
  69. package/lib/components/Ray.d.ts +28 -28
  70. package/lib/components/Ray.js +64 -71
  71. package/lib/components/Rect.d.ts +108 -115
  72. package/lib/components/Rect.js +72 -78
  73. package/lib/components/SVG.d.ts +139 -165
  74. package/lib/components/SVG.js +541 -609
  75. package/lib/components/Shape.d.ts +35 -44
  76. package/lib/components/Shape.js +127 -112
  77. package/lib/components/Spline.d.ts +40 -46
  78. package/lib/components/Spline.js +175 -190
  79. package/lib/components/Txt.d.ts +44 -55
  80. package/lib/components/Txt.js +155 -156
  81. package/lib/components/TxtLeaf.d.ts +16 -20
  82. package/lib/components/TxtLeaf.js +158 -177
  83. package/lib/components/Video.d.ts +41 -41
  84. package/lib/components/Video.js +135 -138
  85. package/lib/components/View2D.d.ts +21 -21
  86. package/lib/components/View2D.js +85 -98
  87. package/lib/components/index.d.ts +1 -1
  88. package/lib/components/index.js +1 -1
  89. package/lib/components/types.d.ts +9 -22
  90. package/lib/components/types.js +1 -1
  91. package/lib/curves/ArcSegment.d.ts +24 -36
  92. package/lib/curves/ArcSegment.js +94 -145
  93. package/lib/curves/CircleSegment.d.ts +16 -26
  94. package/lib/curves/CircleSegment.js +49 -56
  95. package/lib/curves/CubicBezierSegment.d.ts +13 -18
  96. package/lib/curves/CubicBezierSegment.js +46 -79
  97. package/lib/curves/CurveDrawingInfo.d.ts +9 -9
  98. package/lib/curves/CurveDrawingInfo.js +1 -1
  99. package/lib/curves/CurvePoint.d.ts +13 -13
  100. package/lib/curves/CurvePoint.js +1 -1
  101. package/lib/curves/CurveProfile.d.ts +5 -5
  102. package/lib/curves/CurveProfile.js +1 -1
  103. package/lib/curves/KnotInfo.d.ts +8 -8
  104. package/lib/curves/KnotInfo.js +1 -1
  105. package/lib/curves/LineSegment.d.ts +14 -19
  106. package/lib/curves/LineSegment.js +42 -42
  107. package/lib/curves/Polynomial.d.ts +110 -110
  108. package/lib/curves/Polynomial.js +239 -249
  109. package/lib/curves/Polynomial2D.d.ts +20 -20
  110. package/lib/curves/Polynomial2D.js +42 -46
  111. package/lib/curves/PolynomialSegment.d.ts +37 -42
  112. package/lib/curves/PolynomialSegment.js +81 -83
  113. package/lib/curves/QuadBezierSegment.d.ts +12 -12
  114. package/lib/curves/QuadBezierSegment.js +41 -71
  115. package/lib/curves/Segment.d.ts +7 -12
  116. package/lib/curves/Segment.js +3 -2
  117. package/lib/curves/UniformPolynomialCurveSampler.d.ts +34 -34
  118. package/lib/curves/UniformPolynomialCurveSampler.js +62 -68
  119. package/lib/curves/createCurveProfileLerp.d.ts +6 -17
  120. package/lib/curves/createCurveProfileLerp.js +208 -211
  121. package/lib/curves/getBezierSplineProfile.d.ts +4 -8
  122. package/lib/curves/getBezierSplineProfile.js +101 -145
  123. package/lib/curves/getCircleProfile.d.ts +4 -10
  124. package/lib/curves/getCircleProfile.js +40 -72
  125. package/lib/curves/getPathProfile.d.ts +2 -2
  126. package/lib/curves/getPathProfile.js +112 -135
  127. package/lib/curves/getPointAtDistance.d.ts +4 -7
  128. package/lib/curves/getPointAtDistance.js +12 -12
  129. package/lib/curves/getPolylineProfile.d.ts +4 -8
  130. package/lib/curves/getPolylineProfile.js +54 -67
  131. package/lib/curves/getRectProfile.d.ts +4 -9
  132. package/lib/curves/getRectProfile.js +52 -117
  133. package/lib/curves/index.d.ts +1 -1
  134. package/lib/curves/index.js +1 -1
  135. package/lib/decorators/canvasStyleSignal.d.ts +3 -3
  136. package/lib/decorators/canvasStyleSignal.js +10 -10
  137. package/lib/decorators/colorSignal.d.ts +1 -1
  138. package/lib/decorators/colorSignal.js +7 -7
  139. package/lib/decorators/compound.d.ts +2 -4
  140. package/lib/decorators/compound.js +23 -43
  141. package/lib/decorators/computed.d.ts +1 -1
  142. package/lib/decorators/computed.js +9 -9
  143. package/lib/decorators/defaultStyle.d.ts +2 -5
  144. package/lib/decorators/defaultStyle.js +11 -11
  145. package/lib/decorators/filtersSignal.d.ts +8 -28
  146. package/lib/decorators/filtersSignal.js +64 -87
  147. package/lib/decorators/index.d.ts +1 -1
  148. package/lib/decorators/index.js +1 -1
  149. package/lib/decorators/initializers.d.ts +2 -5
  150. package/lib/decorators/initializers.js +19 -18
  151. package/lib/decorators/nodeName.d.ts +1 -1
  152. package/lib/decorators/nodeName.js +4 -4
  153. package/lib/decorators/signal.d.ts +20 -40
  154. package/lib/decorators/signal.js +104 -113
  155. package/lib/decorators/spacingSignal.d.ts +1 -1
  156. package/lib/decorators/spacingSignal.js +13 -13
  157. package/lib/decorators/vector2Signal.d.ts +7 -13
  158. package/lib/decorators/vector2Signal.js +13 -15
  159. package/lib/index.d.ts +1 -1
  160. package/lib/index.js +1 -1
  161. package/lib/jsx-dev-runtime.d.ts +3 -3
  162. package/lib/jsx-dev-runtime.js +3 -3
  163. package/lib/jsx-runtime.d.ts +9 -19
  164. package/lib/jsx-runtime.js +18 -18
  165. package/lib/partials/Filter.d.ts +16 -24
  166. package/lib/partials/Filter.js +69 -69
  167. package/lib/partials/Gradient.d.ts +24 -30
  168. package/lib/partials/Gradient.js +58 -69
  169. package/lib/partials/Pattern.d.ts +9 -14
  170. package/lib/partials/Pattern.js +24 -30
  171. package/lib/partials/ShaderConfig.d.ts +74 -81
  172. package/lib/partials/ShaderConfig.js +23 -22
  173. package/lib/partials/index.d.ts +1 -1
  174. package/lib/partials/index.js +1 -1
  175. package/lib/partials/types.d.ts +6 -19
  176. package/lib/partials/types.js +1 -1
  177. package/lib/scenes/Scene2D.d.ts +23 -42
  178. package/lib/scenes/Scene2D.js +151 -161
  179. package/lib/scenes/index.d.ts +1 -1
  180. package/lib/scenes/index.js +1 -1
  181. package/lib/scenes/makeScene2D.d.ts +5 -7
  182. package/lib/scenes/makeScene2D.js +10 -10
  183. package/lib/scenes/useScene2D.d.ts +2 -2
  184. package/lib/scenes/useScene2D.js +3 -3
  185. package/lib/utils/CanvasUtils.d.ts +21 -93
  186. package/lib/utils/CanvasUtils.js +105 -186
  187. package/lib/utils/diff.d.ts +18 -25
  188. package/lib/utils/diff.js +87 -84
  189. package/lib/utils/index.d.ts +1 -1
  190. package/lib/utils/index.js +1 -1
  191. package/lib/utils/is.d.ts +2 -4
  192. package/lib/utils/is.js +2 -2
  193. package/lib/utils/makeSignalExtensions.d.ts +4 -11
  194. package/lib/utils/makeSignalExtensions.js +17 -17
  195. package/package.json +4 -4
  196. package/lib/components/AudioTest.d.ts +0 -99
  197. package/lib/components/AudioTest.d.ts.map +0 -1
  198. package/lib/components/AudioTest.js +0 -281
@@ -1,107 +1,74 @@
1
- import {
2
- SerializedVector2,
3
- Signal,
4
- SignalValue,
5
- SimpleSignal,
6
- ThreadGenerator,
7
- TimingFunction,
8
- Vector2,
9
- } from '@revideo/core';
10
- import {Code, CodeStyle, CodeTree, Token} from 'code-fns';
11
- import {DesiredLength} from '../partials';
12
- import {Shape, ShapeProps} from './Shape';
1
+ import { SerializedVector2, Signal, SignalValue, SimpleSignal, ThreadGenerator, TimingFunction, Vector2 } from '@revideo/core';
2
+ import { Code, CodeStyle, CodeTree, Token } from 'code-fns';
3
+ import { DesiredLength } from '../partials';
4
+ import { Shape, ShapeProps } from './Shape';
13
5
  type CodePoint = [number, number];
14
6
  type CodeRange = [CodePoint, CodePoint];
15
7
  export interface CodeProps extends ShapeProps {
16
- language?: string;
17
- children?: Code;
18
- code?: SignalValue<Code>;
19
- selection?: CodeRange[];
20
- theme?: CodeStyle;
8
+ language?: string;
9
+ children?: Code;
10
+ code?: SignalValue<Code>;
11
+ selection?: CodeRange[];
12
+ theme?: CodeStyle;
21
13
  }
22
14
  export interface CodeModification {
23
- from: Code;
24
- to: Code;
15
+ from: Code;
16
+ to: Code;
25
17
  }
26
18
  export declare class CodeBlock extends Shape {
27
- private static initialized;
28
- readonly language: SimpleSignal<string, this>;
29
- readonly code: Signal<Code, CodeTree, this>;
30
- readonly theme: Signal<CodeStyle | null, CodeStyle, this>;
31
- readonly selection: SimpleSignal<CodeRange[], this>;
32
- protected tweenSelection(
33
- value: CodeRange[],
34
- duration: number,
35
- timingFunction: TimingFunction,
36
- ): ThreadGenerator;
37
- readonly unselectedOpacity: SimpleSignal<number, this>;
38
- private codeProgress;
39
- private selectionProgress;
40
- private oldSelection;
41
- private diffed;
42
- private currentLineCount;
43
- private newLineCount;
44
- protected getLineCountOfTokenArray(tokens: Token[]): number;
45
- lineCount(): number;
46
- protected parsed(): Token[];
47
- constructor({children, ...rest}: CodeProps);
48
- protected characterSize(): Vector2;
49
- protected desiredSize(): SerializedVector2<DesiredLength>;
50
- protected getTokensSize(tokens: Token[]): {
51
- x: number;
52
- y: number;
53
- };
54
- protected collectAsyncResources(): void;
55
- set(strings: string[], ...rest: any[]): void;
56
- /**
57
- * Smoothly edit the code.
58
- *
59
- * @remarks
60
- * This method returns a tag function that should be used together with a
61
- * template literal to define what to edit. Expressions can be used to either
62
- * {@link insert}, {@link remove}, or {@link edit} the code.
63
- *
64
- * @example
65
- * ```ts
66
- * yield* codeBlock().edit()`
67
- * const ${edit('a', 'b')} = [${insert('1, 2, 3')}];${remove(`
68
- * // this comment will be removed`)}
69
- * `;
70
- * ```
71
- *
72
- * @param duration - The duration of the transition.
73
- * @param changeSelection - When set to `true`, the selection will be modified
74
- * to highlight the newly inserted code. Setting it
75
- * to `false` leaves the selection untouched.
76
- * Providing a custom {@link CodeRange} will select
77
- * it instead.
78
- */
79
- edit(
80
- duration?: number,
81
- changeSelection?: CodeRange[] | boolean,
82
- ): (
83
- strings: TemplateStringsArray,
84
- ...rest: (Code | CodeModification)[]
85
- ) => ThreadGenerator;
86
- tweenCode(
87
- code: CodeTree,
88
- time: number,
89
- timingFunction: TimingFunction,
90
- ): Generator<
91
- | void
92
- | ThreadGenerator
93
- | Promise<any>
94
- | import('@revideo/core').Promisable<any>,
95
- void,
96
- any
97
- >;
98
- protected draw(context: CanvasRenderingContext2D): void;
99
- protected selectionStrength(x: number, y: number): number;
100
- protected static selectionStrength(
101
- selection: CodeRange[],
102
- x: number,
103
- y: number,
104
- ): number;
19
+ private static initialized;
20
+ readonly language: SimpleSignal<string, this>;
21
+ readonly code: Signal<Code, CodeTree, this>;
22
+ readonly theme: Signal<CodeStyle | null, CodeStyle, this>;
23
+ readonly selection: SimpleSignal<CodeRange[], this>;
24
+ protected tweenSelection(value: CodeRange[], duration: number, timingFunction: TimingFunction): ThreadGenerator;
25
+ readonly unselectedOpacity: SimpleSignal<number, this>;
26
+ private codeProgress;
27
+ private selectionProgress;
28
+ private oldSelection;
29
+ private diffed;
30
+ private currentLineCount;
31
+ private newLineCount;
32
+ protected getLineCountOfTokenArray(tokens: Token[]): number;
33
+ lineCount(): number;
34
+ protected parsed(): Token[];
35
+ constructor({ children, ...rest }: CodeProps);
36
+ protected characterSize(): Vector2;
37
+ protected desiredSize(): SerializedVector2<DesiredLength>;
38
+ protected getTokensSize(tokens: Token[]): {
39
+ x: number;
40
+ y: number;
41
+ };
42
+ protected collectAsyncResources(): void;
43
+ set(strings: string[], ...rest: any[]): void;
44
+ /**
45
+ * Smoothly edit the code.
46
+ *
47
+ * @remarks
48
+ * This method returns a tag function that should be used together with a
49
+ * template literal to define what to edit. Expressions can be used to either
50
+ * {@link insert}, {@link remove}, or {@link edit} the code.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * yield* codeBlock().edit()`
55
+ * const ${edit('a', 'b')} = [${insert('1, 2, 3')}];${remove(`
56
+ * // this comment will be removed`)}
57
+ * `;
58
+ * ```
59
+ *
60
+ * @param duration - The duration of the transition.
61
+ * @param changeSelection - When set to `true`, the selection will be modified
62
+ * to highlight the newly inserted code. Setting it
63
+ * to `false` leaves the selection untouched.
64
+ * Providing a custom {@link CodeRange} will select
65
+ * it instead.
66
+ */
67
+ edit(duration?: number, changeSelection?: CodeRange[] | boolean): (strings: TemplateStringsArray, ...rest: (Code | CodeModification)[]) => ThreadGenerator;
68
+ tweenCode(code: CodeTree, time: number, timingFunction: TimingFunction): Generator<void | ThreadGenerator | Promise<any> | import("@revideo/core").Promisable<any>, void, any>;
69
+ protected draw(context: CanvasRenderingContext2D): void;
70
+ protected selectionStrength(x: number, y: number): number;
71
+ protected static selectionStrength(selection: CodeRange[], x: number, y: number): number;
105
72
  }
106
73
  /**
107
74
  * Create a code modification that inserts a piece of code.
@@ -147,11 +114,7 @@ export declare function lines(from: number, to?: number): CodeRange[];
147
114
  * @param length - The length of the word. If omitted, the selection will cover
148
115
  * the rest of the line.
149
116
  */
150
- export declare function word(
151
- line: number,
152
- from: number,
153
- length?: number,
154
- ): CodeRange[];
117
+ export declare function word(line: number, from: number, length?: number): CodeRange[];
155
118
  /**
156
119
  * Create a custom selection range.
157
120
  *
@@ -160,11 +123,6 @@ export declare function word(
160
123
  * @param endLine - The line at which the selection ends.
161
124
  * @param endColumn - The column at which the selection ends.
162
125
  */
163
- export declare function range(
164
- startLine: number,
165
- startColumn: number,
166
- endLine: number,
167
- endColumn: number,
168
- ): CodeRange[];
126
+ export declare function range(startLine: number, startColumn: number, endLine: number, endColumn: number): CodeRange[];
169
127
  export {};
170
- //# sourceMappingURL=CodeBlock.d.ts.map
128
+ //# sourceMappingURL=CodeBlock.d.ts.map