Skip to main content

Class: Code

Defined in: components/code/src/node.ts:42

Extends

Constructors

Constructor

new Code(props): Code

Defined in: components/code/src/node.ts:95

Parameters

props

NodeConfig<Code, CodeProps>

Returns

Code

Overrides

Node<CodeProps>.constructor

Properties

__mappers?

optional __mappers?: Map<string, (ext, prev?) => any>

Defined in: core/dist/nodes/base/node.d.ts:126

Maps external prop value → internal cell value for fields that need it.

Inherited from

Node.__mappers


__signals?

optional __signals?: Map<string, Signal<any>>

Defined in: core/dist/nodes/base/node.d.ts:122

Inherited from

Node.__signals


__tweens?

optional __tweens?: Map<string, TweenFn<any>>

Defined in: core/dist/nodes/base/node.d.ts:124

Inherited from

Node.__tweens


__upgraders?

optional __upgraders?: Map<string, () => Signal<any>>

Defined in: core/dist/nodes/base/node.d.ts:123

Inherited from

Node.__upgraders


code

readonly code: string

Defined in: components/code/src/node.ts:45


colSpan

readonly colSpan: number

Defined in: core/dist/nodes/base/node.d.ts:140

Inherited from

Node.colSpan


column

readonly column: number | undefined

Defined in: core/dist/nodes/base/node.d.ts:138

Inherited from

Node.column


effects

readonly effects: SceneEffect[]

Defined in: core/dist/nodes/base/node.d.ts:134

Inherited from

Node.effects


flex

readonly flex: number

Defined in: core/dist/nodes/base/node.d.ts:137

Inherited from

Node.flex


fontFamily

readonly fontFamily: string

Defined in: components/code/src/node.ts:47


fontSize

readonly fontSize: number

Defined in: components/code/src/node.ts:49


height

readonly height: SizeInput

Defined in: core/dist/nodes/base/node.d.ts:130

Inherited from

Node.height


id

readonly id: string

Defined in: core/dist/nodes/base/node.d.ts:121

Inherited from

Node.id


language

readonly language: string

Defined in: components/code/src/node.ts:46


letterSpacing

readonly letterSpacing: number

Defined in: components/code/src/node.ts:56


lineHeight

readonly lineHeight: number

Defined in: components/code/src/node.ts:50


lineNumberGap

readonly lineNumberGap: number

Defined in: components/code/src/node.ts:61


opacity

readonly opacity: number

Defined in: core/dist/nodes/base/node.d.ts:133

Inherited from

Node.opacity


padding

readonly padding: PaddingResolved

Defined in: components/code/src/node.ts:62

Overrides

Node.padding


pivot

readonly pivot: Vector2

Defined in: core/dist/nodes/base/node.d.ts:136

Inherited from

Node.pivot


rotation

readonly rotation: number

Defined in: core/dist/nodes/base/node.d.ts:132

Inherited from

Node.rotation


row

readonly row: number | undefined

Defined in: core/dist/nodes/base/node.d.ts:139

Inherited from

Node.row


rowSpan

readonly rowSpan: number

Defined in: core/dist/nodes/base/node.d.ts:141

Inherited from

Node.rowSpan


scale

readonly scale: number

Defined in: core/dist/nodes/base/node.d.ts:131

Inherited from

Node.scale


showLineNumbers

readonly showLineNumbers: boolean

Defined in: components/code/src/node.ts:57


theme

readonly theme: string

Defined in: components/code/src/node.ts:48


width

readonly width: SizeInput

Defined in: core/dist/nodes/base/node.d.ts:129

Inherited from

Node.width


x

readonly x: number

Defined in: core/dist/nodes/base/node.d.ts:127

Inherited from

Node.x


y

readonly y: number

Defined in: core/dist/nodes/base/node.d.ts:128

Inherited from

Node.y

Accessors

assets

Get Signature

get assets(): AssetCatalog

Defined in: core/dist/nodes/base/node.d.ts:118

Returns

AssetCatalog

Inherited from

Node.assets


bottomCenter

Get Signature

get bottomCenter(): Vector2

Defined in: core/dist/nodes/base/node.d.ts:263

Returns

Vector2

Inherited from

Node.bottomCenter


bottomLeft

Get Signature

