Skip to main content

Class: Text

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

Extends

  • TexturedMobject

Extended by

Constructors

Constructor

new Text(options): Text

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

Parameters

options

TextOptions

Returns

Text

Overrides

TexturedMobject.constructor

Properties

__savedMobjectState

__savedMobjectState: unknown = null

Defined in: core/Mobject.ts:95

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

Inherited from

TexturedMobject.__savedMobjectState


_canvas

protected _canvas: HTMLCanvasElement = null

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

Off-screen canvas for text rendering


_canvasDirty

protected _canvasDirty: boolean = true

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

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


_color

protected _color: string = '#ffffff'

Defined in: core/Mobject.ts:70

Inherited from

TexturedMobject._color


_ctx

protected _ctx: CanvasRenderingContext2D = null

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


_dirty

_dirty: boolean = true

Defined in: core/Mobject.ts:88

Inherited from

TexturedMobject._dirty


_disableChildZLayering

protected _disableChildZLayering: boolean = false

Defined in: core/Mobject.ts:85

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

Inherited from

TexturedMobject._disableChildZLayering


_fontFamily

protected _fontFamily: string

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


_fontSize

protected _fontSize: number

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


_fontStyle

protected _fontStyle: string

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


_fontUrl?

protected optional _fontUrl: string

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

Optional font URL for glyph vector extraction


_fontWeight

protected _fontWeight: string | number

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


_glyphGroup

protected _glyphGroup: TextGlyphGroup = null

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

Cached glyph group (created lazily by loadGlyphs)


_letterSpacing

protected _letterSpacing: number

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


_lineHeight

protected _lineHeight: number

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


_mesh

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

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

Plane mesh for displaying the texture


_opacity

protected _opacity: number = 1

Defined in: core/Mobject.ts:81

Inherited from

TexturedMobject._opacity


_style

protected _style: MobjectStyle

Defined in: core/Mobject.ts:86

Inherited from

TexturedMobject._style


_text

protected _text: string

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


_textAlign

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

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


_texture

protected _texture: Texture<unknown, TextureEventMap> = null

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

Three.js texture from canvas


_threeObject

_threeObject: Object3D<Object3DEventMap> = null

Defined in: core/Mobject.ts:87

Inherited from

TexturedMobject._threeObject


_worldHeight

protected _worldHeight: number = 0

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


_worldWidth

protected _worldWidth: number = 0

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

Cached dimensions in world units


children

children: Mobject[] = []

Defined in: core/Mobject.ts:65

Inherited from

TexturedMobject.children


createdAtBeginning

createdAtBeginning: boolean = false

Defined in: core/Mobject.ts:69

Inherited from

TexturedMobject.createdAtBeginning


fillOpacity

fillOpacity: number = 0

Defined in: core/Mobject.ts:83

Inherited from

TexturedMobject.fillOpacity


id

readonly id: string

Defined in: core/Mobject.ts:63

Inherited from

TexturedMobject.id


parent

parent: Mobject = null

Defined in: core/Mobject.ts:64

Inherited from

TexturedMobject.parent


position

position: Vector3

Defined in: core/Mobject.ts:66

Inherited from

TexturedMobject.position


rotation

rotation: Euler

Defined in: core/Mobject.ts:67

Inherited from

TexturedMobject.rotation


savedState

savedState: Mobject = null

Defined in: core/Mobject.ts:91

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

Inherited from

TexturedMobject.savedState


scaleVector

scaleVector: Vector3

Defined in: core/Mobject.ts:68

Inherited from

TexturedMobject.scaleVector


strokeWidth

strokeWidth: number = 4

Defined in: core/Mobject.ts:82

Inherited from

TexturedMobject.strokeWidth


targetCopy

targetCopy: Mobject = null

Defined in: core/Mobject.ts:93

Target copy used by generateTarget() / MoveToTarget animation.

Inherited from

TexturedMobject.targetCopy

Accessors

animate

Get Signature

get animate(): any

Defined in: core/Mobject.ts:497

Returns an AnimateProxy that records method calls. Pass the proxy to scene.play() to animate from the current state to the state after all recorded calls are applied.

