manim-web 0.3.24 → 0.11.0
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/README.md +5 -1
- package/dist/GLTFLoader-CisHz7tR.js +1381 -0
- package/dist/GLTFLoader-DMbWuMln.js +1381 -0
- package/dist/{MathJaxBundle-xSidSV0E.js → MathJaxBundle-BSrlS0Dh.js} +3338 -3320
- package/dist/OBJLoader-Clh2POv9.js +287 -0
- package/dist/OBJLoader-kkTsEhJf.js +287 -0
- package/dist/animation/Always.d.ts +72 -0
- package/dist/animation/Always.d.ts.map +1 -0
- package/dist/animation/AlwaysRedraw.d.ts +15 -0
- package/dist/animation/AlwaysRedraw.d.ts.map +1 -0
- package/dist/animation/Animation.d.ts +9 -0
- package/dist/animation/Animation.d.ts.map +1 -1
- package/dist/animation/AnimationUtilities.d.ts +25 -0
- package/dist/animation/AnimationUtilities.d.ts.map +1 -1
- package/dist/animation/creation/Create.d.ts +40 -11
- package/dist/animation/creation/Create.d.ts.map +1 -1
- package/dist/animation/transform/PointMorphStrategy.d.ts +6 -0
- package/dist/animation/transform/PointMorphStrategy.d.ts.map +1 -1
- package/dist/animation/transform/Transform.d.ts.map +1 -1
- package/dist/animation/transform/TransformPairing.d.ts +17 -0
- package/dist/animation/transform/TransformPairing.d.ts.map +1 -1
- package/dist/animation/updaters.d.ts +69 -0
- package/dist/animation/updaters.d.ts.map +1 -0
- package/dist/compiler-CfW6eH2M.js +2 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/parity.d.ts +78 -0
- package/dist/constants/parity.d.ts.map +1 -0
- package/dist/core/Mobject.d.ts +48 -3
- package/dist/core/Mobject.d.ts.map +1 -1
- package/dist/core/MobjectTraversal.d.ts +7 -0
- package/dist/core/MobjectTraversal.d.ts.map +1 -1
- package/dist/core/MobjectTypes.d.ts +15 -0
- package/dist/core/MobjectTypes.d.ts.map +1 -1
- package/dist/core/Scene.d.ts +14 -0
- package/dist/core/Scene.d.ts.map +1 -1
- package/dist/core/SpecialThreeDScene.d.ts +64 -0
- package/dist/core/SpecialThreeDScene.d.ts.map +1 -0
- package/dist/core/VMobject.d.ts +143 -0
- package/dist/core/VMobject.d.ts.map +1 -1
- package/dist/core/VMobjectColorGradient.d.ts +20 -0
- package/dist/core/VMobjectColorGradient.d.ts.map +1 -0
- package/dist/core/VMobjectCurveMath.d.ts +128 -0
- package/dist/core/VMobjectCurveMath.d.ts.map +1 -0
- package/dist/core/VMobjectRendering.d.ts +38 -1
- package/dist/core/VMobjectRendering.d.ts.map +1 -1
- package/dist/core/VMobjectRoundCorners.d.ts +37 -0
- package/dist/core/VMobjectRoundCorners.d.ts.map +1 -0
- package/dist/esm-CiMKSfxz.js +1273 -0
- package/dist/export/FrameExporter.d.ts +86 -0
- package/dist/export/FrameExporter.d.ts.map +1 -0
- package/dist/export/GifExporter.d.ts +4 -0
- package/dist/export/GifExporter.d.ts.map +1 -1
- package/dist/export/WebCodecsExporter.d.ts +108 -0
- package/dist/export/WebCodecsExporter.d.ts.map +1 -0
- package/dist/export/index.d.ts +2 -0
- package/dist/export/index.d.ts.map +1 -1
- package/dist/global-compiler-D_nF-JaV.js +8 -0
- package/dist/global-renderer-gyshX_QF.js +8 -0
- package/dist/index.d.ts +29 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/integrations/react.js +17 -16
- package/dist/integrations/vue.js +16 -15
- package/dist/integrations/webcomponent.d.ts +65 -0
- package/dist/integrations/webcomponent.d.ts.map +1 -0
- package/dist/integrations/webcomponent.js +2 -0
- package/dist/manim-web.browser.js +36877 -45066
- package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -1
- package/dist/mobjects/geometry/ArcPolygon.d.ts +30 -0
- package/dist/mobjects/geometry/ArcPolygon.d.ts.map +1 -1
- package/dist/mobjects/geometry/DashedLine.d.ts.map +1 -1
- package/dist/mobjects/geometry/Label.d.ts +32 -0
- package/dist/mobjects/geometry/Label.d.ts.map +1 -0
- package/dist/mobjects/geometry/index.d.ts +2 -1
- package/dist/mobjects/geometry/index.d.ts.map +1 -1
- package/dist/mobjects/graphing/Axes.d.ts +73 -6
- package/dist/mobjects/graphing/Axes.d.ts.map +1 -1
- package/dist/mobjects/graphing/CoordinateSystem.d.ts +40 -0
- package/dist/mobjects/graphing/CoordinateSystem.d.ts.map +1 -0
- package/dist/mobjects/graphing/axes-calculus.d.ts +79 -0
- package/dist/mobjects/graphing/axes-calculus.d.ts.map +1 -0
- package/dist/mobjects/graphing/index.d.ts +3 -0
- package/dist/mobjects/graphing/index.d.ts.map +1 -1
- package/dist/mobjects/graphing/scale.d.ts +72 -0
- package/dist/mobjects/graphing/scale.d.ts.map +1 -0
- package/dist/mobjects/text/MathJaxRenderer.d.ts +5 -0
- package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -1
- package/dist/mobjects/text/MathTex.d.ts +23 -0
- package/dist/mobjects/text/MathTex.d.ts.map +1 -1
- package/dist/mobjects/text/MathTexImage.d.ts.map +1 -1
- package/dist/mobjects/text/Text.d.ts +53 -0
- package/dist/mobjects/text/Text.d.ts.map +1 -1
- package/dist/mobjects/text/Typst.d.ts +113 -0
- package/dist/mobjects/text/Typst.d.ts.map +1 -0
- package/dist/mobjects/text/TypstRenderer.d.ts +57 -0
- package/dist/mobjects/text/TypstRenderer.d.ts.map +1 -0
- package/dist/mobjects/text/index.d.ts +5 -2
- package/dist/mobjects/text/index.d.ts.map +1 -1
- package/dist/mobjects/text/katexStyles.d.ts +5 -0
- package/dist/mobjects/text/katexStyles.d.ts.map +1 -1
- package/dist/mobjects/text/registerFont.d.ts +38 -0
- package/dist/mobjects/text/registerFont.d.ts.map +1 -0
- package/dist/mobjects/text/textStyleRuns.d.ts +111 -0
- package/dist/mobjects/text/textStyleRuns.d.ts.map +1 -0
- package/dist/mobjects/three-d/ModelMobject.d.ts +122 -0
- package/dist/mobjects/three-d/ModelMobject.d.ts.map +1 -0
- package/dist/mobjects/three-d/ThreeDAxes.d.ts +37 -4
- package/dist/mobjects/three-d/ThreeDAxes.d.ts.map +1 -1
- package/dist/mobjects/three-d/threeDVmobUtils.d.ts +25 -0
- package/dist/mobjects/three-d/threeDVmobUtils.d.ts.map +1 -0
- package/dist/mobjects/video/VideoMobject.d.ts +126 -0
- package/dist/mobjects/video/VideoMobject.d.ts.map +1 -0
- package/dist/mobjects/video/index.d.ts +2 -0
- package/dist/mobjects/video/index.d.ts.map +1 -0
- package/dist/mp4-muxer-5DGKGEJk.js +900 -0
- package/dist/player/Player.d.ts +4 -0
- package/dist/player/Player.d.ts.map +1 -1
- package/dist/renderer-DR_79fB0.js +2 -0
- package/dist/{src-Cc3xTIkV.js → src-C817VR8M.js} +10693 -7971
- package/dist/three.core-1aHSpGwp.js +11626 -0
- package/dist/utils/ManimColor.d.ts +163 -0
- package/dist/utils/ManimColor.d.ts.map +1 -0
- package/dist/utils/bezier.d.ts +95 -0
- package/dist/utils/bezier.d.ts.map +1 -0
- package/dist/utils/color.d.ts +99 -0
- package/dist/utils/color.d.ts.map +1 -0
- package/dist/utils/debug.d.ts +36 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/iterables.d.ts +162 -0
- package/dist/utils/iterables.d.ts.map +1 -0
- package/dist/utils/paths.d.ts +38 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/simpleFunctions.d.ts +26 -0
- package/dist/utils/simpleFunctions.d.ts.map +1 -0
- package/dist/utils/spaceOps.d.ts +119 -0
- package/dist/utils/spaceOps.d.ts.map +1 -0
- package/dist/utils/unit.d.ts +28 -0
- package/dist/utils/unit.d.ts.map +1 -0
- package/dist/wasm-CIlzm7By.js +76 -0
- package/dist/wasm-pack-shim-B3C4KoWa.js +1688 -0
- package/dist/wasm-pack-shim-BgTFpSvJ.js +911 -0
- package/dist/webcomponent-BS5WnkDO.js +707 -0
- package/dist/webm-muxer-BGY-Mgbp.js +857 -0
- package/package.json +19 -8
|
@@ -12,6 +12,22 @@ export interface ThreeDAxesOptions {
|
|
|
12
12
|
yRange?: [number, number, number];
|
|
13
13
|
/** Z-axis range as [min, max, step]. Default: [-4, 4, 1] */
|
|
14
14
|
zRange?: [number, number, number];
|
|
15
|
+
/**
|
|
16
|
+
* Visual length of the x-axis in scene units, independent of xRange.
|
|
17
|
+
* When omitted, defaults to the x-range span (xMax - xMin), so the axis
|
|
18
|
+
* keeps a 1:1 range-to-visual mapping (unchanged default behavior).
|
|
19
|
+
*/
|
|
20
|
+
xLength?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Visual length of the y-axis in scene units, independent of yRange.
|
|
23
|
+
* When omitted, defaults to the y-range span (yMax - yMin).
|
|
24
|
+
*/
|
|
25
|
+
yLength?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Visual length of the z-axis in scene units, independent of zRange.
|
|
28
|
+
* When omitted, defaults to the z-range span (zMax - zMin).
|
|
29
|
+
*/
|
|
30
|
+
zLength?: number;
|
|
15
31
|
/** Default color for all axes. Default: '#ffffff' */
|
|
16
32
|
axisColor?: string;
|
|
17
33
|
/** Color for x-axis (overrides axisColor). Default: same as axisColor */
|
|
@@ -85,6 +101,12 @@ export declare class ThreeDAxes extends Group {
|
|
|
85
101
|
private _xRange;
|
|
86
102
|
private _yRange;
|
|
87
103
|
private _zRange;
|
|
104
|
+
private _xLength;
|
|
105
|
+
private _yLength;
|
|
106
|
+
private _zLength;
|
|
107
|
+
private _xScale;
|
|
108
|
+
private _yScale;
|
|
109
|
+
private _zScale;
|
|
88
110
|
private _showTicks;
|
|
89
111
|
private _tickLength;
|
|
90
112
|
private _ticks;
|
|
@@ -99,6 +121,12 @@ export declare class ThreeDAxes extends Group {
|
|
|
99
121
|
private _labelOptions;
|
|
100
122
|
constructor(options?: ThreeDAxesOptions);
|
|
101
123
|
private _initRanges;
|
|
124
|
+
/**
|
|
125
|
+
* Resolve each axis visual length and its range-to-visual scale factor.
|
|
126
|
+
* When a length option is omitted, it defaults to the range span, which
|
|
127
|
+
* gives scale 1 and keeps the historical 1:1 mapping unchanged.
|
|
128
|
+
*/
|
|
129
|
+
private _initLengths;
|
|
102
130
|
private _initTickConfig;
|
|
103
131
|
private _initLabelConfig;
|
|
104
132
|
private _resolveAxisColors;
|
|
@@ -147,7 +175,9 @@ export declare class ThreeDAxes extends Group {
|
|
|
147
175
|
private _buildLabel;
|
|
148
176
|
/**
|
|
149
177
|
* Convert graph coordinates to visual point coordinates (scene space).
|
|
150
|
-
*
|
|
178
|
+
* Each graph coordinate is multiplied by its axis scale (length / span)
|
|
179
|
+
* before the axes' position offset is applied. With default lengths the
|
|
180
|
+
* scale is 1, so graph coordinates map directly to visual positions.
|
|
151
181
|
*/
|
|
152
182
|
coordsToPoint(x: number, y: number, z: number): Vector3Tuple;
|
|
153
183
|
/**
|
|
@@ -187,15 +217,18 @@ export declare class ThreeDAxes extends Group {
|
|
|
187
217
|
*/
|
|
188
218
|
getZRange(): [number, number, number];
|
|
189
219
|
/**
|
|
190
|
-
* Get the visual X length
|
|
220
|
+
* Get the visual X length in scene units. Equals the configured xLength,
|
|
221
|
+
* or the x-range span when xLength was omitted.
|
|
191
222
|
*/
|
|
192
223
|
getXLength(): number;
|
|
193
224
|
/**
|
|
194
|
-
* Get the visual Y length
|
|
225
|
+
* Get the visual Y length in scene units. Equals the configured yLength,
|
|
226
|
+
* or the y-range span when yLength was omitted.
|
|
195
227
|
*/
|
|
196
228
|
getYLength(): number;
|
|
197
229
|
/**
|
|
198
|
-
* Get the visual Z length
|
|
230
|
+
* Get the visual Z length in scene units. Equals the configured zLength,
|
|
231
|
+
* or the z-range span when zLength was omitted.
|
|
199
232
|
*/
|
|
200
233
|
getZLength(): number;
|
|
201
234
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreeDAxes.d.ts","sourceRoot":"","sources":["../../../src/mobjects/three-d/ThreeDAxes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2GAA2G;IAC3G,MAAM,CAAC,EAAE;QACP,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACrB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACrB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KACtB,CAAC;IACF,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,aAAa,CAA8B;gBAEvC,OAAO,GAAE,iBAAsB;
|
|
1
|
+
{"version":3,"file":"ThreeDAxes.d.ts","sourceRoot":"","sources":["../../../src/mobjects/three-d/ThreeDAxes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Vector3Tuple } from '../../core/MobjectTypes';
|
|
2
|
+
import { VMobject } from '../../core/VMobject';
|
|
3
|
+
/**
|
|
4
|
+
* The gradient start and end points, used by the 3D camera to shade a VMobject.
|
|
5
|
+
* Port of CE `get_3d_vmob_gradient_start_and_end_points`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function get3dVmobGradientStartAndEndPoints(vmob: VMobject): [Vector3Tuple, Vector3Tuple];
|
|
8
|
+
/** Index of the start corner (always 0). Port of CE `get_3d_vmob_start_corner_index`. */
|
|
9
|
+
export declare function get3dVmobStartCornerIndex(_vmob: VMobject): number;
|
|
10
|
+
/** Index of the end corner. Port of CE `get_3d_vmob_end_corner_index`. */
|
|
11
|
+
export declare function get3dVmobEndCornerIndex(vmob: VMobject): number;
|
|
12
|
+
/** The start corner point. Port of CE `get_3d_vmob_start_corner`. */
|
|
13
|
+
export declare function get3dVmobStartCorner(vmob: VMobject): Vector3Tuple;
|
|
14
|
+
/** The end corner point. Port of CE `get_3d_vmob_end_corner`. */
|
|
15
|
+
export declare function get3dVmobEndCorner(vmob: VMobject): Vector3Tuple;
|
|
16
|
+
/**
|
|
17
|
+
* The unit normal of the VMobject's surface at the given point index.
|
|
18
|
+
* Port of CE `get_3d_vmob_unit_normal`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function get3dVmobUnitNormal(vmob: VMobject, pointIndex: number): Vector3Tuple;
|
|
21
|
+
/** The unit normal at the start corner. Port of CE `get_3d_vmob_start_corner_unit_normal`. */
|
|
22
|
+
export declare function get3dVmobStartCornerUnitNormal(vmob: VMobject): Vector3Tuple;
|
|
23
|
+
/** The unit normal at the end corner. Port of CE `get_3d_vmob_end_corner_unit_normal`. */
|
|
24
|
+
export declare function get3dVmobEndCornerUnitNormal(vmob: VMobject): Vector3Tuple;
|
|
25
|
+
//# sourceMappingURL=threeDVmobUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"threeDVmobUtils.d.ts","sourceRoot":"","sources":["../../../src/mobjects/three-d/threeDVmobUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAiBpD;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAE/F;AAED,yFAAyF;AACzF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAEjE;AAED,0EAA0E;AAC1E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE9D;AAED,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAMjE;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAM/D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAiBpF;AAED,8FAA8F;AAC9F,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAE3E;AAED,0FAA0F;AAC1F,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAEzE"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { Vector3Tuple } from '../../core/Mobject';
|
|
2
|
+
import { TexturedMobject } from '../../core/TexturedMobject';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
/**
|
|
5
|
+
* Options for creating a VideoMobject.
|
|
6
|
+
*/
|
|
7
|
+
export interface VideoMobjectOptions {
|
|
8
|
+
/** Video source URL. Required. */
|
|
9
|
+
src: string;
|
|
10
|
+
/** Loop playback when it reaches the end. Default: false */
|
|
11
|
+
loop?: boolean;
|
|
12
|
+
/** Mute the audio track. Default: true (needed for browser autoplay policies) */
|
|
13
|
+
muted?: boolean;
|
|
14
|
+
/** Start playing as soon as data is available. Default: false */
|
|
15
|
+
autoplay?: boolean;
|
|
16
|
+
/** Playback speed multiplier (1 = normal). Default: 1 */
|
|
17
|
+
playbackRate?: number;
|
|
18
|
+
/** Width of the video in scene units. Default: auto from aspect ratio */
|
|
19
|
+
width?: number;
|
|
20
|
+
/** Height of the video in scene units. Default: auto from aspect ratio */
|
|
21
|
+
height?: number;
|
|
22
|
+
/** If both width and height given, fit inside the box preserving aspect. Default: true */
|
|
23
|
+
scaleToFit?: boolean;
|
|
24
|
+
/** Center position [x, y, z]. Default: [0, 0, 0] */
|
|
25
|
+
center?: Vector3Tuple;
|
|
26
|
+
/** Opacity from 0 to 1. Default: 1 */
|
|
27
|
+
opacity?: number;
|
|
28
|
+
/** Render both sides of the plane. Default: false */
|
|
29
|
+
doubleSided?: boolean;
|
|
30
|
+
/** crossOrigin attribute for the video element. Default: 'anonymous' */
|
|
31
|
+
crossOrigin?: string | null;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* VideoMobject - display an HTML `<video>` as a movable, scalable mobject.
|
|
35
|
+
*
|
|
36
|
+
* The video is drawn onto a `THREE.PlaneGeometry` through a
|
|
37
|
+
* `THREE.VideoTexture`, mirroring how {@link ImageMobject} draws images. It
|
|
38
|
+
* therefore participates in the standard mobject transforms (shift, scale,
|
|
39
|
+
* rotate), z-index/depth, opacity, and `scene.add`.
|
|
40
|
+
*
|
|
41
|
+
* Playback follows the DOM video clock during normal play. When the Player
|
|
42
|
+
* scrubs or seeks, call {@link syncToTime} so the displayed frame follows the
|
|
43
|
+
* scene time.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const clip = new VideoMobject({ src: 'intro.mp4', width: 6, loop: true });
|
|
48
|
+
* scene.add(clip);
|
|
49
|
+
* await clip.waitForLoad();
|
|
50
|
+
* clip.play();
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare class VideoMobject extends TexturedMobject {
|
|
54
|
+
protected _source: string;
|
|
55
|
+
protected _loop: boolean;
|
|
56
|
+
protected _muted: boolean;
|
|
57
|
+
protected _autoplay: boolean;
|
|
58
|
+
protected _playbackRate: number;
|
|
59
|
+
protected _width: number | undefined;
|
|
60
|
+
protected _height: number | undefined;
|
|
61
|
+
protected _scaleToFit: boolean;
|
|
62
|
+
protected _centerPoint: Vector3Tuple;
|
|
63
|
+
protected _doubleSided: boolean;
|
|
64
|
+
protected _crossOrigin: string | null;
|
|
65
|
+
protected _video: HTMLVideoElement | null;
|
|
66
|
+
protected _texture: THREE.VideoTexture | null;
|
|
67
|
+
protected _videoLoaded: boolean;
|
|
68
|
+
protected _loadError: Error | null;
|
|
69
|
+
protected _naturalWidth: number;
|
|
70
|
+
protected _naturalHeight: number;
|
|
71
|
+
private _mesh;
|
|
72
|
+
private _loadPromise;
|
|
73
|
+
private _loadResolve;
|
|
74
|
+
private _loadReject;
|
|
75
|
+
constructor(options: VideoMobjectOptions);
|
|
76
|
+
/**
|
|
77
|
+
* Create the DOM video element and its VideoTexture. Node/SSR-safe: when
|
|
78
|
+
* `document` is missing, the load fails gracefully instead of throwing.
|
|
79
|
+
*/
|
|
80
|
+
private _createVideo;
|
|
81
|
+
/** Record a load error and reject the ready promise once. */
|
|
82
|
+
private _failLoad;
|
|
83
|
+
/** Promise that resolves on `loadeddata` and rejects on load error. */
|
|
84
|
+
waitForLoad(): Promise<void>;
|
|
85
|
+
/** The captured load error, or null when no error occurred. */
|
|
86
|
+
getLoadError(): Error | null;
|
|
87
|
+
/** Whether the first frame of video data is available. */
|
|
88
|
+
isLoaded(): boolean;
|
|
89
|
+
/** The video source URL. */
|
|
90
|
+
getSource(): string;
|
|
91
|
+
/** Start (or resume) playback. Silently ignores autoplay rejections. */
|
|
92
|
+
play(): this;
|
|
93
|
+
/** Pause playback. */
|
|
94
|
+
pause(): this;
|
|
95
|
+
/** Seek the video to an absolute time in seconds, clamped to [0, duration]. */
|
|
96
|
+
seek(seconds: number): this;
|
|
97
|
+
/** Set the playback speed multiplier. */
|
|
98
|
+
setPlaybackRate(rate: number): this;
|
|
99
|
+
/** Duration of the video in seconds (NaN until metadata loads). */
|
|
100
|
+
get duration(): number;
|
|
101
|
+
/**
|
|
102
|
+
* Follow the Player clock: show the frame at `sceneTime`. Use this on scrub
|
|
103
|
+
* and seek so the displayed frame tracks the timeline position.
|
|
104
|
+
*/
|
|
105
|
+
syncToTime(sceneTime: number): this;
|
|
106
|
+
/** Clamp a time to [0, duration]; duration may be NaN before metadata loads. */
|
|
107
|
+
private _clampTime;
|
|
108
|
+
/** Display dimensions from width/height options and the natural size. */
|
|
109
|
+
private _calculateDimensions;
|
|
110
|
+
protected _createThreeObject(): THREE.Object3D;
|
|
111
|
+
getDisplayMeshLength(): number;
|
|
112
|
+
getDisplayMeshes(): THREE.Mesh[];
|
|
113
|
+
applyTextureFrom(other: TexturedMobject): void;
|
|
114
|
+
applyVisualSize(width: number, height: number): void;
|
|
115
|
+
applyContentFrom(other: TexturedMobject): void;
|
|
116
|
+
protected _updateGeometry(): void;
|
|
117
|
+
protected _syncMaterialToThree(): void;
|
|
118
|
+
getBoundingBox(): {
|
|
119
|
+
width: number;
|
|
120
|
+
height: number;
|
|
121
|
+
depth: number;
|
|
122
|
+
};
|
|
123
|
+
copy(): VideoMobject;
|
|
124
|
+
dispose(): void;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=VideoMobject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoMobject.d.ts","sourceRoot":"","sources":["../../../src/mobjects/video/VideoMobject.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobjects/video/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
|