manim-web 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +109 -0
- package/dist/animation/Animation.d.ts +69 -0
- package/dist/animation/Animation.d.ts.map +1 -0
- package/dist/animation/AnimationGroup.d.ts +48 -0
- package/dist/animation/AnimationGroup.d.ts.map +1 -0
- package/dist/animation/LaggedStart.d.ts +25 -0
- package/dist/animation/LaggedStart.d.ts.map +1 -0
- package/dist/animation/MaintainPositionRelativeTo.d.ts +23 -0
- package/dist/animation/MaintainPositionRelativeTo.d.ts.map +1 -0
- package/dist/animation/Succession.d.ts +19 -0
- package/dist/animation/Succession.d.ts.map +1 -0
- package/dist/animation/Timeline.d.ts +89 -0
- package/dist/animation/Timeline.d.ts.map +1 -0
- package/dist/animation/UpdateFromAlphaFunc.d.ts +32 -0
- package/dist/animation/UpdateFromAlphaFunc.d.ts.map +1 -0
- package/dist/animation/UpdateFromFunc.d.ts +30 -0
- package/dist/animation/UpdateFromFunc.d.ts.map +1 -0
- package/dist/animation/changing/index.d.ts +213 -0
- package/dist/animation/changing/index.d.ts.map +1 -0
- package/dist/animation/composition/LaggedStartMap.d.ts +47 -0
- package/dist/animation/composition/LaggedStartMap.d.ts.map +1 -0
- package/dist/animation/composition/index.d.ts +5 -0
- package/dist/animation/composition/index.d.ts.map +1 -0
- package/dist/animation/creation/Create.d.ts +232 -0
- package/dist/animation/creation/Create.d.ts.map +1 -0
- package/dist/animation/creation/CreationExtensions.d.ts +127 -0
- package/dist/animation/creation/CreationExtensions.d.ts.map +1 -0
- package/dist/animation/creation/TypeWithCursor.d.ts +133 -0
- package/dist/animation/creation/TypeWithCursor.d.ts.map +1 -0
- package/dist/animation/creation/index.d.ts +4 -0
- package/dist/animation/creation/index.d.ts.map +1 -0
- package/dist/animation/fading/FadeIn.d.ts +31 -0
- package/dist/animation/fading/FadeIn.d.ts.map +1 -0
- package/dist/animation/fading/FadeOut.d.ts +32 -0
- package/dist/animation/fading/FadeOut.d.ts.map +1 -0
- package/dist/animation/fading/index.d.ts +3 -0
- package/dist/animation/fading/index.d.ts.map +1 -0
- package/dist/animation/growing/index.d.ts +103 -0
- package/dist/animation/growing/index.d.ts.map +1 -0
- package/dist/animation/index.d.ts +20 -0
- package/dist/animation/index.d.ts.map +1 -0
- package/dist/animation/indication/ApplyWave.d.ts +51 -0
- package/dist/animation/indication/ApplyWave.d.ts.map +1 -0
- package/dist/animation/indication/Blink.d.ts +34 -0
- package/dist/animation/indication/Blink.d.ts.map +1 -0
- package/dist/animation/indication/Circumscribe.d.ts +54 -0
- package/dist/animation/indication/Circumscribe.d.ts.map +1 -0
- package/dist/animation/indication/Flash.d.ts +45 -0
- package/dist/animation/indication/Flash.d.ts.map +1 -0
- package/dist/animation/indication/FocusOn.d.ts +79 -0
- package/dist/animation/indication/FocusOn.d.ts.map +1 -0
- package/dist/animation/indication/Indicate.d.ts +30 -0
- package/dist/animation/indication/Indicate.d.ts.map +1 -0
- package/dist/animation/indication/ShowCreationThenDestruction.d.ts +26 -0
- package/dist/animation/indication/ShowCreationThenDestruction.d.ts.map +1 -0
- package/dist/animation/indication/ShowPassingFlash.d.ts +47 -0
- package/dist/animation/indication/ShowPassingFlash.d.ts.map +1 -0
- package/dist/animation/indication/ShowPassingFlashWithThinningStrokeWidth.d.ts +21 -0
- package/dist/animation/indication/ShowPassingFlashWithThinningStrokeWidth.d.ts.map +1 -0
- package/dist/animation/indication/Wiggle.d.ts +48 -0
- package/dist/animation/indication/Wiggle.d.ts.map +1 -0
- package/dist/animation/indication/WiggleOutThenIn.d.ts +44 -0
- package/dist/animation/indication/WiggleOutThenIn.d.ts.map +1 -0
- package/dist/animation/indication/index.d.ts +20 -0
- package/dist/animation/indication/index.d.ts.map +1 -0
- package/dist/animation/movement/Homotopy.d.ts +204 -0
- package/dist/animation/movement/Homotopy.d.ts.map +1 -0
- package/dist/animation/movement/MoveAlongPath.d.ts +48 -0
- package/dist/animation/movement/MoveAlongPath.d.ts.map +1 -0
- package/dist/animation/movement/Rotate.d.ts +47 -0
- package/dist/animation/movement/Rotate.d.ts.map +1 -0
- package/dist/animation/movement/Scale.d.ts +74 -0
- package/dist/animation/movement/Scale.d.ts.map +1 -0
- package/dist/animation/movement/Shift.d.ts +74 -0
- package/dist/animation/movement/Shift.d.ts.map +1 -0
- package/dist/animation/movement/index.d.ts +6 -0
- package/dist/animation/movement/index.d.ts.map +1 -0
- package/dist/animation/numbers/index.d.ts +152 -0
- package/dist/animation/numbers/index.d.ts.map +1 -0
- package/dist/animation/speed/index.d.ts +114 -0
- package/dist/animation/speed/index.d.ts.map +1 -0
- package/dist/animation/transform/ApplyPointwiseFunction.d.ts +23 -0
- package/dist/animation/transform/ApplyPointwiseFunction.d.ts.map +1 -0
- package/dist/animation/transform/Transform.d.ts +89 -0
- package/dist/animation/transform/Transform.d.ts.map +1 -0
- package/dist/animation/transform/TransformExtensions.d.ts +444 -0
- package/dist/animation/transform/TransformExtensions.d.ts.map +1 -0
- package/dist/animation/transform/TransformMatching.d.ts +138 -0
- package/dist/animation/transform/TransformMatching.d.ts.map +1 -0
- package/dist/animation/transform/index.d.ts +5 -0
- package/dist/animation/transform/index.d.ts.map +1 -0
- package/dist/animation/utility/index.d.ts +171 -0
- package/dist/animation/utility/index.d.ts.map +1 -0
- package/dist/constants/colors.d.ts +72 -0
- package/dist/constants/colors.d.ts.map +1 -0
- package/dist/constants/colors.test.d.ts +2 -0
- package/dist/constants/colors.test.d.ts.map +1 -0
- package/dist/constants/directions.test.d.ts +2 -0
- package/dist/constants/directions.test.d.ts.map +1 -0
- package/dist/constants/index.d.ts +16 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/core/AudioManager.d.ts +203 -0
- package/dist/core/AudioManager.d.ts.map +1 -0
- package/dist/core/Camera.d.ts +172 -0
- package/dist/core/Camera.d.ts.map +1 -0
- package/dist/core/Camera2DFrame.d.ts +31 -0
- package/dist/core/Camera2DFrame.d.ts.map +1 -0
- package/dist/core/CameraExtensions.d.ts +420 -0
- package/dist/core/CameraExtensions.d.ts.map +1 -0
- package/dist/core/CameraFrame.d.ts +178 -0
- package/dist/core/CameraFrame.d.ts.map +1 -0
- package/dist/core/Group.d.ts +139 -0
- package/dist/core/Group.d.ts.map +1 -0
- package/dist/core/InteractiveScene.d.ts +122 -0
- package/dist/core/InteractiveScene.d.ts.map +1 -0
- package/dist/core/Lighting.d.ts +128 -0
- package/dist/core/Lighting.d.ts.map +1 -0
- package/dist/core/Mobject.d.ts +488 -0
- package/dist/core/Mobject.d.ts.map +1 -0
- package/dist/core/Renderer.d.ts +84 -0
- package/dist/core/Renderer.d.ts.map +1 -0
- package/dist/core/Scene.d.ts +353 -0
- package/dist/core/Scene.d.ts.map +1 -0
- package/dist/core/SceneExtensions.d.ts +640 -0
- package/dist/core/SceneExtensions.d.ts.map +1 -0
- package/dist/core/SceneExtensions.test.d.ts +2 -0
- package/dist/core/SceneExtensions.test.d.ts.map +1 -0
- package/dist/core/StateManager.d.ts +193 -0
- package/dist/core/StateManager.d.ts.map +1 -0
- package/dist/core/VDict.d.ts +229 -0
- package/dist/core/VDict.d.ts.map +1 -0
- package/dist/core/VGroup.d.ts +200 -0
- package/dist/core/VGroup.d.ts.map +1 -0
- package/dist/core/VMobject.d.ts +419 -0
- package/dist/core/VMobject.d.ts.map +1 -0
- package/dist/core/index.d.ts +16 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/examples.test.d.ts +2 -0
- package/dist/examples.test.d.ts.map +1 -0
- package/dist/export/GifExporter.d.ts +40 -0
- package/dist/export/GifExporter.d.ts.map +1 -0
- package/dist/export/VideoExporter.d.ts +135 -0
- package/dist/export/VideoExporter.d.ts.map +1 -0
- package/dist/export/index.d.ts +3 -0
- package/dist/export/index.d.ts.map +1 -0
- package/dist/index.d.ts +65 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49064 -0
- package/dist/integrations/index.d.ts +1 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/react.d.ts +144 -0
- package/dist/integrations/react.d.ts.map +1 -0
- package/dist/integrations/react.js +570 -0
- package/dist/integrations/vue.d.ts +249 -0
- package/dist/integrations/vue.d.ts.map +1 -0
- package/dist/integrations/vue.js +560 -0
- package/dist/interaction/Clickable.d.ts +71 -0
- package/dist/interaction/Clickable.d.ts.map +1 -0
- package/dist/interaction/Controls.d.ts +174 -0
- package/dist/interaction/Controls.d.ts.map +1 -0
- package/dist/interaction/Draggable.d.ts +88 -0
- package/dist/interaction/Draggable.d.ts.map +1 -0
- package/dist/interaction/Hoverable.d.ts +82 -0
- package/dist/interaction/Hoverable.d.ts.map +1 -0
- package/dist/interaction/OrbitControls.d.ts +139 -0
- package/dist/interaction/OrbitControls.d.ts.map +1 -0
- package/dist/interaction/PlaybackControls.d.ts +113 -0
- package/dist/interaction/PlaybackControls.d.ts.map +1 -0
- package/dist/interaction/SelectionManager.d.ts +125 -0
- package/dist/interaction/SelectionManager.d.ts.map +1 -0
- package/dist/interaction/index.d.ts +12 -0
- package/dist/interaction/index.d.ts.map +1 -0
- package/dist/mobjects/fractals/MandelbrotSet.d.ts +92 -0
- package/dist/mobjects/fractals/MandelbrotSet.d.ts.map +1 -0
- package/dist/mobjects/fractals/NewtonFractal.d.ts +121 -0
- package/dist/mobjects/fractals/NewtonFractal.d.ts.map +1 -0
- package/dist/mobjects/fractals/index.d.ts +3 -0
- package/dist/mobjects/fractals/index.d.ts.map +1 -0
- package/dist/mobjects/frame/index.d.ts +188 -0
- package/dist/mobjects/frame/index.d.ts.map +1 -0
- package/dist/mobjects/geometry/AngleShapes.d.ts +326 -0
- package/dist/mobjects/geometry/AngleShapes.d.ts.map +1 -0
- package/dist/mobjects/geometry/Arc.d.ts +111 -0
- package/dist/mobjects/geometry/Arc.d.ts.map +1 -0
- package/dist/mobjects/geometry/ArcBetweenPoints.d.ts +68 -0
- package/dist/mobjects/geometry/ArcBetweenPoints.d.ts.map +1 -0
- package/dist/mobjects/geometry/ArcShapes.d.ts +659 -0
- package/dist/mobjects/geometry/ArcShapes.d.ts.map +1 -0
- package/dist/mobjects/geometry/Arrow.d.ts +130 -0
- package/dist/mobjects/geometry/Arrow.d.ts.map +1 -0
- package/dist/mobjects/geometry/ArrowTips.d.ts +238 -0
- package/dist/mobjects/geometry/ArrowTips.d.ts.map +1 -0
- package/dist/mobjects/geometry/BooleanOperations.d.ts +163 -0
- package/dist/mobjects/geometry/BooleanOperations.d.ts.map +1 -0
- package/dist/mobjects/geometry/Circle.d.ts +92 -0
- package/dist/mobjects/geometry/Circle.d.ts.map +1 -0
- package/dist/mobjects/geometry/CubicBezier.d.ts +126 -0
- package/dist/mobjects/geometry/CubicBezier.d.ts.map +1 -0
- package/dist/mobjects/geometry/DashedLine.d.ts +109 -0
- package/dist/mobjects/geometry/DashedLine.d.ts.map +1 -0
- package/dist/mobjects/geometry/DashedVMobject.d.ts +96 -0
- package/dist/mobjects/geometry/DashedVMobject.d.ts.map +1 -0
- package/dist/mobjects/geometry/Dot.d.ts +100 -0
- package/dist/mobjects/geometry/Dot.d.ts.map +1 -0
- package/dist/mobjects/geometry/LabeledGeometry.d.ts +372 -0
- package/dist/mobjects/geometry/LabeledGeometry.d.ts.map +1 -0
- package/dist/mobjects/geometry/Line.d.ts +83 -0
- package/dist/mobjects/geometry/Line.d.ts.map +1 -0
- package/dist/mobjects/geometry/Polygon.d.ts +155 -0
- package/dist/mobjects/geometry/Polygon.d.ts.map +1 -0
- package/dist/mobjects/geometry/PolygonExtensions.d.ts +412 -0
- package/dist/mobjects/geometry/PolygonExtensions.d.ts.map +1 -0
- package/dist/mobjects/geometry/Rectangle.d.ts +123 -0
- package/dist/mobjects/geometry/Rectangle.d.ts.map +1 -0
- package/dist/mobjects/geometry/ShapeMatchers.d.ts +252 -0
- package/dist/mobjects/geometry/ShapeMatchers.d.ts.map +1 -0
- package/dist/mobjects/geometry/index.d.ts +25 -0
- package/dist/mobjects/geometry/index.d.ts.map +1 -0
- package/dist/mobjects/graph/index.d.ts +425 -0
- package/dist/mobjects/graph/index.d.ts.map +1 -0
- package/dist/mobjects/graphing/Axes.d.ts +254 -0
- package/dist/mobjects/graphing/Axes.d.ts.map +1 -0
- package/dist/mobjects/graphing/BarChart.d.ts +241 -0
- package/dist/mobjects/graphing/BarChart.d.ts.map +1 -0
- package/dist/mobjects/graphing/ComplexPlane.d.ts +311 -0
- package/dist/mobjects/graphing/ComplexPlane.d.ts.map +1 -0
- package/dist/mobjects/graphing/FunctionGraph.d.ts +123 -0
- package/dist/mobjects/graphing/FunctionGraph.d.ts.map +1 -0
- package/dist/mobjects/graphing/ImplicitFunction.d.ts +131 -0
- package/dist/mobjects/graphing/ImplicitFunction.d.ts.map +1 -0
- package/dist/mobjects/graphing/NumberLine.d.ts +195 -0
- package/dist/mobjects/graphing/NumberLine.d.ts.map +1 -0
- package/dist/mobjects/graphing/NumberPlane.d.ts +91 -0
- package/dist/mobjects/graphing/NumberPlane.d.ts.map +1 -0
- package/dist/mobjects/graphing/ParametricFunction.d.ts +111 -0
- package/dist/mobjects/graphing/ParametricFunction.d.ts.map +1 -0
- package/dist/mobjects/graphing/Vector.d.ts +121 -0
- package/dist/mobjects/graphing/Vector.d.ts.map +1 -0
- package/dist/mobjects/graphing/VectorField.d.ts +321 -0
- package/dist/mobjects/graphing/VectorField.d.ts.map +1 -0
- package/dist/mobjects/graphing/index.d.ts +18 -0
- package/dist/mobjects/graphing/index.d.ts.map +1 -0
- package/dist/mobjects/image/index.d.ts +223 -0
- package/dist/mobjects/image/index.d.ts.map +1 -0
- package/dist/mobjects/matrix/Matrix.d.ts +260 -0
- package/dist/mobjects/matrix/Matrix.d.ts.map +1 -0
- package/dist/mobjects/matrix/index.d.ts +8 -0
- package/dist/mobjects/matrix/index.d.ts.map +1 -0
- package/dist/mobjects/point/index.d.ts +707 -0
- package/dist/mobjects/point/index.d.ts.map +1 -0
- package/dist/mobjects/probability/DiceFace.d.ts +137 -0
- package/dist/mobjects/probability/DiceFace.d.ts.map +1 -0
- package/dist/mobjects/probability/SampleSpace.d.ts +267 -0
- package/dist/mobjects/probability/SampleSpace.d.ts.map +1 -0
- package/dist/mobjects/probability/index.d.ts +9 -0
- package/dist/mobjects/probability/index.d.ts.map +1 -0
- package/dist/mobjects/svg/Brace.d.ts +308 -0
- package/dist/mobjects/svg/Brace.d.ts.map +1 -0
- package/dist/mobjects/svg/SVGMobject.d.ts +64 -0
- package/dist/mobjects/svg/SVGMobject.d.ts.map +1 -0
- package/dist/mobjects/svg/index.d.ts +10 -0
- package/dist/mobjects/svg/index.d.ts.map +1 -0
- package/dist/mobjects/table/Table.d.ts +315 -0
- package/dist/mobjects/table/Table.d.ts.map +1 -0
- package/dist/mobjects/table/index.d.ts +8 -0
- package/dist/mobjects/table/index.d.ts.map +1 -0
- package/dist/mobjects/text/Code.d.ts +244 -0
- package/dist/mobjects/text/Code.d.ts.map +1 -0
- package/dist/mobjects/text/DecimalNumber.d.ts +199 -0
- package/dist/mobjects/text/DecimalNumber.d.ts.map +1 -0
- package/dist/mobjects/text/GlyphVMobject.d.ts +76 -0
- package/dist/mobjects/text/GlyphVMobject.d.ts.map +1 -0
- package/dist/mobjects/text/MarkupText.d.ts +161 -0
- package/dist/mobjects/text/MarkupText.d.ts.map +1 -0
- package/dist/mobjects/text/MathJaxRenderer.d.ts +49 -0
- package/dist/mobjects/text/MathJaxRenderer.d.ts.map +1 -0
- package/dist/mobjects/text/MathTex.d.ts +242 -0
- package/dist/mobjects/text/MathTex.d.ts.map +1 -0
- package/dist/mobjects/text/Paragraph.d.ts +86 -0
- package/dist/mobjects/text/Paragraph.d.ts.map +1 -0
- package/dist/mobjects/text/Tex.d.ts +40 -0
- package/dist/mobjects/text/Tex.d.ts.map +1 -0
- package/dist/mobjects/text/Text.d.ts +171 -0
- package/dist/mobjects/text/Text.d.ts.map +1 -0
- package/dist/mobjects/text/TextExtensions.d.ts +383 -0
- package/dist/mobjects/text/TextExtensions.d.ts.map +1 -0
- package/dist/mobjects/text/TextGlyphGroup.d.ts +48 -0
- package/dist/mobjects/text/TextGlyphGroup.d.ts.map +1 -0
- package/dist/mobjects/text/Variable.d.ts +160 -0
- package/dist/mobjects/text/Variable.d.ts.map +1 -0
- package/dist/mobjects/text/index.d.ts +21 -0
- package/dist/mobjects/text/index.d.ts.map +1 -0
- package/dist/mobjects/text/katex-styles.d.ts +23 -0
- package/dist/mobjects/text/katex-styles.d.ts.map +1 -0
- package/dist/mobjects/text/svgPathParser.d.ts +39 -0
- package/dist/mobjects/text/svgPathParser.d.ts.map +1 -0
- package/dist/mobjects/three-d/Arrow3D.d.ts +136 -0
- package/dist/mobjects/three-d/Arrow3D.d.ts.map +1 -0
- package/dist/mobjects/three-d/Cube.d.ts +186 -0
- package/dist/mobjects/three-d/Cube.d.ts.map +1 -0
- package/dist/mobjects/three-d/Cylinder.d.ts +189 -0
- package/dist/mobjects/three-d/Cylinder.d.ts.map +1 -0
- package/dist/mobjects/three-d/Line3D.d.ts +100 -0
- package/dist/mobjects/three-d/Line3D.d.ts.map +1 -0
- package/dist/mobjects/three-d/ParametricSurface.d.ts +86 -0
- package/dist/mobjects/three-d/ParametricSurface.d.ts.map +1 -0
- package/dist/mobjects/three-d/Polyhedra.d.ts +271 -0
- package/dist/mobjects/three-d/Polyhedra.d.ts.map +1 -0
- package/dist/mobjects/three-d/Sphere.d.ts +100 -0
- package/dist/mobjects/three-d/Sphere.d.ts.map +1 -0
- package/dist/mobjects/three-d/Surface3D.d.ts +156 -0
- package/dist/mobjects/three-d/Surface3D.d.ts.map +1 -0
- package/dist/mobjects/three-d/TexturedSurface.d.ts +208 -0
- package/dist/mobjects/three-d/TexturedSurface.d.ts.map +1 -0
- package/dist/mobjects/three-d/ThreeDAxes.d.ts +172 -0
- package/dist/mobjects/three-d/ThreeDAxes.d.ts.map +1 -0
- package/dist/mobjects/three-d/ThreeDExtensions.d.ts +335 -0
- package/dist/mobjects/three-d/ThreeDExtensions.d.ts.map +1 -0
- package/dist/mobjects/three-d/Torus.d.ts +123 -0
- package/dist/mobjects/three-d/Torus.d.ts.map +1 -0
- package/dist/mobjects/three-d/index.d.ts +19 -0
- package/dist/mobjects/three-d/index.d.ts.map +1 -0
- package/dist/mobjects/value-tracker/ValueTracker.d.ts +248 -0
- package/dist/mobjects/value-tracker/ValueTracker.d.ts.map +1 -0
- package/dist/mobjects/value-tracker/index.d.ts +9 -0
- package/dist/mobjects/value-tracker/index.d.ts.map +1 -0
- package/dist/rate-functions/index.d.ts +81 -0
- package/dist/rate-functions/index.d.ts.map +1 -0
- package/dist/rate-functions/rateFunctions.test.d.ts +2 -0
- package/dist/rate-functions/rateFunctions.test.d.ts.map +1 -0
- package/dist/rendering/BezierRenderer.d.ts +112 -0
- package/dist/rendering/BezierRenderer.d.ts.map +1 -0
- package/dist/rendering/BezierShaderMaterial.d.ts +50 -0
- package/dist/rendering/BezierShaderMaterial.d.ts.map +1 -0
- package/dist/rendering/index.d.ts +10 -0
- package/dist/rendering/index.d.ts.map +1 -0
- package/dist/utils/Performance.d.ts +118 -0
- package/dist/utils/Performance.d.ts.map +1 -0
- package/dist/utils/featureFlags.d.ts +15 -0
- package/dist/utils/featureFlags.d.ts.map +1 -0
- package/dist/utils/hungarian.d.ts +66 -0
- package/dist/utils/hungarian.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/math.d.ts +52 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/ode.d.ts +135 -0
- package/dist/utils/ode.d.ts.map +1 -0
- package/dist/utils/skeletonize.d.ts +35 -0
- package/dist/utils/skeletonize.d.ts.map +1 -0
- package/dist/utils/triangulate.d.ts +54 -0
- package/dist/utils/triangulate.d.ts.map +1 -0
- package/dist/utils/vectors.d.ts +57 -0
- package/dist/utils/vectors.d.ts.map +1 -0
- package/package.json +122 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
import { Mobject, Vector3Tuple } from '../../core/Mobject';
|
|
2
|
+
import { VMobject } from '../../core/VMobject';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
/**
|
|
5
|
+
* Options for creating a Prism
|
|
6
|
+
*/
|
|
7
|
+
export interface PrismOptions {
|
|
8
|
+
/** Number of sides for the base polygon. Default: 6 (hexagonal) */
|
|
9
|
+
sides?: number;
|
|
10
|
+
/** Radius of the circumscribed circle of the base polygon. Default: 1 */
|
|
11
|
+
radius?: number;
|
|
12
|
+
/** Height of the prism. Default: 2 */
|
|
13
|
+
height?: number;
|
|
14
|
+
/** Center position [x, y, z]. Default: [0, 0, 0] */
|
|
15
|
+
center?: Vector3Tuple;
|
|
16
|
+
/** Color as CSS color string. Default: '#ffffff' */
|
|
17
|
+
color?: string;
|
|
18
|
+
/** Opacity from 0 to 1. Default: 1 */
|
|
19
|
+
opacity?: number;
|
|
20
|
+
/** Whether to render as wireframe. Default: false */
|
|
21
|
+
wireframe?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Prism - A 3D prism with a configurable regular polygon base
|
|
25
|
+
*
|
|
26
|
+
* Creates a prism using Three.js CylinderGeometry with the specified
|
|
27
|
+
* number of radial segments to form the polygon base.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* // Create a hexagonal prism (default)
|
|
32
|
+
* const prism = new Prism();
|
|
33
|
+
*
|
|
34
|
+
* // Create a triangular prism
|
|
35
|
+
* const triangularPrism = new Prism({ sides: 3, radius: 1.5 });
|
|
36
|
+
*
|
|
37
|
+
* // Create an octagonal prism
|
|
38
|
+
* const octagonalPrism = new Prism({
|
|
39
|
+
* sides: 8,
|
|
40
|
+
* radius: 1,
|
|
41
|
+
* height: 3,
|
|
42
|
+
* color: '#00ff00'
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare class Prism extends Mobject {
|
|
47
|
+
private _sides;
|
|
48
|
+
private _radius;
|
|
49
|
+
private _height;
|
|
50
|
+
private _wireframe;
|
|
51
|
+
private _centerPoint;
|
|
52
|
+
constructor(options?: PrismOptions);
|
|
53
|
+
/**
|
|
54
|
+
* Create the Three.js prism mesh
|
|
55
|
+
*/
|
|
56
|
+
protected _createThreeObject(): THREE.Object3D;
|
|
57
|
+
/**
|
|
58
|
+
* Sync material properties to Three.js object
|
|
59
|
+
*/
|
|
60
|
+
protected _syncMaterialToThree(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Update the geometry with current dimensions
|
|
63
|
+
*/
|
|
64
|
+
private _updateGeometry;
|
|
65
|
+
/**
|
|
66
|
+
* Get the number of sides
|
|
67
|
+
*/
|
|
68
|
+
getSides(): number;
|
|
69
|
+
/**
|
|
70
|
+
* Set the number of sides
|
|
71
|
+
*/
|
|
72
|
+
setSides(value: number): this;
|
|
73
|
+
/**
|
|
74
|
+
* Get the base radius
|
|
75
|
+
*/
|
|
76
|
+
getRadius(): number;
|
|
77
|
+
/**
|
|
78
|
+
* Set the base radius
|
|
79
|
+
*/
|
|
80
|
+
setRadius(value: number): this;
|
|
81
|
+
/**
|
|
82
|
+
* Get the height
|
|
83
|
+
*/
|
|
84
|
+
getHeight(): number;
|
|
85
|
+
/**
|
|
86
|
+
* Set the height
|
|
87
|
+
*/
|
|
88
|
+
setHeight(value: number): this;
|
|
89
|
+
/**
|
|
90
|
+
* Get whether wireframe mode is enabled
|
|
91
|
+
*/
|
|
92
|
+
isWireframe(): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Set wireframe mode
|
|
95
|
+
*/
|
|
96
|
+
setWireframe(value: boolean): this;
|
|
97
|
+
/**
|
|
98
|
+
* Get the lateral surface area of the prism
|
|
99
|
+
*/
|
|
100
|
+
getLateralSurfaceArea(): number;
|
|
101
|
+
/**
|
|
102
|
+
* Get the base area of the prism
|
|
103
|
+
*/
|
|
104
|
+
getBaseArea(): number;
|
|
105
|
+
/**
|
|
106
|
+
* Get the total surface area of the prism
|
|
107
|
+
*/
|
|
108
|
+
getSurfaceArea(): number;
|
|
109
|
+
/**
|
|
110
|
+
* Get the volume of the prism
|
|
111
|
+
*/
|
|
112
|
+
getVolume(): number;
|
|
113
|
+
/**
|
|
114
|
+
* Create a copy of this Prism
|
|
115
|
+
*/
|
|
116
|
+
protected _createCopy(): Prism;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Options for creating a Dot3D
|
|
120
|
+
*/
|
|
121
|
+
export interface Dot3DOptions {
|
|
122
|
+
/** Radius of the dot. Default: 0.08 */
|
|
123
|
+
radius?: number;
|
|
124
|
+
/** Center position [x, y, z]. Default: [0, 0, 0] */
|
|
125
|
+
point?: Vector3Tuple;
|
|
126
|
+
/** Color as CSS color string. Default: '#ffffff' */
|
|
127
|
+
color?: string;
|
|
128
|
+
/** Opacity from 0 to 1. Default: 1 */
|
|
129
|
+
opacity?: number;
|
|
130
|
+
/** Whether to add a glow effect. Default: false */
|
|
131
|
+
glow?: boolean;
|
|
132
|
+
/** Glow intensity multiplier. Default: 1.5 */
|
|
133
|
+
glowIntensity?: number;
|
|
134
|
+
/** Glow radius multiplier (relative to dot radius). Default: 3 */
|
|
135
|
+
glowRadius?: number;
|
|
136
|
+
/** Resolution of the sphere. Default: 16 */
|
|
137
|
+
resolution?: number;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Dot3D - A small sphere used as a 3D point marker
|
|
141
|
+
*
|
|
142
|
+
* Creates a small sphere that serves as a visual marker for a point
|
|
143
|
+
* in 3D space. Optionally includes a glow effect for emphasis.
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* // Create a simple white dot
|
|
148
|
+
* const dot = new Dot3D();
|
|
149
|
+
*
|
|
150
|
+
* // Create a red dot at a specific position
|
|
151
|
+
* const redDot = new Dot3D({
|
|
152
|
+
* point: [1, 2, 3],
|
|
153
|
+
* color: '#ff0000'
|
|
154
|
+
* });
|
|
155
|
+
*
|
|
156
|
+
* // Create a glowing dot
|
|
157
|
+
* const glowingDot = new Dot3D({
|
|
158
|
+
* point: [0, 0, 0],
|
|
159
|
+
* color: '#ffff00',
|
|
160
|
+
* glow: true,
|
|
161
|
+
* glowIntensity: 2
|
|
162
|
+
* });
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
export declare class Dot3D extends Mobject {
|
|
166
|
+
private _radius;
|
|
167
|
+
private _pointPosition;
|
|
168
|
+
private _glow;
|
|
169
|
+
private _glowIntensity;
|
|
170
|
+
private _glowRadius;
|
|
171
|
+
private _resolution;
|
|
172
|
+
private _glowMesh;
|
|
173
|
+
constructor(options?: Dot3DOptions);
|
|
174
|
+
/**
|
|
175
|
+
* Create the Three.js dot mesh with optional glow
|
|
176
|
+
*/
|
|
177
|
+
protected _createThreeObject(): THREE.Object3D;
|
|
178
|
+
/**
|
|
179
|
+
* Create the glow effect mesh
|
|
180
|
+
*/
|
|
181
|
+
private _createGlow;
|
|
182
|
+
/**
|
|
183
|
+
* Sync material properties to Three.js object
|
|
184
|
+
*/
|
|
185
|
+
protected _syncMaterialToThree(): void;
|
|
186
|
+
/**
|
|
187
|
+
* Get the radius
|
|
188
|
+
*/
|
|
189
|
+
getRadius(): number;
|
|
190
|
+
/**
|
|
191
|
+
* Set the radius
|
|
192
|
+
*/
|
|
193
|
+
setRadius(value: number): this;
|
|
194
|
+
/**
|
|
195
|
+
* Get whether glow is enabled
|
|
196
|
+
*/
|
|
197
|
+
hasGlow(): boolean;
|
|
198
|
+
/**
|
|
199
|
+
* Enable or disable glow effect
|
|
200
|
+
*/
|
|
201
|
+
setGlow(value: boolean): this;
|
|
202
|
+
/**
|
|
203
|
+
* Get the glow intensity
|
|
204
|
+
*/
|
|
205
|
+
getGlowIntensity(): number;
|
|
206
|
+
/**
|
|
207
|
+
* Set the glow intensity
|
|
208
|
+
*/
|
|
209
|
+
setGlowIntensity(value: number): this;
|
|
210
|
+
/**
|
|
211
|
+
* Rebuild the geometry (for when radius or glow changes)
|
|
212
|
+
*/
|
|
213
|
+
private _rebuildGeometry;
|
|
214
|
+
/**
|
|
215
|
+
* Get the point position
|
|
216
|
+
*/
|
|
217
|
+
getPoint(): Vector3Tuple;
|
|
218
|
+
/**
|
|
219
|
+
* Move the dot to a new point
|
|
220
|
+
*/
|
|
221
|
+
moveToPoint(point: Vector3Tuple): this;
|
|
222
|
+
/**
|
|
223
|
+
* Create a copy of this Dot3D
|
|
224
|
+
*/
|
|
225
|
+
protected _createCopy(): Dot3D;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Options for creating a ThreeDVMobject
|
|
229
|
+
*/
|
|
230
|
+
export interface ThreeDVMobjectOptions {
|
|
231
|
+
/** Initial points in 3D space. Default: [] */
|
|
232
|
+
points?: number[][];
|
|
233
|
+
/** Color as CSS color string. Default: '#ffffff' */
|
|
234
|
+
color?: string;
|
|
235
|
+
/** Opacity from 0 to 1. Default: 1 */
|
|
236
|
+
opacity?: number;
|
|
237
|
+
/** Fill opacity from 0 to 1. Default: 0.5 */
|
|
238
|
+
fillOpacity?: number;
|
|
239
|
+
/** Stroke width. Default: 4 */
|
|
240
|
+
strokeWidth?: number;
|
|
241
|
+
/** Whether this is a closed path. Default: false */
|
|
242
|
+
closePath?: boolean;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* ThreeDVMobject - Base class for 3D vector mobjects
|
|
246
|
+
*
|
|
247
|
+
* Extends VMobject with proper 3D support, allowing paths and shapes
|
|
248
|
+
* to exist fully in 3D space with proper Z-coordinate handling.
|
|
249
|
+
* This is useful for creating 3D curves, paths, and shapes that
|
|
250
|
+
* aren't restricted to a plane.
|
|
251
|
+
*
|
|
252
|
+
* @example
|
|
253
|
+
* ```typescript
|
|
254
|
+
* // Create a 3D path
|
|
255
|
+
* const path = new ThreeDVMobject({
|
|
256
|
+
* points: [
|
|
257
|
+
* [0, 0, 0],
|
|
258
|
+
* [1, 0, 0],
|
|
259
|
+
* [1, 1, 0.5],
|
|
260
|
+
* [1, 1, 1]
|
|
261
|
+
* ],
|
|
262
|
+
* color: '#00ff00',
|
|
263
|
+
* strokeWidth: 3
|
|
264
|
+
* });
|
|
265
|
+
*
|
|
266
|
+
* // Create a 3D spiral
|
|
267
|
+
* const spiralPoints: number[][] = [];
|
|
268
|
+
* for (let t = 0; t <= 4 * Math.PI; t += 0.1) {
|
|
269
|
+
* spiralPoints.push([
|
|
270
|
+
* Math.cos(t),
|
|
271
|
+
* Math.sin(t),
|
|
272
|
+
* t / (4 * Math.PI)
|
|
273
|
+
* ]);
|
|
274
|
+
* }
|
|
275
|
+
* const spiral = new ThreeDVMobject({
|
|
276
|
+
* points: spiralPoints,
|
|
277
|
+
* color: '#ff00ff'
|
|
278
|
+
* });
|
|
279
|
+
* ```
|
|
280
|
+
*/
|
|
281
|
+
export declare class ThreeDVMobject extends VMobject {
|
|
282
|
+
private _closePath;
|
|
283
|
+
constructor(options?: ThreeDVMobjectOptions);
|
|
284
|
+
/**
|
|
285
|
+
* Set whether the path should be closed
|
|
286
|
+
*/
|
|
287
|
+
setClosePath(value: boolean): this;
|
|
288
|
+
/**
|
|
289
|
+
* Get whether the path is closed
|
|
290
|
+
*/
|
|
291
|
+
isClosedPath(): boolean;
|
|
292
|
+
/**
|
|
293
|
+
* Add a 3D point to the path
|
|
294
|
+
* @param point - The 3D point [x, y, z]
|
|
295
|
+
*/
|
|
296
|
+
addPoint3D(point: number[]): this;
|
|
297
|
+
/**
|
|
298
|
+
* Add a cubic Bezier curve segment in 3D
|
|
299
|
+
* @param handle1 - First control point
|
|
300
|
+
* @param handle2 - Second control point
|
|
301
|
+
* @param anchor - End anchor point
|
|
302
|
+
*/
|
|
303
|
+
addCubicBezierCurveTo(handle1: number[], handle2: number[], anchor: number[]): this;
|
|
304
|
+
/**
|
|
305
|
+
* Add a line segment in 3D (creates degenerate Bezier)
|
|
306
|
+
* @param end - End point
|
|
307
|
+
*/
|
|
308
|
+
addLineTo(end: number[]): this;
|
|
309
|
+
/**
|
|
310
|
+
* Start a new subpath at the given point
|
|
311
|
+
* @param point - Starting point
|
|
312
|
+
*/
|
|
313
|
+
startNewPath(point: number[]): this;
|
|
314
|
+
/**
|
|
315
|
+
* Close the current path by connecting back to the start
|
|
316
|
+
*/
|
|
317
|
+
closePath(): this;
|
|
318
|
+
/**
|
|
319
|
+
* Get the center of this 3D VMobject based on its points
|
|
320
|
+
*/
|
|
321
|
+
getCenter(): Vector3Tuple;
|
|
322
|
+
/**
|
|
323
|
+
* Get the bounding box in 3D
|
|
324
|
+
*/
|
|
325
|
+
getBounds3D(): {
|
|
326
|
+
min: Vector3Tuple;
|
|
327
|
+
max: Vector3Tuple;
|
|
328
|
+
};
|
|
329
|
+
/**
|
|
330
|
+
* Create a copy of this ThreeDVMobject
|
|
331
|
+
*/
|
|
332
|
+
protected _createCopy(): ThreeDVMobject;
|
|
333
|
+
}
|
|
334
|
+
export default Prism;
|
|
335
|
+
//# sourceMappingURL=ThreeDExtensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreeDExtensions.d.ts","sourceRoot":"","sources":["../../../src/mobjects/three-d/ThreeDExtensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Mobject, Vector3Tuple } from '../../core/Mobject';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
/**
|
|
4
|
+
* Options for creating a Torus
|
|
5
|
+
*/
|
|
6
|
+
export interface TorusOptions {
|
|
7
|
+
/** Major radius (distance from center of tube to center of torus). Default: 1 */
|
|
8
|
+
radius?: number;
|
|
9
|
+
/** Minor radius (radius of the tube). Default: 0.3 */
|
|
10
|
+
tubeRadius?: number;
|
|
11
|
+
/** Center position [x, y, z]. Default: [0, 0, 0] */
|
|
12
|
+
center?: Vector3Tuple;
|
|
13
|
+
/** Color as CSS color string. Default: '#ffffff' */
|
|
14
|
+
color?: string;
|
|
15
|
+
/** Opacity from 0 to 1. Default: 1 */
|
|
16
|
+
opacity?: number;
|
|
17
|
+
/** Number of radial segments. Default: 32 */
|
|
18
|
+
radialSegments?: number;
|
|
19
|
+
/** Number of tubular segments. Default: 64 */
|
|
20
|
+
tubularSegments?: number;
|
|
21
|
+
/** Central angle (arc). Default: 2*PI (full torus) */
|
|
22
|
+
arc?: number;
|
|
23
|
+
/** Whether to render as wireframe. Default: false */
|
|
24
|
+
wireframe?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Torus - A 3D torus (donut shape) mesh
|
|
28
|
+
*
|
|
29
|
+
* Creates a torus using Three.js TorusGeometry with configurable
|
|
30
|
+
* major and minor radii, and material properties.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* // Create a default torus
|
|
35
|
+
* const torus = new Torus();
|
|
36
|
+
*
|
|
37
|
+
* // Create a red torus with larger tube
|
|
38
|
+
* const redTorus = new Torus({
|
|
39
|
+
* radius: 2,
|
|
40
|
+
* tubeRadius: 0.5,
|
|
41
|
+
* color: '#ff0000'
|
|
42
|
+
* });
|
|
43
|
+
*
|
|
44
|
+
* // Create a half-torus (arc)
|
|
45
|
+
* const halfTorus = new Torus({
|
|
46
|
+
* arc: Math.PI
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare class Torus extends Mobject {
|
|
51
|
+
private _radius;
|
|
52
|
+
private _tubeRadius;
|
|
53
|
+
private _radialSegments;
|
|
54
|
+
private _tubularSegments;
|
|
55
|
+
private _arc;
|
|
56
|
+
private _wireframe;
|
|
57
|
+
private _centerPoint;
|
|
58
|
+
constructor(options?: TorusOptions);
|
|
59
|
+
/**
|
|
60
|
+
* Create the Three.js torus mesh
|
|
61
|
+
*/
|
|
62
|
+
protected _createThreeObject(): THREE.Object3D;
|
|
63
|
+
/**
|
|
64
|
+
* Sync material properties to Three.js object
|
|
65
|
+
*/
|
|
66
|
+
protected _syncMaterialToThree(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Update the geometry with current dimensions
|
|
69
|
+
*/
|
|
70
|
+
private _updateGeometry;
|
|
71
|
+
/**
|
|
72
|
+
* Get the major radius
|
|
73
|
+
*/
|
|
74
|
+
getRadius(): number;
|
|
75
|
+
/**
|
|
76
|
+
* Set the major radius
|
|
77
|
+
*/
|
|
78
|
+
setRadius(value: number): this;
|
|
79
|
+
/**
|
|
80
|
+
* Get the tube radius
|
|
81
|
+
*/
|
|
82
|
+
getTubeRadius(): number;
|
|
83
|
+
/**
|
|
84
|
+
* Set the tube radius
|
|
85
|
+
*/
|
|
86
|
+
setTubeRadius(value: number): this;
|
|
87
|
+
/**
|
|
88
|
+
* Get the arc angle
|
|
89
|
+
*/
|
|
90
|
+
getArc(): number;
|
|
91
|
+
/**
|
|
92
|
+
* Set the arc angle
|
|
93
|
+
*/
|
|
94
|
+
setArc(value: number): this;
|
|
95
|
+
/**
|
|
96
|
+
* Get whether wireframe mode is enabled
|
|
97
|
+
*/
|
|
98
|
+
isWireframe(): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Set wireframe mode
|
|
101
|
+
*/
|
|
102
|
+
setWireframe(value: boolean): this;
|
|
103
|
+
/**
|
|
104
|
+
* Get the surface area of the torus
|
|
105
|
+
*/
|
|
106
|
+
getSurfaceArea(): number;
|
|
107
|
+
/**
|
|
108
|
+
* Get the volume of the torus
|
|
109
|
+
*/
|
|
110
|
+
getVolume(): number;
|
|
111
|
+
/**
|
|
112
|
+
* Get a point on the torus surface
|
|
113
|
+
* @param u Angle around the tube (0 to 2*PI)
|
|
114
|
+
* @param v Angle around the torus (0 to 2*PI)
|
|
115
|
+
*/
|
|
116
|
+
pointAtAngles(u: number, v: number): Vector3Tuple;
|
|
117
|
+
/**
|
|
118
|
+
* Create a copy of this Torus
|
|
119
|
+
*/
|
|
120
|
+
protected _createCopy(): Torus;
|
|
121
|
+
}
|
|
122
|
+
export default Torus;
|
|
123
|
+
//# sourceMappingURL=Torus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Torus.d.ts","sourceRoot":"","sources":["../../../src/mobjects/three-d/Torus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,KAAM,SAAQ,OAAO;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,YAAY,CAAe;gBAEvB,OAAO,GAAE,YAAiB;IA+BtC;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,KAAK,CAAC,QAAQ;IAqB9C;;OAEG;cACgB,oBAAoB,IAAI,IAAI;IAa/C;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMlC;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM3B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAMlC;;OAEG;IACH,cAAc,IAAI,MAAM;IAKxB;;OAEG;IACH,SAAS,IAAI,MAAM;IAKnB;;;;OAIG;IACH,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY;IAWjD;;OAEG;cACgB,WAAW,IAAI,KAAK;CAaxC;AAED,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 3D Mobjects for manimweb
|
|
3
|
+
*
|
|
4
|
+
* This module provides 3D geometric shapes and surfaces as Mobjects
|
|
5
|
+
* that can be rendered in a 3D scene with proper lighting and materials.
|
|
6
|
+
*/
|
|
7
|
+
export { Sphere, type SphereOptions } from './Sphere';
|
|
8
|
+
export { Cube, Box3D, type CubeOptions, type Box3DOptions } from './Cube';
|
|
9
|
+
export { Cylinder, Cone, type CylinderOptions, type ConeOptions } from './Cylinder';
|
|
10
|
+
export { Torus, type TorusOptions } from './Torus';
|
|
11
|
+
export { Polyhedron, Tetrahedron, Octahedron, Icosahedron, Dodecahedron, type PolyhedronOptions, type TetrahedronOptions, type OctahedronOptions, type IcosahedronOptions, type DodecahedronOptions, } from './Polyhedra';
|
|
12
|
+
export { Line3D, type Line3DOptions } from './Line3D';
|
|
13
|
+
export { Arrow3D, Vector3D, type Arrow3DOptions } from './Arrow3D';
|
|
14
|
+
export { Surface3D, type Surface3DOptions } from './Surface3D';
|
|
15
|
+
export { ParametricSurface, SurfacePresets, type ParametricSurfaceOptions, } from './ParametricSurface';
|
|
16
|
+
export { TexturedSurface, texturedSphere, type TexturedSurfaceOptions, type TexturedSphereOptions, } from './TexturedSurface';
|
|
17
|
+
export { ThreeDAxes, type ThreeDAxesOptions } from './ThreeDAxes';
|
|
18
|
+
export { Prism, Dot3D, ThreeDVMobject, type PrismOptions, type Dot3DOptions, type ThreeDVMobjectOptions, } from './ThreeDExtensions';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobjects/three-d/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAGnD,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,KAAK,wBAAwB,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,cAAc,EACd,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGlE,OAAO,EACL,KAAK,EACL,KAAK,EACL,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC"}
|