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,39 @@
1
+ import { VGroup } from '../../core/VGroup';
2
+ /** A 2-tuple used internally during parsing. */
3
+ type Vec2 = [number, number];
4
+ export interface SVGToVMobjectOptions {
5
+ /** Stroke / fill color for the resulting VMobjects. */
6
+ color?: string;
7
+ /** Stroke width. Default: DEFAULT_STROKE_WIDTH (4). */
8
+ strokeWidth?: number;
9
+ /** Fill opacity. Default: 0 (stroke only). */
10
+ fillOpacity?: number;
11
+ /** Uniform scale factor applied to every point. Default: 1 */
12
+ scale?: number;
13
+ /**
14
+ * If true, flip the Y axis so SVG screen-space (Y-down) maps
15
+ * to manim world-space (Y-up). Default: true.
16
+ */
17
+ flipY?: boolean;
18
+ }
19
+ /**
20
+ * Parse an SVG path `d` attribute into arrays of cubic Bezier control points.
21
+ * Each sub-path (started by M/m or interrupted by Z/z) produces a separate array.
22
+ *
23
+ * Returns an array of sub-paths, where each sub-path is an array of Vec2 points
24
+ * laid out as: [anchor, handle1, handle2, anchor, handle3, handle4, anchor, ...].
25
+ */
26
+ export declare function parseSVGPathData(d: string): Vec2[][];
27
+ /**
28
+ * Walk an SVG element tree (as produced by MathJax) and convert every
29
+ * `<path>` element into a VMobject. Returns a VGroup containing one
30
+ * VMobject child per glyph / path element.
31
+ *
32
+ * Handles MathJax SVG specifics:
33
+ * - `<defs>` blocks with glyph definitions referenced via `<use>`
34
+ * - Nested `<g>` transforms
35
+ * - `viewBox` → coordinate mapping
36
+ */
37
+ export declare function svgToVMobjects(svgElement: SVGElement | Element, options?: SVGToVMobjectOptions): VGroup;
38
+ export {};
39
+ //# sourceMappingURL=svgPathParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svgPathParser.d.ts","sourceRoot":"","sources":["../../../src/mobjects/text/svgPathParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAQ3C,gDAAgD;AAChD,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAK7B,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA8BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,CA4MpD;AA+GD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,UAAU,GAAG,OAAO,EAChC,OAAO,GAAE,oBAAyB,GACjC,MAAM,CA4GR"}
@@ -0,0 +1,136 @@
1
+ import { Mobject, Vector3Tuple } from '../../core/Mobject';
2
+ import * as THREE from 'three';
3
+ /**
4
+ * Options for creating an Arrow3D
5
+ */
6
+ export interface Arrow3DOptions {
7
+ /** Start point [x, y, z]. Default: [0, 0, 0] */
8
+ start?: Vector3Tuple;
9
+ /** End point (where the tip points) [x, y, z]. Required */
10
+ end: Vector3Tuple;
11
+ /** Color as CSS color string. Default: '#ffffff' */
12
+ color?: string;
13
+ /** Opacity from 0 to 1. Default: 1 */
14
+ opacity?: number;
15
+ /** Length of the arrowhead cone. Default: 0.2 */
16
+ tipLength?: number;
17
+ /** Half-width of the arrowhead triangle base. Default: 0.08 */
18
+ tipRadius?: number;
19
+ /** Radius of the shaft. Default: 0.02 */
20
+ shaftRadius?: number;
21
+ /** Number of radial segments. Default: 16 */
22
+ radialSegments?: number;
23
+ }
24
+ /**
25
+ * Arrow3D - A 3D arrow with cylindrical shaft and flat triangle tip
26
+ *
27
+ * Creates a 3D arrow by combining a cylinder (shaft) with a flat triangle (tip).
28
+ * The arrow automatically orients itself from start to end point.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // Create an arrow from origin to (2, 1, 0)
33
+ * const arrow = new Arrow3D({ end: [2, 1, 0] });
34
+ *
35
+ * // Create a red arrow with larger tip
36
+ * const redArrow = new Arrow3D({
37
+ * start: [-1, 0, 0],
38
+ * end: [1, 1, 1],
39
+ * color: '#ff0000',
40
+ * tipLength: 0.3,
41
+ * tipRadius: 0.12
42
+ * });
43
+ * ```
44
+ */
45
+ export declare class Arrow3D extends Mobject {
46
+ private _start;
47
+ private _end;
48
+ private _tipLength;
49
+ private _tipRadius;
50
+ private _shaftRadius;
51
+ private _radialSegments;
52
+ constructor(options: Arrow3DOptions);
53
+ /**
54
+ * Create the Three.js arrow object (shaft + tip)
55
+ */
56
+ protected _createThreeObject(): THREE.Object3D;
57
+ /**
58
+ * Orient a mesh to point in a given direction
59
+ * Cylinders and cones in Three.js are oriented along the Y axis by default
60
+ */
61
+ private _orientMesh;
62
+ /**
63
+ * Sync material properties to Three.js object
64
+ */
65
+ protected _syncMaterialToThree(): void;
66
+ /**
67
+ * Rebuild the arrow geometry
68
+ */
69
+ private _rebuildGeometry;
70
+ /**
71
+ * Get the start point
72
+ */
73
+ getStart(): Vector3Tuple;
74
+ /**
75
+ * Set the start point
76
+ */
77
+ setStart(point: Vector3Tuple): this;
78
+ /**
79
+ * Get the end point (tip of the arrow)
80
+ */
81
+ getEnd(): Vector3Tuple;
82
+ /**
83
+ * Set the end point (tip of the arrow)
84
+ */
85
+ setEnd(point: Vector3Tuple): this;
86
+ /**
87
+ * Get the tip length
88
+ */
89
+ getTipLength(): number;
90
+ /**
91
+ * Set the tip length
92
+ */
93
+ setTipLength(value: number): this;
94
+ /**
95
+ * Get the tip radius
96
+ */
97
+ getTipRadius(): number;
98
+ /**
99
+ * Set the tip radius
100
+ */
101
+ setTipRadius(value: number): this;
102
+ /**
103
+ * Get the shaft radius
104
+ */
105
+ getShaftRadius(): number;
106
+ /**
107
+ * Set the shaft radius
108
+ */
109
+ setShaftRadius(value: number): this;
110
+ /**
111
+ * Get the length of the arrow
112
+ */
113
+ getLength(): number;
114
+ /**
115
+ * Get the direction vector (normalized)
116
+ */
117
+ getDirection(): Vector3Tuple;
118
+ /**
119
+ * Get the midpoint of the arrow
120
+ */
121
+ getMidpoint(): Vector3Tuple;
122
+ /**
123
+ * Create a copy of this Arrow3D
124
+ */
125
+ protected _createCopy(): Arrow3D;
126
+ }
127
+ /**
128
+ * Vector3D - An Arrow3D starting from the origin by default
129
+ */
130
+ export declare class Vector3D extends Arrow3D {
131
+ constructor(options: Omit<Arrow3DOptions, 'start'> & {
132
+ direction?: Vector3Tuple;
133
+ });
134
+ }
135
+ export default Arrow3D;
136
+ //# sourceMappingURL=Arrow3D.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Arrow3D.d.ts","sourceRoot":"","sources":["../../../src/mobjects/three-d/Arrow3D.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,2DAA2D;IAC3D,GAAG,EAAE,YAAY,CAAC;IAClB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,OAAQ,SAAQ,OAAO;IAClC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAS;gBAEpB,OAAO,EAAE,cAAc;IA0BnC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAkF9C;;;OAGG;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;cACgB,oBAAoB,IAAI,IAAI;IAgB/C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;IACH,QAAQ,IAAI,YAAY;IAIxB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAMnC;;OAEG;IACH,MAAM,IAAI,YAAY;IAItB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAMjC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMjC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMjC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMnC;;OAEG;IACH,SAAS,IAAI,MAAM;IAOnB;;OAEG;IACH,YAAY,IAAI,YAAY;IAY5B;;OAEG;IACH,WAAW,IAAI,YAAY;IAQ3B;;OAEG;cACgB,WAAW,IAAI,OAAO;CAY1C;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,OAAO;gBACvB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,YAAY,CAAA;KAAE;CAQlF;AAED,eAAe,OAAO,CAAC"}
@@ -0,0 +1,186 @@
1
+ import { Mobject, Vector3Tuple } from '../../core/Mobject';
2
+ import * as THREE from 'three';
3
+ /**
4
+ * Options for creating a Cube
5
+ */
6
+ export interface CubeOptions {
7
+ /** Side length of the cube. Default: 1 */
8
+ sideLength?: number;
9
+ /** Center position [x, y, z]. Default: [0, 0, 0] */
10
+ center?: Vector3Tuple;
11
+ /** Color as CSS color string. Default: '#ffffff' */
12
+ color?: string;
13
+ /** Opacity from 0 to 1. Default: 1 */
14
+ opacity?: number;
15
+ /** Whether to render as wireframe. Default: false */
16
+ wireframe?: boolean;
17
+ }
18
+ /**
19
+ * Cube - A 3D cube mesh with equal side lengths
20
+ *
21
+ * Creates a cube using Three.js BoxGeometry with configurable
22
+ * size and material properties.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * // Create a unit cube
27
+ * const cube = new Cube();
28
+ *
29
+ * // Create a red cube with side length 2
30
+ * const redCube = new Cube({ sideLength: 2, color: '#ff0000' });
31
+ *
32
+ * // Create a semi-transparent wireframe cube
33
+ * const wireframe = new Cube({
34
+ * sideLength: 1.5,
35
+ * wireframe: true,
36
+ * opacity: 0.7
37
+ * });
38
+ * ```
39
+ */
40
+ export declare class Cube extends Mobject {
41
+ private _sideLength;
42
+ private _wireframe;
43
+ private _centerPoint;
44
+ constructor(options?: CubeOptions);
45
+ /**
46
+ * Create the Three.js box mesh
47
+ */
48
+ protected _createThreeObject(): THREE.Object3D;
49
+ /**
50
+ * Sync material properties to Three.js object
51
+ */
52
+ protected _syncMaterialToThree(): void;
53
+ /**
54
+ * Get the side length
55
+ */
56
+ getSideLength(): number;
57
+ /**
58
+ * Set the side length
59
+ */
60
+ setSideLength(value: number): this;
61
+ /**
62
+ * Get whether wireframe mode is enabled
63
+ */
64
+ isWireframe(): boolean;
65
+ /**
66
+ * Set wireframe mode
67
+ */
68
+ setWireframe(value: boolean): this;
69
+ /**
70
+ * Get the surface area of the cube
71
+ */
72
+ getSurfaceArea(): number;
73
+ /**
74
+ * Get the volume of the cube
75
+ */
76
+ getVolume(): number;
77
+ /**
78
+ * Create a copy of this Cube
79
+ */
80
+ protected _createCopy(): Cube;
81
+ }
82
+ /**
83
+ * Options for creating a Box3D
84
+ */
85
+ export interface Box3DOptions {
86
+ /** Width (x dimension). Default: 1 */
87
+ width?: number;
88
+ /** Height (y dimension). Default: 1 */
89
+ height?: number;
90
+ /** Depth (z dimension). Default: 1 */
91
+ depth?: number;
92
+ /** Center position [x, y, z]. Default: [0, 0, 0] */
93
+ center?: Vector3Tuple;
94
+ /** Color as CSS color string. Default: '#ffffff' */
95
+ color?: string;
96
+ /** Opacity from 0 to 1. Default: 1 */
97
+ opacity?: number;
98
+ /** Whether to render as wireframe. Default: false */
99
+ wireframe?: boolean;
100
+ }
101
+ /**
102
+ * Box3D - A 3D box mesh with non-uniform dimensions
103
+ *
104
+ * Creates a box using Three.js BoxGeometry with configurable
105
+ * width, height, depth, and material properties.
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * // Create a rectangular box
110
+ * const box = new Box3D({ width: 2, height: 1, depth: 3 });
111
+ *
112
+ * // Create a colored box
113
+ * const coloredBox = new Box3D({
114
+ * width: 1,
115
+ * height: 2,
116
+ * depth: 0.5,
117
+ * color: '#00ff00'
118
+ * });
119
+ * ```
120
+ */
121
+ export declare class Box3D extends Mobject {
122
+ private _width;
123
+ private _height;
124
+ private _depth;
125
+ private _wireframe;
126
+ private _centerPoint;
127
+ constructor(options?: Box3DOptions);
128
+ /**
129
+ * Create the Three.js box mesh
130
+ */
131
+ protected _createThreeObject(): THREE.Object3D;
132
+ /**
133
+ * Sync material properties to Three.js object
134
+ */
135
+ protected _syncMaterialToThree(): void;
136
+ /**
137
+ * Get the width
138
+ */
139
+ getWidth(): number;
140
+ /**
141
+ * Set the width
142
+ */
143
+ setWidth(value: number): this;
144
+ /**
145
+ * Get the height
146
+ */
147
+ getHeight(): number;
148
+ /**
149
+ * Set the height
150
+ */
151
+ setHeight(value: number): this;
152
+ /**
153
+ * Get the depth
154
+ */
155
+ getDepth(): number;
156
+ /**
157
+ * Set the depth
158
+ */
159
+ setDepth(value: number): this;
160
+ /**
161
+ * Update the geometry with current dimensions
162
+ */
163
+ private _updateGeometry;
164
+ /**
165
+ * Get whether wireframe mode is enabled
166
+ */
167
+ isWireframe(): boolean;
168
+ /**
169
+ * Set wireframe mode
170
+ */
171
+ setWireframe(value: boolean): this;
172
+ /**
173
+ * Get the surface area of the box
174
+ */
175
+ getSurfaceArea(): number;
176
+ /**
177
+ * Get the volume of the box
178
+ */
179
+ getVolume(): number;
180
+ /**
181
+ * Create a copy of this Box3D
182
+ */
183
+ protected _createCopy(): Box3D;
184
+ }
185
+ export default Cube;
186
+ //# sourceMappingURL=Cube.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cube.d.ts","sourceRoot":"","sources":["../../../src/mobjects/three-d/Cube.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,IAAK,SAAQ,OAAO;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAe;gBAEvB,OAAO,GAAE,WAAgB;IAuBrC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAmB9C;;OAEG;cACgB,oBAAoB,IAAI,IAAI;IAa/C;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAclC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAMlC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;cACgB,WAAW,IAAI,IAAI;CASvC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,KAAM,SAAQ,OAAO;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAe;gBAEvB,OAAO,GAAE,YAAiB;IA2BtC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAmB9C;;OAEG;cACgB,oBAAoB,IAAI,IAAI;IAa/C;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAMlC;;OAEG;IACH,cAAc,IAAI,MAAM;IAQxB;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;cACgB,WAAW,IAAI,KAAK;CAWxC;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,189 @@
1
+ import { Mobject, Vector3Tuple } from '../../core/Mobject';
2
+ import * as THREE from 'three';
3
+ /**
4
+ * Options for creating a Cylinder
5
+ */
6
+ export interface CylinderOptions {
7
+ /** Radius of the cylinder. Default: 1 */
8
+ radius?: number;
9
+ /** Height of the cylinder. Default: 2 */
10
+ height?: number;
11
+ /** Radius at the top (overrides radius if set). Default: same as radius */
12
+ radiusTop?: number;
13
+ /** Radius at the bottom (overrides radius if set). Default: same as radius */
14
+ radiusBottom?: number;
15
+ /** Center position [x, y, z]. Default: [0, 0, 0] */
16
+ center?: Vector3Tuple;
17
+ /** Color as CSS color string. Default: '#ffffff' */
18
+ color?: string;
19
+ /** Opacity from 0 to 1. Default: 1 */
20
+ opacity?: number;
21
+ /** Number of radial segments. Default: 32 */
22
+ radialSegments?: number;
23
+ /** Whether ends are open. Default: false */
24
+ openEnded?: boolean;
25
+ /** Whether to render as wireframe. Default: false */
26
+ wireframe?: boolean;
27
+ }
28
+ /**
29
+ * Cylinder - A 3D cylindrical mesh
30
+ *
31
+ * Creates a cylinder using Three.js CylinderGeometry with configurable
32
+ * radius, height, and material properties. Supports different top and bottom
33
+ * radii for creating truncated cones.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * // Create a default cylinder
38
+ * const cylinder = new Cylinder();
39
+ *
40
+ * // Create a red cylinder
41
+ * const redCylinder = new Cylinder({
42
+ * radius: 0.5,
43
+ * height: 3,
44
+ * color: '#ff0000'
45
+ * });
46
+ *
47
+ * // Create a truncated cone
48
+ * const cone = new Cylinder({
49
+ * radiusTop: 0.5,
50
+ * radiusBottom: 1,
51
+ * height: 2
52
+ * });
53
+ * ```
54
+ */
55
+ export declare class Cylinder extends Mobject {
56
+ protected _radiusTop: number;
57
+ protected _radiusBottom: number;
58
+ protected _height: number;
59
+ protected _radialSegments: number;
60
+ protected _openEnded: boolean;
61
+ protected _wireframe: boolean;
62
+ protected _centerPoint: Vector3Tuple;
63
+ constructor(options?: CylinderOptions);
64
+ /**
65
+ * Create the Three.js cylinder mesh
66
+ */
67
+ protected _createThreeObject(): THREE.Object3D;
68
+ /**
69
+ * Sync material properties to Three.js object
70
+ */
71
+ protected _syncMaterialToThree(): void;
72
+ /**
73
+ * Update the geometry with current dimensions
74
+ */
75
+ protected _updateGeometry(): void;
76
+ /**
77
+ * Get the radius at the top
78
+ */
79
+ getRadiusTop(): number;
80
+ /**
81
+ * Set the radius at the top
82
+ */
83
+ setRadiusTop(value: number): this;
84
+ /**
85
+ * Get the radius at the bottom
86
+ */
87
+ getRadiusBottom(): number;
88
+ /**
89
+ * Set the radius at the bottom
90
+ */
91
+ setRadiusBottom(value: number): this;
92
+ /**
93
+ * Get the height
94
+ */
95
+ getHeight(): number;
96
+ /**
97
+ * Set the height
98
+ */
99
+ setHeight(value: number): this;
100
+ /**
101
+ * Get whether wireframe mode is enabled
102
+ */
103
+ isWireframe(): boolean;
104
+ /**
105
+ * Set wireframe mode
106
+ */
107
+ setWireframe(value: boolean): this;
108
+ /**
109
+ * Get whether ends are open
110
+ */
111
+ isOpenEnded(): boolean;
112
+ /**
113
+ * Set whether ends are open
114
+ */
115
+ setOpenEnded(value: boolean): this;
116
+ /**
117
+ * Get the lateral surface area of the cylinder
118
+ */
119
+ getLateralSurfaceArea(): number;
120
+ /**
121
+ * Get the total surface area of the cylinder (including caps)
122
+ */
123
+ getSurfaceArea(): number;
124
+ /**
125
+ * Get the volume of the cylinder
126
+ */
127
+ getVolume(): number;
128
+ /**
129
+ * Create a copy of this Cylinder
130
+ */
131
+ protected _createCopy(): Cylinder;
132
+ }
133
+ /**
134
+ * Options for creating a Cone
135
+ */
136
+ export interface ConeOptions {
137
+ /** Radius of the cone base. Default: 1 */
138
+ radius?: number;
139
+ /** Height of the cone. Default: 2 */
140
+ height?: number;
141
+ /** Center position [x, y, z]. Default: [0, 0, 0] */
142
+ center?: Vector3Tuple;
143
+ /** Color as CSS color string. Default: '#ffffff' */
144
+ color?: string;
145
+ /** Opacity from 0 to 1. Default: 1 */
146
+ opacity?: number;
147
+ /** Number of radial segments. Default: 32 */
148
+ radialSegments?: number;
149
+ /** Whether base is open. Default: false */
150
+ openEnded?: boolean;
151
+ /** Whether to render as wireframe. Default: false */
152
+ wireframe?: boolean;
153
+ }
154
+ /**
155
+ * Cone - A 3D cone mesh (cylinder with top radius = 0)
156
+ *
157
+ * Creates a cone using Three.js CylinderGeometry with the top radius
158
+ * set to 0.
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * // Create a default cone
163
+ * const cone = new Cone();
164
+ *
165
+ * // Create a tall red cone
166
+ * const tallCone = new Cone({
167
+ * radius: 0.5,
168
+ * height: 4,
169
+ * color: '#ff0000'
170
+ * });
171
+ * ```
172
+ */
173
+ export declare class Cone extends Cylinder {
174
+ constructor(options?: ConeOptions);
175
+ /**
176
+ * Get the base radius
177
+ */
178
+ getRadius(): number;
179
+ /**
180
+ * Set the base radius
181
+ */
182
+ setRadius(value: number): this;
183
+ /**
184
+ * Create a copy of this Cone
185
+ */
186
+ protected _createCopy(): Cone;
187
+ }
188
+ export default Cylinder;
189
+ //# sourceMappingURL=Cylinder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cylinder.d.ts","sourceRoot":"","sources":["../../../src/mobjects/three-d/Cylinder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,QAAS,SAAQ,OAAO;IACnC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;gBAEzB,OAAO,GAAE,eAAoB;IAgCzC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAsB9C;;OAEG;cACgB,oBAAoB,IAAI,IAAI;IAa/C;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAejC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMjC;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMpC;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAMlC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAMlC;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAQ/B;;OAEG;IACH,cAAc,IAAI,MAAM;IAUxB;;OAEG;IACH,SAAS,IAAI,MAAM;IASnB;;OAEG;cACgB,WAAW,IAAI,QAAQ;CAa3C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,IAAK,SAAQ,QAAQ;gBACpB,OAAO,GAAE,WAAgB;IAyBrC;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B;;OAEG;cACgB,WAAW,IAAI,IAAI;CAYvC;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,100 @@
1
+ import { Mobject, Vector3Tuple } from '../../core/Mobject';
2
+ import * as THREE from 'three';
3
+ /**
4
+ * Options for creating a Line3D
5
+ */
6
+ export interface Line3DOptions {
7
+ /** Start point [x, y, z]. Default: [0, 0, 0] */
8
+ start?: Vector3Tuple;
9
+ /** End point [x, y, z]. Required */
10
+ end: Vector3Tuple;
11
+ /** Color as CSS color string. Default: '#ffffff' */
12
+ color?: string;
13
+ /** Line width in pixels. Default: 2 */
14
+ lineWidth?: number;
15
+ /** Opacity from 0 to 1. Default: 1 */
16
+ opacity?: number;
17
+ }
18
+ /**
19
+ * Line3D - A 3D line segment
20
+ *
21
+ * Creates a line segment between two 3D points using Three.js Line.
22
+ * Note: Due to WebGL limitations, line width may not work on all platforms.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * // Create a line from origin to (1, 1, 1)
27
+ * const line = new Line3D({ end: [1, 1, 1] });
28
+ *
29
+ * // Create a line between two points
30
+ * const line2 = new Line3D({
31
+ * start: [-1, 0, 0],
32
+ * end: [1, 0, 0],
33
+ * color: '#ff0000'
34
+ * });
35
+ * ```
36
+ */
37
+ export declare class Line3D extends Mobject {
38
+ protected _start: Vector3Tuple;
39
+ protected _end: Vector3Tuple;
40
+ protected _lineWidth: number;
41
+ constructor(options: Line3DOptions);
42
+ /**
43
+ * Create the Three.js line object
44
+ */
45
+ protected _createThreeObject(): THREE.Object3D;
46
+ /**
47
+ * Sync material properties to Three.js object
48
+ */
49
+ protected _syncMaterialToThree(): void;
50
+ /**
51
+ * Update the geometry with current points
52
+ */
53
+ protected _updateGeometry(): void;
54
+ /**
55
+ * Get the start point
56
+ */
57
+ getStart(): Vector3Tuple;
58
+ /**
59
+ * Set the start point
60
+ */
61
+ setStart(point: Vector3Tuple): this;
62
+ /**
63
+ * Get the end point
64
+ */
65
+ getEnd(): Vector3Tuple;
66
+ /**
67
+ * Set the end point
68
+ */
69
+ setEnd(point: Vector3Tuple): this;
70
+ /**
71
+ * Get the line width
72
+ */
73
+ getLineWidth(): number;
74
+ /**
75
+ * Set the line width
76
+ */
77
+ setLineWidth(width: number): this;
78
+ /**
79
+ * Get the length of the line
80
+ */
81
+ getLength(): number;
82
+ /**
83
+ * Get the direction vector (normalized)
84
+ */
85
+ getDirection(): Vector3Tuple;
86
+ /**
87
+ * Get the midpoint of the line
88
+ */
89
+ getMidpoint(): Vector3Tuple;
90
+ /**
91
+ * Get a point along the line at parameter t (0 = start, 1 = end)
92
+ */
93
+ pointAtParameter(t: number): Vector3Tuple;
94
+ /**
95
+ * Create a copy of this Line3D
96
+ */
97
+ protected _createCopy(): Line3D;
98
+ }
99
+ export default Line3D;
100
+ //# sourceMappingURL=Line3D.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Line3D.d.ts","sourceRoot":"","sources":["../../../src/mobjects/three-d/Line3D.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,oCAAoC;IACpC,GAAG,EAAE,YAAY,CAAC;IAClB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,MAAO,SAAQ,OAAO;IACjC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,aAAa;IAoBlC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAkB9C;;OAEG;cACgB,oBAAoB,IAAI,IAAI;IAa/C;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAajC;;OAEG;IACH,QAAQ,IAAI,YAAY;IAIxB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAMnC;;OAEG;IACH,MAAM,IAAI,YAAY;IAItB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAMjC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOjC;;OAEG;IACH,SAAS,IAAI,MAAM;IAOnB;;OAEG;IACH,YAAY,IAAI,YAAY;IAY5B;;OAEG;IACH,WAAW,IAAI,YAAY;IAQ3B;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY;IAQzC;;OAEG;cACgB,WAAW,IAAI,MAAM;CASzC;AAED,eAAe,MAAM,CAAC"}