manim-web 0.3.21 → 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 (325) hide show
  1. package/README.md +20 -0
  2. package/dist/{svg-swSF_J59.js → MathJaxBundle-xSidSV0E.js} +18571 -7242
  3. package/dist/animation/Animation.d.ts.map +1 -1
  4. package/dist/animation/AnimationGroup.d.ts.map +1 -1
  5. package/dist/animation/MasterTimeline.d.ts +88 -1
  6. package/dist/animation/MasterTimeline.d.ts.map +1 -1
  7. package/dist/animation/Timeline.d.ts.map +1 -1
  8. package/dist/animation/changing/index.d.ts +2 -2
  9. package/dist/animation/changing/index.d.ts.map +1 -1
  10. package/dist/animation/creation/Create.d.ts.map +1 -1
  11. package/dist/animation/growing/index.d.ts +8 -5
  12. package/dist/animation/growing/index.d.ts.map +1 -1
  13. package/dist/animation/movement/Homotopy.d.ts +37 -7
  14. package/dist/animation/movement/Homotopy.d.ts.map +1 -1
  15. package/dist/animation/movement/MoveAlongPath.d.ts.map +1 -1
  16. package/dist/animation/movement/Rotate.d.ts +2 -7
  17. package/dist/animation/movement/Rotate.d.ts.map +1 -1
  18. package/dist/animation/speed/index.d.ts.map +1 -1
  19. package/dist/animation/transform/ApplyPointwiseFunction.d.ts.map +1 -1
  20. package/dist/animation/transform/ApplyPointwiseFunctionToCenter.d.ts.map +1 -1
  21. package/dist/animation/transform/ApplyTransforms.d.ts.map +1 -1
  22. package/dist/animation/transform/MorphStrategy.d.ts +23 -0
  23. package/dist/animation/transform/MorphStrategy.d.ts.map +1 -1
  24. package/dist/animation/transform/PointCloudMorphStrategy.d.ts +18 -0
  25. package/dist/animation/transform/PointCloudMorphStrategy.d.ts.map +1 -0
  26. package/dist/animation/transform/PointMorphStrategy.d.ts +26 -0
  27. package/dist/animation/transform/PointMorphStrategy.d.ts.map +1 -1
  28. package/dist/animation/transform/Transform.d.ts +2 -0
  29. package/dist/animation/transform/Transform.d.ts.map +1 -1
  30. package/dist/animation/transform/TransformMatching.d.ts.map +1 -1
  31. package/dist/animation/utility/index.d.ts +6 -2
  32. package/dist/animation/utility/index.d.ts.map +1 -1
  33. package/dist/core/AnimateProxy.d.ts +3 -5
  34. package/dist/core/AnimateProxy.d.ts.map +1 -1
  35. package/dist/core/Camera.d.ts +40 -0
  36. package/dist/core/Camera.d.ts.map +1 -1
  37. package/dist/core/Camera2DFrame.d.ts +1 -1
  38. package/dist/core/Camera2DFrame.d.ts.map +1 -1
  39. package/dist/core/CameraExtensions.d.ts +33 -1
  40. package/dist/core/CameraExtensions.d.ts.map +1 -1
  41. package/dist/core/CameraFrame.d.ts.map +1 -1
  42. package/dist/core/Group.d.ts +11 -39
  43. package/dist/core/Group.d.ts.map +1 -1
  44. package/dist/core/InteractiveScene.d.ts.map +1 -1
  45. package/dist/core/Lighting.d.ts.map +1 -1
  46. package/dist/core/Mobject.d.ts +246 -11
  47. package/dist/core/Mobject.d.ts.map +1 -1
  48. package/dist/core/MobjectPositioning.d.ts +0 -8
  49. package/dist/core/MobjectPositioning.d.ts.map +1 -1
  50. package/dist/core/MobjectState.d.ts.map +1 -1
  51. package/dist/core/MobjectTraversal.d.ts +3 -0
  52. package/dist/core/MobjectTraversal.d.ts.map +1 -1
  53. package/dist/core/MobjectTypes.d.ts +29 -4
  54. package/dist/core/MobjectTypes.d.ts.map +1 -1
  55. package/dist/core/PointBounds.d.ts +39 -0
  56. package/dist/core/PointBounds.d.ts.map +1 -0
  57. package/dist/core/Renderer.d.ts +3 -0
  58. package/dist/core/Renderer.d.ts.map +1 -1
  59. package/dist/core/Scene.d.ts +82 -0
  60. package/dist/core/Scene.d.ts.map +1 -1
  61. package/dist/core/TexturedMobject.d.ts +12 -0
  62. package/dist/core/TexturedMobject.d.ts.map +1 -1
  63. package/dist/core/ThreeDScene.d.ts +9 -1
  64. package/dist/core/ThreeDScene.d.ts.map +1 -1
  65. package/dist/core/VDict.d.ts +1 -9
  66. package/dist/core/VDict.d.ts.map +1 -1
  67. package/dist/core/VGroup.d.ts +58 -42
  68. package/dist/core/VGroup.d.ts.map +1 -1
  69. package/dist/core/VMobject.d.ts +102 -28
  70. package/dist/core/VMobject.d.ts.map +1 -1
  71. package/dist/core/VMobjectCurveUtils.d.ts +1 -1
  72. package/dist/core/VMobjectCurveUtils.d.ts.map +1 -1
  73. package/dist/core/VMobjectGeometry.d.ts +20 -10
  74. package/dist/core/VMobjectGeometry.d.ts.map +1 -1
  75. package/dist/core/VMobjectRendering.d.ts +5 -0
  76. package/dist/core/VMobjectRendering.d.ts.map +1 -1
  77. package/dist/core/VMobjectStrokeGeometry.d.ts.map +1 -1
  78. package/dist/core/VMobjectTransformAlignment.d.ts +9 -0
  79. package/dist/core/VMobjectTransformAlignment.d.ts.map +1 -1
  80. package/dist/core/ZoomedScene.d.ts +2 -1
  81. package/dist/core/ZoomedScene.d.ts.map +1 -1
  82. package/dist/export/GifExporter.d.ts.map +1 -1
  83. package/dist/export/VideoExporter.d.ts.map +1 -1
  84. package/dist/index.d.ts +5 -4
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +2 -4
  87. package/dist/integrations/react.js +16 -18
  88. package/dist/integrations/vue.js +15 -17
  89. package/dist/interaction/Draggable.d.ts +12 -0
  90. package/dist/interaction/Draggable.d.ts.map +1 -1
  91. package/dist/interaction/OrbitControls.d.ts +1 -1
  92. package/dist/interaction/OrbitControls.d.ts.map +1 -1
  93. package/dist/manim-web.browser.js +12510 -10445
  94. package/dist/mobjects/fractals/MandelbrotSet.d.ts +2 -1
  95. package/dist/mobjects/fractals/MandelbrotSet.d.ts.map +1 -1
  96. package/dist/mobjects/fractals/NewtonFractal.d.ts +2 -1
  97. package/dist/mobjects/fractals/NewtonFractal.d.ts.map +1 -1
  98. package/dist/mobjects/frame/index.d.ts +3 -12
  99. package/dist/mobjects/frame/index.d.ts.map +1 -1
  100. package/dist/mobjects/geometry/AngleShapes.d.ts +4 -8
  101. package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -1
  102. package/dist/mobjects/geometry/AnnularSector.d.ts +4 -74
  103. package/dist/mobjects/geometry/AnnularSector.d.ts.map +1 -1
  104. package/dist/mobjects/geometry/Annulus.d.ts +1 -62
  105. package/dist/mobjects/geometry/Annulus.d.ts.map +1 -1
  106. package/dist/mobjects/geometry/Arc.d.ts +3 -1
  107. package/dist/mobjects/geometry/Arc.d.ts.map +1 -1
  108. package/dist/mobjects/geometry/ArcBetweenPoints.d.ts +1 -1
  109. package/dist/mobjects/geometry/ArcBetweenPoints.d.ts.map +1 -1
  110. package/dist/mobjects/geometry/ArcPolygon.d.ts +1 -1
  111. package/dist/mobjects/geometry/ArcPolygon.d.ts.map +1 -1
  112. package/dist/mobjects/geometry/Arrow.d.ts +130 -23
  113. package/dist/mobjects/geometry/Arrow.d.ts.map +1 -1
  114. package/dist/mobjects/geometry/ArrowTips.d.ts +7 -7
  115. package/dist/mobjects/geometry/ArrowTips.d.ts.map +1 -1
  116. package/dist/mobjects/geometry/BooleanOperations.d.ts.map +1 -1
  117. package/dist/mobjects/geometry/Circle.d.ts +20 -23
  118. package/dist/mobjects/geometry/Circle.d.ts.map +1 -1
  119. package/dist/mobjects/geometry/CubicBezier.d.ts +1 -1
  120. package/dist/mobjects/geometry/CubicBezier.d.ts.map +1 -1
  121. package/dist/mobjects/geometry/CurvedArrow.d.ts +1 -1
  122. package/dist/mobjects/geometry/CurvedArrow.d.ts.map +1 -1
  123. package/dist/mobjects/geometry/CurvedDoubleArrow.d.ts +1 -1
  124. package/dist/mobjects/geometry/CurvedDoubleArrow.d.ts.map +1 -1
  125. package/dist/mobjects/geometry/DashedLine.d.ts +3 -2
  126. package/dist/mobjects/geometry/DashedLine.d.ts.map +1 -1
  127. package/dist/mobjects/geometry/DashedVMobject.d.ts +3 -2
  128. package/dist/mobjects/geometry/DashedVMobject.d.ts.map +1 -1
  129. package/dist/mobjects/geometry/Dot.d.ts +4 -15
  130. package/dist/mobjects/geometry/Dot.d.ts.map +1 -1
  131. package/dist/mobjects/geometry/Ellipse.d.ts +3 -47
  132. package/dist/mobjects/geometry/Ellipse.d.ts.map +1 -1
  133. package/dist/mobjects/geometry/LabeledGeometry.d.ts +5 -5
  134. package/dist/mobjects/geometry/LabeledGeometry.d.ts.map +1 -1
  135. package/dist/mobjects/geometry/Line.d.ts +15 -9
  136. package/dist/mobjects/geometry/Line.d.ts.map +1 -1
  137. package/dist/mobjects/geometry/Polygon.d.ts +1 -1
  138. package/dist/mobjects/geometry/Polygon.d.ts.map +1 -1
  139. package/dist/mobjects/geometry/PolygonExtensions.d.ts +11 -67
  140. package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -1
  141. package/dist/mobjects/geometry/Polygram.d.ts +1 -1
  142. package/dist/mobjects/geometry/Polygram.d.ts.map +1 -1
  143. package/dist/mobjects/geometry/Rectangle.d.ts +4 -5
  144. package/dist/mobjects/geometry/Rectangle.d.ts.map +1 -1
  145. package/dist/mobjects/geometry/Sector.d.ts +5 -69
  146. package/dist/mobjects/geometry/Sector.d.ts.map +1 -1
  147. package/dist/mobjects/geometry/ShapeMatchers.d.ts +6 -5
  148. package/dist/mobjects/geometry/ShapeMatchers.d.ts.map +1 -1
  149. package/dist/mobjects/geometry/TangentialArc.d.ts +1 -1
  150. package/dist/mobjects/geometry/TangentialArc.d.ts.map +1 -1
  151. package/dist/mobjects/geometry/segment.d.ts +24 -0
  152. package/dist/mobjects/geometry/segment.d.ts.map +1 -0
  153. package/dist/mobjects/graph/DiGraph.d.ts +1 -4
  154. package/dist/mobjects/graph/DiGraph.d.ts.map +1 -1
  155. package/dist/mobjects/graph/GenericGraph.d.ts +2 -1
  156. package/dist/mobjects/graph/GenericGraph.d.ts.map +1 -1
  157. package/dist/mobjects/graph/Graph.d.ts +1 -4
  158. package/dist/mobjects/graph/Graph.d.ts.map +1 -1
  159. package/dist/mobjects/graph/layoutAlgorithms.d.ts.map +1 -1
  160. package/dist/mobjects/graphing/Axes.d.ts +1 -4
  161. package/dist/mobjects/graphing/Axes.d.ts.map +1 -1
  162. package/dist/mobjects/graphing/BarChart.d.ts +1 -4
  163. package/dist/mobjects/graphing/BarChart.d.ts.map +1 -1
  164. package/dist/mobjects/graphing/ComplexPlane.d.ts +43 -9
  165. package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -1
  166. package/dist/mobjects/graphing/FunctionGraph.d.ts +1 -4
  167. package/dist/mobjects/graphing/FunctionGraph.d.ts.map +1 -1
  168. package/dist/mobjects/graphing/ImplicitFunction.d.ts +1 -4
  169. package/dist/mobjects/graphing/ImplicitFunction.d.ts.map +1 -1
  170. package/dist/mobjects/graphing/NumberLine.d.ts +2 -8
  171. package/dist/mobjects/graphing/NumberLine.d.ts.map +1 -1
  172. package/dist/mobjects/graphing/NumberPlane.d.ts +1 -4
  173. package/dist/mobjects/graphing/NumberPlane.d.ts.map +1 -1
  174. package/dist/mobjects/graphing/ParametricFunction.d.ts +1 -4
  175. package/dist/mobjects/graphing/ParametricFunction.d.ts.map +1 -1
  176. package/dist/mobjects/graphing/Vector.d.ts +1 -4
  177. package/dist/mobjects/graphing/Vector.d.ts.map +1 -1
  178. package/dist/mobjects/graphing/VectorField.d.ts +3 -12
  179. package/dist/mobjects/graphing/VectorField.d.ts.map +1 -1
  180. package/dist/mobjects/image/index.d.ts +6 -4
  181. package/dist/mobjects/image/index.d.ts.map +1 -1
  182. package/dist/mobjects/matrix/Matrix.d.ts +4 -16
  183. package/dist/mobjects/matrix/Matrix.d.ts.map +1 -1
  184. package/dist/mobjects/point/Mobject1D.d.ts +1 -4
  185. package/dist/mobjects/point/Mobject1D.d.ts.map +1 -1
  186. package/dist/mobjects/point/Mobject2D.d.ts +1 -1
  187. package/dist/mobjects/point/Mobject2D.d.ts.map +1 -1
  188. package/dist/mobjects/point/PGroup.d.ts +2 -4
  189. package/dist/mobjects/point/PGroup.d.ts.map +1 -1
  190. package/dist/mobjects/point/PMobject.d.ts +49 -13
  191. package/dist/mobjects/point/PMobject.d.ts.map +1 -1
  192. package/dist/mobjects/point/PointCloudDot.d.ts +1 -4
  193. package/dist/mobjects/point/PointCloudDot.d.ts.map +1 -1
  194. package/dist/mobjects/point/PointMobject.d.ts +13 -17
  195. package/dist/mobjects/point/PointMobject.d.ts.map +1 -1
  196. package/dist/mobjects/probability/DiceFace.d.ts +1 -5
  197. package/dist/mobjects/probability/DiceFace.d.ts.map +1 -1
  198. package/dist/mobjects/probability/SampleSpace.d.ts +1 -5
  199. package/dist/mobjects/probability/SampleSpace.d.ts.map +1 -1
  200. package/dist/mobjects/svg/Brace.d.ts +5 -20
  201. package/dist/mobjects/svg/Brace.d.ts.map +1 -1
  202. package/dist/mobjects/svg/SVGMobject.d.ts +2 -2
  203. package/dist/mobjects/svg/SVGMobject.d.ts.map +1 -1
  204. package/dist/mobjects/table/Table.d.ts +1 -5
  205. package/dist/mobjects/table/Table.d.ts.map +1 -1
  206. package/dist/mobjects/text/Code.d.ts +1 -4
  207. package/dist/mobjects/text/Code.d.ts.map +1 -1
  208. package/dist/mobjects/text/CodeHighlighting.d.ts.map +1 -1
  209. package/dist/mobjects/text/CodeLanguageData.d.ts.map +1 -1
  210. package/dist/mobjects/text/DecimalNumber.d.ts +2 -8
  211. package/dist/mobjects/text/DecimalNumber.d.ts.map +1 -1
  212. package/dist/mobjects/text/GlyphVMobject.d.ts +1 -1
  213. package/dist/mobjects/text/GlyphVMobject.d.ts.map +1 -1
  214. package/dist/mobjects/text/MarkupText.d.ts +1 -1
  215. package/dist/mobjects/text/MarkupText.d.ts.map +1 -1
  216. package/dist/mobjects/text/MathJaxBundle.d.ts +7 -0
  217. package/dist/mobjects/text/MathJaxBundle.d.ts.map +1 -0
  218. package/dist/mobjects/text/MathJaxRenderer.d.ts +9 -0
  219. package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -1
  220. package/dist/mobjects/text/MathTex.d.ts +17 -4
  221. package/dist/mobjects/text/MathTex.d.ts.map +1 -1
  222. package/dist/mobjects/text/MathTexImage.d.ts +19 -4
  223. package/dist/mobjects/text/MathTexImage.d.ts.map +1 -1
  224. package/dist/mobjects/text/Paragraph.d.ts +1 -1
  225. package/dist/mobjects/text/Paragraph.d.ts.map +1 -1
  226. package/dist/mobjects/text/Tex.d.ts +2 -5
  227. package/dist/mobjects/text/Tex.d.ts.map +1 -1
  228. package/dist/mobjects/text/Text.d.ts +17 -1
  229. package/dist/mobjects/text/Text.d.ts.map +1 -1
  230. package/dist/mobjects/text/TextExtensions.d.ts +3 -12
  231. package/dist/mobjects/text/TextExtensions.d.ts.map +1 -1
  232. package/dist/mobjects/text/TextGlyphGroup.d.ts.map +1 -1
  233. package/dist/mobjects/text/Variable.d.ts +2 -4
  234. package/dist/mobjects/text/Variable.d.ts.map +1 -1
  235. package/dist/mobjects/text/katexStyles.d.ts.map +1 -1
  236. package/dist/mobjects/text/svgPathParser.d.ts.map +1 -1
  237. package/dist/mobjects/three-d/Arrow3D.d.ts +4 -3
  238. package/dist/mobjects/three-d/Arrow3D.d.ts.map +1 -1
  239. package/dist/mobjects/three-d/ConvexHull3D.d.ts +4 -3
  240. package/dist/mobjects/three-d/ConvexHull3D.d.ts.map +1 -1
  241. package/dist/mobjects/three-d/Cube.d.ts +6 -11
  242. package/dist/mobjects/three-d/Cube.d.ts.map +1 -1
  243. package/dist/mobjects/three-d/Cylinder.d.ts +5 -10
  244. package/dist/mobjects/three-d/Cylinder.d.ts.map +1 -1
  245. package/dist/mobjects/three-d/Line3D.d.ts +14 -59
  246. package/dist/mobjects/three-d/Line3D.d.ts.map +1 -1
  247. package/dist/mobjects/three-d/Mobject3D.d.ts +19 -0
  248. package/dist/mobjects/three-d/Mobject3D.d.ts.map +1 -0
  249. package/dist/mobjects/three-d/ParametricSurface.d.ts +1 -1
  250. package/dist/mobjects/three-d/ParametricSurface.d.ts.map +1 -1
  251. package/dist/mobjects/three-d/Polyhedra.d.ts +7 -6
  252. package/dist/mobjects/three-d/Polyhedra.d.ts.map +1 -1
  253. package/dist/mobjects/three-d/Sphere.d.ts +4 -6
  254. package/dist/mobjects/three-d/Sphere.d.ts.map +1 -1
  255. package/dist/mobjects/three-d/Surface3D.d.ts +41 -4
  256. package/dist/mobjects/three-d/Surface3D.d.ts.map +1 -1
  257. package/dist/mobjects/three-d/TexturedSurface.d.ts +4 -3
  258. package/dist/mobjects/three-d/TexturedSurface.d.ts.map +1 -1
  259. package/dist/mobjects/three-d/ThreeDAxes.d.ts +1 -1
  260. package/dist/mobjects/three-d/ThreeDAxes.d.ts.map +1 -1
  261. package/dist/mobjects/three-d/ThreeDExtensions.d.ts +7 -15
  262. package/dist/mobjects/three-d/ThreeDExtensions.d.ts.map +1 -1
  263. package/dist/mobjects/three-d/Torus.d.ts +4 -6
  264. package/dist/mobjects/three-d/Torus.d.ts.map +1 -1
  265. package/dist/mobjects/three-d/index.d.ts +1 -0
  266. package/dist/mobjects/three-d/index.d.ts.map +1 -1
  267. package/dist/mobjects/value-tracker/ValueTracker.d.ts +4 -2
  268. package/dist/mobjects/value-tracker/ValueTracker.d.ts.map +1 -1
  269. package/dist/player/Player.d.ts +36 -29
  270. package/dist/player/Player.d.ts.map +1 -1
  271. package/dist/player/PlayerUI.d.ts.map +1 -1
  272. package/dist/player/RecordingScene.d.ts +37 -0
  273. package/dist/player/RecordingScene.d.ts.map +1 -0
  274. package/dist/{src-CW4pfZdP.js → src-Bm3ebFjQ.js} +11003 -8942
  275. package/dist/test-setup/vitest-setup.d.ts +20 -0
  276. package/dist/test-setup/vitest-setup.d.ts.map +1 -0
  277. package/dist/utils/axis.d.ts +4 -0
  278. package/dist/utils/axis.d.ts.map +1 -0
  279. package/dist/utils/logger.d.ts +37 -0
  280. package/dist/utils/logger.d.ts.map +1 -1
  281. package/dist/utils/math.d.ts +4 -0
  282. package/dist/utils/math.d.ts.map +1 -1
  283. package/dist/utils/vectors.d.ts +54 -1
  284. package/dist/utils/vectors.d.ts.map +1 -1
  285. package/package.json +13 -8
  286. package/dist/AmsConfiguration-BMyoprhk.js +0 -847
  287. package/dist/AmsConfiguration-BdxxYRby.js +0 -847
  288. package/dist/ConfigMacrosConfiguration-B8X_JSVI.js +0 -46
  289. package/dist/ConfigMacrosConfiguration-DUxp6DUV.js +0 -46
  290. package/dist/Entities-B1o7gN0J.js +0 -429
  291. package/dist/Entities-C82lnCux.js +0 -429
  292. package/dist/Factory-BKM7FEO-.js +0 -107
  293. package/dist/Factory-D-whCqrb.js +0 -107
  294. package/dist/GifExporter-BrxY_q7e.js +0 -338
  295. package/dist/GifExporter-S2pbxMc5.js +0 -338
  296. package/dist/HtmlNode-BLmQ2r7U.js +0 -981
  297. package/dist/HtmlNode-DXGeKrcW.js +0 -981
  298. package/dist/InputJax-DL9oUQY4.js +0 -41
  299. package/dist/InputJax-DnDWM3Y0.js +0 -41
  300. package/dist/NewcommandConfiguration-BPjclFig.js +0 -32
  301. package/dist/NewcommandConfiguration-bJ6P1rBY.js +0 -32
  302. package/dist/NewcommandMethods-C_E3iLoK.js +0 -187
  303. package/dist/NewcommandMethods-Cb7yFm5P.js +0 -187
  304. package/dist/Options-DRlTi0G8.js +0 -63
  305. package/dist/Options-XPptO-6X.js +0 -63
  306. package/dist/ParseMethods-BMPfzfQC.js +0 -2636
  307. package/dist/ParseMethods-D3_HeS1K.js +0 -2636
  308. package/dist/Styles-Dky5jZUe.js +0 -293
  309. package/dist/Styles-J-6R3Vr8.js +0 -293
  310. package/dist/VideoExporter-6ikT3u9H.js +0 -102
  311. package/dist/VideoExporter-D_RxVahH.js +0 -102
  312. package/dist/html-DU38zqaN.js +0 -829
  313. package/dist/html-DjkQuIHJ.js +0 -829
  314. package/dist/lengths-CP7zmbxJ.js +0 -54
  315. package/dist/lengths-D4tR1gYA.js +0 -54
  316. package/dist/liteAdaptor-BLgze3o2.js +0 -616
  317. package/dist/liteAdaptor-zXv-jsO1.js +0 -616
  318. package/dist/mathjax-7LgaTjtj.js +0 -121
  319. package/dist/mathjax-CoSFlQ0H.js +0 -121
  320. package/dist/mo-C5uLT3Z9.js +0 -2675
  321. package/dist/mo-CNYDGAsg.js +0 -2675
  322. package/dist/rolldown-runtime-DnwLefa7.js +0 -23
  323. package/dist/svg-CYweEoZ1.js +0 -28698
  324. package/dist/tex-C4_queV-.js +0 -1423
  325. package/dist/tex-CA5MLeEe.js +0 -1423