get bottomLeft(): Vector2

Defined in: core/dist/nodes/base/node.d.ts:260

Returns

Vector2

Inherited from

Node.bottomLeft


bottomRight

Get Signature

get bottomRight(): Vector2

Defined in: core/dist/nodes/base/node.d.ts:261

Returns

Vector2

Inherited from

Node.bottomRight


center

Get Signature

get center(): Vector2

Defined in: core/dist/nodes/base/node.d.ts:257

Center of the node — equivalent to its x/y position (0,0 is the center of the layout cell).

Returns

Vector2

Inherited from

Node.center


children

Get Signature

get children(): Node<NodeProps>[]

Defined in: core/dist/nodes/base/node.d.ts:268

Returns

Node<NodeProps>[]

Inherited from

Node.children


clock

Get Signature

get clock(): Readonly<NodeClock>

Defined in: core/dist/nodes/base/node.d.ts:241

Internal timing state.

Returns

Readonly<NodeClock>

Inherited from

Node.clock


leftCenter

Get Signature

get leftCenter(): Vector2

Defined in: core/dist/nodes/base/node.d.ts:264

Returns

Vector2

Inherited from

Node.leftCenter


measuredHeight

Get Signature

get measuredHeight(): number

Defined in: core/dist/nodes/base/node.d.ts:253

Returns

number

Inherited from

Node.measuredHeight


measuredWidth

Get Signature

get measuredWidth(): number

Defined in: core/dist/nodes/base/node.d.ts:252

Returns

number

Inherited from

Node.measuredWidth


name

Get Signature

get name(): string

Defined in: core/dist/nodes/base/node.d.ts:180

Returns

string

Inherited from

Node.name


parent

Get Signature

get parent(): Node<NodeProps> | null

Defined in: core/dist/nodes/base/node.d.ts:117

Returns

Node<NodeProps> | null

Inherited from

Node.parent


properties

Get Signature

get properties(): P

Defined in: core/dist/nodes/base/node.d.ts:179

Returns

P

Inherited from

Node.properties


rightCenter

Get Signature

get rightCenter(): Vector2

Defined in: core/dist/nodes/base/node.d.ts:265

Returns

Vector2

Inherited from

Node.rightCenter


topCenter

Get Signature

get topCenter(): Vector2

Defined in: core/dist/nodes/base/node.d.ts:262

Returns

Vector2

Inherited from

Node.topCenter


topLeft

Get Signature

get topLeft(): Vector2

Defined in: core/dist/nodes/base/node.d.ts:258

Returns

Vector2

Inherited from

Node.topLeft


topRight

Get Signature

get topRight(): Vector2

Defined in: core/dist/nodes/base/node.d.ts:259

Returns

Vector2

Inherited from

Node.topRight

Methods

_prepareStep()

_prepareStep(to, duration, easing?): TweenStepper

Defined in: core/dist/nodes/base/node.d.ts:191

Resolve a single to() step into a flat TweenStepper — all the per-key setup (anchor handling, mapper, numeric-vs-custom routing) happens once here, then advance(dt) is allocation-free. Used by both the generator path (_toGen) and the batched parallel path.

Parameters

to

Partial<P>

duration

number

easing?

EaseFunction

Returns

TweenStepper

Inherited from

Node._prepareStep


_toGen()

_toGen(to, duration, easing?): FrameGenerator

Defined in: core/dist/nodes/base/node.d.ts:192

Parameters

to

Partial<P>

duration

number

easing?

EaseFunction

Returns

FrameGenerator

Inherited from

Node._toGen


addChild()

addChild(child): void

Defined in: core/dist/nodes/base/node.d.ts:269

Parameters

child

Node

Returns

void

Inherited from

Node.addChild


addChildAt()

Call Signature

addChildAt(child, index): void

Defined in: core/dist/nodes/base/node.d.ts:273

Parameters
child

Node

index

number

Returns

void

Inherited from

Node.addChildAt

Call Signature

addChildAt(child, index, duration, easing?): FrameGenerator

Defined in: core/dist/nodes/base/node.d.ts:274

Parameters
child

Node

index

number

duration

number

easing?

EaseFunction

Returns

FrameGenerator

Inherited from

Node.addChildAt


addChildren()

