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,193 @@
|
|
|
1
|
+
import { Mobject, MobjectStyle } from './Mobject';
|
|
2
|
+
import { Point } from './VMobject';
|
|
3
|
+
/**
|
|
4
|
+
* JSON-serializable snapshot of a single mobject's visual state.
|
|
5
|
+
* Captures position, rotation, scale, style, and VMobject-specific data.
|
|
6
|
+
*/
|
|
7
|
+
export interface MobjectState {
|
|
8
|
+
/** Mobject id at time of capture (used for lookup during restore) */
|
|
9
|
+
id: string;
|
|
10
|
+
/** Position [x, y, z] */
|
|
11
|
+
position: [number, number, number];
|
|
12
|
+
/** Euler rotation [x, y, z, order] */
|
|
13
|
+
rotation: [number, number, number, string];
|
|
14
|
+
/** Scale [x, y, z] */
|
|
15
|
+
scale: [number, number, number];
|
|
16
|
+
/** CSS color string */
|
|
17
|
+
color: string;
|
|
18
|
+
/** Overall stroke opacity 0-1 */
|
|
19
|
+
opacity: number;
|
|
20
|
+
/** Stroke width */
|
|
21
|
+
strokeWidth: number;
|
|
22
|
+
/** Fill opacity 0-1 */
|
|
23
|
+
fillOpacity: number;
|
|
24
|
+
/** Full style object */
|
|
25
|
+
style: MobjectStyle;
|
|
26
|
+
/** 2D points [{x,y}, ...] */
|
|
27
|
+
points2D?: Point[];
|
|
28
|
+
/** 3D Bezier control points [[x,y,z], ...] */
|
|
29
|
+
points3D?: number[][];
|
|
30
|
+
/** Visible point count (null means all) */
|
|
31
|
+
visiblePointCount?: number | null;
|
|
32
|
+
/** Recursively captured child states */
|
|
33
|
+
children: MobjectState[];
|
|
34
|
+
/** Optional user-supplied custom data */
|
|
35
|
+
custom?: Record<string, unknown>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A full scene snapshot: an ordered array of top-level mobject states.
|
|
39
|
+
*/
|
|
40
|
+
export interface SceneSnapshot {
|
|
41
|
+
/** Human-readable label (optional) */
|
|
42
|
+
label?: string;
|
|
43
|
+
/** Timestamp (ms) when snapshot was taken */
|
|
44
|
+
timestamp: number;
|
|
45
|
+
/** Ordered array of top-level mobject states (one per scene mobject) */
|
|
46
|
+
mobjects: MobjectState[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Capture a JSON-serializable snapshot of a mobject and its hierarchy.
|
|
50
|
+
* Non-destructive: does not modify the mobject in any way.
|
|
51
|
+
*
|
|
52
|
+
* @param mob - The mobject to serialize
|
|
53
|
+
* @returns A deep, JSON-safe MobjectState
|
|
54
|
+
*/
|
|
55
|
+
export declare function serializeMobject(mob: Mobject): MobjectState;
|
|
56
|
+
/**
|
|
57
|
+
* Restore a mobject's properties from a previously captured state.
|
|
58
|
+
* Applies position, rotation, scale, style, and VMobject points.
|
|
59
|
+
* Does NOT add/remove children -- it restores properties of existing children
|
|
60
|
+
* matched by array index (same order as when serialized).
|
|
61
|
+
*
|
|
62
|
+
* @param mob - The mobject to restore
|
|
63
|
+
* @param state - The state to apply
|
|
64
|
+
*/
|
|
65
|
+
export declare function deserializeMobject(mob: Mobject, state: MobjectState): void;
|
|
66
|
+
/**
|
|
67
|
+
* Convert a MobjectState to a plain JSON string.
|
|
68
|
+
* Useful for persisting to localStorage or sending over the network.
|
|
69
|
+
*/
|
|
70
|
+
export declare function stateToJSON(state: MobjectState): string;
|
|
71
|
+
/**
|
|
72
|
+
* Parse a JSON string back into a MobjectState.
|
|
73
|
+
*/
|
|
74
|
+
export declare function stateFromJSON(json: string): MobjectState;
|
|
75
|
+
/**
|
|
76
|
+
* Convert a SceneSnapshot to a plain JSON string.
|
|
77
|
+
*/
|
|
78
|
+
export declare function snapshotToJSON(snapshot: SceneSnapshot): string;
|
|
79
|
+
/**
|
|
80
|
+
* Parse a JSON string back into a SceneSnapshot.
|
|
81
|
+
*/
|
|
82
|
+
export declare function snapshotFromJSON(json: string): SceneSnapshot;
|
|
83
|
+
/**
|
|
84
|
+
* Manages undo/redo state for a collection of mobjects (typically a Scene).
|
|
85
|
+
*
|
|
86
|
+
* Usage:
|
|
87
|
+
* ```ts
|
|
88
|
+
* const mgr = new SceneStateManager(scene.mobjects);
|
|
89
|
+
* mgr.save(); // push current state onto undo stack
|
|
90
|
+
* // ... user makes edits ...
|
|
91
|
+
* mgr.undo(); // restore previous state
|
|
92
|
+
* mgr.redo(); // re-apply the undone edit
|
|
93
|
+
* ```
|
|
94
|
+
*
|
|
95
|
+
* The manager does not own the mobjects -- it reads/writes them through
|
|
96
|
+
* a getter so that additions/removals from the scene are reflected.
|
|
97
|
+
*/
|
|
98
|
+
export declare class SceneStateManager {
|
|
99
|
+
/** Maximum number of undo entries. Oldest are discarded when exceeded. */
|
|
100
|
+
readonly maxDepth: number;
|
|
101
|
+
/** Undo stack (newest on top) */
|
|
102
|
+
private _undoStack;
|
|
103
|
+
/** Redo stack (newest on top, cleared on new save) */
|
|
104
|
+
private _redoStack;
|
|
105
|
+
/**
|
|
106
|
+
* Function that returns the current ordered set of scene mobjects.
|
|
107
|
+
* We store a getter rather than a static list so the manager always
|
|
108
|
+
* reflects the live scene contents.
|
|
109
|
+
*/
|
|
110
|
+
private _getMobjects;
|
|
111
|
+
/**
|
|
112
|
+
* @param getMobjects - Getter returning the current scene mobjects (ordered)
|
|
113
|
+
* @param maxDepth - Maximum undo stack depth (default 50)
|
|
114
|
+
*/
|
|
115
|
+
constructor(getMobjects: () => Mobject[], maxDepth?: number);
|
|
116
|
+
/**
|
|
117
|
+
* Capture the current scene state and push it onto the undo stack.
|
|
118
|
+
* Clears the redo stack (new action branch).
|
|
119
|
+
*
|
|
120
|
+
* @param label - Optional human-readable label for this snapshot
|
|
121
|
+
* @returns The captured SceneSnapshot (for inspection / persistence)
|
|
122
|
+
*/
|
|
123
|
+
save(label?: string): SceneSnapshot;
|
|
124
|
+
/**
|
|
125
|
+
* Undo: restore the most recently saved state.
|
|
126
|
+
* Pushes the current state onto the redo stack first.
|
|
127
|
+
*
|
|
128
|
+
* @returns true if undo was applied, false if nothing to undo
|
|
129
|
+
*/
|
|
130
|
+
undo(): boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Redo: re-apply the last undone state.
|
|
133
|
+
* Pushes the current state onto the undo stack first.
|
|
134
|
+
*
|
|
135
|
+
* @returns true if redo was applied, false if nothing to redo
|
|
136
|
+
*/
|
|
137
|
+
redo(): boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Get a snapshot of the current scene state without pushing it
|
|
140
|
+
* onto any stack.
|
|
141
|
+
*/
|
|
142
|
+
getState(label?: string): SceneSnapshot;
|
|
143
|
+
/**
|
|
144
|
+
* Apply a previously captured snapshot, overwriting the current scene
|
|
145
|
+
* state. Does NOT modify undo/redo stacks -- call save() first if you
|
|
146
|
+
* want the current state preserved.
|
|
147
|
+
*/
|
|
148
|
+
setState(snapshot: SceneSnapshot): void;
|
|
149
|
+
/**
|
|
150
|
+
* Clear both undo and redo stacks.
|
|
151
|
+
*/
|
|
152
|
+
clearHistory(): void;
|
|
153
|
+
/** Number of available undo steps */
|
|
154
|
+
get undoCount(): number;
|
|
155
|
+
/** Number of available redo steps */
|
|
156
|
+
get redoCount(): number;
|
|
157
|
+
/** Whether undo is available */
|
|
158
|
+
get canUndo(): boolean;
|
|
159
|
+
/** Whether redo is available */
|
|
160
|
+
get canRedo(): boolean;
|
|
161
|
+
/** Read-only view of the undo stack (newest last) */
|
|
162
|
+
get undoStack(): ReadonlyArray<SceneSnapshot>;
|
|
163
|
+
/** Read-only view of the redo stack (newest last) */
|
|
164
|
+
get redoStack(): ReadonlyArray<SceneSnapshot>;
|
|
165
|
+
private _captureSnapshot;
|
|
166
|
+
private _applySnapshot;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Save the current state of a mobject using JSON-serializable snapshots.
|
|
170
|
+
* Stores:
|
|
171
|
+
* - A JSON-serializable MobjectState on `mob.__savedMobjectState`
|
|
172
|
+
* - A deep copy on `mob.savedState` (for Restore animation compatibility)
|
|
173
|
+
*
|
|
174
|
+
* This is the functional counterpart to `mob.saveState()`. Both produce
|
|
175
|
+
* identical results; use whichever API style you prefer.
|
|
176
|
+
*
|
|
177
|
+
* @param mob - The mobject to save
|
|
178
|
+
* @returns The captured MobjectState
|
|
179
|
+
*/
|
|
180
|
+
export declare function saveMobjectState(mob: Mobject): MobjectState;
|
|
181
|
+
/**
|
|
182
|
+
* Restore a mobject from its JSON-serializable saved state
|
|
183
|
+
* (from saveMobjectState or serializeMobject).
|
|
184
|
+
*
|
|
185
|
+
* This is the functional counterpart to `mob.restoreState()`.
|
|
186
|
+
* Unlike the class method which uses the deep-copy path,
|
|
187
|
+
* this function uses the JSON-serializable MobjectState.
|
|
188
|
+
*
|
|
189
|
+
* @param mob - The mobject to restore
|
|
190
|
+
* @returns true if state was restored, false if no saved state exists
|
|
191
|
+
*/
|
|
192
|
+
export declare function restoreMobjectState(mob: Mobject): boolean;
|
|
193
|
+
//# sourceMappingURL=StateManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateManager.d.ts","sourceRoot":"","sources":["../../src/core/StateManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { VMobject } from './VMobject';
|
|
2
|
+
import { VGroup } from './VGroup';
|
|
3
|
+
import { Vector3Tuple } from './Mobject';
|
|
4
|
+
/**
|
|
5
|
+
* VDict and VectorizedPoint classes for dictionary-based VMobject access
|
|
6
|
+
* and single-point VMobjects.
|
|
7
|
+
*/
|
|
8
|
+
import * as THREE from 'three';
|
|
9
|
+
/**
|
|
10
|
+
* VDict provides dictionary-like access to named VMobjects.
|
|
11
|
+
* Useful for creating complex structures with named parts.
|
|
12
|
+
*
|
|
13
|
+
* The submobjects are the dictionary values, allowing iteration
|
|
14
|
+
* and group operations while maintaining named access.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const face = new VDict({
|
|
19
|
+
* leftEye: new Circle({ radius: 0.2 }),
|
|
20
|
+
* rightEye: new Circle({ radius: 0.2 }),
|
|
21
|
+
* mouth: new Arc({ angle: Math.PI }),
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* // Access by name
|
|
25
|
+
* face.get('leftEye')?.setColor('blue');
|
|
26
|
+
*
|
|
27
|
+
* // Iterate over entries
|
|
28
|
+
* for (const [name, vmobject] of face.entries()) {
|
|
29
|
+
* console.log(name, vmobject);
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare class VDict extends VGroup {
|
|
34
|
+
/**
|
|
35
|
+
* Internal dictionary mapping names to VMobjects.
|
|
36
|
+
*/
|
|
37
|
+
private _dict;
|
|
38
|
+
/**
|
|
39
|
+
* Create a VDict from a dictionary of named VMobjects.
|
|
40
|
+
* @param items - Object mapping names to VMobjects
|
|
41
|
+
*/
|
|
42
|
+
constructor(items?: Record<string, VMobject>);
|
|
43
|
+
/**
|
|
44
|
+
* Get a VMobject by key (string) or index (number).
|
|
45
|
+
* Overrides VGroup.get() to support both access patterns.
|
|
46
|
+
* @param keyOrIndex - Name/key of the VMobject (string) or index (number)
|
|
47
|
+
* @returns The VMobject, or undefined if not found
|
|
48
|
+
*/
|
|
49
|
+
get(keyOrIndex: string | number): VMobject | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Set a VMobject with a name. If a VMobject with this name already exists,
|
|
52
|
+
* it will be replaced.
|
|
53
|
+
* @param key - Name/key for the VMobject
|
|
54
|
+
* @param vmobject - VMobject to add
|
|
55
|
+
* @returns this for chaining
|
|
56
|
+
*/
|
|
57
|
+
set(key: string, vmobject: VMobject): this;
|
|
58
|
+
/**
|
|
59
|
+
* Check if a key exists in the VDict.
|
|
60
|
+
* @param key - Name/key to check
|
|
61
|
+
* @returns true if the key exists
|
|
62
|
+
*/
|
|
63
|
+
has(key: string): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Remove a VMobject by key from this VDict.
|
|
66
|
+
* @param key - Name/key of the VMobject to remove
|
|
67
|
+
* @returns true if an element was removed, false otherwise
|
|
68
|
+
*/
|
|
69
|
+
delete(key: string): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Get all keys in the VDict.
|
|
72
|
+
* @returns Iterator of keys
|
|
73
|
+
*/
|
|
74
|
+
keys(): IterableIterator<string>;
|
|
75
|
+
/**
|
|
76
|
+
* Get all VMobjects in the VDict.
|
|
77
|
+
* @returns Iterator of VMobjects
|
|
78
|
+
*/
|
|
79
|
+
values(): IterableIterator<VMobject>;
|
|
80
|
+
/**
|
|
81
|
+
* Get all entries as [key, VMobject] pairs.
|
|
82
|
+
* @returns Iterator of [key, VMobject] tuples
|
|
83
|
+
*/
|
|
84
|
+
entries(): IterableIterator<[string, VMobject]>;
|
|
85
|
+
/**
|
|
86
|
+
* Iterate over vmobjects with a callback.
|
|
87
|
+
* Overrides VGroup.forEach() to match parent signature.
|
|
88
|
+
* @param fn - Callback function receiving (vmobject, index)
|
|
89
|
+
* @returns this for chaining
|
|
90
|
+
*/
|
|
91
|
+
forEach(fn: (vmobject: VMobject, index: number) => void): this;
|
|
92
|
+
/**
|
|
93
|
+
* Iterate over entries with a callback (dict-style).
|
|
94
|
+
* @param fn - Callback function receiving (vmobject, key, dict)
|
|
95
|
+
* @returns this for chaining
|
|
96
|
+
*/
|
|
97
|
+
forEachEntry(fn: (vmobject: VMobject, key: string, dict: VDict) => void): this;
|
|
98
|
+
/**
|
|
99
|
+
* Clear all entries from the VDict.
|
|
100
|
+
* @returns this for chaining
|
|
101
|
+
*/
|
|
102
|
+
clear(): this;
|
|
103
|
+
/**
|
|
104
|
+
* Get the number of named items.
|
|
105
|
+
*/
|
|
106
|
+
get size(): number;
|
|
107
|
+
/**
|
|
108
|
+
* Allow bracket-style access via proxy.
|
|
109
|
+
* Note: This creates a proxy wrapper. For performance-critical code,
|
|
110
|
+
* use the get() method directly.
|
|
111
|
+
* @returns A proxy allowing bracket access like vdict['key']
|
|
112
|
+
*/
|
|
113
|
+
asProxy(): VDict & {
|
|
114
|
+
[key: string]: VMobject | undefined;
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Create a copy of this VDict.
|
|
118
|
+
*/
|
|
119
|
+
protected _createCopy(): VMobject;
|
|
120
|
+
/**
|
|
121
|
+
* Override copy to properly handle the dictionary mapping.
|
|
122
|
+
*/
|
|
123
|
+
copy(): VMobject;
|
|
124
|
+
/**
|
|
125
|
+
* Add a named VMobject to this VDict (alias for set).
|
|
126
|
+
* @param name - Name/key for the VMobject
|
|
127
|
+
* @param vmobject - VMobject to add
|
|
128
|
+
* @returns this for chaining
|
|
129
|
+
* @deprecated Use set() instead
|
|
130
|
+
*/
|
|
131
|
+
addNamed(name: string, vmobject: VMobject): this;
|
|
132
|
+
/**
|
|
133
|
+
* Remove a named VMobject from this VDict (alias for delete).
|
|
134
|
+
* @param name - Name/key of the VMobject to remove
|
|
135
|
+
* @returns this for chaining
|
|
136
|
+
* @deprecated Use delete() instead
|
|
137
|
+
*/
|
|
138
|
+
removeNamed(name: string): this;
|
|
139
|
+
/**
|
|
140
|
+
* Get a VMobject by name (alias for get with string key).
|
|
141
|
+
* @param name - Name/key of the VMobject
|
|
142
|
+
* @returns The VMobject, or undefined if not found
|
|
143
|
+
* @deprecated Use get() instead
|
|
144
|
+
*/
|
|
145
|
+
getItem(name: string): VMobject | undefined;
|
|
146
|
+
/**
|
|
147
|
+
* Alias for get - get a VMobject by name.
|
|
148
|
+
* @param name - Name/key of the VMobject
|
|
149
|
+
* @returns The VMobject, or undefined if not found
|
|
150
|
+
* @deprecated Use get() instead
|
|
151
|
+
*/
|
|
152
|
+
getByName(name: string): VMobject | undefined;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* VectorizedPoint represents a single point as a VMobject.
|
|
156
|
+
*
|
|
157
|
+
* Useful as a location marker, invisible anchor, or for
|
|
158
|
+
* tracking positions in animations.
|
|
159
|
+
*
|
|
160
|
+
* Unlike a regular VMobject, VectorizedPoint has no stroke or fill
|
|
161
|
+
* by default - it's invisible but still has a position.
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* // Create a point at the origin
|
|
166
|
+
* const marker = new VectorizedPoint();
|
|
167
|
+
*
|
|
168
|
+
* // Create a point at a specific location
|
|
169
|
+
* const p = new VectorizedPoint([2, 3, 0]);
|
|
170
|
+
*
|
|
171
|
+
* // Get and set location
|
|
172
|
+
* console.log(p.getLocation()); // [2, 3, 0]
|
|
173
|
+
* p.setLocation([4, 5, 0]);
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
export declare class VectorizedPoint extends VMobject {
|
|
177
|
+
/**
|
|
178
|
+
* Create a VectorizedPoint at the given location.
|
|
179
|
+
* @param location - The point location as [x, y, z], defaults to [0, 0, 0]
|
|
180
|
+
*/
|
|
181
|
+
constructor(location?: Vector3Tuple);
|
|
182
|
+
/**
|
|
183
|
+
* Get the location of this point.
|
|
184
|
+
* @returns The location as [x, y, z]
|
|
185
|
+
*/
|
|
186
|
+
getLocation(): Vector3Tuple;
|
|
187
|
+
/**
|
|
188
|
+
* Set the location of this point.
|
|
189
|
+
* @param point - The new location as [x, y, z]
|
|
190
|
+
* @returns this for chaining
|
|
191
|
+
*/
|
|
192
|
+
setLocation(point: Vector3Tuple): this;
|
|
193
|
+
/**
|
|
194
|
+
* Get the center of this point (same as getLocation).
|
|
195
|
+
* @returns The location as [x, y, z]
|
|
196
|
+
*/
|
|
197
|
+
getCenter(): Vector3Tuple;
|
|
198
|
+
/**
|
|
199
|
+
* Move this point to a new location.
|
|
200
|
+
* @param point - Target position [x, y, z]
|
|
201
|
+
* @returns this for chaining
|
|
202
|
+
*/
|
|
203
|
+
moveTo(point: Vector3Tuple): this;
|
|
204
|
+
/**
|
|
205
|
+
* Shift this point by a delta.
|
|
206
|
+
* @param delta - Translation vector [x, y, z]
|
|
207
|
+
* @returns this for chaining
|
|
208
|
+
*/
|
|
209
|
+
shift(delta: Vector3Tuple): this;
|
|
210
|
+
/**
|
|
211
|
+
* Create the Three.js backing object.
|
|
212
|
+
* VectorizedPoint is invisible, so we just create an empty group.
|
|
213
|
+
*/
|
|
214
|
+
protected _createThreeObject(): THREE.Object3D;
|
|
215
|
+
/**
|
|
216
|
+
* Sync to Three.js - update position.
|
|
217
|
+
*/
|
|
218
|
+
protected _syncMaterialToThree(): void;
|
|
219
|
+
/**
|
|
220
|
+
* Create a copy of this VectorizedPoint.
|
|
221
|
+
*/
|
|
222
|
+
protected _createCopy(): VMobject;
|
|
223
|
+
/**
|
|
224
|
+
* Copy this VectorizedPoint.
|
|
225
|
+
*/
|
|
226
|
+
copy(): VMobject;
|
|
227
|
+
}
|
|
228
|
+
export default VDict;
|
|
229
|
+
//# sourceMappingURL=VDict.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VDict.d.ts","sourceRoot":"","sources":["../../src/core/VDict.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,KAAM,SAAQ,MAAM;IAC/B;;OAEG;IACH,OAAO,CAAC,KAAK,CAAoC;IAEjD;;;OAGG;gBACS,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAM;IAQhD;;;;;OAKG;IACM,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS;IAQ/D;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAW1C;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAU5B;;;OAGG;IACH,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIhC;;;OAGG;IACH,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC;IAIpC;;;OAGG;IACH,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAI/C;;;;;OAKG;IACM,OAAO,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIvE;;;;OAIG;IACH,YAAY,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAK9E;;;OAGG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;OAKG;IACH,OAAO,IAAI,KAAK,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;KAAE;IAyB1D;;OAEG;cACgB,WAAW,IAAI,QAAQ;IAI1C;;OAEG;IACM,IAAI,IAAI,QAAQ;IA2BzB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIhD;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI3C;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;CAG9C;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C;;;OAGG;gBACS,QAAQ,GAAE,YAAwB;IAc9C;;;OAGG;IACH,WAAW,IAAI,YAAY;IAQ3B;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAOtC;;;OAGG;IACM,SAAS,IAAI,YAAY;IAIlC;;;;OAIG;IACM,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAI1C;;;;OAIG;IACM,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IASzC;;;OAGG;cACgB,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAQvD;;OAEG;cACgB,oBAAoB,IAAI,IAAI;IAO/C;;OAEG;cACgB,WAAW,IAAI,QAAQ;IAI1C;;OAEG;IACM,IAAI,IAAI,QAAQ;CAG1B;AAED,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { Mobject, Vector3Tuple } from './Mobject';
|
|
2
|
+
import { VMobject, Point } from './VMobject';
|
|
3
|
+
/**
|
|
4
|
+
* VGroup class for grouping VMobjects.
|
|
5
|
+
* VGroup extends VMobject to provide specialized grouping for vectorized mobjects.
|
|
6
|
+
*/
|
|
7
|
+
import * as THREE from 'three';
|
|
8
|
+
/**
|
|
9
|
+
* VGroup is a specialized group for VMobjects.
|
|
10
|
+
* Operations apply to all children, and paths can be combined.
|
|
11
|
+
*/
|
|
12
|
+
export declare class VGroup extends VMobject {
|
|
13
|
+
/**
|
|
14
|
+
* Create a new VGroup containing the given mobjects.
|
|
15
|
+
* Accepts both VMobjects and general Mobjects (e.g., Axes, Group).
|
|
16
|
+
* @param mobjects - Mobjects to add to the group
|
|
17
|
+
*/
|
|
18
|
+
constructor(...mobjects: Mobject[]);
|
|
19
|
+
/**
|
|
20
|
+
* Add VMobjects to this group.
|
|
21
|
+
* Accepts VMobjects or arrays of VMobjects.
|
|
22
|
+
* @param vmobjects - VMobjects to add
|
|
23
|
+
* @returns this for chaining
|
|
24
|
+
*/
|
|
25
|
+
addVMobjects(...vmobjects: (VMobject | VMobject[])[]): this;
|
|
26
|
+
/**
|
|
27
|
+
* Add mobjects to this group (override from Mobject).
|
|
28
|
+
* @param mobjects - Mobjects to add
|
|
29
|
+
* @returns this for chaining
|
|
30
|
+
*/
|
|
31
|
+
add(...mobjects: Mobject[]): this;
|
|
32
|
+
/**
|
|
33
|
+
* Add a single VMobject to this group.
|
|
34
|
+
*/
|
|
35
|
+
private _addSingleVMobject;
|
|
36
|
+
/**
|
|
37
|
+
* Remove VMobjects from this group.
|
|
38
|
+
* @param vmobjects - VMobjects to remove
|
|
39
|
+
* @returns this for chaining
|
|
40
|
+
*/
|
|
41
|
+
removeVMobjects(...vmobjects: VMobject[]): this;
|
|
42
|
+
/**
|
|
43
|
+
* Remove mobjects from this group (override from Mobject).
|
|
44
|
+
* @param mobjects - Mobjects to remove
|
|
45
|
+
* @returns this for chaining
|
|
46
|
+
*/
|
|
47
|
+
remove(...mobjects: Mobject[]): this;
|
|
48
|
+
/**
|
|
49
|
+
* Get the center of the group (average of all children centers).
|
|
50
|
+
* @returns Center position as [x, y, z]
|
|
51
|
+
*/
|
|
52
|
+
getCenter(): Vector3Tuple;
|
|
53
|
+
/**
|
|
54
|
+
* Shift all children by the given delta.
|
|
55
|
+
* Only shifts children's internal positions, not the group's own position,
|
|
56
|
+
* to avoid double-counting in THREE.js hierarchy.
|
|
57
|
+
* @param delta - Translation vector [x, y, z]
|
|
58
|
+
* @returns this for chaining
|
|
59
|
+
*/
|
|
60
|
+
shift(delta: Vector3Tuple): this;
|
|
61
|
+
/**
|
|
62
|
+
* Move the group center to the given point, or align with another Mobject.
|
|
63
|
+
* @param target - Target position [x, y, z] or Mobject to align with
|
|
64
|
+
* @param alignedEdge - Optional edge direction to align (e.g., UL aligns upper-left edges)
|
|
65
|
+
* @returns this for chaining
|
|
66
|
+
*/
|
|
67
|
+
moveTo(target: Vector3Tuple | Mobject, alignedEdge?: Vector3Tuple): this;
|
|
68
|
+
/**
|
|
69
|
+
* Rotate all children around an axis.
|
|
70
|
+
* @param angle - Rotation angle in radians
|
|
71
|
+
* @param axis - Axis of rotation [x, y, z], defaults to Z axis
|
|
72
|
+
* @returns this for chaining
|
|
73
|
+
*/
|
|
74
|
+
rotate(angle: number, axis?: Vector3Tuple): this;
|
|
75
|
+
/**
|
|
76
|
+
* Scale all children about the group's center.
|
|
77
|
+
* Each child's size is scaled, and their positions are repositioned
|
|
78
|
+
* relative to the group center — matching Manim Python behavior.
|
|
79
|
+
* Does not change the group's own scaleVector.
|
|
80
|
+
* @param factor - Scale factor (number for uniform, tuple for non-uniform)
|
|
81
|
+
* @returns this for chaining
|
|
82
|
+
*/
|
|
83
|
+
scale(factor: number | Vector3Tuple): this;
|
|
84
|
+
/**
|
|
85
|
+
* Set the color of all children.
|
|
86
|
+
* @param color - CSS color string
|
|
87
|
+
* @returns this for chaining
|
|
88
|
+
*/
|
|
89
|
+
setColor(color: string): this;
|
|
90
|
+
/**
|
|
91
|
+
* Set the opacity of all children.
|
|
92
|
+
* @param opacity - Opacity value (0-1)
|
|
93
|
+
* @returns this for chaining
|
|
94
|
+
*/
|
|
95
|
+
setOpacity(opacity: number): this;
|
|
96
|
+
/**
|
|
97
|
+
* Set the stroke width of all children.
|
|
98
|
+
* @param width - Stroke width in pixels
|
|
99
|
+
* @returns this for chaining
|
|
100
|
+
*/
|
|
101
|
+
setStrokeWidth(width: number): this;
|
|
102
|
+
/**
|
|
103
|
+
* Set the fill opacity of all children.
|
|
104
|
+
* @param opacity - Fill opacity (0-1)
|
|
105
|
+
* @returns this for chaining
|
|
106
|
+
*/
|
|
107
|
+
setFillOpacity(opacity: number): this;
|
|
108
|
+
/**
|
|
109
|
+
* Set the fill color of all children.
|
|
110
|
+
* @param color - CSS color string
|
|
111
|
+
* @returns this for chaining
|
|
112
|
+
*/
|
|
113
|
+
setFill(color?: string, opacity?: number): this;
|
|
114
|
+
/**
|
|
115
|
+
* Set the stroke of all children.
|
|
116
|
+
* @param color - CSS color string
|
|
117
|
+
* @param width - Stroke width in pixels
|
|
118
|
+
* @param opacity - Stroke opacity (0-1)
|
|
119
|
+
* @returns this for chaining
|
|
120
|
+
*/
|
|
121
|
+
setStroke(color?: string, width?: number, opacity?: number): this;
|
|
122
|
+
/**
|
|
123
|
+
* Arrange children in a row or column with specified spacing.
|
|
124
|
+
* @param direction - Direction to arrange (e.g., RIGHT for row, DOWN for column)
|
|
125
|
+
* @param buff - Buffer/spacing between children, default 0.25
|
|
126
|
+
* @param center - Whether to center the arrangement at the group's position, default true
|
|
127
|
+
* @returns this for chaining
|
|
128
|
+
*/
|
|
129
|
+
arrange(direction?: Vector3Tuple, buff?: number, center?: boolean): this;
|
|
130
|
+
/**
|
|
131
|
+
* Arrange children in a grid layout.
|
|
132
|
+
* @param rows - Number of rows (if not specified, auto-calculated)
|
|
133
|
+
* @param cols - Number of columns (if not specified, auto-calculated)
|
|
134
|
+
* @param buffX - Horizontal buffer between elements, default 0.25
|
|
135
|
+
* @param buffY - Vertical buffer between elements, default 0.25
|
|
136
|
+
* @returns this for chaining
|
|
137
|
+
*/
|
|
138
|
+
arrangeInGrid(rows?: number, cols?: number, buffX?: number, buffY?: number): this;
|
|
139
|
+
/**
|
|
140
|
+
* Arrange children in a submobject grid (alias for arrangeInGrid).
|
|
141
|
+
*/
|
|
142
|
+
arrangeSubmobjects(rows?: number, cols?: number, buffX?: number, buffY?: number): this;
|
|
143
|
+
/**
|
|
144
|
+
* Get combined path points from all children.
|
|
145
|
+
* @returns Combined array of points from all children
|
|
146
|
+
*/
|
|
147
|
+
getCombinedPoints(): number[][];
|
|
148
|
+
/**
|
|
149
|
+
* Create the Three.js backing object for this VGroup.
|
|
150
|
+
* A VGroup is simply a THREE.Group that contains children.
|
|
151
|
+
*/
|
|
152
|
+
protected _createThreeObject(): THREE.Object3D;
|
|
153
|
+
/**
|
|
154
|
+
* Create a copy of this VGroup.
|
|
155
|
+
*/
|
|
156
|
+
protected _createCopy(): VMobject;
|
|
157
|
+
/**
|
|
158
|
+
* Get the number of vmobjects in this group.
|
|
159
|
+
*/
|
|
160
|
+
get length(): number;
|
|
161
|
+
/**
|
|
162
|
+
* Get a vmobject by index.
|
|
163
|
+
* @param index - Index of the vmobject
|
|
164
|
+
* @returns The vmobject at the given index, or undefined
|
|
165
|
+
*/
|
|
166
|
+
get(index: number): VMobject | undefined;
|
|
167
|
+
/**
|
|
168
|
+
* Iterate over all vmobjects in the group.
|
|
169
|
+
*/
|
|
170
|
+
[Symbol.iterator](): Iterator<VMobject>;
|
|
171
|
+
/**
|
|
172
|
+
* Apply a function to each vmobject in the group.
|
|
173
|
+
* @param fn - Function to apply
|
|
174
|
+
* @returns this for chaining
|
|
175
|
+
*/
|
|
176
|
+
forEach(fn: (vmobject: VMobject, index: number) => void): this;
|
|
177
|
+
/**
|
|
178
|
+
* Map over all vmobjects in the group.
|
|
179
|
+
* @param fn - Mapping function
|
|
180
|
+
* @returns Array of mapped values
|
|
181
|
+
*/
|
|
182
|
+
map<T>(fn: (vmobject: VMobject, index: number) => T): T[];
|
|
183
|
+
/**
|
|
184
|
+
* Filter vmobjects in the group.
|
|
185
|
+
* @param fn - Filter predicate
|
|
186
|
+
* @returns New VGroup with filtered vmobjects
|
|
187
|
+
*/
|
|
188
|
+
filter(fn: (vmobject: VMobject, index: number) => boolean): VGroup;
|
|
189
|
+
/**
|
|
190
|
+
* Get all points from the VGroup as a flat array (override VMobject).
|
|
191
|
+
* Returns combined points from all children.
|
|
192
|
+
*/
|
|
193
|
+
get points(): Point[];
|
|
194
|
+
/**
|
|
195
|
+
* Get all 3D points from the VGroup.
|
|
196
|
+
*/
|
|
197
|
+
getPoints(): number[][];
|
|
198
|
+
}
|
|
199
|
+
export default VGroup;
|
|
200
|
+
//# sourceMappingURL=VGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VGroup.d.ts","sourceRoot":"","sources":["../../src/core/VGroup.ts"],"names":[],"mappings":"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"}
|