manim-web 0.3.22 → 0.3.23

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 (291) hide show
  1. package/dist/{svg-DNS5Hwhk.js → MathJaxBundle-xSidSV0E.js} +18687 -7373
  2. package/dist/animation/Animation.d.ts.map +1 -1
  3. package/dist/animation/AnimationGroup.d.ts.map +1 -1
  4. package/dist/animation/MasterTimeline.d.ts.map +1 -1
  5. package/dist/animation/Timeline.d.ts.map +1 -1
  6. package/dist/animation/changing/index.d.ts +2 -2
  7. package/dist/animation/changing/index.d.ts.map +1 -1
  8. package/dist/animation/creation/Create.d.ts.map +1 -1
  9. package/dist/animation/growing/index.d.ts +8 -5
  10. package/dist/animation/growing/index.d.ts.map +1 -1
  11. package/dist/animation/movement/Homotopy.d.ts +37 -7
  12. package/dist/animation/movement/Homotopy.d.ts.map +1 -1
  13. package/dist/animation/movement/MoveAlongPath.d.ts.map +1 -1
  14. package/dist/animation/speed/index.d.ts.map +1 -1
  15. package/dist/animation/transform/ApplyPointwiseFunction.d.ts.map +1 -1
  16. package/dist/animation/transform/ApplyPointwiseFunctionToCenter.d.ts.map +1 -1
  17. package/dist/animation/transform/ApplyTransforms.d.ts.map +1 -1
  18. package/dist/animation/transform/MorphStrategy.d.ts +23 -0
  19. package/dist/animation/transform/MorphStrategy.d.ts.map +1 -1
  20. package/dist/animation/transform/PointCloudMorphStrategy.d.ts +18 -0
  21. package/dist/animation/transform/PointCloudMorphStrategy.d.ts.map +1 -0
  22. package/dist/animation/transform/PointMorphStrategy.d.ts +26 -0
  23. package/dist/animation/transform/PointMorphStrategy.d.ts.map +1 -1
  24. package/dist/animation/transform/Transform.d.ts +2 -0
  25. package/dist/animation/transform/Transform.d.ts.map +1 -1
  26. package/dist/animation/transform/TransformMatching.d.ts.map +1 -1
  27. package/dist/animation/utility/index.d.ts +6 -2
  28. package/dist/animation/utility/index.d.ts.map +1 -1
  29. package/dist/core/Camera.d.ts +3 -0
  30. package/dist/core/Camera.d.ts.map +1 -1
  31. package/dist/core/Camera2DFrame.d.ts +1 -1
  32. package/dist/core/Camera2DFrame.d.ts.map +1 -1
  33. package/dist/core/CameraExtensions.d.ts.map +1 -1
  34. package/dist/core/CameraFrame.d.ts.map +1 -1
  35. package/dist/core/Group.d.ts +13 -33
  36. package/dist/core/Group.d.ts.map +1 -1
  37. package/dist/core/InteractiveScene.d.ts.map +1 -1
  38. package/dist/core/Lighting.d.ts.map +1 -1
  39. package/dist/core/Mobject.d.ts +230 -21
  40. package/dist/core/Mobject.d.ts.map +1 -1
  41. package/dist/core/MobjectPositioning.d.ts +1 -6
  42. package/dist/core/MobjectPositioning.d.ts.map +1 -1
  43. package/dist/core/MobjectState.d.ts.map +1 -1
  44. package/dist/core/MobjectTraversal.d.ts +3 -0
  45. package/dist/core/MobjectTraversal.d.ts.map +1 -1
  46. package/dist/core/MobjectTypes.d.ts +8 -0
  47. package/dist/core/MobjectTypes.d.ts.map +1 -1
  48. package/dist/core/PointBounds.d.ts +39 -0
  49. package/dist/core/PointBounds.d.ts.map +1 -0
  50. package/dist/core/Renderer.d.ts.map +1 -1
  51. package/dist/core/Scene.d.ts +32 -0
  52. package/dist/core/Scene.d.ts.map +1 -1
  53. package/dist/core/TexturedMobject.d.ts +12 -0
  54. package/dist/core/TexturedMobject.d.ts.map +1 -1
  55. package/dist/core/ThreeDScene.d.ts +6 -0
  56. package/dist/core/ThreeDScene.d.ts.map +1 -1
  57. package/dist/core/VDict.d.ts +1 -9
  58. package/dist/core/VDict.d.ts.map +1 -1
  59. package/dist/core/VGroup.d.ts +54 -30
  60. package/dist/core/VGroup.d.ts.map +1 -1
  61. package/dist/core/VMobject.d.ts +93 -32
  62. package/dist/core/VMobject.d.ts.map +1 -1
  63. package/dist/core/VMobjectCurveUtils.d.ts +1 -1
  64. package/dist/core/VMobjectCurveUtils.d.ts.map +1 -1
  65. package/dist/core/VMobjectGeometry.d.ts.map +1 -1
  66. package/dist/core/VMobjectStrokeGeometry.d.ts.map +1 -1
  67. package/dist/core/VMobjectTransformAlignment.d.ts.map +1 -1
  68. package/dist/core/ZoomedScene.d.ts +2 -1
  69. package/dist/core/ZoomedScene.d.ts.map +1 -1
  70. package/dist/export/GifExporter.d.ts.map +1 -1
  71. package/dist/export/VideoExporter.d.ts.map +1 -1
  72. package/dist/index.d.ts +1 -1
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +2 -2
  75. package/dist/integrations/react.js +16 -16
  76. package/dist/integrations/vue.js +15 -15
  77. package/dist/interaction/Draggable.d.ts +12 -0
  78. package/dist/interaction/Draggable.d.ts.map +1 -1
  79. package/dist/interaction/OrbitControls.d.ts.map +1 -1
  80. package/dist/manim-web.browser.js +9003 -8435
  81. package/dist/mobjects/fractals/MandelbrotSet.d.ts +2 -1
  82. package/dist/mobjects/fractals/MandelbrotSet.d.ts.map +1 -1
  83. package/dist/mobjects/fractals/NewtonFractal.d.ts +2 -1
  84. package/dist/mobjects/fractals/NewtonFractal.d.ts.map +1 -1
  85. package/dist/mobjects/frame/index.d.ts +3 -12
  86. package/dist/mobjects/frame/index.d.ts.map +1 -1
  87. package/dist/mobjects/geometry/AngleShapes.d.ts +4 -4
  88. package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -1
  89. package/dist/mobjects/geometry/AnnularSector.d.ts +4 -74
  90. package/dist/mobjects/geometry/AnnularSector.d.ts.map +1 -1
  91. package/dist/mobjects/geometry/Annulus.d.ts +1 -62
  92. package/dist/mobjects/geometry/Annulus.d.ts.map +1 -1
  93. package/dist/mobjects/geometry/Arc.d.ts +3 -1
  94. package/dist/mobjects/geometry/Arc.d.ts.map +1 -1
  95. package/dist/mobjects/geometry/ArcBetweenPoints.d.ts +1 -1
  96. package/dist/mobjects/geometry/ArcBetweenPoints.d.ts.map +1 -1
  97. package/dist/mobjects/geometry/ArcPolygon.d.ts +1 -1
  98. package/dist/mobjects/geometry/ArcPolygon.d.ts.map +1 -1
  99. package/dist/mobjects/geometry/Arrow.d.ts +130 -23
  100. package/dist/mobjects/geometry/Arrow.d.ts.map +1 -1
  101. package/dist/mobjects/geometry/ArrowTips.d.ts +7 -7
  102. package/dist/mobjects/geometry/ArrowTips.d.ts.map +1 -1
  103. package/dist/mobjects/geometry/BooleanOperations.d.ts.map +1 -1
  104. package/dist/mobjects/geometry/Circle.d.ts +20 -23
  105. package/dist/mobjects/geometry/Circle.d.ts.map +1 -1
  106. package/dist/mobjects/geometry/CubicBezier.d.ts +1 -1
  107. package/dist/mobjects/geometry/CubicBezier.d.ts.map +1 -1
  108. package/dist/mobjects/geometry/CurvedArrow.d.ts +1 -1
  109. package/dist/mobjects/geometry/CurvedArrow.d.ts.map +1 -1
  110. package/dist/mobjects/geometry/CurvedDoubleArrow.d.ts +1 -1
  111. package/dist/mobjects/geometry/CurvedDoubleArrow.d.ts.map +1 -1
  112. package/dist/mobjects/geometry/DashedLine.d.ts +3 -2
  113. package/dist/mobjects/geometry/DashedLine.d.ts.map +1 -1
  114. package/dist/mobjects/geometry/DashedVMobject.d.ts +3 -2
  115. package/dist/mobjects/geometry/DashedVMobject.d.ts.map +1 -1
  116. package/dist/mobjects/geometry/Dot.d.ts +4 -15
  117. package/dist/mobjects/geometry/Dot.d.ts.map +1 -1
  118. package/dist/mobjects/geometry/Ellipse.d.ts +3 -47
  119. package/dist/mobjects/geometry/Ellipse.d.ts.map +1 -1
  120. package/dist/mobjects/geometry/LabeledGeometry.d.ts +5 -5
  121. package/dist/mobjects/geometry/LabeledGeometry.d.ts.map +1 -1
  122. package/dist/mobjects/geometry/Line.d.ts +15 -9
  123. package/dist/mobjects/geometry/Line.d.ts.map +1 -1
  124. package/dist/mobjects/geometry/Polygon.d.ts +1 -1
  125. package/dist/mobjects/geometry/Polygon.d.ts.map +1 -1
  126. package/dist/mobjects/geometry/PolygonExtensions.d.ts +11 -67
  127. package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -1
  128. package/dist/mobjects/geometry/Polygram.d.ts +1 -1
  129. package/dist/mobjects/geometry/Polygram.d.ts.map +1 -1
  130. package/dist/mobjects/geometry/Rectangle.d.ts +4 -5
  131. package/dist/mobjects/geometry/Rectangle.d.ts.map +1 -1
  132. package/dist/mobjects/geometry/Sector.d.ts +5 -69
  133. package/dist/mobjects/geometry/Sector.d.ts.map +1 -1
  134. package/dist/mobjects/geometry/ShapeMatchers.d.ts +6 -5
  135. package/dist/mobjects/geometry/ShapeMatchers.d.ts.map +1 -1
  136. package/dist/mobjects/geometry/TangentialArc.d.ts +1 -1
  137. package/dist/mobjects/geometry/TangentialArc.d.ts.map +1 -1
  138. package/dist/mobjects/geometry/segment.d.ts +24 -0
  139. package/dist/mobjects/geometry/segment.d.ts.map +1 -0
  140. package/dist/mobjects/graph/DiGraph.d.ts +1 -4
  141. package/dist/mobjects/graph/DiGraph.d.ts.map +1 -1
  142. package/dist/mobjects/graph/GenericGraph.d.ts +2 -1
  143. package/dist/mobjects/graph/GenericGraph.d.ts.map +1 -1
  144. package/dist/mobjects/graph/Graph.d.ts +1 -4
  145. package/dist/mobjects/graph/Graph.d.ts.map +1 -1
  146. package/dist/mobjects/graph/layoutAlgorithms.d.ts.map +1 -1
  147. package/dist/mobjects/graphing/Axes.d.ts +1 -4
  148. package/dist/mobjects/graphing/Axes.d.ts.map +1 -1
  149. package/dist/mobjects/graphing/BarChart.d.ts +1 -4
  150. package/dist/mobjects/graphing/BarChart.d.ts.map +1 -1
  151. package/dist/mobjects/graphing/ComplexPlane.d.ts +2 -8
  152. package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -1
  153. package/dist/mobjects/graphing/FunctionGraph.d.ts +1 -4
  154. package/dist/mobjects/graphing/FunctionGraph.d.ts.map +1 -1
  155. package/dist/mobjects/graphing/ImplicitFunction.d.ts +1 -4
  156. package/dist/mobjects/graphing/ImplicitFunction.d.ts.map +1 -1
  157. package/dist/mobjects/graphing/NumberLine.d.ts +2 -8
  158. package/dist/mobjects/graphing/NumberLine.d.ts.map +1 -1
  159. package/dist/mobjects/graphing/NumberPlane.d.ts +1 -4
  160. package/dist/mobjects/graphing/NumberPlane.d.ts.map +1 -1
  161. package/dist/mobjects/graphing/ParametricFunction.d.ts +1 -4
  162. package/dist/mobjects/graphing/ParametricFunction.d.ts.map +1 -1
  163. package/dist/mobjects/graphing/Vector.d.ts +1 -4
  164. package/dist/mobjects/graphing/Vector.d.ts.map +1 -1
  165. package/dist/mobjects/graphing/VectorField.d.ts +3 -12
  166. package/dist/mobjects/graphing/VectorField.d.ts.map +1 -1
  167. package/dist/mobjects/image/index.d.ts +6 -4
  168. package/dist/mobjects/image/index.d.ts.map +1 -1
  169. package/dist/mobjects/matrix/Matrix.d.ts +4 -16
  170. package/dist/mobjects/matrix/Matrix.d.ts.map +1 -1
  171. package/dist/mobjects/point/Mobject1D.d.ts +1 -4
  172. package/dist/mobjects/point/Mobject1D.d.ts.map +1 -1
  173. package/dist/mobjects/point/Mobject2D.d.ts +1 -1
  174. package/dist/mobjects/point/Mobject2D.d.ts.map +1 -1
  175. package/dist/mobjects/point/PGroup.d.ts +2 -4
  176. package/dist/mobjects/point/PGroup.d.ts.map +1 -1
  177. package/dist/mobjects/point/PMobject.d.ts +44 -14
  178. package/dist/mobjects/point/PMobject.d.ts.map +1 -1
  179. package/dist/mobjects/point/PointCloudDot.d.ts +1 -4
  180. package/dist/mobjects/point/PointCloudDot.d.ts.map +1 -1
  181. package/dist/mobjects/point/PointMobject.d.ts +13 -17
  182. package/dist/mobjects/point/PointMobject.d.ts.map +1 -1
  183. package/dist/mobjects/probability/DiceFace.d.ts +1 -5
  184. package/dist/mobjects/probability/DiceFace.d.ts.map +1 -1
  185. package/dist/mobjects/probability/SampleSpace.d.ts +1 -5
  186. package/dist/mobjects/probability/SampleSpace.d.ts.map +1 -1
  187. package/dist/mobjects/svg/Brace.d.ts +5 -20
  188. package/dist/mobjects/svg/Brace.d.ts.map +1 -1
  189. package/dist/mobjects/svg/SVGMobject.d.ts +2 -2
  190. package/dist/mobjects/svg/SVGMobject.d.ts.map +1 -1
  191. package/dist/mobjects/table/Table.d.ts +1 -5
  192. package/dist/mobjects/table/Table.d.ts.map +1 -1
  193. package/dist/mobjects/text/Code.d.ts +1 -4
  194. package/dist/mobjects/text/Code.d.ts.map +1 -1
  195. package/dist/mobjects/text/CodeHighlighting.d.ts.map +1 -1
  196. package/dist/mobjects/text/CodeLanguageData.d.ts.map +1 -1
  197. package/dist/mobjects/text/DecimalNumber.d.ts +2 -8
  198. package/dist/mobjects/text/DecimalNumber.d.ts.map +1 -1
  199. package/dist/mobjects/text/GlyphVMobject.d.ts +1 -1
  200. package/dist/mobjects/text/GlyphVMobject.d.ts.map +1 -1
  201. package/dist/mobjects/text/MarkupText.d.ts +1 -1
  202. package/dist/mobjects/text/MarkupText.d.ts.map +1 -1
  203. package/dist/mobjects/text/MathJaxBundle.d.ts +7 -0
  204. package/dist/mobjects/text/MathJaxBundle.d.ts.map +1 -0
  205. package/dist/mobjects/text/MathJaxRenderer.d.ts +9 -0
  206. package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -1
  207. package/dist/mobjects/text/MathTex.d.ts +8 -4
  208. package/dist/mobjects/text/MathTex.d.ts.map +1 -1
  209. package/dist/mobjects/text/MathTexImage.d.ts +19 -4
  210. package/dist/mobjects/text/MathTexImage.d.ts.map +1 -1
  211. package/dist/mobjects/text/Paragraph.d.ts +1 -1
  212. package/dist/mobjects/text/Paragraph.d.ts.map +1 -1
  213. package/dist/mobjects/text/Tex.d.ts +2 -5
  214. package/dist/mobjects/text/Tex.d.ts.map +1 -1
  215. package/dist/mobjects/text/Text.d.ts +17 -1
  216. package/dist/mobjects/text/Text.d.ts.map +1 -1
  217. package/dist/mobjects/text/TextExtensions.d.ts +3 -12
  218. package/dist/mobjects/text/TextExtensions.d.ts.map +1 -1
  219. package/dist/mobjects/text/Variable.d.ts +2 -4
  220. package/dist/mobjects/text/Variable.d.ts.map +1 -1
  221. package/dist/mobjects/text/katexStyles.d.ts.map +1 -1
  222. package/dist/mobjects/text/svgPathParser.d.ts.map +1 -1
  223. package/dist/mobjects/three-d/Arrow3D.d.ts +4 -3
  224. package/dist/mobjects/three-d/Arrow3D.d.ts.map +1 -1
  225. package/dist/mobjects/three-d/ConvexHull3D.d.ts +4 -3
  226. package/dist/mobjects/three-d/ConvexHull3D.d.ts.map +1 -1
  227. package/dist/mobjects/three-d/Cube.d.ts +6 -11
  228. package/dist/mobjects/three-d/Cube.d.ts.map +1 -1
  229. package/dist/mobjects/three-d/Cylinder.d.ts +5 -10
  230. package/dist/mobjects/three-d/Cylinder.d.ts.map +1 -1
  231. package/dist/mobjects/three-d/Line3D.d.ts +4 -3
  232. package/dist/mobjects/three-d/Line3D.d.ts.map +1 -1
  233. package/dist/mobjects/three-d/Mobject3D.d.ts +19 -0
  234. package/dist/mobjects/three-d/Mobject3D.d.ts.map +1 -0
  235. package/dist/mobjects/three-d/ParametricSurface.d.ts +1 -1
  236. package/dist/mobjects/three-d/ParametricSurface.d.ts.map +1 -1
  237. package/dist/mobjects/three-d/Polyhedra.d.ts +7 -6
  238. package/dist/mobjects/three-d/Polyhedra.d.ts.map +1 -1
  239. package/dist/mobjects/three-d/Sphere.d.ts +4 -6
  240. package/dist/mobjects/three-d/Sphere.d.ts.map +1 -1
  241. package/dist/mobjects/three-d/Surface3D.d.ts +41 -4
  242. package/dist/mobjects/three-d/Surface3D.d.ts.map +1 -1
  243. package/dist/mobjects/three-d/TexturedSurface.d.ts +4 -3
  244. package/dist/mobjects/three-d/TexturedSurface.d.ts.map +1 -1
  245. package/dist/mobjects/three-d/ThreeDAxes.d.ts +1 -1
  246. package/dist/mobjects/three-d/ThreeDAxes.d.ts.map +1 -1
  247. package/dist/mobjects/three-d/ThreeDExtensions.d.ts +7 -15
  248. package/dist/mobjects/three-d/ThreeDExtensions.d.ts.map +1 -1
  249. package/dist/mobjects/three-d/Torus.d.ts +4 -6
  250. package/dist/mobjects/three-d/Torus.d.ts.map +1 -1
  251. package/dist/mobjects/three-d/index.d.ts +1 -0
  252. package/dist/mobjects/three-d/index.d.ts.map +1 -1
  253. package/dist/mobjects/value-tracker/ValueTracker.d.ts +4 -2
  254. package/dist/mobjects/value-tracker/ValueTracker.d.ts.map +1 -1
  255. package/dist/player/Player.d.ts.map +1 -1
  256. package/dist/player/PlayerUI.d.ts.map +1 -1
  257. package/dist/{src-BlTk3Bta.js → src-Bm3ebFjQ.js} +5891 -5326
  258. package/dist/utils/logger.d.ts.map +1 -1
  259. package/package.json +8 -5
  260. package/dist/AmsConfiguration-OUoC_kJ0.js +0 -847
  261. package/dist/AmsConfiguration-tdje_HlF.js +0 -847
  262. package/dist/ConfigMacrosConfiguration-4OaQYvlr.js +0 -46
  263. package/dist/ConfigMacrosConfiguration-DM3-S5M8.js +0 -46
  264. package/dist/Entities-Dw6381dl.js +0 -429
  265. package/dist/Entities-bJKKDYjE.js +0 -429
  266. package/dist/Factory-Ba6Nqb3M.js +0 -107
  267. package/dist/HtmlNode-1mFtYQ9G.js +0 -981
  268. package/dist/HtmlNode-CQqo5we-.js +0 -981
  269. package/dist/InputJax-D5R2pqUk.js +0 -41
  270. package/dist/InputJax-jNvwWU5P.js +0 -41
  271. package/dist/NewcommandConfiguration-BN_OlLcO.js +0 -32
  272. package/dist/NewcommandConfiguration-DZ3mSCpD.js +0 -32
  273. package/dist/NewcommandMethods-D5bueYYE.js +0 -187
  274. package/dist/NewcommandMethods-DTf_dan5.js +0 -187
  275. package/dist/Options-DMK2wYar.js +0 -63
  276. package/dist/ParseMethods-Deqa7kJ6.js +0 -2636
  277. package/dist/ParseMethods-Dt5bYDSZ.js +0 -2636
  278. package/dist/Styles-BILrGVps.js +0 -293
  279. package/dist/Styles-DQSruwWe.js +0 -293
  280. package/dist/html-Bza5WY1y.js +0 -829
  281. package/dist/html-bhzMuE8p.js +0 -829
  282. package/dist/lengths-D2zTYMUu.js +0 -54
  283. package/dist/liteAdaptor-BkxB5CGC.js +0 -616
  284. package/dist/liteAdaptor-LMKuWwg1.js +0 -616
  285. package/dist/mathjax-CPQWkQEv.js +0 -121
  286. package/dist/mathjax-b-GTdZgw.js +0 -121
  287. package/dist/mo-D4wFHS6V.js +0 -2675
  288. package/dist/mo-hAX79Dzl.js +0 -2675
  289. package/dist/svg-DVUoAdmC.js +0 -28713
  290. package/dist/tex-BQCLd0dF.js +0 -1427
  291. package/dist/tex-Cd_bTYKG.js +0 -1427
