FreeParamScope

Which of an environment's own attributes are names rather than expressions, and which identifiers are an attribute's formal arguments.

@internote/canvas-sdkInterface
On this page
import { 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

formal
Per node identifier: an attribute, and the identifiers the attribute binds itself, which are not free.
Readonly<Record<string, { attribute: string; names: readonly string[] }>>
onAxis
Nodes whose coordinate attributes are read on the axis of that name, so a category there is a name and not letters.
ReadonlySet<string>
standing
Nodes 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.

Last updated