manim-web 0.3.21 → 0.3.22

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 (123) hide show
  1. package/README.md +20 -0
  2. package/dist/{AmsConfiguration-BMyoprhk.js → AmsConfiguration-OUoC_kJ0.js} +5 -5
  3. package/dist/{AmsConfiguration-BdxxYRby.js → AmsConfiguration-tdje_HlF.js} +5 -5
  4. package/dist/{ConfigMacrosConfiguration-B8X_JSVI.js → ConfigMacrosConfiguration-4OaQYvlr.js} +3 -3
  5. package/dist/{ConfigMacrosConfiguration-DUxp6DUV.js → ConfigMacrosConfiguration-DM3-S5M8.js} +3 -3
  6. package/dist/{Entities-B1o7gN0J.js → Entities-Dw6381dl.js} +2 -2
  7. package/dist/{Entities-C82lnCux.js → Entities-bJKKDYjE.js} +2 -2
  8. package/dist/{HtmlNode-BLmQ2r7U.js → HtmlNode-1mFtYQ9G.js} +2 -2
  9. package/dist/{HtmlNode-DXGeKrcW.js → HtmlNode-CQqo5we-.js} +2 -2
  10. package/dist/{InputJax-DL9oUQY4.js → InputJax-D5R2pqUk.js} +2 -2
  11. package/dist/{InputJax-DnDWM3Y0.js → InputJax-jNvwWU5P.js} +2 -2
  12. package/dist/{NewcommandConfiguration-BPjclFig.js → NewcommandConfiguration-BN_OlLcO.js} +2 -2
  13. package/dist/{NewcommandConfiguration-bJ6P1rBY.js → NewcommandConfiguration-DZ3mSCpD.js} +2 -2
  14. package/dist/{NewcommandMethods-C_E3iLoK.js → NewcommandMethods-D5bueYYE.js} +2 -2
  15. package/dist/{NewcommandMethods-Cb7yFm5P.js → NewcommandMethods-DTf_dan5.js} +2 -2
  16. package/dist/{ParseMethods-BMPfzfQC.js → ParseMethods-Deqa7kJ6.js} +7 -7
  17. package/dist/{ParseMethods-D3_HeS1K.js → ParseMethods-Dt5bYDSZ.js} +7 -7
  18. package/dist/{Styles-Dky5jZUe.js → Styles-BILrGVps.js} +1 -1
  19. package/dist/{Styles-J-6R3Vr8.js → Styles-DQSruwWe.js} +1 -1
  20. package/dist/animation/Animation.d.ts.map +1 -1
  21. package/dist/animation/MasterTimeline.d.ts +88 -1
  22. package/dist/animation/MasterTimeline.d.ts.map +1 -1
  23. package/dist/animation/movement/Rotate.d.ts +2 -7
  24. package/dist/animation/movement/Rotate.d.ts.map +1 -1
  25. package/dist/animation/transform/PointMorphStrategy.d.ts.map +1 -1
  26. package/dist/core/AnimateProxy.d.ts +3 -5
  27. package/dist/core/AnimateProxy.d.ts.map +1 -1
  28. package/dist/core/Camera.d.ts +37 -0
  29. package/dist/core/Camera.d.ts.map +1 -1
  30. package/dist/core/CameraExtensions.d.ts +33 -1
  31. package/dist/core/CameraExtensions.d.ts.map +1 -1
  32. package/dist/core/Group.d.ts +3 -11
  33. package/dist/core/Group.d.ts.map +1 -1
  34. package/dist/core/Mobject.d.ts +33 -7
  35. package/dist/core/Mobject.d.ts.map +1 -1
  36. package/dist/core/MobjectPositioning.d.ts +2 -5
  37. package/dist/core/MobjectPositioning.d.ts.map +1 -1
  38. package/dist/core/MobjectTypes.d.ts +21 -4
  39. package/dist/core/MobjectTypes.d.ts.map +1 -1
  40. package/dist/core/Renderer.d.ts +3 -0
  41. package/dist/core/Renderer.d.ts.map +1 -1
  42. package/dist/core/Scene.d.ts +50 -0
  43. package/dist/core/Scene.d.ts.map +1 -1
  44. package/dist/core/ThreeDScene.d.ts +3 -1
  45. package/dist/core/ThreeDScene.d.ts.map +1 -1
  46. package/dist/core/VGroup.d.ts +11 -19
  47. package/dist/core/VGroup.d.ts.map +1 -1
  48. package/dist/core/VMobject.d.ts +14 -1
  49. package/dist/core/VMobject.d.ts.map +1 -1
  50. package/dist/core/VMobjectGeometry.d.ts +20 -10
  51. package/dist/core/VMobjectGeometry.d.ts.map +1 -1
  52. package/dist/core/VMobjectRendering.d.ts +5 -0
  53. package/dist/core/VMobjectRendering.d.ts.map +1 -1
  54. package/dist/core/VMobjectTransformAlignment.d.ts +9 -0
  55. package/dist/core/VMobjectTransformAlignment.d.ts.map +1 -1
  56. package/dist/{html-DU38zqaN.js → html-Bza5WY1y.js} +6 -6
  57. package/dist/{html-DjkQuIHJ.js → html-bhzMuE8p.js} +6 -6
  58. package/dist/index.d.ts +4 -3
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +2 -4
  61. package/dist/integrations/react.js +16 -18
  62. package/dist/integrations/vue.js +15 -17
  63. package/dist/interaction/OrbitControls.d.ts +1 -1
  64. package/dist/interaction/OrbitControls.d.ts.map +1 -1
  65. package/dist/{lengths-CP7zmbxJ.js → lengths-D2zTYMUu.js} +2 -2
  66. package/dist/{liteAdaptor-BLgze3o2.js → liteAdaptor-BkxB5CGC.js} +3 -3
  67. package/dist/{liteAdaptor-zXv-jsO1.js → liteAdaptor-LMKuWwg1.js} +3 -3
  68. package/dist/manim-web.browser.js +8668 -7171
  69. package/dist/{mathjax-7LgaTjtj.js → mathjax-CPQWkQEv.js} +2 -2
  70. package/dist/{mathjax-CoSFlQ0H.js → mathjax-b-GTdZgw.js} +2 -2
  71. package/dist/{mo-CNYDGAsg.js → mo-D4wFHS6V.js} +2 -2
  72. package/dist/{mo-C5uLT3Z9.js → mo-hAX79Dzl.js} +2 -2
  73. package/dist/mobjects/geometry/AngleShapes.d.ts +0 -4
  74. package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -1
  75. package/dist/mobjects/geometry/CubicBezier.d.ts.map +1 -1
  76. package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -1
  77. package/dist/mobjects/graphing/ComplexPlane.d.ts +41 -1
  78. package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -1
  79. package/dist/mobjects/graphing/Vector.d.ts.map +1 -1
  80. package/dist/mobjects/point/Mobject1D.d.ts.map +1 -1
  81. package/dist/mobjects/point/Mobject2D.d.ts.map +1 -1
  82. package/dist/mobjects/point/PMobject.d.ts +8 -2
  83. package/dist/mobjects/point/PMobject.d.ts.map +1 -1
  84. package/dist/mobjects/point/PointMobject.d.ts.map +1 -1
  85. package/dist/mobjects/text/Code.d.ts.map +1 -1
  86. package/dist/mobjects/text/MathTex.d.ts +9 -0
  87. package/dist/mobjects/text/MathTex.d.ts.map +1 -1
  88. package/dist/mobjects/text/MathTexImage.d.ts.map +1 -1
  89. package/dist/mobjects/text/Text.d.ts.map +1 -1
  90. package/dist/mobjects/text/TextGlyphGroup.d.ts.map +1 -1
  91. package/dist/mobjects/three-d/Line3D.d.ts +10 -56
  92. package/dist/mobjects/three-d/Line3D.d.ts.map +1 -1
  93. package/dist/player/Player.d.ts +36 -29
  94. package/dist/player/Player.d.ts.map +1 -1
  95. package/dist/player/PlayerUI.d.ts.map +1 -1
  96. package/dist/player/RecordingScene.d.ts +37 -0
  97. package/dist/player/RecordingScene.d.ts.map +1 -0
  98. package/dist/{src-CW4pfZdP.js → src-BlTk3Bta.js} +8798 -7302
  99. package/dist/{svg-CYweEoZ1.js → svg-DNS5Hwhk.js} +268 -253
  100. package/dist/{svg-swSF_J59.js → svg-DVUoAdmC.js} +268 -253
  101. package/dist/test-setup/vitest-setup.d.ts +20 -0
  102. package/dist/test-setup/vitest-setup.d.ts.map +1 -0
  103. package/dist/{tex-C4_queV-.js → tex-BQCLd0dF.js} +19 -15
  104. package/dist/{tex-CA5MLeEe.js → tex-Cd_bTYKG.js} +19 -15
  105. package/dist/utils/axis.d.ts +4 -0
  106. package/dist/utils/axis.d.ts.map +1 -0
  107. package/dist/utils/logger.d.ts +37 -0
  108. package/dist/utils/logger.d.ts.map +1 -1
  109. package/dist/utils/math.d.ts +4 -0
  110. package/dist/utils/math.d.ts.map +1 -1
  111. package/dist/utils/vectors.d.ts +54 -1
  112. package/dist/utils/vectors.d.ts.map +1 -1
  113. package/package.json +8 -6
  114. package/dist/Factory-D-whCqrb.js +0 -107
  115. package/dist/GifExporter-BrxY_q7e.js +0 -338
  116. package/dist/GifExporter-S2pbxMc5.js +0 -338
  117. package/dist/Options-XPptO-6X.js +0 -63
  118. package/dist/VideoExporter-6ikT3u9H.js +0 -102
  119. package/dist/VideoExporter-D_RxVahH.js +0 -102
  120. package/dist/lengths-D4tR1gYA.js +0 -54
  121. package/dist/rolldown-runtime-DnwLefa7.js +0 -23
  122. /package/dist/{Factory-BKM7FEO-.js → Factory-Ba6Nqb3M.js} +0 -0
  123. /package/dist/{Options-DRlTi0G8.js → Options-DMK2wYar.js} +0 -0
