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.
- package/LICENSE +21 -0
- package/README.md +109 -0
- package/dist/animation/Animation.d.ts +69 -0
- package/dist/animation/Animation.d.ts.map +1 -0
- package/dist/animation/AnimationGroup.d.ts +48 -0
- package/dist/animation/AnimationGroup.d.ts.map +1 -0
- package/dist/animation/LaggedStart.d.ts +25 -0
- package/dist/animation/LaggedStart.d.ts.map +1 -0
- package/dist/animation/MaintainPositionRelativeTo.d.ts +23 -0
- package/dist/animation/MaintainPositionRelativeTo.d.ts.map +1 -0
- package/dist/animation/Succession.d.ts +19 -0
- package/dist/animation/Succession.d.ts.map +1 -0
- package/dist/animation/Timeline.d.ts +89 -0
- package/dist/animation/Timeline.d.ts.map +1 -0
- package/dist/animation/UpdateFromAlphaFunc.d.ts +32 -0
- package/dist/animation/UpdateFromAlphaFunc.d.ts.map +1 -0
- package/dist/animation/UpdateFromFunc.d.ts +30 -0
- package/dist/animation/UpdateFromFunc.d.ts.map +1 -0
- package/dist/animation/changing/index.d.ts +213 -0
- package/dist/animation/changing/index.d.ts.map +1 -0
- package/dist/animation/composition/LaggedStartMap.d.ts +47 -0
- package/dist/animation/composition/LaggedStartMap.d.ts.map +1 -0
- package/dist/animation/composition/index.d.ts +5 -0
- package/dist/animation/composition/index.d.ts.map +1 -0
- package/dist/animation/creation/Create.d.ts +232 -0
- package/dist/animation/creation/Create.d.ts.map +1 -0
- package/dist/animation/creation/CreationExtensions.d.ts +127 -0
- package/dist/animation/creation/CreationExtensions.d.ts.map +1 -0
- package/dist/animation/creation/TypeWithCursor.d.ts +133 -0
- package/dist/animation/creation/TypeWithCursor.d.ts.map +1 -0
- package/dist/animation/creation/index.d.ts +4 -0
- package/dist/animation/creation/index.d.ts.map +1 -0
- package/dist/animation/fading/FadeIn.d.ts +31 -0
- package/dist/animation/fading/FadeIn.d.ts.map +1 -0
- package/dist/animation/fading/FadeOut.d.ts +32 -0
- package/dist/animation/fading/FadeOut.d.ts.map +1 -0
- package/dist/animation/fading/index.d.ts +3 -0
- package/dist/animation/fading/index.d.ts.map +1 -0
- package/dist/animation/growing/index.d.ts +103 -0
- package/dist/animation/growing/index.d.ts.map +1 -0
- package/dist/animation/index.d.ts +20 -0
- package/dist/animation/index.d.ts.map +1 -0
- package/dist/animation/indication/ApplyWave.d.ts +51 -0
- package/dist/animation/indication/ApplyWave.d.ts.map +1 -0
- package/dist/animation/indication/Blink.d.ts +34 -0
- package/dist/animation/indication/Blink.d.ts.map +1 -0
- package/dist/animation/indication/Circumscribe.d.ts +54 -0
- package/dist/animation/indication/Circumscribe.d.ts.map +1 -0
- package/dist/animation/indication/Flash.d.ts +45 -0
- package/dist/animation/indication/Flash.d.ts.map +1 -0
- package/dist/animation/indication/FocusOn.d.ts +79 -0
- package/dist/animation/indication/FocusOn.d.ts.map +1 -0
- package/dist/animation/indication/Indicate.d.ts +30 -0
- package/dist/animation/indication/Indicate.d.ts.map +1 -0
- package/dist/animation/indication/ShowCreationThenDestruction.d.ts +26 -0
- package/dist/animation/indication/ShowCreationThenDestruction.d.ts.map +1 -0
- package/dist/animation/indication/ShowPassingFlash.d.ts +47 -0
- package/dist/animation/indication/ShowPassingFlash.d.ts.map +1 -0
- package/dist/animation/indication/ShowPassingFlashWithThinningStrokeWidth.d.ts +21 -0
- package/dist/animation/indication/ShowPassingFlashWithThinningStrokeWidth.d.ts.map +1 -0
- package/dist/animation/indication/Wiggle.d.ts +48 -0
- package/dist/animation/indication/Wiggle.d.ts.map +1 -0
- package/dist/animation/indication/WiggleOutThenIn.d.ts +44 -0
- package/dist/animation/indication/WiggleOutThenIn.d.ts.map +1 -0
- package/dist/animation/indication/index.d.ts +20 -0
- package/dist/animation/indication/index.d.ts.map +1 -0
- package/dist/animation/movement/Homotopy.d.ts +204 -0
- package/dist/animation/movement/Homotopy.d.ts.map +1 -0
- package/dist/animation/movement/MoveAlongPath.d.ts +48 -0
- package/dist/animation/movement/MoveAlongPath.d.ts.map +1 -0
- package/dist/animation/movement/Rotate.d.ts +47 -0
- package/dist/animation/movement/Rotate.d.ts.map +1 -0
- package/dist/animation/movement/Scale.d.ts +74 -0
- package/dist/animation/movement/Scale.d.ts.map +1 -0
- package/dist/animation/movement/Shift.d.ts +74 -0
- package/dist/animation/movement/Shift.d.ts.map +1 -0
- package/dist/animation/movement/index.d.ts +6 -0
- package/dist/animation/movement/index.d.ts.map +1 -0
- package/dist/animation/numbers/index.d.ts +152 -0
- package/dist/animation/numbers/index.d.ts.map +1 -0
- package/dist/animation/speed/index.d.ts +114 -0
- package/dist/animation/speed/index.d.ts.map +1 -0
- package/dist/animation/transform/ApplyPointwiseFunction.d.ts +23 -0
- package/dist/animation/transform/ApplyPointwiseFunction.d.ts.map +1 -0
- package/dist/animation/transform/Transform.d.ts +89 -0
- package/dist/animation/transform/Transform.d.ts.map +1 -0
- package/dist/animation/transform/TransformExtensions.d.ts +444 -0
- package/dist/animation/transform/TransformExtensions.d.ts.map +1 -0
- package/dist/animation/transform/TransformMatching.d.ts +138 -0
- package/dist/animation/transform/TransformMatching.d.ts.map +1 -0
- package/dist/animation/transform/index.d.ts +5 -0
- package/dist/animation/transform/index.d.ts.map +1 -0
- package/dist/animation/utility/index.d.ts +171 -0
- package/dist/animation/utility/index.d.ts.map +1 -0
- package/dist/constants/colors.d.ts +72 -0
- package/dist/constants/colors.d.ts.map +1 -0
- package/dist/constants/colors.test.d.ts +2 -0
- package/dist/constants/colors.test.d.ts.map +1 -0
- package/dist/constants/directions.test.d.ts +2 -0
- package/dist/constants/directions.test.d.ts.map +1 -0
- package/dist/constants/index.d.ts +16 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/core/AudioManager.d.ts +203 -0
- package/dist/core/AudioManager.d.ts.map +1 -0
- package/dist/core/Camera.d.ts +172 -0
- package/dist/core/Camera.d.ts.map +1 -0
- package/dist/core/Camera2DFrame.d.ts +31 -0
- package/dist/core/Camera2DFrame.d.ts.map +1 -0
- package/dist/core/CameraExtensions.d.ts +420 -0
- package/dist/core/CameraExtensions.d.ts.map +1 -0
- package/dist/core/CameraFrame.d.ts +178 -0
- package/dist/core/CameraFrame.d.ts.map +1 -0
- package/dist/core/Group.d.ts +139 -0
- package/dist/core/Group.d.ts.map +1 -0
- package/dist/core/InteractiveScene.d.ts +122 -0
- package/dist/core/InteractiveScene.d.ts.map +1 -0
- package/dist/core/Lighting.d.ts +128 -0
- package/dist/core/Lighting.d.ts.map +1 -0
- package/dist/core/Mobject.d.ts +488 -0
- package/dist/core/Mobject.d.ts.map +1 -0
- package/dist/core/Renderer.d.ts +84 -0
- package/dist/core/Renderer.d.ts.map +1 -0
- package/dist/core/Scene.d.ts +353 -0
- package/dist/core/Scene.d.ts.map +1 -0
- package/dist/core/SceneExtensions.d.ts +640 -0
- package/dist/core/SceneExtensions.d.ts.map +1 -0
- package/dist/core/SceneExtensions.test.d.ts +2 -0
- package/dist/core/SceneExtensions.test.d.ts.map +1 -0
- package/dist/core/StateManager.d.ts +193 -0
- package/dist/core/StateManager.d.ts.map +1 -0
- package/dist/core/VDict.d.ts +229 -0
- package/dist/core/VDict.d.ts.map +1 -0
- package/dist/core/VGroup.d.ts +200 -0
- package/dist/core/VGroup.d.ts.map +1 -0
- package/dist/core/VMobject.d.ts +419 -0
- package/dist/core/VMobject.d.ts.map +1 -0
- package/dist/core/index.d.ts +16 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/examples.test.d.ts +2 -0
- package/dist/examples.test.d.ts.map +1 -0
- package/dist/export/GifExporter.d.ts +40 -0
- package/dist/export/GifExporter.d.ts.map +1 -0
- package/dist/export/VideoExporter.d.ts +135 -0
- package/dist/export/VideoExporter.d.ts.map +1 -0
- package/dist/export/index.d.ts +3 -0
- package/dist/export/index.d.ts.map +1 -0
- package/dist/index.d.ts +65 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49064 -0
- package/dist/integrations/index.d.ts +1 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/react.d.ts +144 -0
- package/dist/integrations/react.d.ts.map +1 -0
- package/dist/integrations/react.js +570 -0
- package/dist/integrations/vue.d.ts +249 -0
- package/dist/integrations/vue.d.ts.map +1 -0
- package/dist/integrations/vue.js +560 -0
- package/dist/interaction/Clickable.d.ts +71 -0
- package/dist/interaction/Clickable.d.ts.map +1 -0
- package/dist/interaction/Controls.d.ts +174 -0
- package/dist/interaction/Controls.d.ts.map +1 -0
- package/dist/interaction/Draggable.d.ts +88 -0
- package/dist/interaction/Draggable.d.ts.map +1 -0
- package/dist/interaction/Hoverable.d.ts +82 -0
- package/dist/interaction/Hoverable.d.ts.map +1 -0
- package/dist/interaction/OrbitControls.d.ts +139 -0
- package/dist/interaction/OrbitControls.d.ts.map +1 -0
- package/dist/interaction/PlaybackControls.d.ts +113 -0
- package/dist/interaction/PlaybackControls.d.ts.map +1 -0
- package/dist/interaction/SelectionManager.d.ts +125 -0
- package/dist/interaction/SelectionManager.d.ts.map +1 -0
- package/dist/interaction/index.d.ts +12 -0
- package/dist/interaction/index.d.ts.map +1 -0
- package/dist/mobjects/fractals/MandelbrotSet.d.ts +92 -0
- package/dist/mobjects/fractals/MandelbrotSet.d.ts.map +1 -0
- package/dist/mobjects/fractals/NewtonFractal.d.ts +121 -0
- package/dist/mobjects/fractals/NewtonFractal.d.ts.map +1 -0
- package/dist/mobjects/fractals/index.d.ts +3 -0
- package/dist/mobjects/fractals/index.d.ts.map +1 -0
- package/dist/mobjects/frame/index.d.ts +188 -0
- package/dist/mobjects/frame/index.d.ts.map +1 -0
- package/dist/mobjects/geometry/AngleShapes.d.ts +326 -0
- package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -0
- package/dist/mobjects/geometry/Arc.d.ts +111 -0
- package/dist/mobjects/geometry/Arc.d.ts.map +1 -0
- package/dist/mobjects/geometry/ArcBetweenPoints.d.ts +68 -0
- package/dist/mobjects/geometry/ArcBetweenPoints.d.ts.map +1 -0
- package/dist/mobjects/geometry/ArcShapes.d.ts +659 -0
- package/dist/mobjects/geometry/ArcShapes.d.ts.map +1 -0
- package/dist/mobjects/geometry/Arrow.d.ts +130 -0
- package/dist/mobjects/geometry/Arrow.d.ts.map +1 -0
- package/dist/mobjects/geometry/ArrowTips.d.ts +238 -0
- package/dist/mobjects/geometry/ArrowTips.d.ts.map +1 -0
- package/dist/mobjects/geometry/BooleanOperations.d.ts +163 -0
- package/dist/mobjects/geometry/BooleanOperations.d.ts.map +1 -0
- package/dist/mobjects/geometry/Circle.d.ts +92 -0
- package/dist/mobjects/geometry/Circle.d.ts.map +1 -0
- package/dist/mobjects/geometry/CubicBezier.d.ts +126 -0
- package/dist/mobjects/geometry/CubicBezier.d.ts.map +1 -0
- package/dist/mobjects/geometry/DashedLine.d.ts +109 -0
- package/dist/mobjects/geometry/DashedLine.d.ts.map +1 -0
- package/dist/mobjects/geometry/DashedVMobject.d.ts +96 -0
- package/dist/mobjects/geometry/DashedVMobject.d.ts.map +1 -0
- package/dist/mobjects/geometry/Dot.d.ts +100 -0
- package/dist/mobjects/geometry/Dot.d.ts.map +1 -0
- package/dist/mobjects/geometry/LabeledGeometry.d.ts +372 -0
- package/dist/mobjects/geometry/LabeledGeometry.d.ts.map +1 -0
- package/dist/mobjects/geometry/Line.d.ts +83 -0
- package/dist/mobjects/geometry/Line.d.ts.map +1 -0
- package/dist/mobjects/geometry/Polygon.d.ts +155 -0
- package/dist/mobjects/geometry/Polygon.d.ts.map +1 -0
- package/dist/mobjects/geometry/PolygonExtensions.d.ts +412 -0
- package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -0
- package/dist/mobjects/geometry/Rectangle.d.ts +123 -0
- package/dist/mobjects/geometry/Rectangle.d.ts.map +1 -0
- package/dist/mobjects/geometry/ShapeMatchers.d.ts +252 -0
- package/dist/mobjects/geometry/ShapeMatchers.d.ts.map +1 -0
- package/dist/mobjects/geometry/index.d.ts +25 -0
- package/dist/mobjects/geometry/index.d.ts.map +1 -0
- package/dist/mobjects/graph/index.d.ts +425 -0
- package/dist/mobjects/graph/index.d.ts.map +1 -0
- package/dist/mobjects/graphing/Axes.d.ts +254 -0
- package/dist/mobjects/graphing/Axes.d.ts.map +1 -0
- package/dist/mobjects/graphing/BarChart.d.ts +241 -0
- package/dist/mobjects/graphing/BarChart.d.ts.map +1 -0
- package/dist/mobjects/graphing/ComplexPlane.d.ts +311 -0
- package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -0
- package/dist/mobjects/graphing/FunctionGraph.d.ts +123 -0
- package/dist/mobjects/graphing/FunctionGraph.d.ts.map +1 -0
- package/dist/mobjects/graphing/ImplicitFunction.d.ts +131 -0
- package/dist/mobjects/graphing/ImplicitFunction.d.ts.map +1 -0
- package/dist/mobjects/graphing/NumberLine.d.ts +195 -0
- package/dist/mobjects/graphing/NumberLine.d.ts.map +1 -0
- package/dist/mobjects/graphing/NumberPlane.d.ts +91 -0
- package/dist/mobjects/graphing/NumberPlane.d.ts.map +1 -0
- package/dist/mobjects/graphing/ParametricFunction.d.ts +111 -0
- package/dist/mobjects/graphing/ParametricFunction.d.ts.map +1 -0
- package/dist/mobjects/graphing/Vector.d.ts +121 -0
- package/dist/mobjects/graphing/Vector.d.ts.map +1 -0
- package/dist/mobjects/graphing/VectorField.d.ts +321 -0
- package/dist/mobjects/graphing/VectorField.d.ts.map +1 -0
- package/dist/mobjects/graphing/index.d.ts +18 -0
- package/dist/mobjects/graphing/index.d.ts.map +1 -0
- package/dist/mobjects/image/index.d.ts +223 -0
- package/dist/mobjects/image/index.d.ts.map +1 -0
- package/dist/mobjects/matrix/Matrix.d.ts +260 -0
- package/dist/mobjects/matrix/Matrix.d.ts.map +1 -0
- package/dist/mobjects/matrix/index.d.ts +8 -0
- package/dist/mobjects/matrix/index.d.ts.map +1 -0
- package/dist/mobjects/point/index.d.ts +707 -0
- package/dist/mobjects/point/index.d.ts.map +1 -0
- package/dist/mobjects/probability/DiceFace.d.ts +137 -0
- package/dist/mobjects/probability/DiceFace.d.ts.map +1 -0
- package/dist/mobjects/probability/SampleSpace.d.ts +267 -0
- package/dist/mobjects/probability/SampleSpace.d.ts.map +1 -0
- package/dist/mobjects/probability/index.d.ts +9 -0
- package/dist/mobjects/probability/index.d.ts.map +1 -0
- package/dist/mobjects/svg/Brace.d.ts +308 -0
- package/dist/mobjects/svg/Brace.d.ts.map +1 -0
- package/dist/mobjects/svg/SVGMobject.d.ts +64 -0
- package/dist/mobjects/svg/SVGMobject.d.ts.map +1 -0
- package/dist/mobjects/svg/index.d.ts +10 -0
- package/dist/mobjects/svg/index.d.ts.map +1 -0
- package/dist/mobjects/table/Table.d.ts +315 -0
- package/dist/mobjects/table/Table.d.ts.map +1 -0
- package/dist/mobjects/table/index.d.ts +8 -0
- package/dist/mobjects/table/index.d.ts.map +1 -0
- package/dist/mobjects/text/Code.d.ts +244 -0
- package/dist/mobjects/text/Code.d.ts.map +1 -0
- package/dist/mobjects/text/DecimalNumber.d.ts +199 -0
- package/dist/mobjects/text/DecimalNumber.d.ts.map +1 -0
- package/dist/mobjects/text/GlyphVMobject.d.ts +76 -0
- package/dist/mobjects/text/GlyphVMobject.d.ts.map +1 -0
- package/dist/mobjects/text/MarkupText.d.ts +161 -0
- package/dist/mobjects/text/MarkupText.d.ts.map +1 -0
- package/dist/mobjects/text/MathJaxRenderer.d.ts +49 -0
- package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -0
- package/dist/mobjects/text/MathTex.d.ts +242 -0
- package/dist/mobjects/text/MathTex.d.ts.map +1 -0
- package/dist/mobjects/text/Paragraph.d.ts +86 -0
- package/dist/mobjects/text/Paragraph.d.ts.map +1 -0
- package/dist/mobjects/text/Tex.d.ts +40 -0
- package/dist/mobjects/text/Tex.d.ts.map +1 -0
- package/dist/mobjects/text/Text.d.ts +171 -0
- package/dist/mobjects/text/Text.d.ts.map +1 -0
- package/dist/mobjects/text/TextExtensions.d.ts +383 -0
- package/dist/mobjects/text/TextExtensions.d.ts.map +1 -0
- package/dist/mobjects/text/TextGlyphGroup.d.ts +48 -0
- package/dist/mobjects/text/TextGlyphGroup.d.ts.map +1 -0
- package/dist/mobjects/text/Variable.d.ts +160 -0
- package/dist/mobjects/text/Variable.d.ts.map +1 -0
- package/dist/mobjects/text/index.d.ts +21 -0
- package/dist/mobjects/text/index.d.ts.map +1 -0
- package/dist/mobjects/text/katex-styles.d.ts +23 -0
- package/dist/mobjects/text/katex-styles.d.ts.map +1 -0
- package/dist/mobjects/text/svgPathParser.d.ts +39 -0
- package/dist/mobjects/text/svgPathParser.d.ts.map +1 -0
- package/dist/mobjects/three-d/Arrow3D.d.ts +136 -0
- package/dist/mobjects/three-d/Arrow3D.d.ts.map +1 -0
- package/dist/mobjects/three-d/Cube.d.ts +186 -0
- package/dist/mobjects/three-d/Cube.d.ts.map +1 -0
- package/dist/mobjects/three-d/Cylinder.d.ts +189 -0
- package/dist/mobjects/three-d/Cylinder.d.ts.map +1 -0
- package/dist/mobjects/three-d/Line3D.d.ts +100 -0
- package/dist/mobjects/three-d/Line3D.d.ts.map +1 -0
- package/dist/mobjects/three-d/ParametricSurface.d.ts +86 -0
- package/dist/mobjects/three-d/ParametricSurface.d.ts.map +1 -0
- package/dist/mobjects/three-d/Polyhedra.d.ts +271 -0
- package/dist/mobjects/three-d/Polyhedra.d.ts.map +1 -0
- package/dist/mobjects/three-d/Sphere.d.ts +100 -0
- package/dist/mobjects/three-d/Sphere.d.ts.map +1 -0
- package/dist/mobjects/three-d/Surface3D.d.ts +156 -0
- package/dist/mobjects/three-d/Surface3D.d.ts.map +1 -0
- package/dist/mobjects/three-d/TexturedSurface.d.ts +208 -0
- package/dist/mobjects/three-d/TexturedSurface.d.ts.map +1 -0
- package/dist/mobjects/three-d/ThreeDAxes.d.ts +172 -0
- package/dist/mobjects/three-d/ThreeDAxes.d.ts.map +1 -0
- package/dist/mobjects/three-d/ThreeDExtensions.d.ts +335 -0
- package/dist/mobjects/three-d/ThreeDExtensions.d.ts.map +1 -0
- package/dist/mobjects/three-d/Torus.d.ts +123 -0
- package/dist/mobjects/three-d/Torus.d.ts.map +1 -0
- package/dist/mobjects/three-d/index.d.ts +19 -0
- package/dist/mobjects/three-d/index.d.ts.map +1 -0
- package/dist/mobjects/value-tracker/ValueTracker.d.ts +248 -0
- package/dist/mobjects/value-tracker/ValueTracker.d.ts.map +1 -0
- package/dist/mobjects/value-tracker/index.d.ts +9 -0
- package/dist/mobjects/value-tracker/index.d.ts.map +1 -0
- package/dist/rate-functions/index.d.ts +81 -0
- package/dist/rate-functions/index.d.ts.map +1 -0
- package/dist/rate-functions/rateFunctions.test.d.ts +2 -0
- package/dist/rate-functions/rateFunctions.test.d.ts.map +1 -0
- package/dist/rendering/BezierRenderer.d.ts +112 -0
- package/dist/rendering/BezierRenderer.d.ts.map +1 -0
- package/dist/rendering/BezierShaderMaterial.d.ts +50 -0
- package/dist/rendering/BezierShaderMaterial.d.ts.map +1 -0
- package/dist/rendering/index.d.ts +10 -0
- package/dist/rendering/index.d.ts.map +1 -0
- package/dist/utils/Performance.d.ts +118 -0
- package/dist/utils/Performance.d.ts.map +1 -0
- package/dist/utils/featureFlags.d.ts +15 -0
- package/dist/utils/featureFlags.d.ts.map +1 -0
- package/dist/utils/hungarian.d.ts +66 -0
- package/dist/utils/hungarian.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/math.d.ts +52 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/ode.d.ts +135 -0
- package/dist/utils/ode.d.ts.map +1 -0
- package/dist/utils/skeletonize.d.ts +35 -0
- package/dist/utils/skeletonize.d.ts.map +1 -0
- package/dist/utils/triangulate.d.ts +54 -0
- package/dist/utils/triangulate.d.ts.map +1 -0
- package/dist/utils/vectors.d.ts +57 -0
- package/dist/utils/vectors.d.ts.map +1 -0
- package/package.json +122 -0
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
import { VMobject } from '../../core/VMobject';
|
|
2
|
+
import { Mobject, Vector3Tuple } from '../../core/Mobject';
|
|
3
|
+
import { Animation, AnimationOptions } from '../Animation';
|
|
4
|
+
import { Transform } from './Transform';
|
|
5
|
+
export interface ApplyFunctionOptions extends AnimationOptions {
|
|
6
|
+
/** Function to apply to each point */
|
|
7
|
+
func: (point: number[]) => number[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* ApplyFunction animation - applies an arbitrary function to mobject points.
|
|
11
|
+
* The points interpolate from their original positions to the transformed positions.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ApplyFunction extends Animation {
|
|
14
|
+
/** Function to apply to each point */
|
|
15
|
+
readonly func: (point: number[]) => number[];
|
|
16
|
+
/** Copy of the starting points */
|
|
17
|
+
private _startPoints;
|
|
18
|
+
/** Target points after applying function */
|
|
19
|
+
private _targetPoints;
|
|
20
|
+
constructor(mobject: VMobject, options: ApplyFunctionOptions);
|
|
21
|
+
begin(): void;
|
|
22
|
+
interpolate(alpha: number): void;
|
|
23
|
+
finish(): void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Create an ApplyFunction animation.
|
|
27
|
+
* @param mobject The VMobject to transform
|
|
28
|
+
* @param func Function to apply to each point [x, y, z] => [x', y', z']
|
|
29
|
+
* @param options Animation options
|
|
30
|
+
*/
|
|
31
|
+
export declare function applyFunction(mobject: VMobject, func: (point: number[]) => number[], options?: Omit<ApplyFunctionOptions, 'func'>): ApplyFunction;
|
|
32
|
+
export interface ApplyMethodOptions extends AnimationOptions {
|
|
33
|
+
/** Method name to call on the mobject */
|
|
34
|
+
methodName: string;
|
|
35
|
+
/** Arguments to pass to the method */
|
|
36
|
+
args?: unknown[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* ApplyMethod animation - animates calling a method on a mobject.
|
|
40
|
+
* Creates a copy, calls the method on the copy, then transforms to the result.
|
|
41
|
+
*/
|
|
42
|
+
export declare class ApplyMethod extends Transform {
|
|
43
|
+
/** Method name */
|
|
44
|
+
readonly methodName: string;
|
|
45
|
+
/** Method arguments */
|
|
46
|
+
readonly args: unknown[];
|
|
47
|
+
constructor(mobject: VMobject, options: ApplyMethodOptions);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Create an ApplyMethod animation.
|
|
51
|
+
* @param mobject The VMobject to transform
|
|
52
|
+
* @param methodName Name of the method to call
|
|
53
|
+
* @param args Arguments to pass to the method
|
|
54
|
+
* @param options Animation options
|
|
55
|
+
*/
|
|
56
|
+
export declare function applyMethod(mobject: VMobject, methodName: string, args?: unknown[], options?: AnimationOptions): ApplyMethod;
|
|
57
|
+
export interface ApplyMatrixOptions extends AnimationOptions {
|
|
58
|
+
/** 3x3 or 4x4 transformation matrix (row-major) */
|
|
59
|
+
matrix: number[][];
|
|
60
|
+
/** Point to apply transformation about, defaults to origin */
|
|
61
|
+
aboutPoint?: Vector3Tuple;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* ApplyMatrix animation - applies a matrix transformation to mobject points.
|
|
65
|
+
*/
|
|
66
|
+
export declare class ApplyMatrix extends Animation {
|
|
67
|
+
/** Transformation matrix */
|
|
68
|
+
readonly matrix: number[][];
|
|
69
|
+
/** Point to apply transformation about */
|
|
70
|
+
readonly aboutPoint: Vector3Tuple;
|
|
71
|
+
/** Copy of the starting points */
|
|
72
|
+
private _startPoints;
|
|
73
|
+
/** Target points after applying matrix */
|
|
74
|
+
private _targetPoints;
|
|
75
|
+
constructor(mobject: VMobject, options: ApplyMatrixOptions);
|
|
76
|
+
begin(): void;
|
|
77
|
+
private _transformPoint;
|
|
78
|
+
interpolate(alpha: number): void;
|
|
79
|
+
finish(): void;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Create an ApplyMatrix animation.
|
|
83
|
+
* @param mobject The VMobject to transform
|
|
84
|
+
* @param matrix 3x3 or 4x4 transformation matrix
|
|
85
|
+
* @param options Animation options including aboutPoint
|
|
86
|
+
*/
|
|
87
|
+
export declare function applyMatrix(mobject: VMobject, matrix: number[][], options?: Omit<ApplyMatrixOptions, 'matrix'>): ApplyMatrix;
|
|
88
|
+
export interface FadeTransformOptions extends AnimationOptions {
|
|
89
|
+
/** Stretch factor for fading effect */
|
|
90
|
+
stretchFactor?: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* FadeTransform animation - transforms with a fade effect.
|
|
94
|
+
* The source fades out while morphing to the target, which fades in.
|
|
95
|
+
*/
|
|
96
|
+
export declare class FadeTransform extends Animation {
|
|
97
|
+
/** The target mobject to transform into */
|
|
98
|
+
readonly target: VMobject;
|
|
99
|
+
/** Stretch factor for the fade */
|
|
100
|
+
readonly stretchFactor: number;
|
|
101
|
+
/** Copy of the starting points */
|
|
102
|
+
private _startPoints;
|
|
103
|
+
/** Copy of the target points */
|
|
104
|
+
private _targetPoints;
|
|
105
|
+
/** Starting opacity */
|
|
106
|
+
private _startOpacity;
|
|
107
|
+
/** Target opacity */
|
|
108
|
+
private _targetOpacity;
|
|
109
|
+
constructor(mobject: VMobject, target: VMobject, options?: FadeTransformOptions);
|
|
110
|
+
begin(): void;
|
|
111
|
+
interpolate(alpha: number): void;
|
|
112
|
+
finish(): void;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Create a FadeTransform animation.
|
|
116
|
+
* @param mobject The VMobject to transform
|
|
117
|
+
* @param target The target VMobject
|
|
118
|
+
* @param options Animation options
|
|
119
|
+
*/
|
|
120
|
+
export declare function fadeTransform(mobject: VMobject, target: VMobject, options?: FadeTransformOptions): FadeTransform;
|
|
121
|
+
export interface FadeTransformPiecesOptions extends AnimationOptions {
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* FadeTransformPieces animation - transforms pieces (submobjects) with fade effect.
|
|
125
|
+
* Each submobject fades and transforms independently.
|
|
126
|
+
*/
|
|
127
|
+
export declare class FadeTransformPieces extends Animation {
|
|
128
|
+
/** The target mobject to transform into */
|
|
129
|
+
readonly target: VMobject;
|
|
130
|
+
/** Starting state for each piece */
|
|
131
|
+
private _pieceStates;
|
|
132
|
+
constructor(mobject: VMobject, target: VMobject, options?: FadeTransformPiecesOptions);
|
|
133
|
+
begin(): void;
|
|
134
|
+
interpolate(alpha: number): void;
|
|
135
|
+
finish(): void;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Create a FadeTransformPieces animation.
|
|
139
|
+
* @param mobject The VMobject to transform
|
|
140
|
+
* @param target The target VMobject
|
|
141
|
+
* @param options Animation options
|
|
142
|
+
*/
|
|
143
|
+
export declare function fadeTransformPieces(mobject: VMobject, target: VMobject, options?: FadeTransformPiecesOptions): FadeTransformPieces;
|
|
144
|
+
export interface TransformFromCopyOptions extends AnimationOptions {
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* TransformFromCopy animation - transforms from a copy of the source to target.
|
|
148
|
+
* Useful when you want to show a transformation while keeping the original.
|
|
149
|
+
*/
|
|
150
|
+
export declare class TransformFromCopy extends Transform {
|
|
151
|
+
/** The original source mobject (kept unchanged) */
|
|
152
|
+
readonly originalSource: VMobject;
|
|
153
|
+
constructor(source: VMobject, target: VMobject, options?: TransformFromCopyOptions);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Create a TransformFromCopy animation.
|
|
157
|
+
* @param source The source VMobject (will be copied)
|
|
158
|
+
* @param target The target VMobject
|
|
159
|
+
* @param options Animation options
|
|
160
|
+
*/
|
|
161
|
+
export declare function transformFromCopy(source: VMobject, target: VMobject, options?: TransformFromCopyOptions): TransformFromCopy;
|
|
162
|
+
export interface ClockwiseTransformOptions extends AnimationOptions {
|
|
163
|
+
/** Angle to rotate through during transform (radians), default PI */
|
|
164
|
+
angle?: number;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* ClockwiseTransform animation - transforms while rotating clockwise.
|
|
168
|
+
* Points follow an arc path in the clockwise direction.
|
|
169
|
+
*/
|
|
170
|
+
export declare class ClockwiseTransform extends Animation {
|
|
171
|
+
/** The target mobject to transform into */
|
|
172
|
+
readonly target: VMobject;
|
|
173
|
+
/** Rotation angle */
|
|
174
|
+
readonly angle: number;
|
|
175
|
+
/** Starting points */
|
|
176
|
+
private _startPoints;
|
|
177
|
+
/** Target points */
|
|
178
|
+
private _targetPoints;
|
|
179
|
+
/** Center of rotation */
|
|
180
|
+
private _center;
|
|
181
|
+
/** Starting style values */
|
|
182
|
+
private _startOpacity;
|
|
183
|
+
private _targetOpacity;
|
|
184
|
+
constructor(mobject: VMobject, target: VMobject, options?: ClockwiseTransformOptions);
|
|
185
|
+
begin(): void;
|
|
186
|
+
interpolate(alpha: number): void;
|
|
187
|
+
finish(): void;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Create a ClockwiseTransform animation.
|
|
191
|
+
* @param mobject The VMobject to transform
|
|
192
|
+
* @param target The target VMobject
|
|
193
|
+
* @param options Animation options
|
|
194
|
+
*/
|
|
195
|
+
export declare function clockwiseTransform(mobject: VMobject, target: VMobject, options?: ClockwiseTransformOptions): ClockwiseTransform;
|
|
196
|
+
export interface CounterclockwiseTransformOptions extends AnimationOptions {
|
|
197
|
+
/** Angle to rotate through during transform (radians), default PI */
|
|
198
|
+
angle?: number;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* CounterclockwiseTransform animation - transforms while rotating counterclockwise.
|
|
202
|
+
* Points follow an arc path in the counterclockwise direction.
|
|
203
|
+
*/
|
|
204
|
+
export declare class CounterclockwiseTransform extends Animation {
|
|
205
|
+
/** The target mobject to transform into */
|
|
206
|
+
readonly target: VMobject;
|
|
207
|
+
/** Rotation angle */
|
|
208
|
+
readonly angle: number;
|
|
209
|
+
/** Starting points */
|
|
210
|
+
private _startPoints;
|
|
211
|
+
/** Target points */
|
|
212
|
+
private _targetPoints;
|
|
213
|
+
/** Center of rotation */
|
|
214
|
+
private _center;
|
|
215
|
+
/** Starting style values */
|
|
216
|
+
private _startOpacity;
|
|
217
|
+
private _targetOpacity;
|
|
218
|
+
constructor(mobject: VMobject, target: VMobject, options?: CounterclockwiseTransformOptions);
|
|
219
|
+
begin(): void;
|
|
220
|
+
interpolate(alpha: number): void;
|
|
221
|
+
finish(): void;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Create a CounterclockwiseTransform animation.
|
|
225
|
+
* @param mobject The VMobject to transform
|
|
226
|
+
* @param target The target VMobject
|
|
227
|
+
* @param options Animation options
|
|
228
|
+
*/
|
|
229
|
+
export declare function counterclockwiseTransform(mobject: VMobject, target: VMobject, options?: CounterclockwiseTransformOptions): CounterclockwiseTransform;
|
|
230
|
+
export interface SwapOptions extends AnimationOptions {
|
|
231
|
+
/** Path arc angle for the swap, default PI/2 */
|
|
232
|
+
pathArc?: number;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Swap animation - swaps the positions of two mobjects.
|
|
236
|
+
* Both mobjects move simultaneously along arced paths.
|
|
237
|
+
*/
|
|
238
|
+
export declare class Swap extends Animation {
|
|
239
|
+
/** The second mobject to swap with */
|
|
240
|
+
readonly mobject2: Mobject;
|
|
241
|
+
/** Path arc angle */
|
|
242
|
+
readonly pathArc: number;
|
|
243
|
+
/** Starting positions */
|
|
244
|
+
private _startPos1;
|
|
245
|
+
private _startPos2;
|
|
246
|
+
/** Target positions (swapped) */
|
|
247
|
+
private _targetPos1;
|
|
248
|
+
private _targetPos2;
|
|
249
|
+
constructor(mobject1: Mobject, mobject2: Mobject, options?: SwapOptions);
|
|
250
|
+
begin(): void;
|
|
251
|
+
interpolate(alpha: number): void;
|
|
252
|
+
finish(): void;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Create a Swap animation.
|
|
256
|
+
* @param mobject1 First mobject
|
|
257
|
+
* @param mobject2 Second mobject to swap with
|
|
258
|
+
* @param options Animation options
|
|
259
|
+
*/
|
|
260
|
+
export declare function swap(mobject1: Mobject, mobject2: Mobject, options?: SwapOptions): Swap;
|
|
261
|
+
export interface CyclicReplaceOptions extends AnimationOptions {
|
|
262
|
+
/** Path arc angle for movement, default PI/2 */
|
|
263
|
+
pathArc?: number;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* CyclicReplace animation - cyclically replaces positions of multiple mobjects.
|
|
267
|
+
* Each mobject moves to the position of the next mobject in the list.
|
|
268
|
+
*/
|
|
269
|
+
export declare class CyclicReplace extends Animation {
|
|
270
|
+
/** All mobjects in the cycle */
|
|
271
|
+
readonly mobjects: Mobject[];
|
|
272
|
+
/** Path arc angle */
|
|
273
|
+
readonly pathArc: number;
|
|
274
|
+
/** Starting positions */
|
|
275
|
+
private _startPositions;
|
|
276
|
+
/** Target positions (cycled) */
|
|
277
|
+
private _targetPositions;
|
|
278
|
+
constructor(mobjects: Mobject[], options?: CyclicReplaceOptions);
|
|
279
|
+
begin(): void;
|
|
280
|
+
interpolate(alpha: number): void;
|
|
281
|
+
finish(): void;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Create a CyclicReplace animation.
|
|
285
|
+
* @param mobjects Array of mobjects to cycle
|
|
286
|
+
* @param options Animation options
|
|
287
|
+
*/
|
|
288
|
+
export declare function cyclicReplace(mobjects: Mobject[], options?: CyclicReplaceOptions): CyclicReplace;
|
|
289
|
+
export interface ScaleInPlaceOptions extends AnimationOptions {
|
|
290
|
+
/** Scale factor */
|
|
291
|
+
scaleFactor: number;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* ScaleInPlace animation - scales a mobject without moving its center.
|
|
295
|
+
* Unlike regular scale which might affect position, this keeps center fixed.
|
|
296
|
+
*/
|
|
297
|
+
export declare class ScaleInPlace extends Animation {
|
|
298
|
+
/** Scale factor */
|
|
299
|
+
readonly scaleFactor: number;
|
|
300
|
+
/** Initial scale */
|
|
301
|
+
private _initialScale;
|
|
302
|
+
/** Target scale */
|
|
303
|
+
private _targetScale;
|
|
304
|
+
/** Center position to maintain */
|
|
305
|
+
private _center;
|
|
306
|
+
constructor(mobject: Mobject, options: ScaleInPlaceOptions);
|
|
307
|
+
begin(): void;
|
|
308
|
+
interpolate(alpha: number): void;
|
|
309
|
+
finish(): void;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Create a ScaleInPlace animation.
|
|
313
|
+
* @param mobject The mobject to scale
|
|
314
|
+
* @param scaleFactor Scale factor
|
|
315
|
+
* @param options Animation options
|
|
316
|
+
*/
|
|
317
|
+
export declare function scaleInPlace(mobject: Mobject, scaleFactor: number, options?: Omit<ScaleInPlaceOptions, 'scaleFactor'>): ScaleInPlace;
|
|
318
|
+
export interface ShrinkToCenterOptions extends AnimationOptions {
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* ShrinkToCenter animation - shrinks a mobject to its center point.
|
|
322
|
+
* The mobject scales down to zero while staying centered.
|
|
323
|
+
*/
|
|
324
|
+
export declare class ShrinkToCenter extends Animation {
|
|
325
|
+
/** Initial scale */
|
|
326
|
+
private _initialScale;
|
|
327
|
+
constructor(mobject: Mobject, options?: ShrinkToCenterOptions);
|
|
328
|
+
begin(): void;
|
|
329
|
+
interpolate(alpha: number): void;
|
|
330
|
+
finish(): void;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Create a ShrinkToCenter animation.
|
|
334
|
+
* @param mobject The mobject to shrink
|
|
335
|
+
* @param options Animation options
|
|
336
|
+
*/
|
|
337
|
+
export declare function shrinkToCenter(mobject: Mobject, options?: ShrinkToCenterOptions): ShrinkToCenter;
|
|
338
|
+
/**
|
|
339
|
+
* Interface for mobjects that support saved state
|
|
340
|
+
*/
|
|
341
|
+
export interface MobjectWithSavedState extends VMobject {
|
|
342
|
+
savedState: VMobject | null;
|
|
343
|
+
}
|
|
344
|
+
export interface RestoreOptions extends AnimationOptions {
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Restore animation - restores a mobject to its saved state.
|
|
348
|
+
* The mobject must have a savedState property set beforehand.
|
|
349
|
+
*/
|
|
350
|
+
export declare class Restore extends Transform {
|
|
351
|
+
constructor(mobject: MobjectWithSavedState, options?: RestoreOptions);
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Create a Restore animation.
|
|
355
|
+
* @param mobject The mobject to restore (must have savedState)
|
|
356
|
+
* @param options Animation options
|
|
357
|
+
*/
|
|
358
|
+
export declare function restore(mobject: MobjectWithSavedState, options?: RestoreOptions): Restore;
|
|
359
|
+
export interface FadeToColorOptions extends AnimationOptions {
|
|
360
|
+
/** Target color */
|
|
361
|
+
color: string;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* FadeToColor animation - animates a color change on a mobject.
|
|
365
|
+
* The color smoothly transitions from current to target.
|
|
366
|
+
*/
|
|
367
|
+
export declare class FadeToColor extends Animation {
|
|
368
|
+
/** Target color */
|
|
369
|
+
readonly targetColor: string;
|
|
370
|
+
/** Starting color as THREE.Color */
|
|
371
|
+
private _startColor;
|
|
372
|
+
/** Target color as THREE.Color */
|
|
373
|
+
private _targetColorObj;
|
|
374
|
+
constructor(mobject: Mobject, options: FadeToColorOptions);
|
|
375
|
+
begin(): void;
|
|
376
|
+
interpolate(alpha: number): void;
|
|
377
|
+
finish(): void;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Create a FadeToColor animation.
|
|
381
|
+
* @param mobject The mobject to recolor
|
|
382
|
+
* @param color Target color (CSS color string)
|
|
383
|
+
* @param options Animation options
|
|
384
|
+
*/
|
|
385
|
+
export declare function fadeToColor(mobject: Mobject, color: string, options?: Omit<FadeToColorOptions, 'color'>): FadeToColor;
|
|
386
|
+
export interface TransformAnimationsOptions extends AnimationOptions {
|
|
387
|
+
/** Rate function for the meta-animation interpolation */
|
|
388
|
+
transformRateFunc?: (t: number) => number;
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* TransformAnimations - A meta-animation that transforms one animation into another
|
|
392
|
+
*
|
|
393
|
+
* This is a higher-order animation that interpolates between the effects of two
|
|
394
|
+
* different animations. It runs both animations internally and blends their results.
|
|
395
|
+
*
|
|
396
|
+
* At alpha=0, the mobject shows the state from animation1
|
|
397
|
+
* At alpha=1, the mobject shows the state from animation2
|
|
398
|
+
* In between, it blends the two states
|
|
399
|
+
*
|
|
400
|
+
* @example
|
|
401
|
+
* ```typescript
|
|
402
|
+
* import { Circle, Transform, FadeIn, TransformAnimations } from 'manimweb';
|
|
403
|
+
*
|
|
404
|
+
* const circle = new Circle({ radius: 1 });
|
|
405
|
+
* const target = new Square({ sideLength: 2 });
|
|
406
|
+
*
|
|
407
|
+
* // Create two animations
|
|
408
|
+
* const anim1 = new Transform(circle, target);
|
|
409
|
+
* const anim2 = new FadeIn(circle);
|
|
410
|
+
*
|
|
411
|
+
* // Meta-animation that transitions between the effects of the two animations
|
|
412
|
+
* const metaAnim = new TransformAnimations(anim1, anim2, { duration: 2 });
|
|
413
|
+
* ```
|
|
414
|
+
*/
|
|
415
|
+
export declare class TransformAnimations extends Animation {
|
|
416
|
+
/** The first animation (source animation) */
|
|
417
|
+
readonly animation1: Animation;
|
|
418
|
+
/** The second animation (target animation) */
|
|
419
|
+
readonly animation2: Animation;
|
|
420
|
+
/** Optional rate function for the transform interpolation */
|
|
421
|
+
readonly transformRateFunc: (t: number) => number;
|
|
422
|
+
/** Stored state from animation2 at various points */
|
|
423
|
+
private _anim2StartPoints;
|
|
424
|
+
private _anim2EndPoints;
|
|
425
|
+
/** Original mobject state before any animation */
|
|
426
|
+
private _originalPoints;
|
|
427
|
+
/** Original style values */
|
|
428
|
+
private _originalOpacity;
|
|
429
|
+
private _originalFillOpacity;
|
|
430
|
+
constructor(animation1: Animation, animation2: Animation, options?: TransformAnimationsOptions);
|
|
431
|
+
begin(): void;
|
|
432
|
+
interpolate(alpha: number): void;
|
|
433
|
+
finish(): void;
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Create a TransformAnimations meta-animation.
|
|
437
|
+
* This animation interpolates between the effects of two different animations.
|
|
438
|
+
*
|
|
439
|
+
* @param animation1 The first animation (source)
|
|
440
|
+
* @param animation2 The second animation (target)
|
|
441
|
+
* @param options Animation options
|
|
442
|
+
*/
|
|
443
|
+
export declare function transformAnimations(animation1: Animation, animation2: Animation, options?: TransformAnimationsOptions): TransformAnimations;
|
|
444
|
+
//# sourceMappingURL=TransformExtensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransformExtensions.d.ts","sourceRoot":"","sources":["../../../src/animation/transform/TransformExtensions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,sCAAsC;IACtC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;CACrC;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IAE7C,kCAAkC;IAClC,OAAO,CAAC,YAAY,CAAkB;IAEtC,4CAA4C;IAC5C,OAAO,CAAC,aAAa,CAAkB;gBAE3B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB;IAKnD,KAAK,IAAI,IAAI;IAQtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWvB,MAAM,IAAI,IAAI;CAKxB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,EACnC,OAAO,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAC3C,aAAa,CAEf;AAMD,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC,kBAAkB;IAClB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;gBAEb,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB;CAY3D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,QAAQ,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,OAAO,EAAE,EAChB,OAAO,CAAC,EAAE,gBAAgB,GACzB,WAAW,CAEb;AAMD,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,mDAAmD;IACnD,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IAE5B,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAElC,kCAAkC;IAClC,OAAO,CAAC,YAAY,CAAkB;IAEtC,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAAkB;gBAE3B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB;IAMjD,KAAK,IAAI,IAAI;IAUtB,OAAO,CAAC,eAAe;IAgCvB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWvB,MAAM,IAAI,IAAI;CAKxB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAC3C,WAAW,CAEb;AAMD,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE1B,kCAAkC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,kCAAkC;IAClC,OAAO,CAAC,YAAY,CAAkB;IAEtC,gCAAgC;IAChC,OAAO,CAAC,aAAa,CAAkB;IAEvC,uBAAuB;IACvB,OAAO,CAAC,aAAa,CAAa;IAElC,qBAAqB;IACrB,OAAO,CAAC,cAAc,CAAa;gBAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,oBAAyB;IAM1E,KAAK,IAAI,IAAI;IAoBtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAoBvB,MAAM,IAAI,IAAI;CAOxB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAEf;AAMD,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;CAAG;AAEvE;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE1B,oCAAoC;IACpC,OAAO,CAAC,YAAY,CAKZ;gBAEI,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,0BAA+B;IAKhF,KAAK,IAAI,IAAI;IAyCtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAuCvB,MAAM,IAAI,IAAI;CAmBxB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE,0BAA0B,GACnC,mBAAmB,CAErB;AAMD,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;CAAG;AAErE;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;IAC9C,mDAAmD;IACnD,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC;gBAEtB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,wBAA6B;CAMvF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE,wBAAwB,GACjC,iBAAiB,CAEnB;AAMD,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,SAAS;IAC/C,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE1B,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,sBAAsB;IACtB,OAAO,CAAC,YAAY,CAAkB;IAEtC,oBAAoB;IACpB,OAAO,CAAC,aAAa,CAAkB;IAEvC,yBAAyB;IACzB,OAAO,CAAC,OAAO,CAA2B;IAE1C,4BAA4B;IAC5B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,cAAc,CAAa;gBAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,yBAA8B;IAM/E,KAAK,IAAI,IAAI;IA2BtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkCvB,MAAM,IAAI,IAAI;CAOxB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE,yBAAyB,GAClC,kBAAkB,CAEpB;AAMD,MAAM,WAAW,gCAAiC,SAAQ,gBAAgB;IACxE,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,SAAS;IACtD,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE1B,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,sBAAsB;IACtB,OAAO,CAAC,YAAY,CAAkB;IAEtC,oBAAoB;IACpB,OAAO,CAAC,aAAa,CAAkB;IAEvC,yBAAyB;IACzB,OAAO,CAAC,OAAO,CAA2B;IAE1C,4BAA4B;IAC5B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,cAAc,CAAa;gBAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,gCAAqC;IAMtF,KAAK,IAAI,IAAI;IA0BtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA+BvB,MAAM,IAAI,IAAI;CAOxB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE,gCAAgC,GACzC,yBAAyB,CAE3B;AAMD,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,IAAK,SAAQ,SAAS;IACjC,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,qBAAqB;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,yBAAyB;IACzB,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,UAAU,CAAsC;IAExD,iCAAiC;IACjC,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,WAAW,CAAsC;gBAE7C,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAE,WAAgB;IAMlE,KAAK,IAAI,IAAI;IAWtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAiBvB,MAAM,IAAI,IAAI;CAOxB;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAClB,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,IAAI,CAEN;AAMD,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC1C,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAE7B,qBAAqB;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,yBAAyB;IACzB,OAAO,CAAC,eAAe,CAAuB;IAE9C,gCAAgC;IAChC,OAAO,CAAC,gBAAgB,CAAuB;gBAEnC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,GAAE,oBAAyB;IAS1D,KAAK,IAAI,IAAI;IAatB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAmBvB,MAAM,IAAI,IAAI;CAOxB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAEf;AAMD,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,mBAAmB;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,oBAAoB;IACpB,OAAO,CAAC,aAAa,CAAsC;IAE3D,mBAAmB;IACnB,OAAO,CAAC,YAAY,CAAsC;IAE1D,kCAAkC;IAClC,OAAO,CAAC,OAAO,CAA2B;gBAE9B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB;IAKjD,KAAK,IAAI,IAAI;IAYtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAgBvB,MAAM,IAAI,IAAI;CAKxB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,GACjD,YAAY,CAEd;AAMD,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;CAAG;AAElE;;;GAGG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,oBAAoB;IACpB,OAAO,CAAC,aAAa,CAAsC;gBAE/C,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,qBAA0B;IAIxD,KAAK,IAAI,IAAI;IAKtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUvB,MAAM,IAAI,IAAI;CAKxB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,cAAc,CAEhB;AAMD;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,QAAQ;IACrD,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;CAAG;AAE3D;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,SAAS;gBACxB,OAAO,EAAE,qBAAqB,EAAE,OAAO,GAAE,cAAmB;CAMzE;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAET;AAMD,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC,mBAAmB;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,oCAAoC;IACpC,OAAO,CAAC,WAAW,CAAkC;IAErD,kCAAkC;IAClC,OAAO,CAAC,eAAe,CAAkC;gBAE7C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB;IAKhD,KAAK,IAAI,IAAI;IAMtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMvB,MAAM,IAAI,IAAI;CAKxB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,GAC1C,WAAW,CAEb;AAMD,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IAChD,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAE/B,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAE/B,6DAA6D;IAC7D,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAElD,qDAAqD;IACrD,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,eAAe,CAAkB;IAEzC,kDAAkD;IAClD,OAAO,CAAC,eAAe,CAAkB;IAEzC,4BAA4B;IAC5B,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,oBAAoB,CAAa;gBAGvC,UAAU,EAAE,SAAS,EACrB,UAAU,EAAE,SAAS,EACrB,OAAO,GAAE,0BAA+B;IASjC,KAAK,IAAI,IAAI;IA2CtB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA8CvB,MAAM,IAAI,IAAI;CAaxB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,SAAS,EACrB,UAAU,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,0BAA0B,GACnC,mBAAmB,CAErB"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { VMobject } from '../../core/VMobject';
|
|
2
|
+
import { Animation, AnimationOptions } from '../Animation';
|
|
3
|
+
export interface TransformMatchingShapesOptions extends AnimationOptions {
|
|
4
|
+
/** Minimum similarity threshold for matching (0-1). Default: 0.5 */
|
|
5
|
+
matchThreshold?: number;
|
|
6
|
+
/** Key function to extract identifier for matching. If provided, uses this instead of shape similarity */
|
|
7
|
+
keyFunc?: (vmobject: VMobject) => string;
|
|
8
|
+
/** Fade duration as fraction of total duration (0-0.5). Default: 0.25 */
|
|
9
|
+
fadeRatio?: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* TransformMatchingShapes animation - transforms matching shapes between mobjects.
|
|
13
|
+
*
|
|
14
|
+
* Uses the Hungarian algorithm for optimal shape matching:
|
|
15
|
+
* - When a keyFunc is provided: exact key-based matching (same as before)
|
|
16
|
+
* - When no keyFunc: builds a similarity matrix and uses the Hungarian algorithm
|
|
17
|
+
* to find the globally optimal one-to-one assignment that maximizes total
|
|
18
|
+
* similarity, subject to a minimum threshold.
|
|
19
|
+
*
|
|
20
|
+
* Matched shapes transform smoothly, while unmatched shapes fade in/out.
|
|
21
|
+
*/
|
|
22
|
+
export declare class TransformMatchingShapes extends Animation {
|
|
23
|
+
/** The target mobject to transform into */
|
|
24
|
+
readonly target: VMobject;
|
|
25
|
+
/** Minimum similarity threshold for matching */
|
|
26
|
+
readonly matchThreshold: number;
|
|
27
|
+
/** Optional key function for matching */
|
|
28
|
+
readonly keyFunc?: (vmobject: VMobject) => string;
|
|
29
|
+
/** Fade duration ratio */
|
|
30
|
+
readonly fadeRatio: number;
|
|
31
|
+
/** Matched parts that will transform */
|
|
32
|
+
private _matchedParts;
|
|
33
|
+
/** Source parts that will fade out (no match in target) */
|
|
34
|
+
private _fadeOutParts;
|
|
35
|
+
/** Target parts that will fade in (no match in source) */
|
|
36
|
+
private _fadeInParts;
|
|
37
|
+
constructor(source: VMobject, target: VMobject, options?: TransformMatchingShapesOptions);
|
|
38
|
+
/**
|
|
39
|
+
* Get submobjects from a VMobject (or treat as single if no children)
|
|
40
|
+
*/
|
|
41
|
+
private _getSubmobjects;
|
|
42
|
+
/**
|
|
43
|
+
* Match submobjects between source and target using optimal assignment.
|
|
44
|
+
*/
|
|
45
|
+
private _matchSubmobjects;
|
|
46
|
+
/**
|
|
47
|
+
* Add a matched pair
|
|
48
|
+
*/
|
|
49
|
+
private _addMatchedPart;
|
|
50
|
+
begin(): void;
|
|
51
|
+
interpolate(alpha: number): void;
|
|
52
|
+
finish(): void;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Create a TransformMatchingShapes animation.
|
|
56
|
+
* @param source The source VMobject
|
|
57
|
+
* @param target The target VMobject
|
|
58
|
+
* @param options Animation options
|
|
59
|
+
*/
|
|
60
|
+
export declare function transformMatchingShapes(source: VMobject, target: VMobject, options?: TransformMatchingShapesOptions): TransformMatchingShapes;
|
|
61
|
+
export interface TransformMatchingTexOptions extends AnimationOptions {
|
|
62
|
+
/** Key function to extract identifier for matching. Default uses LaTeX string comparison */
|
|
63
|
+
keyFunc?: (vmobject: VMobject) => string;
|
|
64
|
+
/** Fade duration as fraction of total duration (0-0.5). Default: 0.25 */
|
|
65
|
+
fadeRatio?: number;
|
|
66
|
+
/** Transform unmatched parts (true) or fade them (false). Default: false */
|
|
67
|
+
transformMismatches?: boolean;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* TransformMatchingTex animation - transforms matching TeX parts between expressions.
|
|
71
|
+
*
|
|
72
|
+
* Parts are matched by their LaTeX content using key-based exact matching.
|
|
73
|
+
* When `transformMismatches` is enabled, unmatched parts are optimally paired
|
|
74
|
+
* using the Hungarian algorithm with position-based cost (center distance),
|
|
75
|
+
* ensuring the closest unmatched source/target parts are transformed together.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* // Animate from "x^2 + y^2" to "x^2 + y^2 = r^2"
|
|
80
|
+
* // The "x^2 + y^2" part will transform smoothly
|
|
81
|
+
* // The "= r^2" part will fade in
|
|
82
|
+
* const anim = transformMatchingTex(formula1, formula2);
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare class TransformMatchingTex extends Animation {
|
|
86
|
+
/** The target mobject to transform into */
|
|
87
|
+
readonly target: VMobject;
|
|
88
|
+
/** Key function for matching */
|
|
89
|
+
readonly keyFunc: (vmobject: VMobject) => string;
|
|
90
|
+
/** Fade duration ratio */
|
|
91
|
+
readonly fadeRatio: number;
|
|
92
|
+
/** Whether to transform mismatches instead of fading */
|
|
93
|
+
readonly transformMismatches: boolean;
|
|
94
|
+
/** Matched parts that will transform */
|
|
95
|
+
private _matchedParts;
|
|
96
|
+
/** Source parts that will fade out (no match in target) */
|
|
97
|
+
private _fadeOutParts;
|
|
98
|
+
/** Target parts that will fade in (no match in source) */
|
|
99
|
+
private _fadeInParts;
|
|
100
|
+
/** Mismatched pairs that will transform (if transformMismatches is true) */
|
|
101
|
+
private _mismatchedPairs;
|
|
102
|
+
constructor(source: VMobject, target: VMobject, options?: TransformMatchingTexOptions);
|
|
103
|
+
/**
|
|
104
|
+
* Get submobjects from a TeX mobject
|
|
105
|
+
*/
|
|
106
|
+
private _getTexParts;
|
|
107
|
+
/**
|
|
108
|
+
* Match TeX parts between source and target.
|
|
109
|
+
*
|
|
110
|
+
* Phase 1: Exact key-based matching (LaTeX string comparison).
|
|
111
|
+
* Phase 2 (if transformMismatches): Use Hungarian algorithm with center-distance
|
|
112
|
+
* cost to optimally pair remaining unmatched source and target parts.
|
|
113
|
+
*/
|
|
114
|
+
private _matchTexParts;
|
|
115
|
+
/**
|
|
116
|
+
* Add a matched pair
|
|
117
|
+
*/
|
|
118
|
+
private _addMatchedPart;
|
|
119
|
+
/**
|
|
120
|
+
* Add a mismatched pair for transformation
|
|
121
|
+
*/
|
|
122
|
+
private _addMismatchedPair;
|
|
123
|
+
/**
|
|
124
|
+
* Add a fade-in part
|
|
125
|
+
*/
|
|
126
|
+
private _addFadeInPart;
|
|
127
|
+
begin(): void;
|
|
128
|
+
interpolate(alpha: number): void;
|
|
129
|
+
finish(): void;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Create a TransformMatchingTex animation.
|
|
133
|
+
* @param source The source TeX/MathTex VMobject
|
|
134
|
+
* @param target The target TeX/MathTex VMobject
|
|
135
|
+
* @param options Animation options
|
|
136
|
+
*/
|
|
137
|
+
export declare function transformMatchingTex(source: VMobject, target: VMobject, options?: TransformMatchingTexOptions): TransformMatchingTex;
|
|
138
|
+
//# sourceMappingURL=TransformMatching.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransformMatching.d.ts","sourceRoot":"","sources":["../../../src/animation/transform/TransformMatching.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { Transform, transform, ReplacementTransform, replacementTransform, MoveToTarget, moveToTarget, type MobjectWithTarget, } from './Transform';
|
|
2
|
+
export { ApplyFunction, applyFunction, type ApplyFunctionOptions, ApplyMethod, applyMethod, type ApplyMethodOptions, ApplyMatrix, applyMatrix, type ApplyMatrixOptions, FadeTransform, fadeTransform, type FadeTransformOptions, FadeTransformPieces, fadeTransformPieces, type FadeTransformPiecesOptions, TransformFromCopy, transformFromCopy, type TransformFromCopyOptions, ClockwiseTransform, clockwiseTransform, type ClockwiseTransformOptions, CounterclockwiseTransform, counterclockwiseTransform, type CounterclockwiseTransformOptions, Swap, swap, type SwapOptions, CyclicReplace, cyclicReplace, type CyclicReplaceOptions, ScaleInPlace, scaleInPlace, type ScaleInPlaceOptions, ShrinkToCenter, shrinkToCenter, type ShrinkToCenterOptions, Restore, restore, type MobjectWithSavedState, type RestoreOptions, FadeToColor, fadeToColor, type FadeToColorOptions, TransformAnimations, transformAnimations, type TransformAnimationsOptions, } from './TransformExtensions';
|
|
3
|
+
export { TransformMatchingShapes, transformMatchingShapes, type TransformMatchingShapesOptions, TransformMatchingTex, transformMatchingTex, type TransformMatchingTexOptions, } from './TransformMatching';
|
|
4
|
+
export { ApplyPointwiseFunction, applyPointwiseFunction, type ApplyPointwiseFunctionOptions, } from './ApplyPointwiseFunction';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/animation/transform/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,aAAa,EACb,aAAa,EACb,KAAK,oBAAoB,EAGzB,WAAW,EACX,WAAW,EACX,KAAK,kBAAkB,EAGvB,WAAW,EACX,WAAW,EACX,KAAK,kBAAkB,EAGvB,aAAa,EACb,aAAa,EACb,KAAK,oBAAoB,EAGzB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,0BAA0B,EAG/B,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,wBAAwB,EAG7B,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,yBAAyB,EAG9B,yBAAyB,EACzB,yBAAyB,EACzB,KAAK,gCAAgC,EAGrC,IAAI,EACJ,IAAI,EACJ,KAAK,WAAW,EAGhB,aAAa,EACb,aAAa,EACb,KAAK,oBAAoB,EAGzB,YAAY,EACZ,YAAY,EACZ,KAAK,mBAAmB,EAGxB,cAAc,EACd,cAAc,EACd,KAAK,qBAAqB,EAG1B,OAAO,EACP,OAAO,EACP,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EAGnB,WAAW,EACX,WAAW,EACX,KAAK,kBAAkB,EAGvB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,8BAA8B,EAGnC,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,2BAA2B,GACjC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,6BAA6B,GACnC,MAAM,0BAA0B,CAAC"}
|