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,248 @@
|
|
|
1
|
+
import { Mobject, Vector3Tuple } from '../../core/Mobject';
|
|
2
|
+
import { Animation, AnimationOptions } from '../../animation/Animation';
|
|
3
|
+
/**
|
|
4
|
+
* ValueTracker - A mobject that tracks a numerical value that can be animated.
|
|
5
|
+
*
|
|
6
|
+
* ValueTrackers are invisible mobjects that hold a value which can be smoothly
|
|
7
|
+
* animated using the standard animation system. Other mobjects can use updaters
|
|
8
|
+
* to respond to changes in the ValueTracker's value.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* // Create a tracker starting at 0
|
|
13
|
+
* const tracker = new ValueTracker(0);
|
|
14
|
+
*
|
|
15
|
+
* // Create a dot that follows the tracker value on a number line
|
|
16
|
+
* const dot = new Dot();
|
|
17
|
+
* dot.addUpdater((d) => {
|
|
18
|
+
* d.moveTo(numberLine.numberToPoint(tracker.getValue()));
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* // Animate the tracker from 0 to 5
|
|
22
|
+
* timeline.add(tracker.animateTo(5, { duration: 2 }));
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import * as THREE from 'three';
|
|
26
|
+
/**
|
|
27
|
+
* Options for creating a ValueTracker
|
|
28
|
+
*/
|
|
29
|
+
export interface ValueTrackerOptions {
|
|
30
|
+
/** Initial value (default: 0) */
|
|
31
|
+
value?: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* ValueTracker - Tracks a numerical value that can be animated.
|
|
35
|
+
*
|
|
36
|
+
* This is an invisible mobject designed to hold a single numerical value
|
|
37
|
+
* that can be smoothly animated. It's commonly used with updaters to
|
|
38
|
+
* create dynamic animations where multiple mobjects respond to a single
|
|
39
|
+
* changing value.
|
|
40
|
+
*/
|
|
41
|
+
export declare class ValueTracker extends Mobject {
|
|
42
|
+
/** The tracked value */
|
|
43
|
+
private _value;
|
|
44
|
+
/**
|
|
45
|
+
* Create a new ValueTracker.
|
|
46
|
+
* @param value - Initial value (default: 0)
|
|
47
|
+
*/
|
|
48
|
+
constructor(value?: number);
|
|
49
|
+
constructor(options?: ValueTrackerOptions);
|
|
50
|
+
/**
|
|
51
|
+
* Get the current value.
|
|
52
|
+
* @returns The current tracked value
|
|
53
|
+
*/
|
|
54
|
+
getValue(): number;
|
|
55
|
+
/**
|
|
56
|
+
* Set the value directly (without animation).
|
|
57
|
+
* @param value - The new value
|
|
58
|
+
* @returns this for chaining
|
|
59
|
+
*/
|
|
60
|
+
setValue(value: number): this;
|
|
61
|
+
/**
|
|
62
|
+
* Increment the value by a given amount.
|
|
63
|
+
* @param amount - The amount to add (can be negative)
|
|
64
|
+
* @returns this for chaining
|
|
65
|
+
*/
|
|
66
|
+
incrementValue(amount: number): this;
|
|
67
|
+
/**
|
|
68
|
+
* Create an animation that smoothly changes the value.
|
|
69
|
+
* @param targetValue - The value to animate to
|
|
70
|
+
* @param options - Animation options (duration, rateFunc, etc.)
|
|
71
|
+
* @returns An animation that can be added to a timeline
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* // Animate from current value to 10 over 2 seconds
|
|
76
|
+
* timeline.add(tracker.animateTo(10, { duration: 2 }));
|
|
77
|
+
*
|
|
78
|
+
* // Animate with custom rate function
|
|
79
|
+
* timeline.add(tracker.animateTo(5, {
|
|
80
|
+
* duration: 1.5,
|
|
81
|
+
* rateFunc: easeInOut
|
|
82
|
+
* }));
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
animateTo(targetValue: number, options?: AnimationOptions): Animation;
|
|
86
|
+
/**
|
|
87
|
+
* Alias for animateTo - matches Manim's API.
|
|
88
|
+
* @param targetValue - The value to animate to
|
|
89
|
+
* @param options - Animation options
|
|
90
|
+
* @returns An animation
|
|
91
|
+
*/
|
|
92
|
+
animate(targetValue: number, options?: AnimationOptions): Animation;
|
|
93
|
+
/**
|
|
94
|
+
* Get the center position (returns origin since this is invisible).
|
|
95
|
+
* @returns [0, 0, 0]
|
|
96
|
+
*/
|
|
97
|
+
getCenter(): Vector3Tuple;
|
|
98
|
+
/**
|
|
99
|
+
* Create a copy of this ValueTracker.
|
|
100
|
+
* @returns A new ValueTracker with the same value
|
|
101
|
+
*/
|
|
102
|
+
protected _createCopy(): ValueTracker;
|
|
103
|
+
/**
|
|
104
|
+
* Create an empty Three.js object (ValueTracker is invisible).
|
|
105
|
+
* @returns An empty THREE.Group
|
|
106
|
+
*/
|
|
107
|
+
protected _createThreeObject(): THREE.Object3D;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Complex number representation
|
|
111
|
+
*/
|
|
112
|
+
export interface Complex {
|
|
113
|
+
/** Real part */
|
|
114
|
+
re: number;
|
|
115
|
+
/** Imaginary part */
|
|
116
|
+
im: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Options for creating a ComplexValueTracker
|
|
120
|
+
*/
|
|
121
|
+
export interface ComplexValueTrackerOptions {
|
|
122
|
+
/** Initial complex value */
|
|
123
|
+
value?: Complex;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* ComplexValueTracker - Tracks a complex number that can be animated.
|
|
127
|
+
*
|
|
128
|
+
* Similar to ValueTracker but for complex numbers. The value is stored
|
|
129
|
+
* as {re, im} representing the real and imaginary parts.
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* // Create a tracker at 1 + 2i
|
|
134
|
+
* const tracker = new ComplexValueTracker({ re: 1, im: 2 });
|
|
135
|
+
*
|
|
136
|
+
* // Create a dot that visualizes the complex number
|
|
137
|
+
* const dot = new Dot();
|
|
138
|
+
* dot.addUpdater((d) => {
|
|
139
|
+
* const z = tracker.getValue();
|
|
140
|
+
* d.moveTo([z.re, z.im, 0]);
|
|
141
|
+
* });
|
|
142
|
+
*
|
|
143
|
+
* // Animate to -1 + 0i
|
|
144
|
+
* timeline.add(tracker.animateTo({ re: -1, im: 0 }, { duration: 2 }));
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export declare class ComplexValueTracker extends Mobject {
|
|
148
|
+
/** The tracked complex value */
|
|
149
|
+
private _value;
|
|
150
|
+
/**
|
|
151
|
+
* Create a new ComplexValueTracker.
|
|
152
|
+
* @param value - Initial complex value (default: { re: 0, im: 0 })
|
|
153
|
+
*/
|
|
154
|
+
constructor(value?: Complex);
|
|
155
|
+
constructor(options?: ComplexValueTrackerOptions);
|
|
156
|
+
/**
|
|
157
|
+
* Get the current complex value.
|
|
158
|
+
* @returns The current value as { re, im }
|
|
159
|
+
*/
|
|
160
|
+
getValue(): Complex;
|
|
161
|
+
/**
|
|
162
|
+
* Alias for getValue - returns the complex number.
|
|
163
|
+
* @returns The current value as { re, im }
|
|
164
|
+
*/
|
|
165
|
+
getComplex(): Complex;
|
|
166
|
+
/**
|
|
167
|
+
* Get the real part of the value.
|
|
168
|
+
* @returns The real part
|
|
169
|
+
*/
|
|
170
|
+
getReal(): number;
|
|
171
|
+
/**
|
|
172
|
+
* Get the imaginary part of the value.
|
|
173
|
+
* @returns The imaginary part
|
|
174
|
+
*/
|
|
175
|
+
getImaginary(): number;
|
|
176
|
+
/**
|
|
177
|
+
* Get the magnitude (absolute value) of the complex number.
|
|
178
|
+
* @returns |z| = sqrt(re^2 + im^2)
|
|
179
|
+
*/
|
|
180
|
+
getMagnitude(): number;
|
|
181
|
+
/**
|
|
182
|
+
* Get the argument (phase angle) of the complex number.
|
|
183
|
+
* @returns The angle in radians
|
|
184
|
+
*/
|
|
185
|
+
getArgument(): number;
|
|
186
|
+
/**
|
|
187
|
+
* Set the value directly (without animation).
|
|
188
|
+
* @param value - The new complex value
|
|
189
|
+
* @returns this for chaining
|
|
190
|
+
*/
|
|
191
|
+
setValue(value: Complex): this;
|
|
192
|
+
/**
|
|
193
|
+
* Set the value using polar coordinates.
|
|
194
|
+
* @param r - Magnitude
|
|
195
|
+
* @param theta - Angle in radians
|
|
196
|
+
* @returns this for chaining
|
|
197
|
+
*/
|
|
198
|
+
setFromPolar(r: number, theta: number): this;
|
|
199
|
+
/**
|
|
200
|
+
* Increment the value by a given complex amount.
|
|
201
|
+
* @param amount - The amount to add
|
|
202
|
+
* @returns this for chaining
|
|
203
|
+
*/
|
|
204
|
+
incrementValue(amount: Complex): this;
|
|
205
|
+
/**
|
|
206
|
+
* Create an animation that smoothly changes the complex value.
|
|
207
|
+
* @param targetValue - The value to animate to
|
|
208
|
+
* @param options - Animation options (duration, rateFunc, etc.)
|
|
209
|
+
* @returns An animation that can be added to a timeline
|
|
210
|
+
*/
|
|
211
|
+
animateTo(targetValue: Complex, options?: AnimationOptions): Animation;
|
|
212
|
+
/**
|
|
213
|
+
* Alias for animateTo - matches Manim's API.
|
|
214
|
+
* @param targetValue - The value to animate to
|
|
215
|
+
* @param options - Animation options
|
|
216
|
+
* @returns An animation
|
|
217
|
+
*/
|
|
218
|
+
animate(targetValue: Complex, options?: AnimationOptions): Animation;
|
|
219
|
+
/**
|
|
220
|
+
* Get the center position (returns the complex number as a 2D point).
|
|
221
|
+
* @returns [re, im, 0]
|
|
222
|
+
*/
|
|
223
|
+
getCenter(): Vector3Tuple;
|
|
224
|
+
/**
|
|
225
|
+
* Create a copy of this ComplexValueTracker.
|
|
226
|
+
* @returns A new ComplexValueTracker with the same value
|
|
227
|
+
*/
|
|
228
|
+
protected _createCopy(): ComplexValueTracker;
|
|
229
|
+
/**
|
|
230
|
+
* Create an empty Three.js object (ComplexValueTracker is invisible).
|
|
231
|
+
* @returns An empty THREE.Group
|
|
232
|
+
*/
|
|
233
|
+
protected _createThreeObject(): THREE.Object3D;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Factory function to create a ValueTracker.
|
|
237
|
+
* @param value - Initial value (default: 0)
|
|
238
|
+
* @returns A new ValueTracker
|
|
239
|
+
*/
|
|
240
|
+
export declare function valueTracker(value?: number): ValueTracker;
|
|
241
|
+
/**
|
|
242
|
+
* Factory function to create a ComplexValueTracker.
|
|
243
|
+
* @param value - Initial complex value (default: { re: 0, im: 0 })
|
|
244
|
+
* @returns A new ComplexValueTracker
|
|
245
|
+
*/
|
|
246
|
+
export declare function complexValueTracker(value?: Complex): ComplexValueTracker;
|
|
247
|
+
export default ValueTracker;
|
|
248
|
+
//# sourceMappingURL=ValueTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValueTracker.d.ts","sourceRoot":"","sources":["../../../src/mobjects/value-tracker/ValueTracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAiCxE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,OAAO;IACvC,wBAAwB;IACxB,OAAO,CAAC,MAAM,CAAS;IAEvB;;;OAGG;gBACS,KAAK,CAAC,EAAE,MAAM;gBACd,OAAO,CAAC,EAAE,mBAAmB;IAazC;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ7B;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAIrE;;;;;OAKG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAInE;;;OAGG;IACM,SAAS,IAAI,YAAY;IAIlC;;;OAGG;cACgB,WAAW,IAAI,YAAY;IAI9C;;;OAGG;cACgB,kBAAkB,IAAI,KAAK,CAAC,QAAQ;CAIxD;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;CACZ;AAkCD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,4BAA4B;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,mBAAoB,SAAQ,OAAO;IAC9C,gCAAgC;IAChC,OAAO,CAAC,MAAM,CAAU;IAExB;;;OAGG;gBACS,KAAK,CAAC,EAAE,OAAO;gBACf,OAAO,CAAC,EAAE,0BAA0B;IAehD;;;OAGG;IACH,QAAQ,IAAI,OAAO;IAInB;;;OAGG;IACH,UAAU,IAAI,OAAO;IAIrB;;;OAGG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAQ9B;;;;;OAKG;IACH,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO5C;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAOrC;;;;;OAKG;IACH,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAItE;;;;;OAKG;IACH,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAIpE;;;OAGG;IACM,SAAS,IAAI,YAAY;IAIlC;;;OAGG;cACgB,WAAW,IAAI,mBAAmB;IAIrD;;;OAGG;cACgB,kBAAkB,IAAI,KAAK,CAAC,QAAQ;CAIxD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,GAAE,MAAU,GAAG,YAAY,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAExE;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Value Tracker exports
|
|
3
|
+
*
|
|
4
|
+
* ValueTracker and ComplexValueTracker are invisible mobjects that hold
|
|
5
|
+
* values which can be smoothly animated. They are commonly used with
|
|
6
|
+
* updaters to create dynamic animations.
|
|
7
|
+
*/
|
|
8
|
+
export { ValueTracker, valueTracker, ComplexValueTracker, complexValueTracker, type ValueTrackerOptions, type ComplexValueTrackerOptions, type Complex, } from './ValueTracker';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobjects/value-tracker/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,OAAO,GACb,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rate/easing functions for animations.
|
|
3
|
+
* These control how the animation progress (0-1) is mapped to visual progress.
|
|
4
|
+
*/
|
|
5
|
+
export type RateFunction = (t: number) => number;
|
|
6
|
+
/**
|
|
7
|
+
* Linear interpolation - constant speed
|
|
8
|
+
*/
|
|
9
|
+
export declare const linear: RateFunction;
|
|
10
|
+
/**
|
|
11
|
+
* Manim Python's smooth function using sigmoid curve.
|
|
12
|
+
* Matches: smooth(t, inflection=10) from manim.utils.rate_functions
|
|
13
|
+
* Steeper in the middle, flatter at endpoints than simple smoothstep.
|
|
14
|
+
*/
|
|
15
|
+
export declare const smooth: RateFunction;
|
|
16
|
+
/**
|
|
17
|
+
* Cubic ease in-out - slower at both ends
|
|
18
|
+
*/
|
|
19
|
+
export declare const easeInOut: RateFunction;
|
|
20
|
+
/**
|
|
21
|
+
* Cubic ease in - starts slow, accelerates
|
|
22
|
+
*/
|
|
23
|
+
export declare const easeIn: RateFunction;
|
|
24
|
+
/**
|
|
25
|
+
* Cubic ease out - starts fast, decelerates
|
|
26
|
+
*/
|
|
27
|
+
export declare const easeOut: RateFunction;
|
|
28
|
+
/**
|
|
29
|
+
* Quadratic ease in
|
|
30
|
+
*/
|
|
31
|
+
export declare const easeInQuad: RateFunction;
|
|
32
|
+
/**
|
|
33
|
+
* Quadratic ease out
|
|
34
|
+
*/
|
|
35
|
+
export declare const easeOutQuad: RateFunction;
|
|
36
|
+
/**
|
|
37
|
+
* Exponential ease in
|
|
38
|
+
*/
|
|
39
|
+
export declare const easeInExpo: RateFunction;
|
|
40
|
+
/**
|
|
41
|
+
* Exponential ease out
|
|
42
|
+
*/
|
|
43
|
+
export declare const easeOutExpo: RateFunction;
|
|
44
|
+
/**
|
|
45
|
+
* Bounce ease out - simulates bouncing
|
|
46
|
+
*/
|
|
47
|
+
export declare const easeOutBounce: RateFunction;
|
|
48
|
+
/**
|
|
49
|
+
* Bounce ease in
|
|
50
|
+
*/
|
|
51
|
+
export declare const easeInBounce: RateFunction;
|
|
52
|
+
/**
|
|
53
|
+
* There and back - goes to 1 at t=0.5, returns to 0 at t=1
|
|
54
|
+
*/
|
|
55
|
+
export declare const thereAndBack: RateFunction;
|
|
56
|
+
/**
|
|
57
|
+
* Rush into - quickly accelerate then maintain
|
|
58
|
+
*/
|
|
59
|
+
export declare const rushInto: RateFunction;
|
|
60
|
+
/**
|
|
61
|
+
* Rush from - maintain then quickly decelerate
|
|
62
|
+
*/
|
|
63
|
+
export declare const rushFrom: RateFunction;
|
|
64
|
+
/**
|
|
65
|
+
* Double smooth - extra smooth transitions
|
|
66
|
+
*/
|
|
67
|
+
export declare const doubleSmooth: RateFunction;
|
|
68
|
+
/**
|
|
69
|
+
* Create a rate function that stays at 0 until a certain point,
|
|
70
|
+
* then jumps to 1
|
|
71
|
+
*/
|
|
72
|
+
export declare const stepFunction: (threshold?: number) => RateFunction;
|
|
73
|
+
/**
|
|
74
|
+
* Reverse a rate function
|
|
75
|
+
*/
|
|
76
|
+
export declare const reverse: (func: RateFunction) => RateFunction;
|
|
77
|
+
/**
|
|
78
|
+
* Compose two rate functions
|
|
79
|
+
*/
|
|
80
|
+
export declare const compose: (outer: RateFunction, inner: RateFunction) => RateFunction;
|
|
81
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rate-functions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,YAAuC,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,YAKpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,YAIvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,YAEpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,YAErB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,YAExB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,YAEzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,YAExB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,YAEzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,YAa3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,YAE1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,YAI1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,YAEtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,YAEtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,YAK1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,YAAW,MAAY,KAAG,YAEtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,YAAY,KAAG,YAE5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,GAClB,OAAO,YAAY,EACnB,OAAO,YAAY,KAClB,YAEF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateFunctions.test.d.ts","sourceRoot":"","sources":["../../src/rate-functions/rateFunctions.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { BezierShaderMaterialOptions } from './BezierShaderMaterial';
|
|
2
|
+
/**
|
|
3
|
+
* BezierRenderer - Converts VMobject cubic Bezier data into instanced Three.js
|
|
4
|
+
* geometry for GPU-accelerated SDF curve rendering.
|
|
5
|
+
*
|
|
6
|
+
* Each cubic Bezier segment of a VMobject becomes one instance of a screen-aligned
|
|
7
|
+
* quad. The BezierShaderMaterial's fragment shader evaluates the SDF per-pixel to
|
|
8
|
+
* produce anti-aliased strokes with variable width and round caps.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* ```ts
|
|
12
|
+
* const renderer = new BezierRenderer({ resolution: [1920, 1080] });
|
|
13
|
+
* const mesh = renderer.buildMesh(vmobject);
|
|
14
|
+
* scene.add(mesh);
|
|
15
|
+
*
|
|
16
|
+
* // On resize:
|
|
17
|
+
* renderer.updateResolution(newWidth, newHeight, pixelRatio);
|
|
18
|
+
*
|
|
19
|
+
* // When VMobject points change:
|
|
20
|
+
* renderer.updateMesh(mesh, vmobject);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
import * as THREE from 'three';
|
|
24
|
+
export interface BezierRendererOptions {
|
|
25
|
+
/** Renderer resolution [width, height] in CSS pixels. Default: [800, 450] */
|
|
26
|
+
resolution?: [number, number];
|
|
27
|
+
/** Device pixel ratio. Default: 1 */
|
|
28
|
+
pixelRatio?: number;
|
|
29
|
+
/** Additional material options */
|
|
30
|
+
materialOptions?: BezierShaderMaterialOptions;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Per-segment data extracted from a VMobject or provided directly.
|
|
34
|
+
*/
|
|
35
|
+
export interface BezierSegment {
|
|
36
|
+
/** Control point 0 (start anchor) */
|
|
37
|
+
p0: number[];
|
|
38
|
+
/** Control point 1 */
|
|
39
|
+
p1: number[];
|
|
40
|
+
/** Control point 2 */
|
|
41
|
+
p2: number[];
|
|
42
|
+
/** Control point 3 (end anchor) */
|
|
43
|
+
p3: number[];
|
|
44
|
+
/** Stroke width at start of segment */
|
|
45
|
+
widthStart: number;
|
|
46
|
+
/** Stroke width at end of segment */
|
|
47
|
+
widthEnd: number;
|
|
48
|
+
/** RGBA color [r, g, b, a] where each channel is 0..1 */
|
|
49
|
+
color: [number, number, number, number];
|
|
50
|
+
}
|
|
51
|
+
export declare class BezierRenderer {
|
|
52
|
+
private _material;
|
|
53
|
+
private _pixelRatio;
|
|
54
|
+
constructor(options?: BezierRendererOptions);
|
|
55
|
+
/** Access the underlying ShaderMaterial (e.g. to update uniforms). */
|
|
56
|
+
get material(): THREE.ShaderMaterial;
|
|
57
|
+
/**
|
|
58
|
+
* Update renderer resolution. Call on window/canvas resize.
|
|
59
|
+
*/
|
|
60
|
+
updateResolution(width: number, height: number, pixelRatio?: number): void;
|
|
61
|
+
/**
|
|
62
|
+
* Extract cubic Bezier segments from a VMobject-like object.
|
|
63
|
+
*
|
|
64
|
+
* VMobject stores points as:
|
|
65
|
+
* [anchor0, handle0, handle1, anchor1, handle2, handle3, anchor2, ...]
|
|
66
|
+
* Each group of 4 consecutive points (stepping by 3) is one cubic segment.
|
|
67
|
+
*
|
|
68
|
+
* @param points - The VMobject's 3D points array
|
|
69
|
+
* @param strokeWidth - Uniform stroke width (or start width)
|
|
70
|
+
* @param strokeWidthEnd - End stroke width for variable width. Defaults to strokeWidth.
|
|
71
|
+
* @param color - CSS color string
|
|
72
|
+
* @param opacity - Overall opacity 0..1
|
|
73
|
+
* @returns Array of BezierSegment
|
|
74
|
+
*/
|
|
75
|
+
static extractSegments(points: number[][], strokeWidth: number, strokeWidthEnd?: number, color?: string, opacity?: number): BezierSegment[];
|
|
76
|
+
/**
|
|
77
|
+
* Build an InstancedMesh for the given Bezier segments.
|
|
78
|
+
*
|
|
79
|
+
* @param segments - Array of BezierSegment
|
|
80
|
+
* @returns THREE.Mesh using InstancedBufferGeometry
|
|
81
|
+
*/
|
|
82
|
+
buildMeshFromSegments(segments: BezierSegment[]): THREE.Mesh;
|
|
83
|
+
/**
|
|
84
|
+
* Convenience: build a mesh directly from VMobject-style data.
|
|
85
|
+
*
|
|
86
|
+
* @param points - Cubic Bezier control points (from VMobject.getVisiblePoints3D())
|
|
87
|
+
* @param strokeWidth - Stroke width
|
|
88
|
+
* @param color - CSS color string
|
|
89
|
+
* @param opacity - Opacity 0..1
|
|
90
|
+
* @param strokeWidthEnd - End stroke width for tapering (optional)
|
|
91
|
+
* @returns THREE.Mesh
|
|
92
|
+
*/
|
|
93
|
+
buildMesh(points: number[][], strokeWidth: number, color?: string, opacity?: number, strokeWidthEnd?: number): THREE.Mesh;
|
|
94
|
+
/**
|
|
95
|
+
* Update an existing mesh's instance data without reallocating geometry
|
|
96
|
+
* (when segment count is the same) or rebuild if count differs.
|
|
97
|
+
*
|
|
98
|
+
* @param mesh - Previously built mesh
|
|
99
|
+
* @param segments - New segment data
|
|
100
|
+
* @returns The (possibly new) mesh
|
|
101
|
+
*/
|
|
102
|
+
updateMeshFromSegments(mesh: THREE.Mesh, segments: BezierSegment[]): THREE.Mesh;
|
|
103
|
+
/**
|
|
104
|
+
* Convenience: update from VMobject-style data.
|
|
105
|
+
*/
|
|
106
|
+
updateMesh(mesh: THREE.Mesh, points: number[][], strokeWidth: number, color?: string, opacity?: number, strokeWidthEnd?: number): THREE.Mesh;
|
|
107
|
+
/**
|
|
108
|
+
* Dispose the shared material. Call when the renderer is no longer needed.
|
|
109
|
+
*/
|
|
110
|
+
dispose(): void;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=BezierRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BezierRenderer.d.ts","sourceRoot":"","sources":["../../src/rendering/BezierRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,wBAAwB,CAAC;AAMhC,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,eAAe,CAAC,EAAE,2BAA2B,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,sBAAsB;IACtB,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,sBAAsB;IACtB,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,mCAAmC;IACnC,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAyBD,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,GAAE,qBAA0B;IAgB/C,sEAAsE;IACtE,IAAI,QAAQ,IAAI,KAAK,CAAC,cAAc,CAEnC;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAS1E;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,eAAe,CACpB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,GAAE,MAAkB,EACzB,OAAO,GAAE,MAAU,GAClB,aAAa,EAAE;IA2ClB;;;;;OAKG;IACH,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,IAAI;IAyD5D;;;;;;;;;OASG;IACH,SAAS,CACP,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAkB,EACzB,OAAO,GAAE,MAAU,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,KAAK,CAAC,IAAI;IAOb;;;;;;;OAOG;IACH,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,IAAI;IA6D/E;;OAEG;IACH,UAAU,CACR,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAkB,EACzB,OAAO,GAAE,MAAU,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,KAAK,CAAC,IAAI;IAOb;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BezierShaderMaterial - ManimGL-quality Bezier curve rendering via Three.js ShaderMaterial.
|
|
3
|
+
*
|
|
4
|
+
* Uses GPU-evaluated signed distance fields (SDF) for cubic Bezier curves
|
|
5
|
+
* to achieve pixel-perfect anti-aliasing, variable stroke width, and round
|
|
6
|
+
* caps/joints -- the signature "ManimGL look."
|
|
7
|
+
*
|
|
8
|
+
* Each curve segment is a screen-aligned quad (two triangles) that bounds the
|
|
9
|
+
* Bezier curve with padding for stroke width. The fragment shader computes the
|
|
10
|
+
* exact closest-point distance to the cubic Bezier via iterative Newton refinement,
|
|
11
|
+
* then applies smoothstep anti-aliasing.
|
|
12
|
+
*/
|
|
13
|
+
import * as THREE from 'three';
|
|
14
|
+
export interface BezierShaderMaterialOptions {
|
|
15
|
+
/** Enable transparency. Default: true */
|
|
16
|
+
transparent?: boolean;
|
|
17
|
+
/** Depth test. Default: true */
|
|
18
|
+
depthTest?: boolean;
|
|
19
|
+
/** Depth write. Default: false (for proper alpha blending) */
|
|
20
|
+
depthWrite?: boolean;
|
|
21
|
+
/** Blending mode. Default: THREE.NormalBlending */
|
|
22
|
+
blending?: THREE.Blending;
|
|
23
|
+
/** Side to render. Default: THREE.DoubleSide */
|
|
24
|
+
side?: THREE.Side;
|
|
25
|
+
/** Device pixel ratio. Default: 1 */
|
|
26
|
+
pixelRatio?: number;
|
|
27
|
+
/** Renderer resolution [width, height] in CSS pixels */
|
|
28
|
+
resolution?: [number, number];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Create a Three.js ShaderMaterial configured for Bezier curve SDF rendering.
|
|
32
|
+
*
|
|
33
|
+
* The material expects instanced geometry where each instance carries:
|
|
34
|
+
* aP0, aP1, aP2, aP3 - cubic Bezier control points (vec3)
|
|
35
|
+
* aWidthStart, aWidthEnd - stroke width at t=0 and t=1 (float)
|
|
36
|
+
* aColor - RGBA color (vec4)
|
|
37
|
+
*
|
|
38
|
+
* And per-vertex:
|
|
39
|
+
* aQuadUV - quad corner coordinate (vec2)
|
|
40
|
+
*
|
|
41
|
+
* @param options - Material configuration
|
|
42
|
+
* @returns Configured ShaderMaterial
|
|
43
|
+
*/
|
|
44
|
+
export declare function createBezierShaderMaterial(options?: BezierShaderMaterialOptions): THREE.ShaderMaterial;
|
|
45
|
+
/**
|
|
46
|
+
* Update the resolution uniform on a BezierShaderMaterial.
|
|
47
|
+
* Call this when the renderer resizes.
|
|
48
|
+
*/
|
|
49
|
+
export declare function updateBezierMaterialResolution(material: THREE.ShaderMaterial, width: number, height: number, pixelRatio?: number): void;
|
|
50
|
+
//# sourceMappingURL=BezierShaderMaterial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BezierShaderMaterial.d.ts","sourceRoot":"","sources":["../../src/rendering/BezierShaderMaterial.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAyO/B,MAAM,WAAW,2BAA2B;IAC1C,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC;IAC1B,gDAAgD;IAChD,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;IAClB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,2BAAgC,GACxC,KAAK,CAAC,cAAc,CAwBtB;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,KAAK,CAAC,cAAc,EAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,MAAU,GACrB,IAAI,CAON"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rendering module - GPU-accelerated Bezier curve rendering via custom shaders.
|
|
3
|
+
*
|
|
4
|
+
* Provides ManimGL-quality anti-aliased curves with variable stroke width,
|
|
5
|
+
* round caps, and clean SDF-based rendering as an opt-in alternative to
|
|
6
|
+
* the default Line2-based stroke rendering.
|
|
7
|
+
*/
|
|
8
|
+
export { createBezierShaderMaterial, updateBezierMaterialResolution, type BezierShaderMaterialOptions, } from './BezierShaderMaterial';
|
|
9
|
+
export { BezierRenderer, type BezierRendererOptions, type BezierSegment, } from './BezierRenderer';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rendering/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,KAAK,2BAA2B,GACjC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance monitoring utilities for manimweb.
|
|
3
|
+
* Provides FPS tracking and performance metrics.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Performance monitor for tracking frame rate and other metrics.
|
|
7
|
+
* Useful for debugging and optimizing animations.
|
|
8
|
+
*/
|
|
9
|
+
export declare class PerformanceMonitor {
|
|
10
|
+
private _frameCount;
|
|
11
|
+
private _lastTime;
|
|
12
|
+
private _fps;
|
|
13
|
+
private _callback;
|
|
14
|
+
private _animationFrameId;
|
|
15
|
+
private _isRunning;
|
|
16
|
+
private _fpsHistory;
|
|
17
|
+
private _historySize;
|
|
18
|
+
/**
|
|
19
|
+
* Start monitoring performance.
|
|
20
|
+
* @param callback - Optional callback called each second with current FPS
|
|
21
|
+
*/
|
|
22
|
+
start(callback?: (fps: number) => void): void;
|
|
23
|
+
/**
|
|
24
|
+
* Stop monitoring performance.
|
|
25
|
+
*/
|
|
26
|
+
stop(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Internal update loop.
|
|
29
|
+
*/
|
|
30
|
+
private _update;
|
|
31
|
+
/**
|
|
32
|
+
* Get the current FPS (rolling average).
|
|
33
|
+
* @returns Current frames per second
|
|
34
|
+
*/
|
|
35
|
+
getFps(): number;
|
|
36
|
+
/**
|
|
37
|
+
* Get the instant FPS (last measured value before averaging).
|
|
38
|
+
* @returns Instant frames per second
|
|
39
|
+
*/
|
|
40
|
+
getInstantFps(): number;
|
|
41
|
+
/**
|
|
42
|
+
* Check if the monitor is currently running.
|
|
43
|
+
* @returns true if monitoring is active
|
|
44
|
+
*/
|
|
45
|
+
isRunning(): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Reset the monitor statistics.
|
|
48
|
+
*/
|
|
49
|
+
reset(): void;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Create a new PerformanceMonitor instance.
|
|
53
|
+
* @returns A new PerformanceMonitor
|
|
54
|
+
*/
|
|
55
|
+
export declare function createPerformanceMonitor(): PerformanceMonitor;
|
|
56
|
+
/**
|
|
57
|
+
* Simple frame time tracker for measuring render performance.
|
|
58
|
+
*/
|
|
59
|
+
export declare class FrameTimeTracker {
|
|
60
|
+
private _frameTimes;
|
|
61
|
+
private _maxSamples;
|
|
62
|
+
private _lastFrameStart;
|
|
63
|
+
/**
|
|
64
|
+
* Create a new FrameTimeTracker.
|
|
65
|
+
* @param maxSamples - Maximum number of samples to keep (default: 60)
|
|
66
|
+
*/
|
|
67
|
+
constructor(maxSamples?: number);
|
|
68
|
+
/**
|
|
69
|
+
* Mark the start of a frame.
|
|
70
|
+
*/
|
|
71
|
+
startFrame(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Mark the end of a frame and record the time.
|
|
74
|
+
*/
|
|
75
|
+
endFrame(): void;
|
|
76
|
+
/**
|
|
77
|
+
* Get the average frame time in milliseconds.
|
|
78
|
+
* @returns Average frame time in ms
|
|
79
|
+
*/
|
|
80
|
+
getAverageFrameTime(): number;
|
|
81
|
+
/**
|
|
82
|
+
* Get the maximum frame time in milliseconds.
|
|
83
|
+
* @returns Max frame time in ms
|
|
84
|
+
*/
|
|
85
|
+
getMaxFrameTime(): number;
|
|
86
|
+
/**
|
|
87
|
+
* Get the minimum frame time in milliseconds.
|
|
88
|
+
* @returns Min frame time in ms
|
|
89
|
+
*/
|
|
90
|
+
getMinFrameTime(): number;
|
|
91
|
+
/**
|
|
92
|
+
* Get the 95th percentile frame time.
|
|
93
|
+
* Useful for identifying stutter/jank.
|
|
94
|
+
* @returns 95th percentile frame time in ms
|
|
95
|
+
*/
|
|
96
|
+
get95thPercentile(): number;
|
|
97
|
+
/**
|
|
98
|
+
* Reset all recorded frame times.
|
|
99
|
+
*/
|
|
100
|
+
reset(): void;
|
|
101
|
+
/**
|
|
102
|
+
* Get a summary of frame time statistics.
|
|
103
|
+
* @returns Object with avg, min, max, and p95 frame times
|
|
104
|
+
*/
|
|
105
|
+
getSummary(): {
|
|
106
|
+
avg: number;
|
|
107
|
+
min: number;
|
|
108
|
+
max: number;
|
|
109
|
+
p95: number;
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Create a new FrameTimeTracker instance.
|
|
114
|
+
* @param maxSamples - Maximum number of samples to keep
|
|
115
|
+
* @returns A new FrameTimeTracker
|
|
116
|
+
*/
|
|
117
|
+
export declare function createFrameTimeTracker(maxSamples?: number): FrameTimeTracker;
|
|
118
|
+
//# sourceMappingURL=Performance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Performance.d.ts","sourceRoot":"","sources":["../../src/utils/Performance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,UAAU,CAAkB;IAGpC,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,YAAY,CAAc;IAElC;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAW7C;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;OAEG;IACH,OAAO,CAAC,OAAO,CA4Bb;IAEF;;;OAGG;IACH,MAAM,IAAI,MAAM;IAIhB;;;OAGG;IACH,aAAa,IAAI,MAAM;IAMvB;;;OAGG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,kBAAkB,CAE7D;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAa;IAEpC;;;OAGG;gBACS,UAAU,GAAE,MAAW;IAInC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAQhB;;;OAGG;IACH,mBAAmB,IAAI,MAAM;IAK7B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAKzB;;;OAGG;IACH,eAAe,IAAI,MAAM;IAKzB;;;;OAIG;IACH,iBAAiB,IAAI,MAAM;IAO3B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,UAAU,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;CAQrE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAE5E"}
|