Skip to content
Shapemetry

@huukhanhnguyen/model / lanes/tables/nodes

lanes/tables/nodes

evaluateTable()

evaluateTable(model, key, operationCount?): Resolved<Table>

Parameters

model

Model

key

string

operationCount?

number

Returns

Resolved<Table>


runAnalysis()

runAnalysis(model, mode, config): AnalyzeRunResult

tableAnalyze's runAnalysis hook (see tables.ts's module doc) — runs sweep/optimize/monteCarlo SYNCHRONOUSLY (table resolution is sync engine law) against a fresh DETACHED COPY of this model, never this directly: sweep/optimize/monteCarlo mutate every touched ParameterNode's input for the run's duration (restored in a finally, but only on whichever model instance they were handed) — a tableAnalyze step resolving mid-render on the LIVE model must never be observed to touch that model's own params, even transiently. _isAnalysisCopy (stamped on the copy right after it's built) is the copy-spawns-copy guard: this.toJSON() carries this very tableAnalyze chain along into the copy's own tables[], so a measure/objective calling Table.get() on ANY analysis chain from INSIDE the copy would otherwise spawn a second detached copy, which spawns a third, forever — a fresh copy gets fresh LaneNode instances (see nodes/LaneNode.ts), so LaneNode.track's own per-instance "already resolving" cycle guard never sees it (it guards ONE Model's call stack, not across instances). An analysis chain read from within an analysis run therefore resolves to an EMPTY result instead — fail- soft, never a stack overflow, same spirit as the old Model._resolvingTables guard this whole LaneNode mechanism replaced.

Parameters

model

Model

mode

AnalyzeMode

config

AnalyzeConfig

Returns

AnalyzeRunResult


tableNodeOf()

tableNodeOf(model, key): ChainNode<TableChain, Table>

Parameters

model

Model

key

string

Returns

ChainNode<TableChain, Table>


tableValueOf()

tableValueOf(model, key, operationCount?): Table

Internal unwrapped table value (ExpressionNode / Table.get).

Parameters

model

Model

key

string

operationCount?

number

Returns

Table

Last updated: 📖 2 min readEdit on GitHub