Example
scene.play(circle.animate.shift([2, 0, 0]));
scene.play(circle.animate.setColor('#ff0000').scale(2));
Returns

any

Inherited from

TexturedMobject.animate


color

Get Signature

get color(): string

Defined in: core/Mobject.ts:71

Returns

string

Set Signature

set color(value): void

Defined in: core/Mobject.ts:74

Parameters
value

string

Returns

void

Inherited from

TexturedMobject.color


fillColor

Get Signature

get fillColor(): string

Defined in: core/Mobject.ts:184

Returns

string

Set Signature

set fillColor(color): void

Defined in: core/Mobject.ts:188

Parameters
color

string

Returns

void

Inherited from

TexturedMobject.fillColor


isDirty

Get Signature

get isDirty(): boolean

Defined in: core/Mobject.ts:551

Returns

boolean

Inherited from

TexturedMobject.isDirty


opacity

Get Signature

get opacity(): number

Defined in: core/Mobject.ts:114

Returns

number

Set Signature

set opacity(value): void

Defined in: core/Mobject.ts:118

Parameters
value

number

Returns

void

Inherited from

TexturedMobject.opacity


strokeColor

Get Signature

get strokeColor(): string

Defined in: core/Mobject.ts:195

Returns

string

Set Signature

set strokeColor(color): void

Defined in: core/Mobject.ts:199

Parameters
color

string

Returns

void

Inherited from

TexturedMobject.strokeColor


style

Get Signature

get style(): MobjectStyle

Defined in: core/Mobject.ts:122

Returns

MobjectStyle

Inherited from

TexturedMobject.style


submobjects

Get Signature

get submobjects(): Mobject[]

Defined in: core/Mobject.ts:136

Returns

Mobject[]

Inherited from

TexturedMobject.submobjects

Methods

_buildFontString()

protected _buildFontString(): string

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

Build the CSS font string

Returns

string


_createCopy()

protected _createCopy(): Text

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

Create a copy of this Text mobject

Returns

Text

Overrides

TexturedMobject._createCopy


_createThreeObject()

protected _createThreeObject(): Object3D

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

Create the Three.js backing object

Returns

Object3D

Overrides

TexturedMobject._createThreeObject


_drawTextWithLetterSpacing()

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

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

Draw text with custom letter spacing

Parameters

text

string

startX

number

y

number

_fontSize

number

Returns

void


_getBoundingBox()

_getBoundingBox(): object

Defined in: core/Mobject.ts:449

Returns

object

depth

depth: number

height

height: number

width

width: number

Deprecated

Use getBoundingBox() instead.

Inherited from

TexturedMobject._getBoundingBox


_getEdgeInDirection()

_getEdgeInDirection(direction): Vector3Tuple

Defined in: core/Mobject.ts:442

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

TexturedMobject._getEdgeInDirection


_handoffTextureMap()

protected _handoffTextureMap(material, nextTexture, previousTexture): void

Defined in: core/TexturedMobject.ts:42

Sets material.map, marks material dirty, and disposes previous texture when replaced.

Parameters

material

MeshBasicMaterial

nextTexture

Texture<unknown, TextureEventMap>

previousTexture

Texture<unknown, TextureEventMap>

Returns

void

Inherited from

TexturedMobject._handoffTextureMap


_initCanvas()

protected _initCanvas(): void

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

Initialize the off-screen canvas

Returns

void


_markDirty()

_markDirty(): void

Defined in: core/Mobject.ts:541

Returns

void

Inherited from

TexturedMobject._markDirty


_markDirtyUpward()

_markDirtyUpward(): void

Defined in: core/Mobject.ts:545

Returns

void

Inherited from

TexturedMobject._markDirtyUpward


_measureText()

protected _measureText(): object

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

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


_renderToCanvas()

protected _renderToCanvas(): void

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

Render text to the off-screen canvas

Returns

void


_syncMaterialToThree()

protected _syncMaterialToThree(): void

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

Sync material properties to Three.js

Returns

void

Overrides

