Skip to main content

Class: MarkupText

Defined in: mobjects/text/MarkupText.ts:633

MarkupText - A text mobject with Pango-like XML markup support

Supports rich inline formatting via XML tags modelled after Pango markup (the same format used by Python manim's MarkupText).

Example

// Bold and italic
const text = new MarkupText({
text: '<b>Bold</b> and <i>Italic</i> text'
});

// Colored text with span
const colored = new MarkupText({
text: '<span foreground="red">Red</span> and <span color="#00ff00">Green</span>'
});

// Nested formatting
const nested = new MarkupText({
text: '<b><i>Bold Italic</i></b> with <u>underline</u>'
});

// Complex span attributes
const complex = new MarkupText({
text: '<span font_family="Courier" font_size="24" color="yellow" weight="bold">Custom</span> text'
});

// Superscript and subscript
const math = new MarkupText({
text: 'x<sup>2</sup> + y<sub>i</sub>'
});

// Size variations
const sizes = new MarkupText({
text: '<big>Big</big> Normal <small>Small</small>'
});

// Strikethrough
const strike = new MarkupText({
text: '<s>deleted</s> replaced'
});

Also supports the legacy Markdown-style syntax (bold, italic, code) for backward compatibility when no XML tags are detected.

Extends

Constructors

Constructor

new MarkupText(options): MarkupText

Defined in: mobjects/text/MarkupText.ts:640

Parameters

options

TextOptions

Returns

MarkupText

Overrides

Text.constructor

Properties

__savedMobjectState

__savedMobjectState: unknown = null

Defined in: core/Mobject.ts:82

JSON-serializable saved state (used by restoreState()).

Inherited from

Text.__savedMobjectState


_canvas

protected _canvas: HTMLCanvasElement = null

Defined in: mobjects/text/Text.ts:116

Off-screen canvas for text rendering

Inherited from

Text._canvas


_canvasDirty

protected _canvasDirty: boolean = true

Defined in: mobjects/text/Text.ts:105

Flag to track when canvas content needs re-rendering (text/color/font changes)

Inherited from

Text._canvasDirty


_codeFontFamily

protected _codeFontFamily: string = 'monospace'

Defined in: mobjects/text/MarkupText.ts:638

Code / monospace font family


_color

protected _color: string = '#ffffff'

Defined in: core/Mobject.ts:57

Inherited from

Text._color


_ctx

protected _ctx: CanvasRenderingContext2D = null

Defined in: mobjects/text/Text.ts:117

Inherited from

Text._ctx


_dirty

_dirty: boolean = true

Defined in: core/Mobject.ts:75

Inherited from

Text._dirty


_disableChildZLayering

protected _disableChildZLayering: boolean = false

Defined in: core/Mobject.ts:72

When true, children skip the 2D z-layering offset in _syncToThree.

Inherited from

Text._disableChildZLayering


_fillMaterial

protected _fillMaterial: MeshBasicMaterial = null

Defined in: core/VMobjectRendering.ts:39

Three.js fill material

Inherited from

Text._fillMaterial


_fontFamily

protected _fontFamily: string

Defined in: mobjects/text/Text.ts:101

Inherited from

Text._fontFamily


_fontSize

protected _fontSize: number

Defined in: mobjects/text/Text.ts:100

Inherited from

Text._fontSize


_fontStyle

protected _fontStyle: string

Defined in: mobjects/text/Text.ts:103

Inherited from

Text._fontStyle


_fontUrl?

protected optional _fontUrl: string

Defined in: mobjects/text/Text.ts:111

Optional font URL for glyph vector extraction

Inherited from

Text._fontUrl


_fontWeight

protected _fontWeight: string | number

Defined in: mobjects/text/Text.ts:102

Inherited from

Text._fontWeight


_geometryDirty

protected _geometryDirty: boolean = true

Defined in: core/VMobjectRendering.ts:42

Whether geometry needs rebuild (separate from material dirty)

Inherited from

Text._geometryDirty


_glyphGroup

protected _glyphGroup: TextGlyphGroup = null

Defined in: mobjects/text/Text.ts:113

Cached glyph group (created lazily by loadGlyphs)

Inherited from

Text._glyphGroup


_letterSpacing

protected _letterSpacing: number

Defined in: mobjects/text/Text.ts:107

Inherited from

Text._letterSpacing


_lineHeight

protected _lineHeight: number

Defined in: mobjects/text/Text.ts:106

Inherited from

Text._lineHeight


_mesh

protected _mesh: Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material | Material[], Object3DEventMap> = null

Defined in: mobjects/text/Text.ts:123

Plane mesh for displaying the texture

Inherited from

Text._mesh


_opacity

protected _opacity: number = 1

Defined in: core/Mobject.ts:68

Inherited from

Text._opacity


_points3D

protected _points3D: number[][] = []

Defined in: core/VMobject.ts:38

Array of cubic Bezier control points in 3D. Each point is [x, y, z]. Stored as: [anchor1, handle1, handle2, anchor2, handle3, handle4, anchor3, ...]

Inherited from

Text._points3D


_sceneFrameWidth

_sceneFrameWidth: number = null

Defined in: core/VMobjectRendering.ts:78

Inherited from

Text._sceneFrameWidth


_sceneRendererHeight

_sceneRendererHeight: number = null

Defined in: core/VMobjectRendering.ts:77

Inherited from

Text._sceneRendererHeight


_sceneRendererWidth

_sceneRendererWidth: number = null

Defined in: core/VMobjectRendering.ts:76

Per-instance renderer context (set by Scene when VMobject is added). When non-null these override the class-level statics so that multiple Scene instances do not corrupt each other's stroke-width calculations.

Inherited from

Text._sceneRendererWidth


_strokeMaterial

protected _strokeMaterial: LineMaterial = null

Defined in: core/VMobjectRendering.ts:36

Three.js stroke material (Line2 LineMaterial for thick strokes)

Inherited from

Text._strokeMaterial


_style

protected _style: MobjectStyle

Defined in: core/Mobject.ts:73

Inherited from

Text._style


_styledSegments

protected _styledSegments: StyledTextSegment[] = []

Defined in: mobjects/text/MarkupText.ts:635

Parsed styled text segments


_text

protected _text: string

Defined in: mobjects/text/Text.ts:99

Inherited from

Text._text


_textAlign

protected _textAlign: "center" | "left" | "right"

Defined in: mobjects/text/Text.ts:108

Inherited from

Text._textAlign


_texture

protected _texture: CanvasTexture<HTMLCanvasElement> = null

Defined in: mobjects/text/Text.ts:120

Three.js texture from canvas

Inherited from

Text._texture


_threeObject

_threeObject: Object3D<Object3DEventMap> = null

Defined in: core/Mobject.ts:74

Inherited from

Text._threeObject


_visiblePointCount

protected _visiblePointCount: number = null

Defined in: core/VMobject.ts:41

Number of points visible (for Create animation)

Inherited from

Text._visiblePointCount


_worldHeight

protected _worldHeight: number = 0

Defined in: mobjects/text/Text.ts:127

Inherited from

Text._worldHeight


_worldWidth

protected _worldWidth: number = 0

Defined in: mobjects/text/Text.ts:126

Cached dimensions in world units

Inherited from

Text._worldWidth


children

children: Mobject[] = []

Defined in: core/Mobject.ts:52

Inherited from

Text.children


createdAtBeginning

createdAtBeginning: boolean = false

Defined in: core/Mobject.ts:56

Inherited from

Text.createdAtBeginning


fillOpacity

fillOpacity: number = 0

Defined in: core/Mobject.ts:70

Inherited from

Text.fillOpacity


id

readonly id: string

Defined in: core/Mobject.ts:50

Inherited from

Text.id


parent

parent: Mobject = null

Defined in: core/Mobject.ts:51

Inherited from

Text.parent


position

position: Vector3

Defined in: core/Mobject.ts:53

Inherited from

Text.position


rotation

rotation: Euler

Defined in: core/Mobject.ts:54

Inherited from

Text.rotation


savedState

savedState: Mobject = null

Defined in: core/Mobject.ts:78

Saved mobject copy (used by Restore animation). Set by saveState().

Inherited from

Text.savedState


scaleVector

scaleVector: Vector3

Defined in: core/Mobject.ts:55

Inherited from

Text.scaleVector


strokeWidth

strokeWidth: number = 4

Defined in: core/Mobject.ts:69

Inherited from

Text.strokeWidth


targetCopy

targetCopy: Mobject = null

Defined in: core/Mobject.ts:80

Target copy used by generateTarget() / MoveToTarget animation.

Inherited from

Text.targetCopy


useStrokeMesh

useStrokeMesh: boolean = false

Defined in: core/VMobjectRendering.ts:146

When true, render stroke as a mesh ring with miter-joined corners instead of Line2 for closed paths.

Inherited from

Text.useStrokeMesh


_frameWidth

static _frameWidth: number = 14

Defined in: core/VMobjectRendering.ts:69

Camera frame width in world units (set by Scene, for stroke width conversion)

Inherited from

Text._frameWidth


_rendererHeight

static _rendererHeight: number = 450

Defined in: core/VMobjectRendering.ts:66

Inherited from

Text._rendererHeight


_rendererWidth

static _rendererWidth: number = 800

Defined in: core/VMobjectRendering.ts:65

Renderer resolution for LineMaterial (set by Scene)

Inherited from

Text._rendererWidth


useShaderCurves

static useShaderCurves: boolean = false

Defined in: core/VMobjectRendering.ts:131

When true, VMobjects use GPU Bezier SDF shaders for stroke rendering instead of the default Line2/LineMaterial approach.

Inherited from

Text.useShaderCurves

Accessors

color

Get Signature

get color(): string

Defined in: core/Mobject.ts:58

Returns

string

Set Signature

set color(value): void

Defined in: core/Mobject.ts:61

Parameters
value

string

Returns

void

Inherited from

Text.color


fillColor

Get Signature

get fillColor(): string

Defined in: core/Mobject.ts:171

Returns

string

Set Signature

set fillColor(color): void

Defined in: core/Mobject.ts:175

Parameters
color

string

Returns

void

Inherited from

Text.fillColor


isDirty

Get Signature

get isDirty(): boolean

Defined in: core/Mobject.ts:448

Returns

boolean

Inherited from

Text.isDirty


numPoints

Get Signature

get numPoints(): number

Defined in: core/VMobject.ts:108

Get the number of points

Returns

number

Inherited from

Text.numPoints


opacity

Get Signature

get opacity(): number

Defined in: core/Mobject.ts:101

Returns

number

Set Signature

set opacity(value): void

Defined in: core/Mobject.ts:105

Parameters
value

number

Returns

void

Inherited from

Text.opacity


points

Get Signature

get points(): Point[]

Defined in: core/VMobject.ts:58

Get all points as 2D Point objects (derived from _points3D)

Returns

Point[]

Inherited from

Text.points


shaderCurves

Get Signature

get shaderCurves(): boolean

Defined in: core/VMobjectRendering.ts:168

Check whether this instance should use shader-based Bezier curve rendering.

Returns

boolean

Set Signature

set shaderCurves(value): void

Defined in: core/VMobjectRendering.ts:173

Enable or disable shader-based Bezier rendering for this instance.

Parameters
value

boolean

Returns

void

Inherited from

Text.shaderCurves


style

Get Signature

get style(): MobjectStyle

Defined in: core/Mobject.ts:109

Returns

MobjectStyle

Inherited from

Text.style


submobjects

Get Signature

get submobjects(): Mobject[]

Defined in: core/Mobject.ts:123

Returns

Mobject[]

Inherited from

Text.submobjects


visiblePointCount

Get Signature

get visiblePointCount(): number

Defined in: core/VMobject.ts:115

Get the number of visible points (for Create animation)

Returns

number

Set Signature

set visiblePointCount(count): void

Defined in: core/VMobject.ts:122

Set the number of visible points (for Create animation)

Parameters
count

number

Returns

void

Inherited from

Text.visiblePointCount

Methods

_buildEarcutFillGeometry()

protected _buildEarcutFillGeometry(points3D): BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>

Defined in: core/VMobjectRendering.ts:204

Parameters

points3D

number[][]

Returns

BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>

Inherited from

Text._buildEarcutFillGeometry


_buildFontString()

protected _buildFontString(): string

Defined in: mobjects/text/Text.ts:257

Build the CSS font string

Returns

string

Inherited from

Text._buildFontString


_buildStyledFontString()

protected _buildStyledFontString(seg): string

Defined in: mobjects/text/MarkupText.ts:842

Build a CSS font string for a styled segment.

Parameters

seg

StyledTextSegment

Returns

string


_createCopy()

protected _createCopy(): MarkupText

Defined in: mobjects/text/MarkupText.ts:1092

Create a copy of this Text mobject

Returns

MarkupText

Overrides

Text._createCopy


_createThreeObject()

protected _createThreeObject(): Object3D

Defined in: mobjects/text/Text.ts:439

Create the Three.js backing object

Returns

Object3D

Inherited from

Text._createThreeObject


_disposeRenderingResources()

protected _disposeRenderingResources(): void

Defined in: core/VMobjectRendering.ts:613

Returns

void

Inherited from

Text._disposeRenderingResources


_drawTextWithLetterSpacing()

protected _drawTextWithLetterSpacing(text, startX, y, _fontSize): void

Defined in: mobjects/text/Text.ts:378

Draw text with custom letter spacing

Parameters

text

string

startX

number

y

number

_fontSize

number

Returns

void

Inherited from

Text._drawTextWithLetterSpacing


_getBoundingBox()

_getBoundingBox(): object

Defined in: core/Mobject.ts:367

Returns

object

depth

depth: number

height

height: number

width

width: number

Deprecated

Use getBoundingBox() instead.

Inherited from

Text._getBoundingBox


_getEdgeInDirection()

_getEdgeInDirection(direction): Vector3Tuple

Defined in: core/Mobject.ts:360

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

Text._getEdgeInDirection


_getPlainText()

protected _getPlainText(): string

Defined in: mobjects/text/MarkupText.ts:861

Get plain text without markup for compatibility

Returns

string


_initCanvas()

protected _initCanvas(): void

Defined in: mobjects/text/Text.ts:169

Initialize the off-screen canvas

Returns

void

Inherited from

Text._initCanvas


_interpolatePointList3D()

protected _interpolatePointList3D(points, targetCount): number[][]

Defined in: core/VMobject.ts:448

Interpolate a 3D point list to have a specific number of points.

Parameters

points

number[][]

targetCount

number

Returns

number[][]

Inherited from

Text._interpolatePointList3D


_markDirty()

_markDirty(): void

Defined in: core/Mobject.ts:438

Returns

void

Inherited from

Text._markDirty


_markDirtyUpward()

_markDirtyUpward(): void

Defined in: core/Mobject.ts:442

Returns

void

Inherited from

Text._markDirtyUpward


_maxFontSizeInLine()

protected _maxFontSizeInLine(segments): number

Defined in: mobjects/text/MarkupText.ts:906

Get the maximum effective font size in a line (for line height calculation).

Parameters

segments

StyledTextSegment[]

Returns

number


_measureStyledLineWidth()

protected _measureStyledLineWidth(segments): number

Defined in: mobjects/text/MarkupText.ts:891

Measure the pixel width of a line of styled segments (after RESOLUTION_SCALE).

Parameters

segments

StyledTextSegment[]

Returns

number


_measureText()

protected _measureText(): object

Defined in: mobjects/text/MarkupText.ts:919

Split text into lines and measure dimensions

Returns

object

Object with lines array and canvas dimensions

height

height: number

lines

lines: string[]

width

width: number

Overrides

Text._measureText


_parseLegacyMarkup()

protected _parseLegacyMarkup(text): void

Defined in: mobjects/text/MarkupText.ts:743

Legacy Markdown-style parsing (bold, italic, code) for backward compatibility.

Parameters

text

string

Returns

void


_parseMarkup()

protected _parseMarkup(): void

Defined in: mobjects/text/MarkupText.ts:697

Parse the markup text into styled segments.

If the text contains Pango-like XML tags, use the XML parser. Otherwise fall back to legacy Markdown-style parsing for backward compat.

Returns

void


_parsePangoMarkup()

protected _parsePangoMarkup(text): void

Defined in: mobjects/text/MarkupText.ts:715

Parse Pango-like XML markup

Parameters

text

string

Returns

void


_pointsToCurvePath()

protected _pointsToCurvePath(): CurvePath<Vector3>

Defined in: core/VMobjectRendering.ts:200

Returns

CurvePath<Vector3>

Inherited from

Text._pointsToCurvePath


_pointsToShape()

protected _pointsToShape(): Shape

Defined in: core/VMobjectRendering.ts:196

Returns

Shape

Inherited from

Text._pointsToShape


_renderToCanvas()

protected _renderToCanvas(): void

Defined in: mobjects/text/MarkupText.ts:958

Render text to the off-screen canvas

Returns

void

Overrides

Text._renderToCanvas


_resolveSegmentFontSize()

protected _resolveSegmentFontSize(seg): number

Defined in: mobjects/text/MarkupText.ts:834

Resolve a styled segment's effective font size (in CSS pixels, before RESOLUTION_SCALE).

Parameters

seg

StyledTextSegment

Returns

number


_setSceneContext()

_setSceneContext(rendererWidth, rendererHeight, frameWidth): void

Defined in: core/VMobjectRendering.ts:109

Set per-instance scene context for multi-scene support. Called by Scene when a VMobject is added or the scene is resized.

Parameters

rendererWidth

number

rendererHeight

number

frameWidth

number

Returns

void

Inherited from

Text._setSceneContext


_splitStyledSegmentsByLine()

protected _splitStyledSegmentsByLine(): StyledTextSegment[][]

Defined in: mobjects/text/MarkupText.ts:868

Split styled segments by newlines into lines of segments.

Returns

StyledTextSegment[][]


_syncMaterialToThree()

protected _syncMaterialToThree(): void

Defined in: mobjects/text/Text.ts:477

Sync material properties to Three.js

Returns

void

Inherited from

Text._syncMaterialToThree


_syncToThree()

_syncToThree(): void

Defined in: core/Mobject.ts:416

Returns

void

Inherited from

Text._syncToThree


_updateGeometry()

protected _updateGeometry(group): void

Defined in: core/VMobjectRendering.ts:245

Update the geometry within the Three.js group.

Parameters

group

Group

Returns

void

Inherited from

Text._updateGeometry


_updateMesh()

protected _updateMesh(): void

Defined in: mobjects/text/Text.ts:425

Update the mesh geometry to match new dimensions

Returns

void

Inherited from

Text._updateMesh


add()

add(...mobjects): this

Defined in: core/Mobject.ts:247

Parameters

mobjects

...Mobject[]

Returns

this

Inherited from

Text.add


addPoints()

addPoints(...points): this

Defined in: core/VMobject.ts:168

Add points to this VMobject using 2D Point objects

Parameters

points

...Point[]

Returns

this

Inherited from

Text.addPoints


addPointsAsCorners()

addPointsAsCorners(corners): this

Defined in: core/VMobject.ts:223

Add straight line segments from the last point to each corner. Each corner creates a new cubic Bezier segment with linear handles. Matches Manim's add_points_as_corners.

Parameters

corners

number[][]

Array of [x, y, z] corner points to connect to

Returns

this

this for chaining

Inherited from

Text.addPointsAsCorners


addUpdater()

addUpdater(updater, callOnAdd): this

Defined in: core/Mobject.ts:474

Parameters

updater

UpdaterFunction

callOnAdd

boolean = false

Returns

this

Inherited from

Text.addUpdater


alignPoints()

alignPoints(target): void

Defined in: core/VMobject.ts:322

Align points between this VMobject and a target so they have the same count, consistent winding, and optimal rotation for smooth morphing.

Parameters

target

VMobject

The target VMobject to align with

Returns

void

Inherited from

Text.alignPoints


alignTo()

alignTo(target, direction): this

Defined in: core/Mobject.ts:345

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple

Returns

this

Inherited from

Text.alignTo


applyFunction()

applyFunction(fn): this

Defined in: core/Mobject.ts:504

Parameters

fn

(point) => number[]

Returns

this

Inherited from

Text.applyFunction


applyToFamily()

applyToFamily(func): this

Defined in: core/Mobject.ts:462

Parameters

func

(mobject) => void

Returns

this

Inherited from

Text.applyToFamily


become()

become(other): this

Defined in: core/Mobject.ts:294

Parameters

other

Mobject

Returns

this

Inherited from

Text.become


center()

center(): this

Defined in: core/Mobject.ts:397

Returns

this

Inherited from

Text.center


clearPoints()

clearPoints(): this

Defined in: core/VMobject.ts:257

Clear all points

Returns

this

Inherited from

Text.clearPoints


clearUpdaters()

clearUpdaters(): this

Defined in: core/Mobject.ts:486

Returns

this

Inherited from

Text.clearUpdaters


copy()

copy(): VMobject

Defined in: core/VMobject.ts:496

Create a copy of this VMobject. Subclasses override _createCopy() to produce an instance of the right concrete type (Circle, Square, etc.), but those constructors typically regenerate points from their own parameters (radius, sideLength, ...). After a Transform animation has morphed the point data, the regenerated points no longer match the actual visual state. We therefore always overwrite the clone's _points3D with the source's current data.

Returns

VMobject

Inherited from

Text.copy


dispose()

dispose(): void

Defined in: mobjects/text/Text.ts:572

Clean up Three.js and canvas resources

Returns

void

Inherited from

Text.dispose


flip()

flip(axis): this

Defined in: core/Mobject.ts:225

Parameters

axis

Vector3Tuple = ...

Returns

this

Inherited from

Text.flip


generateTarget()

generateTarget(): Mobject

Defined in: core/Mobject.ts:516

Returns

Mobject

Inherited from

Text.generateTarget


getBottom()

getBottom(): Vector3Tuple

Defined in: core/Mobject.ts:376

Returns

Vector3Tuple

Inherited from

Text.getBottom


getBoundingBox()

getBoundingBox(): object

Defined in: core/Mobject.ts:363

Returns

object

depth

depth: number

height

height: number

width

width: number

Inherited from

Text.getBoundingBox


getBounds()

getBounds(): object

Defined in: core/Mobject.ts:310

Returns

object

max

max: object

max.x

x: number

max.y

y: number

max.z

z: number

min

min: object

min.x

x: number

min.y

y: number

min.z

z: number

Inherited from

Text.getBounds


getCenter()

getCenter(): Vector3Tuple

Defined in: mobjects/text/Text.ts:545

Get the center of this text mobject

Returns

Vector3Tuple

Inherited from

Text.getCenter


getCodeFontFamily()

getCodeFontFamily(): string

Defined in: mobjects/text/MarkupText.ts:662

Get the code font family

Returns

string


getEdge()

getEdge(direction): Vector3Tuple

Defined in: core/Mobject.ts:370

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

Text.getEdge


getFamily()

getFamily(): Mobject[]

Defined in: core/Mobject.ts:468

Returns

Mobject[]

Inherited from

Text.getFamily


getFontFamily()

getFontFamily(): string

Defined in: mobjects/text/Text.ts:222

Get the current font family

Returns

string

Inherited from

Text.getFontFamily


getFontSize()

getFontSize(): number

Defined in: mobjects/text/Text.ts:201

Get the current font size

Returns

number

Inherited from

Text.getFontSize


getGlyphGroup()

getGlyphGroup(): TextGlyphGroup

Defined in: mobjects/text/Text.ts:494

Get the cached TextGlyphGroup (null until loadGlyphs() resolves).

Returns

TextGlyphGroup

Inherited from

Text.getGlyphGroup


getHeight()

getHeight(): number

Defined in: mobjects/text/Text.ts:250

Get text height in world units

Returns

number

Inherited from

Text.getHeight


getLeft()

getLeft(): Vector3Tuple

Defined in: core/Mobject.ts:379

Returns

Vector3Tuple

Inherited from

Text.getLeft


getPoints()

getPoints(): number[][]

Defined in: core/VMobject.ts:101

Get all points defining this VMobject as 3D arrays

Returns

number[][]

Copy of the points array

Inherited from

Text.getPoints


getRight()

getRight(): Vector3Tuple

Defined in: core/Mobject.ts:382

Returns

Vector3Tuple

Inherited from

Text.getRight


getStyledSegments()

getStyledSegments(): readonly StyledTextSegment[]

Defined in: mobjects/text/MarkupText.ts:683

Get the parsed styled segments (useful for inspection / testing)

Returns

readonly StyledTextSegment[]


getText()

getText(): string

Defined in: mobjects/text/Text.ts:180

Get the current text content

Returns

string

Inherited from

Text.getText


getTextureMesh()

getTextureMesh(): Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material | Material[], Object3DEventMap>

Defined in: mobjects/text/Text.ts:538

Get the texture mesh (for animation cross-fade access).

Returns

Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material | Material[], Object3DEventMap>

Inherited from

Text.getTextureMesh


getThreeObject()

getThreeObject(): Object3D

Defined in: core/Mobject.ts:452

Returns

Object3D

Inherited from

Text.getThreeObject


getTop()

getTop(): Vector3Tuple

Defined in: core/Mobject.ts:373

Returns

Vector3Tuple

Inherited from

Text.getTop


getUnitVector()

getUnitVector(): Vector3Tuple

Defined in: core/VMobject.ts:524

Get the unit vector from the first to the last point of this VMobject, accounting for the object's current rotation transform.

Returns

Vector3Tuple

Inherited from

Text.getUnitVector


getUpdaters()

getUpdaters(): UpdaterFunction[]

Defined in: core/Mobject.ts:493

Returns

UpdaterFunction[]

Inherited from

Text.getUpdaters


getVisiblePointCount()

getVisiblePointCount(): number

Defined in: core/VMobject.ts:157

Get the visible point count (null means all points visible).

Returns

number

Inherited from

Text.getVisiblePointCount


getVisiblePoints()

getVisiblePoints(): Point[]

Defined in: core/VMobject.ts:131

Get points that should be visible (for rendering) as 2D Points

Returns

Point[]

Inherited from

Text.getVisiblePoints


getVisiblePoints3D()

getVisiblePoints3D(): number[][]

Defined in: core/VMobject.ts:139

Get points that should be visible (for rendering) as 3D arrays

Returns

number[][]

Inherited from

Text.getVisiblePoints3D


getWidth()

getWidth(): number

Defined in: mobjects/text/Text.ts:243

Get text width in world units

Returns

number

Inherited from

Text.getWidth


hasUpdaters()

hasUpdaters(): boolean

Defined in: core/Mobject.ts:490

Returns

boolean

Inherited from

Text.hasUpdaters


interpolate()

interpolate(target, alpha): this

Defined in: core/VMobject.ts:275

Interpolate this VMobject towards a target VMobject

Parameters

target

VMobject

The target VMobject to interpolate towards

alpha

number

Progress from 0 (this) to 1 (target)

Returns

this

this for chaining

Inherited from

Text.interpolate


loadGlyphs()

loadGlyphs(options?): Promise<TextGlyphGroup>

Defined in: mobjects/text/Text.ts:507

Lazily create a TextGlyphGroup from the font file at _fontUrl. Returns null if no fontUrl was provided.

Parameters

options?
skeletonOptions?

SkeletonizeOptions

Fine-tuning options for the skeletonization algorithm (grid resolution, smoothing, etc.).

useSkeletonStroke?

boolean

When true, each glyph computes its skeleton (medial axis) for center-line stroke animation. Default: false.

Returns

Promise<TextGlyphGroup>

Inherited from

Text.loadGlyphs


markGeometryDirty()

markGeometryDirty(): void

Defined in: core/VMobjectRendering.ts:180

Mark geometry as needing rebuild on next render.

Returns

void

Inherited from

Text.markGeometryDirty


moveTo()

moveTo(target, alignedEdge?): this

Defined in: core/Mobject.ts:192

Parameters

target

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Inherited from

Text.moveTo


moveToAligned()

moveToAligned(target, alignedEdge?): this

Defined in: core/Mobject.ts:355

Parameters

target

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Inherited from

Text.moveToAligned


nextTo()

nextTo(target, direction, buff): this

Defined in: core/Mobject.ts:328

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple = RIGHT

buff

number = 0.25

Returns

this

Inherited from

Text.nextTo


prepareForNonlinearTransform()

prepareForNonlinearTransform(numPieces): this

Defined in: core/Mobject.ts:509

Parameters

numPieces

number = 50

Returns

this

Inherited from

Text.prepareForNonlinearTransform


remove()

remove(...mobjects): this

Defined in: core/Mobject.ts:260

Parameters

mobjects

...Mobject[]

Returns

this

Inherited from

Text.remove


removeUpdater()

removeUpdater(updater): this

Defined in: core/Mobject.ts:480

Parameters

updater

UpdaterFunction

Returns

this

Inherited from

Text.removeUpdater


replace()

replace(target, stretch): this

Defined in: core/Mobject.ts:299

Parameters

target

Mobject

stretch

boolean = false

Returns

this

Inherited from

Text.replace


restoreState()

restoreState(): boolean

Defined in: core/Mobject.ts:526

Returns

boolean

Inherited from

Text.restoreState


rotate()

rotate(angle, axisOrOptions?): this

Defined in: core/Mobject.ts:213

Rotate the mobject around an axis. Delegates to rotateMobject for the heavy lifting.

Parameters

angle

number

axisOrOptions?

Vector3Tuple | { aboutPoint?: Vector3Tuple; axis?: Vector3Tuple; }

Returns

this

Inherited from

Text.rotate


rotateAboutOrigin()

rotateAboutOrigin(angle, axis): this

Defined in: core/Mobject.ts:221

Parameters

angle

number

axis

Vector3Tuple = ...

Returns

this

Inherited from

Text.rotateAboutOrigin


saveState()

saveState(): this

Defined in: core/Mobject.ts:521

Returns

this

Inherited from

Text.saveState


scale()

scale(factor): this

Defined in: core/Mobject.ts:233

Parameters

factor

number | Vector3Tuple

Returns

this

Inherited from

Text.scale


setCodeFontFamily()

setCodeFontFamily(family): this

Defined in: mobjects/text/MarkupText.ts:671

Set the code font family

Parameters

family

string

CSS font family for code / tt text

Returns

this

this for chaining


setColor()

setColor(color): this

Defined in: core/Mobject.ts:127

Parameters

color

string

Returns

this

Inherited from

Text.setColor


setFill()

setFill(color?, opacity?): this

Defined in: core/Mobject.ts:165

Parameters

color?

string

opacity?

number

Returns

this

Inherited from

Text.setFill


setFillOpacity()

setFillOpacity(opacity): this

Defined in: core/Mobject.ts:155

Parameters

opacity

number

Returns

this

Inherited from

Text.setFillOpacity


setFontFamily()

setFontFamily(family): this

Defined in: mobjects/text/Text.ts:231

Set font family and re-render

Parameters

family

string

CSS font family string

Returns

this

this for chaining

Inherited from

Text.setFontFamily


setFontSize()

setFontSize(size): this

Defined in: mobjects/text/Text.ts:210

Set font size and re-render

Parameters

size

number

Font size in pixels

Returns

this

this for chaining

Inherited from

Text.setFontSize


setOpacity()

setOpacity(opacity): this

Defined in: core/Mobject.ts:135

Parameters

opacity

number

Returns

this

Inherited from

Text.setOpacity


setPoints()

setPoints(points): this

Defined in: core/VMobject.ts:68

Set the points defining this VMobject. Accepts either Point[] ({x, y} objects) or number[][] ([x, y, z] arrays).

Parameters

points

Array of points in either format

number[][] | Point[]

Returns

this

this for chaining

Inherited from

Text.setPoints


setPoints3D()

setPoints3D(points): this

Defined in: core/VMobject.ts:93

Set the points defining this VMobject using 3D arrays (alias for setPoints with number[][])

Parameters

points

number[][]

Array of [x, y, z] control points for cubic Bezier curves

Returns

this

this for chaining

Inherited from

Text.setPoints3D


setPointsAsCorners()

setPointsAsCorners(corners): this

Defined in: core/VMobject.ts:182

Set the points to form straight line segments between corner points. Each pair of consecutive corners becomes a cubic Bezier with linear handles. Matches Manim's set_points_as_corners.

Parameters

corners

number[][]

Array of [x, y, z] corner points

Returns

this

this for chaining

Inherited from

Text.setPointsAsCorners


setStrokeWidth()

setStrokeWidth(width): this

Defined in: core/Mobject.ts:145

Parameters

width

number

Returns

this

Inherited from

Text.setStrokeWidth


setStyle()

setStyle(style): this

Defined in: core/Mobject.ts:113

Parameters

style

Partial<MobjectStyle>

Returns

this

Inherited from

Text.setStyle


setText()

setText(text): this

Defined in: mobjects/text/MarkupText.ts:650

Set new text content and re-parse markup

Parameters

text

string

Returns

this

Overrides

Text.setText


setVisiblePointCount()

setVisiblePointCount(count): void

Defined in: core/VMobject.ts:148

Set visible point count for progressive creation animations. Use null to show all points.

Parameters

count

number

Returns

void

Inherited from

Text.setVisiblePointCount


setX()

setX(x): this

Defined in: core/Mobject.ts:385

Parameters

x

number

Returns

this

Inherited from

Text.setX


setY()

setY(y): this

Defined in: core/Mobject.ts:389

Parameters

y

number

Returns

this

Inherited from

Text.setY


setZ()

setZ(z): this

Defined in: core/Mobject.ts:393

Parameters

z

number

Returns

this

Inherited from

Text.setZ


shift()

shift(delta): this

Defined in: core/Mobject.ts:184

Parameters

delta

Vector3Tuple

Returns

this

Inherited from

Text.shift


toCorner()

toCorner(direction, buff, frameDimensions?): this

Defined in: core/Mobject.ts:406

Parameters

direction

Vector3Tuple = ...

buff

number = 0.5

frameDimensions?

[number, number]

Returns

this

Inherited from

Text.toCorner


toEdge()

toEdge(direction, buff, frameDimensions?): this

Defined in: core/Mobject.ts:401

Parameters

direction

Vector3Tuple

buff

number = 0.5

frameDimensions?

[number, number]

Returns

this

Inherited from

Text.toEdge


update()

update(dt): void

Defined in: core/Mobject.ts:497

Parameters

dt

number

Returns

void

Inherited from

Text.update


_toLinewidth()

static _toLinewidth(this, strokeWidth): number

Defined in: core/VMobjectRendering.ts:123

Convert Manim-compatible strokeWidth to LineMaterial linewidth in pixels. Python Manim uses cairo_line_width_multiple=0.01, so: linewidth_px = strokeWidth * 0.01 * (rendererWidth / frameWidth)

NOTE: This static method uses class-level statics. For multi-scene correctness, internal code should use the instance method _computeLinewidth().

Parameters

this

typeof VMobjectRendering

strokeWidth

number

Returns

number

Inherited from

Text._toLinewidth