manim-web 0.2.0

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 (356) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +109 -0
  3. package/dist/animation/Animation.d.ts +69 -0
  4. package/dist/animation/Animation.d.ts.map +1 -0
  5. package/dist/animation/AnimationGroup.d.ts +48 -0
  6. package/dist/animation/AnimationGroup.d.ts.map +1 -0
  7. package/dist/animation/LaggedStart.d.ts +25 -0
  8. package/dist/animation/LaggedStart.d.ts.map +1 -0
  9. package/dist/animation/MaintainPositionRelativeTo.d.ts +23 -0
  10. package/dist/animation/MaintainPositionRelativeTo.d.ts.map +1 -0
  11. package/dist/animation/Succession.d.ts +19 -0
  12. package/dist/animation/Succession.d.ts.map +1 -0
  13. package/dist/animation/Timeline.d.ts +89 -0
  14. package/dist/animation/Timeline.d.ts.map +1 -0
  15. package/dist/animation/UpdateFromAlphaFunc.d.ts +32 -0
  16. package/dist/animation/UpdateFromAlphaFunc.d.ts.map +1 -0
  17. package/dist/animation/UpdateFromFunc.d.ts +30 -0
  18. package/dist/animation/UpdateFromFunc.d.ts.map +1 -0
  19. package/dist/animation/changing/index.d.ts +213 -0
  20. package/dist/animation/changing/index.d.ts.map +1 -0
  21. package/dist/animation/composition/LaggedStartMap.d.ts +47 -0
  22. package/dist/animation/composition/LaggedStartMap.d.ts.map +1 -0
  23. package/dist/animation/composition/index.d.ts +5 -0
  24. package/dist/animation/composition/index.d.ts.map +1 -0
  25. package/dist/animation/creation/Create.d.ts +232 -0
  26. package/dist/animation/creation/Create.d.ts.map +1 -0
  27. package/dist/animation/creation/CreationExtensions.d.ts +127 -0
  28. package/dist/animation/creation/CreationExtensions.d.ts.map +1 -0
  29. package/dist/animation/creation/TypeWithCursor.d.ts +133 -0
  30. package/dist/animation/creation/TypeWithCursor.d.ts.map +1 -0
  31. package/dist/animation/creation/index.d.ts +4 -0
  32. package/dist/animation/creation/index.d.ts.map +1 -0
  33. package/dist/animation/fading/FadeIn.d.ts +31 -0
  34. package/dist/animation/fading/FadeIn.d.ts.map +1 -0
  35. package/dist/animation/fading/FadeOut.d.ts +32 -0
  36. package/dist/animation/fading/FadeOut.d.ts.map +1 -0
  37. package/dist/animation/fading/index.d.ts +3 -0
  38. package/dist/animation/fading/index.d.ts.map +1 -0
  39. package/dist/animation/growing/index.d.ts +103 -0
  40. package/dist/animation/growing/index.d.ts.map +1 -0
  41. package/dist/animation/index.d.ts +20 -0
  42. package/dist/animation/index.d.ts.map +1 -0
  43. package/dist/animation/indication/ApplyWave.d.ts +51 -0
  44. package/dist/animation/indication/ApplyWave.d.ts.map +1 -0
  45. package/dist/animation/indication/Blink.d.ts +34 -0
  46. package/dist/animation/indication/Blink.d.ts.map +1 -0
  47. package/dist/animation/indication/Circumscribe.d.ts +54 -0
  48. package/dist/animation/indication/Circumscribe.d.ts.map +1 -0
  49. package/dist/animation/indication/Flash.d.ts +45 -0
  50. package/dist/animation/indication/Flash.d.ts.map +1 -0
  51. package/dist/animation/indication/FocusOn.d.ts +79 -0
  52. package/dist/animation/indication/FocusOn.d.ts.map +1 -0
  53. package/dist/animation/indication/Indicate.d.ts +30 -0
  54. package/dist/animation/indication/Indicate.d.ts.map +1 -0
  55. package/dist/animation/indication/ShowCreationThenDestruction.d.ts +26 -0
  56. package/dist/animation/indication/ShowCreationThenDestruction.d.ts.map +1 -0
  57. package/dist/animation/indication/ShowPassingFlash.d.ts +47 -0
  58. package/dist/animation/indication/ShowPassingFlash.d.ts.map +1 -0
  59. package/dist/animation/indication/ShowPassingFlashWithThinningStrokeWidth.d.ts +21 -0
  60. package/dist/animation/indication/ShowPassingFlashWithThinningStrokeWidth.d.ts.map +1 -0
  61. package/dist/animation/indication/Wiggle.d.ts +48 -0
  62. package/dist/animation/indication/Wiggle.d.ts.map +1 -0
  63. package/dist/animation/indication/WiggleOutThenIn.d.ts +44 -0
  64. package/dist/animation/indication/WiggleOutThenIn.d.ts.map +1 -0
  65. package/dist/animation/indication/index.d.ts +20 -0
  66. package/dist/animation/indication/index.d.ts.map +1 -0
  67. package/dist/animation/movement/Homotopy.d.ts +204 -0
  68. package/dist/animation/movement/Homotopy.d.ts.map +1 -0
  69. package/dist/animation/movement/MoveAlongPath.d.ts +48 -0
  70. package/dist/animation/movement/MoveAlongPath.d.ts.map +1 -0
  71. package/dist/animation/movement/Rotate.d.ts +47 -0
  72. package/dist/animation/movement/Rotate.d.ts.map +1 -0
  73. package/dist/animation/movement/Scale.d.ts +74 -0
  74. package/dist/animation/movement/Scale.d.ts.map +1 -0
  75. package/dist/animation/movement/Shift.d.ts +74 -0
  76. package/dist/animation/movement/Shift.d.ts.map +1 -0
  77. package/dist/animation/movement/index.d.ts +6 -0
  78. package/dist/animation/movement/index.d.ts.map +1 -0
  79. package/dist/animation/numbers/index.d.ts +152 -0
  80. package/dist/animation/numbers/index.d.ts.map +1 -0
  81. package/dist/animation/speed/index.d.ts +114 -0
  82. package/dist/animation/speed/index.d.ts.map +1 -0
  83. package/dist/animation/transform/ApplyPointwiseFunction.d.ts +23 -0
  84. package/dist/animation/transform/ApplyPointwiseFunction.d.ts.map +1 -0
  85. package/dist/animation/transform/Transform.d.ts +89 -0
  86. package/dist/animation/transform/Transform.d.ts.map +1 -0
  87. package/dist/animation/transform/TransformExtensions.d.ts +444 -0
  88. package/dist/animation/transform/TransformExtensions.d.ts.map +1 -0
  89. package/dist/animation/transform/TransformMatching.d.ts +138 -0
  90. package/dist/animation/transform/TransformMatching.d.ts.map +1 -0
  91. package/dist/animation/transform/index.d.ts +5 -0
  92. package/dist/animation/transform/index.d.ts.map +1 -0
  93. package/dist/animation/utility/index.d.ts +171 -0
  94. package/dist/animation/utility/index.d.ts.map +1 -0
  95. package/dist/constants/colors.d.ts +72 -0
  96. package/dist/constants/colors.d.ts.map +1 -0
  97. package/dist/constants/colors.test.d.ts +2 -0
  98. package/dist/constants/colors.test.d.ts.map +1 -0
  99. package/dist/constants/directions.test.d.ts +2 -0
  100. package/dist/constants/directions.test.d.ts.map +1 -0
  101. package/dist/constants/index.d.ts +16 -0
  102. package/dist/constants/index.d.ts.map +1 -0
  103. package/dist/core/AudioManager.d.ts +203 -0
  104. package/dist/core/AudioManager.d.ts.map +1 -0
  105. package/dist/core/Camera.d.ts +172 -0
  106. package/dist/core/Camera.d.ts.map +1 -0
  107. package/dist/core/Camera2DFrame.d.ts +31 -0
  108. package/dist/core/Camera2DFrame.d.ts.map +1 -0
  109. package/dist/core/CameraExtensions.d.ts +420 -0
  110. package/dist/core/CameraExtensions.d.ts.map +1 -0
  111. package/dist/core/CameraFrame.d.ts +178 -0
  112. package/dist/core/CameraFrame.d.ts.map +1 -0
  113. package/dist/core/Group.d.ts +139 -0
  114. package/dist/core/Group.d.ts.map +1 -0
  115. package/dist/core/InteractiveScene.d.ts +122 -0
  116. package/dist/core/InteractiveScene.d.ts.map +1 -0
  117. package/dist/core/Lighting.d.ts +128 -0
  118. package/dist/core/Lighting.d.ts.map +1 -0
  119. package/dist/core/Mobject.d.ts +488 -0
  120. package/dist/core/Mobject.d.ts.map +1 -0
  121. package/dist/core/Renderer.d.ts +84 -0
  122. package/dist/core/Renderer.d.ts.map +1 -0
  123. package/dist/core/Scene.d.ts +353 -0
  124. package/dist/core/Scene.d.ts.map +1 -0
  125. package/dist/core/SceneExtensions.d.ts +640 -0
  126. package/dist/core/SceneExtensions.d.ts.map +1 -0
  127. package/dist/core/SceneExtensions.test.d.ts +2 -0
  128. package/dist/core/SceneExtensions.test.d.ts.map +1 -0
  129. package/dist/core/StateManager.d.ts +193 -0
  130. package/dist/core/StateManager.d.ts.map +1 -0
  131. package/dist/core/VDict.d.ts +229 -0
  132. package/dist/core/VDict.d.ts.map +1 -0
  133. package/dist/core/VGroup.d.ts +200 -0
  134. package/dist/core/VGroup.d.ts.map +1 -0
  135. package/dist/core/VMobject.d.ts +419 -0
  136. package/dist/core/VMobject.d.ts.map +1 -0
  137. package/dist/core/index.d.ts +16 -0
  138. package/dist/core/index.d.ts.map +1 -0
  139. package/dist/examples.test.d.ts +2 -0
  140. package/dist/examples.test.d.ts.map +1 -0
  141. package/dist/export/GifExporter.d.ts +40 -0
  142. package/dist/export/GifExporter.d.ts.map +1 -0
  143. package/dist/export/VideoExporter.d.ts +135 -0
  144. package/dist/export/VideoExporter.d.ts.map +1 -0
  145. package/dist/export/index.d.ts +3 -0
  146. package/dist/export/index.d.ts.map +1 -0
  147. package/dist/index.d.ts +65 -0
  148. package/dist/index.d.ts.map +1 -0
  149. package/dist/index.js +49064 -0
  150. package/dist/integrations/index.d.ts +1 -0
  151. package/dist/integrations/index.d.ts.map +1 -0
  152. package/dist/integrations/react.d.ts +144 -0
  153. package/dist/integrations/react.d.ts.map +1 -0
  154. package/dist/integrations/react.js +570 -0
  155. package/dist/integrations/vue.d.ts +249 -0
  156. package/dist/integrations/vue.d.ts.map +1 -0
  157. package/dist/integrations/vue.js +560 -0
  158. package/dist/interaction/Clickable.d.ts +71 -0
  159. package/dist/interaction/Clickable.d.ts.map +1 -0
  160. package/dist/interaction/Controls.d.ts +174 -0
  161. package/dist/interaction/Controls.d.ts.map +1 -0
  162. package/dist/interaction/Draggable.d.ts +88 -0
  163. package/dist/interaction/Draggable.d.ts.map +1 -0
  164. package/dist/interaction/Hoverable.d.ts +82 -0
  165. package/dist/interaction/Hoverable.d.ts.map +1 -0
  166. package/dist/interaction/OrbitControls.d.ts +139 -0
  167. package/dist/interaction/OrbitControls.d.ts.map +1 -0
  168. package/dist/interaction/PlaybackControls.d.ts +113 -0
  169. package/dist/interaction/PlaybackControls.d.ts.map +1 -0
  170. package/dist/interaction/SelectionManager.d.ts +125 -0
  171. package/dist/interaction/SelectionManager.d.ts.map +1 -0
  172. package/dist/interaction/index.d.ts +12 -0
  173. package/dist/interaction/index.d.ts.map +1 -0
  174. package/dist/mobjects/fractals/MandelbrotSet.d.ts +92 -0
  175. package/dist/mobjects/fractals/MandelbrotSet.d.ts.map +1 -0
  176. package/dist/mobjects/fractals/NewtonFractal.d.ts +121 -0
  177. package/dist/mobjects/fractals/NewtonFractal.d.ts.map +1 -0
  178. package/dist/mobjects/fractals/index.d.ts +3 -0
  179. package/dist/mobjects/fractals/index.d.ts.map +1 -0
  180. package/dist/mobjects/frame/index.d.ts +188 -0
  181. package/dist/mobjects/frame/index.d.ts.map +1 -0
  182. package/dist/mobjects/geometry/AngleShapes.d.ts +326 -0
  183. package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -0
  184. package/dist/mobjects/geometry/Arc.d.ts +111 -0
  185. package/dist/mobjects/geometry/Arc.d.ts.map +1 -0
  186. package/dist/mobjects/geometry/ArcBetweenPoints.d.ts +68 -0
  187. package/dist/mobjects/geometry/ArcBetweenPoints.d.ts.map +1 -0
  188. package/dist/mobjects/geometry/ArcShapes.d.ts +659 -0
  189. package/dist/mobjects/geometry/ArcShapes.d.ts.map +1 -0
  190. package/dist/mobjects/geometry/Arrow.d.ts +130 -0
  191. package/dist/mobjects/geometry/Arrow.d.ts.map +1 -0
  192. package/dist/mobjects/geometry/ArrowTips.d.ts +238 -0
  193. package/dist/mobjects/geometry/ArrowTips.d.ts.map +1 -0
  194. package/dist/mobjects/geometry/BooleanOperations.d.ts +163 -0
  195. package/dist/mobjects/geometry/BooleanOperations.d.ts.map +1 -0
  196. package/dist/mobjects/geometry/Circle.d.ts +92 -0
  197. package/dist/mobjects/geometry/Circle.d.ts.map +1 -0
  198. package/dist/mobjects/geometry/CubicBezier.d.ts +126 -0
  199. package/dist/mobjects/geometry/CubicBezier.d.ts.map +1 -0
  200. package/dist/mobjects/geometry/DashedLine.d.ts +109 -0
  201. package/dist/mobjects/geometry/DashedLine.d.ts.map +1 -0
  202. package/dist/mobjects/geometry/DashedVMobject.d.ts +96 -0
  203. package/dist/mobjects/geometry/DashedVMobject.d.ts.map +1 -0
  204. package/dist/mobjects/geometry/Dot.d.ts +100 -0
  205. package/dist/mobjects/geometry/Dot.d.ts.map +1 -0
  206. package/dist/mobjects/geometry/LabeledGeometry.d.ts +372 -0
  207. package/dist/mobjects/geometry/LabeledGeometry.d.ts.map +1 -0
  208. package/dist/mobjects/geometry/Line.d.ts +83 -0
  209. package/dist/mobjects/geometry/Line.d.ts.map +1 -0
  210. package/dist/mobjects/geometry/Polygon.d.ts +155 -0
  211. package/dist/mobjects/geometry/Polygon.d.ts.map +1 -0
  212. package/dist/mobjects/geometry/PolygonExtensions.d.ts +412 -0
  213. package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -0
  214. package/dist/mobjects/geometry/Rectangle.d.ts +123 -0
  215. package/dist/mobjects/geometry/Rectangle.d.ts.map +1 -0
  216. package/dist/mobjects/geometry/ShapeMatchers.d.ts +252 -0
  217. package/dist/mobjects/geometry/ShapeMatchers.d.ts.map +1 -0
  218. package/dist/mobjects/geometry/index.d.ts +25 -0
  219. package/dist/mobjects/geometry/index.d.ts.map +1 -0
  220. package/dist/mobjects/graph/index.d.ts +425 -0
  221. package/dist/mobjects/graph/index.d.ts.map +1 -0
  222. package/dist/mobjects/graphing/Axes.d.ts +254 -0
  223. package/dist/mobjects/graphing/Axes.d.ts.map +1 -0
  224. package/dist/mobjects/graphing/BarChart.d.ts +241 -0
  225. package/dist/mobjects/graphing/BarChart.d.ts.map +1 -0
  226. package/dist/mobjects/graphing/ComplexPlane.d.ts +311 -0
  227. package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -0
  228. package/dist/mobjects/graphing/FunctionGraph.d.ts +123 -0
  229. package/dist/mobjects/graphing/FunctionGraph.d.ts.map +1 -0
  230. package/dist/mobjects/graphing/ImplicitFunction.d.ts +131 -0
  231. package/dist/mobjects/graphing/ImplicitFunction.d.ts.map +1 -0
  232. package/dist/mobjects/graphing/NumberLine.d.ts +195 -0
  233. package/dist/mobjects/graphing/NumberLine.d.ts.map +1 -0
  234. package/dist/mobjects/graphing/NumberPlane.d.ts +91 -0
  235. package/dist/mobjects/graphing/NumberPlane.d.ts.map +1 -0
  236. package/dist/mobjects/graphing/ParametricFunction.d.ts +111 -0
  237. package/dist/mobjects/graphing/ParametricFunction.d.ts.map +1 -0
  238. package/dist/mobjects/graphing/Vector.d.ts +121 -0
  239. package/dist/mobjects/graphing/Vector.d.ts.map +1 -0
  240. package/dist/mobjects/graphing/VectorField.d.ts +321 -0
  241. package/dist/mobjects/graphing/VectorField.d.ts.map +1 -0
  242. package/dist/mobjects/graphing/index.d.ts +18 -0
  243. package/dist/mobjects/graphing/index.d.ts.map +1 -0
  244. package/dist/mobjects/image/index.d.ts +223 -0
  245. package/dist/mobjects/image/index.d.ts.map +1 -0
  246. package/dist/mobjects/matrix/Matrix.d.ts +260 -0
  247. package/dist/mobjects/matrix/Matrix.d.ts.map +1 -0
  248. package/dist/mobjects/matrix/index.d.ts +8 -0
  249. package/dist/mobjects/matrix/index.d.ts.map +1 -0
  250. package/dist/mobjects/point/index.d.ts +707 -0
  251. package/dist/mobjects/point/index.d.ts.map +1 -0
  252. package/dist/mobjects/probability/DiceFace.d.ts +137 -0
  253. package/dist/mobjects/probability/DiceFace.d.ts.map +1 -0
  254. package/dist/mobjects/probability/SampleSpace.d.ts +267 -0
  255. package/dist/mobjects/probability/SampleSpace.d.ts.map +1 -0
  256. package/dist/mobjects/probability/index.d.ts +9 -0
  257. package/dist/mobjects/probability/index.d.ts.map +1 -0
  258. package/dist/mobjects/svg/Brace.d.ts +308 -0
  259. package/dist/mobjects/svg/Brace.d.ts.map +1 -0
  260. package/dist/mobjects/svg/SVGMobject.d.ts +64 -0
  261. package/dist/mobjects/svg/SVGMobject.d.ts.map +1 -0
  262. package/dist/mobjects/svg/index.d.ts +10 -0
  263. package/dist/mobjects/svg/index.d.ts.map +1 -0
  264. package/dist/mobjects/table/Table.d.ts +315 -0
  265. package/dist/mobjects/table/Table.d.ts.map +1 -0
  266. package/dist/mobjects/table/index.d.ts +8 -0
  267. package/dist/mobjects/table/index.d.ts.map +1 -0
  268. package/dist/mobjects/text/Code.d.ts +244 -0
  269. package/dist/mobjects/text/Code.d.ts.map +1 -0
  270. package/dist/mobjects/text/DecimalNumber.d.ts +199 -0
  271. package/dist/mobjects/text/DecimalNumber.d.ts.map +1 -0
  272. package/dist/mobjects/text/GlyphVMobject.d.ts +76 -0
  273. package/dist/mobjects/text/GlyphVMobject.d.ts.map +1 -0
  274. package/dist/mobjects/text/MarkupText.d.ts +161 -0
  275. package/dist/mobjects/text/MarkupText.d.ts.map +1 -0
  276. package/dist/mobjects/text/MathJaxRenderer.d.ts +49 -0
  277. package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -0
  278. package/dist/mobjects/text/MathTex.d.ts +242 -0
  279. package/dist/mobjects/text/MathTex.d.ts.map +1 -0
  280. package/dist/mobjects/text/Paragraph.d.ts +86 -0
  281. package/dist/mobjects/text/Paragraph.d.ts.map +1 -0
  282. package/dist/mobjects/text/Tex.d.ts +40 -0
  283. package/dist/mobjects/text/Tex.d.ts.map +1 -0
  284. package/dist/mobjects/text/Text.d.ts +171 -0
  285. package/dist/mobjects/text/Text.d.ts.map +1 -0
  286. package/dist/mobjects/text/TextExtensions.d.ts +383 -0
  287. package/dist/mobjects/text/TextExtensions.d.ts.map +1 -0
  288. package/dist/mobjects/text/TextGlyphGroup.d.ts +48 -0
  289. package/dist/mobjects/text/TextGlyphGroup.d.ts.map +1 -0
  290. package/dist/mobjects/text/Variable.d.ts +160 -0
  291. package/dist/mobjects/text/Variable.d.ts.map +1 -0
  292. package/dist/mobjects/text/index.d.ts +21 -0
  293. package/dist/mobjects/text/index.d.ts.map +1 -0
  294. package/dist/mobjects/text/katex-styles.d.ts +23 -0
  295. package/dist/mobjects/text/katex-styles.d.ts.map +1 -0
  296. package/dist/mobjects/text/svgPathParser.d.ts +39 -0
  297. package/dist/mobjects/text/svgPathParser.d.ts.map +1 -0
  298. package/dist/mobjects/three-d/Arrow3D.d.ts +136 -0
  299. package/dist/mobjects/three-d/Arrow3D.d.ts.map +1 -0
  300. package/dist/mobjects/three-d/Cube.d.ts +186 -0
  301. package/dist/mobjects/three-d/Cube.d.ts.map +1 -0
  302. package/dist/mobjects/three-d/Cylinder.d.ts +189 -0
  303. package/dist/mobjects/three-d/Cylinder.d.ts.map +1 -0
  304. package/dist/mobjects/three-d/Line3D.d.ts +100 -0
  305. package/dist/mobjects/three-d/Line3D.d.ts.map +1 -0
  306. package/dist/mobjects/three-d/ParametricSurface.d.ts +86 -0
  307. package/dist/mobjects/three-d/ParametricSurface.d.ts.map +1 -0
  308. package/dist/mobjects/three-d/Polyhedra.d.ts +271 -0
  309. package/dist/mobjects/three-d/Polyhedra.d.ts.map +1 -0
  310. package/dist/mobjects/three-d/Sphere.d.ts +100 -0
  311. package/dist/mobjects/three-d/Sphere.d.ts.map +1 -0
  312. package/dist/mobjects/three-d/Surface3D.d.ts +156 -0
  313. package/dist/mobjects/three-d/Surface3D.d.ts.map +1 -0
  314. package/dist/mobjects/three-d/TexturedSurface.d.ts +208 -0
  315. package/dist/mobjects/three-d/TexturedSurface.d.ts.map +1 -0
  316. package/dist/mobjects/three-d/ThreeDAxes.d.ts +172 -0
  317. package/dist/mobjects/three-d/ThreeDAxes.d.ts.map +1 -0
  318. package/dist/mobjects/three-d/ThreeDExtensions.d.ts +335 -0
  319. package/dist/mobjects/three-d/ThreeDExtensions.d.ts.map +1 -0
  320. package/dist/mobjects/three-d/Torus.d.ts +123 -0
  321. package/dist/mobjects/three-d/Torus.d.ts.map +1 -0
  322. package/dist/mobjects/three-d/index.d.ts +19 -0
  323. package/dist/mobjects/three-d/index.d.ts.map +1 -0
  324. package/dist/mobjects/value-tracker/ValueTracker.d.ts +248 -0
  325. package/dist/mobjects/value-tracker/ValueTracker.d.ts.map +1 -0
  326. package/dist/mobjects/value-tracker/index.d.ts +9 -0
  327. package/dist/mobjects/value-tracker/index.d.ts.map +1 -0
  328. package/dist/rate-functions/index.d.ts +81 -0
  329. package/dist/rate-functions/index.d.ts.map +1 -0
  330. package/dist/rate-functions/rateFunctions.test.d.ts +2 -0
  331. package/dist/rate-functions/rateFunctions.test.d.ts.map +1 -0
  332. package/dist/rendering/BezierRenderer.d.ts +112 -0
  333. package/dist/rendering/BezierRenderer.d.ts.map +1 -0
  334. package/dist/rendering/BezierShaderMaterial.d.ts +50 -0
  335. package/dist/rendering/BezierShaderMaterial.d.ts.map +1 -0
  336. package/dist/rendering/index.d.ts +10 -0
  337. package/dist/rendering/index.d.ts.map +1 -0
  338. package/dist/utils/Performance.d.ts +118 -0
  339. package/dist/utils/Performance.d.ts.map +1 -0
  340. package/dist/utils/featureFlags.d.ts +15 -0
  341. package/dist/utils/featureFlags.d.ts.map +1 -0
  342. package/dist/utils/hungarian.d.ts +66 -0
  343. package/dist/utils/hungarian.d.ts.map +1 -0
  344. package/dist/utils/logger.d.ts +14 -0
  345. package/dist/utils/logger.d.ts.map +1 -0
  346. package/dist/utils/math.d.ts +52 -0
  347. package/dist/utils/math.d.ts.map +1 -0
  348. package/dist/utils/ode.d.ts +135 -0
  349. package/dist/utils/ode.d.ts.map +1 -0
  350. package/dist/utils/skeletonize.d.ts +35 -0
  351. package/dist/utils/skeletonize.d.ts.map +1 -0
  352. package/dist/utils/triangulate.d.ts +54 -0
  353. package/dist/utils/triangulate.d.ts.map +1 -0
  354. package/dist/utils/vectors.d.ts +57 -0
  355. package/dist/utils/vectors.d.ts.map +1 -0
  356. package/package.json +122 -0
