manim-web 0.10.0 → 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/dist/GLTFLoader-CisHz7tR.js +1381 -0
- package/dist/GLTFLoader-DMbWuMln.js +1381 -0
- package/dist/OBJLoader-Clh2POv9.js +287 -0
- package/dist/OBJLoader-kkTsEhJf.js +287 -0
- package/dist/export/FrameExporter.d.ts +86 -0
- package/dist/export/FrameExporter.d.ts.map +1 -0
- 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/index.d.ts +4 -0
- 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 +9285 -20305
- package/dist/mobjects/three-d/ModelMobject.d.ts +122 -0
- package/dist/mobjects/three-d/ModelMobject.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/{src-D29Z9zIa.js → src-C817VR8M.js} +7511 -7611
- package/dist/three.core-1aHSpGwp.js +11626 -0
- package/dist/webcomponent-BS5WnkDO.js +707 -0
- package/dist/webm-muxer-BGY-Mgbp.js +857 -0
- package/package.json +9 -2
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Vector3Tuple } from '../../core/Mobject';
|
|
2
|
+
import { Mobject3D } from './Mobject3D';
|
|
3
|
+
/**
|
|
4
|
+
* ModelMobject - import an external 3D model (glTF / .glb / .obj) as a mobject.
|
|
5
|
+
*
|
|
6
|
+
* ManimCE has no way to import an external 3D model (see the long-standing
|
|
7
|
+
* "OBJ Support" request). Three.js ships loaders for the common formats, so
|
|
8
|
+
* manim-web exposes them through a mobject that drops the loaded
|
|
9
|
+
* `THREE.Object3D` into the normal Group/Mobject hierarchy. The model then
|
|
10
|
+
* participates in shift / scale / rotate, z-depth and the 3D camera exactly
|
|
11
|
+
* like a built-in primitive (Cube, Surface3D, ...).
|
|
12
|
+
*
|
|
13
|
+
* Scene-graph wiring (why there are nested groups):
|
|
14
|
+
* wrapper - returned as `_threeObject`; its local transform is written
|
|
15
|
+
* by `Mobject._syncToThree` from the mobject transform, so it
|
|
16
|
+
* must stay under manim's control alone.
|
|
17
|
+
* content - carries the `scale` and `upAxis` options.
|
|
18
|
+
* center - carries the `center` recenter offset.
|
|
19
|
+
* model - the pristine loaded Object3D (never mutated by options, so
|
|
20
|
+
* `copy()` can clone it and re-apply the options cleanly).
|
|
21
|
+
*
|
|
22
|
+
* The real Three.js example loaders are pulled in through a lazy dynamic
|
|
23
|
+
* `import()` on first use, so the base bundle and SSR never load them. Tests
|
|
24
|
+
* inject a loader (via the `loader` option or `setModelLoaderFactory`), which
|
|
25
|
+
* bypasses the import and the network entirely - mirroring the
|
|
26
|
+
* `setTypstCompiler` dependency-injection seam in TypstRenderer.
|
|
27
|
+
*/
|
|
28
|
+
import * as THREE from 'three';
|
|
29
|
+
/** Supported model formats, picked from the URL extension. */
|
|
30
|
+
export type ModelFormat = 'gltf' | 'obj';
|
|
31
|
+
/**
|
|
32
|
+
* The model's up direction. An axis name, or an explicit vector. The model is
|
|
33
|
+
* rotated so this direction aligns with the scene up (+Y).
|
|
34
|
+
*/
|
|
35
|
+
export type ModelUpAxis = 'x' | 'y' | 'z' | Vector3Tuple;
|
|
36
|
+
/** A GLTF-style result, whose root Object3D lives on `.scene`. */
|
|
37
|
+
interface GltfLike {
|
|
38
|
+
scene: THREE.Object3D;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The minimal loader contract ModelMobject needs. Three.js GLTFLoader and
|
|
42
|
+
* OBJLoader both satisfy it structurally. Tests implement it with a stub.
|
|
43
|
+
*/
|
|
44
|
+
export interface ModelLoader {
|
|
45
|
+
loadAsync(url: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D | GltfLike>;
|
|
46
|
+
}
|
|
47
|
+
/** Builds a loader for a format. The DI seam set by `setModelLoaderFactory`. */
|
|
48
|
+
export type ModelLoaderFactory = (format: ModelFormat) => ModelLoader | Promise<ModelLoader>;
|
|
49
|
+
/** Options for {@link ModelMobject.fromUrl}. */
|
|
50
|
+
export interface ModelMobjectOptions {
|
|
51
|
+
/** Uniform factor, or per-axis factors, applied to the loaded model. */
|
|
52
|
+
scale?: number | Vector3Tuple;
|
|
53
|
+
/** The model's up direction; the model is rotated to the scene up (+Y). */
|
|
54
|
+
upAxis?: ModelUpAxis;
|
|
55
|
+
/** Recenter the model's bounding box to the origin. Default: false. */
|
|
56
|
+
center?: boolean;
|
|
57
|
+
/** Convenience fill color applied to every mesh material. */
|
|
58
|
+
color?: string;
|
|
59
|
+
/** Replace every mesh material with this one. Wins over `color`. */
|
|
60
|
+
materialOverride?: THREE.Material;
|
|
61
|
+
/** Progress callback forwarded to the loader. */
|
|
62
|
+
onProgress?: (event: ProgressEvent) => void;
|
|
63
|
+
/** Inject a loader directly (bypasses the factory and the network). */
|
|
64
|
+
loader?: ModelLoader;
|
|
65
|
+
/**
|
|
66
|
+
* When false, a load failure resolves to an empty ModelMobject whose
|
|
67
|
+
* {@link ModelMobject.getLoadError} holds the error instead of rejecting.
|
|
68
|
+
* Default: true (the returned promise rejects on failure).
|
|
69
|
+
*/
|
|
70
|
+
throwOnError?: boolean;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Inject a loader factory, replacing the lazy-loaded Three.js example loaders.
|
|
74
|
+
* Pass `null` to restore the default. Tests use this to avoid any real loader.
|
|
75
|
+
*/
|
|
76
|
+
export declare function setModelLoaderFactory(factory: ModelLoaderFactory | null): void;
|
|
77
|
+
/** Pick the model format from a URL's extension (ignores query and fragment). */
|
|
78
|
+
export declare function detectModelFormat(url: string): ModelFormat;
|
|
79
|
+
export declare class ModelMobject extends Mobject3D {
|
|
80
|
+
private readonly _model;
|
|
81
|
+
private readonly _centerGroup;
|
|
82
|
+
private readonly _content;
|
|
83
|
+
private readonly _wrapper;
|
|
84
|
+
private readonly _format;
|
|
85
|
+
private readonly _options;
|
|
86
|
+
private _loadError;
|
|
87
|
+
/**
|
|
88
|
+
* Prefer {@link ModelMobject.fromUrl}. This constructor wraps an already
|
|
89
|
+
* loaded Object3D (or `null` for an empty placeholder) and applies the
|
|
90
|
+
* geometry options.
|
|
91
|
+
*/
|
|
92
|
+
constructor(object: THREE.Object3D | null, options?: ModelMobjectOptions, format?: ModelFormat | null);
|
|
93
|
+
/**
|
|
94
|
+
* Load a model from a URL and return a ready ModelMobject.
|
|
95
|
+
*
|
|
96
|
+
* The loader is chosen from the extension: `.glb` / `.gltf` -> GLTFLoader,
|
|
97
|
+
* `.obj` -> OBJLoader. Inject a loader with the `loader` option (or
|
|
98
|
+
* `setModelLoaderFactory`) to avoid the network, e.g. in tests.
|
|
99
|
+
*/
|
|
100
|
+
static fromUrl(url: string, options?: ModelMobjectOptions): Promise<ModelMobject>;
|
|
101
|
+
/** Offset the center group so the model's bounding box sits at the origin. */
|
|
102
|
+
private _recenter;
|
|
103
|
+
/** Rotate the content group so the model's up axis aligns with +Y. */
|
|
104
|
+
private _applyUpAxis;
|
|
105
|
+
private _upAxisVector;
|
|
106
|
+
/** Scale the content group uniformly or per axis. */
|
|
107
|
+
private _applyScale;
|
|
108
|
+
/** Apply a material override, or a fill color, to every mesh in the model. */
|
|
109
|
+
private _applyMaterials;
|
|
110
|
+
private _applyColor;
|
|
111
|
+
private _forEachMesh;
|
|
112
|
+
/** The loaded model root (an empty Group if the load failed). */
|
|
113
|
+
getObject(): THREE.Object3D;
|
|
114
|
+
/** The format this model was loaded as, or null for a bare construction. */
|
|
115
|
+
getFormat(): ModelFormat | null;
|
|
116
|
+
/** The load error, or null if the model loaded successfully. */
|
|
117
|
+
getLoadError(): Error | null;
|
|
118
|
+
protected _createThreeObject(): THREE.Object3D;
|
|
119
|
+
copy(): ModelMobject;
|
|
120
|
+
}
|
|
121
|
+
export {};
|
|
122
|
+
//# sourceMappingURL=ModelMobject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelMobject.d.ts","sourceRoot":"","sources":["../../../src/mobjects/three-d/ModelMobject.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|