addChildren(children): void

Defined in: core/dist/nodes/base/node.d.ts:271

Parameters

children

Node<NodeProps>[]

Returns

void

Inherited from

Node.addChildren


afterRender()

afterRender(ctx): void

Defined in: core/dist/nodes/base/node.d.ts:291

Parameters

ctx

RenderContext

Returns

void

Inherited from

Node.afterRender


append()

append(code, duration, easing?): FrameGenerator

Defined in: components/code/src/node.ts:287

Parameters

code

string

duration

number

easing?

EaseFunction

Returns

FrameGenerator


beforeRender()

beforeRender(ctx): void

Defined in: core/dist/nodes/base/node.d.ts:282

Parameters

ctx

RenderContext

Returns

void

Inherited from

Node.beforeRender


bindAssets()

bindAssets(context): void

Defined in: core/dist/nodes/base/node.d.ts:243

Parameters

context

AssetCatalog

Returns

void

Inherited from

Node.bindAssets


clearChildren()

clearChildren(): void

Defined in: core/dist/nodes/base/node.d.ts:272

Returns

void

Inherited from

Node.clearChildren


dispose()

dispose(): void

Defined in: core/dist/nodes/base/node.d.ts:301

Returns

void

Inherited from

Node.dispose


ellapse()

ellapse(totalTime): void

Defined in: core/dist/nodes/base/node.d.ts:242

Parameters

totalTime

number

Returns

void

Inherited from

Node.ellapse


fadeTo()

fadeTo(opacity, duration, ease?): FrameGenerator

Defined in: core/dist/nodes/base/node.d.ts:222

Animate opacity to the target value.

Parameters

opacity

number

Target opacity in the range [0, 1].

duration

number

ease?

EaseFunction

Returns

FrameGenerator

Example

yield* node.fadeTo(0, 0.3); // fade out
yield* node.fadeTo(1, 0.3); // fade in

Inherited from

Node.fadeTo


findAllRanges()

findAllRanges(text): CodeRange[]

Defined in: components/code/src/node.ts:699

Find every range matching the literal string text in the current source. Multi-line matches are supported.

Parameters

text

string

Returns

CodeRange[]


findFirstRange()

findFirstRange(text): CodeRange | null

Defined in: components/code/src/node.ts:725

Find the first range matching text. Returns null if not found.

Parameters

text

string

Returns

CodeRange | null


findRangeAt()

findRangeAt(text, index): CodeRange | null

Defined in: components/code/src/node.ts:717

Find the indexth range matching text. Returns null if not found.

Parameters

text

string

index

number

Returns

CodeRange | null


highlight()

highlight(codeRange, duration?, easing?, opacity?): FrameGenerator

Defined in: components/code/src/node.ts:336

Highlight a range of code: tokens within the range stay at opacity 1, tokens outside dim to opacity. Persistent — call resetHighlight() to undo, or call highlight() again with a different range to cross-fade.

Parameters

codeRange

CodeRange

duration?

number = 0.4

easing?

EaseFunction

opacity?

number = 0.4

Returns

FrameGenerator


insert()

insert(position, code, duration, easing?): FrameGenerator

Defined in: components/code/src/node.ts:494

Insert code at the given (line, col). Both are 1-indexed; col is the column BEFORE which the new content is inserted (col=1 means start of line). If code contains newlines, new lines are created in the middle of the existing line.

Parameters

position

[number, number]

code

string

duration

number

easing?

EaseFunction

Returns

FrameGenerator


isAutoSize()

isAutoSize(axis): boolean

Defined in: core/dist/nodes/base/node.d.ts:266

Parameters

axis

"width" | "height"

Returns

boolean

Inherited from

Node.isAutoSize


layout()

layout(rect, _scope): void

Defined in: core/dist/nodes/base/node.d.ts:294

Parameters

rect

BoxBounds

_scope

MeasureScope

Returns

void

Inherited from

Node.layout


measure()

measure(constraints, scope): Partial<Size2D>

Defined in: components/code/src/node.ts:249

Parameters

constraints

SizeConstraints

scope

MeasureScope

Returns

Partial<Size2D>

Overrides

Node.measure


moveTo()

moveTo(x, y, duration, ease?): FrameGenerator