TexturedMobject._syncMaterialToThree


_syncToThree()

_syncToThree(): void

Defined in: core/Mobject.ts:519

Returns

void

Inherited from

TexturedMobject._syncToThree


_updateMesh()

protected _updateMesh(): void

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

Update the mesh geometry to match new dimensions

Returns

void


add()

add(...mobjects): this

Defined in: core/Mobject.ts:329

Parameters

mobjects

...Mobject[]

Returns

this

Inherited from

TexturedMobject.add


addUpdater()

addUpdater(updater, callOnAdd): this

Defined in: core/Mobject.ts:589

Parameters

updater

UpdaterFunction

callOnAdd

boolean = false

Returns

this

Inherited from

TexturedMobject.addUpdater


alignTo()

alignTo(target, direction): this

Defined in: core/Mobject.ts:427

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple

Returns

this

Inherited from

TexturedMobject.alignTo


applyContentFrom()

applyContentFrom(other): void

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

Copy class-authoritative content metadata from another textured mobject so that future sync cycles and API reads (e.g. getText()) reflect the target's content.

Parameters

other

TexturedMobject

Returns

void

Overrides

TexturedMobject.applyContentFrom


applyFunction()

applyFunction(fn, options?): this

Defined in: core/Mobject.ts:619

Parameters

fn

(point) => number[]

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

TexturedMobject.applyFunction


applyMatrix()

applyMatrix(matrix, options?): this

Defined in: core/Mobject.ts:627

Parameters

matrix

number[][]

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

TexturedMobject.applyMatrix


applyTextureFrom()

applyTextureFrom(other): void

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

Copy texture/material-relevant state from another textured mobject.

Parameters

other

TexturedMobject

Returns

void

Overrides

TexturedMobject.applyTextureFrom


applyToFamily()

applyToFamily(func): this

Defined in: core/Mobject.ts:577

Parameters

func

(mobject) => void

Returns

this

Inherited from

TexturedMobject.applyToFamily


applyVisualSize()

applyVisualSize(width, height): void

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

Update class-authoritative visual size state so later sync cycles do not revert display dimensions set during transform finish.

Parameters

width

number

height

number

Returns

void

Overrides

TexturedMobject.applyVisualSize


become()

become(other): this

Defined in: core/Mobject.ts:376

Parameters

other

Mobject

Returns

this

Inherited from

TexturedMobject.become


center()

center(): this

Defined in: core/Mobject.ts:479

Returns

this

Inherited from

TexturedMobject.center


clearUpdaters()

clearUpdaters(): this

Defined in: core/Mobject.ts:601

Returns

this

Inherited from

TexturedMobject.clearUpdaters


copy()

copy(): Mobject

Defined in: core/Mobject.ts:358

Returns

Mobject

Inherited from

TexturedMobject.copy


dispose()

dispose(): void

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

Clean up Three.js and canvas resources

Returns

void

Overrides

TexturedMobject.dispose


flip()

flip(axis, options?): this

Defined in: core/Mobject.ts:257

Parameters

axis

Vector3Tuple = ...

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

TexturedMobject.flip


generateTarget()

generateTarget(): Mobject

Defined in: core/Mobject.ts:642

Returns

Mobject

Inherited from

TexturedMobject.generateTarget


getBottom()

getBottom(): Vector3Tuple

Defined in: core/Mobject.ts:458

Returns

Vector3Tuple

Inherited from

TexturedMobject.getBottom


getBoundingBox()

getBoundingBox(): object

Defined in: core/Mobject.ts:445

Returns

object

depth

depth: number

height

height: number

width

width: number

Inherited from

TexturedMobject.getBoundingBox


getBounds()

getBounds(): object

Defined in: core/Mobject.ts:392

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

TexturedMobject.getBounds


getCenter()

getCenter(): Vector3Tuple

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

Get the center of this text mobject

Returns

Vector3Tuple

Overrides

TexturedMobject.getCenter


getDisplayMeshes()

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

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

Return the meshes that visually represent this mobject. Textured morph code can use this for strict single-mesh validation.

Returns

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

