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,372 @@
1
+ import { Vector3Tuple } from '../../core/Mobject';
2
+ import { VGroup } from '../../core/VGroup';
3
+ import { Line, LineOptions } from './Line';
4
+ import { Arrow, ArrowOptions } from './Arrow';
5
+ import { Dot, DotOptions } from './Dot';
6
+ import { Circle } from './Circle';
7
+ import { Text } from '../text/Text';
8
+ /**
9
+ * Direction constants for label positioning
10
+ */
11
+ export type LabelDirection = 'UP' | 'DOWN' | 'LEFT' | 'RIGHT' | 'UL' | 'UR' | 'DL' | 'DR';
12
+ /**
13
+ * Label orientation options for lines
14
+ */
15
+ export type LabelOrientation = 'parallel' | 'perpendicular' | 'horizontal';
16
+ /**
17
+ * Options for creating a LabeledLine
18
+ */
19
+ export interface LabeledLineOptions extends Omit<LineOptions, 'start' | 'end'> {
20
+ /** Start point of the line. Default: [0, 0, 0] */
21
+ start?: Vector3Tuple;
22
+ /** End point of the line. Default: [1, 0, 0] */
23
+ end?: Vector3Tuple;
24
+ /** Text label content */
25
+ label: string;
26
+ /** Position of label along line (0 = start, 0.5 = midpoint, 1 = end). Default: 0.5 */
27
+ labelPosition?: number;
28
+ /** Label orientation relative to line. Default: 'parallel' */
29
+ labelOrientation?: LabelOrientation;
30
+ /** Distance of label from line. Default: 0.2 */
31
+ labelOffset?: number;
32
+ /** Font size for label. Default: 36 */
33
+ labelFontSize?: number;
34
+ /** Color for label text. Default: same as line color */
35
+ labelColor?: string;
36
+ }
37
+ /**
38
+ * LabeledLine - A line with an attached text label
39
+ *
40
+ * Creates a line segment with a text label positioned at a specified point
41
+ * along the line (default: midpoint). The label can be oriented parallel
42
+ * or perpendicular to the line.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * // Create a labeled line at midpoint
47
+ * const line = new LabeledLine({
48
+ * start: [-2, 0, 0],
49
+ * end: [2, 0, 0],
50
+ * label: 'Distance = 4'
51
+ * });
52
+ *
53
+ * // Label perpendicular to line
54
+ * const perpLine = new LabeledLine({
55
+ * start: [0, -1, 0],
56
+ * end: [0, 2, 0],
57
+ * label: 'Height',
58
+ * labelOrientation: 'perpendicular',
59
+ * labelOffset: 0.3
60
+ * });
61
+ * ```
62
+ */
63
+ export declare class LabeledLine extends VGroup {
64
+ private _line;
65
+ private _label;
66
+ private _labelPosition;
67
+ private _labelOrientation;
68
+ private _labelOffset;
69
+ constructor(options: LabeledLineOptions);
70
+ /**
71
+ * Update the label position and orientation based on line geometry
72
+ */
73
+ private _updateLabelPosition;
74
+ /**
75
+ * Get the underlying Line mobject
76
+ */
77
+ getLine(): Line;
78
+ /**
79
+ * Get the Text label mobject
80
+ */
81
+ getLabel(): Text;
82
+ /**
83
+ * Set the label text
84
+ */
85
+ setLabelText(text: string): this;
86
+ /**
87
+ * Set the label position along the line
88
+ */
89
+ setLabelPosition(position: number): this;
90
+ /**
91
+ * Set the label offset from the line
92
+ */
93
+ setLabelOffset(offset: number): this;
94
+ /**
95
+ * Update line endpoints and reposition label
96
+ */
97
+ setEndpoints(start: Vector3Tuple, end: Vector3Tuple): this;
98
+ /**
99
+ * Create a copy of this LabeledLine
100
+ */
101
+ protected _createCopy(): LabeledLine;
102
+ }
103
+ /**
104
+ * Options for creating a LabeledArrow
105
+ */
106
+ export interface LabeledArrowOptions extends Omit<ArrowOptions, 'start' | 'end'> {
107
+ /** Start point of the arrow. Default: [0, 0, 0] */
108
+ start?: Vector3Tuple;
109
+ /** End point of the arrow (where the tip points). Default: [1, 0, 0] */
110
+ end?: Vector3Tuple;
111
+ /** Text label content */
112
+ label: string;
113
+ /** Position of label along arrow (0 = start, 0.5 = midpoint, 1 = end). Default: 0.5 */
114
+ labelPosition?: number;
115
+ /** Label orientation relative to arrow. Default: 'parallel' */
116
+ labelOrientation?: LabelOrientation;
117
+ /** Distance of label from arrow. Default: 0.25 */
118
+ labelOffset?: number;
119
+ /** Font size for label. Default: 36 */
120
+ labelFontSize?: number;
121
+ /** Color for label text. Default: same as arrow color */
122
+ labelColor?: string;
123
+ }
124
+ /**
125
+ * LabeledArrow - An arrow with an attached text label
126
+ *
127
+ * Creates an arrow with a text label positioned near the arrow body.
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * // Create a labeled arrow
132
+ * const arrow = new LabeledArrow({
133
+ * start: [-2, 0, 0],
134
+ * end: [2, 0, 0],
135
+ * label: 'Force F'
136
+ * });
137
+ *
138
+ * // Label near the tip
139
+ * const tipArrow = new LabeledArrow({
140
+ * start: [0, 0, 0],
141
+ * end: [3, 1, 0],
142
+ * label: 'v',
143
+ * labelPosition: 0.7
144
+ * });
145
+ * ```
146
+ */
147
+ export declare class LabeledArrow extends VGroup {
148
+ private _arrow;
149
+ private _label;
150
+ private _labelPosition;
151
+ private _labelOrientation;
152
+ private _labelOffset;
153
+ constructor(options: LabeledArrowOptions);
154
+ /**
155
+ * Update the label position and orientation based on arrow geometry
156
+ */
157
+ private _updateLabelPosition;
158
+ /**
159
+ * Get the underlying Arrow mobject
160
+ */
161
+ getArrow(): Arrow;
162
+ /**
163
+ * Get the Text label mobject
164
+ */
165
+ getLabel(): Text;
166
+ /**
167
+ * Set the label text
168
+ */
169
+ setLabelText(text: string): this;
170
+ /**
171
+ * Set the label position along the arrow
172
+ */
173
+ setLabelPosition(position: number): this;
174
+ /**
175
+ * Set the label offset from the arrow
176
+ */
177
+ setLabelOffset(offset: number): this;
178
+ /**
179
+ * Update arrow endpoints and reposition label
180
+ */
181
+ setEndpoints(start: Vector3Tuple, end: Vector3Tuple): this;
182
+ /**
183
+ * Create a copy of this LabeledArrow
184
+ */
185
+ protected _createCopy(): LabeledArrow;
186
+ }
187
+ /**
188
+ * Options for creating a LabeledDot
189
+ */
190
+ export interface LabeledDotOptions extends Omit<DotOptions, 'point'> {
191
+ /** Position of the dot. Default: [0, 0, 0] */
192
+ point?: Vector3Tuple;
193
+ /** Text label content */
194
+ label: string;
195
+ /** Direction of label relative to dot. Default: 'UP' */
196
+ labelDirection?: LabelDirection;
197
+ /** Distance of label from dot center. Default: 0.3 */
198
+ labelOffset?: number;
199
+ /** Font size for label. Default: 36 */
200
+ labelFontSize?: number;
201
+ /** Color for label text. Default: white */
202
+ labelColor?: string;
203
+ }
204
+ /**
205
+ * LabeledDot - A dot with an attached text label
206
+ *
207
+ * Creates a small filled circle (dot) with a text label positioned
208
+ * in a specified direction relative to the dot.
209
+ *
210
+ * @example
211
+ * ```typescript
212
+ * // Create a labeled point
213
+ * const pointA = new LabeledDot({
214
+ * point: [1, 2, 0],
215
+ * label: 'A',
216
+ * labelDirection: 'UR'
217
+ * });
218
+ *
219
+ * // Label below the dot
220
+ * const pointB = new LabeledDot({
221
+ * point: [-1, 0, 0],
222
+ * label: 'B',
223
+ * labelDirection: 'DOWN',
224
+ * labelOffset: 0.4
225
+ * });
226
+ * ```
227
+ */
228
+ export declare class LabeledDot extends VGroup {
229
+ private _dot;
230
+ private _label;
231
+ private _labelDirection;
232
+ private _labelOffset;
233
+ constructor(options: LabeledDotOptions);
234
+ /**
235
+ * Update the label position based on dot position and direction
236
+ */
237
+ private _updateLabelPosition;
238
+ /**
239
+ * Get the underlying Dot mobject
240
+ */
241
+ getDot(): Dot;
242
+ /**
243
+ * Get the Text label mobject
244
+ */
245
+ getLabel(): Text;
246
+ /**
247
+ * Move the dot and label to a new position
248
+ */
249
+ moveTo(point: Vector3Tuple): this;
250
+ /**
251
+ * Set the label text
252
+ */
253
+ setLabelText(text: string): this;
254
+ /**
255
+ * Set the label direction
256
+ */
257
+ setLabelDirection(direction: LabelDirection): this;
258
+ /**
259
+ * Set the label offset from the dot
260
+ */
261
+ setLabelOffset(offset: number): this;
262
+ /**
263
+ * Get the position of the dot
264
+ */
265
+ getPoint(): Vector3Tuple;
266
+ /**
267
+ * Create a copy of this LabeledDot
268
+ */
269
+ protected _createCopy(): LabeledDot;
270
+ }
271
+ /**
272
+ * Options for creating an AnnotationDot
273
+ */
274
+ export interface AnnotationDotOptions extends Omit<DotOptions, 'point'> {
275
+ /** Position of the dot. Default: [0, 0, 0] */
276
+ point?: Vector3Tuple;
277
+ /** Optional text label content */
278
+ label?: string;
279
+ /** Direction of label relative to dot. Default: 'UR' */
280
+ labelDirection?: LabelDirection;
281
+ /** Distance of label from dot center. Default: 0.4 */
282
+ labelOffset?: number;
283
+ /** Font size for label. Default: 36 */
284
+ labelFontSize?: number;
285
+ /** Color for label text. Default: same as dot color */
286
+ labelColor?: string;
287
+ /** Whether to show outline/glow effect. Default: true */
288
+ showOutline?: boolean;
289
+ /** Color of the outline. Default: same as dot color with lower opacity */
290
+ outlineColor?: string;
291
+ /** Scale of the outline relative to dot. Default: 1.5 */
292
+ outlineScale?: number;
293
+ /** Opacity of the outline. Default: 0.3 */
294
+ outlineOpacity?: number;
295
+ }
296
+ /**
297
+ * AnnotationDot - A larger, more visible dot for annotations
298
+ *
299
+ * Creates a prominent dot with optional outline/glow effect and text label.
300
+ * Useful for marking important points in visualizations.
301
+ *
302
+ * @example
303
+ * ```typescript
304
+ * // Create an annotation dot with glow
305
+ * const annotDot = new AnnotationDot({
306
+ * point: [2, 1, 0],
307
+ * label: 'Critical Point',
308
+ * color: '#ff0000'
309
+ * });
310
+ *
311
+ * // Without outline
312
+ * const simpleAnnot = new AnnotationDot({
313
+ * point: [0, 0, 0],
314
+ * showOutline: false,
315
+ * label: 'Origin'
316
+ * });
317
+ * ```
318
+ */
319
+ export declare class AnnotationDot extends VGroup {
320
+ private _dot;
321
+ private _outline;
322
+ private _label;
323
+ private _labelDirection;
324
+ private _labelOffset;
325
+ private _showOutline;
326
+ constructor(options?: AnnotationDotOptions);
327
+ /**
328
+ * Update the label position based on dot position and direction
329
+ */
330
+ private _updateLabelPosition;
331
+ /**
332
+ * Get the underlying Dot mobject
333
+ */
334
+ getDot(): Dot;
335
+ /**
336
+ * Get the outline Circle (if enabled)
337
+ */
338
+ getOutline(): Circle | null;
339
+ /**
340
+ * Get the Text label mobject (if set)
341
+ */
342
+ getLabel(): Text | null;
343
+ /**
344
+ * Move the dot (and outline/label) to a new position
345
+ */
346
+ moveTo(point: Vector3Tuple): this;
347
+ /**
348
+ * Set the label text
349
+ */
350
+ setLabelText(text: string): this;
351
+ /**
352
+ * Set the label direction
353
+ */
354
+ setLabelDirection(direction: LabelDirection): this;
355
+ /**
356
+ * Set the label offset from the dot
357
+ */
358
+ setLabelOffset(offset: number): this;
359
+ /**
360
+ * Get the position of the dot
361
+ */
362
+ getPoint(): Vector3Tuple;
363
+ /**
364
+ * Show or hide the outline
365
+ */
366
+ setShowOutline(show: boolean): this;
367
+ /**
368
+ * Create a copy of this AnnotationDot
369
+ */
370
+ protected _createCopy(): AnnotationDot;
371
+ }
372
+ //# sourceMappingURL=LabeledGeometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabeledGeometry.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/LabeledGeometry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { VMobject } from '../../core/VMobject';
2
+ import { Vector3Tuple } from '../../core/Mobject';
3
+ /**
4
+ * Options for creating a Line
5
+ */
6
+ export interface LineOptions {
7
+ /** Start point of the line. Default: [0, 0, 0] */
8
+ start?: Vector3Tuple;
9
+ /** End point of the line. Default: [1, 0, 0] */
10
+ end?: Vector3Tuple;
11
+ /** Stroke color as CSS color string. Default: WHITE */
12
+ color?: string;
13
+ /** Stroke width in pixels. Default: 4 (Manim's default) */
14
+ strokeWidth?: number;
15
+ }
16
+ /**
17
+ * Line - A straight line segment VMobject
18
+ *
19
+ * Creates a simple line from a start point to an end point.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // Create a horizontal line
24
+ * const line = new Line();
25
+ *
26
+ * // Create a diagonal line
27
+ * const diagonal = new Line({
28
+ * start: [-1, -1, 0],
29
+ * end: [1, 1, 0],
30
+ * color: '#00ff00'
31
+ * });
32
+ * ```
33
+ */
34
+ export declare class Line extends VMobject {
35
+ private _start;
36
+ private _end;
37
+ constructor(options?: LineOptions);
38
+ /**
39
+ * Generate the line points as a degenerate cubic Bezier
40
+ */
41
+ private _generatePoints;
42
+ /**
43
+ * Get the start point (derived from transformed _points3D when available)
44
+ */
45
+ getStart(): Vector3Tuple;
46
+ /**
47
+ * Set the start point
48
+ */
49
+ setStart(point: Vector3Tuple): this;
50
+ /**
51
+ * Get the end point (derived from transformed _points3D when available)
52
+ */
53
+ getEnd(): Vector3Tuple;
54
+ /**
55
+ * Set the end point
56
+ */
57
+ setEnd(point: Vector3Tuple): this;
58
+ /**
59
+ * Get the length of the line
60
+ */
61
+ getLength(): number;
62
+ /**
63
+ * Get the midpoint of the line
64
+ */
65
+ getMidpoint(): Vector3Tuple;
66
+ /**
67
+ * Get the direction vector of the line (normalized)
68
+ */
69
+ getDirection(): Vector3Tuple;
70
+ /**
71
+ * Get the angle of the line in the XY plane (in radians)
72
+ */
73
+ getAngle(): number;
74
+ /**
75
+ * Get a point along the line at parameter t (0 = start, 1 = end)
76
+ */
77
+ pointAlongPath(t: number): Vector3Tuple;
78
+ /**
79
+ * Create a copy of this Line
80
+ */
81
+ protected _createCopy(): Line;
82
+ }
83
+ //# sourceMappingURL=Line.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Line.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/Line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,gDAAgD;IAChD,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,IAAK,SAAQ,QAAQ;IAChC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,IAAI,CAAe;gBAEf,OAAO,GAAE,WAAgB;IAoBrC;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;OAEG;IACH,QAAQ,IAAI,YAAY;IAQxB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAMnC;;OAEG;IACH,MAAM,IAAI,YAAY;IAQtB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAMjC;;OAEG;IACH,SAAS,IAAI,MAAM;IAOnB;;OAEG;IACH,WAAW,IAAI,YAAY;IAQ3B;;OAEG;IACH,YAAY,IAAI,YAAY;IAY5B;;OAEG;IACH,QAAQ,IAAI,MAAM;IAOlB;;OAEG;IACH,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY;IAQvC;;OAEG;cACgB,WAAW,IAAI,IAAI;CAQvC"}
@@ -0,0 +1,155 @@
1
+ import { VMobject } from '../../core/VMobject';
2
+ import { Vector3Tuple } from '../../core/Mobject';
3
+ /**
4
+ * Options for creating a Polygon
5
+ */
6
+ export interface PolygonOptions {
7
+ /** Array of vertices defining the polygon. Required. */
8
+ vertices: Vector3Tuple[];
9
+ /** Stroke color as CSS color string. Default: Manim's blue (#58C4DD) */
10
+ color?: string;
11
+ /** Fill opacity from 0 to 1. Default: 0 */
12
+ fillOpacity?: number;
13
+ /** Stroke width in pixels. Default: 4 (Manim's default) */
14
+ strokeWidth?: number;
15
+ /** Whether to close the polygon. Default: true */
16
+ closed?: boolean;
17
+ }
18
+ /**
19
+ * Polygon - A polygonal VMobject defined by vertices
20
+ *
21
+ * Creates a polygon by connecting a series of vertices with line segments.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * // Create a triangle
26
+ * const triangle = new Polygon({
27
+ * vertices: [
28
+ * [0, 1, 0],
29
+ * [-1, -0.5, 0],
30
+ * [1, -0.5, 0]
31
+ * ]
32
+ * });
33
+ *
34
+ * // Create an open path (not closed)
35
+ * const path = new Polygon({
36
+ * vertices: [[0, 0, 0], [1, 1, 0], [2, 0, 0]],
37
+ * closed: false
38
+ * });
39
+ * ```
40
+ */
41
+ export declare class Polygon extends VMobject {
42
+ private _vertices;
43
+ private _closed;
44
+ constructor(options: PolygonOptions);
45
+ /**
46
+ * Generate the polygon points from vertices as line segments
47
+ */
48
+ private _generatePoints;
49
+ /**
50
+ * Get the vertices of the polygon
51
+ */
52
+ getVertices(): Vector3Tuple[];
53
+ /**
54
+ * Set the vertices of the polygon
55
+ */
56
+ setVertices(vertices: Vector3Tuple[]): this;
57
+ /**
58
+ * Get whether the polygon is closed
59
+ */
60
+ isClosed(): boolean;
61
+ /**
62
+ * Set whether the polygon is closed
63
+ */
64
+ setClosed(value: boolean): this;
65
+ /**
66
+ * Get the number of vertices
67
+ */
68
+ getVertexCount(): number;
69
+ /**
70
+ * Get a specific vertex by index
71
+ */
72
+ getVertex(index: number): Vector3Tuple;
73
+ /**
74
+ * Set a specific vertex by index
75
+ */
76
+ setVertex(index: number, point: Vector3Tuple): this;
77
+ /**
78
+ * Get the centroid of the polygon
79
+ */
80
+ getCentroid(): Vector3Tuple;
81
+ /**
82
+ * Calculate the area of the polygon using the Shoelace formula (2D, in XY plane)
83
+ * Returns a positive value for counter-clockwise vertices, negative for clockwise
84
+ */
85
+ getSignedArea(): number;
86
+ /**
87
+ * Get the area of the polygon (absolute value)
88
+ */
89
+ getArea(): number;
90
+ /**
91
+ * Get the perimeter of the polygon
92
+ */
93
+ getPerimeter(): number;
94
+ /**
95
+ * Create a copy of this Polygon
96
+ */
97
+ protected _createCopy(): Polygon;
98
+ }
99
+ /**
100
+ * Triangle - A polygon with exactly 3 vertices
101
+ */
102
+ export declare class Triangle extends Polygon {
103
+ constructor(options?: Omit<PolygonOptions, 'vertices' | 'closed'> & {
104
+ vertices?: [Vector3Tuple, Vector3Tuple, Vector3Tuple];
105
+ });
106
+ }
107
+ /**
108
+ * RegularPolygon - A polygon with all sides equal and all angles equal
109
+ */
110
+ export declare class RegularPolygon extends Polygon {
111
+ private _numSides;
112
+ private _radius;
113
+ constructor(options?: Omit<PolygonOptions, 'vertices' | 'closed'> & {
114
+ numSides?: number;
115
+ radius?: number;
116
+ center?: Vector3Tuple;
117
+ startAngle?: number;
118
+ });
119
+ private static _generateVertices;
120
+ /**
121
+ * Get the number of sides
122
+ */
123
+ getNumSides(): number;
124
+ /**
125
+ * Get the radius (circumradius)
126
+ */
127
+ getPolygonRadius(): number;
128
+ /**
129
+ * Get the apothem (inradius)
130
+ */
131
+ getApothem(): number;
132
+ /**
133
+ * Get the side length
134
+ */
135
+ getSideLength(): number;
136
+ }
137
+ /**
138
+ * Hexagon - A regular hexagon (6 sides)
139
+ */
140
+ export declare class Hexagon extends RegularPolygon {
141
+ constructor(options?: Omit<PolygonOptions, 'vertices' | 'closed'> & {
142
+ radius?: number;
143
+ center?: Vector3Tuple;
144
+ });
145
+ }
146
+ /**
147
+ * Pentagon - A regular pentagon (5 sides)
148
+ */
149
+ export declare class Pentagon extends RegularPolygon {
150
+ constructor(options?: Omit<PolygonOptions, 'vertices' | 'closed'> & {
151
+ radius?: number;
152
+ center?: Vector3Tuple;
153
+ });
154
+ }
155
+ //# sourceMappingURL=Polygon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Polygon.d.ts","sourceRoot":"","sources":["../../../src/mobjects/geometry/Polygon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,OAAQ,SAAQ,QAAQ;IACnC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,EAAE,cAAc;IAyBnC;;OAEG;IACH,OAAO,CAAC,eAAe;IAoCvB;;OAEG;IACH,WAAW,IAAI,YAAY,EAAE;IAI7B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAS3C;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAM/B;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY;IAOtC;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IASnD;;OAEG;IACH,WAAW,IAAI,YAAY;IAsB3B;;;OAGG;IACH,aAAa,IAAI,MAAM;IAiBvB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,YAAY,IAAI,MAAM;IAqBtB;;OAEG;cACgB,WAAW,IAAI,OAAO;CAS1C;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,OAAO;gBAEjC,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,QAAQ,CAAC,GAAG;QACrD,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;KAClD;CAaT;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,OAAO;IACzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;gBAGtB,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,QAAQ,CAAC,GAAG;QACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,YAAY,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB;IAiBR,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqBhC;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,aAAa,IAAI,MAAM;CAGxB;AAED;;GAEG;AACH,qBAAa,OAAQ,SAAQ,cAAc;gBAEvC,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,QAAQ,CAAC,GAAG;QACrD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,YAAY,CAAC;KAClB;CAIT;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,cAAc;gBAExC,OAAO,GAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,QAAQ,CAAC,GAAG;QACrD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,YAAY,CAAC;KAClB;CAIT"}