@revideo/2d 0.1.0 → 0.1.4-alpha.878
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.
- package/lib/code/CodeCursor.d.ts +74 -74
- package/lib/code/CodeCursor.js +352 -286
- package/lib/code/CodeDiffer.d.ts +21 -16
- package/lib/code/CodeDiffer.js +39 -41
- package/lib/code/CodeFragment.d.ts +16 -8
- package/lib/code/CodeFragment.js +36 -36
- package/lib/code/CodeHighlighter.d.ts +59 -59
- package/lib/code/CodeHighlighter.js +1 -1
- package/lib/code/CodeMetrics.d.ts +12 -8
- package/lib/code/CodeMetrics.js +26 -24
- package/lib/code/CodeRange.d.ts +21 -5
- package/lib/code/CodeRange.js +131 -124
- package/lib/code/CodeScope.d.ts +18 -8
- package/lib/code/CodeScope.js +59 -61
- package/lib/code/CodeSelection.d.ts +9 -4
- package/lib/code/CodeSelection.js +8 -8
- package/lib/code/CodeSignal.d.ts +74 -47
- package/lib/code/CodeSignal.js +206 -189
- package/lib/code/CodeTokenizer.d.ts +1 -1
- package/lib/code/CodeTokenizer.js +41 -41
- package/lib/code/DefaultHighlightStyle.d.ts +2 -2
- package/lib/code/DefaultHighlightStyle.js +96 -96
- package/lib/code/LezerHighlighter.d.ts +21 -19
- package/lib/code/LezerHighlighter.js +101 -101
- package/lib/code/diff.d.ts +12 -9
- package/lib/code/diff.js +218 -205
- package/lib/code/extractRange.d.ts +7 -4
- package/lib/code/extractRange.js +79 -71
- package/lib/code/index.d.ts +1 -1
- package/lib/code/index.js +1 -1
- package/lib/components/Audio.d.ts +11 -11
- package/lib/components/Audio.js +115 -109
- package/lib/components/AudioTest.d.ts +95 -95
- package/lib/components/AudioTest.js +259 -261
- package/lib/components/Bezier.d.ts +18 -18
- package/lib/components/Bezier.js +86 -75
- package/lib/components/Circle.d.ts +95 -90
- package/lib/components/Circle.js +85 -74
- package/lib/components/Code.d.ts +244 -211
- package/lib/components/Code.js +317 -269
- package/lib/components/CodeBlock.d.ts +109 -67
- package/lib/components/CodeBlock.js +414 -373
- package/lib/components/CubicBezier.d.ts +36 -36
- package/lib/components/CubicBezier.js +52 -49
- package/lib/components/Curve.d.ts +208 -198
- package/lib/components/Curve.js +270 -269
- package/lib/components/Grid.d.ts +47 -42
- package/lib/components/Grid.js +63 -56
- package/lib/components/Icon.d.ts +55 -50
- package/lib/components/Icon.js +58 -50
- package/lib/components/Img.d.ts +86 -79
- package/lib/components/Img.js +193 -181
- package/lib/components/Knot.d.ts +97 -78
- package/lib/components/Knot.js +81 -60
- package/lib/components/Latex.d.ts +12 -12
- package/lib/components/Latex.js +77 -65
- package/lib/components/Layout.d.ts +455 -413
- package/lib/components/Layout.js +666 -681
- package/lib/components/Line.d.ts +61 -49
- package/lib/components/Line.js +216 -193
- package/lib/components/Media.d.ts +35 -31
- package/lib/components/Media.d.ts.map +1 -1
- package/lib/components/Media.js +135 -121
- package/lib/components/Node.d.ts +875 -830
- package/lib/components/Node.js +1383 -1314
- package/lib/components/Path.d.ts +35 -14
- package/lib/components/Path.js +100 -89
- package/lib/components/Polygon.d.ts +60 -55
- package/lib/components/Polygon.js +71 -66
- package/lib/components/QuadBezier.d.ts +29 -29
- package/lib/components/QuadBezier.js +50 -45
- package/lib/components/Ray.d.ts +28 -28
- package/lib/components/Ray.js +71 -64
- package/lib/components/Rect.d.ts +115 -108
- package/lib/components/Rect.js +78 -72
- package/lib/components/SVG.d.ts +165 -139
- package/lib/components/SVG.js +609 -541
- package/lib/components/Shape.d.ts +44 -35
- package/lib/components/Shape.js +112 -127
- package/lib/components/Spline.d.ts +46 -40
- package/lib/components/Spline.js +190 -175
- package/lib/components/Txt.d.ts +55 -44
- package/lib/components/Txt.js +156 -155
- package/lib/components/TxtLeaf.d.ts +20 -16
- package/lib/components/TxtLeaf.js +177 -158
- package/lib/components/Video.d.ts +41 -41
- package/lib/components/Video.js +138 -135
- package/lib/components/View2D.d.ts +21 -21
- package/lib/components/View2D.js +98 -85
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/types.d.ts +22 -9
- package/lib/components/types.js +1 -1
- package/lib/curves/ArcSegment.d.ts +36 -24
- package/lib/curves/ArcSegment.js +145 -94
- package/lib/curves/CircleSegment.d.ts +26 -16
- package/lib/curves/CircleSegment.js +56 -49
- package/lib/curves/CubicBezierSegment.d.ts +18 -13
- package/lib/curves/CubicBezierSegment.js +79 -46
- package/lib/curves/CurveDrawingInfo.d.ts +9 -9
- package/lib/curves/CurveDrawingInfo.js +1 -1
- package/lib/curves/CurvePoint.d.ts +13 -13
- package/lib/curves/CurvePoint.js +1 -1
- package/lib/curves/CurveProfile.d.ts +5 -5
- package/lib/curves/CurveProfile.js +1 -1
- package/lib/curves/KnotInfo.d.ts +8 -8
- package/lib/curves/KnotInfo.js +1 -1
- package/lib/curves/LineSegment.d.ts +19 -14
- package/lib/curves/LineSegment.js +42 -42
- package/lib/curves/Polynomial.d.ts +110 -110
- package/lib/curves/Polynomial.js +249 -239
- package/lib/curves/Polynomial2D.d.ts +20 -20
- package/lib/curves/Polynomial2D.js +46 -42
- package/lib/curves/PolynomialSegment.d.ts +42 -37
- package/lib/curves/PolynomialSegment.js +83 -81
- package/lib/curves/QuadBezierSegment.d.ts +12 -12
- package/lib/curves/QuadBezierSegment.js +71 -41
- package/lib/curves/Segment.d.ts +12 -7
- package/lib/curves/Segment.js +2 -3
- package/lib/curves/UniformPolynomialCurveSampler.d.ts +34 -34
- package/lib/curves/UniformPolynomialCurveSampler.js +68 -62
- package/lib/curves/createCurveProfileLerp.d.ts +17 -6
- package/lib/curves/createCurveProfileLerp.js +211 -208
- package/lib/curves/getBezierSplineProfile.d.ts +8 -4
- package/lib/curves/getBezierSplineProfile.js +145 -101
- package/lib/curves/getCircleProfile.d.ts +10 -4
- package/lib/curves/getCircleProfile.js +72 -40
- package/lib/curves/getPathProfile.d.ts +2 -2
- package/lib/curves/getPathProfile.js +135 -112
- package/lib/curves/getPointAtDistance.d.ts +7 -4
- package/lib/curves/getPointAtDistance.js +12 -12
- package/lib/curves/getPolylineProfile.d.ts +8 -4
- package/lib/curves/getPolylineProfile.js +67 -54
- package/lib/curves/getRectProfile.d.ts +9 -4
- package/lib/curves/getRectProfile.js +117 -52
- package/lib/curves/index.d.ts +1 -1
- package/lib/curves/index.js +1 -1
- package/lib/decorators/canvasStyleSignal.d.ts +3 -3
- package/lib/decorators/canvasStyleSignal.js +10 -10
- package/lib/decorators/colorSignal.d.ts +1 -1
- package/lib/decorators/colorSignal.js +7 -7
- package/lib/decorators/compound.d.ts +4 -2
- package/lib/decorators/compound.js +43 -23
- package/lib/decorators/computed.d.ts +1 -1
- package/lib/decorators/computed.js +9 -9
- package/lib/decorators/defaultStyle.d.ts +5 -2
- package/lib/decorators/defaultStyle.js +11 -11
- package/lib/decorators/filtersSignal.d.ts +28 -8
- package/lib/decorators/filtersSignal.js +87 -64
- package/lib/decorators/index.d.ts +1 -1
- package/lib/decorators/index.js +1 -1
- package/lib/decorators/initializers.d.ts +5 -2
- package/lib/decorators/initializers.js +18 -19
- package/lib/decorators/nodeName.d.ts +1 -1
- package/lib/decorators/nodeName.js +4 -4
- package/lib/decorators/signal.d.ts +40 -20
- package/lib/decorators/signal.js +113 -104
- package/lib/decorators/spacingSignal.d.ts +1 -1
- package/lib/decorators/spacingSignal.js +13 -13
- package/lib/decorators/vector2Signal.d.ts +13 -7
- package/lib/decorators/vector2Signal.js +15 -13
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/jsx-dev-runtime.d.ts +3 -3
- package/lib/jsx-dev-runtime.js +3 -3
- package/lib/jsx-runtime.d.ts +19 -9
- package/lib/jsx-runtime.js +18 -18
- package/lib/partials/Filter.d.ts +24 -16
- package/lib/partials/Filter.js +69 -69
- package/lib/partials/Gradient.d.ts +30 -24
- package/lib/partials/Gradient.js +69 -58
- package/lib/partials/Pattern.d.ts +14 -9
- package/lib/partials/Pattern.js +30 -24
- package/lib/partials/ShaderConfig.d.ts +81 -74
- package/lib/partials/ShaderConfig.js +22 -23
- package/lib/partials/index.d.ts +1 -1
- package/lib/partials/index.js +1 -1
- package/lib/partials/types.d.ts +19 -6
- package/lib/partials/types.js +1 -1
- package/lib/scenes/Scene2D.d.ts +42 -23
- package/lib/scenes/Scene2D.d.ts.map +1 -1
- package/lib/scenes/Scene2D.js +161 -149
- package/lib/scenes/index.d.ts +1 -1
- package/lib/scenes/index.js +1 -1
- package/lib/scenes/makeScene2D.d.ts +7 -5
- package/lib/scenes/makeScene2D.js +10 -10
- package/lib/scenes/useScene2D.d.ts +2 -2
- package/lib/scenes/useScene2D.js +3 -3
- package/lib/tsconfig.build.tsbuildinfo +1 -1
- package/lib/utils/CanvasUtils.d.ts +93 -21
- package/lib/utils/CanvasUtils.js +186 -105
- package/lib/utils/diff.d.ts +25 -18
- package/lib/utils/diff.js +84 -87
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/is.d.ts +4 -2
- package/lib/utils/is.js +2 -2
- package/lib/utils/makeSignalExtensions.d.ts +11 -4
- package/lib/utils/makeSignalExtensions.js +17 -17
- package/package.json +5 -5
- package/src/lib/components/Media.ts +18 -0
- package/src/lib/scenes/Scene2D.ts +2 -0
|
@@ -1,74 +1,107 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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';
|
|
5
13
|
type CodePoint = [number, number];
|
|
6
14
|
type CodeRange = [CodePoint, CodePoint];
|
|
7
15
|
export interface CodeProps extends ShapeProps {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
language?: string;
|
|
17
|
+
children?: Code;
|
|
18
|
+
code?: SignalValue<Code>;
|
|
19
|
+
selection?: CodeRange[];
|
|
20
|
+
theme?: CodeStyle;
|
|
13
21
|
}
|
|
14
22
|
export interface CodeModification {
|
|
15
|
-
|
|
16
|
-
|
|
23
|
+
from: Code;
|
|
24
|
+
to: Code;
|
|
17
25
|
}
|
|
18
26
|
export declare class CodeBlock extends Shape {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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;
|
|
72
105
|
}
|
|
73
106
|
/**
|
|
74
107
|
* Create a code modification that inserts a piece of code.
|
|
@@ -114,7 +147,11 @@ export declare function lines(from: number, to?: number): CodeRange[];
|
|
|
114
147
|
* @param length - The length of the word. If omitted, the selection will cover
|
|
115
148
|
* the rest of the line.
|
|
116
149
|
*/
|
|
117
|
-
export declare function word(
|
|
150
|
+
export declare function word(
|
|
151
|
+
line: number,
|
|
152
|
+
from: number,
|
|
153
|
+
length?: number,
|
|
154
|
+
): CodeRange[];
|
|
118
155
|
/**
|
|
119
156
|
* Create a custom selection range.
|
|
120
157
|
*
|
|
@@ -123,6 +160,11 @@ export declare function word(line: number, from: number, length?: number): CodeR
|
|
|
123
160
|
* @param endLine - The line at which the selection ends.
|
|
124
161
|
* @param endColumn - The column at which the selection ends.
|
|
125
162
|
*/
|
|
126
|
-
export declare function range(
|
|
163
|
+
export declare function range(
|
|
164
|
+
startLine: number,
|
|
165
|
+
startColumn: number,
|
|
166
|
+
endLine: number,
|
|
167
|
+
endColumn: number,
|
|
168
|
+
): CodeRange[];
|
|
127
169
|
export {};
|
|
128
|
-
//# sourceMappingURL=CodeBlock.d.ts.map
|
|
170
|
+
//# sourceMappingURL=CodeBlock.d.ts.map
|