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,315 @@
|
|
|
1
|
+
import { Mobject, Vector3Tuple } from '../../core/Mobject';
|
|
2
|
+
import { VMobject } from '../../core/VMobject';
|
|
3
|
+
import { VGroup } from '../../core/VGroup';
|
|
4
|
+
import { Rectangle } from '../geometry/Rectangle';
|
|
5
|
+
/**
|
|
6
|
+
* Options for creating a Table
|
|
7
|
+
*/
|
|
8
|
+
export interface TableOptions {
|
|
9
|
+
/** 2D array of mobjects to display in the table */
|
|
10
|
+
data: Mobject[][];
|
|
11
|
+
/** Row labels to display on the left side */
|
|
12
|
+
rowLabels?: Mobject[];
|
|
13
|
+
/** Column labels to display on top */
|
|
14
|
+
colLabels?: Mobject[];
|
|
15
|
+
/** Top-left element when both row and column labels exist */
|
|
16
|
+
topLeftEntry?: Mobject;
|
|
17
|
+
/** Whether to include outer lines around the table. Default: true */
|
|
18
|
+
includeOuterLines?: boolean;
|
|
19
|
+
/** Vertical buffer between cells. Default: 0.3 */
|
|
20
|
+
vBuff?: number;
|
|
21
|
+
/** Horizontal buffer between cells. Default: 0.5 */
|
|
22
|
+
hBuff?: number;
|
|
23
|
+
/** Color of the grid lines. Default: WHITE */
|
|
24
|
+
lineColor?: string;
|
|
25
|
+
/** Stroke width of grid lines. Default: 2 */
|
|
26
|
+
lineStrokeWidth?: number;
|
|
27
|
+
/** Whether to arrange entries in rows. Default: true */
|
|
28
|
+
arrangeInRowsFirst?: boolean;
|
|
29
|
+
/** Color for all entries. If set, overrides individual colors */
|
|
30
|
+
entriesColor?: string;
|
|
31
|
+
/** Background color for cells. Default: transparent */
|
|
32
|
+
backgroundStrokeColor?: string;
|
|
33
|
+
/** Background fill opacity. Default: 0 */
|
|
34
|
+
backgroundFillOpacity?: number;
|
|
35
|
+
/** Starting position. Default: ORIGIN */
|
|
36
|
+
position?: Vector3Tuple;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Table - A grid layout of mobjects with optional labels and lines
|
|
40
|
+
*
|
|
41
|
+
* Creates a table with rows and columns of mobjects, with customizable
|
|
42
|
+
* spacing, labels, and grid lines.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* // Create a simple 2x2 table of MathTex
|
|
47
|
+
* const t1 = new MathTex({ latex: '1' });
|
|
48
|
+
* const t2 = new MathTex({ latex: '2' });
|
|
49
|
+
* const t3 = new MathTex({ latex: '3' });
|
|
50
|
+
* const t4 = new MathTex({ latex: '4' });
|
|
51
|
+
* const table = new Table({
|
|
52
|
+
* data: [[t1, t2], [t3, t4]]
|
|
53
|
+
* });
|
|
54
|
+
*
|
|
55
|
+
* // Create a table with row and column labels
|
|
56
|
+
* const table = new Table({
|
|
57
|
+
* data: [[entry1, entry2], [entry3, entry4]],
|
|
58
|
+
* rowLabels: [rowLabel1, rowLabel2],
|
|
59
|
+
* colLabels: [colLabel1, colLabel2]
|
|
60
|
+
* });
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare class Table extends VGroup {
|
|
64
|
+
protected _data: Mobject[][];
|
|
65
|
+
protected _rowLabels: Mobject[];
|
|
66
|
+
protected _colLabels: Mobject[];
|
|
67
|
+
protected _topLeftEntry: Mobject | null;
|
|
68
|
+
protected _includeOuterLines: boolean;
|
|
69
|
+
protected _vBuff: number;
|
|
70
|
+
protected _hBuff: number;
|
|
71
|
+
protected _lineColor: string;
|
|
72
|
+
protected _lineStrokeWidth: number;
|
|
73
|
+
/** Number of rows in the table (excluding labels) */
|
|
74
|
+
protected _numRows: number;
|
|
75
|
+
/** Number of columns in the table (excluding labels) */
|
|
76
|
+
protected _numCols: number;
|
|
77
|
+
/** All entries arranged in the table (includes labels) */
|
|
78
|
+
protected _entries: VGroup;
|
|
79
|
+
/** Horizontal lines */
|
|
80
|
+
protected _horizontalLines: VGroup;
|
|
81
|
+
/** Vertical lines */
|
|
82
|
+
protected _verticalLines: VGroup;
|
|
83
|
+
/** Background rectangles for highlighting */
|
|
84
|
+
protected _backgroundRectangles: Map<string, Rectangle>;
|
|
85
|
+
/** Cell dimensions for each row and column */
|
|
86
|
+
protected _rowHeights: number[];
|
|
87
|
+
protected _colWidths: number[];
|
|
88
|
+
/** Starting positions for rows and columns */
|
|
89
|
+
protected _rowPositions: number[];
|
|
90
|
+
protected _colPositions: number[];
|
|
91
|
+
constructor(options: TableOptions);
|
|
92
|
+
/**
|
|
93
|
+
* Calculate cell dimensions based on entry sizes
|
|
94
|
+
*/
|
|
95
|
+
protected _calculateDimensions(): void;
|
|
96
|
+
/**
|
|
97
|
+
* Get bounds of a mobject
|
|
98
|
+
*/
|
|
99
|
+
protected _getMobjectBounds(mobject: Mobject): {
|
|
100
|
+
width: number;
|
|
101
|
+
height: number;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Arrange entries in the table grid
|
|
105
|
+
*/
|
|
106
|
+
protected _arrangeEntries(): void;
|
|
107
|
+
/**
|
|
108
|
+
* Create grid lines
|
|
109
|
+
*/
|
|
110
|
+
protected _createLines(): void;
|
|
111
|
+
/**
|
|
112
|
+
* Get a specific cell entry by row and column (0-indexed, data only)
|
|
113
|
+
* @param row - Row index (0-based)
|
|
114
|
+
* @param col - Column index (0-based)
|
|
115
|
+
* @returns The mobject at that cell
|
|
116
|
+
*/
|
|
117
|
+
getCell(row: number, col: number): Mobject;
|
|
118
|
+
/**
|
|
119
|
+
* Get a row as a VGroup (0-indexed, data only)
|
|
120
|
+
* @param row - Row index (0-based)
|
|
121
|
+
* @returns VGroup containing all entries in the row
|
|
122
|
+
*/
|
|
123
|
+
getRow(row: number): VGroup;
|
|
124
|
+
/**
|
|
125
|
+
* Get a column as a VGroup (0-indexed, data only)
|
|
126
|
+
* @param col - Column index (0-based)
|
|
127
|
+
* @returns VGroup containing all entries in the column
|
|
128
|
+
*/
|
|
129
|
+
getColumn(col: number): VGroup;
|
|
130
|
+
/**
|
|
131
|
+
* Get all data entries as a VGroup
|
|
132
|
+
* @returns VGroup containing all data entries
|
|
133
|
+
*/
|
|
134
|
+
getEntries(): VGroup;
|
|
135
|
+
/**
|
|
136
|
+
* Get row labels as a VGroup
|
|
137
|
+
*/
|
|
138
|
+
getRowLabels(): VGroup;
|
|
139
|
+
/**
|
|
140
|
+
* Get column labels as a VGroup
|
|
141
|
+
*/
|
|
142
|
+
getColLabels(): VGroup;
|
|
143
|
+
/**
|
|
144
|
+
* Get all horizontal lines
|
|
145
|
+
*/
|
|
146
|
+
getHorizontalLines(): VGroup;
|
|
147
|
+
/**
|
|
148
|
+
* Get all vertical lines
|
|
149
|
+
*/
|
|
150
|
+
getVerticalLines(): VGroup;
|
|
151
|
+
/**
|
|
152
|
+
* Add a highlight rectangle behind a cell
|
|
153
|
+
* @param row - Row index (0-based)
|
|
154
|
+
* @param col - Column index (0-based)
|
|
155
|
+
* @param color - Highlight color. Default: YELLOW
|
|
156
|
+
* @param opacity - Fill opacity. Default: 0.3
|
|
157
|
+
* @returns The created Rectangle for further customization
|
|
158
|
+
*/
|
|
159
|
+
addHighlight(row: number, col: number, color?: string, opacity?: number): Rectangle;
|
|
160
|
+
/**
|
|
161
|
+
* Remove a highlight from a cell
|
|
162
|
+
* @param row - Row index (0-based)
|
|
163
|
+
* @param col - Column index (0-based)
|
|
164
|
+
*/
|
|
165
|
+
removeHighlight(row: number, col: number): this;
|
|
166
|
+
/**
|
|
167
|
+
* Get the number of rows (data only)
|
|
168
|
+
*/
|
|
169
|
+
getNumRows(): number;
|
|
170
|
+
/**
|
|
171
|
+
* Get the number of columns (data only)
|
|
172
|
+
*/
|
|
173
|
+
getNumCols(): number;
|
|
174
|
+
/**
|
|
175
|
+
* Set the color of grid lines
|
|
176
|
+
*/
|
|
177
|
+
setLineColor(color: string): this;
|
|
178
|
+
/**
|
|
179
|
+
* Create a copy of this Table
|
|
180
|
+
*/
|
|
181
|
+
protected _createCopy(): VMobject;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Options for creating a MathTable
|
|
185
|
+
*/
|
|
186
|
+
export interface MathTableOptions extends Omit<TableOptions, 'data' | 'rowLabels' | 'colLabels'> {
|
|
187
|
+
/** 2D array of LaTeX strings */
|
|
188
|
+
data: string[][];
|
|
189
|
+
/** Row labels as LaTeX strings */
|
|
190
|
+
rowLabels?: string[];
|
|
191
|
+
/** Column labels as LaTeX strings */
|
|
192
|
+
colLabels?: string[];
|
|
193
|
+
/** Font size for MathTex entries. Default: 36 */
|
|
194
|
+
fontSize?: number;
|
|
195
|
+
/** Color for all entries. Default: WHITE */
|
|
196
|
+
color?: string;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* MathTable - A table where all entries are LaTeX-rendered MathTex
|
|
200
|
+
*
|
|
201
|
+
* Convenience class for creating tables of mathematical expressions.
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```typescript
|
|
205
|
+
* const table = new MathTable({
|
|
206
|
+
* data: [
|
|
207
|
+
* ['x', 'x^2', 'x^3'],
|
|
208
|
+
* ['1', '1', '1'],
|
|
209
|
+
* ['2', '4', '8'],
|
|
210
|
+
* ['3', '9', '27'],
|
|
211
|
+
* ],
|
|
212
|
+
* colLabels: ['x', 'x^2', 'x^3'],
|
|
213
|
+
* });
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
export declare class MathTable extends Table {
|
|
217
|
+
constructor(options: MathTableOptions);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Options for creating a MobjectTable
|
|
221
|
+
*/
|
|
222
|
+
export interface MobjectTableOptions extends TableOptions {
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* MobjectTable - A table that can contain any type of mobject
|
|
226
|
+
*
|
|
227
|
+
* This is essentially an alias for Table, but with a more descriptive name
|
|
228
|
+
* when you explicitly want to mix different mobject types.
|
|
229
|
+
*
|
|
230
|
+
* @example
|
|
231
|
+
* ```typescript
|
|
232
|
+
* const circle = new Circle();
|
|
233
|
+
* const square = new Square();
|
|
234
|
+
* const text = new Text({ text: 'Hello' });
|
|
235
|
+
*
|
|
236
|
+
* const table = new MobjectTable({
|
|
237
|
+
* data: [[circle, square, text]]
|
|
238
|
+
* });
|
|
239
|
+
* ```
|
|
240
|
+
*/
|
|
241
|
+
export declare class MobjectTable extends Table {
|
|
242
|
+
constructor(options: MobjectTableOptions);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Options for creating an IntegerTable
|
|
246
|
+
*/
|
|
247
|
+
export interface IntegerTableOptions extends Omit<TableOptions, 'data' | 'rowLabels' | 'colLabels'> {
|
|
248
|
+
/** 2D array of integers */
|
|
249
|
+
data: number[][];
|
|
250
|
+
/** Row labels as integers */
|
|
251
|
+
rowLabels?: number[];
|
|
252
|
+
/** Column labels as integers */
|
|
253
|
+
colLabels?: number[];
|
|
254
|
+
/** Font size. Default: 36 */
|
|
255
|
+
fontSize?: number;
|
|
256
|
+
/** Color for all entries. Default: WHITE */
|
|
257
|
+
color?: string;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* IntegerTable - A table of integers
|
|
261
|
+
*
|
|
262
|
+
* Creates a table displaying integer values using DecimalNumber with 0 decimal places.
|
|
263
|
+
*
|
|
264
|
+
* @example
|
|
265
|
+
* ```typescript
|
|
266
|
+
* const table = new IntegerTable({
|
|
267
|
+
* data: [
|
|
268
|
+
* [1, 2, 3],
|
|
269
|
+
* [4, 5, 6],
|
|
270
|
+
* [7, 8, 9],
|
|
271
|
+
* ]
|
|
272
|
+
* });
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
export declare class IntegerTable extends Table {
|
|
276
|
+
constructor(options: IntegerTableOptions);
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Options for creating a DecimalTable
|
|
280
|
+
*/
|
|
281
|
+
export interface DecimalTableOptions extends Omit<TableOptions, 'data' | 'rowLabels' | 'colLabels'> {
|
|
282
|
+
/** 2D array of decimal numbers */
|
|
283
|
+
data: number[][];
|
|
284
|
+
/** Row labels as decimal numbers */
|
|
285
|
+
rowLabels?: number[];
|
|
286
|
+
/** Column labels as decimal numbers */
|
|
287
|
+
colLabels?: number[];
|
|
288
|
+
/** Number of decimal places. Default: 2 */
|
|
289
|
+
numDecimalPlaces?: number;
|
|
290
|
+
/** Font size. Default: 36 */
|
|
291
|
+
fontSize?: number;
|
|
292
|
+
/** Color for all entries. Default: WHITE */
|
|
293
|
+
color?: string;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* DecimalTable - A table of decimal numbers
|
|
297
|
+
*
|
|
298
|
+
* Creates a table displaying decimal values with configurable precision.
|
|
299
|
+
*
|
|
300
|
+
* @example
|
|
301
|
+
* ```typescript
|
|
302
|
+
* const table = new DecimalTable({
|
|
303
|
+
* data: [
|
|
304
|
+
* [1.234, 2.567, 3.891],
|
|
305
|
+
* [4.123, 5.456, 6.789],
|
|
306
|
+
* ],
|
|
307
|
+
* numDecimalPlaces: 2
|
|
308
|
+
* });
|
|
309
|
+
* ```
|
|
310
|
+
*/
|
|
311
|
+
export declare class DecimalTable extends Table {
|
|
312
|
+
constructor(options: DecimalTableOptions);
|
|
313
|
+
}
|
|
314
|
+
export default Table;
|
|
315
|
+
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/mobjects/table/Table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table mobjects for manimweb
|
|
3
|
+
*
|
|
4
|
+
* This module provides table layout capabilities for displaying data in grids,
|
|
5
|
+
* supporting various entry types including text, math, and arbitrary mobjects.
|
|
6
|
+
*/
|
|
7
|
+
export { Table, MathTable, MobjectTable, IntegerTable, DecimalTable, type TableOptions, type MathTableOptions, type MobjectTableOptions, type IntegerTableOptions, type DecimalTableOptions, } from './Table';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobjects/table/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,KAAK,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { VMobject } from '../../core/VMobject';
|
|
2
|
+
import { Vector3Tuple } from '../../core/Mobject';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
/**
|
|
5
|
+
* Token types for syntax highlighting
|
|
6
|
+
*/
|
|
7
|
+
export type TokenType = 'keyword' | 'string' | 'comment' | 'number' | 'function' | 'operator' | 'punctuation' | 'type' | 'default';
|
|
8
|
+
/**
|
|
9
|
+
* A token with its type and text
|
|
10
|
+
*/
|
|
11
|
+
export interface Token {
|
|
12
|
+
type: TokenType;
|
|
13
|
+
text: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Color scheme for syntax highlighting
|
|
17
|
+
*/
|
|
18
|
+
export interface CodeColorScheme {
|
|
19
|
+
keyword: string;
|
|
20
|
+
string: string;
|
|
21
|
+
comment: string;
|
|
22
|
+
number: string;
|
|
23
|
+
function: string;
|
|
24
|
+
operator: string;
|
|
25
|
+
punctuation: string;
|
|
26
|
+
type: string;
|
|
27
|
+
default: string;
|
|
28
|
+
background: string;
|
|
29
|
+
lineNumber: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Default color scheme (VS Code dark theme inspired)
|
|
33
|
+
*/
|
|
34
|
+
export declare const DEFAULT_COLOR_SCHEME: CodeColorScheme;
|
|
35
|
+
/**
|
|
36
|
+
* Monokai color scheme
|
|
37
|
+
*/
|
|
38
|
+
export declare const MONOKAI_COLOR_SCHEME: CodeColorScheme;
|
|
39
|
+
/**
|
|
40
|
+
* Options for creating a Code mobject
|
|
41
|
+
*/
|
|
42
|
+
export interface CodeOptions {
|
|
43
|
+
/** The code string to display */
|
|
44
|
+
code: string;
|
|
45
|
+
/** Programming language for syntax highlighting */
|
|
46
|
+
language?: string;
|
|
47
|
+
/** Whether to show line numbers. Default: true */
|
|
48
|
+
lineNumbers?: boolean;
|
|
49
|
+
/** Tab width in spaces. Default: 4 */
|
|
50
|
+
tabWidth?: number;
|
|
51
|
+
/** Font size in pixels. Default: 24 */
|
|
52
|
+
fontSize?: number;
|
|
53
|
+
/** Font family. Default: 'monospace' */
|
|
54
|
+
fontFamily?: string;
|
|
55
|
+
/** Color scheme for syntax highlighting */
|
|
56
|
+
colorScheme?: CodeColorScheme;
|
|
57
|
+
/** Whether to show background rectangle. Default: true */
|
|
58
|
+
showBackground?: boolean;
|
|
59
|
+
/** Background padding in pixels. Default: 16 */
|
|
60
|
+
backgroundPadding?: number;
|
|
61
|
+
/** Background corner radius in pixels. Default: 8 */
|
|
62
|
+
backgroundRadius?: number;
|
|
63
|
+
/** Line height multiplier. Default: 1.4 */
|
|
64
|
+
lineHeight?: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Code - A syntax-highlighted code block mobject
|
|
68
|
+
*
|
|
69
|
+
* Renders code with syntax highlighting using Canvas 2D to a texture.
|
|
70
|
+
* Supports multiple programming languages with customizable color schemes.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* // Create Python code block
|
|
75
|
+
* const pythonCode = new Code({
|
|
76
|
+
* code: `def hello():
|
|
77
|
+
* print("Hello, World!")`,
|
|
78
|
+
* language: 'python',
|
|
79
|
+
* });
|
|
80
|
+
*
|
|
81
|
+
* // Create TypeScript code without line numbers
|
|
82
|
+
* const tsCode = new Code({
|
|
83
|
+
* code: 'const x: number = 42;',
|
|
84
|
+
* language: 'typescript',
|
|
85
|
+
* lineNumbers: false,
|
|
86
|
+
* });
|
|
87
|
+
*
|
|
88
|
+
* // Use Monokai color scheme
|
|
89
|
+
* const monokaiCode = new Code({
|
|
90
|
+
* code: 'console.log("Hello");',
|
|
91
|
+
* language: 'javascript',
|
|
92
|
+
* colorScheme: MONOKAI_COLOR_SCHEME,
|
|
93
|
+
* });
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export declare class Code extends VMobject {
|
|
97
|
+
protected _code: string;
|
|
98
|
+
protected _language: string;
|
|
99
|
+
protected _lineNumbers: boolean;
|
|
100
|
+
protected _tabWidth: number;
|
|
101
|
+
protected _fontSize: number;
|
|
102
|
+
protected _fontFamily: string;
|
|
103
|
+
protected _colorScheme: CodeColorScheme;
|
|
104
|
+
protected _showBackground: boolean;
|
|
105
|
+
protected _backgroundPadding: number;
|
|
106
|
+
protected _backgroundRadius: number;
|
|
107
|
+
protected _lineHeight: number;
|
|
108
|
+
/** Off-screen canvas for code rendering */
|
|
109
|
+
protected _canvas: HTMLCanvasElement | null;
|
|
110
|
+
protected _ctx: CanvasRenderingContext2D | null;
|
|
111
|
+
/** Three.js texture from canvas */
|
|
112
|
+
protected _texture: THREE.CanvasTexture | null;
|
|
113
|
+
/** Plane mesh for displaying the texture */
|
|
114
|
+
protected _mesh: THREE.Mesh | null;
|
|
115
|
+
/** Background mesh */
|
|
116
|
+
protected _backgroundMesh: THREE.Mesh | null;
|
|
117
|
+
/** Cached dimensions in world units */
|
|
118
|
+
protected _worldWidth: number;
|
|
119
|
+
protected _worldHeight: number;
|
|
120
|
+
/** Parsed lines for later access */
|
|
121
|
+
protected _lines: string[];
|
|
122
|
+
/** Tokenized lines for highlighting specific parts */
|
|
123
|
+
protected _tokenizedLines: Token[][];
|
|
124
|
+
/** Highlight rectangles */
|
|
125
|
+
protected _highlightMeshes: THREE.Mesh[];
|
|
126
|
+
constructor(options: CodeOptions);
|
|
127
|
+
/**
|
|
128
|
+
* Initialize the off-screen canvas
|
|
129
|
+
*/
|
|
130
|
+
protected _initCanvas(): void;
|
|
131
|
+
/**
|
|
132
|
+
* Parse code into lines and tokenize
|
|
133
|
+
*/
|
|
134
|
+
protected _parseCode(): void;
|
|
135
|
+
/**
|
|
136
|
+
* Tokenize a single line of code
|
|
137
|
+
*/
|
|
138
|
+
protected _tokenizeLine(line: string): Token[];
|
|
139
|
+
/**
|
|
140
|
+
* Get the code content
|
|
141
|
+
*/
|
|
142
|
+
getCode(): string;
|
|
143
|
+
/**
|
|
144
|
+
* Set new code and re-render
|
|
145
|
+
* @param code - New code to display
|
|
146
|
+
* @returns this for chaining
|
|
147
|
+
*/
|
|
148
|
+
setCode(code: string): this;
|
|
149
|
+
/**
|
|
150
|
+
* Get the language
|
|
151
|
+
*/
|
|
152
|
+
getLanguage(): string;
|
|
153
|
+
/**
|
|
154
|
+
* Set language and re-render
|
|
155
|
+
* @param language - Programming language
|
|
156
|
+
* @returns this for chaining
|
|
157
|
+
*/
|
|
158
|
+
setLanguage(language: string): this;
|
|
159
|
+
/**
|
|
160
|
+
* Get the number of lines
|
|
161
|
+
*/
|
|
162
|
+
getLineCount(): number;
|
|
163
|
+
/**
|
|
164
|
+
* Get code width in world units
|
|
165
|
+
*/
|
|
166
|
+
getWidth(): number;
|
|
167
|
+
/**
|
|
168
|
+
* Get code height in world units
|
|
169
|
+
*/
|
|
170
|
+
getHeight(): number;
|
|
171
|
+
/**
|
|
172
|
+
* Get a specific line of code as a Text-like mobject representation
|
|
173
|
+
* Returns position info for the specified line
|
|
174
|
+
* @param lineNumber - 1-based line number
|
|
175
|
+
* @returns Object with line info or null if out of range
|
|
176
|
+
*/
|
|
177
|
+
getLineOfCode(lineNumber: number): {
|
|
178
|
+
text: string;
|
|
179
|
+
position: Vector3Tuple;
|
|
180
|
+
tokens: Token[];
|
|
181
|
+
} | null;
|
|
182
|
+
/**
|
|
183
|
+
* Highlight a range of lines with a background color
|
|
184
|
+
* @param startLine - Starting line number (1-based)
|
|
185
|
+
* @param endLine - Ending line number (1-based, inclusive)
|
|
186
|
+
* @param color - Highlight color. Default: semi-transparent yellow
|
|
187
|
+
* @returns this for chaining
|
|
188
|
+
*/
|
|
189
|
+
highlightLines(startLine: number, endLine: number, color?: string): this;
|
|
190
|
+
/**
|
|
191
|
+
* Clear all line highlights
|
|
192
|
+
* @returns this for chaining
|
|
193
|
+
*/
|
|
194
|
+
clearHighlights(): this;
|
|
195
|
+
/**
|
|
196
|
+
* Build the CSS font string
|
|
197
|
+
*/
|
|
198
|
+
protected _buildFontString(): string;
|
|
199
|
+
/**
|
|
200
|
+
* Calculate the width needed for line numbers
|
|
201
|
+
*/
|
|
202
|
+
protected _getLineNumberWidth(): number;
|
|
203
|
+
/**
|
|
204
|
+
* Measure canvas dimensions needed
|
|
205
|
+
*/
|
|
206
|
+
protected _measureCode(): {
|
|
207
|
+
width: number;
|
|
208
|
+
height: number;
|
|
209
|
+
};
|
|
210
|
+
/**
|
|
211
|
+
* Render code to the off-screen canvas
|
|
212
|
+
*/
|
|
213
|
+
protected _renderToCanvas(): void;
|
|
214
|
+
/**
|
|
215
|
+
* Draw a rounded rectangle
|
|
216
|
+
*/
|
|
217
|
+
protected _roundRect(x: number, y: number, width: number, height: number, radius: number): void;
|
|
218
|
+
/**
|
|
219
|
+
* Update the mesh geometry to match new dimensions
|
|
220
|
+
*/
|
|
221
|
+
protected _updateMesh(): void;
|
|
222
|
+
/**
|
|
223
|
+
* Create the Three.js backing object
|
|
224
|
+
*/
|
|
225
|
+
protected _createThreeObject(): THREE.Object3D;
|
|
226
|
+
/**
|
|
227
|
+
* Sync material properties to Three.js
|
|
228
|
+
*/
|
|
229
|
+
protected _syncMaterialToThree(): void;
|
|
230
|
+
/**
|
|
231
|
+
* Get the center of this code mobject
|
|
232
|
+
*/
|
|
233
|
+
getCenter(): Vector3Tuple;
|
|
234
|
+
/**
|
|
235
|
+
* Create a copy of this Code mobject
|
|
236
|
+
*/
|
|
237
|
+
protected _createCopy(): Code;
|
|
238
|
+
/**
|
|
239
|
+
* Clean up Three.js and canvas resources
|
|
240
|
+
*/
|
|
241
|
+
dispose(): void;
|
|
242
|
+
}
|
|
243
|
+
export default Code;
|
|
244
|
+
//# sourceMappingURL=Code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Code.d.ts","sourceRoot":"","sources":["../../../src/mobjects/text/Code.ts"],"names":[],"mappings":"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"}
|