@@ -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,4 +1,4 @@
1
- import { Mobject, Vector3Tuple } from './Mobject';
1
+ import { Mobject, Vector3Tuple, AxisOrOptions } from './Mobject';
2
2
  /**
3
3
  * Group class for grouping multiple mobjects together.
4
4
  * Transformations applied to the group cascade to all children.
@@ -31,13 +31,8 @@ export declare class Group extends Mobject {
31
31
  * @returns this for chaining
32
32
  */
33
33
  clear(): this;
34
- /**
35
- * Get the center of the group (average of all children centers).
36
- * Children maintain world-space coordinates, so no group position offset
37
- * is added (shift/moveTo only update children, not group position).
38
- * @returns Center position as [x, y, z]
39
- */
40
34
  getCenter(): Vector3Tuple;
35
+ normalizeTransform(): this;
41
36
  /**
42
37
  * Shift all children by the given delta.
43
38
  * Only children are shifted (they maintain world-space coordinates).
@@ -61,10 +56,7 @@ export declare class Group extends Mobject {
61
56
  * @param axis - Axis of rotation [x, y, z], defaults to Z axis
62
57
  * @returns this for chaining
63
58
  */
64
- rotate(angle: number, axisOrOptions?: Vector3Tuple | {
65
- axis?: Vector3Tuple;
66
- aboutPoint?: Vector3Tuple;
67
- }): this;
59
+ rotate(angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): this;
68
60
  /**
69
61
  * Scale all children.
70
62
  * Only children are scaled to avoid double-counting with Three.js hierarchy.
@@ -1 +1 @@
1
- {"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../src/core/Group.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAElD;;;GAGG;AACH,qBAAa,KAAM,SAAQ,OAAO;IAChC;;;OAGG;gBACS,GAAG,QAAQ,EAAE,OAAO,EAAE;IAQlC;;;;OAIG;IACM,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAoBpC;;;;OAIG;IACM,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAavC;;;OAGG;IACH,KAAK,IAAI,IAAI;IAOb;;;;;OAKG;IACM,SAAS,IAAI,YAAY;IAmBlC;;;;;;;OAOG;IACM,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAQzC;;;;;OAKG;IACM,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI;IAuBjF;;;;;;OAMG;IACM,MAAM,CACb,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,YAAY,GAAG;QAAE,IAAI,CAAC,EAAE,YAAY,CAAC;QAAC,UAAU,CAAC,EAAE,YAAY,CAAA;KAAE,GAChF,IAAI;IAQP;;;;;OAKG;IACM,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAQnD;;;;OAIG;IACM,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQtC;;;;OAIG;IACM,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQhD;;;;OAIG;IACM,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ5C;;;;OAIG;IACM,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ9C;;;OAGG;IACH,SAAS,CAAC,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAWrC,oBAAoB,IAAI,MAAM;IAI9B,gBAAgB,IAAI,KAAK,CAAC,IAAI,EAAE;IAIzC;;OAEG;cACgB,WAAW,IAAI,KAAK;IAKvC;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIvC;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;IAItC;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAK5D;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAIvD;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,KAAK;CAIhE"}
1
+ {"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../src/core/Group.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAEjE;;;GAGG;AACH,qBAAa,KAAM,SAAQ,OAAO;IAChC;;;OAGG;gBACS,GAAG,QAAQ,EAAE,OAAO,EAAE;IAQlC;;;;OAIG;IACM,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAoBpC;;;;OAIG;IACM,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAavC;;;OAGG;IACH,KAAK,IAAI,IAAI;IAOJ,SAAS,IAAI,YAAY;IAkBzB,kBAAkB,IAAI,IAAI;IAKnC;;;;;;;OAOG;IACM,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAUzC;;;;;OAKG;IACM,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI;IAuBjF;;;;;;OAMG;IACM,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,IAAI;IAQlF;;;;;OAKG;IACM,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAInD;;;;OAIG;IACM,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQtC;;;;OAIG;IACM,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQhD;;;;OAIG;IACM,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ5C;;;;OAIG;IACM,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ9C;;;OAGG;IACH,SAAS,CAAC,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAWrC,oBAAoB,IAAI,MAAM;IAI9B,gBAAgB,IAAI,KAAK,CAAC,IAAI,EAAE;IAIzC;;OAEG;cACgB,WAAW,IAAI,KAAK;IAKvC;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIvC;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;IAItC;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAK5D;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAIvD;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,KAAK;CAIhE"}
@@ -1,8 +1,11 @@
1
- import { Vector3Tuple, MobjectStyle } from './MobjectTypes';
1
+ import { Vector3Tuple, MobjectStyle, AxisOrOptions } from './MobjectTypes';
2
2
  import * as THREE from 'three';
3
+ interface NormalizeContainerOptions {
4
+ translateChild?: (child: Mobject, dx: number, dy: number, dz: number) => void;
5
+ }
3
6
  /** @internal Called by AnimateProxy module to register the factory. */
