manim-web 0.3.16 → 0.3.18
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 +41 -1
- package/dist/animation/AnimationUtilities.d.ts +64 -0
- package/dist/animation/AnimationUtilities.d.ts.map +1 -0
- package/dist/animation/transform/Transform.d.ts +19 -0
- package/dist/animation/transform/Transform.d.ts.map +1 -1
- package/dist/animation/transform/TransformMatchingBase.d.ts +64 -0
- package/dist/animation/transform/TransformMatchingBase.d.ts.map +1 -0
- package/dist/animation/transform/index.d.ts +1 -0
- package/dist/animation/transform/index.d.ts.map +1 -1
- package/dist/core/AnimateProxy.d.ts +39 -0
- package/dist/core/AnimateProxy.d.ts.map +1 -0
- package/dist/core/CameraExtensions.d.ts +128 -0
- package/dist/core/CameraExtensions.d.ts.map +1 -1
- package/dist/core/Mobject.d.ts +14 -0
- package/dist/core/Mobject.d.ts.map +1 -1
- package/dist/core/NullRenderer.d.ts +42 -0
- package/dist/core/NullRenderer.d.ts.map +1 -0
- package/dist/core/Renderer.d.ts +17 -1
- package/dist/core/Renderer.d.ts.map +1 -1
- package/dist/core/Scene.d.ts +16 -4
- package/dist/core/Scene.d.ts.map +1 -1
- package/dist/core/ThreeDScene.d.ts +6 -2
- package/dist/core/ThreeDScene.d.ts.map +1 -1
- package/dist/core/VGroup.d.ts +7 -0
- package/dist/core/VGroup.d.ts.map +1 -1
- package/dist/core/ZoomedScene.d.ts +6 -2
- package/dist/core/ZoomedScene.d.ts.map +1 -1
- package/dist/{featureFlags-C-nwJWMy.js → featureFlags-H97tY2Rw.js} +9461 -7608
- package/dist/index.d.ts +12 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +558 -537
- package/dist/integrations/react.js +620 -599
- package/dist/integrations/vue.js +577 -556
- package/dist/interaction/Draggable.d.ts.map +1 -1
- package/dist/manim-web.browser.js +84108 -0
- package/dist/mobjects/geometry/Arc.d.ts +3 -3
- package/dist/mobjects/geometry/Arc.d.ts.map +1 -1
- package/dist/mobjects/geometry/TipableVMobject.d.ts +93 -0
- package/dist/mobjects/geometry/TipableVMobject.d.ts.map +1 -0
- package/dist/mobjects/geometry/index.d.ts +1 -0
- package/dist/mobjects/geometry/index.d.ts.map +1 -1
- package/dist/mobjects/logo/ManimBanner.d.ts +26 -0
- package/dist/mobjects/logo/ManimBanner.d.ts.map +1 -0
- package/dist/mobjects/logo/index.d.ts +2 -0
- package/dist/mobjects/logo/index.d.ts.map +1 -0
- package/dist/mobjects/matrix/Matrix.d.ts +14 -1
- package/dist/mobjects/matrix/Matrix.d.ts.map +1 -1
- package/dist/mobjects/matrix/MatrixHelpers.d.ts +48 -0
- package/dist/mobjects/matrix/MatrixHelpers.d.ts.map +1 -0
- package/dist/mobjects/matrix/index.d.ts +1 -0
- package/dist/mobjects/matrix/index.d.ts.map +1 -1
- package/dist/mobjects/text/Code.d.ts.map +1 -1
- package/dist/mobjects/text/DecimalNumber.d.ts.map +1 -1
- package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -1
- package/dist/mobjects/text/MathTex.d.ts +6 -0
- package/dist/mobjects/text/MathTex.d.ts.map +1 -1
- package/dist/mobjects/text/MathTexParts.d.ts +80 -0
- package/dist/mobjects/text/MathTexParts.d.ts.map +1 -0
- package/dist/mobjects/text/Text.d.ts.map +1 -1
- package/dist/mobjects/text/index.d.ts +1 -0
- package/dist/mobjects/text/index.d.ts.map +1 -1
- package/dist/mobjects/three-d/ConvexHull3D.d.ts +75 -0
- package/dist/mobjects/three-d/ConvexHull3D.d.ts.map +1 -0
- package/dist/mobjects/three-d/index.d.ts +1 -0
- package/dist/mobjects/three-d/index.d.ts.map +1 -1
- package/dist/mobjects/value-tracker/ValueTracker.d.ts +0 -14
- package/dist/mobjects/value-tracker/ValueTracker.d.ts.map +1 -1
- package/dist/utils/tex-templates/TexTemplate.d.ts +70 -0
- package/dist/utils/tex-templates/TexTemplate.d.ts.map +1 -0
- package/dist/utils/tex-templates/index.d.ts +2 -0
- package/dist/utils/tex-templates/index.d.ts.map +1 -0
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -38,7 +38,47 @@ async function squareToCircle(scene: Scene) {
|
|
|
38
38
|
}
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
### Browser Usage
|
|
42
|
+
|
|
43
|
+
Use manim-web directly in the browser with a `<script>` tag -- no bundler needed:
|
|
44
|
+
|
|
45
|
+
```html
|
|
46
|
+
<canvas id="canvas" width="800" height="450"></canvas>
|
|
47
|
+
<script type="module">
|
|
48
|
+
import { Scene, Circle, Create } from 'https://esm.sh/manim-web@0.3.17';
|
|
49
|
+
|
|
50
|
+
const scene = new Scene({ canvasId: 'canvas' });
|
|
51
|
+
const circle = new Circle({ radius: 1.5 });
|
|
52
|
+
await scene.play(new Create(circle));
|
|
53
|
+
</script>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Alternatively, use an [import map](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script/type/importmap) for the self-hosted bundle:
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<script type="importmap">
|
|
60
|
+
{
|
|
61
|
+
"imports": {
|
|
62
|
+
"three": "https://esm.sh/three@0.183.2"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
</script>
|
|
66
|
+
<script type="module">
|
|
67
|
+
import { Scene, Circle, Create } from './node_modules/manim-web/dist/index.js';
|
|
68
|
+
// ...
|
|
69
|
+
</script>
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Or use the self-contained browser bundle that includes Three.js (no import map needed):
|
|
73
|
+
|
|
74
|
+
```html
|
|
75
|
+
<script type="module">
|
|
76
|
+
import { Scene, Circle, Create } from './node_modules/manim-web/dist/manim-web.browser.js';
|
|
77
|
+
// ...
|
|
78
|
+
</script>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
See the [examples](https://maloyan.github.io/manim-web/) for more.
|
|
42
82
|
|
|
43
83
|
## What You Can Build
|
|
44
84
|
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Mobject } from '../core/Mobject';
|
|
2
|
+
import { Animation, AnimationOptions } from './Animation';
|
|
3
|
+
/**
|
|
4
|
+
* Type for animation override functions
|
|
5
|
+
*/
|
|
6
|
+
export type AnimationOverrideFunc = (mobject: Mobject, animArgs?: AnimationOptions) => Animation;
|
|
7
|
+
/**
|
|
8
|
+
* overrideAnimation - Register a custom animation for a mobject method
|
|
9
|
+
*
|
|
10
|
+
* When using the `.animate` pattern, if a method has a registered override,
|
|
11
|
+
* the override animation will be used instead of the default interpolation.
|
|
12
|
+
*
|
|
13
|
+
* @param methodName The name of the method to override
|
|
14
|
+
* @param className The class name to scope the override to
|
|
15
|
+
* @param animFunc The function that creates the override animation
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* // Register a custom animation for clearContent
|
|
20
|
+
* overrideAnimation('clearContent', 'MyMobject', (mobject, args) => {
|
|
21
|
+
* return new Uncreate(mobject, args);
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function overrideAnimation(methodName: string, className: string, animFunc: AnimationOverrideFunc): void;
|
|
26
|
+
/**
|
|
27
|
+
* getAnimationOverride - Get registered animation override for a method
|
|
28
|
+
*
|
|
29
|
+
* @param methodName The method name to check
|
|
30
|
+
* @param className The class name to check
|
|
31
|
+
* @returns The override function if registered, undefined otherwise
|
|
32
|
+
*/
|
|
33
|
+
export declare function getAnimationOverride(methodName: string, className: string): AnimationOverrideFunc | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* hasAnimationOverride - Check if a method has an animation override
|
|
36
|
+
*/
|
|
37
|
+
export declare function hasAnimationOverride(methodName: string, className: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* clearAnimationOverrides - Remove all overrides for a class
|
|
40
|
+
*/
|
|
41
|
+
export declare function clearAnimationOverrides(className: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* prepareAnimation - Normalize animation input to a consistent Animation instance
|
|
44
|
+
*
|
|
45
|
+
* Accepts an Animation object, a callable that returns an Animation, or
|
|
46
|
+
* other animation-like inputs and converts them to a proper Animation instance.
|
|
47
|
+
*
|
|
48
|
+
* @param animInput An Animation instance, a function returning an Animation, or a Mobject
|
|
49
|
+
* @returns A normalized Animation instance
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* // Direct animation
|
|
54
|
+
* const anim1 = prepareAnimation(new FadeIn(circle));
|
|
55
|
+
*
|
|
56
|
+
* // Function that returns animation
|
|
57
|
+
* const anim2 = prepareAnimation(() => new FadeIn(circle));
|
|
58
|
+
*
|
|
59
|
+
* // With animation args
|
|
60
|
+
* const anim3 = prepareAnimation(new Create(square, { duration: 2 }));
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function prepareAnimation(animInput: Animation | (() => Animation)): Animation;
|
|
64
|
+
//# sourceMappingURL=AnimationUtilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimationUtilities.d.ts","sourceRoot":"","sources":["../../src/animation/AnimationUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC;AAOjG;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,qBAAqB,GAC9B,IAAI,CAKN;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,qBAAqB,GAAG,SAAS,CAEnC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEnF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE/D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,SAAS,CAgBpF"}
|
|
@@ -34,12 +34,31 @@ export declare class Transform extends Animation {
|
|
|
34
34
|
private _useCrossFade;
|
|
35
35
|
/** Original target opacity before cross-fade zeroes it */
|
|
36
36
|
private _crossFadeTargetOpacity;
|
|
37
|
+
/** Whether source and target are both VGroups (per-child interpolation) */
|
|
38
|
+
private _isVGroupTransform;
|
|
39
|
+
/** Per-child start/target points for VGroup transforms */
|
|
40
|
+
private _childStartPoints;
|
|
41
|
+
private _childTargetPoints;
|
|
42
|
+
/** Per-child start/target styles for VGroup transforms */
|
|
43
|
+
private _childStartStyles;
|
|
44
|
+
private _childTargetStyles;
|
|
45
|
+
/** Per-child pre-allocated THREE.Color pairs for interpolation (avoids per-frame allocation) */
|
|
46
|
+
private _childColorPairs;
|
|
47
|
+
private _childFillColorPairs;
|
|
48
|
+
/** Snapshot of source children references at begin() time */
|
|
49
|
+
private _childRefs;
|
|
37
50
|
constructor(mobject: Mobject, target: Mobject, options?: AnimationOptions);
|
|
38
51
|
/**
|
|
39
52
|
* Set up the animation - align points between mobject and target,
|
|
40
53
|
* or set up cross-fade if either is not a VMobject.
|
|
41
54
|
*/
|
|
42
55
|
begin(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Set up per-child interpolation for VGroup → VGroup transforms.
|
|
58
|
+
* Matches children pairwise; extra source children fade out, extra
|
|
59
|
+
* target children fade in via placeholder VMobjects.
|
|
60
|
+
*/
|
|
61
|
+
private _beginVGroup;
|
|
43
62
|
/**
|
|
44
63
|
* Interpolate between start and target at the given alpha
|
|
45
64
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transform.d.ts","sourceRoot":"","sources":["../../../src/animation/transform/Transform.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Transform.d.ts","sourceRoot":"","sources":["../../../src/animation/transform/Transform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { VMobject } from '../../core/VMobject';
|
|
2
|
+
import { Animation, AnimationOptions } from '../Animation';
|
|
3
|
+
export interface TransformMatchingBaseOptions extends AnimationOptions {
|
|
4
|
+
/** Key function to extract identifier for matching */
|
|
5
|
+
keyFunc?: (vmobject: VMobject) => string;
|
|
6
|
+
/** Fade duration as fraction of total duration (0-0.5). Default: 0.25 */
|
|
7
|
+
fadeRatio?: number;
|
|
8
|
+
}
|
|
9
|
+
interface MatchedPart {
|
|
10
|
+
source: VMobject;
|
|
11
|
+
target: VMobject;
|
|
12
|
+
startPoints: number[][];
|
|
13
|
+
targetPoints: number[][];
|
|
14
|
+
startOpacity: number;
|
|
15
|
+
targetOpacity: number;
|
|
16
|
+
}
|
|
17
|
+
interface FadingPart {
|
|
18
|
+
mobject: VMobject;
|
|
19
|
+
fadeIn: boolean;
|
|
20
|
+
startOpacity: number;
|
|
21
|
+
targetOpacity: number;
|
|
22
|
+
}
|
|
23
|
+
export declare abstract class TransformMatchingAbstractBase extends Animation {
|
|
24
|
+
/** The target mobject to transform into */
|
|
25
|
+
readonly target: VMobject;
|
|
26
|
+
/** Optional key function for matching */
|
|
27
|
+
readonly keyFunc?: (vmobject: VMobject) => string;
|
|
28
|
+
/** Fade duration ratio */
|
|
29
|
+
readonly fadeRatio: number;
|
|
30
|
+
/** Matched parts that will transform */
|
|
31
|
+
protected _matchedParts: MatchedPart[];
|
|
32
|
+
/** Source parts that will fade out (no match in target) */
|
|
33
|
+
protected _fadeOutParts: FadingPart[];
|
|
34
|
+
/** Target parts that will fade in (no match in source) */
|
|
35
|
+
protected _fadeInParts: FadingPart[];
|
|
36
|
+
constructor(source: VMobject, target: VMobject, options?: TransformMatchingBaseOptions);
|
|
37
|
+
/**
|
|
38
|
+
* Get the submobjects/parts to match from a given VMobject.
|
|
39
|
+
* Subclasses must implement this to define how mobjects are decomposed.
|
|
40
|
+
*/
|
|
41
|
+
protected abstract _getSubmobjects(vmobject: VMobject): VMobject[];
|
|
42
|
+
/**
|
|
43
|
+
* Get a matching key for a VMobject part.
|
|
44
|
+
* Parts with the same key will be matched together.
|
|
45
|
+
* Subclasses must implement this.
|
|
46
|
+
*/
|
|
47
|
+
protected abstract _getKey(vmobject: VMobject): string;
|
|
48
|
+
/**
|
|
49
|
+
* Match submobjects between source and target.
|
|
50
|
+
* Uses key-based exact matching by default. Subclasses can override
|
|
51
|
+
* to add additional matching strategies (e.g., similarity-based).
|
|
52
|
+
*/
|
|
53
|
+
protected _matchParts(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Add a matched pair of source and target parts.
|
|
56
|
+
* Aligns their points so they can be smoothly interpolated.
|
|
57
|
+
*/
|
|
58
|
+
protected _addMatchedPart(source: VMobject, target: VMobject): void;
|
|
59
|
+
begin(): void;
|
|
60
|
+
interpolate(alpha: number): void;
|
|
61
|
+
finish(): void;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=TransformMatchingBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransformMatchingBase.d.ts","sourceRoot":"","sources":["../../../src/animation/transform/TransformMatchingBase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,WAAW,4BAA6B,SAAQ,gBAAgB;IACpE,sDAAsD;IACtD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAC;IACzC,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,8BAAsB,6BAA8B,SAAQ,SAAS;IACnE,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE1B,yCAAyC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAC;IAElD,0BAA0B;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,wCAAwC;IACxC,SAAS,CAAC,aAAa,EAAE,WAAW,EAAE,CAAM;IAE5C,2DAA2D;IAC3D,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE,CAAM;IAE3C,0DAA0D;IAC1D,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,CAAM;gBAE9B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,4BAAiC;IAO1F;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE;IAElE;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAEtD;;;;OAIG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI;IAuE7B;;;OAGG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI;IAkB1D,KAAK,IAAI,IAAI;IAKtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA0BvB,MAAM,IAAI,IAAI;CAmBxB"}
|
|
@@ -3,6 +3,7 @@ export { ApplyFunction, applyFunction, type ApplyFunctionOptions, ApplyMethod, a
|
|
|
3
3
|
export { FadeTransform, fadeTransform, type FadeTransformOptions, FadeTransformPieces, fadeTransformPieces, type FadeTransformPiecesOptions, TransformFromCopy, transformFromCopy, type TransformFromCopyOptions, } from './FadeTransforms';
|
|
4
4
|
export { ClockwiseTransform, clockwiseTransform, type ClockwiseTransformOptions, CounterclockwiseTransform, counterclockwiseTransform, type CounterclockwiseTransformOptions, Swap, swap, type SwapOptions, CyclicReplace, cyclicReplace, type CyclicReplaceOptions, } from './MovementTransforms';
|
|
5
5
|
export { ScaleInPlace, scaleInPlace, type ScaleInPlaceOptions, ShrinkToCenter, shrinkToCenter, type ShrinkToCenterOptions, Restore, restore, type MobjectWithSavedState, type RestoreOptions, FadeToColor, fadeToColor, type FadeToColorOptions, TransformAnimations, transformAnimations, type TransformAnimationsOptions, } from './SpecialTransforms';
|
|
6
|
+
export { TransformMatchingAbstractBase, type TransformMatchingBaseOptions, } from './TransformMatchingBase';
|
|
6
7
|
export { TransformMatchingShapes, transformMatchingShapes, type TransformMatchingShapesOptions, TransformMatchingTex, transformMatchingTex, type TransformMatchingTexOptions, } from './TransformMatching';
|
|
7
8
|
export { ApplyPointwiseFunction, applyPointwiseFunction, type ApplyPointwiseFunctionOptions, } from './ApplyPointwiseFunction';
|
|
8
9
|
export { ApplyPointwiseFunctionToCenter, applyPointwiseFunctionToCenter, type ApplyPointwiseFunctionToCenterOptions, } from './ApplyPointwiseFunctionToCenter';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/animation/transform/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,aAAa,EACb,aAAa,EACb,KAAK,oBAAoB,EAGzB,WAAW,EACX,WAAW,EACX,KAAK,kBAAkB,EAGvB,WAAW,EACX,WAAW,EACX,KAAK,kBAAkB,EAGvB,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,2BAA2B,GACjC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,aAAa,EACb,aAAa,EACb,KAAK,oBAAoB,EAGzB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,0BAA0B,EAG/B,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,wBAAwB,GAC9B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,yBAAyB,EAG9B,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,gCAAgC,EAGrC,IAAI,EACJ,IAAI,EACJ,KAAK,WAAW,EAGhB,aAAa,EACb,aAAa,EACb,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,YAAY,EACZ,YAAY,EACZ,KAAK,mBAAmB,EAGxB,cAAc,EACd,cAAc,EACd,KAAK,qBAAqB,EAG1B,OAAO,EACP,OAAO,EACP,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EAGnB,WAAW,EACX,WAAW,EACX,KAAK,kBAAkB,EAGvB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAEL,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,8BAA8B,EAGnC,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,2BAA2B,GACjC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,6BAA6B,GACnC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,KAAK,qCAAqC,GAC3C,MAAM,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/animation/transform/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,aAAa,EACb,aAAa,EACb,KAAK,oBAAoB,EAGzB,WAAW,EACX,WAAW,EACX,KAAK,kBAAkB,EAGvB,WAAW,EACX,WAAW,EACX,KAAK,kBAAkB,EAGvB,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,2BAA2B,GACjC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,aAAa,EACb,aAAa,EACb,KAAK,oBAAoB,EAGzB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,0BAA0B,EAG/B,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,wBAAwB,GAC9B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,yBAAyB,EAG9B,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,gCAAgC,EAGrC,IAAI,EACJ,IAAI,EACJ,KAAK,WAAW,EAGhB,aAAa,EACb,aAAa,EACb,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,YAAY,EACZ,YAAY,EACZ,KAAK,mBAAmB,EAGxB,cAAc,EACd,cAAc,EACd,KAAK,qBAAqB,EAG1B,OAAO,EACP,OAAO,EACP,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EAGnB,WAAW,EACX,WAAW,EACX,KAAK,kBAAkB,EAGvB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,6BAA6B,EAC7B,KAAK,4BAA4B,GAClC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAEL,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,8BAA8B,EAGnC,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,2BAA2B,GACjC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,6BAA6B,GACnC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,KAAK,qCAAqC,GAC3C,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Mobject, Vector3Tuple, MobjectStyle } from './Mobject';
|
|
2
|
+
import { Animation, AnimationOptions } from '../animation/Animation';
|
|
3
|
+
import { RateFunction } from '../rate-functions';
|
|
4
|
+
export declare class AnimateProxy extends Animation {
|
|
5
|
+
private _source;
|
|
6
|
+
private _calls;
|
|
7
|
+
private _innerTransform;
|
|
8
|
+
private _overrideAnimation;
|
|
9
|
+
constructor(mobject: Mobject, options?: AnimationOptions);
|
|
10
|
+
/** Override duration for this animation (builder-style). */
|
|
11
|
+
withDuration(seconds: number): this;
|
|
12
|
+
/** Override rate function (builder-style). */
|
|
13
|
+
withRateFunc(fn: RateFunction): this;
|
|
14
|
+
shift(delta: Vector3Tuple): this;
|
|
15
|
+
moveTo(target: Vector3Tuple | Mobject, alignedEdge?: Vector3Tuple): this;
|
|
16
|
+
rotate(angle: number, axisOrOptions?: Vector3Tuple | {
|
|
17
|
+
axis?: Vector3Tuple;
|
|
18
|
+
aboutPoint?: Vector3Tuple;
|
|
19
|
+
}): this;
|
|
20
|
+
scale(factor: number | Vector3Tuple): this;
|
|
21
|
+
setColor(color: string): this;
|
|
22
|
+
setOpacity(opacity: number): this;
|
|
23
|
+
setStrokeWidth(width: number): this;
|
|
24
|
+
setFillOpacity(opacity: number): this;
|
|
25
|
+
setFill(color?: string, opacity?: number): this;
|
|
26
|
+
setStyle(style: Partial<MobjectStyle>): this;
|
|
27
|
+
flip(axis?: Vector3Tuple): this;
|
|
28
|
+
center(): this;
|
|
29
|
+
nextTo(target: Mobject | Vector3Tuple, direction?: Vector3Tuple, buff?: number): this;
|
|
30
|
+
alignTo(target: Mobject | Vector3Tuple, direction: Vector3Tuple): this;
|
|
31
|
+
toEdge(direction: Vector3Tuple, buff?: number): this;
|
|
32
|
+
setX(x: number): this;
|
|
33
|
+
setY(y: number): this;
|
|
34
|
+
setZ(z: number): this;
|
|
35
|
+
begin(): void;
|
|
36
|
+
interpolate(alpha: number): void;
|
|
37
|
+
finish(): void;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=AnimateProxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimateProxy.d.ts","sourceRoot":"","sources":["../../src/core/AnimateProxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAwB,MAAM,WAAW,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,KAAK,YAAY,EAAU,MAAM,mBAAmB,CAAC;AAM9D,qBAAa,YAAa,SAAQ,SAAS;IACzC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,kBAAkB,CAA0B;gBAExC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,gBAAqB;IAU5D,4DAA4D;IAC5D,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKnC,8CAA8C;IAC9C,YAAY,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAOpC,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKhC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI;IAKxE,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,YAAY,GAAG;QAAE,IAAI,CAAC,EAAE,YAAY,CAAC;QAAC,UAAU,CAAC,EAAE,YAAY,CAAA;KAAE,GAChF,IAAI;IAKP,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAK1C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKjC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKrC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAK/C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAK5C,IAAI,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI;IAK/B,MAAM,IAAI,IAAI;IAKd,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAQrF,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI;IAKtE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAKpD,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKrB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKrB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAOZ,KAAK,IAAI,IAAI;IA2CtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUvB,MAAM,IAAI,IAAI;CASxB"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { Camera2D, Camera3D, CameraOptions, Camera3DOptions } from './Camera';
|
|
2
2
|
import { Mobject, Vector3Tuple } from './Mobject';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
|
+
/**
|
|
5
|
+
* Coordinate mapping function type.
|
|
6
|
+
* Transforms a 3D point to another 3D point.
|
|
7
|
+
*/
|
|
8
|
+
export type MappingFunction = (point: Vector3Tuple) => Vector3Tuple;
|
|
4
9
|
/**
|
|
5
10
|
* Animation options for camera movements.
|
|
6
11
|
*/
|
|
@@ -417,4 +422,127 @@ export declare class MultiCamera {
|
|
|
417
422
|
*/
|
|
418
423
|
clear(): this;
|
|
419
424
|
}
|
|
425
|
+
/**
|
|
426
|
+
* Options for configuring a MappingCamera.
|
|
427
|
+
*/
|
|
428
|
+
export interface MappingCameraOptions extends CameraOptions {
|
|
429
|
+
/** Initial mapping function to apply to coordinates. */
|
|
430
|
+
mappingFunction?: MappingFunction;
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* MappingCamera - A Camera2D that applies a coordinate mapping function
|
|
434
|
+
* to transform how the scene is viewed.
|
|
435
|
+
*
|
|
436
|
+
* Based on Python Manim's MappingCamera concept. Use cases include
|
|
437
|
+
* non-linear coordinate distortions and custom projections.
|
|
438
|
+
*/
|
|
439
|
+
export declare class MappingCamera extends Camera2D {
|
|
440
|
+
private _mappingFunction;
|
|
441
|
+
/**
|
|
442
|
+
* Create a new MappingCamera.
|
|
443
|
+
* @param options - Camera configuration options
|
|
444
|
+
*/
|
|
445
|
+
constructor(options?: MappingCameraOptions);
|
|
446
|
+
/**
|
|
447
|
+
* Set the mapping function used to transform coordinates.
|
|
448
|
+
* @param fn - Mapping function that transforms [x, y, z] points
|
|
449
|
+
* @returns this for chaining
|
|
450
|
+
*/
|
|
451
|
+
setMappingFunction(fn: MappingFunction): this;
|
|
452
|
+
/**
|
|
453
|
+
* Get the current mapping function.
|
|
454
|
+
* @returns The mapping function, or null if none is set
|
|
455
|
+
*/
|
|
456
|
+
getMappingFunction(): MappingFunction | null;
|
|
457
|
+
/**
|
|
458
|
+
* Apply the mapping function to a point.
|
|
459
|
+
* Returns the point unchanged if no mapping is set (identity).
|
|
460
|
+
* @param point - Input point [x, y, z]
|
|
461
|
+
* @returns The mapped point
|
|
462
|
+
*/
|
|
463
|
+
mapPoint(point: Vector3Tuple): Vector3Tuple;
|
|
464
|
+
/**
|
|
465
|
+
* Clear the mapping function, reverting to identity.
|
|
466
|
+
* @returns this for chaining
|
|
467
|
+
*/
|
|
468
|
+
resetMapping(): this;
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Options for configuring a SplitScreenCamera.
|
|
472
|
+
*/
|
|
473
|
+
export interface SplitScreenCameraOptions {
|
|
474
|
+
/** Camera for the left (or top) side. Defaults to a new Camera2D. */
|
|
475
|
+
leftCamera?: Camera2D;
|
|
476
|
+
/** Camera for the right (or bottom) side. Defaults to a new Camera2D. */
|
|
477
|
+
rightCamera?: Camera2D;
|
|
478
|
+
/** Split direction. Defaults to 'horizontal'. */
|
|
479
|
+
split?: 'horizontal' | 'vertical';
|
|
480
|
+
/** Split ratio (0-1). Defaults to 0.5. */
|
|
481
|
+
splitRatio?: number;
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* SplitScreenCamera - A convenience class that wraps MultiCamera
|
|
485
|
+
* for split-screen comparison views.
|
|
486
|
+
*
|
|
487
|
+
* Based on Python Manim's multi_camera module. Provides two Camera2D
|
|
488
|
+
* instances rendered side-by-side (horizontal split) or stacked
|
|
489
|
+
* (vertical split) with a configurable split ratio.
|
|
490
|
+
*/
|
|
491
|
+
export declare class SplitScreenCamera {
|
|
492
|
+
private _leftCamera;
|
|
493
|
+
private _rightCamera;
|
|
494
|
+
private _multiCamera;
|
|
495
|
+
private _splitDirection;
|
|
496
|
+
private _splitRatio;
|
|
497
|
+
/**
|
|
498
|
+
* Create a new SplitScreenCamera.
|
|
499
|
+
* @param options - Configuration options
|
|
500
|
+
*/
|
|
501
|
+
constructor(options?: SplitScreenCameraOptions);
|
|
502
|
+
/**
|
|
503
|
+
* Clamp a ratio to the valid range (0.01 - 0.99).
|
|
504
|
+
*/
|
|
505
|
+
private static _clampRatio;
|
|
506
|
+
/**
|
|
507
|
+
* Rebuild the MultiCamera viewports based on current split settings.
|
|
508
|
+
*/
|
|
509
|
+
private _rebuildViewports;
|
|
510
|
+
/**
|
|
511
|
+
* Get the left (or top) camera.
|
|
512
|
+
* @returns The left Camera2D
|
|
513
|
+
*/
|
|
514
|
+
getLeftCamera(): Camera2D;
|
|
515
|
+
/**
|
|
516
|
+
* Get the right (or bottom) camera.
|
|
517
|
+
* @returns The right Camera2D
|
|
518
|
+
*/
|
|
519
|
+
getRightCamera(): Camera2D;
|
|
520
|
+
/**
|
|
521
|
+
* Get the underlying MultiCamera instance.
|
|
522
|
+
* @returns The MultiCamera managing the viewports
|
|
523
|
+
*/
|
|
524
|
+
getMultiCamera(): MultiCamera;
|
|
525
|
+
/**
|
|
526
|
+
* Get the current split direction.
|
|
527
|
+
* @returns 'horizontal' or 'vertical'
|
|
528
|
+
*/
|
|
529
|
+
getSplitDirection(): 'horizontal' | 'vertical';
|
|
530
|
+
/**
|
|
531
|
+
* Get the current split ratio.
|
|
532
|
+
* @returns Split ratio between 0.01 and 0.99
|
|
533
|
+
*/
|
|
534
|
+
getSplitRatio(): number;
|
|
535
|
+
/**
|
|
536
|
+
* Set the split direction.
|
|
537
|
+
* @param direction - 'horizontal' for side-by-side, 'vertical' for stacked
|
|
538
|
+
* @returns this for chaining
|
|
539
|
+
*/
|
|
540
|
+
setSplit(direction: 'horizontal' | 'vertical'): this;
|
|
541
|
+
/**
|
|
542
|
+
* Set the split ratio.
|
|
543
|
+
* @param ratio - Position of the split (0-1). 0.5 = equal halves.
|
|
544
|
+
* @returns this for chaining
|
|
545
|
+
*/
|
|
546
|
+
setSplitRatio(ratio: number): this;
|
|
547
|
+
}
|
|
420
548
|
//# sourceMappingURL=CameraExtensions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CameraExtensions.d.ts","sourceRoot":"","sources":["../../src/core/CameraExtensions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CameraExtensions.d.ts","sourceRoot":"","sources":["../../src/core/CameraExtensions.ts"],"names":[],"mappings":"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"}
|
package/dist/core/Mobject.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Vector3Tuple, MobjectStyle } from './MobjectTypes';
|
|
2
2
|
import * as THREE from 'three';
|
|
3
|
+
/** @internal Called by AnimateProxy module to register the factory. */
|
|
4
|
+
export declare function registerAnimateProxy(factory: (mobject: Mobject) => any): void;
|
|
3
5
|
export { type Vector3Tuple, type MobjectStyle, type MobjectLike, type VMobjectLike, isVMobjectLike, UP, DOWN, LEFT, RIGHT, OUT, IN, ORIGIN, UL, UR, DL, DR, } from './MobjectTypes';
|
|
4
6
|
/**
|
|
5
7
|
* Updater function type that runs every frame.
|
|
@@ -106,6 +108,18 @@ export declare abstract class Mobject {
|
|
|
106
108
|
setY(y: number): this;
|
|
107
109
|
setZ(z: number): this;
|
|
108
110
|
center(): this;
|
|
111
|
+
/**
|
|
112
|
+
* Returns an AnimateProxy that records method calls.
|
|
113
|
+
* Pass the proxy to `scene.play()` to animate from the current state
|
|
114
|
+
* to the state after all recorded calls are applied.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* scene.play(circle.animate.shift([2, 0, 0]));
|
|
119
|
+
* scene.play(circle.animate.setColor('#ff0000').scale(2));
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
get animate(): any;
|
|
109
123
|
toEdge(direction: Vector3Tuple, buff?: number, frameDimensions?: [number, number]): this;
|
|
110
124
|
toCorner(direction?: Vector3Tuple, buff?: number, frameDimensions?: [number, number]): this;
|
|
111
125
|
_syncToThree(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mobject.d.ts","sourceRoot":"","sources":["../../src/core/Mobject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAyB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Mobject.d.ts","sourceRoot":"","sources":["../../src/core/Mobject.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { IRenderer } from './Renderer';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
/**
|
|
4
|
+
* No-op renderer for headless mode.
|
|
5
|
+
* Drop-in replacement for Renderer that performs no actual rendering.
|
|
6
|
+
* Used when Scene is created with { headless: true } or via Scene.createHeadless().
|
|
7
|
+
*
|
|
8
|
+
* - render() and dispose() are no-ops; resize() updates in-memory dimensions
|
|
9
|
+
* - getCanvas() and getThreeRenderer() throw with descriptive errors
|
|
10
|
+
* - Width, height, colors are stored in memory for scene logic
|
|
11
|
+
*/
|
|
12
|
+
export declare class NullRenderer implements IRenderer {
|
|
13
|
+
private _width;
|
|
14
|
+
private _height;
|
|
15
|
+
private _backgroundColor;
|
|
16
|
+
private _backgroundOpacity;
|
|
17
|
+
/**
|
|
18
|
+
* Create a NullRenderer with optional dimensions and colors.
|
|
19
|
+
* @param options - Configuration options (defaults: 800x450, black background)
|
|
20
|
+
*/
|
|
21
|
+
constructor(options?: {
|
|
22
|
+
width?: number;
|
|
23
|
+
height?: number;
|
|
24
|
+
backgroundColor?: string;
|
|
25
|
+
backgroundOpacity?: number;
|
|
26
|
+
});
|
|
27
|
+
get isContextLost(): boolean;
|
|
28
|
+
get width(): number;
|
|
29
|
+
get height(): number;
|
|
30
|
+
get backgroundColor(): THREE.Color;
|
|
31
|
+
set backgroundColor(color: THREE.Color | string);
|
|
32
|
+
get backgroundOpacity(): number;
|
|
33
|
+
set backgroundOpacity(value: number);
|
|
34
|
+
render(_scene: THREE.Scene, _camera: THREE.Camera): void;
|
|
35
|
+
resize(width: number, height: number): void;
|
|
36
|
+
/** Always throws — canvas is not available in headless mode. */
|
|
37
|
+
getCanvas(): HTMLCanvasElement;
|
|
38
|
+
/** Always throws — WebGL renderer is not available in headless mode. */
|
|
39
|
+
getThreeRenderer(): THREE.WebGLRenderer;
|
|
40
|
+
dispose(): void;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=NullRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NullRenderer.d.ts","sourceRoot":"","sources":["../../src/core/NullRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;;;;GAQG;AACH,qBAAa,YAAa,YAAW,SAAS;IAC5C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,kBAAkB,CAAS;IAEnC;;;OAGG;gBAED,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KACvB;IAQR,IAAI,aAAa,IAAI,OAAO,CAE3B;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,eAAe,IAAI,KAAK,CAAC,KAAK,CAEjC;IACD,IAAI,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,EAE9C;IACD,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IACD,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAElC;IAED,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI;IAGxD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3C,gEAAgE;IAChE,SAAS,IAAI,iBAAiB;IAK9B,wEAAwE;IACxE,gBAAgB,IAAI,KAAK,CAAC,aAAa;IAKvC,OAAO,IAAI,IAAI;CAGhB"}
|
package/dist/core/Renderer.d.ts
CHANGED
|
@@ -24,11 +24,27 @@ export interface RendererOptions {
|
|
|
24
24
|
/** Existing canvas element to reuse. If not provided, a new canvas is created. */
|
|
25
25
|
canvas?: HTMLCanvasElement;
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Common interface for renderers (WebGL and headless).
|
|
29
|
+
* Both Renderer and NullRenderer implement this interface.
|
|
30
|
+
*/
|
|
31
|
+
export interface IRenderer {
|
|
32
|
+
readonly isContextLost: boolean;
|
|
33
|
+
readonly width: number;
|
|
34
|
+
readonly height: number;
|
|
35
|
+
backgroundColor: THREE.Color | string;
|
|
36
|
+
backgroundOpacity: number;
|
|
37
|
+
render(scene: THREE.Scene, camera: THREE.Camera): void;
|
|
38
|
+
resize(width: number, height: number): void;
|
|
39
|
+
getCanvas(): HTMLCanvasElement;
|
|
40
|
+
getThreeRenderer(): THREE.WebGLRenderer;
|
|
41
|
+
dispose(): void;
|
|
42
|
+
}
|
|
27
43
|
/**
|
|
28
44
|
* Three.js WebGLRenderer wrapper for manimweb.
|
|
29
45
|
* Handles canvas creation, rendering, and lifecycle management.
|
|
30
46
|
*/
|
|
31
|
-
export declare class Renderer {
|
|
47
|
+
export declare class Renderer implements IRenderer {
|
|
32
48
|
private _renderer;
|
|
33
49
|
private _width;
|
|
34
50
|
private _height;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../src/core/Renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8FAA8F;IAC9F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,SAAS,GAAG,kBAAkB,GAAG,WAAW,CAAC;IAC/D,+CAA+C;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2LAA2L;IAC3L,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2FAA2F;IAC3F,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kFAAkF;IAClF,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../src/core/Renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8FAA8F;IAC9F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,SAAS,GAAG,kBAAkB,GAAG,WAAW,CAAC;IAC/D,+CAA+C;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2LAA2L;IAC3L,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2FAA2F;IAC3F,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kFAAkF;IAClF,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,SAAS,IAAI,iBAAiB,CAAC;IAC/B,gBAAgB,IAAI,KAAK,CAAC,aAAa,CAAC;IACxC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,QAAS,YAAW,SAAS;IACxC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,YAAY,CAAkB;IAEtC;;;;OAIG;gBAES,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,eAAoB;IAuDjE;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,KAAK,CAAC,KAAK,CAEjC;IAED;;OAEG;IACH,IAAI,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,EAG9C;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED;;;OAGG;IACH,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAUlC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI;IAKtD;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAM3C;;;OAGG;IACH,SAAS,IAAI,iBAAiB;IAI9B;;;OAGG;IACH,gBAAgB,IAAI,KAAK,CAAC,aAAa;IAIvC;;;OAGG;IACH,OAAO,IAAI,IAAI;CAOhB"}
|