manim-web 0.3.21 → 0.3.23
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/README.md +20 -0
- package/dist/{svg-swSF_J59.js → MathJaxBundle-xSidSV0E.js} +18571 -7242
- package/dist/animation/Animation.d.ts.map +1 -1
- package/dist/animation/AnimationGroup.d.ts.map +1 -1
- package/dist/animation/MasterTimeline.d.ts +88 -1
- package/dist/animation/MasterTimeline.d.ts.map +1 -1
- package/dist/animation/Timeline.d.ts.map +1 -1
- package/dist/animation/changing/index.d.ts +2 -2
- package/dist/animation/changing/index.d.ts.map +1 -1
- package/dist/animation/creation/Create.d.ts.map +1 -1
- package/dist/animation/growing/index.d.ts +8 -5
- package/dist/animation/growing/index.d.ts.map +1 -1
- package/dist/animation/movement/Homotopy.d.ts +37 -7
- package/dist/animation/movement/Homotopy.d.ts.map +1 -1
- package/dist/animation/movement/MoveAlongPath.d.ts.map +1 -1
- package/dist/animation/movement/Rotate.d.ts +2 -7
- package/dist/animation/movement/Rotate.d.ts.map +1 -1
- package/dist/animation/speed/index.d.ts.map +1 -1
- package/dist/animation/transform/ApplyPointwiseFunction.d.ts.map +1 -1
- package/dist/animation/transform/ApplyPointwiseFunctionToCenter.d.ts.map +1 -1
- package/dist/animation/transform/ApplyTransforms.d.ts.map +1 -1
- package/dist/animation/transform/MorphStrategy.d.ts +23 -0
- package/dist/animation/transform/MorphStrategy.d.ts.map +1 -1
- package/dist/animation/transform/PointCloudMorphStrategy.d.ts +18 -0
- package/dist/animation/transform/PointCloudMorphStrategy.d.ts.map +1 -0
- package/dist/animation/transform/PointMorphStrategy.d.ts +26 -0
- package/dist/animation/transform/PointMorphStrategy.d.ts.map +1 -1
- package/dist/animation/transform/Transform.d.ts +2 -0
- package/dist/animation/transform/Transform.d.ts.map +1 -1
- package/dist/animation/transform/TransformMatching.d.ts.map +1 -1
- package/dist/animation/utility/index.d.ts +6 -2
- package/dist/animation/utility/index.d.ts.map +1 -1
- package/dist/core/AnimateProxy.d.ts +3 -5
- package/dist/core/AnimateProxy.d.ts.map +1 -1
- package/dist/core/Camera.d.ts +40 -0
- package/dist/core/Camera.d.ts.map +1 -1
- package/dist/core/Camera2DFrame.d.ts +1 -1
- package/dist/core/Camera2DFrame.d.ts.map +1 -1
- package/dist/core/CameraExtensions.d.ts +33 -1
- package/dist/core/CameraExtensions.d.ts.map +1 -1
- package/dist/core/CameraFrame.d.ts.map +1 -1
- package/dist/core/Group.d.ts +11 -39
- package/dist/core/Group.d.ts.map +1 -1
- package/dist/core/InteractiveScene.d.ts.map +1 -1
- package/dist/core/Lighting.d.ts.map +1 -1
- package/dist/core/Mobject.d.ts +246 -11
- package/dist/core/Mobject.d.ts.map +1 -1
- package/dist/core/MobjectPositioning.d.ts +0 -8
- package/dist/core/MobjectPositioning.d.ts.map +1 -1
- package/dist/core/MobjectState.d.ts.map +1 -1
- package/dist/core/MobjectTraversal.d.ts +3 -0
- package/dist/core/MobjectTraversal.d.ts.map +1 -1
- package/dist/core/MobjectTypes.d.ts +29 -4
- package/dist/core/MobjectTypes.d.ts.map +1 -1
- package/dist/core/PointBounds.d.ts +39 -0
- package/dist/core/PointBounds.d.ts.map +1 -0
- package/dist/core/Renderer.d.ts +3 -0
- package/dist/core/Renderer.d.ts.map +1 -1
- package/dist/core/Scene.d.ts +82 -0
- package/dist/core/Scene.d.ts.map +1 -1
- package/dist/core/TexturedMobject.d.ts +12 -0
- package/dist/core/TexturedMobject.d.ts.map +1 -1
- package/dist/core/ThreeDScene.d.ts +9 -1
- package/dist/core/ThreeDScene.d.ts.map +1 -1
- package/dist/core/VDict.d.ts +1 -9
- package/dist/core/VDict.d.ts.map +1 -1
- package/dist/core/VGroup.d.ts +58 -42
- package/dist/core/VGroup.d.ts.map +1 -1
- package/dist/core/VMobject.d.ts +102 -28
- package/dist/core/VMobject.d.ts.map +1 -1
- package/dist/core/VMobjectCurveUtils.d.ts +1 -1
- package/dist/core/VMobjectCurveUtils.d.ts.map +1 -1
- package/dist/core/VMobjectGeometry.d.ts +20 -10
- package/dist/core/VMobjectGeometry.d.ts.map +1 -1
- package/dist/core/VMobjectRendering.d.ts +5 -0
- package/dist/core/VMobjectRendering.d.ts.map +1 -1
- package/dist/core/VMobjectStrokeGeometry.d.ts.map +1 -1
- package/dist/core/VMobjectTransformAlignment.d.ts +9 -0
- package/dist/core/VMobjectTransformAlignment.d.ts.map +1 -1
- package/dist/core/ZoomedScene.d.ts +2 -1
- package/dist/core/ZoomedScene.d.ts.map +1 -1
- package/dist/export/GifExporter.d.ts.map +1 -1
- package/dist/export/VideoExporter.d.ts.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -4
- package/dist/integrations/react.js +16 -18
- package/dist/integrations/vue.js +15 -17
- package/dist/interaction/Draggable.d.ts +12 -0
- package/dist/interaction/Draggable.d.ts.map +1 -1
- package/dist/interaction/OrbitControls.d.ts +1 -1
- package/dist/interaction/OrbitControls.d.ts.map +1 -1
- package/dist/manim-web.browser.js +12510 -10445
- package/dist/mobjects/fractals/MandelbrotSet.d.ts +2 -1
- package/dist/mobjects/fractals/MandelbrotSet.d.ts.map +1 -1
- package/dist/mobjects/fractals/NewtonFractal.d.ts +2 -1
- package/dist/mobjects/fractals/NewtonFractal.d.ts.map +1 -1
- package/dist/mobjects/frame/index.d.ts +3 -12
- package/dist/mobjects/frame/index.d.ts.map +1 -1
- package/dist/mobjects/geometry/AngleShapes.d.ts +4 -8
- package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -1
- package/dist/mobjects/geometry/AnnularSector.d.ts +4 -74
- package/dist/mobjects/geometry/AnnularSector.d.ts.map +1 -1
- package/dist/mobjects/geometry/Annulus.d.ts +1 -62
- package/dist/mobjects/geometry/Annulus.d.ts.map +1 -1
- package/dist/mobjects/geometry/Arc.d.ts +3 -1
- package/dist/mobjects/geometry/Arc.d.ts.map +1 -1
- package/dist/mobjects/geometry/ArcBetweenPoints.d.ts +1 -1
- package/dist/mobjects/geometry/ArcBetweenPoints.d.ts.map +1 -1
- package/dist/mobjects/geometry/ArcPolygon.d.ts +1 -1
- package/dist/mobjects/geometry/ArcPolygon.d.ts.map +1 -1
- package/dist/mobjects/geometry/Arrow.d.ts +130 -23
- package/dist/mobjects/geometry/Arrow.d.ts.map +1 -1
- package/dist/mobjects/geometry/ArrowTips.d.ts +7 -7
- package/dist/mobjects/geometry/ArrowTips.d.ts.map +1 -1
- package/dist/mobjects/geometry/BooleanOperations.d.ts.map +1 -1
- package/dist/mobjects/geometry/Circle.d.ts +20 -23
- package/dist/mobjects/geometry/Circle.d.ts.map +1 -1
- package/dist/mobjects/geometry/CubicBezier.d.ts +1 -1
- package/dist/mobjects/geometry/CubicBezier.d.ts.map +1 -1
- package/dist/mobjects/geometry/CurvedArrow.d.ts +1 -1
- package/dist/mobjects/geometry/CurvedArrow.d.ts.map +1 -1
- package/dist/mobjects/geometry/CurvedDoubleArrow.d.ts +1 -1
- package/dist/mobjects/geometry/CurvedDoubleArrow.d.ts.map +1 -1
- package/dist/mobjects/geometry/DashedLine.d.ts +3 -2
- package/dist/mobjects/geometry/DashedLine.d.ts.map +1 -1
- package/dist/mobjects/geometry/DashedVMobject.d.ts +3 -2
- package/dist/mobjects/geometry/DashedVMobject.d.ts.map +1 -1
- package/dist/mobjects/geometry/Dot.d.ts +4 -15
- package/dist/mobjects/geometry/Dot.d.ts.map +1 -1
- package/dist/mobjects/geometry/Ellipse.d.ts +3 -47
- package/dist/mobjects/geometry/Ellipse.d.ts.map +1 -1
- package/dist/mobjects/geometry/LabeledGeometry.d.ts +5 -5
- package/dist/mobjects/geometry/LabeledGeometry.d.ts.map +1 -1
- package/dist/mobjects/geometry/Line.d.ts +15 -9
- package/dist/mobjects/geometry/Line.d.ts.map +1 -1
- package/dist/mobjects/geometry/Polygon.d.ts +1 -1
- package/dist/mobjects/geometry/Polygon.d.ts.map +1 -1
- package/dist/mobjects/geometry/PolygonExtensions.d.ts +11 -67
- package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -1
- package/dist/mobjects/geometry/Polygram.d.ts +1 -1
- package/dist/mobjects/geometry/Polygram.d.ts.map +1 -1
- package/dist/mobjects/geometry/Rectangle.d.ts +4 -5
- package/dist/mobjects/geometry/Rectangle.d.ts.map +1 -1
- package/dist/mobjects/geometry/Sector.d.ts +5 -69
- package/dist/mobjects/geometry/Sector.d.ts.map +1 -1
- package/dist/mobjects/geometry/ShapeMatchers.d.ts +6 -5
- package/dist/mobjects/geometry/ShapeMatchers.d.ts.map +1 -1
- package/dist/mobjects/geometry/TangentialArc.d.ts +1 -1
- package/dist/mobjects/geometry/TangentialArc.d.ts.map +1 -1
- package/dist/mobjects/geometry/segment.d.ts +24 -0
- package/dist/mobjects/geometry/segment.d.ts.map +1 -0
- package/dist/mobjects/graph/DiGraph.d.ts +1 -4
- package/dist/mobjects/graph/DiGraph.d.ts.map +1 -1
- package/dist/mobjects/graph/GenericGraph.d.ts +2 -1
- package/dist/mobjects/graph/GenericGraph.d.ts.map +1 -1
- package/dist/mobjects/graph/Graph.d.ts +1 -4
- package/dist/mobjects/graph/Graph.d.ts.map +1 -1
- package/dist/mobjects/graph/layoutAlgorithms.d.ts.map +1 -1
- package/dist/mobjects/graphing/Axes.d.ts +1 -4
- package/dist/mobjects/graphing/Axes.d.ts.map +1 -1
- package/dist/mobjects/graphing/BarChart.d.ts +1 -4
- package/dist/mobjects/graphing/BarChart.d.ts.map +1 -1
- package/dist/mobjects/graphing/ComplexPlane.d.ts +43 -9
- package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -1
- package/dist/mobjects/graphing/FunctionGraph.d.ts +1 -4
- package/dist/mobjects/graphing/FunctionGraph.d.ts.map +1 -1
- package/dist/mobjects/graphing/ImplicitFunction.d.ts +1 -4
- package/dist/mobjects/graphing/ImplicitFunction.d.ts.map +1 -1
- package/dist/mobjects/graphing/NumberLine.d.ts +2 -8
- package/dist/mobjects/graphing/NumberLine.d.ts.map +1 -1
- package/dist/mobjects/graphing/NumberPlane.d.ts +1 -4
- package/dist/mobjects/graphing/NumberPlane.d.ts.map +1 -1
- package/dist/mobjects/graphing/ParametricFunction.d.ts +1 -4
- package/dist/mobjects/graphing/ParametricFunction.d.ts.map +1 -1
- package/dist/mobjects/graphing/Vector.d.ts +1 -4
- package/dist/mobjects/graphing/Vector.d.ts.map +1 -1
- package/dist/mobjects/graphing/VectorField.d.ts +3 -12
- package/dist/mobjects/graphing/VectorField.d.ts.map +1 -1
- package/dist/mobjects/image/index.d.ts +6 -4
- package/dist/mobjects/image/index.d.ts.map +1 -1
- package/dist/mobjects/matrix/Matrix.d.ts +4 -16
- package/dist/mobjects/matrix/Matrix.d.ts.map +1 -1
- package/dist/mobjects/point/Mobject1D.d.ts +1 -4
- package/dist/mobjects/point/Mobject1D.d.ts.map +1 -1
- package/dist/mobjects/point/Mobject2D.d.ts +1 -1
- package/dist/mobjects/point/Mobject2D.d.ts.map +1 -1
- package/dist/mobjects/point/PGroup.d.ts +2 -4
- package/dist/mobjects/point/PGroup.d.ts.map +1 -1
- package/dist/mobjects/point/PMobject.d.ts +49 -13
- package/dist/mobjects/point/PMobject.d.ts.map +1 -1
- package/dist/mobjects/point/PointCloudDot.d.ts +1 -4
- package/dist/mobjects/point/PointCloudDot.d.ts.map +1 -1
- package/dist/mobjects/point/PointMobject.d.ts +13 -17
- package/dist/mobjects/point/PointMobject.d.ts.map +1 -1
- package/dist/mobjects/probability/DiceFace.d.ts +1 -5
- package/dist/mobjects/probability/DiceFace.d.ts.map +1 -1
- package/dist/mobjects/probability/SampleSpace.d.ts +1 -5
- package/dist/mobjects/probability/SampleSpace.d.ts.map +1 -1
- package/dist/mobjects/svg/Brace.d.ts +5 -20
- package/dist/mobjects/svg/Brace.d.ts.map +1 -1
- package/dist/mobjects/svg/SVGMobject.d.ts +2 -2
- package/dist/mobjects/svg/SVGMobject.d.ts.map +1 -1
- package/dist/mobjects/table/Table.d.ts +1 -5
- package/dist/mobjects/table/Table.d.ts.map +1 -1
- package/dist/mobjects/text/Code.d.ts +1 -4
- package/dist/mobjects/text/Code.d.ts.map +1 -1
- package/dist/mobjects/text/CodeHighlighting.d.ts.map +1 -1
- package/dist/mobjects/text/CodeLanguageData.d.ts.map +1 -1
- package/dist/mobjects/text/DecimalNumber.d.ts +2 -8
- package/dist/mobjects/text/DecimalNumber.d.ts.map +1 -1
- package/dist/mobjects/text/GlyphVMobject.d.ts +1 -1
- package/dist/mobjects/text/GlyphVMobject.d.ts.map +1 -1
- package/dist/mobjects/text/MarkupText.d.ts +1 -1
- package/dist/mobjects/text/MarkupText.d.ts.map +1 -1
- package/dist/mobjects/text/MathJaxBundle.d.ts +7 -0
- package/dist/mobjects/text/MathJaxBundle.d.ts.map +1 -0
- package/dist/mobjects/text/MathJaxRenderer.d.ts +9 -0
- package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -1
- package/dist/mobjects/text/MathTex.d.ts +17 -4
- package/dist/mobjects/text/MathTex.d.ts.map +1 -1
- package/dist/mobjects/text/MathTexImage.d.ts +19 -4
- package/dist/mobjects/text/MathTexImage.d.ts.map +1 -1
- package/dist/mobjects/text/Paragraph.d.ts +1 -1
- package/dist/mobjects/text/Paragraph.d.ts.map +1 -1
- package/dist/mobjects/text/Tex.d.ts +2 -5
- package/dist/mobjects/text/Tex.d.ts.map +1 -1
- package/dist/mobjects/text/Text.d.ts +17 -1
- package/dist/mobjects/text/Text.d.ts.map +1 -1
- package/dist/mobjects/text/TextExtensions.d.ts +3 -12
- package/dist/mobjects/text/TextExtensions.d.ts.map +1 -1
- package/dist/mobjects/text/TextGlyphGroup.d.ts.map +1 -1
- package/dist/mobjects/text/Variable.d.ts +2 -4
- package/dist/mobjects/text/Variable.d.ts.map +1 -1
- package/dist/mobjects/text/katexStyles.d.ts.map +1 -1
- package/dist/mobjects/text/svgPathParser.d.ts.map +1 -1
- package/dist/mobjects/three-d/Arrow3D.d.ts +4 -3
- package/dist/mobjects/three-d/Arrow3D.d.ts.map +1 -1
- package/dist/mobjects/three-d/ConvexHull3D.d.ts +4 -3
- package/dist/mobjects/three-d/ConvexHull3D.d.ts.map +1 -1
- package/dist/mobjects/three-d/Cube.d.ts +6 -11
- package/dist/mobjects/three-d/Cube.d.ts.map +1 -1
- package/dist/mobjects/three-d/Cylinder.d.ts +5 -10
- package/dist/mobjects/three-d/Cylinder.d.ts.map +1 -1
- package/dist/mobjects/three-d/Line3D.d.ts +14 -59
- package/dist/mobjects/three-d/Line3D.d.ts.map +1 -1
- package/dist/mobjects/three-d/Mobject3D.d.ts +19 -0
- package/dist/mobjects/three-d/Mobject3D.d.ts.map +1 -0
- package/dist/mobjects/three-d/ParametricSurface.d.ts +1 -1
- package/dist/mobjects/three-d/ParametricSurface.d.ts.map +1 -1
- package/dist/mobjects/three-d/Polyhedra.d.ts +7 -6
- package/dist/mobjects/three-d/Polyhedra.d.ts.map +1 -1
- package/dist/mobjects/three-d/Sphere.d.ts +4 -6
- package/dist/mobjects/three-d/Sphere.d.ts.map +1 -1
- package/dist/mobjects/three-d/Surface3D.d.ts +41 -4
- package/dist/mobjects/three-d/Surface3D.d.ts.map +1 -1
- package/dist/mobjects/three-d/TexturedSurface.d.ts +4 -3
- package/dist/mobjects/three-d/TexturedSurface.d.ts.map +1 -1
- package/dist/mobjects/three-d/ThreeDAxes.d.ts +1 -1
- package/dist/mobjects/three-d/ThreeDAxes.d.ts.map +1 -1
- package/dist/mobjects/three-d/ThreeDExtensions.d.ts +7 -15
- package/dist/mobjects/three-d/ThreeDExtensions.d.ts.map +1 -1
- package/dist/mobjects/three-d/Torus.d.ts +4 -6
- package/dist/mobjects/three-d/Torus.d.ts.map +1 -1
- package/dist/mobjects/three-d/index.d.ts +1 -0
- package/dist/mobjects/three-d/index.d.ts.map +1 -1
- package/dist/mobjects/value-tracker/ValueTracker.d.ts +4 -2
- package/dist/mobjects/value-tracker/ValueTracker.d.ts.map +1 -1
- package/dist/player/Player.d.ts +36 -29
- package/dist/player/Player.d.ts.map +1 -1
- package/dist/player/PlayerUI.d.ts.map +1 -1
- package/dist/player/RecordingScene.d.ts +37 -0
- package/dist/player/RecordingScene.d.ts.map +1 -0
- package/dist/{src-CW4pfZdP.js → src-Bm3ebFjQ.js} +11003 -8942
- package/dist/test-setup/vitest-setup.d.ts +20 -0
- package/dist/test-setup/vitest-setup.d.ts.map +1 -0
- package/dist/utils/axis.d.ts +4 -0
- package/dist/utils/axis.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +37 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/math.d.ts +4 -0
- package/dist/utils/math.d.ts.map +1 -1
- package/dist/utils/vectors.d.ts +54 -1
- package/dist/utils/vectors.d.ts.map +1 -1
- package/package.json +13 -8
- package/dist/AmsConfiguration-BMyoprhk.js +0 -847
- package/dist/AmsConfiguration-BdxxYRby.js +0 -847
- package/dist/ConfigMacrosConfiguration-B8X_JSVI.js +0 -46
- package/dist/ConfigMacrosConfiguration-DUxp6DUV.js +0 -46
- package/dist/Entities-B1o7gN0J.js +0 -429
- package/dist/Entities-C82lnCux.js +0 -429
- package/dist/Factory-BKM7FEO-.js +0 -107
- package/dist/Factory-D-whCqrb.js +0 -107
- package/dist/GifExporter-BrxY_q7e.js +0 -338
- package/dist/GifExporter-S2pbxMc5.js +0 -338
- package/dist/HtmlNode-BLmQ2r7U.js +0 -981
- package/dist/HtmlNode-DXGeKrcW.js +0 -981
- package/dist/InputJax-DL9oUQY4.js +0 -41
- package/dist/InputJax-DnDWM3Y0.js +0 -41
- package/dist/NewcommandConfiguration-BPjclFig.js +0 -32
- package/dist/NewcommandConfiguration-bJ6P1rBY.js +0 -32
- package/dist/NewcommandMethods-C_E3iLoK.js +0 -187
- package/dist/NewcommandMethods-Cb7yFm5P.js +0 -187
- package/dist/Options-DRlTi0G8.js +0 -63
- package/dist/Options-XPptO-6X.js +0 -63
- package/dist/ParseMethods-BMPfzfQC.js +0 -2636
- package/dist/ParseMethods-D3_HeS1K.js +0 -2636
- package/dist/Styles-Dky5jZUe.js +0 -293
- package/dist/Styles-J-6R3Vr8.js +0 -293
- package/dist/VideoExporter-6ikT3u9H.js +0 -102
- package/dist/VideoExporter-D_RxVahH.js +0 -102
- package/dist/html-DU38zqaN.js +0 -829
- package/dist/html-DjkQuIHJ.js +0 -829
- package/dist/lengths-CP7zmbxJ.js +0 -54
- package/dist/lengths-D4tR1gYA.js +0 -54
- package/dist/liteAdaptor-BLgze3o2.js +0 -616
- package/dist/liteAdaptor-zXv-jsO1.js +0 -616
- package/dist/mathjax-7LgaTjtj.js +0 -121
- package/dist/mathjax-CoSFlQ0H.js +0 -121
- package/dist/mo-C5uLT3Z9.js +0 -2675
- package/dist/mo-CNYDGAsg.js +0 -2675
- package/dist/rolldown-runtime-DnwLefa7.js +0 -23
- package/dist/svg-CYweEoZ1.js +0 -28698
- package/dist/tex-C4_queV-.js +0 -1423
- package/dist/tex-CA5MLeEe.js +0 -1423
package/dist/core/Mobject.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Vector3Tuple, MobjectStyle } from './MobjectTypes';
|
|
1
|
+
import { Vector3Tuple, MobjectStyle, AxisOrOptions } from './MobjectTypes';
|
|
2
|
+
import { AnimateProxy } from './AnimateProxy';
|
|
2
3
|
import * as THREE from 'three';
|
|
3
4
|
/** @internal Called by AnimateProxy module to register the factory. */
|
|
4
|
-
export declare function registerAnimateProxy(factory: (mobject: Mobject) =>
|
|
5
|
-
export { type Vector3Tuple, type MobjectStyle, type MobjectLike, type VMobjectLike, isVMobjectLike, UP, DOWN, LEFT, RIGHT, OUT, IN, ORIGIN, UL, UR, DL, DR, } from './MobjectTypes';
|
|
5
|
+
export declare function registerAnimateProxy(factory: (mobject: Mobject) => AnimateProxy): void;
|
|
6
|
+
export { type Vector3Tuple, type MobjectStyle, type MobjectLike, type VMobjectLike, type AxisOrOptions, isVMobjectLike, UP, DOWN, LEFT, RIGHT, OUT, IN, ORIGIN, UL, UR, DL, DR, } from './MobjectTypes';
|
|
6
7
|
/**
|
|
7
8
|
* Updater function type that runs every frame.
|
|
8
9
|
* Defined here (not in MobjectTypes) to reference the concrete Mobject class
|
|
@@ -30,7 +31,19 @@ export declare abstract class Mobject {
|
|
|
30
31
|
protected _disableChildZLayering: boolean;
|
|
31
32
|
protected _style: MobjectStyle;
|
|
32
33
|
_threeObject: THREE.Object3D | null;
|
|
34
|
+
/**
|
|
35
|
+
* THREE backing object needs re-sync from this node's transform/state.
|
|
36
|
+
* @inv this._dirty || child._dirty === false // a clean node has a clean subtree
|
|
37
|
+
*
|
|
38
|
+
* This invariant is what makes the early-return in _syncToThree() and the
|
|
39
|
+
* root-sync in _syncWorldMatrices() correct. It holds because _markDirty()
|
|
40
|
+
* always propagates upward. Marking a node dirty WITHOUT marking its ancestors
|
|
41
|
+
* (e.g. reverting _markDirty to self-only) silently breaks it: a clean ancestor
|
|
42
|
+
* will short-circuit the sync and never reach the dirty descendant, leaving
|
|
43
|
+
* stale world coordinates (issue #251).
|
|
44
|
+
*/
|
|
33
45
|
_dirty: boolean;
|
|
46
|
+
_isVMobject: boolean;
|
|
34
47
|
private _updaters;
|
|
35
48
|
/** Saved mobject copy (used by Restore animation). Set by saveState(). */
|
|
36
49
|
savedState: Mobject | null;
|
|
@@ -55,17 +68,49 @@ export declare abstract class Mobject {
|
|
|
55
68
|
get strokeColor(): string | undefined;
|
|
56
69
|
set strokeColor(color: string);
|
|
57
70
|
shift(delta: Vector3Tuple): this;
|
|
71
|
+
/**
|
|
72
|
+
* Move to target position in world space.
|
|
73
|
+
*
|
|
74
|
+
* Computes the delta from the current world-space center, converts it into this
|
|
75
|
+
* node's parent-local frame (the frame `shift()`/`position` live in), and applies
|
|
76
|
+
* it so the world-space center lands on the target. The parent-local conversion
|
|
77
|
+
* is what makes this correct when the node is parented under a scaled/rotated
|
|
78
|
+
* parent — a raw world delta fed to shift() would be scaled/rotated by the parent.
|
|
79
|
+
* For an unparented node the conversion is the identity, so behavior is unchanged.
|
|
80
|
+
*
|
|
81
|
+
* @post result world center === target (within the parent's representable frame)
|
|
82
|
+
* @pre !this.isEmpty()
|
|
83
|
+
* if needed (e.g., VGroup).
|
|
84
|
+
*/
|
|
58
85
|
moveTo(target: Vector3Tuple | Mobject, alignedEdge?: Vector3Tuple): this;
|
|
59
86
|
/**
|
|
60
87
|
* Rotate the mobject by angle around an axis.
|
|
61
88
|
* Accepts aboutPoint or aboutEdge to specify the rotation center.
|
|
62
89
|
*/
|
|
63
|
-
rotate(angle: number, axisOrOptions?: Vector3Tuple |
|
|
64
|
-
axis?: Vector3Tuple;
|
|
65
|
-
aboutPoint?: Vector3Tuple;
|
|
66
|
-
aboutEdge?: Vector3Tuple;
|
|
67
|
-
}): this;
|
|
90
|
+
rotate(angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): this;
|
|
68
91
|
rotateAboutOrigin(angle: number, axis?: Vector3Tuple): this;
|
|
92
|
+
/**
|
|
93
|
+
* Rotate about a pivot expressed in this node's PARENT-local frame
|
|
94
|
+
* (the same frame as `this.position`). No world-space conversion is done.
|
|
95
|
+
*
|
|
96
|
+
* @pre pivotLocal is in the same frame as this.position (parent-local)
|
|
97
|
+
* @post the parent-local pivot point is fixed; this.position rotates about it
|
|
98
|
+
* @post this.rotation === old.rotation composed with the requested rotation
|
|
99
|
+
*/
|
|
100
|
+
protected _rotateAboutParentLocalPoint(angle: number, axis: Vector3Tuple, pivotLocal: Vector3Tuple): void;
|
|
101
|
+
/**
|
|
102
|
+
* LOCAL point -> WORLD (the frame this node's points live in; this node's own
|
|
103
|
+
* transform IS applied).
|
|
104
|
+
*
|
|
105
|
+
* @post result === this._worldMatrix() * p
|
|
106
|
+
*/
|
|
107
|
+
protected _localToWorld(p: Vector3Tuple): Vector3Tuple;
|
|
108
|
+
/**
|
|
109
|
+
* WORLD point -> this node's LOCAL frame. Inverse of {@link _localToWorld}.
|
|
110
|
+
*
|
|
111
|
+
* @post result === this._worldMatrix().invert() * p
|
|
112
|
+
*/
|
|
113
|
+
protected _worldToLocal(p: Vector3Tuple): Vector3Tuple;
|
|
69
114
|
flip(axis?: Vector3Tuple, options?: {
|
|
70
115
|
aboutPoint?: Vector3Tuple;
|
|
71
116
|
aboutEdge?: Vector3Tuple;
|
|
@@ -80,11 +125,89 @@ export declare abstract class Mobject {
|
|
|
80
125
|
}): this;
|
|
81
126
|
add(...mobjects: Mobject[]): this;
|
|
82
127
|
remove(...mobjects: Mobject[]): this;
|
|
83
|
-
|
|
84
|
-
|
|
128
|
+
/**
|
|
129
|
+
* Check if this mobject's transform is normalized (rotation=0, scale=1).
|
|
130
|
+
* @post result === (rotation.x==0 && rotation.y==0 && rotation.z==0 && scaleVector===[1,1,1])
|
|
131
|
+
*/
|
|
132
|
+
isTransformNormalized(): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Copy position, color, standard properties, and optionally children onto `clone`.
|
|
135
|
+
* Every copy() implementation MUST call this to preserve position/color/opacity/style/etc.
|
|
136
|
+
*
|
|
137
|
+
* @post old.getPoints()[i] === this.getPoints()[i] // reads the source, writes only `clone`
|
|
138
|
+
* @internal Convention: forgetting this call silently loses position/color/style.
|
|
139
|
+
*/
|
|
140
|
+
protected _copyBaseAttributesInto(clone: Mobject, options?: {
|
|
141
|
+
copyChildren?: boolean;
|
|
142
|
+
copyPosition?: boolean;
|
|
143
|
+
}): void;
|
|
144
|
+
/**
|
|
145
|
+
* Deep-copy this mobject: position, color, and (for composites) children.
|
|
146
|
+
* Every concrete subclass MUST implement copy() with its own return type.
|
|
147
|
+
* Call {@link _copyBaseAttributesInto} to handle standard properties.
|
|
148
|
+
*
|
|
149
|
+
* Leaf classes: construct new instance, call helper, return.
|
|
150
|
+
* Self-building composites: construct new instance (rebuilds children), call helper, return.
|
|
151
|
+
* Point-morphing classes: construct, call helper, overwrite _points3D, return.
|
|
152
|
+
*
|
|
153
|
+
* copy() is a LOCAL structural clone: it reproduces this node's own
|
|
154
|
+
* position/rotation/scale (parent-relative) and deep-copies children. It does
|
|
155
|
+
* NOT fold in ancestor transforms — a clone of a node nested under a
|
|
156
|
+
* transformed group carries only the local transform. To get a world-correct
|
|
157
|
+
* clone, normalizeTransform() the tree first (folding ancestors into absolute
|
|
158
|
+
* geometry) so that local === world, then copy. This is why animations flatten
|
|
159
|
+
* with normalizeTransform() before snapshotting via copy().
|
|
160
|
+
*
|
|
161
|
+
* @post typeof result === typeof this (strongly typed, no casts)
|
|
162
|
+
* @post old.getPoints()[i] === this.getPoints()[i] // source is never mutated
|
|
163
|
+
*/
|
|
164
|
+
abstract copy(): Mobject;
|
|
85
165
|
become(other: Mobject): this;
|
|
86
166
|
replace(target: Mobject, stretch?: boolean): this;
|
|
167
|
+
/**
|
|
168
|
+
* Whether this mobject has no renderable geometry.
|
|
169
|
+
* Base default is conservative: non-empty unless specialized subclasses decide otherwise.
|
|
170
|
+
*/
|
|
171
|
+
isEmpty(): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Get center in world coordinates.
|
|
174
|
+
*
|
|
175
|
+
* @post this.isEmpty() => result === this._localToWorld([0,0,0])
|
|
176
|
+
* @post !this.isEmpty() => result[i] === (worldBbox.min[i] + worldBbox.max[i]) / 2
|
|
177
|
+
*/
|
|
87
178
|
getCenter(): Vector3Tuple;
|
|
179
|
+
/**
|
|
180
|
+
* Get center in this mobject's parent coordinate frame.
|
|
181
|
+
*
|
|
182
|
+
* Includes this node's own local transform, excludes ancestor transforms.
|
|
183
|
+
*
|
|
184
|
+
* @post this.parent === null => result === this.getCenter()
|
|
185
|
+
* @post this.parent !== null => result === parent._computeWorldMatrix().invert() * this.getCenter()
|
|
186
|
+
*/
|
|
187
|
+
getLocalCenter(): Vector3Tuple;
|
|
188
|
+
/**
|
|
189
|
+
* Refresh the THREE world matrices so a geometry query reads current
|
|
190
|
+
* transforms, and return the backing object. World coordinates depend on
|
|
191
|
+
* every ancestor's transform, so we sync from the root (the dirty invariant —
|
|
192
|
+
* see _markDirty — lets the recursion skip clean subtrees). _syncToThree only
|
|
193
|
+
* copies locals onto the THREE objects; setFromObject won't walk up to refresh
|
|
194
|
+
* matrixWorld, so we flush ancestors (true) and descendants (true) here.
|
|
195
|
+
* Shared by getBounds() and getBoundingBox() so both stay consistent.
|
|
196
|
+
* @pre !this.isEmpty()
|
|
197
|
+
* @post result.min <= result.max component-wise
|
|
198
|
+
*/
|
|
199
|
+
_syncWorldMatrices(): THREE.Object3D;
|
|
200
|
+
/**
|
|
201
|
+
* World-space axis-aligned bounding box.
|
|
202
|
+
*
|
|
203
|
+
* Uses Box3.setFromObject() via the Three.js subtree. This works for all
|
|
204
|
+
* standard geometry types without a renderer. VMobject overrides this with
|
|
205
|
+
* point math because Line2's LineGeometry is incompatible with
|
|
206
|
+
* Box3.setFromObject() — see PointBounds.ts for the full explanation.
|
|
207
|
+
|
|
208
|
+
* @pre !this.isEmpty()
|
|
209
|
+
* @post result.min <= result.max component-wise
|
|
210
|
+
*/
|
|
88
211
|
getBounds(): {
|
|
89
212
|
min: {
|
|
90
213
|
x: number;
|
|
@@ -100,12 +223,15 @@ export declare abstract class Mobject {
|
|
|
100
223
|
nextTo(target: Mobject | Vector3Tuple, direction?: Vector3Tuple, buff?: number): this;
|
|
101
224
|
alignTo(target: Mobject | Vector3Tuple, direction: Vector3Tuple): this;
|
|
102
225
|
moveToAligned(target: Mobject | Vector3Tuple, alignedEdge?: Vector3Tuple): this;
|
|
226
|
+
/** @returns World-space edge position (center + half-bounding-box offset). */
|
|
103
227
|
_getEdgeInDirection(direction: Vector3Tuple): Vector3Tuple;
|
|
104
228
|
getBoundingBox(): {
|
|
105
229
|
width: number;
|
|
106
230
|
height: number;
|
|
107
231
|
depth: number;
|
|
108
232
|
};
|
|
233
|
+
getWidth(): number;
|
|
234
|
+
getHeight(): number;
|
|
109
235
|
/** @deprecated Use getBoundingBox() instead. */
|
|
110
236
|
_getBoundingBox(): {
|
|
111
237
|
width: number;
|
|
@@ -132,15 +258,102 @@ export declare abstract class Mobject {
|
|
|
132
258
|
* scene.play(circle.animate.setColor('#ff0000').scale(2));
|
|
133
259
|
* ```
|
|
134
260
|
*/
|
|
135
|
-
get animate():
|
|
261
|
+
get animate(): AnimateProxy;
|
|
136
262
|
toEdge(direction: Vector3Tuple, buff?: number, frameDimensions?: [number, number]): this;
|
|
137
263
|
toCorner(direction?: Vector3Tuple, buff?: number, frameDimensions?: [number, number]): this;
|
|
264
|
+
/**
|
|
265
|
+
* Flatten this mobject's transform into its canonical, absolute representation.
|
|
266
|
+
*
|
|
267
|
+
* Bakes `worldMatrix` into the node's own geometry, recurses so every
|
|
268
|
+
* descendant is expressed in the same frame, then resets the local transform
|
|
269
|
+
* to identity. Called with no argument it seeds with this node's OWN matrix,
|
|
270
|
+
* so bake-then-reset preserves world appearance whether or not the node has
|
|
271
|
+
* ancestors — the ancestors keep their transforms and still apply. The
|
|
272
|
+
* recursion (and a detached-clone caller) passes an explicit accumulated matrix.
|
|
273
|
+
*
|
|
274
|
+
* Implemented per family rather than via a hook so the compiler forces every
|
|
275
|
+
* geometry-owning subclass to declare how it flattens: containers reset to
|
|
276
|
+
* identity (geometry lives in children), point-based mobjects bake `worldMatrix`
|
|
277
|
+
* into their points, and Three.js meshes — which cannot bake into points —
|
|
278
|
+
* absolutize their local transform instead (see {@link _flattenAsMesh}).
|
|
279
|
+
*
|
|
280
|
+
* @post old.getPoints()[i] === this.getPoints()[i] // world geometry preserved, every descendant
|
|
281
|
+
* @post this._computeOwnMatrix() === Identity // container/point nodes; meshes: own === worldMatrix
|
|
282
|
+
*/
|
|
283
|
+
abstract normalizeTransform(worldMatrix?: THREE.Matrix4): this;
|
|
284
|
+
/**
|
|
285
|
+
* Recurse `normalizeTransform` into children, composing each child's own
|
|
286
|
+
* matrix onto `worldMatrix` so every descendant flattens into the same frame.
|
|
287
|
+
*/
|
|
288
|
+
protected _normalizeChildrenInto(worldMatrix: THREE.Matrix4): void;
|
|
289
|
+
/**
|
|
290
|
+
* Flatten a node whose geometry is fully described by its children (or which
|
|
291
|
+
* has no own geometry): recurse into children, then reset own transform to
|
|
292
|
+
* identity. The transform is not lost — it was folded into the descendants via
|
|
293
|
+
* the composed `worldMatrix`.
|
|
294
|
+
*/
|
|
295
|
+
protected _flattenAsContainer(worldMatrix: THREE.Matrix4): this;
|
|
296
|
+
/**
|
|
297
|
+
* Flatten a Three.js-mesh node that cannot bake geometry into points:
|
|
298
|
+
* absolutize by setting the local transform equal to `worldMatrix`, so it
|
|
299
|
+
* renders correctly once its (now identity) ancestors collapse. A mesh is a
|
|
300
|
+
* flattening barrier — its descendants stay relative to it.
|
|
301
|
+
*/
|
|
302
|
+
protected _flattenAsMesh(worldMatrix: THREE.Matrix4): this;
|
|
138
303
|
_syncToThree(): void;
|
|
139
304
|
protected _syncMaterialToThree(): void;
|
|
305
|
+
/**
|
|
306
|
+
* Disable the 2D draw-order z-layering offset (`idx * 0.01` per non-first
|
|
307
|
+
* child, applied in {@link _syncToThree}) for this node and its whole subtree.
|
|
308
|
+
*
|
|
309
|
+
* The offset is a flat-2D hack that fakes paint order by nudging later
|
|
310
|
+
* siblings toward the camera. Under a 3D perspective camera with real depth
|
|
311
|
+
* sorting it instead corrupts geometry: a group's children drift along world-z
|
|
312
|
+
* proportionally to their index (issue #465). `ThreeDScene` calls this on every
|
|
313
|
+
* added mobject so 3D scenes opt out. Because the offset is gated on the
|
|
314
|
+
* *parent's* flag, setting it on a container also covers children added later.
|
|
315
|
+
*/
|
|
316
|
+
disableChildZLayering(): this;
|
|
317
|
+
/**
|
|
318
|
+
* Mark this node's render/transform state stale and propagate the flag to the
|
|
319
|
+
* root. World-space geometry of any node depends on its ancestors' transforms,
|
|
320
|
+
* so a change anywhere must invalidate the whole ancestor chain; the invariant
|
|
321
|
+
* "a clean node has a clean subtree" then lets _syncToThree()/root-sync skip
|
|
322
|
+
* untouched branches safely.
|
|
323
|
+
* @post this._dirty && (this.parent => this.parent._dirty)
|
|
324
|
+
*/
|
|
140
325
|
_markDirty(): void;
|
|
326
|
+
/**
|
|
327
|
+
* Alias for {@link _markDirty}. Retained as the single override point for
|
|
328
|
+
* subclasses (e.g. VMobject) that must also invalidate baked geometry when a
|
|
329
|
+
* mutation propagates upward; transform-only changes call _markDirty() directly.
|
|
330
|
+
*/
|
|
141
331
|
_markDirtyUpward(): void;
|
|
142
332
|
get isDirty(): boolean;
|
|
333
|
+
/** The topmost ancestor (the node with no parent). */
|
|
334
|
+
_root(): Mobject;
|
|
143
335
|
getThreeObject(): THREE.Object3D;
|
|
336
|
+
/**
|
|
337
|
+
* Compose this mobject's world matrix by walking the parent chain.
|
|
338
|
+
*
|
|
339
|
+
* Each ancestor's local transform is `T · R · S` (translation × rotation × scale),
|
|
340
|
+
* built via `THREE.Matrix4.compose`; the result is `parent.worldMatrix · localMatrix`.
|
|
341
|
+
*
|
|
342
|
+
* The render-only z-layering offset applied in `_syncToThree`
|
|
343
|
+
* (`idx * 0.01` for non-first children) is intentionally **not** included —
|
|
344
|
+
* it's a 2D display hack, not part of the mathematical world coordinate.
|
|
345
|
+
*
|
|
346
|
+
* @returns A fresh `Matrix4` holding the world transform of this mobject.
|
|
347
|
+
*/
|
|
348
|
+
/**
|
|
349
|
+
* This node's transform matrix in isolation — position, rotation, and scale
|
|
350
|
+
* composed together, with no ancestor contribution.
|
|
351
|
+
*
|
|
352
|
+
* @post this.parent === null => this._computeWorldMatrix() === this._computeOwnMatrix()
|
|
353
|
+
* @post this.parent !== null => this._computeWorldMatrix() === this.parent._computeWorldMatrix() * this._computeOwnMatrix()
|
|
354
|
+
*/
|
|
355
|
+
_ownMatrix(): THREE.Matrix4;
|
|
356
|
+
_worldMatrix(): THREE.Matrix4;
|
|
144
357
|
/**
|
|
145
358
|
* Number of visible display meshes this mobject contributes when rendered.
|
|
146
359
|
* Used for Transform eligibility checks without forcing Three.js object creation.
|
|
@@ -156,6 +369,21 @@ export declare abstract class Mobject {
|
|
|
156
369
|
hasUpdaters(): boolean;
|
|
157
370
|
getUpdaters(): UpdaterFunction[];
|
|
158
371
|
update(dt: number): void;
|
|
372
|
+
/**
|
|
373
|
+
* Apply a function to every descendant's world-space points, about a given point.
|
|
374
|
+
* Recurses the family and delegates to `_applyFunctionAboutPoint` on each node.
|
|
375
|
+
*
|
|
376
|
+
* @pre fn(pts).length === pts.length
|
|
377
|
+
* @post m.getPoints()[i] === old.m.getPoints().map(p => fn([p - aboutPoint]) + aboutPoint)[i] // for every descendant m
|
|
378
|
+
*/
|
|
379
|
+
applyFunctionAboutPoint(fn: (pts: number[][]) => number[][], aboutPoint?: number[]): this;
|
|
380
|
+
/**
|
|
381
|
+
* Per-node hook called by `applyFunctionAboutPoint`.
|
|
382
|
+
* @pre fn(pts).length === pts.length
|
|
383
|
+
* @post getPoints()[i] === fn(old.getPoints())[i]
|
|
384
|
+
* @note no-op in base Mobject; override in subclasses with own points
|
|
385
|
+
*/
|
|
386
|
+
protected _applyFunctionAboutPoint(_fn: (pts: number[][]) => number[][], _aboutPoint: number[]): void;
|
|
159
387
|
applyFunction(fn: (point: number[]) => number[], options?: {
|
|
160
388
|
aboutPoint?: Vector3Tuple;
|
|
161
389
|
aboutEdge?: Vector3Tuple;
|
|
@@ -168,6 +396,13 @@ export declare abstract class Mobject {
|
|
|
168
396
|
generateTarget(): Mobject;
|
|
169
397
|
saveState(): this;
|
|
170
398
|
restoreState(): boolean;
|
|
399
|
+
/**
|
|
400
|
+
* Hook for the Scene to propagate renderer dimensions and camera frame
|
|
401
|
+
* width to mobjects that need them (e.g. shader-resolution uniforms).
|
|
402
|
+
* Default is a no-op; subclasses override as needed.
|
|
403
|
+
* @internal
|
|
404
|
+
*/
|
|
405
|
+
_setSceneContext(_rendererWidth: number, _rendererHeight: number, _frameWidth: number): void;
|
|
171
406
|
dispose(): void;
|
|
172
407
|
}
|
|
173
408
|
//# sourceMappingURL=Mobject.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mobject.d.ts","sourceRoot":"","sources":["../../src/core/Mobject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Mobject.d.ts","sourceRoot":"","sources":["../../src/core/Mobject.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,4 @@
|
|
|
1
1
|
import { MobjectLike, Vector3Tuple } from './MobjectTypes';
|
|
2
|
-
/**
|
|
3
|
-
* Rotate a mobject around an axis.
|
|
4
|
-
* Uses object pooling to avoid allocations in hot paths.
|
|
5
|
-
*/
|
|
6
|
-
export declare function rotateMobject(mob: MobjectLike, angle: number, axisOrOptions?: Vector3Tuple | {
|
|
7
|
-
axis?: Vector3Tuple;
|
|
8
|
-
aboutPoint?: Vector3Tuple;
|
|
9
|
-
}): void;
|
|
10
2
|
/**
|
|
11
3
|
* Get the center point of a mobject.
|
|
12
4
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobjectPositioning.d.ts","sourceRoot":"","sources":["../../src/core/MobjectPositioning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"MobjectPositioning.d.ts","sourceRoot":"","sources":["../../src/core/MobjectPositioning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAOhE;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAG5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAOA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,GAAG,YAAY,CAU9F;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,YAAY,EACvB,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,IAAI,CAWN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobjectState.d.ts","sourceRoot":"","sources":["../../src/core/MobjectState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAgB,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"MobjectState.d.ts","sourceRoot":"","sources":["../../src/core/MobjectState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAgB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA+B9E;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAe3D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CA6BjE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAW5E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAkBhG;AA+CD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,YAAY,CAAA;CAAE,GAChE,YAAY,GAAG,SAAS,CAc1B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,EACjC,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,YAAY,CAAA;CAAE,GAChE,IAAI,CAGN;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,MAAM,EAAE,EAAE,EAClB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,YAAY,CAAA;CAAE,GAChE,IAAI,CAMN;AAiBD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA+B1F"}
|
|
@@ -20,6 +20,9 @@ export interface LeafVMobjectSnapshot {
|
|
|
20
20
|
export declare function collectLeafVMobjectSnapshots(root: VMobject): LeafVMobjectSnapshot[];
|
|
21
21
|
/**
|
|
22
22
|
* Project a world-space position into a node's parent-local coordinates.
|
|
23
|
+
* @pre parentWorldMatrix === parent.matrixWorld (up-to-date)
|
|
24
|
+
* @post result === parentWorldMatrix⁻¹ * worldPosition
|
|
25
|
+
* i.e. the same value you'd find in node.position after a normalizeTransform()
|
|
23
26
|
*/
|
|
24
27
|
export declare function worldToParentLocalPosition(worldPosition: THREE.Vector3, parentWorldMatrix: THREE.Matrix4): THREE.Vector3;
|
|
25
28
|
//# sourceMappingURL=MobjectTraversal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobjectTraversal.d.ts","sourceRoot":"","sources":["../../src/core/MobjectTraversal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;IAC3B,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;IACjC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;IAC7B,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;CAC3B;AAcD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,QAAQ,GAAG,oBAAoB,EAAE,CA0CnF;AAED
|
|
1
|
+
{"version":3,"file":"MobjectTraversal.d.ts","sourceRoot":"","sources":["../../src/core/MobjectTraversal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;IAC3B,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;IACjC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;IAC7B,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC;CAC3B;AAcD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,QAAQ,GAAG,oBAAoB,EAAE,CA0CnF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,KAAK,CAAC,OAAO,EAC5B,iBAAiB,EAAE,KAAK,CAAC,OAAO,GAC/B,KAAK,CAAC,OAAO,CAEf"}
|
|
@@ -3,6 +3,14 @@ import * as THREE from 'three';
|
|
|
3
3
|
* Vector3 type as a tuple for external API
|
|
4
4
|
*/
|
|
5
5
|
export type Vector3Tuple = [number, number, number];
|
|
6
|
+
/**
|
|
7
|
+
* Options for rotation and other operations that can accept an axis or a full options object
|
|
8
|
+
*/
|
|
9
|
+
export type AxisOrOptions = {
|
|
10
|
+
axis?: Vector3Tuple;
|
|
11
|
+
aboutPoint?: Vector3Tuple;
|
|
12
|
+
aboutEdge?: Vector3Tuple;
|
|
13
|
+
};
|
|
6
14
|
export declare const UP: Vector3Tuple;
|
|
7
15
|
export declare const DOWN: Vector3Tuple;
|
|
8
16
|
export declare const LEFT: Vector3Tuple;
|
|
@@ -46,22 +54,34 @@ export interface MobjectLike {
|
|
|
46
54
|
__savedMobjectState: unknown;
|
|
47
55
|
_threeObject: THREE.Object3D | null;
|
|
48
56
|
_dirty: boolean;
|
|
57
|
+
_isVMobject: boolean;
|
|
49
58
|
_markDirty(): void;
|
|
50
59
|
getThreeObject(): THREE.Object3D;
|
|
60
|
+
_syncWorldMatrices(): THREE.Object3D;
|
|
51
61
|
getCenter(): Vector3Tuple;
|
|
62
|
+
getBounds(): {
|
|
63
|
+
min: {
|
|
64
|
+
x: number;
|
|
65
|
+
y: number;
|
|
66
|
+
z: number;
|
|
67
|
+
};
|
|
68
|
+
max: {
|
|
69
|
+
x: number;
|
|
70
|
+
y: number;
|
|
71
|
+
z: number;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
52
74
|
getBoundingBox(): {
|
|
53
75
|
width: number;
|
|
54
76
|
height: number;
|
|
55
77
|
depth: number;
|
|
56
78
|
};
|
|
57
79
|
moveTo(target: Vector3Tuple | MobjectLike, alignedEdge?: Vector3Tuple): MobjectLike;
|
|
58
|
-
rotate(angle: number, axisOrOptions?: Vector3Tuple |
|
|
59
|
-
axis?: Vector3Tuple;
|
|
60
|
-
aboutPoint?: Vector3Tuple;
|
|
61
|
-
}): MobjectLike;
|
|
80
|
+
rotate(angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): MobjectLike;
|
|
62
81
|
copy(): MobjectLike;
|
|
63
82
|
restoreState(): boolean;
|
|
64
83
|
getFamily(): MobjectLike[];
|
|
84
|
+
applyFunctionAboutPoint(fn: (pts: number[][]) => number[][], aboutPoint?: number[]): MobjectLike;
|
|
65
85
|
}
|
|
66
86
|
/**
|
|
67
87
|
* Interface for duck-typing VMobject properties from Mobject base class.
|
|
@@ -75,10 +95,15 @@ export interface VMobjectLike {
|
|
|
75
95
|
x: number;
|
|
76
96
|
y: number;
|
|
77
97
|
}[]): void;
|
|
98
|
+
getLocalPoints(): number[][];
|
|
78
99
|
getPoints(): number[][];
|
|
79
100
|
}
|
|
80
101
|
/**
|
|
81
102
|
* Type guard to check if a MobjectLike has VMobject-like point data.
|
|
82
103
|
*/
|
|
83
104
|
export declare function isVMobjectLike(m: MobjectLike): m is MobjectLike & VMobjectLike;
|
|
105
|
+
/**
|
|
106
|
+
* Type guard to check if a MobjectLike is a VMobject (has Bezier curves).
|
|
107
|
+
*/
|
|
108
|
+
export declare function isVMobject(m: MobjectLike): m is MobjectLike & VMobjectLike;
|
|
84
109
|
//# sourceMappingURL=MobjectTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobjectTypes.d.ts","sourceRoot":"","sources":["../../src/core/MobjectTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MobjectTypes.d.ts","sourceRoot":"","sources":["../../src/core/MobjectTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CPU-side bounding-box utilities for VMobject geometry.
|
|
3
|
+
*
|
|
4
|
+
* Mobjects use two different strategies to compute bounding boxes.
|
|
5
|
+
*
|
|
6
|
+
* Most mobjects (Sphere, Cube, Image, PMobject, ...) delegate to Three.js
|
|
7
|
+
* via Box3.setFromObject(). Their geometries are standard BufferGeometry
|
|
8
|
+
* subclasses, so computeBoundingBox() can read vertex positions from the
|
|
9
|
+
* 'position' attribute on the CPU.
|
|
10
|
+
*
|
|
11
|
+
* VMobjects use the point-math utilities in this file instead. Their stroke
|
|
12
|
+
* rendering relies on Line2 (three/examples/jsm/lines), whose LineGeometry
|
|
13
|
+
* stores endpoints in instanceStart/instanceEnd rather than 'position'.
|
|
14
|
+
* computeBoundingBox() therefore finds no position data and leaves
|
|
15
|
+
* boundingBox null.
|
|
16
|
+
*
|
|
17
|
+
* The control points are available on the CPU; this is a gap in the Line2
|
|
18
|
+
* extras as of three.js 0.184, not a fundamental constraint. If a future
|
|
19
|
+
* release fixes this, VMobject.getBounds() can be removed and
|
|
20
|
+
* Mobject.getBounds() will work uniformly for all types.
|
|
21
|
+
*/
|
|
22
|
+
export interface PointBounds {
|
|
23
|
+
min: {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
z: number;
|
|
27
|
+
};
|
|
28
|
+
max: {
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
z: number;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Compute axis-aligned bounds for a list of 3D points.
|
|
36
|
+
* Returns null when input is empty.
|
|
37
|
+
*/
|
|
38
|
+
export declare function computePointBounds(points: number[][]): PointBounds | null;
|
|
39
|
+
//# sourceMappingURL=PointBounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PointBounds.d.ts","sourceRoot":"","sources":["../../src/core/PointBounds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,WAAW,GAAG,IAAI,CAuBzE"}
|
package/dist/core/Renderer.d.ts
CHANGED
|
@@ -52,6 +52,7 @@ export declare class Renderer implements IRenderer {
|
|
|
52
52
|
private _backgroundOpacity;
|
|
53
53
|
private _alpha;
|
|
54
54
|
private _contextLost;
|
|
55
|
+
private _autoPixelRatio;
|
|
55
56
|
/**
|
|
56
57
|
* Create a new Renderer and append it to the container.
|
|
57
58
|
* @param container - DOM element to append the canvas to
|
|
@@ -95,6 +96,8 @@ export declare class Renderer implements IRenderer {
|
|
|
95
96
|
render(scene: THREE.Scene, camera: THREE.Camera): void;
|
|
96
97
|
/**
|
|
97
98
|
* Handle resize events.
|
|
99
|
+
* Re-applies the device pixel ratio so DPR changes (e.g. screen rotation
|
|
100
|
+
* moving the canvas between displays) do not leave a blurry buffer.
|
|
98
101
|
* @param width - New width in pixels
|
|
99
102
|
* @param height - New height in pixels
|
|
100
103
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../src/core/Renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../src/core/Renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8FAA8F;IAC9F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,SAAS,GAAG,kBAAkB,GAAG,WAAW,CAAC;IAC/D,+CAA+C;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2LAA2L;IAC3L,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2FAA2F;IAC3F,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kFAAkF;IAClF,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,SAAS,IAAI,iBAAiB,CAAC;IAC/B,gBAAgB,IAAI,KAAK,CAAC,aAAa,CAAC;IACxC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,QAAS,YAAW,SAAS;IACxC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,YAAY,CAAkB;IAItC,OAAO,CAAC,eAAe,CAAU;IAEjC;;;;OAIG;gBACS,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,eAAoB;IAwDjE;;OAEG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,KAAK,CAAC,KAAK,CAEjC;IAED;;OAEG;IACH,IAAI,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,EAG9C;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED;;;OAGG;IACH,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAUlC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI;IAKtD;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAW3C;;;OAGG;IACH,SAAS,IAAI,iBAAiB;IAI9B;;;OAGG;IACH,gBAAgB,IAAI,KAAK,CAAC,aAAa;IAIvC;;;OAGG;IACH,OAAO,IAAI,IAAI;CAOhB"}
|