Defined in: core/dist/nodes/base/node.d.ts:199

Animate both x and y to the given position.

Parameters

x

number

y

number

duration

number

ease?

EaseFunction

Returns

FrameGenerator

Example

yield* node.moveTo(200, 100, 0.5, ease.outCubic);

Inherited from

Node.moveTo


moveX()

moveX(x, duration, ease?): FrameGenerator

Defined in: core/dist/nodes/base/node.d.ts:206

Animate only the horizontal position (x).

Parameters

x

number

duration

number

ease?

EaseFunction

Returns

FrameGenerator

Example

yield* node.moveX(300, 0.4);

Inherited from

Node.moveX


moveY()

moveY(y, duration, ease?): FrameGenerator

Defined in: core/dist/nodes/base/node.d.ts:213

Animate only the vertical position (y).

Parameters

y

number

duration

number

ease?

EaseFunction

Returns

FrameGenerator

Example

yield* node.moveY(-50, 0.4);

Inherited from

Node.moveY


onRender()

onRender(ctx): void

Defined in: components/code/src/node.ts:275

Parameters

ctx

RenderContext

Returns

void

Overrides

Node.onRender


prepare()

prepare(storage): void

Defined in: components/code/src/node.ts:126

Parameters

storage

AssetTracker

Returns

void

Overrides

Node.prepare


prepareAssets()

prepareAssets(storage): void

Defined in: core/dist/nodes/base/node.d.ts:251

Parameters

storage

AssetTracker

Returns

void

Inherited from

Node.prepareAssets


prepend()

prepend(code, duration, easing?): FrameGenerator

Defined in: components/code/src/node.ts:309

Parameters

code

string

duration

number

easing?

EaseFunction

Returns

FrameGenerator


remove()

remove(codeRange, duration, easing?): FrameGenerator

Defined in: components/code/src/node.ts:617

Remove the tokens in codeRange. If the range spans whole lines, those lines collapse their height; partial line ranges only remove tokens (the surrounding text reflows).

Parameters

codeRange

CodeRange

duration

number

easing?

EaseFunction

Returns

FrameGenerator


removeChild()

removeChild(child): Node<NodeProps> | null

Defined in: core/dist/nodes/base/node.d.ts:270

Parameters

child

Node

Returns

Node<NodeProps> | null

Inherited from

Node.removeChild


removeChildAt()

Call Signature

removeChildAt(index): Node<NodeProps> | null

Defined in: core/dist/nodes/base/node.d.ts:275

Parameters
index

number

Returns

Node<NodeProps> | null

Inherited from

Node.removeChildAt

Call Signature

removeChildAt(index, duration, easing?): FrameGenerator

Defined in: core/dist/nodes/base/node.d.ts:276

Parameters
index

number

duration

number

easing?

EaseFunction

Returns

FrameGenerator

Inherited from

Node.removeChildAt


render()

render(ctx): void

Defined in: core/dist/nodes/base/node.d.ts:292

Parameters

ctx

RenderContext

Returns

void

Inherited from

Node.render


renderChildren()

renderChildren(ctx): void

Defined in: core/dist/nodes/base/node.d.ts:281

Parameters

ctx

RenderContext

Returns

void

Inherited from

Node.renderChildren


reparent()

Call Signature

reparent(newParent): void

Defined in: core/dist/nodes/base/node.d.ts:296

Parameters
newParent

Node

Returns

void

Inherited from

Node.reparent

Call Signature

reparent(newParent, duration, easing?): FrameGenerator

Defined in: core/dist/nodes/base/node.d.ts:297

Parameters
newParent

Node

duration

number

easing?

EaseFunction

Returns

FrameGenerator

Inherited from

Node.reparent


replace()

replace(codeRange, next, duration, easing?): FrameGenerator

Defined in: components/code/src/node.ts:412

Replace the tokens in codeRange with next, cross-fading widths and opacities.

Parameters

codeRange

CodeRange

next

string

duration

number

easing?

EaseFunction

Returns

FrameGenerator


resetHighlight()

resetHighlight(duration?, easing?): FrameGenerator

Defined in: components/code/src/node.ts:379

Fade all dimmed tokens back to opacity 1 and clear the persistent highlight state.

Parameters

duration?

number = 0.4

easing?

EaseFunction

