@hatiolab/figure-model 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/gate.d.ts CHANGED
@@ -149,9 +149,12 @@ export interface FigureInspection {
149
149
  export interface FigureInspectOptions {
150
150
  /** Inspect one state only (the stored defaults plus these overrides) instead of the whole valid state range. */
151
151
  at?: Record<string, number>;
152
- /** Points along each input's sweep when a rotation depends on state. Default 9. */
152
+ /** Points along each input's sweep when a rotation depends on state: a whole number, 2 or more. Default 9. */
153
153
  sweepSteps?: number;
154
- /** Corner enumeration is capped: above this many state inputs the corners are sampled, not enumerated. */
154
+ /**
155
+ * Corner enumeration is capped: above this many state inputs the corners are sampled, not enumerated. A whole number
156
+ * from 0 to \`FIGURE_INSPECT_LIMITS.maxCornerInputs\`. Default 10.
157
+ */
155
158
  maxCornerInputs?: number;
156
159
  /**
157
160
  * `range` (the default, and what release asks): every design value a board may set -- the instance size, and the
@@ -160,6 +163,15 @@ export interface FigureInspectOptions {
160
163
  */
161
164
  design?: 'range' | 'as-given';
162
165
  }
166
+ /**
167
+ * What one inspection may be asked to run (completeness review 2026-10-04, F4). Every corner of 12 ranged inputs is
168
+ * 4,096 states; a run of more than 8,192 states -- corners and sweeps -- is refused before its first evaluation
169
+ * (INSPECT_BUDGET). The defaults (10 corner inputs, 9 steps) run at most 1,024 corners and 9 steps an input.
170
+ */
171
+ export declare const FIGURE_INSPECT_LIMITS: Readonly<{
172
+ maxCornerInputs: number;
173
+ maxStates: number;
174
+ }>;
163
175
  /**
164
176
  * Inspect an asset against its declared occupancy. Without `at`, the whole valid state range is covered: every
165
177
  * state input at its bounds (and, when a rotation depends on state, along its sweep), and a violation found at any
@@ -1 +1 @@
1
- {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
package/dist/gate.js CHANGED
@@ -18,6 +18,7 @@
18
18
  * fine. An asset with no `occupancy` cannot be released, because nothing says how big it is on a board.
19
19
  */
20
20
  import { compileFigureAsset, figurePlacementOf, upgradeFigurePlacement } from "./asset.js";
21
+ import { FigureContractError } from "./contract.js";
21
22
  import { compileFigureGraph } from "./graph.js";
22
23
  import { resolveFigureSurface, evaluateFigureSurface } from "./surface.js";
23
24
  import { AXES, SKIN } from "./words.js";
@@ -169,33 +170,22 @@ function rangedDesignInputs(asset) {
169
170
  const size = inputs.filter(i => /^(sizing\.)?size\.[xyz]$/.test(i.id) && Number.isFinite(i.min) && Number.isFinite(i.max) && i.max < 1e12).map(i => i.id);
170
171
  return [...listed, ...size].map(id => inputs.find(i => i.id === id)).map(i => ({ id: i.id, min: i.min, max: i.max }));
171
172
  }
172
- /** Which ranged design inputs each value depends on, followed through the graph as the state dependence is. */
173
- function designDependence(asset, ids) {
173
+ /**
174
+ * Which ranged design inputs each value depends on, followed through the graph as the state dependence is: one pass in
175
+ * the compiled order, where every node comes after the nodes it reads -- however deep the graph (F3, 2026-10-04).
176
+ */
177
+ function designDependence(asset, ids, order) {
174
178
  const out = new Map(ids.map(id => [id, new Set([id])]));
175
- const nodes = asset.document.model.nodes;
176
- const writer = new Map();
177
- for (const n of nodes)
178
- for (const ref of Object.values(n.outputs))
179
- writer.set(ref, n);
180
- const visit = (ref, seen = new Set()) => {
181
- const done = out.get(ref);
182
- if (done)
183
- return done;
184
- const n = writer.get(ref);
185
- if (!n || seen.has(ref))
186
- return new Set();
187
- seen.add(ref);
179
+ const nodes = new Map(asset.document.model.nodes.map(n => [n.id, n]));
180
+ for (const id of order) {
181
+ const n = nodes.get(id);
188
182
  const deps = new Set();
189
183
  for (const a of n.args)
190
- for (const d of visit(a, seen))
184
+ for (const d of out.get(a) ?? [])
191
185
  deps.add(d);
192
186
  for (const o of Object.values(n.outputs))
193
187
  out.set(o, deps);
194
- return deps;
195
- };
196
- for (const n of nodes)
197
- for (const ref of Object.values(n.outputs))
198
- visit(ref);
188
+ }
199
189
  return Object.fromEntries([...out].filter(([, d]) => d.size).map(([k, d]) => [k, [...d].sort()]));
200
190
  }
201
191
  /**
@@ -416,6 +406,30 @@ function nodeWriters(asset) {
416
406
  function stateInputs(asset) {
417
407
  return asset.document.model.inputs.filter(i => i.role === 'state').map(i => ({ id: i.id, min: i.min, max: i.max }));
418
408
  }
409
+ /**
410
+ * What one inspection may be asked to run (completeness review 2026-10-04, F4). Every corner of 12 ranged inputs is
411
+ * 4,096 states; a run of more than 8,192 states -- corners and sweeps -- is refused before its first evaluation
412
+ * (INSPECT_BUDGET). The defaults (10 corner inputs, 9 steps) run at most 1,024 corners and 9 steps an input.
413
+ */
414
+ export const FIGURE_INSPECT_LIMITS = Object.freeze({ maxCornerInputs: 12, maxStates: 8192 });
415
+ /** The inspection's own settings, refused at their path before anything is computed: the caller's mistake, not the figure's. */
416
+ function checkInspectOptions(opts) {
417
+ const refuse = (key, detail) => {
418
+ throw new FigureContractError('INSPECT_OPTION', `options.${key}`, detail);
419
+ };
420
+ for (const key of Object.keys(opts))
421
+ if (!['at', 'sweepSteps', 'maxCornerInputs', 'design'].includes(key))
422
+ refuse(key, 'not an inspection setting; at, sweepSteps, maxCornerInputs or design');
423
+ if (opts.sweepSteps !== undefined && !(Number.isSafeInteger(opts.sweepSteps) && opts.sweepSteps >= 2))
424
+ refuse('sweepSteps', `${String(opts.sweepSteps)} is not a step count; a whole number, 2 or more -- a sweep runs from an input's min to its max`);
425
+ const most = FIGURE_INSPECT_LIMITS.maxCornerInputs;
426
+ if (opts.maxCornerInputs !== undefined && !(Number.isSafeInteger(opts.maxCornerInputs) && opts.maxCornerInputs >= 0 && opts.maxCornerInputs <= most))
427
+ refuse('maxCornerInputs', `${String(opts.maxCornerInputs)} is not a corner cap; a whole number from 0 to ${most} (2^${most} corners)`);
428
+ if (opts.design !== undefined && opts.design !== 'range' && opts.design !== 'as-given')
429
+ refuse('design', `${String(opts.design)} is not range or as-given`);
430
+ if (opts.at !== undefined && (!opts.at || typeof opts.at !== 'object' || Array.isArray(opts.at)))
431
+ refuse('at', 'a record of input values');
432
+ }
419
433
  /**
420
434
  * Inspect an asset against its declared occupancy. Without `at`, the whole valid state range is covered: every
421
435
  * state input at its bounds (and, when a rotation depends on state, along its sweep), and a violation found at any
@@ -425,6 +439,7 @@ export function inspectFigureAsset(asset, options = {}) {
425
439
  asset = upgradeFigurePlacement(asset);
426
440
  // Backwards compatible: a plain record is `at`.
427
441
  const opts = 'at' in options || 'sweepSteps' in options || 'maxCornerInputs' in options || 'design' in options || Object.keys(options).length === 0 ? options : { at: options };
442
+ checkInspectOptions(opts);
428
443
  const compiled = compileFigureAsset(asset);
429
444
  const graph = compileFigureGraph(asset.document.model);
430
445
  /*
@@ -435,7 +450,7 @@ export function inspectFigureAsset(asset, options = {}) {
435
450
  const inputs = [...stateInputs(asset), ...designRanged];
436
451
  const designIds = new Set(designRanged.map(i => i.id));
437
452
  const dependence = { ...graph.dependence };
438
- for (const [ref, deps] of Object.entries(designDependence(asset, [...designIds])))
453
+ for (const [ref, deps] of Object.entries(designDependence(asset, [...designIds], graph.order)))
439
454
  dependence[ref] = [...new Set([...(dependence[ref] ?? []), ...deps])].sort();
440
455
  const violations = [];
441
456
  const seen = new Set();
@@ -474,10 +489,16 @@ export function inspectFigureAsset(asset, options = {}) {
474
489
  unprovable.push(...unprovenContact(asset, graph));
475
490
  const maxCorners = opts.maxCornerInputs ?? 10;
476
491
  const allCorners = inputs.length <= maxCorners;
492
+ /* How many states the run takes, counted before the first: every corner (at most 2^12), or two and two flips an input. */
493
+ const cornerCount = allCorners ? 2 ** inputs.length : 2 + 2 * inputs.length;
494
+ const steps = opts.sweepSteps ?? 9;
495
+ const planned = cornerCount + (unprovable.length || !allCorners ? inputs.length * steps : 0);
496
+ if (planned > FIGURE_INSPECT_LIMITS.maxStates)
497
+ throw new FigureContractError('INSPECT_BUDGET', 'options', `${planned} states (${cornerCount} corners, ${inputs.length} inputs in ${steps} steps) is more than the ${FIGURE_INSPECT_LIMITS.maxStates} one inspection runs; lower sweepSteps or maxCornerInputs`);
477
498
  const corners = [];
478
499
  if (allCorners) {
479
- for (let mask = 0; mask < 1 << inputs.length; mask++)
480
- corners.push(Object.fromEntries(inputs.map((i, k) => [i.id, mask & (1 << k) ? i.max : i.min])));
500
+ for (let mask = 0; mask < cornerCount; mask++)
501
+ corners.push(Object.fromEntries(inputs.map((i, k) => [i.id, Math.floor(mask / 2 ** k) % 2 ? i.max : i.min])));
481
502
  }
482
503
  else {
483
504
  // Too many inputs to enumerate: the all-min and all-max corners and every single flip from each. Not all corners.
@@ -498,7 +519,6 @@ export function inspectFigureAsset(asset, options = {}) {
498
519
  };
499
520
  }
500
521
  else {
501
- const steps = opts.sweepSteps ?? 9;
502
522
  const sweeps = [];
503
523
  for (const i of inputs)
504
524
  for (let k = 0; k < steps; k++) {
package/dist/gate.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
@@ -89,10 +89,32 @@ export type FigureRuntimeValue = number | boolean | number[] | FigurePose | Figu
89
89
  } | {
90
90
  items: FigurePlacedGeometry[];
91
91
  };
92
+ /**
93
+ * An evaluation is a snapshot: it stays what it was when the evaluator moves on. From an instance's evaluator, the
94
+ * caller owns the \`values\` record and the \`geometry\` list; everything they hold -- a shape, a pose, a row's members, a
95
+ * body -- is handed on unchanged to later results, and is frozen: a write into one throws (a TypeError) and reaches
96
+ * nothing. A whole evaluation (\`FigureCompiledGraph.evaluate\`) keeps nothing, and all of it is the caller's.
97
+ */
92
98
  export interface FigureGraphEvaluation {
93
99
  values: Record<string, FigureRuntimeValue>;
94
100
  geometry: FigureGeometry[];
95
101
  }
102
+ /**
103
+ * A value as an instance's evaluator hands it out: frozen all the way down (completeness review 2026-10-04, F1). The
104
+ * type says what \`Object.freeze\` enforces; a write into one throws at run time whatever the type says.
105
+ */
106
+ export type FigureFrozen<T> = T extends (...args: never[]) => unknown ? T : T extends object ? {
107
+ readonly [K in keyof T]: FigureFrozen<T[K]>;
108
+ } : T;
109
+ /**
110
+ * What an instance's evaluator returns: a snapshot. The record and the list are the caller's own; every value and body
111
+ * in them is frozen, handed on unchanged to later results while it does not change, and shared with the results given
112
+ * before. A whole evaluation (\`FigureGraphEvaluation\`) is the caller's all through.
113
+ */
114
+ export interface FigureInstanceEvaluation {
115
+ values: Record<string, FigureFrozen<FigureRuntimeValue>>;
116
+ geometry: Array<FigureFrozen<FigureGeometry>>;
117
+ }
96
118
  export interface FigureCompiledGraph {
97
119
  outputTypes: Record<string, FigureValueType>;
98
120
  /**
@@ -101,7 +123,7 @@ export interface FigureCompiledGraph {
101
123
  */
102
124
  dependence: Record<string, string[]>;
103
125
  order: string[];
104
- /** A whole evaluation, keeping nothing. */
126
+ /** A whole evaluation, keeping nothing: all of it is the caller's, to keep or to write into. */
105
127
  evaluate(input: Record<string, number>): FigureGraphEvaluation;
106
128
  /**
107
129
  * An evaluator for one instance: it keeps its last evaluation and runs again only what changed since. \`advance\`
@@ -112,7 +134,7 @@ export interface FigureCompiledGraph {
112
134
  }): FigureGraphEvaluator;
113
135
  }
114
136
  export interface FigureGraphEvaluator {
115
- evaluate(input: Record<string, number>): FigureGraphEvaluation;
137
+ evaluate(input: Record<string, number>): FigureInstanceEvaluation;
116
138
  advance(input: Record<string, number>, ordinary?: string): FigureGraphAdvance;
117
139
  poseInputs(): FigurePoseInput[];
118
140
  }
@@ -139,10 +161,15 @@ export interface FigurePoseReads {
139
161
  /** Values read outside the graph. A row whose copies are read there is run whole, not by its poses. */
140
162
  external?: readonly string[];
141
163
  }
142
- /** One step of an instance's evaluator (ADR-0108). */
164
+ /**
165
+ * One step of an instance's evaluator (ADR-0108). An evaluation step's \`result\` is a snapshot as any evaluation is. A
166
+ * pose step is not: its \`bodies\` and \`poses\` are the caller's own copies, but \`read\` and \`changed\` look into the
167
+ * evaluator and answer only until the next call on it (\`evaluate\` or \`advance\`, refused or not); after that they
168
+ * throw STEP_EXPIRED. What \`read\` gives is frozen.
169
+ */
143
170
  export type FigureGraphAdvance = {
144
171
  kind: 'evaluation';
145
- result: FigureGraphEvaluation;
172
+ result: FigureInstanceEvaluation;
146
173
  generation: number;
147
174
  why: {
148
175
  code: string;
@@ -154,9 +181,9 @@ export type FigureGraphAdvance = {
154
181
  bodies: Int32Array;
155
182
  /** Twelve numbers per written slot: r row by row, then t. */
156
183
  poses: Float64Array;
157
- /** A value as this step leaves it. */
184
+ /** A value as this step leaves it -- until the next call on the evaluator (STEP_EXPIRED after it). */
158
185
  read(ref: string): unknown;
159
- /** Whether this step changed a value. */
186
+ /** Whether this step changed a value -- until the next call on the evaluator (STEP_EXPIRED after it). */
160
187
  changed(ref: string): boolean;
161
188
  };
162
189
  //# sourceMappingURL=graph-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-types.d.ts","sourceRoot":"","sources":["../src/graph-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,sGAAsG;AACtG,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAA;AAChG,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AACvD,MAAM,MAAM,eAAe,GACvB,gBAAgB,GAChB;IAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;CAAE;AAC9B;;;;GAIG;GACD;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;CAC1B;AACD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AACD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AACD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,aAAa,GAAG,cAAc,CAAA;IACvC,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,SAAS,EAAE,mBAAmB,EAAE,CAAA;IAChC,KAAK,EAAE,eAAe,EAAE,CAAA;CACzB;AACD,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAA;IACb,CAAC,EAAE,MAAM,EAAE,CAAA;CACZ;AACD,4GAA4G;AAC5G,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;IACxC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,SAAS,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAA;IAC7C,IAAI,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IACvC,UAAU,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAC/C,KAAK,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAA;CACtC;AACD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;CACjB;AACD,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,OAAO,GAAG,YAAY,CAAA;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,IAAI,CAAC,EAAE,GAAG,CAAA;CACX;AACD,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;AACxE,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,OAAO,GACP,MAAM,EAAE,GACR,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,OAAO,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GACvD;IAAE,KAAK,EAAE,oBAAoB,EAAE,CAAA;CAAE,CAAA;AACrC,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC1C,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC3B;AACD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC5C;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACpC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,qBAAqB,CAAA;IAC9D;;;OAGG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,eAAe,CAAA;KAAE,GAAG,oBAAoB,CAAA;CACvE;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,qBAAqB,CAAA;IAC9D,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAA;IAC7E,UAAU,IAAI,eAAe,EAAE,CAAA;CAChC;AAED,8EAA8E;AAC9E,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,sBAAsB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1F,kHAAkH;AAClH,MAAM,WAAW,eAAe;IAC9B,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,uGAAuG;IACvG,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC7B;AAED,sDAAsD;AACtD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC1H;IACE,IAAI,EAAE,OAAO,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,6FAA6F;IAC7F,MAAM,EAAE,UAAU,CAAA;IAClB,6DAA6D;IAC7D,KAAK,EAAE,YAAY,CAAA;IACnB,sCAAsC;IACtC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,yCAAyC;IACzC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAC9B,CAAA"}
1
+ {"version":3,"file":"graph-types.d.ts","sourceRoot":"","sources":["../src/graph-types.ts"],"names":[],"mappings":"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"}
package/dist/graph.d.ts CHANGED
@@ -50,5 +50,12 @@ export declare const FIGURE_NON_AFFINE_OPERATORS: readonly string[];
50
50
  * rest-pose regression check and says nothing about motion.
51
51
  */
52
52
  export declare const FIGURE_STATE_NON_AFFINE_OPERATORS: readonly string[];
53
+ /**
54
+ * Compiles a graph whatever order its nodes are written in, and however deep its chains (the walk keeps its own stack).
55
+ * It holds no size limit of its own: the byte and node limits -- 1 MiB of JSON, nesting 64, \`FIGURE_DOCUMENT_NODE_LIMIT\`
56
+ * nodes -- are the document's and the asset's (\`compileFigureDocument\`, \`compileFigureAsset\`), the entrances for what
57
+ * arrives from outside. A caller compiling a graph directly answers for its size, and its compile and evaluation take
58
+ * time and memory in proportion to it.
59
+ */
53
60
  export declare function compileFigureGraph(source: unknown): FigureCompiledGraph;
54
61
  //# sourceMappingURL=graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAA6G,MAAM,kBAAkB,CAAA;AACtK,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAA;AAIvB;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAA;AAmBrD;;;;GAIG;AACH,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAarD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAC7F,KAAK,CAAC,EAAE;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,GACnE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,GAAG,SAAS,CAGvD;AACD,OAAO,EAAE,aAAa,EAAE,CAAA;AAqnBxB,6GAA6G;AAC7G,eAAO,MAAM,8BAA8B,EAAE,SAAS,MAAM,EAAmE,CAAA;AAE/H,kGAAkG;AAClG,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAEpF,CAAA;AAED,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAA0F,CAAA;AAE/J,sFAAsF;AACtF,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAAoC,CAAA;AAElF;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAAiF,CAAA;AAE1I;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,EAAE,SAAS,MAAM,EAAmC,CAAA;AAuFlG,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB,CAEvE"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAA6G,MAAM,kBAAkB,CAAA;AACtK,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAA;AAIvB;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAA;AAmBrD;;;;GAIG;AACH,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAarD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAC7F,KAAK,CAAC,EAAE;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,GACnE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,GAAG,SAAS,CAGvD;AACD,OAAO,EAAE,aAAa,EAAE,CAAA;AAqnBxB,6GAA6G;AAC7G,eAAO,MAAM,8BAA8B,EAAE,SAAS,MAAM,EAAmE,CAAA;AAE/H,kGAAkG;AAClG,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAEpF,CAAA;AAED,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAA0F,CAAA;AAE/J,sFAAsF;AACtF,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAAoC,CAAA;AAElF;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAAiF,CAAA;AAE1I;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,EAAE,SAAS,MAAM,EAAmC,CAAA;AAmIlG;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB,CAEvE"}