@@ -0,0 +1,193 @@
1
+ import { Mobject, MobjectStyle } from './Mobject';
2
+ import { Point } from './VMobject';
3
+ /**
4
+ * JSON-serializable snapshot of a single mobject's visual state.
5
+ * Captures position, rotation, scale, style, and VMobject-specific data.
6
+ */
7
+ export interface MobjectState {
8
+ /** Mobject id at time of capture (used for lookup during restore) */
9
+ id: string;
10
+ /** Position [x, y, z] */
11
+ position: [number, number, number];
12
+ /** Euler rotation [x, y, z, order] */
13
+ rotation: [number, number, number, string];
14
+ /** Scale [x, y, z] */
15
+ scale: [number, number, number];
16
+ /** CSS color string */
17
+ color: string;
18
+ /** Overall stroke opacity 0-1 */
19
+ opacity: number;
20
+ /** Stroke width */
21
+ strokeWidth: number;
22
+ /** Fill opacity 0-1 */
23
+ fillOpacity: number;
24
+ /** Full style object */
25
+ style: MobjectStyle;
26
+ /** 2D points [{x,y}, ...] */
27
+ points2D?: Point[];
28
+ /** 3D Bezier control points [[x,y,z], ...] */
29
+ points3D?: number[][];
30
+ /** Visible point count (null means all) */
31
+ visiblePointCount?: number | null;
32
+ /** Recursively captured child states */
33
+ children: MobjectState[];
34
+ /** Optional user-supplied custom data */
35
+ custom?: Record<string, unknown>;
36
+ }
37
+ /**
38
+ * A full scene snapshot: an ordered array of top-level mobject states.
39
+ */
40
+ export interface SceneSnapshot {
41
+ /** Human-readable label (optional) */
42
+ label?: string;
43
+ /** Timestamp (ms) when snapshot was taken */
44
+ timestamp: number;
45
+ /** Ordered array of top-level mobject states (one per scene mobject) */
46
+ mobjects: MobjectState[];
47
+ }
48
+ /**
49
+ * Capture a JSON-serializable snapshot of a mobject and its hierarchy.
50
+ * Non-destructive: does not modify the mobject in any way.
51
+ *
52
+ * @param mob - The mobject to serialize
53
+ * @returns A deep, JSON-safe MobjectState
54
+ */
55
+ export declare function serializeMobject(mob: Mobject): MobjectState;
56
+ /**
57
+ * Restore a mobject's properties from a previously captured state.
58
+ * Applies position, rotation, scale, style, and VMobject points.
59
+ * Does NOT add/remove children -- it restores properties of existing children
60
+ * matched by array index (same order as when serialized).
61
+ *
62
+ * @param mob - The mobject to restore
63
+ * @param state - The state to apply
64
+ */
65
+ export declare function deserializeMobject(mob: Mobject, state: MobjectState): void;
66
+ /**
67
+ * Convert a MobjectState to a plain JSON string.
68
+ * Useful for persisting to localStorage or sending over the network.
69
+ */
70
+ export declare function stateToJSON(state: MobjectState): string;
71
+ /**
72
+ * Parse a JSON string back into a MobjectState.
73
+ */
74
+ export declare function stateFromJSON(json: string): MobjectState;
75
+ /**
76
+ * Convert a SceneSnapshot to a plain JSON string.
77
+ */
78
+ export declare function snapshotToJSON(snapshot: SceneSnapshot): string;
79
+ /**
80
+ * Parse a JSON string back into a SceneSnapshot.
81
+ */
82
+ export declare function snapshotFromJSON(json: string): SceneSnapshot;
83
+ /**
84
+ * Manages undo/redo state for a collection of mobjects (typically a Scene).
85
+ *
86
+ * Usage:
87
+ * ```ts
88
+ * const mgr = new SceneStateManager(scene.mobjects);
89
+ * mgr.save(); // push current state onto undo stack
90
+ * // ... user makes edits ...
91
+ * mgr.undo(); // restore previous state
92
+ * mgr.redo(); // re-apply the undone edit
93
+ * ```
94
+ *
95
+ * The manager does not own the mobjects -- it reads/writes them through
96
+ * a getter so that additions/removals from the scene are reflected.
97
+ */
98
+ export declare class SceneStateManager {
99
+ /** Maximum number of undo entries. Oldest are discarded when exceeded. */
100
+ readonly maxDepth: number;
101
+ /** Undo stack (newest on top) */
102
+ private _undoStack;
103
+ /** Redo stack (newest on top, cleared on new save) */
104
+ private _redoStack;
105
+ /**
106
+ * Function that returns the current ordered set of scene mobjects.
107
+ * We store a getter rather than a static list so the manager always
108
+ * reflects the live scene contents.
109
+ */
110
+ private _getMobjects;
111
+ /**
112
+ * @param getMobjects - Getter returning the current scene mobjects (ordered)
113
+ * @param maxDepth - Maximum undo stack depth (default 50)
114
+ */
115
+ constructor(getMobjects: () => Mobject[], maxDepth?: number);
116
+ /**
117
+ * Capture the current scene state and push it onto the undo stack.
118
+ * Clears the redo stack (new action branch).
119
+ *
120
+ * @param label - Optional human-readable label for this snapshot
121
+ * @returns The captured SceneSnapshot (for inspection / persistence)
122
+ */
123
+ save(label?: string): SceneSnapshot;
124
+ /**
125
+ * Undo: restore the most recently saved state.
126
+ * Pushes the current state onto the redo stack first.
127
+ *
128
+ * @returns true if undo was applied, false if nothing to undo
129
+ */
130
+ undo(): boolean;
131
+ /**
132
+ * Redo: re-apply the last undone state.
133
+ * Pushes the current state onto the undo stack first.
134
+ *
135
+ * @returns true if redo was applied, false if nothing to redo
136
+ */
137
+ redo(): boolean;
138
+ /**
139
+ * Get a snapshot of the current scene state without pushing it
140
+ * onto any stack.
141
+ */
142
+ getState(label?: string): SceneSnapshot;
143
+ /**
144
+ * Apply a previously captured snapshot, overwriting the current scene
145
+ * state. Does NOT modify undo/redo stacks -- call save() first if you
146
+ * want the current state preserved.
147
+ */
148
+ setState(snapshot: SceneSnapshot): void;
149
+ /**
150
+ * Clear both undo and redo stacks.
151
+ */
152
+ clearHistory(): void;
153
+ /** Number of available undo steps */
154
+ get undoCount(): number;
155
+ /** Number of available redo steps */
156
+ get redoCount(): number;
157
+ /** Whether undo is available */
158
+ get canUndo(): boolean;
159
+ /** Whether redo is available */
160
+ get canRedo(): boolean;
161
+ /** Read-only view of the undo stack (newest last) */
162
+ get undoStack(): ReadonlyArray<SceneSnapshot>;
163
+ /** Read-only view of the redo stack (newest last) */
164
+ get redoStack(): ReadonlyArray<SceneSnapshot>;
165
+ private _captureSnapshot;
166
+ private _applySnapshot;
167
+ }
168
+ /**
169
+ * Save the current state of a mobject using JSON-serializable snapshots.
170
+ * Stores:
171
+ * - A JSON-serializable MobjectState on `mob.__savedMobjectState`
172
+ * - A deep copy on `mob.savedState` (for Restore animation compatibility)
173
+ *
174
+ * This is the functional counterpart to `mob.saveState()`. Both produce
175
+ * identical results; use whichever API style you prefer.
176
+ *
177
+ * @param mob - The mobject to save
178
+ * @returns The captured MobjectState
179
+ */
180
+ export declare function saveMobjectState(mob: Mobject): MobjectState;
181
+ /**
182
+ * Restore a mobject from its JSON-serializable saved state
183
+ * (from saveMobjectState or serializeMobject).
184
+ *
185
+ * This is the functional counterpart to `mob.restoreState()`.
186
+ * Unlike the class method which uses the deep-copy path,
187
+ * this function uses the JSON-serializable MobjectState.
188
+ *
189
+ * @param mob - The mobject to restore
190
+ * @returns true if state was restored, false if no saved state exists
191
+ */
192
+ export declare function restoreMobjectState(mob: Mobject): boolean;
193
+ //# sourceMappingURL=StateManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StateManager.d.ts","sourceRoot":"","sources":["../../src/core/StateManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAY,KAAK,EAAE,MAAM,YAAY,CAAC;AAM7C;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IAEX,yBAAyB;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC,sCAAsC;IACtC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3C,sBAAsB;IACtB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAEhB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IAEpB,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,KAAK,EAAE,YAAY,CAAC;IAIpB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;IAEnB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAEtB,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,wCAAwC;IACxC,QAAQ,EAAE,YAAY,EAAE,CAAC;IAEzB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAElB,wEAAwE;IACxE,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CA2B3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAwC1E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAExD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAE5D;AAMD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAiB;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,iCAAiC;IACjC,OAAO,CAAC,UAAU,CAAuB;IAEzC,sDAAsD;IACtD,OAAO,CAAC,UAAU,CAAuB;IAEzC;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAkB;IAEtC;;;OAGG;gBACS,WAAW,EAAE,MAAM,OAAO,EAAE,EAAE,QAAQ,GAAE,MAAW;IAS/D;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa;IAenC;;;;;OAKG;IACH,IAAI,IAAI,OAAO;IAcf;;;;;OAKG;IACH,IAAI,IAAI,OAAO;IAiBf;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa;IAIvC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIvC;;OAEG;IACH,YAAY,IAAI,IAAI;IAKpB,qCAAqC;IACrC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,qCAAqC;IACrC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,gCAAgC;IAChC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,gCAAgC;IAChC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,qDAAqD;IACrD,IAAI,SAAS,IAAI,aAAa,CAAC,aAAa,CAAC,CAE5C;IAED,qDAAqD;IACrD,IAAI,SAAS,IAAI,aAAa,CAAC,aAAa,CAAC,CAE5C;IAMD,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,cAAc;CAOvB;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAW3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAMzD"}
@@ -0,0 +1,229 @@
1
+ import { VMobject } from './VMobject';
2
+ import { VGroup } from './VGroup';
3
+ import { Vector3Tuple } from './Mobject';
4
+ /**
5
+ * VDict and VectorizedPoint classes for dictionary-based VMobject access
6
+ * and single-point VMobjects.
7
+ */
8
+ import * as THREE from 'three';
9
+ /**
10
+ * VDict provides dictionary-like access to named VMobjects.
11
+ * Useful for creating complex structures with named parts.
12
+ *
13
+ * The submobjects are the dictionary values, allowing iteration
14
+ * and group operations while maintaining named access.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const face = new VDict({
19
+ * leftEye: new Circle({ radius: 0.2 }),
20
+ * rightEye: new Circle({ radius: 0.2 }),
21
+ * mouth: new Arc({ angle: Math.PI }),
22
+ * });
23
+ *
24
+ * // Access by name
25
+ * face.get('leftEye')?.setColor('blue');
26
+ *
27
+ * // Iterate over entries
28
+ * for (const [name, vmobject] of face.entries()) {
29
+ * console.log(name, vmobject);
30
+ * }
31
+ * ```
32
+ */
33
+ export declare class VDict extends VGroup {
34
+ /**
35
+ * Internal dictionary mapping names to VMobjects.
36
+ */
37
+ private _dict;
38
+ /**
39
+ * Create a VDict from a dictionary of named VMobjects.
40
+ * @param items - Object mapping names to VMobjects
41
+ */
42
+ constructor(items?: Record<string, VMobject>);
43
+ /**
44
+ * Get a VMobject by key (string) or index (number).
45
+ * Overrides VGroup.get() to support both access patterns.
46
+ * @param keyOrIndex - Name/key of the VMobject (string) or index (number)
47
+ * @returns The VMobject, or undefined if not found
48
+ */
49
+ get(keyOrIndex: string | number): VMobject | undefined;
50
+ /**
51
+ * Set a VMobject with a name. If a VMobject with this name already exists,
52
+ * it will be replaced.
53
+ * @param key - Name/key for the VMobject
54
+ * @param vmobject - VMobject to add
55
+ * @returns this for chaining
56
+ */
57
+ set(key: string, vmobject: VMobject): this;
58
+ /**
59
+ * Check if a key exists in the VDict.
60
+ * @param key - Name/key to check
61
+ * @returns true if the key exists
62
+ */
63
+ has(key: string): boolean;
64
+ /**
65
+ * Remove a VMobject by key from this VDict.
66
+ * @param key - Name/key of the VMobject to remove
67
+ * @returns true if an element was removed, false otherwise
68
+ */
69
+ delete(key: string): boolean;
70
+ /**
71
+ * Get all keys in the VDict.
72
+ * @returns Iterator of keys
73
+ */
74
+ keys(): IterableIterator<string>;
75
+ /**
76
+ * Get all VMobjects in the VDict.
77
+ * @returns Iterator of VMobjects
78
+ */
79
+ values(): IterableIterator<VMobject>;
80
+ /**
81
+ * Get all entries as [key, VMobject] pairs.
82
+ * @returns Iterator of [key, VMobject] tuples
83
+ */
84
+ entries(): IterableIterator<[string, VMobject]>;
85
+ /**
86
+ * Iterate over vmobjects with a callback.
87
+ * Overrides VGroup.forEach() to match parent signature.
88
+ * @param fn - Callback function receiving (vmobject, index)
89
+ * @returns this for chaining
90
+ */
91
+ forEach(fn: (vmobject: VMobject, index: number) => void): this;
92
+ /**
93
+ * Iterate over entries with a callback (dict-style).
94
+ * @param fn - Callback function receiving (vmobject, key, dict)
95
+ * @returns this for chaining
96
+ */
97
+ forEachEntry(fn: (vmobject: VMobject, key: string, dict: VDict) => void): this;
98
+ /**
99
+ * Clear all entries from the VDict.
100
+ * @returns this for chaining
101
+ */
102
+ clear(): this;
103
+ /**
104
+ * Get the number of named items.
105
+ */
106
+ get size(): number;
107
+ /**
108
+ * Allow bracket-style access via proxy.
109
+ * Note: This creates a proxy wrapper. For performance-critical code,
110
+ * use the get() method directly.
111
+ * @returns A proxy allowing bracket access like vdict['key']
112
+ */
113
+ asProxy(): VDict & {
114
+ [key: string]: VMobject | undefined;
115
+ };
116
+ /**
117
+ * Create a copy of this VDict.
118
+ */
119
+ protected _createCopy(): VMobject;
120
+ /**
121
+ * Override copy to properly handle the dictionary mapping.
122
+ */
123
+ copy(): VMobject;
124
+ /**
125
+ * Add a named VMobject to this VDict (alias for set).
126
+ * @param name - Name/key for the VMobject
127
+ * @param vmobject - VMobject to add
128
+ * @returns this for chaining
129
+ * @deprecated Use set() instead
130
+ */
131
+ addNamed(name: string, vmobject: VMobject): this;
132
+ /**
133
+ * Remove a named VMobject from this VDict (alias for delete).
134
+ * @param name - Name/key of the VMobject to remove
135
+ * @returns this for chaining
136
+ * @deprecated Use delete() instead
137
+ */
138
+ removeNamed(name: string): this;
139
+ /**
140
+ * Get a VMobject by name (alias for get with string key).
141
+ * @param name - Name/key of the VMobject
142
+ * @returns The VMobject, or undefined if not found
143
+ * @deprecated Use get() instead
144
+ */
145
+ getItem(name: string): VMobject | undefined;
146
+ /**
147
+ * Alias for get - get a VMobject by name.
148
+ * @param name - Name/key of the VMobject
149
+ * @returns The VMobject, or undefined if not found
150
+ * @deprecated Use get() instead
151
+ */
152
+ getByName(name: string): VMobject | undefined;
153
+ }
154
+ /**
155
+ * VectorizedPoint represents a single point as a VMobject.
156
+ *
157
+ * Useful as a location marker, invisible anchor, or for
158
+ * tracking positions in animations.
159
+ *
160
+ * Unlike a regular VMobject, VectorizedPoint has no stroke or fill
161
+ * by default - it's invisible but still has a position.
162
+ *
163
+ * @example
164
+ * ```typescript
165
+ * // Create a point at the origin
166
+ * const marker = new VectorizedPoint();
167
+ *
168
+ * // Create a point at a specific location
169
+ * const p = new VectorizedPoint([2, 3, 0]);
170
+ *
171
+ * // Get and set location
172
+ * console.log(p.getLocation()); // [2, 3, 0]
173
+ * p.setLocation([4, 5, 0]);
174
+ * ```
175
+ */
176
+ export declare class VectorizedPoint extends VMobject {
177
+ /**
178
+ * Create a VectorizedPoint at the given location.
179
+ * @param location - The point location as [x, y, z], defaults to [0, 0, 0]
180
+ */
181
+ constructor(location?: Vector3Tuple);
182
+ /**
183
+ * Get the location of this point.
184
+ * @returns The location as [x, y, z]
185
+ */
186
+ getLocation(): Vector3Tuple;
187
+ /**
188
+ * Set the location of this point.
189
+ * @param point - The new location as [x, y, z]
190
+ * @returns this for chaining
191
+ */
192
+ setLocation(point: Vector3Tuple): this;
193
+ /**
194
+ * Get the center of this point (same as getLocation).
195
+ * @returns The location as [x, y, z]
196
+ */
197
+ getCenter(): Vector3Tuple;
198
+ /**
199
+ * Move this point to a new location.
200
+ * @param point - Target position [x, y, z]
201
+ * @returns this for chaining
202
+ */
203
+ moveTo(point: Vector3Tuple): this;
204
+ /**
205
+ * Shift this point by a delta.
206
+ * @param delta - Translation vector [x, y, z]
207
+ * @returns this for chaining
208
+ */
209
+ shift(delta: Vector3Tuple): this;
210
+ /**
211
+ * Create the Three.js backing object.
212
+ * VectorizedPoint is invisible, so we just create an empty group.
213
+ */
214
+ protected _createThreeObject(): THREE.Object3D;
215
+ /**
216
+ * Sync to Three.js - update position.
217
+ */
218
+ protected _syncMaterialToThree(): void;
219
+ /**
220
+ * Create a copy of this VectorizedPoint.
221
+ */
222
+ protected _createCopy(): VMobject;
223
+ /**
224
+ * Copy this VectorizedPoint.
225
+ */
226
+ copy(): VMobject;
227
+ }
228
+ export default VDict;
229
+ //# sourceMappingURL=VDict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VDict.d.ts","sourceRoot":"","sources":["../../src/core/VDict.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,KAAM,SAAQ,MAAM;IAC/B;;OAEG;IACH,OAAO,CAAC,KAAK,CAAoC;IAEjD;;;OAGG;gBACS,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAM;IAQhD;;;;;OAKG;IACM,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS;IAQ/D;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAW1C;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAU5B;;;OAGG;IACH,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIhC;;;OAGG;IACH,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC;IAIpC;;;OAGG;IACH,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAI/C;;;;;OAKG;IACM,OAAO,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIvE;;;;OAIG;IACH,YAAY,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAK9E;;;OAGG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;OAKG;IACH,OAAO,IAAI,KAAK,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;KAAE;IAyB1D;;OAEG;cACgB,WAAW,IAAI,QAAQ;IAI1C;;OAEG;IACM,IAAI,IAAI,QAAQ;IA2BzB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIhD;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI3C;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;CAG9C;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C;;;OAGG;gBACS,QAAQ,GAAE,YAAwB;IAc9C;;;OAGG;IACH,WAAW,IAAI,YAAY;IAQ3B;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAOtC;;;OAGG;IACM,SAAS,IAAI,YAAY;IAIlC;;;;OAIG;IACM,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAI1C;;;;OAIG;IACM,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IASzC;;;OAGG;cACgB,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAQvD;;OAEG;cACgB,oBAAoB,IAAI,IAAI;IAO/C;;OAEG;cACgB,WAAW,IAAI,QAAQ;IAI1C;;OAEG;IACM,IAAI,IAAI,QAAQ;CAG1B;AAED,eAAe,KAAK,CAAC"}
@@ -0,0 +1,200 @@
1
+ import { Mobject, Vector3Tuple } from './Mobject';
2
+ import { VMobject, Point } from './VMobject';
3
+ /**
4
+ * VGroup class for grouping VMobjects.
5
+ * VGroup extends VMobject to provide specialized grouping for vectorized mobjects.
6
+ */
7
+ import * as THREE from 'three';
8
+ /**
9
+ * VGroup is a specialized group for VMobjects.
10
+ * Operations apply to all children, and paths can be combined.
11
+ */
12
+ export declare class VGroup extends VMobject {
13
+ /**
14
+ * Create a new VGroup containing the given mobjects.
15
+ * Accepts both VMobjects and general Mobjects (e.g., Axes, Group).
16
+ * @param mobjects - Mobjects to add to the group
17
+ */
18
+ constructor(...mobjects: Mobject[]);
19
+ /**
20
+ * Add VMobjects to this group.
21
+ * Accepts VMobjects or arrays of VMobjects.
22
+ * @param vmobjects - VMobjects to add
23
+ * @returns this for chaining
24
+ */
25
+ addVMobjects(...vmobjects: (VMobject | VMobject[])[]): this;
26
+ /**
27
+ * Add mobjects to this group (override from Mobject).
28
+ * @param mobjects - Mobjects to add
29
+ * @returns this for chaining
30
+ */
31
+ add(...mobjects: Mobject[]): this;
32
+ /**
33
+ * Add a single VMobject to this group.
34
+ */
35
+ private _addSingleVMobject;
36
+ /**
37
+ * Remove VMobjects from this group.
38
+ * @param vmobjects - VMobjects to remove
39
+ * @returns this for chaining
40
+ */
41
+ removeVMobjects(...vmobjects: VMobject[]): this;
42
+ /**
43
+ * Remove mobjects from this group (override from Mobject).
44
+ * @param mobjects - Mobjects to remove
45
+ * @returns this for chaining
46
+ */
47
+ remove(...mobjects: Mobject[]): this;
48
+ /**
49
+ * Get the center of the group (average of all children centers).
50
+ * @returns Center position as [x, y, z]
51
+ */
52
+ getCenter(): Vector3Tuple;
53
+ /**
54
+ * Shift all children by the given delta.
55
+ * Only shifts children's internal positions, not the group's own position,
56
+ * to avoid double-counting in THREE.js hierarchy.
57
+ * @param delta - Translation vector [x, y, z]
58
+ * @returns this for chaining
59
+ */
60
+ shift(delta: Vector3Tuple): this;
61
+ /**
62
+ * Move the group center to the given point, or align with another Mobject.
63
+ * @param target - Target position [x, y, z] or Mobject to align with
64
+ * @param alignedEdge - Optional edge direction to align (e.g., UL aligns upper-left edges)
65
+ * @returns this for chaining
66
+ */
67
+ moveTo(target: Vector3Tuple | Mobject, alignedEdge?: Vector3Tuple): this;
68
+ /**
69
+ * Rotate all children around an axis.
70
+ * @param angle - Rotation angle in radians
71
+ * @param axis - Axis of rotation [x, y, z], defaults to Z axis
72
+ * @returns this for chaining
73
+ */
74
+ rotate(angle: number, axis?: Vector3Tuple): this;
75
+ /**
76
+ * Scale all children about the group's center.
77
+ * Each child's size is scaled, and their positions are repositioned
78
+ * relative to the group center — matching Manim Python behavior.
79
+ * Does not change the group's own scaleVector.
80
+ * @param factor - Scale factor (number for uniform, tuple for non-uniform)
81
+ * @returns this for chaining
82
+ */
83
+ scale(factor: number | Vector3Tuple): this;
84
+ /**
85
+ * Set the color of all children.
86
+ * @param color - CSS color string
87
+ * @returns this for chaining
88
+ */
89
+ setColor(color: string): this;
90
+ /**
91
+ * Set the opacity of all children.
92
+ * @param opacity - Opacity value (0-1)
93
+ * @returns this for chaining
94
+ */
95
+ setOpacity(opacity: number): this;
96
+ /**
97
+ * Set the stroke width of all children.
98
+ * @param width - Stroke width in pixels
99
+ * @returns this for chaining
100
+ */
101
+ setStrokeWidth(width: number): this;
102
+ /**
103
+ * Set the fill opacity of all children.
104
+ * @param opacity - Fill opacity (0-1)
105
+ * @returns this for chaining
106
+ */
107
+ setFillOpacity(opacity: number): this;
108
+ /**
109
+ * Set the fill color of all children.
110
+ * @param color - CSS color string
111
+ * @returns this for chaining
112
+ */
113
+ setFill(color?: string, opacity?: number): this;
114
+ /**
115
+ * Set the stroke of all children.
116
+ * @param color - CSS color string
117
+ * @param width - Stroke width in pixels
118
+ * @param opacity - Stroke opacity (0-1)
119
+ * @returns this for chaining
120
+ */
121
+ setStroke(color?: string, width?: number, opacity?: number): this;
122
+ /**
123
+ * Arrange children in a row or column with specified spacing.
124
+ * @param direction - Direction to arrange (e.g., RIGHT for row, DOWN for column)
125
+ * @param buff - Buffer/spacing between children, default 0.25
126
+ * @param center - Whether to center the arrangement at the group's position, default true
127
+ * @returns this for chaining
128
+ */
129
+ arrange(direction?: Vector3Tuple, buff?: number, center?: boolean): this;
130
+ /**
131
+ * Arrange children in a grid layout.
132
+ * @param rows - Number of rows (if not specified, auto-calculated)
133
+ * @param cols - Number of columns (if not specified, auto-calculated)
134
+ * @param buffX - Horizontal buffer between elements, default 0.25
135
+ * @param buffY - Vertical buffer between elements, default 0.25
136
+ * @returns this for chaining
137
+ */
138
+ arrangeInGrid(rows?: number, cols?: number, buffX?: number, buffY?: number): this;
139
+ /**
140
+ * Arrange children in a submobject grid (alias for arrangeInGrid).
141
+ */
142
+ arrangeSubmobjects(rows?: number, cols?: number, buffX?: number, buffY?: number): this;
143
+ /**
144
+ * Get combined path points from all children.
145
+ * @returns Combined array of points from all children
146
+ */
147
+ getCombinedPoints(): number[][];
148
+ /**
149
+ * Create the Three.js backing object for this VGroup.
150
+ * A VGroup is simply a THREE.Group that contains children.
151
+ */
152
+ protected _createThreeObject(): THREE.Object3D;
153
+ /**
154
+ * Create a copy of this VGroup.
155
+ */
156
+ protected _createCopy(): VMobject;
157
+ /**
158
+ * Get the number of vmobjects in this group.
159
+ */
160
+ get length(): number;
161
+ /**
162
+ * Get a vmobject by index.
163
+ * @param index - Index of the vmobject
164
+ * @returns The vmobject at the given index, or undefined
165
+ */
166
+ get(index: number): VMobject | undefined;
167
+ /**
168
+ * Iterate over all vmobjects in the group.
169
+ */
170
+ [Symbol.iterator](): Iterator<VMobject>;
171
+ /**
172
+ * Apply a function to each vmobject in the group.
173
+ * @param fn - Function to apply
174
+ * @returns this for chaining
175
+ */
176
+ forEach(fn: (vmobject: VMobject, index: number) => void): this;
177
+ /**
178
+ * Map over all vmobjects in the group.
179
+ * @param fn - Mapping function
180
+ * @returns Array of mapped values
181
+ */
182
+ map<T>(fn: (vmobject: VMobject, index: number) => T): T[];
183
+ /**
184
+ * Filter vmobjects in the group.
185
+ * @param fn - Filter predicate
186
+ * @returns New VGroup with filtered vmobjects
187
+ */
188
+ filter(fn: (vmobject: VMobject, index: number) => boolean): VGroup;
189
+ /**
190
+ * Get all points from the VGroup as a flat array (override VMobject).
191
+ * Returns combined points from all children.
192
+ */
193
+ get points(): Point[];
194
+ /**
195
+ * Get all 3D points from the VGroup.
196
+ */
197
+ getPoints(): number[][];
198
+ }
199
+ export default VGroup;
200
+ //# sourceMappingURL=VGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VGroup.d.ts","sourceRoot":"","sources":["../../src/core/VGroup.ts"],"names":[],"mappings":"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"}