4
7
  export declare function registerAnimateProxy(factory: (mobject: Mobject) => any): void;
5
- export { type Vector3Tuple, type MobjectStyle, type MobjectLike, type VMobjectLike, isVMobjectLike, UP, DOWN, LEFT, RIGHT, OUT, IN, ORIGIN, UL, UR, DL, DR, } from './MobjectTypes';
8
+ export { type Vector3Tuple, type MobjectStyle, type MobjectLike, type VMobjectLike, type AxisOrOptions, isVMobjectLike, UP, DOWN, LEFT, RIGHT, OUT, IN, ORIGIN, UL, UR, DL, DR, } from './MobjectTypes';
6
9
  /**
7
10
  * Updater function type that runs every frame.
8
11
  * Defined here (not in MobjectTypes) to reference the concrete Mobject class
@@ -60,11 +63,7 @@ export declare abstract class Mobject {
60
63
  * Rotate the mobject by angle around an axis.
61
64
  * Accepts aboutPoint or aboutEdge to specify the rotation center.
62
65
  */
63
- rotate(angle: number, axisOrOptions?: Vector3Tuple | {
64
- axis?: Vector3Tuple;
65
- aboutPoint?: Vector3Tuple;
66
- aboutEdge?: Vector3Tuple;
67
- }): this;
66
+ rotate(angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): this;
68
67
  rotateAboutOrigin(angle: number, axis?: Vector3Tuple): this;