Returns

FrameGenerator


resolveSizeInput()

resolveSizeInput(sizeInput, availableSize, childrenSize): number

Defined in: core/dist/nodes/base/node.d.ts:267

Parameters

sizeInput

SizeInput

availableSize

number

childrenSize

number

Returns

number

Inherited from

Node.resolveSizeInput


rotateTo()

rotateTo(rotation, duration, ease?): FrameGenerator

Defined in: core/dist/nodes/base/node.d.ts:229

Animate rotate to the target angle (degrees, clockwise).

Parameters

rotation

number

duration

number

ease?

EaseFunction

Returns

FrameGenerator

Example

yield* node.rotateTo(180, 0.6, ease.inOutQuad);

Inherited from

Node.rotateTo


scaleTo()

scaleTo(scale, duration, ease?): FrameGenerator

Defined in: core/dist/nodes/base/node.d.ts:237

Animate scale to the target factor.

Parameters

scale

number

duration

number

ease?

EaseFunction

Returns

FrameGenerator

Example

yield* node.scaleTo(1.5, 0.4); // grow
yield* node.scaleTo(0, 0.3); // shrink to nothing

Inherited from

Node.scaleTo


set()

set(props): void

Defined in: components/code/src/node.ts:109

Parameters

props
bottomCenter?

Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))

bottomLeft?

Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))

bottomRight?

Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))

center?

Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))

children?

Node<NodeProps> | Node<NodeProps>[] | (() => Node<NodeProps> | Node<NodeProps>[])

code?

string | (() => string)

colSpan?

number | (() => number)

How many grid columns this child spans. Default 1.

column?

number | (() => number)

1-based column index for explicit grid placement. Undefined = auto-placed.

effects?

ChainableFx | (() => ChainableFx)

flex?

number | (() => number)

Proportional share of the free space along the parent's main axis, relative to sibling fill children (like Flutter's Expanded(flex:)). Only meaningful when this node fills the main axis — in a row that's width:'fill', in a column height:'fill'. Two siblings with flex 2 and 1 split the free space 2:1. Defaults to 1. Specifying flex without an explicit width/height defaults both to 'fill'.

fontFamily?

string | (() => string)

fontSize?

number | (() => number)

height?

SizeInput | (() => SizeInput)

language?

string | (() => string)

leftCenter?

Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))

letterSpacing?

number | (() => number)

lineHeight?

number | (() => number)

lineNumberGap?

number | (() => number)

opacity?

number | (() => number)

padding?

PaddingProps | (() => PaddingProps)

Inner spacing between this node's edges and its content/children.

pivot?

Vector2 | (() => Vector2)

Pivot point for rotation and scale. (0,0)=center, (-1,1)=top-left, (1,-1)=bottom-right. Set automatically when an anchor prop is used.

rightCenter?

Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))

rotation?

number | (() => number)

row?

number | (() => number)

1-based row index for explicit grid placement. Undefined = auto-placed.

rowSpan?

number | (() => number)

How many grid rows this child spans. Default 1.

scale?

number | (() => number)

showLineNumbers?

boolean | (() => boolean)

theme?

string | (() => string)

topCenter?

Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))

topLeft?

Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))

topRight?

Vector2 | (() => Vector2) | (() => Vector2 | (() => Vector2))

width?

SizeInput | (() => SizeInput)

x?

number | (() => number)

y?

number | (() => number)

Returns

void

Overrides

Node.set


tick()

tick(_globalTime): void

Defined in: core/dist/nodes/base/node.d.ts:239

Parameters

_globalTime

number

Returns

void

Inherited from

Node.tick


to()

to(to, duration, easing?): AnimationBuilder<CodeProps>

Defined in: core/dist/nodes/base/node.d.ts:184

Parameters

to

Partial<P>

duration

number

easing?

EaseFunction

Returns

AnimationBuilder<CodeProps>

Inherited from

Node.to


waveform()

waveform(): WaveformInfo[] | undefined

Defined in: core/dist/nodes/base/node.d.ts:250

Audio clips this node owns, surfaced to the timeline as waveforms. The base node has no audio; nodes that do (e.g. Scene) override this. Returns undefined when there is nothing to show.

Returns

WaveformInfo[] | undefined

Inherited from

Node.waveform