@@ -1,4 +1,4 @@
1
- import { Mobject, Vector3Tuple, AxisOrOptions } from './Mobject';
1
+ import { Mobject, Vector3Tuple } from './Mobject';
2
2
  /**
3
3
  * Group class for grouping multiple mobjects together.
4
4
  * Transformations applied to the group cascade to all children.
@@ -9,6 +9,7 @@ import * as THREE from 'three';
9
9
  * Operations on the group apply to all children.
10
10
  */
11
11
  export declare class Group extends Mobject {
12
+ normalizeTransform(worldMatrix?: THREE.Matrix4): this;
12
13
  /**
13
14
  * Create a new Group containing the given mobjects.
14
15
  * @param mobjects - Mobjects to add to the group
@@ -31,39 +32,18 @@ export declare class Group extends Mobject {
31
32
  * @returns this for chaining
32
33
  */
33
34
  clear(): this;
34
- getCenter(): Vector3Tuple;
35
- normalizeTransform(): this;
36
- /**
37
- * Shift all children by the given delta.
38
- * Only children are shifted (they maintain world-space coordinates).
39
- * The group's own position is NOT updated to avoid double-counting
40
- * when getCenter() computes the average of children centers.
41
- * @param delta - Translation vector [x, y, z]
42
- * @returns this for chaining
43
- */
44
- shift(delta: Vector3Tuple): this;
45
- /**
46
- * Move the group center to the given point, or align with another Mobject.
47
- * @param target - Target position [x, y, z] or Mobject to align with
48
- * @param alignedEdge - Optional edge direction to align (e.g., UL aligns upper-left edges)
49
- * @returns this for chaining
50
- */
51
- moveTo(target: Vector3Tuple | Mobject, alignedEdge?: Vector3Tuple): this;
52
- /**
53
- * Rotate all children around an axis.
54
- * Only children are rotated to avoid double-counting with Three.js hierarchy.
55
- * @param angle - Rotation angle in radians
56
- * @param axis - Axis of rotation [x, y, z], defaults to Z axis
57
- * @returns this for chaining
58
- */
59
- rotate(angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): this;
35
+ isEmpty(): boolean;
60
36
  /**
61
- * Scale all children.
62
- * Only children are scaled to avoid double-counting with Three.js hierarchy.
63
- * @param factor - Scale factor (number for uniform, tuple for non-uniform)
64
- * @returns this for chaining
37
+ * World-space center as the midpoint of the union of all children's bounding boxes.
38
+ *
39
+ * Each child computes its own bounding box via getBounds(), which routes to
40
+ * the correct strategy automatically: VMobjects use point math, all other
41
+ * types use Box3.setFromObject(). See PointBounds.ts for the full explanation.
42
+ *
43
+ * @throws this.isEmpty() — an empty group has no geometry, so no center.
44
+ * @post !this.isEmpty() => result[i] === (worldBbox.min[i] + worldBbox.max[i]) / 2
65
45
  */
66
- scale(factor: number | Vector3Tuple): this;
46
+ getCenter(): Vector3Tuple;
67
47
  /**
68
48
  * Set the color of all children.
69
49
  * @param color - CSS color string
@@ -98,7 +78,7 @@ export declare class Group extends Mobject {
98
78
  /**
99
79
  * Create a copy of this Group.
100
80
  */
101
- protected _createCopy(): Group;
81
+ copy(): Group;
102
82
  /**
103
83
  * Get the number of mobjects in this group.
104
84
  */
@@ -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,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
+ {"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;IACvB,kBAAkB,CAAC,WAAW,GAAE,KAAK,CAAC,OAA2B,GAAG,IAAI;IAGjF;;;OAGG;gBACS,GAAG,QAAQ,EAAE,OAAO,EAAE;IAYlC;;;;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,OAAO,IAAI,OAAO;IAI3B;;;;;;;;;OASG;IACM,SAAS,IAAI,YAAY;IA0BlC;;;;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;IACM,IAAI,IAAI,KAAK;IAMtB;;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 +1 @@
1
- {"version":3,"file":"InteractiveScene.d.ts","sourceRoot":"","sources":["../../src/core/InteractiveScene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK9C,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAoB5F;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,sCAAsC;IACtC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gEAAgE;IAChE,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAeD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAGrC,OAAO,CAAC,UAAU,CAAwB;IAG1C,OAAO,CAAC,mBAAmB,CAKzB;IAGF,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAA6B;IAGnD,OAAO,CAAC,WAAW,CAAsC;IAGzD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,cAAc,CAA0B;IAEhD;;;;OAIG;gBACS,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,uBAA4B;IAyCzE;;;OAGG;IACH,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAE9B;IAED;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAQ1B;;;OAGG;IACH,cAAc,IAAI,IAAI;IAatB;;OAEG;IACH,YAAY,IAAI,IAAI;IAUpB;;;OAGG;IACH,kBAAkB,IAAI,IAAI;IAoB1B;;;;OAIG;IACH,aAAa,IAAI,IAAI;IAsBrB;;OAEG;IACH,eAAe,IAAI,IAAI;IAsBvB;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkBzC,OAAO,CAAC,cAAc;IAkFtB,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,kBAAkB;IAS1B,6CAA6C;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAapC;IAEF,OAAO,CAAC,iBAAiB;IAkDzB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACM,OAAO,IAAI,IAAI;CAmBzB"}
1
+ {"version":3,"file":"InteractiveScene.d.ts","sourceRoot":"","sources":["../../src/core/InteractiveScene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK9C,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAoB5F;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,sCAAsC;IACtC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gEAAgE;IAChE,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAeD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAGrC,OAAO,CAAC,UAAU,CAAwB;IAG1C,OAAO,CAAC,mBAAmB,CAKzB;IAGF,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAA6B;IAGnD,OAAO,CAAC,WAAW,CAAsC;IAGzD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,cAAc,CAA0B;IAEhD;;;;OAIG;gBACS,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,uBAA4B;IAyCzE;;;OAGG;IACH,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAE9B;IAED;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAQ1B;;;OAGG;IACH,cAAc,IAAI,IAAI;IAatB;;OAEG;IACH,YAAY,IAAI,IAAI;IAUpB;;;OAGG;IACH,kBAAkB,IAAI,IAAI;IAoB1B;;;;OAIG;IACH,aAAa,IAAI,IAAI;IAsBrB;;OAEG;IACH,eAAe,IAAI,IAAI;IAsBvB;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAiBzC,OAAO,CAAC,cAAc;IAkFtB,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,kBAAkB;IAS1B,6CAA6C;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAapC;IAEF,OAAO,CAAC,iBAAiB;IAkDzB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACM,OAAO,IAAI,IAAI;CAmBzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Lighting.d.ts","sourceRoot":"","sources":["../../src/core/Lighting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAc;IAE5B;;;OAGG;gBACS,UAAU,EAAE,KAAK,CAAC,KAAK;IAInC;;;;;OAKG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY;IAO7D;;;;;OAKG;IACH,cAAc,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,KAAK,CAAC,gBAAgB;IAWzE;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,UAAU;IAgBvD;;;;;OAKG;IAEH,OAAO,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC,SAAS;IAuBpD;;;OAGG;IACH,YAAY,IAAI,IAAI;IAMpB;;;OAGG;IACH,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE;IAI1B;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI;IAQhC;;OAEG;IACH,SAAS,IAAI,IAAI;IAOjB;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"Lighting.d.ts","sourceRoot":"","sources":["../../src/core/Lighting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAc;IAE5B;;;OAGG;gBACS,UAAU,EAAE,KAAK,CAAC,KAAK;IAInC;;;;;OAKG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY;IAO7D;;;;;OAKG;IACH,cAAc,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,KAAK,CAAC,gBAAgB;IAWzE;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,UAAU;IAgBvD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC,SAAS;IAuBpD;;;OAGG;IACH,YAAY,IAAI,IAAI;IAMpB;;;OAGG;IACH,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE;IAI1B;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI;IAQhC;;OAEG;IACH,SAAS,IAAI,IAAI;IAOjB;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
@@ -1,10 +1,8 @@
1
1
  import { Vector3Tuple, MobjectStyle, AxisOrOptions } from './MobjectTypes';
2
+ import { AnimateProxy } from './AnimateProxy';
2
3
  import * as THREE from 'three';
3
- interface NormalizeContainerOptions {
4
- translateChild?: (child: Mobject, dx: number, dy: number, dz: number) => void;
5
- }
6
4
  /** @internal Called by AnimateProxy module to register the factory. */
7
- export declare function registerAnimateProxy(factory: (mobject: Mobject) => any): void;
5
+ export declare function registerAnimateProxy(factory: (mobject: Mobject) => AnimateProxy): void;
8
6
  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';
9
7
  /**
10
8
  * Updater function type that runs every frame.
@@ -33,7 +31,19 @@ export declare abstract class Mobject {
33
31
  protected _disableChildZLayering: boolean;
34
32
  protected _style: MobjectStyle;
35
33
  _threeObject: THREE.Object3D | null;
34
+ /**
35
+ * THREE backing object needs re-sync from this node's transform/state.
36
+ * @inv this._dirty || child._dirty === false // a clean node has a clean subtree
37
+ *
38
+ * This invariant is what makes the early-return in _syncToThree() and the
39
+ * root-sync in _syncWorldMatrices() correct. It holds because _markDirty()
40
+ * always propagates upward. Marking a node dirty WITHOUT marking its ancestors
41
+ * (e.g. reverting _markDirty to self-only) silently breaks it: a clean ancestor
42
+ * will short-circuit the sync and never reach the dirty descendant, leaving
43
+ * stale world coordinates (issue #251).
44
+ */
36
45
  _dirty: boolean;
46
+ _isVMobject: boolean;
37
47
  private _updaters;
38
48
  /** Saved mobject copy (used by Restore animation). Set by saveState(). */
39
49
  savedState: Mobject | null;
@@ -58,6 +68,20 @@ export declare abstract class Mobject {
58
68
  get strokeColor(): string | undefined;
59
69
  set strokeColor(color: string);
60
70
  shift(delta: Vector3Tuple): this;
71
+ /**
72
+ * Move to target position in world space.
73
+ *
74
+ * Computes the delta from the current world-space center, converts it into this
75
+ * node's parent-local frame (the frame `shift()`/`position` live in), and applies
76
+ * it so the world-space center lands on the target. The parent-local conversion
77
+ * is what makes this correct when the node is parented under a scaled/rotated
78
+ * parent — a raw world delta fed to shift() would be scaled/rotated by the parent.
79
+ * For an unparented node the conversion is the identity, so behavior is unchanged.
80
+ *
81
+ * @post result world center === target (within the parent's representable frame)
82
+ * @pre !this.isEmpty()
83
+ * if needed (e.g., VGroup).
84
+ */
61
85
  moveTo(target: Vector3Tuple | Mobject, alignedEdge?: Vector3Tuple): this;
62
86
  /**
63
87
  * Rotate the mobject by angle around an axis.
@@ -65,6 +89,28 @@ export declare abstract class Mobject {
65
89
  */
66
90
  rotate(angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): this;
67
91
  rotateAboutOrigin(angle: number, axis?: Vector3Tuple): this;
92
+ /**
93
+ * Rotate about a pivot expressed in this node's PARENT-local frame
94
+ * (the same frame as `this.position`). No world-space conversion is done.
95
+ *
96
+ * @pre pivotLocal is in the same frame as this.position (parent-local)
97
+ * @post the parent-local pivot point is fixed; this.position rotates about it
98
+ * @post this.rotation === old.rotation composed with the requested rotation
99
+ */
100
+ protected _rotateAboutParentLocalPoint(angle: number, axis: Vector3Tuple, pivotLocal: Vector3Tuple): void;
101
+ /**
102
+ * LOCAL point -> WORLD (the frame this node's points live in; this node's own
103
+ * transform IS applied).
104
+ *
105
+ * @post result === this._worldMatrix() * p
106
+ */
107
+ protected _localToWorld(p: Vector3Tuple): Vector3Tuple;
108
+ /**
109
+ * WORLD point -> this node's LOCAL frame. Inverse of {@link _localToWorld}.
110
+ *
111
+ * @post result === this._worldMatrix().invert() * p
112
+ */
113
+ protected _worldToLocal(p: Vector3Tuple): Vector3Tuple;
68
114
  flip(axis?: Vector3Tuple, options?: {
69
115
  aboutPoint?: Vector3Tuple;
70
116
  aboutEdge?: Vector3Tuple;
@@ -79,11 +125,89 @@ export declare abstract class Mobject {
79
125
  }): this;
80
126
  add(...mobjects: Mobject[]): this;
81
127
  remove(...mobjects: Mobject[]): this;
82
- copy(): Mobject;
83
- protected abstract _createCopy(): Mobject;
128
+ /**
129
+ * Check if this mobject's transform is normalized (rotation=0, scale=1).
130
+ * @post result === (rotation.x==0 && rotation.y==0 && rotation.z==0 && scaleVector===[1,1,1])
131
+ */
132
+ isTransformNormalized(): boolean;
133
+ /**
134
+ * Copy position, color, standard properties, and optionally children onto `clone`.
135
+ * Every copy() implementation MUST call this to preserve position/color/opacity/style/etc.
136
+ *
137
+ * @post old.getPoints()[i] === this.getPoints()[i] // reads the source, writes only `clone`
138
+ * @internal Convention: forgetting this call silently loses position/color/style.
139
+ */
140
+ protected _copyBaseAttributesInto(clone: Mobject, options?: {
141
+ copyChildren?: boolean;
142
+ copyPosition?: boolean;
143
+ }): void;
144
+ /**
145
+ * Deep-copy this mobject: position, color, and (for composites) children.
146
+ * Every concrete subclass MUST implement copy() with its own return type.
147
+ * Call {@link _copyBaseAttributesInto} to handle standard properties.
148
+ *
149
+ * Leaf classes: construct new instance, call helper, return.
150
+ * Self-building composites: construct new instance (rebuilds children), call helper, return.
151
+ * Point-morphing classes: construct, call helper, overwrite _points3D, return.
152
+ *
153
+ * copy() is a LOCAL structural clone: it reproduces this node's own
154
+ * position/rotation/scale (parent-relative) and deep-copies children. It does
155
+ * NOT fold in ancestor transforms — a clone of a node nested under a
156
+ * transformed group carries only the local transform. To get a world-correct
157
+ * clone, normalizeTransform() the tree first (folding ancestors into absolute
158
+ * geometry) so that local === world, then copy. This is why animations flatten
159
+ * with normalizeTransform() before snapshotting via copy().
160
+ *
161
+ * @post typeof result === typeof this (strongly typed, no casts)
162
+ * @post old.getPoints()[i] === this.getPoints()[i] // source is never mutated
163
+ */
164
+ abstract copy(): Mobject;
84
165
  become(other: Mobject): this;
85
166
  replace(target: Mobject, stretch?: boolean): this;
167
+ /**
168
+ * Whether this mobject has no renderable geometry.
169
+ * Base default is conservative: non-empty unless specialized subclasses decide otherwise.
170
+ */
171
+ isEmpty(): boolean;
172
+ /**
173
+ * Get center in world coordinates.
174
+ *
175
+ * @post this.isEmpty() => result === this._localToWorld([0,0,0])
176
+ * @post !this.isEmpty() => result[i] === (worldBbox.min[i] + worldBbox.max[i]) / 2
177
+ */
86
178
  getCenter(): Vector3Tuple;
179
+ /**
180
+ * Get center in this mobject's parent coordinate frame.
181
+ *
182
+ * Includes this node's own local transform, excludes ancestor transforms.
183
+ *
184
+ * @post this.parent === null => result === this.getCenter()
185
+ * @post this.parent !== null => result === parent._computeWorldMatrix().invert() * this.getCenter()
186
+ */
187
+ getLocalCenter(): Vector3Tuple;
188
+ /**
189
+ * Refresh the THREE world matrices so a geometry query reads current
190
+ * transforms, and return the backing object. World coordinates depend on
191
+ * every ancestor's transform, so we sync from the root (the dirty invariant —
192
+ * see _markDirty — lets the recursion skip clean subtrees). _syncToThree only
193
+ * copies locals onto the THREE objects; setFromObject won't walk up to refresh
194
+ * matrixWorld, so we flush ancestors (true) and descendants (true) here.
195
+ * Shared by getBounds() and getBoundingBox() so both stay consistent.
196
+ * @pre !this.isEmpty()
197
+ * @post result.min <= result.max component-wise
198
+ */
199
+ _syncWorldMatrices(): THREE.Object3D;
200
+ /**
201
+ * World-space axis-aligned bounding box.
202
+ *
203
+ * Uses Box3.setFromObject() via the Three.js subtree. This works for all
204
+ * standard geometry types without a renderer. VMobject overrides this with
205
+ * point math because Line2's LineGeometry is incompatible with
206
+ * Box3.setFromObject() — see PointBounds.ts for the full explanation.
207
+
208
+ * @pre !this.isEmpty()
209
+ * @post result.min <= result.max component-wise
210
+ */
87
211
  getBounds(): {
88
212
  min: {
89
213
  x: number;
@@ -99,12 +223,15 @@ export declare abstract class Mobject {
99
223
  nextTo(target: Mobject | Vector3Tuple, direction?: Vector3Tuple, buff?: number): this;
100
224
  alignTo(target: Mobject | Vector3Tuple, direction: Vector3Tuple): this;
101
225
  moveToAligned(target: Mobject | Vector3Tuple, alignedEdge?: Vector3Tuple): this;
226
+ /** @returns World-space edge position (center + half-bounding-box offset). */
102
227
  _getEdgeInDirection(direction: Vector3Tuple): Vector3Tuple;
103
228
  getBoundingBox(): {
104
229
  width: number;
105
230
  height: number;
106
231
  depth: number;
107
232
  };
233
+ getWidth(): number;
234
+ getHeight(): number;
108
235
  /** @deprecated Use getBoundingBox() instead. */
109
236
  _getBoundingBox(): {
110
237
  width: number;
@@ -131,35 +258,102 @@ export declare abstract class Mobject {
131
258
  * scene.play(circle.animate.setColor('#ff0000').scale(2));
132
259
  * ```
133
260
  */
134
- get animate(): any;
261
+ get animate(): AnimateProxy;
135
262
  toEdge(direction: Vector3Tuple, buff?: number, frameDimensions?: [number, number]): this;
136
263
  toCorner(direction?: Vector3Tuple, buff?: number, frameDimensions?: [number, number]): this;
137
264
  /**
138
- * Normalize local transform into object-specific canonical representation.
265
+ * Flatten this mobject's transform into its canonical, absolute representation.
266
+ *
267
+ * Bakes `worldMatrix` into the node's own geometry, recurses so every
268
+ * descendant is expressed in the same frame, then resets the local transform
269
+ * to identity. Called with no argument it seeds with this node's OWN matrix,
270
+ * so bake-then-reset preserves world appearance whether or not the node has
271
+ * ancestors — the ancestors keep their transforms and still apply. The
272
+ * recursion (and a detached-clone caller) passes an explicit accumulated matrix.
139
273
  *
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().
274
+ * Implemented per family rather than via a hook so the compiler forces every
275
+ * geometry-owning subclass to declare how it flattens: containers reset to
276
+ * identity (geometry lives in children), point-based mobjects bake `worldMatrix`
277
+ * into their points, and Three.js meshes — which cannot bake into points —
278
+ * absolutize their local transform instead (see {@link _flattenAsMesh}).
143
279
  *
144
- * Base implementation is a no-op.
280
+ * @post old.getPoints()[i] === this.getPoints()[i] // world geometry preserved, every descendant
281
+ * @post this._computeOwnMatrix() === Identity // container/point nodes; meshes: own === worldMatrix
145
282
  */
146
- normalizeTransform(): this;
283
+ abstract normalizeTransform(worldMatrix?: THREE.Matrix4): this;
147
284
  /**
148
- * Normalize this object as a container: forward parent S/R/T anchors into
149
- * children, reset parent anchors, then recurse into children.
285
+ * Recurse `normalizeTransform` into children, composing each child's own
286
+ * matrix onto `worldMatrix` so every descendant flattens into the same frame.
150
287
  */
151
- protected _normalizeContainerTransform(options?: NormalizeContainerOptions): void;
152
- protected _hasDeferredAnchors(): boolean;
153
- private _normalizeContainerScale;
154
- private _normalizeContainerRotation;
155
- private _applyEulerSteps;
156
- private _normalizeContainerTranslation;
288
+ protected _normalizeChildrenInto(worldMatrix: THREE.Matrix4): void;
289
+ /**
290
+ * Flatten a node whose geometry is fully described by its children (or which
291
+ * has no own geometry): recurse into children, then reset own transform to
292
+ * identity. The transform is not lost — it was folded into the descendants via
293
+ * the composed `worldMatrix`.
294
+ */
295
+ protected _flattenAsContainer(worldMatrix: THREE.Matrix4): this;
296
+ /**
297
+ * Flatten a Three.js-mesh node that cannot bake geometry into points:
298
+ * absolutize by setting the local transform equal to `worldMatrix`, so it
299
+ * renders correctly once its (now identity) ancestors collapse. A mesh is a
300
+ * flattening barrier — its descendants stay relative to it.
301
+ */
302
+ protected _flattenAsMesh(worldMatrix: THREE.Matrix4): this;
157
303
  _syncToThree(): void;
158
304
  protected _syncMaterialToThree(): void;
305
+ /**
306
+ * Disable the 2D draw-order z-layering offset (`idx * 0.01` per non-first
307
+ * child, applied in {@link _syncToThree}) for this node and its whole subtree.
308
+ *
309
+ * The offset is a flat-2D hack that fakes paint order by nudging later
310
+ * siblings toward the camera. Under a 3D perspective camera with real depth
311
+ * sorting it instead corrupts geometry: a group's children drift along world-z
312
+ * proportionally to their index (issue #465). `ThreeDScene` calls this on every
313
+ * added mobject so 3D scenes opt out. Because the offset is gated on the
314
+ * *parent's* flag, setting it on a container also covers children added later.
315
+ */
316
+ disableChildZLayering(): this;
317
+ /**
318
+ * Mark this node's render/transform state stale and propagate the flag to the
319
+ * root. World-space geometry of any node depends on its ancestors' transforms,
320
+ * so a change anywhere must invalidate the whole ancestor chain; the invariant
321
+ * "a clean node has a clean subtree" then lets _syncToThree()/root-sync skip
322
+ * untouched branches safely.
323
+ * @post this._dirty && (this.parent => this.parent._dirty)
324
+ */
159
325
  _markDirty(): void;
326
+ /**
327
+ * Alias for {@link _markDirty}. Retained as the single override point for
328
+ * subclasses (e.g. VMobject) that must also invalidate baked geometry when a
329
+ * mutation propagates upward; transform-only changes call _markDirty() directly.
330
+ */
160
331
  _markDirtyUpward(): void;
161
332
  get isDirty(): boolean;
333
+ /** The topmost ancestor (the node with no parent). */
334
+ _root(): Mobject;
162
335
  getThreeObject(): THREE.Object3D;
336
+ /**
337
+ * Compose this mobject's world matrix by walking the parent chain.
338
+ *
339
+ * Each ancestor's local transform is `T · R · S` (translation × rotation × scale),
340
+ * built via `THREE.Matrix4.compose`; the result is `parent.worldMatrix · localMatrix`.
341
+ *
342
+ * The render-only z-layering offset applied in `_syncToThree`
343
+ * (`idx * 0.01` for non-first children) is intentionally **not** included —
344
+ * it's a 2D display hack, not part of the mathematical world coordinate.
345
+ *
346
+ * @returns A fresh `Matrix4` holding the world transform of this mobject.
347
+ */
348
+ /**
349
+ * This node's transform matrix in isolation — position, rotation, and scale
350
+ * composed together, with no ancestor contribution.
351
+ *
352
+ * @post this.parent === null => this._computeWorldMatrix() === this._computeOwnMatrix()
353
+ * @post this.parent !== null => this._computeWorldMatrix() === this.parent._computeWorldMatrix() * this._computeOwnMatrix()
354
+ */
355
+ _ownMatrix(): THREE.Matrix4;
356
+ _worldMatrix(): THREE.Matrix4;
163
357
  /**
164
358
  * Number of visible display meshes this mobject contributes when rendered.
165
359
  * Used for Transform eligibility checks without forcing Three.js object creation.
@@ -175,6 +369,21 @@ export declare abstract class Mobject {
175
369
  hasUpdaters(): boolean;
176
370
  getUpdaters(): UpdaterFunction[];
177
371
  update(dt: number): void;
372
+ /**
373
+ * Apply a function to every descendant's world-space points, about a given point.
374
+ * Recurses the family and delegates to `_applyFunctionAboutPoint` on each node.
375
+ *
376
+ * @pre fn(pts).length === pts.length
377
+ * @post m.getPoints()[i] === old.m.getPoints().map(p => fn([p - aboutPoint]) + aboutPoint)[i] // for every descendant m
378
+ */
379
+ applyFunctionAboutPoint(fn: (pts: number[][]) => number[][], aboutPoint?: number[]): this;
380
+ /**
381
+ * Per-node hook called by `applyFunctionAboutPoint`.
382
+ * @pre fn(pts).length === pts.length
383
+ * @post getPoints()[i] === fn(old.getPoints())[i]
384
+ * @note no-op in base Mobject; override in subclasses with own points
385
+ */
386
+ protected _applyFunctionAboutPoint(_fn: (pts: number[][]) => number[][], _aboutPoint: number[]): void;
178
387
  applyFunction(fn: (point: number[]) => number[], options?: {
179
388
  aboutPoint?: Vector3Tuple;
180
389
  aboutEdge?: Vector3Tuple;
@@ -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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"}
@@ -1,9 +1,4 @@
1
- import { MobjectLike, Vector3Tuple, AxisOrOptions } from './MobjectTypes';
2
- /**
3
- * Rotate a mobject around an axis.
4
- * Uses object pooling to avoid allocations in hot paths.
5
- */
6
- export declare function rotateMobject(mob: MobjectLike, angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): void;
1
+ import { MobjectLike, Vector3Tuple } from './MobjectTypes';
7
2
  /**
8
3
  * Get the center point of a mobject.
9
4
  */
@@ -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,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"}
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;AAOhE;;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,CAOA;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 +1 @@
1
- {"version":3,"file":"MobjectState.d.ts","sourceRoot":"","sources":["../../src/core/MobjectState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAgB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA0B9E;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAe3D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CA6BjE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAW5E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAkBhG;AAiDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,YAAY,CAAA;CAAE,GAChE,YAAY,GAAG,SAAS,CAc1B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,EACjC,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,YAAY,CAAA;CAAE,GAChE,IAAI,CAsBN;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,YAAY,CAAA;CAAE,GAChE,IAAI,CAMN;AAiBD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAoC1F"}
1
+ {"version":3,"file":"MobjectState.d.ts","sourceRoot":"","sources":["../../src/core/MobjectState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAgB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA+B9E;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAe3D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CA6BjE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAW5E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAkBhG;AA+CD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,YAAY,CAAA;CAAE,GAChE,YAAY,GAAG,SAAS,CAc1B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,EACjC,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,YAAY,CAAA;CAAE,GAChE,IAAI,CAGN;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,YAAY,CAAA;CAAE,GAChE,IAAI,CAMN;AAiBD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA+B1F"}
@@ -20,6 +20,9 @@ export interface LeafVMobjectSnapshot {
20
20
  export declare function collectLeafVMobjectSnapshots(root: VMobject): LeafVMobjectSnapshot[];
21
21
  /**
22
22
  * Project a world-space position into a node's parent-local coordinates.
23
+ * @pre parentWorldMatrix === parent.matrixWorld (up-to-date)
24
+ * @post result === parentWorldMatrix⁻¹ * worldPosition
25
+ * i.e. the same value you'd find in node.position after a normalizeTransform()
23
26
  */
24
27
  export declare function worldToParentLocalPosition(worldPosition: THREE.Vector3, parentWorldMatrix: THREE.Matrix4): THREE.Vector3;
25
28
  //# sourceMappingURL=MobjectTraversal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MobjectTraversal.d.ts","sourceRoot":"","sources":["../../src/core/MobjectTraversal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;IAC3B,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;IACjC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;IAC7B,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;CAC3B;AAcD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,QAAQ,GAAG,oBAAoB,EAAE,CA0CnF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,KAAK,CAAC,OAAO,EAC5B,iBAAiB,EAAE,KAAK,CAAC,OAAO,GAC/B,KAAK,CAAC,OAAO,CAEf"}
1
+ {"version":3,"file":"MobjectTraversal.d.ts","sourceRoot":"","sources":["../../src/core/MobjectTraversal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;IAC3B,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;IACjC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;IAC7B,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;CAC3B;AAcD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,QAAQ,GAAG,oBAAoB,EAAE,CA0CnF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,KAAK,CAAC,OAAO,EAC5B,iBAAiB,EAAE,KAAK,CAAC,OAAO,GAC/B,KAAK,CAAC,OAAO,CAEf"}
@@ -54,8 +54,10 @@ export interface MobjectLike {
54
54
  __savedMobjectState: unknown;
55
55
  _threeObject: THREE.Object3D | null;
56
56
  _dirty: boolean;
57
+ _isVMobject: boolean;
57
58
  _markDirty(): void;
58
59
  getThreeObject(): THREE.Object3D;
60
+ _syncWorldMatrices(): THREE.Object3D;
59
61
  getCenter(): Vector3Tuple;
60
62
  getBounds(): {
61
63
  min: {
@@ -79,6 +81,7 @@ export interface MobjectLike {
79
81
  copy(): MobjectLike;
80
82
  restoreState(): boolean;
81
83
  getFamily(): MobjectLike[];
84
+ applyFunctionAboutPoint(fn: (pts: number[][]) => number[][], aboutPoint?: number[]): MobjectLike;
82
85
  }
83
86
  /**
84
87
  * Interface for duck-typing VMobject properties from Mobject base class.
@@ -92,10 +95,15 @@ export interface VMobjectLike {
92
95
  x: number;
93
96
  y: number;
94
97
  }[]): void;
98
+ getLocalPoints(): number[][];
95
99
  getPoints(): number[][];
96
100
  }
97
101
  /**
98
102
  * Type guard to check if a MobjectLike has VMobject-like point data.
99
103
  */
100
104
  export declare function isVMobjectLike(m: MobjectLike): m is MobjectLike & VMobjectLike;
105
+ /**
106
+ * Type guard to check if a MobjectLike is a VMobject (has Bezier curves).
107
+ */
108
+ export declare function isVMobject(m: MobjectLike): m is MobjectLike & VMobjectLike;
101
109
  //# sourceMappingURL=MobjectTypes.d.ts.map
@@ -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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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * CPU-side bounding-box utilities for VMobject geometry.
3
+ *
4
+ * Mobjects use two different strategies to compute bounding boxes.
5
+ *
6
+ * Most mobjects (Sphere, Cube, Image, PMobject, ...) delegate to Three.js
7
+ * via Box3.setFromObject(). Their geometries are standard BufferGeometry
8
+ * subclasses, so computeBoundingBox() can read vertex positions from the
9
+ * 'position' attribute on the CPU.
10
+ *
11
+ * VMobjects use the point-math utilities in this file instead. Their stroke
12
+ * rendering relies on Line2 (three/examples/jsm/lines), whose LineGeometry
13
+ * stores endpoints in instanceStart/instanceEnd rather than 'position'.
14
+ * computeBoundingBox() therefore finds no position data and leaves
15
+ * boundingBox null.
16
+ *
17
+ * The control points are available on the CPU; this is a gap in the Line2
18
+ * extras as of three.js 0.184, not a fundamental constraint. If a future
19
+ * release fixes this, VMobject.getBounds() can be removed and
20
+ * Mobject.getBounds() will work uniformly for all types.
21
+ */
22
+ export interface PointBounds {
23
+ min: {
24
+ x: number;
25
+ y: number;
26
+ z: number;
27
+ };
28
+ max: {
29
+ x: number;
30
+ y: number;
31
+ z: number;
32
+ };
33
+ }
34
+ /**
35
+ * Compute axis-aligned bounds for a list of 3D points.
36
+ * Returns null when input is empty.
37
+ */
38
+ export declare function computePointBounds(points: number[][]): PointBounds | null;
39
+ //# sourceMappingURL=PointBounds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PointBounds.d.ts","sourceRoot":"","sources":["../../src/core/PointBounds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,WAAW,GAAG,IAAI,CAuBzE"}
@@ -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;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"}
1
+ {"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../src/core/Renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/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;gBACS,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"}