69
68
  flip(axis?: Vector3Tuple, options?: {
70
69
  aboutPoint?: Vector3Tuple;
@@ -135,6 +134,26 @@ export declare abstract class Mobject {
135
134
  get animate(): any;
136
135
  toEdge(direction: Vector3Tuple, buff?: number, frameDimensions?: [number, number]): this;
137
136
  toCorner(direction?: Vector3Tuple, buff?: number, frameDimensions?: [number, number]): this;
137
+ /**
138
+ * Normalize local transform into object-specific canonical representation.
139
+ *
140
+ * Subclasses may override this to fold transient transforms into their
141
+ * canonical state (e.g. forwarding container translation to children).
142
+ * Call this before geometry queries like getCenter()/getBounds().
143
+ *
144
+ * Base implementation is a no-op.
145
+ */
146
+ normalizeTransform(): this;
147
+ /**
148
+ * Normalize this object as a container: forward parent S/R/T anchors into
149
+ * children, reset parent anchors, then recurse into children.
150
+ */
151
+ protected _normalizeContainerTransform(options?: NormalizeContainerOptions): void;
152
+ protected _hasDeferredAnchors(): boolean;
153
+ private _normalizeContainerScale;
154
+ private _normalizeContainerRotation;
155
+ private _applyEulerSteps;
156
+ private _normalizeContainerTranslation;
138
157
  _syncToThree(): void;
139
158
  protected _syncMaterialToThree(): void;
140
159
  _markDirty(): void;
@@ -168,6 +187,13 @@ export declare abstract class Mobject {
168
187
  generateTarget(): Mobject;
169
188
  saveState(): this;
170
189
  restoreState(): boolean;
190
+ /**
191
+ * Hook for the Scene to propagate renderer dimensions and camera frame
192
+ * width to mobjects that need them (e.g. shader-resolution uniforms).
193
+ * Default is a no-op; subclasses override as needed.
194
+ * @internal
195
+ */
196
+ _setSceneContext(_rendererWidth: number, _rendererHeight: number, _frameWidth: number): void;
171
197
  dispose(): void;
172
198
  }
173
199
  //# sourceMappingURL=Mobject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Mobject.d.ts","sourceRoot":"","sources":["../../src/core/Mobject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAyB,MAAM,gBAAgB,CAAC;AAuB7F,uEAAuE;AAEvE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,GAAG,GAAG,IAAI,CAE7E;AAGD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,cAAc,EACd,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,GAAG,EACH,EAAE,EACF,MAAM,EACN,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,GACH,MAAM,gBAAgB,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;AAErE,+FAA+F;AAC/F,8BAAsB,OAAO;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAQ;IAC9B,QAAQ,EAAE,OAAO,EAAE,CAAM;IACzB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC;IACtB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAS;IACpC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAa;IACrC,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAMtB;IACD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAK;IAC/B,WAAW,EAAE,MAAM,CAAK;IACxB,WAAW,EAAE,MAAM,CAAK;IACxB,yEAAyE;IACzE,SAAS,CAAC,sBAAsB,EAAE,OAAO,CAAS;IAClD,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC;IAC/B,YAAY,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAQ;IAC3C,MAAM,EAAE,OAAO,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAyB;IAC1C,0EAA0E;IAC1E,UAAU,EAAE,OAAO,GAAG,IAAI,CAAQ;IAClC,qEAAqE;IACrE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAQ;IAClC,8DAA8D;IAC9D,mBAAmB,EAAE,OAAO,CAAQ;IACpC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAa;;IAkBtC,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAExB;IAED,IAAI,KAAK,IAAI,YAAY,CAExB;IAED,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAU5C,IAAI,WAAW,IAAI,OAAO,EAAE,CAE3B;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ7B,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUvC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUnC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUrC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAM/C,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAK1B;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAK5B;IAID,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAQhC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI;IAiBxE;;;OAGG;IACH,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EACV,YAAY,GACZ;QAAE,IAAI,CAAC,EAAE,YAAY,CAAC;QAAC,UAAU,CAAC,EAAE,YAAY,CAAC;QAAC,SAAS,CAAC,EAAE,YAAY,CAAA;KAAE,GAC/E,IAAI;IAWP,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,YAAwB,GAAG,IAAI;IAItE,IAAI,CACF,IAAI,GAAE,YAAwB,EAC9B,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,YAAY,CAAC;QAAC,SAAS,CAAC,EAAE,YAAY,CAAA;KAAE,GAChE,IAAI;IAuBP,KAAK,CACH,MAAM,EAAE,MAAM,GAAG,YAAY,EAC7B,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,YAAY,CAAC;QAAC,SAAS,CAAC,EAAE,YAAY,CAAA;KAAE,GAChE,IAAI;IAwBP,OAAO,CACL,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,YAAY,CAAC;QAAC,SAAS,CAAC,EAAE,YAAY,CAAA;KAAE,GAChE,IAAI;IAeP,GAAG,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAajC,MAAM,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAgBpC,IAAI,IAAI,OAAO;IAgBf,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO;IAEzC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK5B,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,OAAe,GAAG,IAAI;IAOxD,SAAS,IAAI,YAAY;IAIzB,SAAS,IAAI;QACX,GAAG,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,GAAG,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1C;IAeD,MAAM,CACJ,MAAM,EAAE,OAAO,GAAG,YAAY,EAC9B,SAAS,GAAE,YAAoB,EAC/B,IAAI,GAAE,MAAa,GAClB,IAAI;IAaP,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI;IAUtE,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI;IAK/E,mBAAmB,CAAC,SAAS,EAAE,YAAY,GAAG,YAAY;IAG1D,cAAc,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAGlE,gDAAgD;IAChD,eAAe,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAGnE,OAAO,CAAC,SAAS,EAAE,YAAY,GAAG,YAAY;IAG9C,MAAM,IAAI,YAAY;IAGtB,SAAS,IAAI,YAAY;IAGzB,OAAO,IAAI,YAAY;IAGvB,QAAQ,IAAI,YAAY;IAGxB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIrB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIrB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIrB,MAAM,IAAI,IAAI;IAMd;;;;;;;;;;OAUG;IAEH,IAAI,OAAO,IAAI,GAAG,CAKjB;IAED,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,GAAE,MAAY,EAAE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAK7F,QAAQ,CACN,SAAS,GAAE,YAAwB,EACnC,IAAI,GAAE,MAAY,EAClB,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,IAAI;IAMP,YAAY,IAAI,IAAI;IAoBpB,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAEtC,UAAU,IAAI,IAAI;IAIlB,gBAAgB,IAAI,IAAI;IAMxB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,cAAc,IAAI,KAAK,CAAC,QAAQ;IAMhC;;;OAGG;IACH,oBAAoB,IAAI,MAAM;IAI9B,gBAAgB,IAAI,KAAK,CAAC,IAAI,EAAE;IAIhC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAIvD,aAAa,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAMrD,SAAS,IAAI,OAAO,EAAE;IAMtB,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,GAAE,OAAe,GAAG,IAAI;IAMtE,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAM7C,aAAa,IAAI,IAAI;IAIrB,WAAW,IAAI,OAAO;IAGtB,WAAW,IAAI,eAAe,EAAE;IAIhC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAOxB,aAAa,CACX,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,EACjC,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,YAAY,CAAC;QAAC,SAAS,CAAC,EAAE,YAAY,CAAA;KAAE,GAChE,IAAI;IAKP,WAAW,CACT,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,YAAY,CAAC;QAAC,SAAS,CAAC,EAAE,YAAY,CAAA;KAAE,GAChE,IAAI;IAKP,4BAA4B,CAAC,SAAS,GAAE,MAAW,GAAG,IAAI;IAO1D,cAAc,IAAI,OAAO;IAKzB,SAAS,IAAI,IAAI;IAKjB,YAAY,IAAI,OAAO;IAMvB,OAAO,IAAI,IAAI;CAehB"}
1
+ {"version":3,"file":"Mobject.d.ts","sourceRoot":"","sources":["../../src/core/Mobject.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,9 @@
1
- import { MobjectLike, Vector3Tuple } from './MobjectTypes';
1
+ import { MobjectLike, Vector3Tuple, AxisOrOptions } from './MobjectTypes';
2
2
  /**
3
3
  * Rotate a mobject around an axis.
4
4
  * Uses object pooling to avoid allocations in hot paths.
5
5
  */
6
- export declare function rotateMobject(mob: MobjectLike, angle: number, axisOrOptions?: Vector3Tuple | {
7
- axis?: Vector3Tuple;
8
- aboutPoint?: Vector3Tuple;
9
- }): void;
6
+ export declare function rotateMobject(mob: MobjectLike, angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): void;
10
7
  /**
11
8
  * Get the center point of a mobject.
12
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MobjectPositioning.d.ts","sourceRoot":"","sources":["../../src/core/MobjectPositioning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAUhE;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,YAAY,GAAG;IAAE,IAAI,CAAC,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,YAAY,CAAA;CAAE,GAChF,IAAI,CAoBN;AA+GD;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAQ5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAKA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,GAAG,YAAY,CAU9F;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,YAAY,EACvB,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,IAAI,CAWN"}
1
+ {"version":3,"file":"MobjectPositioning.d.ts","sourceRoot":"","sources":["../../src/core/MobjectPositioning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAU/E;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,YAAY,GAAG,aAAa,GAC3C,IAAI,CAoBN;AA+GD;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAG5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAKA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,GAAG,YAAY,CAU9F;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,YAAY,EACvB,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,IAAI,CAWN"}
@@ -3,6 +3,14 @@ import * as THREE from 'three';
3
3
  * Vector3 type as a tuple for external API
4
4
  */
5
5
  export type Vector3Tuple = [number, number, number];
6
+ /**
7
+ * Options for rotation and other operations that can accept an axis or a full options object
8
+ */
9
+ export type AxisOrOptions = {
10
+ axis?: Vector3Tuple;
11
+ aboutPoint?: Vector3Tuple;
12
+ aboutEdge?: Vector3Tuple;
13
+ };
6
14
  export declare const UP: Vector3Tuple;
7
15
  export declare const DOWN: Vector3Tuple;
8
16
  export declare const LEFT: Vector3Tuple;
@@ -49,16 +57,25 @@ export interface MobjectLike {
49
57
  _markDirty(): void;
50
58
  getThreeObject(): THREE.Object3D;
51
59
  getCenter(): Vector3Tuple;
60
+ getBounds(): {
61
+ min: {
62
+ x: number;
63
+ y: number;
64
+ z: number;
65
+ };
66
+ max: {
67
+ x: number;
68
+ y: number;
69
+ z: number;
70
+ };
71
+ };
52
72
  getBoundingBox(): {
53
73
  width: number;
54
74
  height: number;
55
75
  depth: number;
56
76
  };
57
77
  moveTo(target: Vector3Tuple | MobjectLike, alignedEdge?: Vector3Tuple): MobjectLike;
58
- rotate(angle: number, axisOrOptions?: Vector3Tuple | {
59
- axis?: Vector3Tuple;
60
- aboutPoint?: Vector3Tuple;
61
- }): MobjectLike;
78
+ rotate(angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): MobjectLike;
62
79
  copy(): MobjectLike;
63
80
  restoreState(): boolean;
64
81
  getFamily(): MobjectLike[];
@@ -1 +1 @@
1
- {"version":3,"file":"MobjectTypes.d.ts","sourceRoot":"","sources":["../../src/core/MobjectTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MobjectTypes.d.ts","sourceRoot":"","sources":["../../src/core/MobjectTypes.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,7 @@ export declare class Renderer implements IRenderer {
52
52
  private _backgroundOpacity;
53
53
  private _alpha;
54
54
  private _contextLost;
55
+ private _autoPixelRatio;
55
56
  /**
56
57
  * Create a new Renderer and append it to the container.
57
58
  * @param container - DOM element to append the canvas to
@@ -95,6 +96,8 @@ export declare class Renderer implements IRenderer {
95
96
  render(scene: THREE.Scene, camera: THREE.Camera): void;
96
97
  /**
97
98
  * Handle resize events.
99
+ * Re-applies the device pixel ratio so DPR changes (e.g. screen rotation
100
+ * moving the canvas between displays) do not leave a blurry buffer.
98
101
  * @param width - New width in pixels
99
102
  * @param height - New height in pixels
100
103
  */
@@ -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,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"}
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;IAItC,OAAO,CAAC,eAAe,CAAU;IAEjC;;;;OAIG;gBAES,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,eAAoB;IAwDjE;;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;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAW3C;;;OAGG;IACH,SAAS,IAAI,iBAAiB;IAI9B;;;OAGG;IACH,gBAAgB,IAAI,KAAK,CAAC,aAAa;IAIvC;;;OAGG;IACH,OAAO,IAAI,IAAI;CAOhB"}
@@ -5,6 +5,7 @@ import { Animation } from '../animation/Animation';
5
5
  import { Timeline } from '../animation/Timeline';
6
6
  import { SceneStateManager, SceneSnapshot } from './StateManager';
7
7
  import { AudioManager, AddSoundOptions, AudioTrack } from './AudioManager';
8
+ import { MultiCamera } from './CameraExtensions';
8
9
  import * as THREE from 'three';
9
10
  /**
10
11
  * Options for scene.export() convenience method.
@@ -54,6 +55,13 @@ export interface SceneOptions {
54
55
  backgroundOpacity?: number;
55
56
  /** Enable headless mode (no WebGL renderer). Useful for testing scene logic without a DOM. */
56
57
  headless?: boolean;
58
+ /**
59
+ * Automatically resize the canvas when its container (or the window, on
60
+ * mobile rotation) changes size. Only active when both `width` and `height`
61
+ * are omitted — passing either dimension is treated as a request for a
62
+ * pinned canvas size, so auto-resize stays off. Defaults to true.
63
+ */
64
+ autoResize?: boolean;
57
65
  }
58
66
  /**
59
67
  * Scene orchestrator for manimweb.
@@ -81,9 +89,16 @@ export declare class Scene {
81
89
  private _projScreenMatrix;
82
90
  private static _tempBox3;
83
91
  protected _autoRender: boolean;
92
+ private _pendingRender;
93
+ private _suppressAutoRender;
84
94
  private _renderOrderCounter;
85
95
  private _stateManager;
86
96
  private _audioManager;
97
+ private _multiCamera;
98
+ private _container;
99
+ private _resizeObserver;
100
+ private _resizeRafId;
101
+ private _onWindowResize;
87
102
  /**
88
103
  * Create a new Scene.
89
104
  * @param container - DOM element to render into, or null for headless mode
@@ -102,6 +117,18 @@ export declare class Scene {
102
117
  * Get the renderer.
103
118
  */
104
119
  get renderer(): IRenderer;
120
+ /**
121
+ * Get the active MultiCamera, or null if single-camera rendering is in use.
122
+ */
123
+ get multiCamera(): MultiCamera | null;
124
+ /**
125
+ * Attach (or detach) a MultiCamera for split-screen, picture-in-picture, or
126
+ * quad-view rendering. Pass `null` to revert to single-camera rendering.
127
+ * Has no effect in headless mode (the NullRenderer cannot scissor viewports).
128
+ * @param mc - MultiCamera instance, or null to restore the default render path
129
+ * @returns this for chaining
130
+ */
131
+ useMultiCamera(mc: MultiCamera | null): this;
105
132
  /**
106
133
  * Whether this scene is running in headless mode (no WebGL renderer).
107
134
  */
@@ -272,12 +299,28 @@ export declare class Scene {
272
299
  * can override to also check for ambient camera rotation, etc.
273
300
  */
274
301
  protected _needsPerFrameRendering(): boolean;
302
+ /**
303
+ * Queue a render to run on the next microtask. Multiple calls within the
304
+ * same tick coalesce. If `_cancelPendingRender()` is called or
305
+ * `_suppressAutoRender` is set before the microtask fires, the render is
306
+ * skipped. Used by `add()` so a chained `play()` can suppress the
307
+ * pre-animation flash described in issue #317.
308
+ */
309
+ protected _scheduleRender(): void;
310
+ protected _cancelPendingRender(): void;
275
311
  /**
276
312
  * Render a single frame.
277
313
  * Syncs only dirty mobjects before rendering for performance.
278
314
  * Protected so subclasses (e.g. ZoomedScene) can override for multi-pass rendering.
279
315
  */
280
316
  protected _render(): void;
317
+ /**
318
+ * Render via the attached MultiCamera. Clears the full canvas first so
319
+ * arbitrary viewport layouts (e.g. picture-in-picture) don't leak stale
320
+ * pixels, and restores renderer state via try/finally even if a camera
321
+ * render throws.
322
+ */
323
+ protected _renderMultiCamera(): void;
281
324
  /**
282
325
  * Sync only mobjects that have been modified (dirty flag optimization).
283
326
  */
@@ -350,6 +393,13 @@ export declare class Scene {
350
393
  * @param height - New height in pixels
351
394
  */
352
395
  resize(width: number, height: number): this;
396
+ /**
397
+ * Install ResizeObserver on the container and a window resize/orientation
398
+ * fallback. All triggers funnel through a single rAF-debounced measurement
399
+ * so a rotation that fires multiple events resizes once per frame.
400
+ */
401
+ private _installAutoResize;
402
+ private _disposeAutoResize;
353
403
  /**
354
404
  * Get the canvas element.
355
405
  * @returns The HTMLCanvasElement used for rendering
@@ -1 +1 @@
1
- {"version":3,"file":"Scene.d.ts","sourceRoot":"","sources":["../../src/core/Scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scene.d.ts","sourceRoot":"","sources":["../../src/core/Scene.ts"],"names":[],"mappings":"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"}
@@ -64,8 +64,10 @@ export declare class ThreeDScene extends Scene {
64
64
  * distance instead of add order (base Scene stamps an incrementing
65
65
  * renderOrder for 2D z-ordering, which defeats 3D depth sort)
66
66
  *
67
- * Auto-render is suppressed inside super.add() and run once at the end,
67
+ * Auto-render is suppressed inside super.add() and scheduled once at the end,
68
68
  * after settings are applied, so the first visible frame is correct.
69
+ * Render is deferred via the scheduler (issue #317) so a chained `play()`
70
+ * can suppress it and avoid a pre-animation flash.
69
71
  */
70
72
  add(...mobjects: Mobject[]): this;
71
73
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeDScene.d.ts","sourceRoot":"","sources":["../../src/core/ThreeDScene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThreeDScene.d.ts","sourceRoot":"","sources":["../../src/core/ThreeDScene.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,10 @@ import * as THREE from 'three';
10
10
  * Operations apply to all children, and paths can be combined.
11
11
  */
12
12
  export declare class VGroup extends VMobject {
13
+ /**
14
+ * True when this VGroup (recursively) has no renderable geometry.
15
+ */
16
+ isEmpty(): boolean;
13
17
  /**
14
18
  * Create a new VGroup containing the given mobjects.
15
19
  * Accepts both VMobjects and general Mobjects (e.g., Axes, Group).
@@ -45,15 +49,19 @@ export declare class VGroup extends VMobject {
45
49
  * @returns this for chaining
46
50
  */
47
51
  remove(...mobjects: Mobject[]): this;
52
+ getCenter(): Vector3Tuple;
48
53
  /**
49
- * Get the center of the group (average of all children centers).
50
- * @returns Center position as [x, y, z]
54
+ * Normalize group transform by forwarding direct group translation/rotation to children.
55
+ * This keeps VGroup semantics child-driven and avoids double-counting.
51
56
  */
52
- getCenter(): Vector3Tuple;
57
+ normalizeTransform(): this;
53
58
  /**
54
59
  * Shift all children by the given delta.
55
60
  * Only shifts children's internal positions, not the group's own position,
56
61
  * to avoid double-counting in THREE.js hierarchy.
62
+ *
63
+ * When the group has no children yet (e.g. async-rendered text glyphs),
64
+ * store translation on the group so it is not dropped.
57
65
  * @param delta - Translation vector [x, y, z]
58
66
  * @returns this for chaining
59
67
  */
@@ -65,22 +73,6 @@ export declare class VGroup extends VMobject {
65
73
  * @returns this for chaining
66
74
  */
67
75
  moveTo(target: Vector3Tuple | Mobject, alignedEdge?: Vector3Tuple): this;
68
- /**
69
- * Rotate all children around an axis.
70
- * @param angle - Rotation angle in radians
71
- * @param axis - Axis of rotation [x, y, z], defaults to Z axis
72
- * @returns this for chaining
73
- */
74
- rotate(angle: number, axis?: Vector3Tuple): this;
75
- /**
76
- * Scale all children about the group's center.
77
- * Each child's size is scaled, and their positions are repositioned
78
- * relative to the group center — matching Manim Python behavior.
79
- * Does not change the group's own scaleVector.
80
- * @param factor - Scale factor (number for uniform, tuple for non-uniform)
81
- * @returns this for chaining
82
- */
83
- scale(factor: number | Vector3Tuple): this;
84
76
  /**
85
77
  * Set the color of all children.
86
78
  * @param color - CSS color string
@@ -1 +1 @@
1
- {"version":3,"file":"VGroup.d.ts","sourceRoot":"","sources":["../../src/core/VGroup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VGroup.d.ts","sourceRoot":"","sources":["../../src/core/VGroup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAS,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,qBAAa,MAAO,SAAQ,QAAQ;IAClC;;OAEG;IACH,OAAO,IAAI,OAAO;IAgBlB;;;;OAIG;gBACS,GAAG,QAAQ,EAAE,OAAO,EAAE;IAYlC;;;;;OAKG;IACH,YAAY,CAAC,GAAG,SAAS,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,IAAI;IAa3D;;;;OAIG;IACM,GAAG,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAY1C;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;;;OAIG;IACH,eAAe,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI;IAgB/C;;;;OAIG;IACM,MAAM,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAgBpC,SAAS,IAAI,YAAY;IAQlC;;;OAGG;IACM,kBAAkB,IAAI,IAAI;IASnC;;;;;;;;;OASG;IACM,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAazC;;;;;OAKG;IACM,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI;IA0BjF;;;;OAIG;IACM,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQtC;;;;OAIG;IACM,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQhD;;;;OAIG;IACM,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ5C;;;;OAIG;IACM,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU9C;;;;OAIG;IACH,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAc/C;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAiBjE;;;;;;OAMG;IACH,OAAO,CAAC,SAAS,GAAE,YAAoB,EAAE,IAAI,GAAE,MAAa,EAAE,MAAM,GAAE,OAAc,GAAG,IAAI;IAuB3F;;;;;;;OAOG;IACH,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAa,EAAE,KAAK,GAAE,MAAa,GAAG,IAAI;IAmD7F;;;OAGG;IACH,iBAAiB,IAAI,MAAM,EAAE,EAAE;IAU/B;;;;;OAKG;cACgB,oBAAoB,IAAI,IAAI;IAE/C;;;OAGG;cACgB,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAWvD;;OAEG;cACgB,WAAW,IAAI,QAAQ;IAK1C;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIxC;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAIvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAK9D;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAIzD;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM;IAKlE;;;OAGG;IACH,IAAa,MAAM,IAAI,KAAK,EAAE,CAQ7B;IAED;;OAEG;IACM,SAAS,IAAI,MAAM,EAAE,EAAE;CAGjC"}
@@ -37,7 +37,7 @@ export declare class VMobject extends VMobjectRendering {
37
37
  */
38
38
  setPoints3D(points: number[][]): this;
39
39
  /**
40
- * Get all points defining this VMobject as 3D arrays
40
+ * Get all points defining this VMobject as 3D arrays (local-space)
41
41
  * @returns Copy of the points array
42
42
  */
43
43
  getPoints(): number[][];
@@ -94,6 +94,13 @@ export declare class VMobject extends VMobjectRendering {
94
94
  * Clear all points
95
95
  */
96
96
  clearPoints(): this;
97
+ /**
98
+ * Fold local scaleVector into canonical child/point state and reset scaleVector.
99
+ *
100
+ * Matches VGroup normalization semantics: propagate scale to children,
101
+ * then clear parent scale anchor.
102
+ */
103
+ normalizeTransform(): this;
97
104
  /**
98
105
  * Set base subpath-length metadata for this VMobject.
99
106
  * Represents intrinsic topology (e.g. outer contour + holes from SVG parsing).
@@ -152,6 +159,12 @@ export declare class VMobject extends VMobjectRendering {
152
159
  private static _bestRotation;
153
160
  /**
154
161
  * Interpolate a 3D point list to have a specific number of points.
162
+ *
163
+ * Delegates to the bezier-aware `resamplePointList3D` so that valid cubic
164
+ * Bezier chains are densified by de Casteljau subdivision rather than
165
+ * piecewise-linear interpolation. Linear lerp on cubic control points
166
+ * silently produces invalid handles (handle = midpoint of two adjacent
167
+ * controls), which renders as flat polygonal segments mid-`Transform`.
155
168
  */
156
169
  protected _interpolatePointList3D(points: number[][], targetCount: number): number[][];
157
170
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"VMobject.d.ts","sourceRoot":"","sources":["../../src/core/VMobject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VMobject.d.ts","sourceRoot":"","sources":["../../src/core/VMobject.ts"],"names":[],"mappings":"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"}
@@ -12,26 +12,36 @@ import { Point } from './VMobjectCurves';
12
12
  import * as THREE from 'three';
13
13
  /**
14
14
  * Check if a cubic Bezier segment is nearly linear by measuring the maximum
15
- * 3D distance from handles to the chord (p0 -> p3). Must handle z so that
16
- * arcs in non-XY planes (e.g. Angle in XZ plane) still sample as curves.
15
+ * 3D distance from handles to the chord (p0 -> p3), normalised by chord
16
+ * length. Must handle z so that arcs in non-XY planes (e.g. Angle in XZ
17
+ * plane) still sample as curves.
17
18
  */
18
19
  export declare function isNearlyLinear(p0: number[], p1: number[], p2: number[], p3: number[]): boolean;
19
20
  /**
20
21
  * Sample Bezier curves for smooth rendering.
21
- * Uses adaptive sampling: nearly-linear segments (from prepareForNonlinearTransform)
22
- * use only their endpoints, avoiding expensive per-sample Bezier evaluation.
22
+ *
23
+ * Always emits exactly `samplesPerSegment + 1` samples per cubic segment
24
+ * (minus shared-anchor duplicates between adjacent segments). Earlier
25
+ * versions used "adaptive" sampling — `isNearlyLinear ? 1 : N` — to skip
26
+ * per-sample evaluation on segments whose handles were collinear with the
27
+ * chord. That branch is unsafe during a `Transform`: the linearity test
28
+ * is computed on the per-frame LERPED control polygon, so as alpha
29
+ * advances a segment can cross the threshold and the segment's sample
30
+ * count flips between 1 and N. The polyline length changes frame-to-frame,
31
+ * the resulting stroke/path geometry is rebuilt with a different vertex
32
+ * count each time, and the visible result is a flickering edge. Stability
33
+ * is worth far more than the marginal compute saved on collinear segments.
23
34
  *
24
35
  * @param points - Bezier control points
25
- * @param samplesPerSegment - Number of samples per curved Bezier segment
26
- * @returns Sampled points along the path
36
+ * @param samplesPerSegment - Number of samples per cubic Bezier segment
27
37
  */
28
38
  export declare function sampleBezierPath(points: number[][], samplesPerSegment?: number): number[][];
29
39
  /**
30
- * Sample the Bezier path into a 2D polyline suitable for earcut triangulation.
40
+ * Sample the Bezier path into a polyline suitable for earcut triangulation.
31
41
  *
32
- * This is similar to sampleBezierPath but returns [x, y] pairs (no z) and
33
- * skips duplicate-point de-duplication at segment boundaries (earcut handles
34
- * that correctly and de-dup can introduce off-by-one for hole indices).
42
+ * Same stability rationale as `sampleBezierPath`: emit a fixed number of
43
+ * samples per segment so the polyline length doesn't flicker frame-to-frame
44
+ * during a `Transform`.
35
45
  */
36
46
  export declare function sampleBezierOutline(points: number[][], samplesPerSegment: number): number[][];
37
47
  /**