Skip to content
Shapemetry

@huukhanhnguyen/types / model/analyze

model/analyze

AnalyzeConfig

AnalyzeConfig = SweepConfig | OptimizeConfig | MonteCarloConfig

Design-study vocabulary — sweep / optimize / Monte-Carlo configs and their result tables. Pure records: the runner (@huukhanhnguyen/model) reads them, nothing here holds a live graph object.


AnalyzeMode

AnalyzeMode = "sweep" | "optimize" | "monteCarlo"


AnalyzeProgress

AnalyzeProgress = (done, total) => void

Parameters

done

number

total

number

Returns

void


AnalyzeRunResult

AnalyzeRunResult = AnalyzeTable | OptimizeResult | MonteCarloResult


AnalyzeTable

AnalyzeTable = { columns: string[]; rows: unknown[][]; }

columns

columns: string[]

rows

rows: unknown[][]


MeasureConfig

MeasureConfig = { expression: string; key: string; }

expression

expression: string

key

key: string


MonteCarloConfig

MonteCarloConfig = { measures: MeasureConfig[]; parameters: MonteCarloParameterConfig[]; samples?: number; seed?: number; }

measures

measures: MeasureConfig[]

parameters

parameters: MonteCarloParameterConfig[]

samples?

optional samples?: number

seed?

optional seed?: number


MonteCarloParameterConfig

MonteCarloParameterConfig = { key: string; max: number; min: number; }

A named numeric range — sampled (Monte Carlo) or searched (optimize). Not the same shape as SweepParameterConfig, which walks from/to in discrete steps rather than sampling a range.

key

key: string

max

max: number

min

min: number


MonteCarloResult

MonteCarloResult = { summary: AnalyzeTable; table: AnalyzeTable; }

summary

summary: AnalyzeTable

table

table: AnalyzeTable


ObjectiveConfig

ObjectiveConfig = { expression: string; goal: "min" | "max"; }

expression

expression: string

goal

goal: "min" | "max"


OptimizeConfig

OptimizeConfig = { maxEvaluations?: number; objective: ObjectiveConfig; parameters: MonteCarloParameterConfig[]; }

maxEvaluations?

optional maxEvaluations?: number

objective

objective: ObjectiveConfig

parameters

parameters: MonteCarloParameterConfig[]


OptimizeResult

OptimizeResult = { best: { params: Record<string, number>; value: number; }; trace: AnalyzeTable; }

best

best: { params: Record<string, number>; value: number; }

params

params: Record<string, number>

value

value: number

trace

trace: AnalyzeTable


SimplexVertex

SimplexVertex = { point: number[]; value: number; }

point

point: number[]

value

value: number


SweepConfig

SweepConfig = { measures: MeasureConfig[]; parameters: SweepParameterConfig[]; }

measures

measures: MeasureConfig[]

parameters

parameters: SweepParameterConfig[]


SweepParameterConfig

SweepParameterConfig = { from: number; key: string; steps: number; to: number; }

from

from: number

key

key: string

steps

steps: number

to

to: number

Last updated: 📖 3 min readEdit on GitHub