FreeParamScope
Which of an environment's own attributes are names rather than expressions, and which identifiers are an attribute's formal arguments.
@internote/canvas-sdkimport { FreeParamScope } from '@internote/canvas-sdk';Both are vocabulary facts, so both come from the environment. Q1 on an axis ruled in quarters is a quarter, not Q × 1 wanting a slider for Q; and the y in a surface's expression: is the vertical axis it is evaluated over, not a letter anyone can drag. An environment that declares neither gets the plain reading, which is the right one for a map.
#Fields
formalPer node identifier: an attribute, and the identifiers the attribute binds itself, which are not free.
Readonly<Record<string, { attribute: string; names: readonly string[] }>>onAxisNodes whose coordinate attributes are read on the axis of that name, so a category there is a name and not letters.
ReadonlySet<string>standingNodes that name their place with
on:, on the axis they do not measure.ReadonlySet<string>#Example
const scope: FreeParamScope = {
onAxis: new Set(['point', 'bar']),
formal: { surface: { attribute: 'expression', names: ['x', 'y'] } },
};Declared in packages/canvas-sdk/src/parameters/free-names.ts:37.