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 @@
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../src/core/Camera.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { Camera2D } from './Camera';
2
+ import { VMobject } from './VMobject';
3
+ import { Mobject, Vector3Tuple } from './Mobject';
4
+ export declare class Camera2DFrame extends VMobject {
5
+ private _camera;
6
+ private _baseFrameWidth;
7
+ private _baseFrameHeight;
8
+ private _isPrimary;
9
+ /**
10
+ * @param camera The Camera2D this frame controls
11
+ * @param isPrimary If true, changes to this frame sync to the camera.
12
+ * Copies created by copy() / generateTarget() are
13
+ * non-primary so they don't affect the camera directly.
14
+ */
15
+ constructor(camera: Camera2D, isPrimary?: boolean);
16
+ /** Push the current Mobject transform (position + scale) to Camera2D. */
17
+ private _syncToCamera;
18
+ /**
19
+ * Override _markDirty so every transform change propagates to the camera.
20
+ * This is called by moveTo, scale, shift, and by Transform.interpolate().
21
+ */
22
+ _markDirty(): void;
23
+ getCenter(): Vector3Tuple;
24
+ /**
25
+ * Move the camera viewport so it is centered on `target`.
26
+ * Accepts a [x,y,z] point or a Mobject.
27
+ */
28
+ moveTo(target: Vector3Tuple | Mobject, _alignedEdge?: Vector3Tuple): this;
29
+ protected _createCopy(): Camera2DFrame;
30
+ }
31
+ //# sourceMappingURL=Camera2DFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Camera2DFrame.d.ts","sourceRoot":"","sources":["../../src/core/Camera2DFrame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAElD,qBAAa,aAAc,SAAQ,QAAQ;IACzC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,UAAU,CAAU;IAE5B;;;;;OAKG;gBACS,MAAM,EAAE,QAAQ,EAAE,SAAS,UAAO;IA8B9C,yEAAyE;IACzE,OAAO,CAAC,aAAa;IAUrB;;;OAGG;IACM,UAAU,IAAI,IAAI;IASlB,SAAS,IAAI,YAAY;IAIlC;;;OAGG;IACM,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI;cAe/D,WAAW,IAAI,aAAa;CAchD"}
@@ -0,0 +1,420 @@
1
+ import { Camera2D, Camera3D, CameraOptions, Camera3DOptions } from './Camera';
2
+ import { Mobject, Vector3Tuple } from './Mobject';
3
+ import * as THREE from 'three';
4
+ /**
5
+ * Animation options for camera movements.
6
+ */
7
+ export interface CameraAnimationOptions {
8
+ /** Target position [x, y, z] */
9
+ position?: Vector3Tuple;
10
+ /** Target zoom level (1 = default, >1 = zoomed in, <1 = zoomed out) */
11
+ zoom?: number;
12
+ /** Target look-at point [x, y, z] */
13
+ lookAt?: Vector3Tuple;
14
+ /** Animation duration in seconds. Defaults to 1. */
15
+ duration?: number;
16
+ /** Easing function. Defaults to smooth ease-in-out. */
17
+ easing?: (t: number) => number;
18
+ }
19
+ /**
20
+ * Options for configuring a MovingCamera.
21
+ */
22
+ export interface MovingCameraOptions extends CameraOptions {
23
+ /** Initial zoom level. Defaults to 1. */
24
+ zoom?: number;
25
+ }
26
+ /**
27
+ * MovingCamera - A camera that supports animated position and zoom changes.
28
+ * Extends Camera2D with animation capabilities for smooth camera movements.
29
+ */
30
+ export declare class MovingCamera extends Camera2D {
31
+ private _zoom;
32
+ private _baseFrameWidth;
33
+ private _baseFrameHeight;
34
+ private _targetPosition;
35
+ private _targetZoom;
36
+ private _animationProgress;
37
+ private _animationDuration;
38
+ private _animationEasing;
39
+ private _startPosition;
40
+ private _startZoom;
41
+ private _followTarget;
42
+ private _followOffset;
43
+ /**
44
+ * Create a new MovingCamera.
45
+ * @param options - Camera configuration options
46
+ */
47
+ constructor(options?: MovingCameraOptions);
48
+ /**
49
+ * Default easing function (smooth ease-in-out).
50
+ */
51
+ private static _defaultEasing;
52
+ /**
53
+ * Get the current zoom level.
54
+ */
55
+ get zoom(): number;
56
+ /**
57
+ * Set the zoom level immediately.
58
+ * @param zoom - Zoom level (1 = default, >1 = zoomed in)
59
+ */
60
+ set zoom(zoom: number);
61
+ /**
62
+ * Apply zoom by adjusting frame dimensions.
63
+ */
64
+ private _applyZoom;
65
+ /**
66
+ * Set the target position for animation.
67
+ * @param position - Target position [x, y, z]
68
+ * @returns this for chaining
69
+ */
70
+ setTargetPosition(position: Vector3Tuple): this;
71
+ /**
72
+ * Set the target zoom level for animation.
73
+ * @param zoom - Target zoom level
74
+ * @returns this for chaining
75
+ */
76
+ setTargetZoom(zoom: number): this;
77
+ /**
78
+ * Configure and start an animation to the target state.
79
+ * @param options - Animation options including position, zoom, duration, and easing
80
+ * @returns this for chaining
81
+ */
82
+ animateTo(options: CameraAnimationOptions): this;
83
+ /**
84
+ * Set a mobject to follow.
85
+ * The camera will continuously track this mobject's position.
86
+ * @param target - Mobject to follow, or null to stop following
87
+ * @param offset - Optional offset from the target's center [x, y, z]
88
+ * @returns this for chaining
89
+ */
90
+ follow(target: Mobject | null, offset?: Vector3Tuple): this;
91
+ /**
92
+ * Stop following any mobject.
93
+ * @returns this for chaining
94
+ */
95
+ stopFollowing(): this;
96
+ /**
97
+ * Check if an animation is in progress.
98
+ */
99
+ isAnimating(): boolean;
100
+ /**
101
+ * Update the camera animation and follow target.
102
+ * Should be called each frame with delta time.
103
+ * @param dt - Delta time in seconds
104
+ */
105
+ update(dt: number): void;
106
+ /**
107
+ * Reset all animation state.
108
+ * @returns this for chaining
109
+ */
110
+ resetAnimation(): this;
111
+ }
112
+ /**
113
+ * Options for configuring a ThreeDCamera.
114
+ */
115
+ export interface ThreeDCameraOptions extends Camera3DOptions {
116
+ /** Initial phi angle (vertical, from Y axis). Defaults to PI/4. */
117
+ phi?: number;
118
+ /** Initial theta angle (horizontal, in XZ plane). Defaults to -PI/2. */
119
+ theta?: number;
120
+ /** Initial distance from look-at point. Defaults to 10. */
121
+ distance?: number;
122
+ /** Focal distance for depth of field effects. Defaults to 10. */
123
+ focalDistance?: number;
124
+ /** Depth of field strength (0 = disabled). Defaults to 0. */
125
+ depthOfField?: number;
126
+ }
127
+ /**
128
+ * ThreeDCamera - Full 3D camera with spherical positioning.
129
+ * Provides phi/theta/distance control and depth of field support.
130
+ */
131
+ export declare class ThreeDCamera extends Camera3D {
132
+ private _phi;
133
+ private _theta;
134
+ private _distance;
135
+ private _focalDistance;
136
+ private _depthOfField;
137
+ private _lookAtTarget;
138
+ private _targetPhi;
139
+ private _targetTheta;
140
+ private _targetDistance;
141
+ private _animationProgress;
142
+ private _animationDuration;
143
+ private _startPhi;
144
+ private _startTheta;
145
+ private _startDistance;
146
+ /**
147
+ * Create a new ThreeDCamera.
148
+ * @param aspectRatio - Width / height ratio. Defaults to 16/9.
149
+ * @param options - Camera configuration options
150
+ */
151
+ constructor(aspectRatio?: number, options?: ThreeDCameraOptions);
152
+ /**
153
+ * Get the phi angle (vertical, from Y axis).
154
+ */
155
+ get phi(): number;
156
+ /**
157
+ * Get the theta angle (horizontal, in XZ plane).
158
+ */
159
+ get theta(): number;
160
+ /**
161
+ * Get the distance from look-at point.
162
+ */
163
+ get distance(): number;
164
+ /**
165
+ * Get the focal distance.
166
+ */
167
+ get focalDistance(): number;
168
+ /**
169
+ * Set the focal distance.
170
+ * @param value - New focal distance
171
+ */
172
+ set focalDistance(value: number);
173
+ /**
174
+ * Get the depth of field strength.
175
+ */
176
+ get depthOfField(): number;
177
+ /**
178
+ * Set the depth of field strength.
179
+ * @param value - DoF strength (0 = disabled)
180
+ */
181
+ set depthOfField(value: number);
182
+ /**
183
+ * Update camera position based on spherical coordinates.
184
+ */
185
+ private _updatePositionFromSpherical;
186
+ /**
187
+ * Set the camera position using spherical coordinates.
188
+ * @param phi - Polar angle from Y axis (0 = top, PI = bottom)
189
+ * @param theta - Azimuthal angle in XZ plane
190
+ * @param distance - Optional distance from look-at point
191
+ * @returns this for chaining
192
+ */
193
+ setSphericalPosition(phi: number, theta: number, distance?: number): this;
194
+ /**
195
+ * Orbit the camera by delta angles (relative movement).
196
+ * @param deltaPhi - Change in phi angle
197
+ * @param deltaTheta - Change in theta angle
198
+ * @returns this for chaining
199
+ */
200
+ orbit(deltaPhi: number, deltaTheta: number): this;
201
+ /**
202
+ * Set the distance from the look-at point.
203
+ * @param distance - New distance
204
+ * @returns this for chaining
205
+ */
206
+ setDistance(distance: number): this;
207
+ /**
208
+ * Zoom in or out by adjusting distance.
209
+ * @param factor - Zoom factor (>1 = zoom in, <1 = zoom out)
210
+ * @returns this for chaining
211
+ */
212
+ zoomBy(factor: number): this;
213
+ /**
214
+ * Set the look-at target and update position.
215
+ * @param target - Target point [x, y, z]
216
+ * @returns this for chaining
217
+ */
218
+ setTarget(target: Vector3Tuple): this;
219
+ /**
220
+ * Animate spherical position changes.
221
+ * @param options - Object with optional phi, theta, distance, duration
222
+ * @returns this for chaining
223
+ */
224
+ animateOrbit(options: {
225
+ phi?: number;
226
+ theta?: number;
227
+ distance?: number;
228
+ duration?: number;
229
+ }): this;
230
+ /**
231
+ * Check if an animation is in progress.
232
+ */
233
+ isAnimating(): boolean;
234
+ /**
235
+ * Update the camera animation.
236
+ * Should be called each frame with delta time.
237
+ * @param dt - Delta time in seconds
238
+ */
239
+ update(dt: number): void;
240
+ /**
241
+ * Get the current spherical position.
242
+ * @returns Object with phi, theta, and distance
243
+ */
244
+ getSphericalPosition(): {
245
+ phi: number;
246
+ theta: number;
247
+ distance: number;
248
+ };
249
+ }
250
+ /**
251
+ * Viewport definition for multi-camera setup.
252
+ */
253
+ export interface CameraViewport {
254
+ /** X position as fraction of canvas width (0-1). */
255
+ x: number;
256
+ /** Y position as fraction of canvas height (0-1). */
257
+ y: number;
258
+ /** Width as fraction of canvas width (0-1). */
259
+ width: number;
260
+ /** Height as fraction of canvas height (0-1). */
261
+ height: number;
262
+ }
263
+ /**
264
+ * Camera entry in the multi-camera system.
265
+ */
266
+ export interface CameraEntry {
267
+ /** The camera instance (Camera2D, Camera3D, or extended types). */
268
+ camera: Camera2D | Camera3D | MovingCamera | ThreeDCamera;
269
+ /** Viewport rectangle defining where to render. */
270
+ viewport: CameraViewport;
271
+ /** Whether this camera is enabled. */
272
+ enabled: boolean;
273
+ /** Optional label for the camera. */
274
+ label?: string;
275
+ }
276
+ /**
277
+ * Options for configuring a MultiCamera.
278
+ */
279
+ export interface MultiCameraOptions {
280
+ /** Initial set of cameras with viewports. */
281
+ cameras?: Array<{
282
+ camera: Camera2D | Camera3D | MovingCamera | ThreeDCamera;
283
+ viewport: CameraViewport;
284
+ label?: string;
285
+ }>;
286
+ }
287
+ /**
288
+ * MultiCamera - Manages multiple camera views for split-screen and picture-in-picture effects.
289
+ * Coordinates rendering from multiple cameras to different viewport regions.
290
+ */
291
+ export declare class MultiCamera {
292
+ private _cameras;
293
+ private _activeIndex;
294
+ /**
295
+ * Create a new MultiCamera.
296
+ * @param options - Configuration options
297
+ */
298
+ constructor(options?: MultiCameraOptions);
299
+ /**
300
+ * Get all camera entries.
301
+ */
302
+ get cameras(): ReadonlyArray<CameraEntry>;
303
+ /**
304
+ * Get the number of cameras.
305
+ */
306
+ get count(): number;
307
+ /**
308
+ * Get the active camera index.
309
+ */
310
+ get activeIndex(): number;
311
+ /**
312
+ * Get the active camera entry.
313
+ */
314
+ get activeCamera(): CameraEntry | null;
315
+ /**
316
+ * Add a camera with its viewport.
317
+ * @param camera - Camera instance to add
318
+ * @param viewport - Viewport rectangle for this camera
319
+ * @param label - Optional label for identification
320
+ * @returns Index of the added camera
321
+ */
322
+ addCamera(camera: Camera2D | Camera3D | MovingCamera | ThreeDCamera, viewport: CameraViewport, label?: string): number;
323
+ /**
324
+ * Remove a camera by index.
325
+ * @param index - Index of camera to remove
326
+ * @returns true if camera was removed
327
+ */
328
+ removeCamera(index: number): boolean;
329
+ /**
330
+ * Set the active camera by index.
331
+ * @param index - Index of camera to make active
332
+ * @returns this for chaining
333
+ */
334
+ setActiveCamera(index: number): this;
335
+ /**
336
+ * Enable or disable a camera.
337
+ * @param index - Index of camera
338
+ * @param enabled - Whether to enable the camera
339
+ * @returns this for chaining
340
+ */
341
+ setCameraEnabled(index: number, enabled: boolean): this;
342
+ /**
343
+ * Update a camera's viewport.
344
+ * @param index - Index of camera
345
+ * @param viewport - New viewport settings
346
+ * @returns this for chaining
347
+ */
348
+ setViewport(index: number, viewport: Partial<CameraViewport>): this;
349
+ /**
350
+ * Get a camera entry by index.
351
+ * @param index - Camera index
352
+ * @returns Camera entry or null if not found
353
+ */
354
+ getCamera(index: number): CameraEntry | null;
355
+ /**
356
+ * Find a camera by label.
357
+ * @param label - Camera label to find
358
+ * @returns Camera entry or null if not found
359
+ */
360
+ getCameraByLabel(label: string): CameraEntry | null;
361
+ /**
362
+ * Get all enabled cameras.
363
+ * @returns Array of enabled camera entries
364
+ */
365
+ getEnabledCameras(): CameraEntry[];
366
+ /**
367
+ * Set up a horizontal split screen (two cameras side by side).
368
+ * @param leftCamera - Camera for left side
369
+ * @param rightCamera - Camera for right side
370
+ * @returns this for chaining
371
+ */
372
+ setupHorizontalSplit(leftCamera: Camera2D | Camera3D | MovingCamera | ThreeDCamera, rightCamera: Camera2D | Camera3D | MovingCamera | ThreeDCamera): this;
373
+ /**
374
+ * Set up a vertical split screen (two cameras stacked).
375
+ * @param topCamera - Camera for top half
376
+ * @param bottomCamera - Camera for bottom half
377
+ * @returns this for chaining
378
+ */
379
+ setupVerticalSplit(topCamera: Camera2D | Camera3D | MovingCamera | ThreeDCamera, bottomCamera: Camera2D | Camera3D | MovingCamera | ThreeDCamera): this;
380
+ /**
381
+ * Set up a picture-in-picture layout.
382
+ * @param mainCamera - Main camera (full screen)
383
+ * @param pipCamera - Picture-in-picture camera (small overlay)
384
+ * @param pipPosition - Position of PiP: 'top-left', 'top-right', 'bottom-left', 'bottom-right'
385
+ * @param pipSize - Size of PiP as fraction of canvas (default 0.25)
386
+ * @returns this for chaining
387
+ */
388
+ setupPictureInPicture(mainCamera: Camera2D | Camera3D | MovingCamera | ThreeDCamera, pipCamera: Camera2D | Camera3D | MovingCamera | ThreeDCamera, pipPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right', pipSize?: number): this;
389
+ /**
390
+ * Set up a quad view (four cameras in a grid).
391
+ * @param cameras - Array of four cameras [topLeft, topRight, bottomLeft, bottomRight]
392
+ * @returns this for chaining
393
+ */
394
+ setupQuadView(cameras: [
395
+ Camera2D | Camera3D | MovingCamera | ThreeDCamera,
396
+ Camera2D | Camera3D | MovingCamera | ThreeDCamera,
397
+ Camera2D | Camera3D | MovingCamera | ThreeDCamera,
398
+ Camera2D | Camera3D | MovingCamera | ThreeDCamera
399
+ ]): this;
400
+ /**
401
+ * Render all enabled cameras to the given renderer.
402
+ * This method manages viewport scissoring for each camera.
403
+ * @param renderer - Three.js WebGLRenderer
404
+ * @param scene - Three.js Scene to render
405
+ * @param canvasWidth - Canvas width in pixels
406
+ * @param canvasHeight - Canvas height in pixels
407
+ */
408
+ render(renderer: THREE.WebGLRenderer, scene: THREE.Scene, canvasWidth: number, canvasHeight: number): void;
409
+ /**
410
+ * Update all cameras that support animation.
411
+ * @param dt - Delta time in seconds
412
+ */
413
+ update(dt: number): void;
414
+ /**
415
+ * Clear all cameras.
416
+ * @returns this for chaining
417
+ */
418
+ clear(): this;
419
+ }
420
+ //# sourceMappingURL=CameraExtensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CameraExtensions.d.ts","sourceRoot":"","sources":["../../src/core/CameraExtensions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ import { Camera3D, Camera3DOptions } from './Camera';
2
+ import { Animation, AnimationOptions } from '../animation/Animation';
3
+ import { Mobject, Vector3Tuple } from './Mobject';
4
+ import { RateFunction } from '../rate-functions';
5
+ /**
6
+ * CameraFrame - ManimGL-style camera frame with Euler angle control and animation support.
7
+ *
8
+ * Provides programmatic camera animation via:
9
+ * frame.incrementPhi(PI/4) // tilt up (immediate)
10
+ * frame.incrementTheta(PI/4) // orbit right (immediate)
11
+ * scene.play(frame.animate.incrementPhi(PI/4)) // smooth tilt
12
+ * scene.play(frame.animate.setEulerAngles({ theta: PI/4, phi: PI/3 }))
13
+ *
14
+ * Euler angle convention (matching ManimGL):
15
+ * theta = azimuthal angle (horizontal orbit in XZ plane)
16
+ * phi = polar angle (vertical tilt from Y axis, 0 = top, PI = bottom)
17
+ * gamma = roll angle (rotation around the viewing axis)
18
+ */
19
+ import * as THREE from 'three';
20
+ /**
21
+ * Options for creating a CameraFrame.
22
+ */
23
+ export interface CameraFrameOptions extends Camera3DOptions {
24
+ /** Initial theta (azimuthal) angle in radians. Defaults to -PI/2. */
25
+ theta?: number;
26
+ /** Initial phi (polar) angle in radians. Defaults to PI/4. */
27
+ phi?: number;
28
+ /** Initial gamma (roll) angle in radians. Defaults to 0. */
29
+ gamma?: number;
30
+ /** Initial distance from the look-at target. Defaults to 10. */
31
+ distance?: number;
32
+ }
33
+ /**
34
+ * CameraFrame wraps a Camera3D and exposes ManimGL-compatible Euler angle
35
+ * methods for both immediate use and animation (via the `.animate` proxy).
36
+ */
37
+ export declare class CameraFrame {
38
+ private _camera3D;
39
+ private _theta;
40
+ private _phi;
41
+ private _gamma;
42
+ private _distance;
43
+ private _fov;
44
+ private _center;
45
+ /**
46
+ * A lightweight Mobject stub used as the Animation target.
47
+ * This lets CameraAnimation integrate with the existing Timeline / Scene.play()
48
+ * system which requires every Animation to have a `.mobject`.
49
+ */
50
+ readonly mobjectStub: Mobject;
51
+ constructor(aspectRatio?: number, options?: CameraFrameOptions);
52
+ /** Get the underlying Camera3D instance. */
53
+ getCamera3D(): Camera3D;
54
+ /** Get the underlying Three.js PerspectiveCamera. */
55
+ getThreeCamera(): THREE.PerspectiveCamera;
56
+ /** Get the current Euler angles [theta, phi, gamma]. */
57
+ getEulerAngles(): [number, number, number];
58
+ /**
59
+ * Set Euler angles (absolute). Any parameter left undefined is unchanged.
60
+ * @returns this for chaining
61
+ */
62
+ setEulerAngles(opts: {
63
+ theta?: number;
64
+ phi?: number;
65
+ gamma?: number;
66
+ }): this;
67
+ /** Get the current theta (azimuthal) angle. */
68
+ getTheta(): number;
69
+ /** Set the theta (azimuthal) angle absolutely. */
70
+ setTheta(value: number): this;
71
+ /** Increment the theta (azimuthal) angle by delta. */
72
+ incrementTheta(delta: number): this;
73
+ /** Get the current phi (polar) angle. */
74
+ getPhi(): number;
75
+ /** Set the phi (polar) angle absolutely. */
76
+ setPhi(value: number): this;
77
+ /** Increment the phi (polar) angle by delta. */
78
+ incrementPhi(delta: number): this;
79
+ /** Get the current gamma (roll) angle. */
80
+ getGamma(): number;
81
+ /** Set the gamma (roll) angle absolutely. */
82
+ setGamma(value: number): this;
83
+ /** Increment the gamma (roll) angle by delta. */
84
+ incrementGamma(delta: number): this;
85
+ /** Get the distance from the look-at target. */
86
+ getDistance(): number;
87
+ /** Set the distance from the look-at target. */
88
+ setDistance(value: number): this;
89
+ /** Get the current field of view in degrees. */
90
+ getFieldOfView(): number;
91
+ /** Set the field of view in degrees. */
92
+ setFieldOfView(fov: number): this;
93
+ /** Get the look-at center. */
94
+ getCenter(): Vector3Tuple;
95
+ /** Move the look-at center to a point. Camera position updates accordingly. */
96
+ moveTo(point: Vector3Tuple): this;
97
+ /** Set the aspect ratio of the underlying camera. */
98
+ setAspectRatio(ratio: number): this;
99
+ /** Compute camera position from spherical (theta, phi, distance) around _center. */
100
+ private _syncPositionFromAngles;
101
+ /** Capture the current camera state. */
102
+ _snapshot(): CameraFrameState;
103
+ /** Apply a full camera state. */
104
+ _applyState(state: CameraFrameState): void;
105
+ /**
106
+ * Returns a proxy that records camera state changes and produces a
107
+ * CameraAnimation when called with `scene.play()`.
108
+ *
109
+ * Usage (property, default 1s smooth):
110
+ * scene.play(frame.animate.incrementPhi(PI/4))
111
+ * scene.play(frame.animate.setEulerAngles({ theta: PI/4, phi: PI/3 }))
112
+ *
113
+ * Usage (method with options):
114
+ * scene.play(frame.animateTo({ duration: 2 }).incrementPhi(PI/4))
115
+ */
116
+ get animate(): CameraAnimateProxy;
117
+ /**
118
+ * Like `animate`, but accepts AnimationOptions (duration, rateFunc).
119
+ */
120
+ animateTo(options?: CameraAnimationOptions): CameraAnimateProxy;
121
+ }
122
+ export interface CameraFrameState {
123
+ theta: number;
124
+ phi: number;
125
+ gamma: number;
126
+ distance: number;
127
+ fov: number;
128
+ center: Vector3Tuple;
129
+ }
130
+ export interface CameraAnimationOptions extends AnimationOptions {
131
+ }
132
+ /**
133
+ * Fluent builder returned by `CameraFrame.animate`.
134
+ *
135
+ * Each method records a target state change and returns `this`,
136
+ * so you can chain: `frame.animate.incrementPhi(PI/4).setFieldOfView(60)`.
137
+ *
138
+ * The proxy itself is used as the Animation argument to `scene.play()`.
139
+ * When play() calls `.begin()`, the proxy finalises the CameraAnimation.
140
+ */
141
+ export declare class CameraAnimateProxy extends Animation {
142
+ private _frame;
143
+ private _targetDelta;
144
+ private _absolute;
145
+ private _startState;
146
+ constructor(frame: CameraFrame, options?: CameraAnimationOptions);
147
+ /** Animate setting Euler angles (absolute targets). */
148
+ setEulerAngles(opts: {
149
+ theta?: number;
150
+ phi?: number;
151
+ gamma?: number;
152
+ }): this;
153
+ /** Animate incrementing theta by delta. */
154
+ incrementTheta(delta: number): this;
155
+ /** Animate incrementing phi by delta. */
156
+ incrementPhi(delta: number): this;
157
+ /** Animate incrementing gamma by delta. */
158
+ incrementGamma(delta: number): this;
159
+ /** Animate setting distance. */
160
+ setDistance(value: number): this;
161
+ /** Animate setting field of view. */
162
+ setFieldOfView(fov: number): this;
163
+ /** Animate moving the look-at center. */
164
+ moveTo(point: Vector3Tuple): this;
165
+ /** Override duration for this animation (builder-style). */
166
+ withDuration(seconds: number): this;
167
+ /** Override rate function (builder-style). */
168
+ withRateFunc(fn: RateFunction): this;
169
+ begin(): void;
170
+ /**
171
+ * Interpolate camera state at the given alpha (0..1).
172
+ */
173
+ interpolate(alpha: number): void;
174
+ finish(): void;
175
+ /** Get the CameraFrame this proxy animates. */
176
+ getFrame(): CameraFrame;
177
+ }
178
+ //# sourceMappingURL=CameraFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CameraFrame.d.ts","sourceRoot":"","sources":["../../src/core/CameraFrame.ts"],"names":[],"mappings":"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"}