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,123 @@
1
+ import { VMobject } from '../../core/VMobject';
2
+ import { Vector3Tuple } from '../../core/Mobject';
3
+ import { Axes } from './Axes';
4
+ /**
5
+ * Options for creating a FunctionGraph
6
+ */
7
+ export interface FunctionGraphOptions {
8
+ /** The function to graph: y = func(x) */
9
+ func: (x: number) => number;
10
+ /** X range for the graph as [min, max]. Default: from axes or [-5, 5] */
11
+ xRange?: [number, number];
12
+ /** Stroke color. Default: '#58c4dd' (Manim blue) */
13
+ color?: string;
14
+ /** Stroke width in pixels. Default: 2 */
15
+ strokeWidth?: number;
16
+ /** X values where the function is discontinuous. Default: [] */
17
+ discontinuities?: number[];
18
+ /** Number of samples to take. Default: 100 */
19
+ numSamples?: number;
20
+ /** Reference axes for coordinate transformation. Optional */
21
+ axes?: Axes;
22
+ }
23
+ /**
24
+ * FunctionGraph - A graph of a mathematical function y = f(x)
25
+ *
26
+ * Samples a function over a range and creates a smooth curve using Bezier curves.
27
+ * Can handle discontinuities by breaking the path at specified x values.
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * // Create a simple parabola
32
+ * const parabola = new FunctionGraph({
33
+ * func: x => x * x
34
+ * });
35
+ *
36
+ * // Create a sine wave with custom range
37
+ * const sine = new FunctionGraph({
38
+ * func: x => Math.sin(x),
39
+ * xRange: [-Math.PI * 2, Math.PI * 2],
40
+ * numSamples: 200,
41
+ * color: '#ff0000'
42
+ * });
43
+ *
44
+ * // Graph with discontinuity (e.g., 1/x)
45
+ * const reciprocal = new FunctionGraph({
46
+ * func: x => 1 / x,
47
+ * xRange: [-5, 5],
48
+ * discontinuities: [0]
49
+ * });
50
+ * ```
51
+ */
52
+ export declare class FunctionGraph extends VMobject {
53
+ private _func;
54
+ private _xRange;
55
+ private _discontinuities;
56
+ private _numSamples;
57
+ private _axes;
58
+ constructor(options: FunctionGraphOptions);
59
+ /**
60
+ * Generate the curve points by sampling the function
61
+ */
62
+ private _generatePoints;
63
+ /**
64
+ * Sample the function over a range
65
+ */
66
+ private _sampleRange;
67
+ /**
68
+ * Convert sampled points to smooth Bezier curve points
69
+ */
70
+ private _pointsToBezier;
71
+ /**
72
+ * Get a point on the graph at a given x value
73
+ * @param x - The x coordinate
74
+ * @returns The 3D point on the graph, or null if x is outside range or at discontinuity
75
+ */
76
+ getPointFromX(x: number): Vector3Tuple | null;
77
+ /**
78
+ * Get the function being graphed
79
+ */
80
+ getFunction(): (x: number) => number;
81
+ /**
82
+ * Set a new function to graph
83
+ */
84
+ setFunction(func: (x: number) => number): this;
85
+ /**
86
+ * Get the x range
87
+ */
88
+ getXRange(): [number, number];
89
+ /** Minimum x value (alias for Python Manim's graph.t_min). */
90
+ get tMin(): number;
91
+ /** Maximum x value (alias for Python Manim's graph.t_max). */
92
+ get tMax(): number;
93
+ /**
94
+ * Set the x range
95
+ */
96
+ setXRange(xRange: [number, number]): this;
97
+ /**
98
+ * Get the discontinuities
99
+ */
100
+ getDiscontinuities(): number[];
101
+ /**
102
+ * Set the discontinuities
103
+ */
104
+ setDiscontinuities(discontinuities: number[]): this;
105
+ /**
106
+ * Get the number of samples
107
+ */
108
+ getNumSamples(): number;
109
+ /**
110
+ * Set the number of samples
111
+ */
112
+ setNumSamples(numSamples: number): this;
113
+ /**
114
+ * Set the reference axes
115
+ */
116
+ setAxes(axes: Axes | null): this;
117
+ /**
118
+ * Create a copy of this FunctionGraph
119
+ */
120
+ protected _createCopy(): FunctionGraph;
121
+ }
122
+ export default FunctionGraph;
123
+ //# sourceMappingURL=FunctionGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunctionGraph.d.ts","sourceRoot":"","sources":["../../../src/mobjects/graphing/FunctionGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5B,yEAAyE;IACzE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IACzC,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAc;gBAEf,OAAO,EAAE,oBAAoB;IAoCzC;;OAEG;IACH,OAAO,CAAC,eAAe;IA2CvB;;OAEG;IACH,OAAO,CAAC,YAAY;IA0BpB;;OAEG;IACH,OAAO,CAAC,eAAe;IA6DvB;;;;OAIG;IACH,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAyB7C;;OAEG;IACH,WAAW,IAAI,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM;IAIpC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAM9C;;OAEG;IACH,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAI7B,8DAA8D;IAC9D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,8DAA8D;IAC9D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAMzC;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI;IAMnD;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMvC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;IAMhC;;OAEG;cACgB,WAAW,IAAI,aAAa;CAWhD;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,131 @@
1
+ import { VMobject } from '../../core/VMobject';
2
+ import { Axes } from './Axes';
3
+ /**
4
+ * Options for creating an ImplicitFunction
5
+ */
6
+ export interface ImplicitFunctionOptions {
7
+ /** The implicit function f(x, y) whose zero-level set is plotted */
8
+ func: (x: number, y: number) => number;
9
+ /** X range for the plot as [min, max]. Default: [-5, 5] */
10
+ xRange?: [number, number];
11
+ /** Y range for the plot as [min, max]. Default: [-5, 5] */
12
+ yRange?: [number, number];
13
+ /** Minimum grid depth (grid = 2^minDepth cells per axis). Default: 5 */
14
+ minDepth?: number;
15
+ /** Maximum grid depth for adaptive refinement (grid = 2^maxDepth at finest). Default: 9 */
16
+ maxDepth?: number;
17
+ /** Stroke color. Default: '#58c4dd' (Manim blue) */
18
+ color?: string;
19
+ /** Stroke width in pixels. Default: 2 */
20
+ strokeWidth?: number;
21
+ /** Reference axes for coordinate transformation. Optional */
22
+ axes?: Axes;
23
+ }
24
+ /**
25
+ * ImplicitFunction - Plots the zero-level set of f(x, y) = 0
26
+ *
27
+ * Uses the Marching Squares algorithm with adaptive refinement to find
28
+ * and render implicit curves. Cells containing sign changes are
29
+ * recursively subdivided from minDepth up to maxDepth for higher
30
+ * fidelity near the contour without paying the cost of a globally fine grid.
31
+ *
32
+ * Can handle multiple disjoint curves, closed loops, and saddle points.
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * // Plot a circle: x^2 + y^2 - 1 = 0
37
+ * const circle = new ImplicitFunction({
38
+ * func: (x, y) => x * x + y * y - 1,
39
+ * });
40
+ *
41
+ * // Plot a hyperbola: x^2 - y^2 - 1 = 0
42
+ * const hyperbola = new ImplicitFunction({
43
+ * func: (x, y) => x * x - y * y - 1,
44
+ * xRange: [-3, 3],
45
+ * yRange: [-3, 3],
46
+ * });
47
+ *
48
+ * // Plot with axes and adaptive refinement
49
+ * const axes = new Axes();
50
+ * const curve = new ImplicitFunction({
51
+ * func: (x, y) => Math.sin(x) - y,
52
+ * axes,
53
+ * minDepth: 4,
54
+ * maxDepth: 8,
55
+ * });
56
+ * ```
57
+ */
58
+ export declare class ImplicitFunction extends VMobject {
59
+ private _func;
60
+ private _xRange;
61
+ private _yRange;
62
+ private _minDepth;
63
+ private _maxDepth;
64
+ private _axes;
65
+ constructor(options: ImplicitFunctionOptions);
66
+ /**
67
+ * Generate the curve points using adaptive Marching Squares
68
+ */
69
+ private _generatePoints;
70
+ /**
71
+ * Run the adaptive Marching Squares algorithm to extract line segments
72
+ * along the zero-level set. Starts at minDepth resolution and recursively
73
+ * subdivides cells with sign changes up to maxDepth.
74
+ */
75
+ private _marchingSquares;
76
+ /**
77
+ * Recursively process a single cell. If the cell has a sign change and
78
+ * the current depth is below maxDepth, subdivide it into 4 sub-cells.
79
+ * Otherwise, emit marching-squares segments for this cell.
80
+ */
81
+ private _processCell;
82
+ /**
83
+ * Linear interpolation along a grid edge to find the zero-crossing point.
84
+ * Interpolates between (x0, y0) with value v0 and (x1, y1) with value v1.
85
+ */
86
+ private _interpolateEdge;
87
+ /**
88
+ * Chain individual line segments into continuous polylines by matching
89
+ * endpoints within an epsilon tolerance.
90
+ */
91
+ private _chainSegments;
92
+ /**
93
+ * Convert sampled points to smooth Bezier curve points using
94
+ * Catmull-Rom to Bezier conversion with tension 0.5.
95
+ */
96
+ private _pointsToBezier;
97
+ /**
98
+ * Get the implicit function
99
+ */
100
+ getFunction(): (x: number, y: number) => number;
101
+ /**
102
+ * Set a new implicit function to plot
103
+ */
104
+ setFunction(func: (x: number, y: number) => number): this;
105
+ /**
106
+ * Get the x range
107
+ */
108
+ getXRange(): [number, number];
109
+ /**
110
+ * Set the x range
111
+ */
112
+ setXRange(xRange: [number, number]): this;
113
+ /**
114
+ * Get the y range
115
+ */
116
+ getYRange(): [number, number];
117
+ /**
118
+ * Set the y range
119
+ */
120
+ setYRange(yRange: [number, number]): this;
121
+ /**
122
+ * Set the reference axes
123
+ */
124
+ setAxes(axes: Axes | null): this;
125
+ /**
126
+ * Create a copy of this ImplicitFunction
127
+ */
128
+ protected _createCopy(): ImplicitFunction;
129
+ }
130
+ export default ImplicitFunction;
131
+ //# sourceMappingURL=ImplicitFunction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImplicitFunction.d.ts","sourceRoot":"","sources":["../../../src/mobjects/graphing/ImplicitFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,2DAA2D;IAC3D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,2DAA2D;IAC3D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAc;gBAEf,OAAO,EAAE,uBAAuB;IA4B5C;;OAEG;IACH,OAAO,CAAC,eAAe;IAiCvB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA0CxB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IA8HpB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAkGtB;;;OAGG;IACH,OAAO,CAAC,eAAe;IA6DvB;;OAEG;IACH,WAAW,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM;IAI/C;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAMzD;;OAEG;IACH,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAI7B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAMzC;;OAEG;IACH,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAI7B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAMzC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;IAMhC;;OAEG;cACgB,WAAW,IAAI,gBAAgB;CAYnD;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,195 @@
1
+ import { VMobject } from '../../core/VMobject';
2
+ import { Mobject, Vector3Tuple } from '../../core/Mobject';
3
+ /**
4
+ * Options for creating a NumberLine
5
+ */
6
+ export interface NumberLineOptions {
7
+ /** Range as [min, max, step]. Default: [-5, 5, 1] */
8
+ xRange?: [number, number, number];
9
+ /** Visual length of the number line. Default: 10 */
10
+ length?: number;
11
+ /** Stroke color as CSS color string. Default: '#ffffff' */
12
+ color?: string;
13
+ /** Stroke width in pixels. Default: 2 */
14
+ strokeWidth?: number;
15
+ /** Whether to include tick marks. Default: true */
16
+ includeTicks?: boolean;
17
+ /** Size of tick marks. Default: 0.2 */
18
+ tickSize?: number;
19
+ /** Whether to include number labels. Default: false */
20
+ includeNumbers?: boolean;
21
+ /** Numbers to exclude from labels. Default: [] */
22
+ numbersToExclude?: number[];
23
+ /** Specific numbers to show as labels (overrides includeNumbers). */
24
+ numbersToInclude?: number[];
25
+ /** Numbers that get elongated (taller) tick marks. */
26
+ numbersWithElongatedTicks?: number[];
27
+ /** Decimal places for number labels. Default: 0 */
28
+ decimalPlaces?: number;
29
+ /** Font size for number labels. Default: 24 */
30
+ numberFontSize?: number;
31
+ }
32
+ /**
33
+ * NumberLine - A line with tick marks for representing a range of numbers
34
+ *
35
+ * Creates a horizontal line with tick marks at regular intervals.
36
+ * Can optionally display number labels at each tick.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // Create a simple number line from -5 to 5
41
+ * const numberLine = new NumberLine();
42
+ *
43
+ * // Create a number line with custom range and labels
44
+ * const labeledLine = new NumberLine({
45
+ * xRange: [0, 10, 2],
46
+ * length: 8,
47
+ * includeNumbers: true
48
+ * });
49
+ * ```
50
+ */
51
+ export declare class NumberLine extends VMobject {
52
+ private _xRange;
53
+ private _length;
54
+ private _includeTicks;
55
+ private _tickSize;
56
+ private _includeNumbers;
57
+ private _numbersToExclude;
58
+ private _numbersToInclude;
59
+ private _numbersWithElongatedTicks;
60
+ private _decimalPlaces;
61
+ private _numberFontSize;
62
+ private _tickMarks;
63
+ private _numberLabels;
64
+ constructor(options?: NumberLineOptions);
65
+ /**
66
+ * Generate the number line points including main line and ticks
67
+ */
68
+ private _generatePoints;
69
+ /**
70
+ * Convert a number value to its x position on the line
71
+ */
72
+ private _numberToX;
73
+ /**
74
+ * Convert a number value to its point on the number line
75
+ * @param n - The number value to convert
76
+ * @returns The 3D point [x, y, z] on the number line
77
+ */
78
+ numberToPoint(n: number): Vector3Tuple;
79
+ /**
80
+ * Convert a point on the number line to its number value
81
+ * @param point - The 3D point to convert
82
+ * @returns The number value at that point
83
+ */
84
+ pointToNumber(point: Vector3Tuple): number;
85
+ /**
86
+ * Get all tick mark VMobjects
87
+ * @returns Array of VMobjects representing tick marks
88
+ */
89
+ getTickMarks(): VMobject[];
90
+ /**
91
+ * Get the x range
92
+ */
93
+ getXRange(): [number, number, number];
94
+ /**
95
+ * Set the x range
96
+ */
97
+ setXRange(xRange: [number, number, number]): this;
98
+ /**
99
+ * Get the visual length
100
+ */
101
+ getLength(): number;
102
+ /**
103
+ * Set the visual length
104
+ */
105
+ setLength(length: number): this;
106
+ /**
107
+ * Get the tick size
108
+ */
109
+ getTickSize(): number;
110
+ /**
111
+ * Set the tick size
112
+ */
113
+ setTickSize(size: number): this;
114
+ /**
115
+ * Get whether ticks are included
116
+ */
117
+ hasTicks(): boolean;
118
+ /**
119
+ * Set whether ticks are included
120
+ */
121
+ setIncludeTicks(include: boolean): this;
122
+ /**
123
+ * Get the minimum value of the range
124
+ */
125
+ getMin(): number;
126
+ /**
127
+ * Get the maximum value of the range
128
+ */
129
+ getMax(): number;
130
+ /**
131
+ * Get the step value of the range
132
+ */
133
+ getStep(): number;
134
+ /**
135
+ * Get default numbers to show (at each step)
136
+ */
137
+ private _getDefaultNumbers;
138
+ /**
139
+ * Get number label mobjects
140
+ */
141
+ getNumberLabels(): Mobject[];
142
+ /**
143
+ * Create a copy of this NumberLine
144
+ */
145
+ protected _createCopy(): NumberLine;
146
+ }
147
+ /**
148
+ * Options for creating a UnitInterval
149
+ */
150
+ export interface UnitIntervalOptions {
151
+ /** Visual length of the unit interval. Default: 5 */
152
+ length?: number;
153
+ /** Stroke color as CSS color string. Default: '#ffffff' */
154
+ color?: string;
155
+ /** Stroke width in pixels. Default: 2 */
156
+ strokeWidth?: number;
157
+ /** Whether to include tick marks. Default: true */
158
+ includeTicks?: boolean;
159
+ /** Size of tick marks. Default: 0.2 */
160
+ tickSize?: number;
161
+ /** Whether to include number labels. Default: false */
162
+ includeNumbers?: boolean;
163
+ /** Number of subdivisions. Default: 10 (ticks at 0, 0.1, 0.2, ..., 1) */
164
+ numDecimalPlaces?: number;
165
+ /** Numbers to exclude from labels. Default: [] */
166
+ numbersToExclude?: number[];
167
+ }
168
+ /**
169
+ * UnitInterval - A NumberLine from 0 to 1
170
+ *
171
+ * A convenience class that creates a NumberLine representing the unit interval [0, 1].
172
+ * Commonly used for probability, percentage, or normalized value visualizations.
173
+ *
174
+ * @example
175
+ * ```typescript
176
+ * // Create a simple unit interval
177
+ * const unitInterval = new UnitInterval();
178
+ *
179
+ * // Create a unit interval with labels
180
+ * const labeledInterval = new UnitInterval({
181
+ * length: 8,
182
+ * includeNumbers: true,
183
+ * numDecimalPlaces: 2 // ticks at 0, 0.25, 0.5, 0.75, 1
184
+ * });
185
+ * ```
186
+ */
187
+ export declare class UnitInterval extends NumberLine {
188
+ constructor(options?: UnitIntervalOptions);
189
+ /**
190
+ * Create a copy of this UnitInterval
191
+ */
192
+ protected _createCopy(): UnitInterval;
193
+ }
194
+ export default NumberLine;
195
+ //# sourceMappingURL=NumberLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberLine.d.ts","sourceRoot":"","sources":["../../../src/mobjects/graphing/NumberLine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { Group } from '../../core/Group';
2
+ import { Axes, AxesOptions } from './Axes';
3
+ /**
4
+ * Style configuration for background grid lines
5
+ */
6
+ export interface BackgroundLineStyle {
7
+ /** Stroke color for grid lines. Default: '#29ABCA' (BLUE_D) */
8
+ color?: string;
9
+ /** Stroke width for grid lines. Default: 2 */
10
+ strokeWidth?: number;
11
+ /** Opacity for grid lines. Default: 1 */
12
+ opacity?: number;
13
+ }
14
+ /**
15
+ * Options for creating a NumberPlane
16
+ */
17
+ export interface NumberPlaneOptions extends AxesOptions {
18
+ /** Whether to include background grid lines. Default: true */
19
+ includeBackgroundLines?: boolean;
20
+ /** Style configuration for background grid lines */
21
+ backgroundLineStyle?: BackgroundLineStyle;
22
+ /** Style configuration for faded sub-grid lines. Auto-computed from backgroundLineStyle if not set. */
23
+ fadedLineStyle?: BackgroundLineStyle;
24
+ /** Number of faded lines per interval between main lines. Default: 1 */
25
+ fadedLineRatio?: number;
26
+ /** Fading factor for lines far from axes. Default: 1 (no fading) */
27
+ fadingFactor?: number;
28
+ }
29
+ /**
30
+ * NumberPlane - A coordinate system with a background grid
31
+ *
32
+ * Extends Axes to add a grid of background lines for better visualization
33
+ * of the coordinate space.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * // Create a simple number plane
38
+ * const plane = new NumberPlane();
39
+ *
40
+ * // Create a number plane with custom grid styling
41
+ * const styledPlane = new NumberPlane({
42
+ * xRange: [-5, 5, 1],
43
+ * yRange: [-3, 3, 1],
44
+ * backgroundLineStyle: {
45
+ * color: '#334455',
46
+ * strokeWidth: 0.5,
47
+ * opacity: 0.3
48
+ * }
49
+ * });
50
+ * ```
51
+ */
52
+ export declare class NumberPlane extends Axes {
53
+ private _includeBackgroundLines;
54
+ private _backgroundLineStyle;
55
+ private _fadedLineStyle;
56
+ private _fadedLineRatio;
57
+ private _fadingFactor;
58
+ private _backgroundLines;
59
+ constructor(options?: NumberPlaneOptions);
60
+ /**
61
+ * Generate the background grid lines
62
+ */
63
+ private _generateBackgroundLines;
64
+ /**
65
+ * Calculate the opacity of a line based on its distance from the origin
66
+ */
67
+ private _calculateLineOpacity;
68
+ /**
69
+ * Get the background lines Group
70
+ * @returns Group containing all background grid lines
71
+ */
72
+ getBackgroundLines(): Group;
73
+ /**
74
+ * Set whether to show background lines
75
+ */
76
+ setIncludeBackgroundLines(include: boolean): this;
77
+ /**
78
+ * Set the background line style
79
+ */
80
+ setBackgroundLineStyle(style: Partial<BackgroundLineStyle>): this;
81
+ /**
82
+ * Get the background line style
83
+ */
84
+ getBackgroundLineStyle(): BackgroundLineStyle;
85
+ /**
86
+ * Create a copy of this NumberPlane
87
+ */
88
+ protected _createCopy(): NumberPlane;
89
+ }
90
+ export default NumberPlane;
91
+ //# sourceMappingURL=NumberPlane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberPlane.d.ts","sourceRoot":"","sources":["../../../src/mobjects/graphing/NumberPlane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAG3C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,8DAA8D;IAC9D,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,uGAAuG;IACvG,cAAc,CAAC,EAAE,mBAAmB,CAAC;IACrC,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,WAAY,SAAQ,IAAI;IACnC,OAAO,CAAC,uBAAuB,CAAU;IACzC,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAQ;gBAEpB,OAAO,GAAE,kBAAuB;IAqD5C;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgHhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;;OAGG;IACH,kBAAkB,IAAI,KAAK;IAI3B;;OAEG;IACH,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAuBjD;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;IASjE;;OAEG;IACH,sBAAsB,IAAI,mBAAmB;IAI7C;;OAEG;cACgB,WAAW,IAAI,WAAW;CAe9C;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,111 @@
1
+ import { VMobject } from '../../core/VMobject';
2
+ import { Vector3Tuple } from '../../core/Mobject';
3
+ import { Axes } from './Axes';
4
+ /**
5
+ * Options for creating a ParametricFunction
6
+ */
7
+ export interface ParametricFunctionOptions {
8
+ /** The parametric function: returns [x, y] or [x, y, z] for a given t */
9
+ func: (t: number) => [number, number] | [number, number, number];
10
+ /** Parameter range as [min, max]. Default: [0, 1] */
11
+ tRange?: [number, number];
12
+ /** Stroke color. Default: '#58c4dd' (Manim blue) */
13
+ color?: string;
14
+ /** Stroke width in pixels. Default: 2 */
15
+ strokeWidth?: number;
16
+ /** Number of samples to take. Default: 100 */
17
+ numSamples?: number;
18
+ /** Reference axes for coordinate transformation. Optional */
19
+ axes?: Axes;
20
+ /** Whether to use axes coordinate transformation. Default: true if axes provided */
21
+ useAxesCoords?: boolean;
22
+ }
23
+ /**
24
+ * ParametricFunction - A curve defined by parametric equations
25
+ *
26
+ * Samples a parametric function over a parameter range and creates a smooth curve.
27
+ * The function takes a parameter t and returns the position [x, y] or [x, y, z].
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * // Create a circle using parametric equations
32
+ * const circle = new ParametricFunction({
33
+ * func: t => [Math.cos(t), Math.sin(t)],
34
+ * tRange: [0, 2 * Math.PI]
35
+ * });
36
+ *
37
+ * // Create a Lissajous curve
38
+ * const lissajous = new ParametricFunction({
39
+ * func: t => [Math.sin(3 * t), Math.sin(2 * t)],
40
+ * tRange: [0, 2 * Math.PI],
41
+ * numSamples: 200
42
+ * });
43
+ *
44
+ * // Create a spiral
45
+ * const spiral = new ParametricFunction({
46
+ * func: t => [t * Math.cos(t * 6), t * Math.sin(t * 6)],
47
+ * tRange: [0, 2],
48
+ * color: '#ff00ff'
49
+ * });
50
+ * ```
51
+ */
52
+ export declare class ParametricFunction extends VMobject {
53
+ private _func;
54
+ private _tRange;
55
+ private _numSamples;
56
+ private _axes;
57
+ private _useAxesCoords;
58
+ constructor(options: ParametricFunctionOptions);
59
+ /**
60
+ * Generate the curve points by sampling the parametric function
61
+ */
62
+ private _generatePoints;
63
+ /**
64
+ * Convert sampled points to smooth Bezier curve points
65
+ */
66
+ private _pointsToBezier;
67
+ /**
68
+ * Get a point on the curve at a given parameter value
69
+ * @param t - The parameter value
70
+ * @returns The 3D point on the curve
71
+ */
72
+ getPointFromT(t: number): Vector3Tuple;
73
+ /**
74
+ * Get the parametric function
75
+ */
76
+ getFunction(): (t: number) => [number, number] | [number, number, number];
77
+ /**
78
+ * Set a new parametric function
79
+ */
80
+ setFunction(func: (t: number) => [number, number] | [number, number, number]): this;
81
+ /**
82
+ * Get the parameter range
83
+ */
84
+ getTRange(): [number, number];
85
+ /**
86
+ * Set the parameter range
87
+ */
88
+ setTRange(tRange: [number, number]): this;
89
+ /**
90
+ * Get the number of samples
91
+ */
92
+ getNumSamples(): number;
93
+ /**
94
+ * Set the number of samples
95
+ */
96
+ setNumSamples(numSamples: number): this;
97
+ /**
98
+ * Set the reference axes
99
+ */
100
+ setAxes(axes: Axes | null): this;
101
+ /**
102
+ * Set whether to use axes coordinate transformation
103
+ */
104
+ setUseAxesCoords(use: boolean): this;
105
+ /**
106
+ * Create a copy of this ParametricFunction
107
+ */
108
+ protected _createCopy(): ParametricFunction;
109
+ }
110
+ export default ParametricFunction;
111
+ //# sourceMappingURL=ParametricFunction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParametricFunction.d.ts","sourceRoot":"","sources":["../../../src/mobjects/graphing/ParametricFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,yEAAyE;IACzE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjE,qDAAqD;IACrD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,oFAAoF;IACpF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,OAAO,CAAC,KAAK,CAA6D;IAC1E,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,cAAc,CAAU;gBAEpB,OAAO,EAAE,yBAAyB;IA0B9C;;OAEG;IACH,OAAO,CAAC,eAAe;IA4CvB;;OAEG;IACH,OAAO,CAAC,eAAe;IA4DvB;;;;OAIG;IACH,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY;IAiBtC;;OAEG;IACH,WAAW,IAAI,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAIzE;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAMnF;;OAEG;IACH,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAI7B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAMzC;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMvC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;IAMhC;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAMpC;;OAEG;cACgB,WAAW,IAAI,kBAAkB;CAWrD;AAED,eAAe,kBAAkB,CAAC"}