Overrides

TexturedMobject.getDisplayMeshes


getDisplayMeshLength()

getDisplayMeshLength(): number

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

Return how many display meshes this textured mobject contributes.

Returns

number

Overrides

TexturedMobject.getDisplayMeshLength


getEdge()

getEdge(direction): Vector3Tuple

Defined in: core/Mobject.ts:452

Parameters

direction

Vector3Tuple

Returns

Vector3Tuple

Inherited from

TexturedMobject.getEdge


getFamily()

getFamily(): Mobject[]

Defined in: core/Mobject.ts:583

Returns

Mobject[]

Inherited from

TexturedMobject.getFamily


getFontFamily()

getFontFamily(): string

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

Get the current font family

Returns

string


getFontSize()

getFontSize(): number

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

Get the current font size

Returns

number


getGlyphGroup()

getGlyphGroup(): TextGlyphGroup

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

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

Returns

TextGlyphGroup


getHeight()

getHeight(): number

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

Get text height in world units

Returns

number


getLeft()

getLeft(): Vector3Tuple

Defined in: core/Mobject.ts:461

Returns

Vector3Tuple

Inherited from

TexturedMobject.getLeft


getRight()

getRight(): Vector3Tuple

Defined in: core/Mobject.ts:464

Returns

Vector3Tuple

Inherited from

TexturedMobject.getRight


getText()

getText(): string

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

Get the current text content

Returns

string


getTextureMesh()

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

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

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

Returns

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


getThreeObject()

getThreeObject(): Object3D

Defined in: core/Mobject.ts:555

Returns

Object3D

Inherited from

TexturedMobject.getThreeObject


getTop()

getTop(): Vector3Tuple

Defined in: core/Mobject.ts:455

Returns

Vector3Tuple

Inherited from

TexturedMobject.getTop


getUpdaters()

getUpdaters(): UpdaterFunction[]

Defined in: core/Mobject.ts:608

Returns

UpdaterFunction[]

Inherited from

TexturedMobject.getUpdaters


getWidth()

getWidth(): number

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

Get text width in world units

Returns

number


hasUpdaters()

hasUpdaters(): boolean

Defined in: core/Mobject.ts:605

Returns

boolean

Inherited from

TexturedMobject.hasUpdaters


loadGlyphs()

loadGlyphs(options?): Promise<TextGlyphGroup>

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

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>


moveTo()

moveTo(target, alignedEdge?): this

Defined in: core/Mobject.ts:216

Parameters

target

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Inherited from

TexturedMobject.moveTo


moveToAligned()

moveToAligned(target, alignedEdge?): this

Defined in: core/Mobject.ts:437

Parameters

target

Mobject | Vector3Tuple

alignedEdge?

Vector3Tuple

Returns

this

Inherited from

TexturedMobject.moveToAligned


nextTo()

nextTo(target, direction, buff): this

Defined in: core/Mobject.ts:410

Parameters

target

Mobject | Vector3Tuple

direction

Vector3Tuple = RIGHT

buff

number = 0.25

Returns

this

Inherited from

TexturedMobject.nextTo


prepareForNonlinearTransform()

prepareForNonlinearTransform(numPieces): this

Defined in: core/Mobject.ts:635

Parameters

numPieces

number = 50

Returns

this

Inherited from

TexturedMobject.prepareForNonlinearTransform


remove()

remove(...mobjects): this

Defined in: core/Mobject.ts:342

Parameters

mobjects

...Mobject[]

Returns

this

Inherited from

TexturedMobject.remove


removeUpdater()

removeUpdater(updater): this

Defined in: core/Mobject.ts:595

Parameters

updater

UpdaterFunction

Returns

this

Inherited from

TexturedMobject.removeUpdater


replace()

replace(target, stretch): this

Defined in: core/Mobject.ts:381

Parameters

target

Mobject

stretch

boolean = false

Returns

this

Inherited from

TexturedMobject.replace


restoreState()

restoreState(): boolean

Defined in: core/Mobject.ts:652

Returns

boolean

Inherited from

TexturedMobject.restoreState


rotate()

