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,383 @@
1
+ import { Mobject } from '../../core/Mobject';
2
+ import { VMobject } from '../../core/VMobject';
3
+ import { Text } from './Text';
4
+ import * as THREE from 'three';
5
+ /**
6
+ * Options for creating a BulletedList mobject
7
+ */
8
+ export interface BulletedListOptions {
9
+ /** Array of text items to display */
10
+ items: string[];
11
+ /** Bullet character. Default: '•' */
12
+ bulletChar?: string;
13
+ /** Font size in pixels. Default: 48 */
14
+ fontSize?: number;
15
+ /** Font family. Default: 'sans-serif' */
16
+ fontFamily?: string;
17
+ /** Font weight. Default: 'normal' */
18
+ fontWeight?: string | number;
19
+ /** Text color as CSS color string. Default: '#ffffff' */
20
+ color?: string;
21
+ /** Fill opacity from 0 to 1. Default: 1 */
22
+ fillOpacity?: number;
23
+ /** Vertical spacing between items in world units. Default: 0.35 */
24
+ itemSpacing?: number;
25
+ /** Horizontal indent per level in world units. Default: 0.3 */
26
+ indentWidth?: number;
27
+ /** Indentation levels for each item (0 = no indent). Default: all 0 */
28
+ indentLevels?: number[];
29
+ /** Space between bullet and text in world units. Default: 0.15 */
30
+ bulletBuffer?: number;
31
+ }
32
+ /**
33
+ * BulletedList - A list of text items with bullet points
34
+ *
35
+ * Creates a vertically arranged list of text items, each prefixed with
36
+ * a bullet character. Supports multiple indentation levels for nested lists.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // Simple bulleted list
41
+ * const list = new BulletedList({
42
+ * items: ['First item', 'Second item', 'Third item']
43
+ * });
44
+ *
45
+ * // Nested list with custom bullet
46
+ * const nested = new BulletedList({
47
+ * items: ['Main item', 'Sub item 1', 'Sub item 2', 'Another main'],
48
+ * indentLevels: [0, 1, 1, 0],
49
+ * bulletChar: '-'
50
+ * });
51
+ *
52
+ * // Custom styling
53
+ * const styled = new BulletedList({
54
+ * items: ['Red', 'Green', 'Blue'],
55
+ * color: '#ffcc00',
56
+ * fontSize: 36,
57
+ * itemSpacing: 0.5
58
+ * });
59
+ * ```
60
+ */
61
+ export declare class BulletedList extends VMobject {
62
+ protected _items: string[];
63
+ protected _bulletChar: string;
64
+ protected _fontSize: number;
65
+ protected _fontFamily: string;
66
+ protected _fontWeight: string | number;
67
+ protected _textColor: string;
68
+ protected _textFillOpacity: number;
69
+ protected _itemSpacing: number;
70
+ protected _indentWidth: number;
71
+ protected _indentLevels: number[];
72
+ protected _bulletBuffer: number;
73
+ /** The Text mobjects for each bullet */
74
+ protected _bulletMobjects: Text[];
75
+ /** The Text mobjects for each item */
76
+ protected _itemMobjects: Text[];
77
+ constructor(options: BulletedListOptions);
78
+ /**
79
+ * Build the bullet and item Text mobjects
80
+ */
81
+ protected _buildList(): void;
82
+ /**
83
+ * Get the items array
84
+ */
85
+ getItems(): string[];
86
+ /**
87
+ * Set new items and rebuild the list
88
+ * @param items - New array of text items
89
+ * @returns this for chaining
90
+ */
91
+ setItems(items: string[]): this;
92
+ /**
93
+ * Get a specific item Text mobject by index
94
+ * @param index - Item index (0-based)
95
+ * @returns The Text mobject for the item, or undefined if out of bounds
96
+ */
97
+ getItemMobject(index: number): Text | undefined;
98
+ /**
99
+ * Get a specific bullet Text mobject by index
100
+ * @param index - Item index (0-based)
101
+ * @returns The Text mobject for the bullet, or undefined if out of bounds
102
+ */
103
+ getBulletMobject(index: number): Text | undefined;
104
+ /**
105
+ * Get the bullet character
106
+ */
107
+ getBulletChar(): string;
108
+ /**
109
+ * Set the bullet character and rebuild
110
+ * @param char - New bullet character
111
+ * @returns this for chaining
112
+ */
113
+ setBulletChar(char: string): this;
114
+ /**
115
+ * Create the Three.js backing object
116
+ */
117
+ protected _createThreeObject(): THREE.Object3D;
118
+ /**
119
+ * Create a copy of this BulletedList
120
+ */
121
+ protected _createCopy(): BulletedList;
122
+ }
123
+ /**
124
+ * Options for creating a Title mobject
125
+ */
126
+ export interface TitleOptions {
127
+ /** The title text to display */
128
+ text: string;
129
+ /** Font size in pixels. Default: 72 (large) */
130
+ fontSize?: number;
131
+ /** Font family. Default: 'sans-serif' */
132
+ fontFamily?: string;
133
+ /** Font weight. Default: 'bold' */
134
+ fontWeight?: string | number;
135
+ /** Text color as CSS color string. Default: '#ffffff' */
136
+ color?: string;
137
+ /** Fill opacity from 0 to 1. Default: 1 */
138
+ fillOpacity?: number;
139
+ /** Whether to include an underline. Default: false */
140
+ includeUnderline?: boolean;
141
+ /** Underline color. Default: same as text color */
142
+ underlineColor?: string;
143
+ /** Underline width in world units. Default: auto (match text width) */
144
+ underlineWidth?: number;
145
+ /** Underline stroke width. Default: 4 */
146
+ underlineStrokeWidth?: number;
147
+ /** Space between text and underline in world units. Default: 0.15 */
148
+ underlineBuffer?: number;
149
+ /** Y position from top of frame. Default: 3.5 (near top of standard 8-unit frame) */
150
+ yPosition?: number;
151
+ }
152
+ /**
153
+ * Title - Large, centered title text at the top of the frame
154
+ *
155
+ * Creates a prominent title positioned at the top of the frame.
156
+ * Optionally includes an underline for emphasis.
157
+ *
158
+ * @example
159
+ * ```typescript
160
+ * // Simple title
161
+ * const title = new Title({ text: 'Introduction' });
162
+ *
163
+ * // Title with underline
164
+ * const underlined = new Title({
165
+ * text: 'Chapter 1',
166
+ * includeUnderline: true
167
+ * });
168
+ *
169
+ * // Custom styled title
170
+ * const styled = new Title({
171
+ * text: 'Custom Title',
172
+ * fontSize: 96,
173
+ * color: '#ff6600',
174
+ * fontFamily: 'Georgia',
175
+ * includeUnderline: true,
176
+ * underlineColor: '#ffcc00'
177
+ * });
178
+ * ```
179
+ */
180
+ export declare class Title extends VMobject {
181
+ protected _titleText: string;
182
+ protected _fontSize: number;
183
+ protected _fontFamily: string;
184
+ protected _fontWeight: string | number;
185
+ protected _textColor: string;
186
+ protected _textFillOpacity: number;
187
+ protected _includeUnderline: boolean;
188
+ protected _underlineColor: string;
189
+ protected _underlineWidth: number | null;
190
+ protected _underlineStrokeWidth: number;
191
+ protected _underlineBuffer: number;
192
+ protected _yPosition: number;
193
+ /** The Text mobject for the title */
194
+ protected _textMobject: Text | null;
195
+ /** The underline VMobject (if included) */
196
+ protected _underlineMobject: VMobject | null;
197
+ constructor(options: TitleOptions);
198
+ /**
199
+ * Build the title text and optional underline
200
+ */
201
+ protected _buildTitle(): void;
202
+ /**
203
+ * Get the title text
204
+ */
205
+ getTitleText(): string;
206
+ /**
207
+ * Set new title text and rebuild
208
+ * @param text - New title text
209
+ * @returns this for chaining
210
+ */
211
+ setTitleText(text: string): this;
212
+ /**
213
+ * Get the Text mobject for the title
214
+ */
215
+ getTextMobject(): Text | null;
216
+ /**
217
+ * Get the underline mobject (if present)
218
+ */
219
+ getUnderlineMobject(): VMobject | null;
220
+ /**
221
+ * Show or hide the underline
222
+ * @param show - Whether to show the underline
223
+ * @returns this for chaining
224
+ */
225
+ setUnderline(show: boolean): this;
226
+ /**
227
+ * Create the Three.js backing object
228
+ */
229
+ protected _createThreeObject(): THREE.Object3D;
230
+ /**
231
+ * Create a copy of this Title
232
+ */
233
+ protected _createCopy(): Title;
234
+ }
235
+ /**
236
+ * Token types for markdown parsing
237
+ */
238
+ type MarkdownTokenType = 'text' | 'bold' | 'italic' | 'code' | 'header' | 'bullet';
239
+ /**
240
+ * Parsed markdown token
241
+ */
242
+ interface MarkdownToken {
243
+ type: MarkdownTokenType;
244
+ text: string;
245
+ level?: number;
246
+ }
247
+ /**
248
+ * Parsed markdown line
249
+ */
250
+ interface MarkdownLine {
251
+ tokens: MarkdownToken[];
252
+ isHeader: boolean;
253
+ headerLevel: number;
254
+ isBullet: boolean;
255
+ bulletLevel: number;
256
+ }
257
+ /**
258
+ * Options for creating a MarkdownText mobject
259
+ */
260
+ export interface MarkdownTextOptions {
261
+ /** The markdown text to parse and display */
262
+ text: string;
263
+ /** Base font size in pixels. Default: 48 */
264
+ fontSize?: number;
265
+ /** Font family for regular text. Default: 'sans-serif' */
266
+ fontFamily?: string;
267
+ /** Font family for code text. Default: 'monospace' */
268
+ codeFontFamily?: string;
269
+ /** Text color as CSS color string. Default: '#ffffff' */
270
+ color?: string;
271
+ /** Code text color. Default: '#88ff88' */
272
+ codeColor?: string;
273
+ /** Fill opacity from 0 to 1. Default: 1 */
274
+ fillOpacity?: number;
275
+ /** Line height multiplier. Default: 1.4 */
276
+ lineHeight?: number;
277
+ /** Bullet character. Default: '•' */
278
+ bulletChar?: string;
279
+ /** Font size multipliers for headers [h1, h2, h3]. Default: [1.5, 1.25, 1.1] */
280
+ headerSizes?: [number, number, number];
281
+ }
282
+ /**
283
+ * MarkdownText - Parse and render simple markdown formatting
284
+ *
285
+ * Supports basic markdown syntax:
286
+ * - **bold** text
287
+ * - *italic* text
288
+ * - `code` inline formatting
289
+ * - # Header 1, ## Header 2, ### Header 3
290
+ * - Bullet lists with - or *
291
+ *
292
+ * @example
293
+ * ```typescript
294
+ * // Simple formatted text
295
+ * const md = new MarkdownText({
296
+ * text: 'This is **bold** and *italic* text'
297
+ * });
298
+ *
299
+ * // Document with headers and lists
300
+ * const doc = new MarkdownText({
301
+ * text: `# Main Title
302
+ *
303
+ * Some regular text with **bold** words.
304
+ *
305
+ * ## Section
306
+ *
307
+ * - First item
308
+ * - Second item
309
+ * - Third with \`code\`
310
+ * `
311
+ * });
312
+ *
313
+ * // Custom styling
314
+ * const styled = new MarkdownText({
315
+ * text: '# Custom Header\n\nWith **styled** text.',
316
+ * color: '#ffcc00',
317
+ * codeColor: '#00ffcc',
318
+ * headerSizes: [2.0, 1.5, 1.2]
319
+ * });
320
+ * ```
321
+ */
322
+ export declare class MarkdownText extends VMobject {
323
+ protected _markdownText: string;
324
+ protected _fontSize: number;
325
+ protected _fontFamily: string;
326
+ protected _codeFontFamily: string;
327
+ protected _textColor: string;
328
+ protected _codeColor: string;
329
+ protected _textFillOpacity: number;
330
+ protected _lineHeight: number;
331
+ protected _bulletChar: string;
332
+ protected _headerSizes: [number, number, number];
333
+ /** Parsed lines of markdown */
334
+ protected _parsedLines: MarkdownLine[];
335
+ /** Text mobjects for each line */
336
+ protected _lineMobjects: Mobject[];
337
+ constructor(options: MarkdownTextOptions);
338
+ /**
339
+ * Parse markdown text into tokens
340
+ */
341
+ protected _parseMarkdown(): void;
342
+ /**
343
+ * Parse a single line of markdown
344
+ */
345
+ protected _parseLine(line: string): MarkdownLine;
346
+ /**
347
+ * Parse inline formatting (bold, italic, code)
348
+ */
349
+ protected _parseInlineFormatting(text: string): MarkdownToken[];
350
+ /**
351
+ * Build the document from parsed markdown
352
+ */
353
+ protected _buildDocument(): void;
354
+ /**
355
+ * Get the markdown text
356
+ */
357
+ getMarkdownText(): string;
358
+ /**
359
+ * Set new markdown text and rebuild
360
+ * @param text - New markdown text
361
+ * @returns this for chaining
362
+ */
363
+ setMarkdownText(text: string): this;
364
+ /**
365
+ * Get all line mobjects
366
+ */
367
+ getLineMobjects(): Mobject[];
368
+ /**
369
+ * Create the Three.js backing object
370
+ */
371
+ protected _createThreeObject(): THREE.Object3D;
372
+ /**
373
+ * Create a copy of this MarkdownText
374
+ */
375
+ protected _createCopy(): MarkdownText;
376
+ }
377
+ declare const _default: {
378
+ BulletedList: typeof BulletedList;
379
+ Title: typeof Title;
380
+ MarkdownText: typeof MarkdownText;
381
+ };
382
+ export default _default;
383
+ //# sourceMappingURL=TextExtensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextExtensions.d.ts","sourceRoot":"","sources":["../../../src/mobjects/text/TextExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAM9B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IAClC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAEhC,wCAAwC;IACxC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAM;IAEvC,sCAAsC;IACtC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAM;gBAEzB,OAAO,EAAE,mBAAmB;IAmCxC;;OAEG;IACH,SAAS,CAAC,UAAU,IAAI,IAAI;IA0D5B;;OAEG;IACH,QAAQ,IAAI,MAAM,EAAE;IAIpB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAS/B;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAI/C;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIjD;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMjC;;OAEG;cACgB,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAMvD;;OAEG;cACgB,WAAW,IAAI,YAAY;CAe/C;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,KAAM,SAAQ,QAAQ;IACjC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACrC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACxC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAE7B,qCAAqC;IACrC,SAAS,CAAC,YAAY,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE3C,2CAA2C;IAC3C,SAAS,CAAC,iBAAiB,EAAE,QAAQ,GAAG,IAAI,CAAQ;gBAExC,OAAO,EAAE,YAAY;IAqCjC;;OAEG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI;IA+C7B;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMhC;;OAEG;IACH,cAAc,IAAI,IAAI,GAAG,IAAI;IAI7B;;OAEG;IACH,mBAAmB,IAAI,QAAQ,GAAG,IAAI;IAItC;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAMjC;;OAEG;cACgB,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAKvD;;OAEG;cACgB,WAAW,IAAI,KAAK;CAgBxC;AAMD;;GAEG;AACH,KAAK,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnF;;GAEG;AACH,UAAU,aAAa;IACrB,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjD,+BAA+B;IAC/B,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,CAAM;IAE5C,kCAAkC;IAClC,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,CAAM;gBAE5B,OAAO,EAAE,mBAAmB;IAkCxC;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IAUhC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAiChD;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE;IAgF/D;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IA0GhC;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOnC;;OAEG;IACH,eAAe,IAAI,OAAO,EAAE;IAI5B;;OAEG;cACgB,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAKvD;;OAEG;cACgB,WAAW,IAAI,YAAY;CAc/C;;;;;;AAED,wBAAqD"}
@@ -0,0 +1,48 @@
1
+ import { VGroup } from '../../core/VGroup';
2
+ import { SkeletonizeOptions } from '../../utils/skeletonize';
3
+ export interface TextGlyphGroupOptions {
4
+ /** The text string to render */
5
+ text: string;
6
+ /** URL to the font file (OTF/TTF) */
7
+ fontUrl: string;
8
+ /** Font size in pixels (default: 48) */
9
+ fontSize?: number;
10
+ /** Stroke color (default: '#ffffff') */
11
+ color?: string;
12
+ /** Stroke width for glyph outlines (default: 2) */
13
+ strokeWidth?: number;
14
+ /**
15
+ * When true, each GlyphVMobject computes its skeleton (medial axis)
16
+ * so the Write animation can draw along the center-line. Default: false.
17
+ */
18
+ useSkeletonStroke?: boolean;
19
+ /** Options forwarded to the skeletonization algorithm. */
20
+ skeletonOptions?: SkeletonizeOptions;
21
+ }
22
+ /**
23
+ * A VGroup that holds one GlyphVMobject per visible character in a string.
24
+ * Characters are positioned using the font's metric data (advance width + kerning).
25
+ *
26
+ * Usage:
27
+ * const group = new TextGlyphGroup({ text: 'Hello', fontUrl: '/fonts/MyFont.otf' });
28
+ * await group.waitForReady();
29
+ */
30
+ export declare class TextGlyphGroup extends VGroup {
31
+ private _text;
32
+ private _fontUrl;
33
+ private _fontSize;
34
+ private _glyphStrokeWidth;
35
+ private _useSkeletonStroke;
36
+ private _skeletonOptions;
37
+ private _readyPromise;
38
+ constructor(options: TextGlyphGroupOptions);
39
+ /**
40
+ * Wait for the font to load and glyphs to be built.
41
+ */
42
+ waitForReady(): Promise<void>;
43
+ /**
44
+ * Load font and build GlyphVMobject children.
45
+ */
46
+ private _loadAndBuild;
47
+ }
48
+ //# sourceMappingURL=TextGlyphGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextGlyphGroup.d.ts","sourceRoot":"","sources":["../../../src/mobjects/text/TextGlyphGroup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0DAA0D;IAC1D,eAAe,CAAC,EAAE,kBAAkB,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,MAAM;IACxC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,aAAa,CAAgB;gBAEzB,OAAO,EAAE,qBAAqB;IAmB1C;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;YACW,aAAa;CAiD5B"}
@@ -0,0 +1,160 @@
1
+ import { Mobject, Vector3Tuple } from '../../core/Mobject';
2
+ import { DecimalNumber } from './DecimalNumber';
3
+ import { ValueTracker } from '../value-tracker';
4
+ import { MathTex } from './MathTex';
5
+ /**
6
+ * Variable - A mobject that displays a variable name with its value
7
+ *
8
+ * Combines a label (typically a math symbol) with a DecimalNumber to show
9
+ * something like "x = 5" that can be animated.
10
+ */
11
+ import * as THREE from 'three';
12
+ /**
13
+ * Options for creating a Variable mobject
14
+ */
15
+ export interface VariableOptions {
16
+ /** The variable name/label (rendered as LaTeX). Example: 'x', '\\theta', 'time' */
17
+ label: string;
18
+ /** Initial numeric value. Default: 0 */
19
+ value?: number;
20
+ /** Options for the decimal number display */
21
+ numDecimalPlaces?: number;
22
+ /** Whether to show ellipsis after the value. Default: false */
23
+ showEllipsis?: boolean;
24
+ /** Whether to show + sign for positive values. Default: false */
25
+ includeSign?: boolean;
26
+ /** Color for the label. Default: '#ffffff' */
27
+ labelColor?: string;
28
+ /** Color for the value. Default: '#ffffff' */
29
+ valueColor?: string;
30
+ /** Font size for the value. Default: 48 */
31
+ fontSize?: number;
32
+ /** Buffer between label and equals sign. Default: 0.1 */
33
+ labelBuff?: number;
34
+ /** Buffer between equals sign and value. Default: 0.1 */
35
+ valueBuff?: number;
36
+ }
37
+ /**
38
+ * Variable - Displays a labeled variable with animatable value
39
+ *
40
+ * Creates a composite mobject showing "label = value" where the value
41
+ * can be animated using a ValueTracker or direct setValue calls.
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * // Create a variable display
46
+ * const x = new Variable({ label: 'x', value: 5 });
47
+ *
48
+ * // Create with LaTeX label
49
+ * const theta = new Variable({
50
+ * label: '\\theta',
51
+ * value: Math.PI,
52
+ * numDecimalPlaces: 3
53
+ * });
54
+ *
55
+ * // Animate value change using tracker
56
+ * const tracker = x.tracker;
57
+ * x.addUpdater(() => x.setValue(tracker.getValue()));
58
+ * tracker.setValue(100); // Animate to 100
59
+ *
60
+ * // Direct value change
61
+ * x.setValue(42);
62
+ * ```
63
+ */
64
+ export declare class Variable extends Mobject {
65
+ protected _label: string;
66
+ protected _value: number;
67
+ protected _numDecimalPlaces: number;
68
+ protected _showEllipsis: boolean;
69
+ protected _includeSign: boolean;
70
+ protected _labelColor: string;
71
+ protected _valueColor: string;
72
+ protected _fontSize: number;
73
+ protected _labelBuff: number;
74
+ protected _valueBuff: number;
75
+ /** The label mobject (LaTeX rendered) */
76
+ protected _labelMobject: MathTex;
77
+ /** The equals sign mobject */
78
+ protected _equalsMobject: MathTex;
79
+ /** The value display mobject */
80
+ protected _numberMobject: DecimalNumber;
81
+ /** ValueTracker for animations */
82
+ protected _tracker: ValueTracker;
83
+ constructor(options: VariableOptions);
84
+ /**
85
+ * Arrange the label, equals sign, and value horizontally
86
+ */
87
+ protected _arrangeSubmobjects(): Promise<void>;
88
+ /**
89
+ * Get the current value
90
+ */
91
+ getValue(): number;
92
+ /**
93
+ * Set the displayed value
94
+ * @param value - New value to display
95
+ * @returns this for chaining
96
+ */
97
+ setValue(value: number): this;
98
+ /**
99
+ * Get the ValueTracker for this variable
100
+ * Use this with animations to smoothly change the value
101
+ */
102
+ get tracker(): ValueTracker;
103
+ /**
104
+ * Get the label mobject
105
+ */
106
+ get labelMobject(): MathTex;
107
+ /**
108
+ * Get the equals sign mobject
109
+ */
110
+ get equalsMobject(): MathTex;
111
+ /**
112
+ * Get the number mobject
113
+ */
114
+ get numberMobject(): DecimalNumber;
115
+ /**
116
+ * Set the label color
117
+ * @param color - CSS color string
118
+ * @returns this for chaining
119
+ */
120
+ setLabelColor(color: string): this;
121
+ /**
122
+ * Set the value color
123
+ * @param color - CSS color string
124
+ * @returns this for chaining
125
+ */
126
+ setValueColor(color: string): this;
127
+ /**
128
+ * Set both label and value colors
129
+ * @param color - CSS color string
130
+ * @returns this for chaining
131
+ */
132
+ setColor(color: string): this;
133
+ /**
134
+ * Sync the displayed value with the tracker
135
+ * Call this in an updater to animate the value
136
+ */
137
+ syncWithTracker(): this;
138
+ /**
139
+ * Create the Three.js backing object
140
+ */
141
+ protected _createThreeObject(): THREE.Object3D;
142
+ /**
143
+ * Get the center of this Variable
144
+ */
145
+ getCenter(): Vector3Tuple;
146
+ /**
147
+ * Wait for all submobjects to finish rendering
148
+ */
149
+ waitForRender(): Promise<void>;
150
+ /**
151
+ * Create a copy of this Variable
152
+ */
153
+ protected _createCopy(): Variable;
154
+ /**
155
+ * Clean up resources
156
+ */
157
+ dispose(): void;
158
+ }
159
+ export default Variable;
160
+ //# sourceMappingURL=Variable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Variable.d.ts","sourceRoot":"","sources":["../../../src/mobjects/text/Variable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Text mobjects for manimweb
3
+ *
4
+ * This module provides text rendering capabilities using Canvas 2D textures
5
+ * applied to Three.js plane meshes, as well as LaTeX rendering using KaTeX.
6
+ */
7
+ export { Text, type TextOptions } from './Text';
8
+ export { GlyphVMobject, type GlyphVMobjectOptions } from './GlyphVMobject';
9
+ export { TextGlyphGroup, type TextGlyphGroupOptions } from './TextGlyphGroup';
10
+ export { Paragraph, type ParagraphOptions } from './Paragraph';
11
+ export { MarkupText, type MarkupTextOptions, type StyledTextSegment } from './MarkupText';
12
+ export { ensureKatexStyles, areKatexStylesLoaded } from './katex-styles';
13
+ export { MathTex, type MathTexOptions, type TexRenderer } from './MathTex';
14
+ export { renderLatexToSVG, preloadMathJax, isMathJaxLoaded, katexCanRender, type MathJaxRenderOptions, type MathJaxRenderResult, } from './MathJaxRenderer';
15
+ export { parseSVGPathData, svgToVMobjects, type SVGToVMobjectOptions, } from './svgPathParser';
16
+ export { Tex, type TexOptions } from './Tex';
17
+ export { DecimalNumber, Integer, type DecimalNumberOptions, } from './DecimalNumber';
18
+ export { Variable, type VariableOptions } from './Variable';
19
+ export { Code, type CodeOptions, type CodeColorScheme, type Token, type TokenType, DEFAULT_COLOR_SCHEME, MONOKAI_COLOR_SCHEME, } from './Code';
20
+ export { BulletedList, Title, MarkdownText, type BulletedListOptions, type TitleOptions, type MarkdownTextOptions, } from './TextExtensions';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobjects/text/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAG9E,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAG1F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGzE,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAG3E,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,GAAG,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EACL,aAAa,EACb,OAAO,EACP,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EACL,IAAI,EACJ,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * KaTeX CSS loader for manimweb
3
+ *
4
+ * Ensures the KaTeX stylesheet is loaded for proper LaTeX rendering.
5
+ */
6
+ /**
7
+ * Ensure KaTeX styles are loaded in the document.
8
+ * This is called automatically by MathTex on first use.
9
+ *
10
+ * The stylesheet is loaded from a CDN for convenience.
11
+ * In production, you may want to bundle the CSS directly.
12
+ */
13
+ export declare function ensureKatexStyles(): void;
14
+ /**
15
+ * Wait for KaTeX CSS to finish loading.
16
+ * Returns a promise that resolves when the stylesheet is loaded.
17
+ */
18
+ export declare function waitForKatexStyles(): Promise<void>;
19
+ /**
20
+ * Check if KaTeX styles have been injected
21
+ */
22
+ export declare function areKatexStylesLoaded(): boolean;
23
+ //# sourceMappingURL=katex-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"katex-styles.d.ts","sourceRoot":"","sources":["../../../src/mobjects/text/katex-styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;GAMG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyBlD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C"}