@@ -1,8 +1,9 @@
1
- import { Vector3Tuple, MobjectStyle } from './MobjectTypes';
1
+ import { Vector3Tuple, MobjectStyle, AxisOrOptions } from './MobjectTypes';
2
+ import { AnimateProxy } from './AnimateProxy';
2
3
  import * as THREE from 'three';
3
4
  /** @internal Called by AnimateProxy module to register the factory. */
4
- 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';
5
+ export declare function registerAnimateProxy(factory: (mobject: Mobject) => AnimateProxy): void;
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';
6
7
  /**
7
8
  * Updater function type that runs every frame.
8
9
  * Defined here (not in MobjectTypes) to reference the concrete Mobject class
@@ -30,7 +31,19 @@ export declare abstract class Mobject {
30
31
  protected _disableChildZLayering: boolean;
31
32
  protected _style: MobjectStyle;
32
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
+ */
33
45
  _dirty: boolean;
46
+ _isVMobject: boolean;
34
47
  private _updaters;
35
48
  /** Saved mobject copy (used by Restore animation). Set by saveState(). */
36
49
  savedState: Mobject | null;
@@ -55,17 +68,49 @@ export declare abstract class Mobject {
55
68
  get strokeColor(): string | undefined;
56
69
  set strokeColor(color: string);
57
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
+ */
58
85
  moveTo(target: Vector3Tuple | Mobject, alignedEdge?: Vector3Tuple): this;
59
86
  /**
60
87
  * Rotate the mobject by angle around an axis.
61
88
  * Accepts aboutPoint or aboutEdge to specify the rotation center.
62
89
  */
63
- rotate(angle: number, axisOrOptions?: Vector3Tuple | {
64
- axis?: Vector3Tuple;
65
- aboutPoint?: Vector3Tuple;
66
- aboutEdge?: Vector3Tuple;
67
- }): this;
90
+ rotate(angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): this;
68
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;
69
114
  flip(axis?: Vector3Tuple, options?: {
70
115
  aboutPoint?: Vector3Tuple;
71
116
  aboutEdge?: Vector3Tuple;
@@ -80,11 +125,89 @@ export declare abstract class Mobject {
80
125
  }): this;
81
126
  add(...mobjects: Mobject[]): this;
82
127
  remove(...mobjects: Mobject[]): this;
83
- copy(): Mobject;
84
- 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;
85
165
  become(other: Mobject): this;
86
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
+ */
87
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
+ */
88
211
  getBounds(): {
89
212
  min: {
90
213
  x: number;
@@ -100,12 +223,15 @@ export declare abstract class Mobject {
100
223
  nextTo(target: Mobject | Vector3Tuple, direction?: Vector3Tuple, buff?: number): this;
101
224
  alignTo(target: Mobject | Vector3Tuple, direction: Vector3Tuple): this;
102
225
  moveToAligned(target: Mobject | Vector3Tuple, alignedEdge?: Vector3Tuple): this;
226
+ /** @returns World-space edge position (center + half-bounding-box offset). */
103
227
  _getEdgeInDirection(direction: Vector3Tuple): Vector3Tuple;
104
228
  getBoundingBox(): {
105
229
  width: number;
106
230
  height: number;
107
231
  depth: number;
108
232
  };
233
+ getWidth(): number;
234
+ getHeight(): number;
109
235
  /** @deprecated Use getBoundingBox() instead. */
110
236
  _getBoundingBox(): {
111
237
  width: number;
@@ -132,15 +258,102 @@ export declare abstract class Mobject {
132
258
  * scene.play(circle.animate.setColor('#ff0000').scale(2));
133
259
  * ```
134
260
  */
135
- get animate(): any;
261
+ get animate(): AnimateProxy;
136
262
  toEdge(direction: Vector3Tuple, buff?: number, frameDimensions?: [number, number]): this;
137
263
  toCorner(direction?: Vector3Tuple, buff?: number, frameDimensions?: [number, number]): this;
264
+ /**
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.
273
+ *
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}).
279
+ *
280
+ * @post old.getPoints()[i] === this.getPoints()[i] // world geometry preserved, every descendant
281
+ * @post this._computeOwnMatrix() === Identity // container/point nodes; meshes: own === worldMatrix
282
+ */
283
+ abstract normalizeTransform(worldMatrix?: THREE.Matrix4): this;
284
+ /**
285
+ * Recurse `normalizeTransform` into children, composing each child's own
286
+ * matrix onto `worldMatrix` so every descendant flattens into the same frame.
287
+ */
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;
138
303
  _syncToThree(): void;
139
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
+ */
140
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
+ */
141
331
  _markDirtyUpward(): void;
142
332
  get isDirty(): boolean;
333
+ /** The topmost ancestor (the node with no parent). */
334
+ _root(): Mobject;
143
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;
144
357
  /**
145
358
  * Number of visible display meshes this mobject contributes when rendered.
146
359
  * Used for Transform eligibility checks without forcing Three.js object creation.
@@ -156,6 +369,21 @@ export declare abstract class Mobject {
156
369
  hasUpdaters(): boolean;
157
370
  getUpdaters(): UpdaterFunction[];
158
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;
159
387
  applyFunction(fn: (point: number[]) => number[], options?: {
160
388
  aboutPoint?: Vector3Tuple;
161
389
  aboutEdge?: Vector3Tuple;
@@ -168,6 +396,13 @@ export declare abstract class Mobject {
168
396
  generateTarget(): Mobject;
169
397
  saveState(): this;
170
398
  restoreState(): boolean;
399
+ /**
400
+ * Hook for the Scene to propagate renderer dimensions and camera frame
401
+ * width to mobjects that need them (e.g. shader-resolution uniforms).
402
+ * Default is a no-op; subclasses override as needed.
403
+ * @internal
404
+ */
405
+ _setSceneContext(_rendererWidth: number, _rendererHeight: number, _frameWidth: number): void;
171
406
  dispose(): void;
172
407
  }
173
408
  //# sourceMappingURL=Mobject.d.ts.map
@@ -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":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAKnB,MAAM,gBAAgB,CAAC;AAsBxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQnD,uEAAuE;AACvE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,YAAY,GAAG,IAAI,CAEtF;AAGD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,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;;;;;;;;;;OAUG;IACH,MAAM,EAAE,OAAO,CAAQ;IACvB,WAAW,EAAE,OAAO,CAAS;IAC7B,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;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,IAAI;IA8CxE;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,IAAI;IAsCzE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,YAAwB,GAAG,IAAI;IAItE;;;;;;;OAOG;IACH,SAAS,CAAC,4BAA4B,CACpC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,YAAY,GACvB,IAAI;IAqBP;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,YAAY,GAAG,YAAY;IAKtD;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,YAAY,GAAG,YAAY;IAMtD,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;IA6BP,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;IAgBP,GAAG,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAejC,MAAM,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAiBpC;;;OAGG;IACH,qBAAqB,IAAI,OAAO;IAWhC;;;;;;OAMG;IACH,SAAS,CAAC,uBAAuB,CAC/B,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3D,IAAI;IAgCP;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,IAAI,IAAI,OAAO;IAExB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK5B,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,OAAe,GAAG,IAAI;IAUxD;;;OAGG;IACH,OAAO,IAAI,OAAO;IAIlB;;;;;OAKG;IACH,SAAS,IAAI,YAAY;IAczB;;;;;;;OAOG;IACH,cAAc,IAAI,YAAY;IAO9B;;;;;;;;;;OAUG;IACH,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAOpC;;;;;;;;;;OAUG;IACH,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;IAcD,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,8EAA8E;IAC9E,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,QAAQ,IAAI,MAAM;IAGlB,SAAS,IAAI,MAAM;IAGnB,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;IACH,IAAI,OAAO,IAAI,YAAY,CAK1B;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;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI;IAE9D;;;OAGG;IACH,SAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI;IAMlE;;;;;OAKG;IACH,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI;IAS/D;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI;IAO1D,YAAY,IAAI,IAAI;IAsBpB,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAEtC;;;;;;;;;;OAUG;IACH,qBAAqB,IAAI,IAAI;IAO7B;;;;;;;OAOG;IACH,UAAU,IAAI,IAAI;IAMlB;;;;OAIG;IACH,gBAAgB,IAAI,IAAI;IAIxB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,sDAAsD;IACtD,KAAK,IAAI,OAAO;IAIhB,cAAc,IAAI,KAAK,CAAC,QAAQ;IAMhC;;;;;;;;;;;OAWG;IACH;;;;;;OAMG;IACH,UAAU,IAAI,KAAK,CAAC,OAAO;IAK3B,YAAY,IAAI,KAAK,CAAC,OAAO;IAQ7B;;;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;;;;;;OAMG;IACH,uBAAuB,CACrB,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,EAAE,EACnC,UAAU,GAAE,MAAM,EAAc,GAC/B,IAAI;IAOP;;;;;OAKG;IACH,SAAS,CAAC,wBAAwB,CAChC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,EAAE,EACpC,WAAW,EAAE,MAAM,EAAE,GACpB,IAAI;IAEP,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;;;;;OAKG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAI5F,OAAO,IAAI,IAAI;CAehB"}
@@ -1,12 +1,4 @@
1
1
  import { MobjectLike, Vector3Tuple } 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 | {
7
- axis?: Vector3Tuple;
8
- aboutPoint?: Vector3Tuple;
9
- }): void;
10
2
  /**
11
3
  * Get the center point of a mobject.
12
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,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,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"}
@@ -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;
@@ -46,22 +54,34 @@ export interface MobjectLike {
46
54
  __savedMobjectState: unknown;
47
55
  _threeObject: THREE.Object3D | null;
48
56
  _dirty: boolean;
57
+ _isVMobject: boolean;
49
58
  _markDirty(): void;
50
59
  getThreeObject(): THREE.Object3D;
60
+ _syncWorldMatrices(): THREE.Object3D;
51
61
  getCenter(): Vector3Tuple;
62
+ getBounds(): {
63
+ min: {
64
+ x: number;
65
+ y: number;
66
+ z: number;
67
+ };
68
+ max: {
69
+ x: number;
70
+ y: number;
71
+ z: number;
72
+ };
73
+ };
52
74
  getBoundingBox(): {
53
75
  width: number;
54
76
  height: number;
55
77
  depth: number;
56
78
  };
57
79
  moveTo(target: Vector3Tuple | MobjectLike, alignedEdge?: Vector3Tuple): MobjectLike;
58
- rotate(angle: number, axisOrOptions?: Vector3Tuple | {
59
- axis?: Vector3Tuple;
60
- aboutPoint?: Vector3Tuple;
61
- }): MobjectLike;
80
+ rotate(angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): MobjectLike;
62
81
  copy(): MobjectLike;
63
82
  restoreState(): boolean;
64
83
  getFamily(): MobjectLike[];
84
+ applyFunctionAboutPoint(fn: (pts: number[][]) => number[][], aboutPoint?: number[]): MobjectLike;
65
85
  }
66
86
  /**
67
87
  * Interface for duck-typing VMobject properties from Mobject base class.
@@ -75,10 +95,15 @@ export interface VMobjectLike {
75
95
  x: number;
76
96
  y: number;
77
97
  }[]): void;
98
+ getLocalPoints(): number[][];
78
99
  getPoints(): number[][];
79
100
  }
80
101
  /**
81
102
  * Type guard to check if a MobjectLike has VMobject-like point data.
82
103
  */
83
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;
84
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":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B,CAAC;AAGF,eAAO,MAAM,EAAE,EAAE,YAAwB,CAAC;AAC1C,eAAO,MAAM,IAAI,EAAE,YAAyB,CAAC;AAC7C,eAAO,MAAM,IAAI,EAAE,YAAyB,CAAC;AAC7C,eAAO,MAAM,KAAK,EAAE,YAAwB,CAAC;AAC7C,eAAO,MAAM,GAAG,EAAE,YAAwB,CAAC;AAC3C,eAAO,MAAM,EAAE,EAAE,YAAyB,CAAC;AAC3C,eAAO,MAAM,MAAM,EAAE,YAAwB,CAAC;AAG9C,eAAO,MAAM,EAAE,EAAE,YAAyB,CAAC;AAC3C,eAAO,MAAM,EAAE,EAAE,YAAwB,CAAC;AAC1C,eAAO,MAAM,EAAE,EAAE,YAA0B,CAAC;AAC5C,eAAO,MAAM,EAAE,EAAE,YAAyB,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC;IACtB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,IAAI,IAAI,CAAC;IACnB,cAAc,IAAI,KAAK,CAAC,QAAQ,CAAC;IACjC,kBAAkB,IAAI,KAAK,CAAC,QAAQ,CAAC;IACrC,SAAS,IAAI,YAAY,CAAC;IAC1B,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,CAAC;IACF,cAAc,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACpF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,WAAW,CAAC;IACjF,IAAI,IAAI,WAAW,CAAC;IACpB,YAAY,IAAI,OAAO,CAAC;IACxB,SAAS,IAAI,WAAW,EAAE,CAAC;IAC3B,uBAAuB,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;CAClG;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IACjE,cAAc,IAAI,MAAM,EAAE,EAAE,CAAC;IAC7B,SAAS,IAAI,MAAM,EAAE,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,YAAY,CAE9E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,YAAY,CAE1E"}
@@ -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"}
@@ -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;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"}