rotate(angle, axisOrOptions?): this

Defined in: core/Mobject.ts:237

Rotate the mobject by angle around an axis. Accepts aboutPoint or aboutEdge to specify the rotation center.

Parameters

angle

number

axisOrOptions?

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

Returns

this

Inherited from

TexturedMobject.rotate


rotateAboutOrigin()

rotateAboutOrigin(angle, axis): this

Defined in: core/Mobject.ts:253

Parameters

angle

number

axis

Vector3Tuple = ...

Returns

this

Inherited from

TexturedMobject.rotateAboutOrigin


saveState()

saveState(): this

Defined in: core/Mobject.ts:647

Returns

this

Inherited from

TexturedMobject.saveState


scale()

scale(factor, options?): this

Defined in: core/Mobject.ts:283

Parameters

factor

number | Vector3Tuple

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

TexturedMobject.scale


setColor()

setColor(color): this

Defined in: core/Mobject.ts:140

Parameters

color

string

Returns

this

Inherited from

TexturedMobject.setColor


setFill()

setFill(color?, opacity?): this

Defined in: core/Mobject.ts:178

Parameters

color?

string

opacity?

number

Returns

this

Inherited from

TexturedMobject.setFill


setFillOpacity()

setFillOpacity(opacity): this

Defined in: core/Mobject.ts:168

Parameters

opacity

number

Returns

this

Inherited from

TexturedMobject.setFillOpacity


setFontFamily()

setFontFamily(family): this

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

Set font family and re-render

Parameters

family

string

CSS font family string

Returns

this

this for chaining


setFontSize()

setFontSize(size): this

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

Set font size and re-render

Parameters

size

number

Font size in points

Returns

this

this for chaining


setStrokeOpacity()

setStrokeOpacity(opacity): this

Defined in: core/Mobject.ts:148

Parameters

opacity

number

Returns

this

Inherited from

TexturedMobject.setStrokeOpacity


setStrokeWidth()

setStrokeWidth(width): this

Defined in: core/Mobject.ts:158

Parameters

width

number

Returns

this

Inherited from

TexturedMobject.setStrokeWidth


setStyle()

setStyle(style): this

Defined in: core/Mobject.ts:126

Parameters

style

Partial<MobjectStyle>

Returns

this

Inherited from

TexturedMobject.setStyle


setText()

setText(text): this

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

Set new text content and re-render

Parameters

text

string

New text to display

Returns

this

this for chaining


setX()

setX(x): this

Defined in: core/Mobject.ts:467

Parameters

x

number

Returns

this

Inherited from

TexturedMobject.setX


setY()

setY(y): this

Defined in: core/Mobject.ts:471

Parameters

y

number

Returns

this

Inherited from

TexturedMobject.setY


setZ()

setZ(z): this

Defined in: core/Mobject.ts:475

Parameters

z

number

Returns

this

Inherited from

TexturedMobject.setZ


shift()

shift(delta): this

Defined in: core/Mobject.ts:208

Parameters

delta

Vector3Tuple

Returns

this

Inherited from

TexturedMobject.shift


stretch()

stretch(factor, dim, options?): this

Defined in: core/Mobject.ts:310

Parameters

factor

number

dim

number

options?
aboutEdge?

Vector3Tuple

aboutPoint?

Vector3Tuple

Returns

this

Inherited from

TexturedMobject.stretch


toCorner()

toCorner(direction, buff, frameDimensions?): this

Defined in: core/Mobject.ts:509

Parameters

direction

Vector3Tuple = ...

buff

number = 0.5

frameDimensions?

[number, number]

Returns

this

Inherited from

TexturedMobject.toCorner


toEdge()

toEdge(direction, buff, frameDimensions?): this

Defined in: core/Mobject.ts:504

Parameters

direction

Vector3Tuple

buff

number = 0.5

frameDimensions?

[number, number]

Returns

this

Inherited from

TexturedMobject.toEdge


update()

update(dt): void

Defined in: core/Mobject.ts:612

Parameters

dt

number

Returns

void

Inherited from

TexturedMobject.update