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.
Files changed (72) hide show
  1. package/README.md +41 -1
  2. package/dist/animation/AnimationUtilities.d.ts +64 -0
  3. package/dist/animation/AnimationUtilities.d.ts.map +1 -0
  4. package/dist/animation/transform/Transform.d.ts +19 -0
  5. package/dist/animation/transform/Transform.d.ts.map +1 -1
  6. package/dist/animation/transform/TransformMatchingBase.d.ts +64 -0
  7. package/dist/animation/transform/TransformMatchingBase.d.ts.map +1 -0
  8. package/dist/animation/transform/index.d.ts +1 -0
  9. package/dist/animation/transform/index.d.ts.map +1 -1
  10. package/dist/core/AnimateProxy.d.ts +39 -0
  11. package/dist/core/AnimateProxy.d.ts.map +1 -0
  12. package/dist/core/CameraExtensions.d.ts +128 -0
  13. package/dist/core/CameraExtensions.d.ts.map +1 -1
  14. package/dist/core/Mobject.d.ts +14 -0
  15. package/dist/core/Mobject.d.ts.map +1 -1
  16. package/dist/core/NullRenderer.d.ts +42 -0
  17. package/dist/core/NullRenderer.d.ts.map +1 -0
  18. package/dist/core/Renderer.d.ts +17 -1
  19. package/dist/core/Renderer.d.ts.map +1 -1
  20. package/dist/core/Scene.d.ts +16 -4
  21. package/dist/core/Scene.d.ts.map +1 -1
  22. package/dist/core/ThreeDScene.d.ts +6 -2
  23. package/dist/core/ThreeDScene.d.ts.map +1 -1
  24. package/dist/core/VGroup.d.ts +7 -0
  25. package/dist/core/VGroup.d.ts.map +1 -1
  26. package/dist/core/ZoomedScene.d.ts +6 -2
  27. package/dist/core/ZoomedScene.d.ts.map +1 -1
  28. package/dist/{featureFlags-C-nwJWMy.js → featureFlags-H97tY2Rw.js} +9461 -7608
  29. package/dist/index.d.ts +12 -6
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +558 -537
  32. package/dist/integrations/react.js +620 -599
  33. package/dist/integrations/vue.js +577 -556
  34. package/dist/interaction/Draggable.d.ts.map +1 -1
  35. package/dist/manim-web.browser.js +84108 -0
  36. package/dist/mobjects/geometry/Arc.d.ts +3 -3
  37. package/dist/mobjects/geometry/Arc.d.ts.map +1 -1
  38. package/dist/mobjects/geometry/TipableVMobject.d.ts +93 -0
  39. package/dist/mobjects/geometry/TipableVMobject.d.ts.map +1 -0
  40. package/dist/mobjects/geometry/index.d.ts +1 -0
  41. package/dist/mobjects/geometry/index.d.ts.map +1 -1
  42. package/dist/mobjects/logo/ManimBanner.d.ts +26 -0
  43. package/dist/mobjects/logo/ManimBanner.d.ts.map +1 -0
  44. package/dist/mobjects/logo/index.d.ts +2 -0
  45. package/dist/mobjects/logo/index.d.ts.map +1 -0
  46. package/dist/mobjects/matrix/Matrix.d.ts +14 -1
  47. package/dist/mobjects/matrix/Matrix.d.ts.map +1 -1
  48. package/dist/mobjects/matrix/MatrixHelpers.d.ts +48 -0
  49. package/dist/mobjects/matrix/MatrixHelpers.d.ts.map +1 -0
  50. package/dist/mobjects/matrix/index.d.ts +1 -0
  51. package/dist/mobjects/matrix/index.d.ts.map +1 -1
  52. package/dist/mobjects/text/Code.d.ts.map +1 -1
  53. package/dist/mobjects/text/DecimalNumber.d.ts.map +1 -1
  54. package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -1
  55. package/dist/mobjects/text/MathTex.d.ts +6 -0
  56. package/dist/mobjects/text/MathTex.d.ts.map +1 -1
  57. package/dist/mobjects/text/MathTexParts.d.ts +80 -0
  58. package/dist/mobjects/text/MathTexParts.d.ts.map +1 -0
  59. package/dist/mobjects/text/Text.d.ts.map +1 -1
  60. package/dist/mobjects/text/index.d.ts +1 -0
  61. package/dist/mobjects/text/index.d.ts.map +1 -1
  62. package/dist/mobjects/three-d/ConvexHull3D.d.ts +75 -0
  63. package/dist/mobjects/three-d/ConvexHull3D.d.ts.map +1 -0
  64. package/dist/mobjects/three-d/index.d.ts +1 -0
  65. package/dist/mobjects/three-d/index.d.ts.map +1 -1
  66. package/dist/mobjects/value-tracker/ValueTracker.d.ts +0 -14
  67. package/dist/mobjects/value-tracker/ValueTracker.d.ts.map +1 -1
  68. package/dist/utils/tex-templates/TexTemplate.d.ts +70 -0
  69. package/dist/utils/tex-templates/TexTemplate.d.ts.map +1 -0
  70. package/dist/utils/tex-templates/index.d.ts +2 -0
  71. package/dist/utils/tex-templates/index.d.ts.map +1 -0
  72. 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
- Or use a plain `<script>` tag — see the [examples](https://maloyan.github.io/manim-web/) for more.
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;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAG3D,qBAAa,SAAU,SAAQ,SAAS;IACtC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,wDAAwD;IACxD,OAAO,CAAC,YAAY,CAAkB;IAEtC,sEAAsE;IACtE,OAAO,CAAC,aAAa,CAAkB;IAEvC,4BAA4B;IAC5B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,kBAAkB,CAAa;IAEvC,4DAA4D;IAC5D,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,+EAA+E;IAC/E,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,qBAAqB,CAAkB;IAE/C,2EAA2E;IAC3E,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,YAAY,CAA6C;IAEjE,0DAA0D;IAC1D,OAAO,CAAC,aAAa,CAAkB;IAEvC,0DAA0D;IAC1D,OAAO,CAAC,uBAAuB,CAAa;gBAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,gBAAqB;IAK7E;;;OAGG;IACM,KAAK,IAAI,IAAI;IA4FtB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA+DhC;;OAEG;IACM,MAAM,IAAI,IAAI;CA4ExB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,gBAAgB,GACzB,SAAS,CAEX;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;gBACrC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,gBAAqB;IAI7E;;;OAGG;IACM,MAAM,IAAI,IAAI;CAKxB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,gBAAgB,GACzB,oBAAoB,CAEtB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC7B;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,iBAAiB,EAAE,OAAO,GAAE,gBAAqB;CAQvE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAEjG"}
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":"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"}
1
+ {"version":3,"file":"CameraExtensions.d.ts","sourceRoot":"","sources":["../../src/core/CameraExtensions.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
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"}
@@ -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,qBAAa,QAAQ;IACnB,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"}
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"}