manim-web 0.3.22 → 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/dist/{svg-DNS5Hwhk.js → MathJaxBundle-xSidSV0E.js} +18687 -7373
- package/dist/animation/Animation.d.ts.map +1 -1
- package/dist/animation/AnimationGroup.d.ts.map +1 -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/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/Camera.d.ts +3 -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.map +1 -1
- package/dist/core/CameraFrame.d.ts.map +1 -1
- package/dist/core/Group.d.ts +13 -33
- 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 +230 -21
- package/dist/core/Mobject.d.ts.map +1 -1
- package/dist/core/MobjectPositioning.d.ts +1 -6
- 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 +8 -0
- 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.map +1 -1
- package/dist/core/Scene.d.ts +32 -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 +6 -0
- 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 +54 -30
- package/dist/core/VGroup.d.ts.map +1 -1
- package/dist/core/VMobject.d.ts +93 -32
- 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.map +1 -1
- package/dist/core/VMobjectStrokeGeometry.d.ts.map +1 -1
- 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 +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/integrations/react.js +16 -16
- package/dist/integrations/vue.js +15 -15
- package/dist/interaction/Draggable.d.ts +12 -0
- package/dist/interaction/Draggable.d.ts.map +1 -1
- package/dist/interaction/OrbitControls.d.ts.map +1 -1
- package/dist/manim-web.browser.js +9003 -8435
- 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 -4
- 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 +2 -8
- 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 +44 -14
- 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 +8 -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/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 +4 -3
- 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.map +1 -1
- package/dist/player/PlayerUI.d.ts.map +1 -1
- package/dist/{src-BlTk3Bta.js → src-Bm3ebFjQ.js} +5891 -5326
- package/dist/utils/logger.d.ts.map +1 -1
- package/package.json +8 -5
- package/dist/AmsConfiguration-OUoC_kJ0.js +0 -847
- package/dist/AmsConfiguration-tdje_HlF.js +0 -847
- package/dist/ConfigMacrosConfiguration-4OaQYvlr.js +0 -46
- package/dist/ConfigMacrosConfiguration-DM3-S5M8.js +0 -46
- package/dist/Entities-Dw6381dl.js +0 -429
- package/dist/Entities-bJKKDYjE.js +0 -429
- package/dist/Factory-Ba6Nqb3M.js +0 -107
- package/dist/HtmlNode-1mFtYQ9G.js +0 -981
- package/dist/HtmlNode-CQqo5we-.js +0 -981
- package/dist/InputJax-D5R2pqUk.js +0 -41
- package/dist/InputJax-jNvwWU5P.js +0 -41
- package/dist/NewcommandConfiguration-BN_OlLcO.js +0 -32
- package/dist/NewcommandConfiguration-DZ3mSCpD.js +0 -32
- package/dist/NewcommandMethods-D5bueYYE.js +0 -187
- package/dist/NewcommandMethods-DTf_dan5.js +0 -187
- package/dist/Options-DMK2wYar.js +0 -63
- package/dist/ParseMethods-Deqa7kJ6.js +0 -2636
- package/dist/ParseMethods-Dt5bYDSZ.js +0 -2636
- package/dist/Styles-BILrGVps.js +0 -293
- package/dist/Styles-DQSruwWe.js +0 -293
- package/dist/html-Bza5WY1y.js +0 -829
- package/dist/html-bhzMuE8p.js +0 -829
- package/dist/lengths-D2zTYMUu.js +0 -54
- package/dist/liteAdaptor-BkxB5CGC.js +0 -616
- package/dist/liteAdaptor-LMKuWwg1.js +0 -616
- package/dist/mathjax-CPQWkQEv.js +0 -121
- package/dist/mathjax-b-GTdZgw.js +0 -121
- package/dist/mo-D4wFHS6V.js +0 -2675
- package/dist/mo-hAX79Dzl.js +0 -2675
- package/dist/svg-DVUoAdmC.js +0 -28713
- package/dist/tex-BQCLd0dF.js +0 -1427
- package/dist/tex-Cd_bTYKG.js +0 -1427
package/dist/core/Group.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Mobject, Vector3Tuple
|
|
1
|
+
import { Mobject, Vector3Tuple } from './Mobject';
|
|
2
2
|
/**
|
|
3
3
|
* Group class for grouping multiple mobjects together.
|
|
4
4
|
* Transformations applied to the group cascade to all children.
|
|
@@ -9,6 +9,7 @@ import * as THREE from 'three';
|
|
|
9
9
|
* Operations on the group apply to all children.
|
|
10
10
|
*/
|
|
11
11
|
export declare class Group extends Mobject {
|
|
12
|
+
normalizeTransform(worldMatrix?: THREE.Matrix4): this;
|
|
12
13
|
/**
|
|
13
14
|
* Create a new Group containing the given mobjects.
|
|
14
15
|
* @param mobjects - Mobjects to add to the group
|
|
@@ -31,39 +32,18 @@ export declare class Group extends Mobject {
|
|
|
31
32
|
* @returns this for chaining
|
|
32
33
|
*/
|
|
33
34
|
clear(): this;
|
|
34
|
-
|
|
35
|
-
normalizeTransform(): this;
|
|
36
|
-
/**
|
|
37
|
-
* Shift all children by the given delta.
|
|
38
|
-
* Only children are shifted (they maintain world-space coordinates).
|
|
39
|
-
* The group's own position is NOT updated to avoid double-counting
|
|
40
|
-
* when getCenter() computes the average of children centers.
|
|
41
|
-
* @param delta - Translation vector [x, y, z]
|
|
42
|
-
* @returns this for chaining
|
|
43
|
-
*/
|
|
44
|
-
shift(delta: Vector3Tuple): this;
|
|
45
|
-
/**
|
|
46
|
-
* Move the group center to the given point, or align with another Mobject.
|
|
47
|
-
* @param target - Target position [x, y, z] or Mobject to align with
|
|
48
|
-
* @param alignedEdge - Optional edge direction to align (e.g., UL aligns upper-left edges)
|
|
49
|
-
* @returns this for chaining
|
|
50
|
-
*/
|
|
51
|
-
moveTo(target: Vector3Tuple | Mobject, alignedEdge?: Vector3Tuple): this;
|
|
52
|
-
/**
|
|
53
|
-
* Rotate all children around an axis.
|
|
54
|
-
* Only children are rotated to avoid double-counting with Three.js hierarchy.
|
|
55
|
-
* @param angle - Rotation angle in radians
|
|
56
|
-
* @param axis - Axis of rotation [x, y, z], defaults to Z axis
|
|
57
|
-
* @returns this for chaining
|
|
58
|
-
*/
|
|
59
|
-
rotate(angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): this;
|
|
35
|
+
isEmpty(): boolean;
|
|
60
36
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
37
|
+
* World-space center as the midpoint of the union of all children's bounding boxes.
|
|
38
|
+
*
|
|
39
|
+
* Each child computes its own bounding box via getBounds(), which routes to
|
|
40
|
+
* the correct strategy automatically: VMobjects use point math, all other
|
|
41
|
+
* types use Box3.setFromObject(). See PointBounds.ts for the full explanation.
|
|
42
|
+
*
|
|
43
|
+
* @throws this.isEmpty() — an empty group has no geometry, so no center.
|
|
44
|
+
* @post !this.isEmpty() => result[i] === (worldBbox.min[i] + worldBbox.max[i]) / 2
|
|
65
45
|
*/
|
|
66
|
-
|
|
46
|
+
getCenter(): Vector3Tuple;
|
|
67
47
|
/**
|
|
68
48
|
* Set the color of all children.
|
|
69
49
|
* @param color - CSS color string
|
|
@@ -98,7 +78,7 @@ export declare class Group extends Mobject {
|
|
|
98
78
|
/**
|
|
99
79
|
* Create a copy of this Group.
|
|
100
80
|
*/
|
|
101
|
-
|
|
81
|
+
copy(): Group;
|
|
102
82
|
/**
|
|
103
83
|
* Get the number of mobjects in this group.
|
|
104
84
|
*/
|
package/dist/core/Group.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../src/core/Group.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../src/core/Group.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAElD;;;GAGG;AACH,qBAAa,KAAM,SAAQ,OAAO;IACvB,kBAAkB,CAAC,WAAW,GAAE,KAAK,CAAC,OAA2B,GAAG,IAAI;IAGjF;;;OAGG;gBACS,GAAG,QAAQ,EAAE,OAAO,EAAE;IAYlC;;;;OAIG;IACM,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAoBpC;;;;OAIG;IACM,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAavC;;;OAGG;IACH,KAAK,IAAI,IAAI;IAOJ,OAAO,IAAI,OAAO;IAI3B;;;;;;;;;OASG;IACM,SAAS,IAAI,YAAY;IA0BlC;;;;OAIG;IACM,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQtC;;;;OAIG;IACM,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQhD;;;;OAIG;IACM,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ5C;;;;OAIG;IACM,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ9C;;;OAGG;IACH,SAAS,CAAC,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAWrC,oBAAoB,IAAI,MAAM;IAI9B,gBAAgB,IAAI,KAAK,CAAC,IAAI,EAAE;IAIzC;;OAEG;IACM,IAAI,IAAI,KAAK;IAMtB;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIvC;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;IAItC;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAK5D;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE;IAIvD;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,KAAK;CAIhE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractiveScene.d.ts","sourceRoot":"","sources":["../../src/core/InteractiveScene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK9C,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAoB5F;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,sCAAsC;IACtC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gEAAgE;IAChE,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAeD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAGrC,OAAO,CAAC,UAAU,CAAwB;IAG1C,OAAO,CAAC,mBAAmB,CAKzB;IAGF,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAA6B;IAGnD,OAAO,CAAC,WAAW,CAAsC;IAGzD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,cAAc,CAA0B;IAEhD;;;;OAIG;gBACS,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,uBAA4B;IAyCzE;;;OAGG;IACH,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAE9B;IAED;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAQ1B;;;OAGG;IACH,cAAc,IAAI,IAAI;IAatB;;OAEG;IACH,YAAY,IAAI,IAAI;IAUpB;;;OAGG;IACH,kBAAkB,IAAI,IAAI;IAoB1B;;;;OAIG;IACH,aAAa,IAAI,IAAI;IAsBrB;;OAEG;IACH,eAAe,IAAI,IAAI;IAsBvB;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"InteractiveScene.d.ts","sourceRoot":"","sources":["../../src/core/InteractiveScene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK9C,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAoB5F;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,sCAAsC;IACtC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gEAAgE;IAChE,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAeD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAGrC,OAAO,CAAC,UAAU,CAAwB;IAG1C,OAAO,CAAC,mBAAmB,CAKzB;IAGF,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAA6B;IAGnD,OAAO,CAAC,WAAW,CAAsC;IAGzD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,cAAc,CAA0B;IAEhD;;;;OAIG;gBACS,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,uBAA4B;IAyCzE;;;OAGG;IACH,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAE9B;IAED;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAQ1B;;;OAGG;IACH,cAAc,IAAI,IAAI;IAatB;;OAEG;IACH,YAAY,IAAI,IAAI;IAUpB;;;OAGG;IACH,kBAAkB,IAAI,IAAI;IAoB1B;;;;OAIG;IACH,aAAa,IAAI,IAAI;IAsBrB;;OAEG;IACH,eAAe,IAAI,IAAI;IAsBvB;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAiBzC,OAAO,CAAC,cAAc;IAkFtB,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,kBAAkB;IAS1B,6CAA6C;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAapC;IAEF,OAAO,CAAC,iBAAiB;IAkDzB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACM,OAAO,IAAI,IAAI;CAmBzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lighting.d.ts","sourceRoot":"","sources":["../../src/core/Lighting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAc;IAE5B;;;OAGG;gBACS,UAAU,EAAE,KAAK,CAAC,KAAK;IAInC;;;;;OAKG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY;IAO7D;;;;;OAKG;IACH,cAAc,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,KAAK,CAAC,gBAAgB;IAWzE;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,UAAU;IAgBvD;;;;;OAKG;
|
|
1
|
+
{"version":3,"file":"Lighting.d.ts","sourceRoot":"","sources":["../../src/core/Lighting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAc;IAE5B;;;OAGG;gBACS,UAAU,EAAE,KAAK,CAAC,KAAK;IAInC;;;;;OAKG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY;IAO7D;;;;;OAKG;IACH,cAAc,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,KAAK,CAAC,gBAAgB;IAWzE;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,UAAU;IAgBvD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC,SAAS;IAuBpD;;;OAGG;IACH,YAAY,IAAI,IAAI;IAMpB;;;OAGG;IACH,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE;IAI1B;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI;IAQhC;;OAEG;IACH,SAAS,IAAI,IAAI;IAOjB;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
|
package/dist/core/Mobject.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { Vector3Tuple, MobjectStyle, AxisOrOptions } from './MobjectTypes';
|
|
2
|
+
import { AnimateProxy } from './AnimateProxy';
|
|
2
3
|
import * as THREE from 'three';
|
|
3
|
-
interface NormalizeContainerOptions {
|
|
4
|
-
translateChild?: (child: Mobject, dx: number, dy: number, dz: number) => void;
|
|
5
|
-
}
|
|
6
4
|
/** @internal Called by AnimateProxy module to register the factory. */
|
|
7
|
-
export declare function registerAnimateProxy(factory: (mobject: Mobject) =>
|
|
5
|
+
export declare function registerAnimateProxy(factory: (mobject: Mobject) => AnimateProxy): void;
|
|
8
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';
|
|
9
7
|
/**
|
|
10
8
|
* Updater function type that runs every frame.
|
|
@@ -33,7 +31,19 @@ export declare abstract class Mobject {
|
|
|
33
31
|
protected _disableChildZLayering: boolean;
|
|
34
32
|
protected _style: MobjectStyle;
|
|
35
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
|
+
*/
|
|
36
45
|
_dirty: boolean;
|
|
46
|
+
_isVMobject: boolean;
|
|
37
47
|
private _updaters;
|
|
38
48
|
/** Saved mobject copy (used by Restore animation). Set by saveState(). */
|
|
39
49
|
savedState: Mobject | null;
|
|
@@ -58,6 +68,20 @@ export declare abstract class Mobject {
|
|
|
58
68
|
get strokeColor(): string | undefined;
|
|
59
69
|
set strokeColor(color: string);
|
|
60
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
|
+
*/
|
|
61
85
|
moveTo(target: Vector3Tuple | Mobject, alignedEdge?: Vector3Tuple): this;
|
|
62
86
|
/**
|
|
63
87
|
* Rotate the mobject by angle around an axis.
|
|
@@ -65,6 +89,28 @@ export declare abstract class Mobject {
|
|
|
65
89
|
*/
|
|
66
90
|
rotate(angle: number, axisOrOptions?: Vector3Tuple | AxisOrOptions): this;
|
|
67
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;
|
|
68
114
|
flip(axis?: Vector3Tuple, options?: {
|
|
69
115
|
aboutPoint?: Vector3Tuple;
|
|
70
116
|
aboutEdge?: Vector3Tuple;
|
|
@@ -79,11 +125,89 @@ export declare abstract class Mobject {
|
|
|
79
125
|
}): this;
|
|
80
126
|
add(...mobjects: Mobject[]): this;
|
|
81
127
|
remove(...mobjects: Mobject[]): this;
|
|
82
|
-
|
|
83
|
-
|
|
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;
|
|
84
165
|
become(other: Mobject): this;
|
|
85
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
|
+
*/
|
|
86
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
|
+
*/
|
|
87
211
|
getBounds(): {
|
|
88
212
|
min: {
|
|
89
213
|
x: number;
|
|
@@ -99,12 +223,15 @@ export declare abstract class Mobject {
|
|
|
99
223
|
nextTo(target: Mobject | Vector3Tuple, direction?: Vector3Tuple, buff?: number): this;
|
|
100
224
|
alignTo(target: Mobject | Vector3Tuple, direction: Vector3Tuple): this;
|
|
101
225
|
moveToAligned(target: Mobject | Vector3Tuple, alignedEdge?: Vector3Tuple): this;
|
|
226
|
+
/** @returns World-space edge position (center + half-bounding-box offset). */
|
|
102
227
|
_getEdgeInDirection(direction: Vector3Tuple): Vector3Tuple;
|
|
103
228
|
getBoundingBox(): {
|
|
104
229
|
width: number;
|
|
105
230
|
height: number;
|
|
106
231
|
depth: number;
|
|
107
232
|
};
|
|
233
|
+
getWidth(): number;
|
|
234
|
+
getHeight(): number;
|
|
108
235
|
/** @deprecated Use getBoundingBox() instead. */
|
|
109
236
|
_getBoundingBox(): {
|
|
110
237
|
width: number;
|
|
@@ -131,35 +258,102 @@ export declare abstract class Mobject {
|
|
|
131
258
|
* scene.play(circle.animate.setColor('#ff0000').scale(2));
|
|
132
259
|
* ```
|
|
133
260
|
*/
|
|
134
|
-
get animate():
|
|
261
|
+
get animate(): AnimateProxy;
|
|
135
262
|
toEdge(direction: Vector3Tuple, buff?: number, frameDimensions?: [number, number]): this;
|
|
136
263
|
toCorner(direction?: Vector3Tuple, buff?: number, frameDimensions?: [number, number]): this;
|
|
137
264
|
/**
|
|
138
|
-
*
|
|
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.
|
|
139
273
|
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
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}).
|
|
143
279
|
*
|
|
144
|
-
*
|
|
280
|
+
* @post old.getPoints()[i] === this.getPoints()[i] // world geometry preserved, every descendant
|
|
281
|
+
* @post this._computeOwnMatrix() === Identity // container/point nodes; meshes: own === worldMatrix
|
|
145
282
|
*/
|
|
146
|
-
normalizeTransform(): this;
|
|
283
|
+
abstract normalizeTransform(worldMatrix?: THREE.Matrix4): this;
|
|
147
284
|
/**
|
|
148
|
-
*
|
|
149
|
-
*
|
|
285
|
+
* Recurse `normalizeTransform` into children, composing each child's own
|
|
286
|
+
* matrix onto `worldMatrix` so every descendant flattens into the same frame.
|
|
150
287
|
*/
|
|
151
|
-
protected
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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;
|
|
157
303
|
_syncToThree(): void;
|
|
158
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
|
+
*/
|
|
159
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
|
+
*/
|
|
160
331
|
_markDirtyUpward(): void;
|
|
161
332
|
get isDirty(): boolean;
|
|
333
|
+
/** The topmost ancestor (the node with no parent). */
|
|
334
|
+
_root(): Mobject;
|
|
162
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;
|
|
163
357
|
/**
|
|
164
358
|
* Number of visible display meshes this mobject contributes when rendered.
|
|
165
359
|
* Used for Transform eligibility checks without forcing Three.js object creation.
|
|
@@ -175,6 +369,21 @@ export declare abstract class Mobject {
|
|
|
175
369
|
hasUpdaters(): boolean;
|
|
176
370
|
getUpdaters(): UpdaterFunction[];
|
|
177
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;
|
|
178
387
|
applyFunction(fn: (point: number[]) => number[], options?: {
|
|
179
388
|
aboutPoint?: Vector3Tuple;
|
|
180
389
|
aboutEdge?: Vector3Tuple;
|
|
@@ -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,9 +1,4 @@
|
|
|
1
|
-
import { MobjectLike, Vector3Tuple
|
|
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 | AxisOrOptions): void;
|
|
1
|
+
import { MobjectLike, Vector3Tuple } from './MobjectTypes';
|
|
7
2
|
/**
|
|
8
3
|
* Get the center point of a mobject.
|
|
9
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,
|
|
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"}
|
|
@@ -54,8 +54,10 @@ export interface MobjectLike {
|
|
|
54
54
|
__savedMobjectState: unknown;
|
|
55
55
|
_threeObject: THREE.Object3D | null;
|
|
56
56
|
_dirty: boolean;
|
|
57
|
+
_isVMobject: boolean;
|
|
57
58
|
_markDirty(): void;
|
|
58
59
|
getThreeObject(): THREE.Object3D;
|
|
60
|
+
_syncWorldMatrices(): THREE.Object3D;
|
|
59
61
|
getCenter(): Vector3Tuple;
|
|
60
62
|
getBounds(): {
|
|
61
63
|
min: {
|
|
@@ -79,6 +81,7 @@ export interface MobjectLike {
|
|
|
79
81
|
copy(): MobjectLike;
|
|
80
82
|
restoreState(): boolean;
|
|
81
83
|
getFamily(): MobjectLike[];
|
|
84
|
+
applyFunctionAboutPoint(fn: (pts: number[][]) => number[][], aboutPoint?: number[]): MobjectLike;
|
|
82
85
|
}
|
|
83
86
|
/**
|
|
84
87
|
* Interface for duck-typing VMobject properties from Mobject base class.
|
|
@@ -92,10 +95,15 @@ export interface VMobjectLike {
|
|
|
92
95
|
x: number;
|
|
93
96
|
y: number;
|
|
94
97
|
}[]): void;
|
|
98
|
+
getLocalPoints(): number[][];
|
|
95
99
|
getPoints(): number[][];
|
|
96
100
|
}
|
|
97
101
|
/**
|
|
98
102
|
* Type guard to check if a MobjectLike has VMobject-like point data.
|
|
99
103
|
*/
|
|
100
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;
|
|
101
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;AAEpD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B,CAAC;AAGF,eAAO,MAAM,EAAE,EAAE,YAAwB,CAAC;AAC1C,eAAO,MAAM,IAAI,EAAE,YAAyB,CAAC;AAC7C,eAAO,MAAM,IAAI,EAAE,YAAyB,CAAC;AAC7C,eAAO,MAAM,KAAK,EAAE,YAAwB,CAAC;AAC7C,eAAO,MAAM,GAAG,EAAE,YAAwB,CAAC;AAC3C,eAAO,MAAM,EAAE,EAAE,YAAyB,CAAC;AAC3C,eAAO,MAAM,MAAM,EAAE,YAAwB,CAAC;AAG9C,eAAO,MAAM,EAAE,EAAE,YAAyB,CAAC;AAC3C,eAAO,MAAM,EAAE,EAAE,YAAwB,CAAC;AAC1C,eAAO,MAAM,EAAE,EAAE,YAA0B,CAAC;AAC5C,eAAO,MAAM,EAAE,EAAE,YAAyB,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC;IACtB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,IAAI,IAAI,CAAC;IACnB,cAAc,IAAI,KAAK,CAAC,QAAQ,CAAC;IACjC,SAAS,IAAI,YAAY,CAAC;IAC1B,SAAS,IAAI;QACX,GAAG,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,GAAG,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1C,CAAC;IACF,cAAc,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACpF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,WAAW,CAAC;IACjF,IAAI,IAAI,WAAW,CAAC;IACpB,YAAY,IAAI,OAAO,CAAC;IACxB,SAAS,IAAI,WAAW,EAAE,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"}
|
|
@@ -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"}
|