@metamesh/generator-sdk 0.2.0 → 0.4.0

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/CHANGELOG.md CHANGED
@@ -1,12 +1,43 @@
1
1
  # @metamesh/generator-sdk
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - ad3bb49: Strengthen generator geometry with correct concave sweep caps, bounded region aggregation,
8
+ consistent finite input checks, protected copied-mesh scope exits, and shared primitive/extrusion
9
+ sampling. Add scoped hull, Minkowski sum, projection, slicing, and region revolution.
10
+
11
+ Compiled `MeshPart` now exposes `{ id, positions, indices, color? }`, directly compatible with SDK
12
+ `GeneratedPart`. Pass explicit `{ degrees }` or `{ radians }` to `rotationTransform3`, and rounded
13
+ rectangle sampling options as `{ segmentsPerCorner }` or `{ resolution }`.
14
+
15
+ Add `definePreparedGeneratorModule` for bounded, one-use validation/generation preparation while
16
+ preserving the five format-1 module exports. Authored `/v1` keeps its existing signatures and shares
17
+ the pure validation and sampling implementation with compiled modeling.
18
+
19
+ ## 0.3.0
20
+
21
+ ### Minor Changes
22
+
23
+ - e87357e: Add direct catalog-font text geometry and matching metrics through prepared synchronous font
24
+ scopes. Share vector layout with SVG outlining, use natural font line spacing by default, and
25
+ make whitespace measurable. Nonzero tracking disables optional ligatures to match browser text.
26
+ Compiled Generators can receive font services during validation as well as generation; packages
27
+ declaring font parameters require runtime 1.2.0. Text geometry requires an exact font selection;
28
+ host text services expose shared vector layout. Browser editing uses prepared vector measurements.
29
+ Compiled module calls require explicit execution services for validation and generation.
30
+
31
+ Use the shared transform functions for both 2D sections and 3D solids. Reuse core-validated immutable
32
+ loops, polygons, and regions when winding and tolerance policies match, avoiding repeated topology
33
+ validation without changing tessellation or accepting unvalidated caller geometry.
34
+
3
35
  ## 0.2.0
4
36
 
5
37
  ### Minor Changes
6
38
 
7
39
  - 8b4e918: Add immutable font selections, font parameters and prepared text services, the optional Geometry
8
- text engine, and reproducible font test services. Font-enabled packages require runtime 1.1.0;
9
- existing generator callbacks and package format 1 remain supported.
40
+ text engine, and reproducible font test services.
10
41
 
11
42
  ## 0.1.0
12
43
 
package/README.md CHANGED
@@ -22,6 +22,10 @@ normalization, structured validation, runtime envelopes, normalized generated-mo
22
22
  serializable catalog/package/install contracts. Project persistence belongs to Studio;
23
23
  release-state transitions belong to trusted database/tooling boundaries.
24
24
 
25
+ The optional `Export3mfRequest.partColors` map carries Project color overrides keyed by semantic
26
+ part ID. Studio validates and applies it during export; it does not enter Generator parameters or
27
+ change package generation contracts. Omitted overrides preserve generated colors.
28
+
25
29
  Zod is its only runtime dependency and is used at untrusted package-data boundaries. The package
26
30
  root owns exact exports and its strict schemas own accepted shapes. Generator package delivery
27
31
  remains a separate host responsibility.
@@ -39,10 +43,8 @@ Given a Generator `definition` and untrusted `persistedValues`:
39
43
  ```ts
40
44
  import {
41
45
  createParamCodec,
42
- decodeParameterState,
43
46
  defineGenerator,
44
47
  EMPTY_SVG_PARAMETER_DEFAULT,
45
- encodeParameterState,
46
48
  prepareParameters,
47
49
  type GeneratorParams,
48
50
  } from "@metamesh/generator-sdk";
@@ -52,20 +54,14 @@ type Parameters = GeneratorParams<typeof definition>;
52
54
 
53
55
  const { parameters, validation } = prepareParameters(definition, persistedValues);
54
56
  const strictParameters = createParamCodec(definition).parse(workerValues);
55
- const query = encodeParameterState(definition, parameters);
56
- const restored = decodeParameterState(definition, query);
57
57
  ```
58
58
 
59
59
  Normalization drops unknown parameter-value keys, fills missing or invalid values from each
60
60
  parameter's declared `default`, clamps numbers, and returns a fresh frozen map. Strict codecs instead
61
61
  reject missing, unknown, invalid, or noncanonical values and return cloned frozen arrays.
62
62
  `prepareParameters()` normalizes once and returns that same canonical map with the combined schema
63
- and Generator-owned validation result. Definitions accept only canonical parameter types. URL
64
- state is versioned and only includes known non-default values.
65
- Malformed, obsolete, or invalid URL values safely fall back to defaults. SVG runtime values remain
66
- standard strings, are limited to 256 KiB each and 512 KiB per normalized project, and are omitted
67
- from parameter URLs. URL scalars overlay a host-supplied persisted base so device-local SVG values
68
- are never erased by a shared URL.
63
+ and Generator-owned validation result. Definitions accept only canonical parameter types. SVG runtime values remain
64
+ standard strings and are limited to 256 KiB each and 512 KiB per normalized project.
69
65
 
70
66
  ```ts
71
67
  const profile = {
@@ -84,8 +80,7 @@ option values.
84
80
 
85
81
  Array definitions declare `items.type` as `number` or `string`. They may constrain `minItems` and
86
82
  `maxItems`; number items may also declare `min`, `max`, `step`, and `unit`. Array-valued controls are
87
- cloned at normalization and persistence boundaries, and URL state encodes them as deterministic
88
- JSON without changing scalar URL encoding. Conditions may compare scalar controls or test
83
+ cloned at normalization and persistence boundaries. Conditions may compare scalar controls or test
89
84
  `choice-set` membership; arbitrary arrays cannot be condition operands.
90
85
 
91
86
  ```ts
@@ -104,14 +99,17 @@ optional `collapsed` default. Parameters without a group render in Studio's Gene
104
99
 
105
100
  Font parameters use a `FontSelection` default with immutable `faceId`, SHA-256 `revision`, and
106
101
  integer `weight`. Structural validation does not require the font to be available locally. Valid
107
- unavailable references survive codecs, presets, URL state, and persistence. Studio prepares the
108
- declared fonts before calling generation and supplies `GeneratorServices` as the third compiled
109
- callback argument. `services.text.toSvg(text, { font, fontSize })` synchronously returns physical,
110
- path-only SVG. Older callbacks may ignore the additional argument. Font parameters require runtime
111
- `1.1.0`; package format remains 1. See [Studio fonts](https://github.com/JasonKoolman/metamesh/blob/main/docs/studio-fonts.md).
102
+ unavailable references survive codecs, presets, and persistence. Studio prepares the
103
+ declared fonts before executable validation and generation. It supplies `GeneratorServices` as the
104
+ second validator argument and third generation argument. `services.text.layout(text, { font,
105
+ fontSize })` returns positioned vector curves and matching metrics in millimetres. Geometry's
106
+ `withTextFonts(services.text, callback)` binds these services for `textContours()` and
107
+ `textMetrics()` in compiled code. The SDK and Geometry keep their small structural text contracts
108
+ compatible without importing each other's runtime. Font parameters and prepared text services require
109
+ runtime `1.2.0` or later. Package format remains 1.
112
110
 
113
111
  `GeneratorDefinition` is callback-free, JSON-safe metadata used by forms, manifests, persistence,
114
- normalization, and URL state. Its `min`, `max`, options, and other field constraints are portable
112
+ and normalization. Its `min`, `max`, options, and other field constraints are portable
115
113
  data. `defineGenerator()` preserves literal IDs and select options so `GeneratorParams`,
116
114
  `GeneratorParamId`, `GeneratorIssue`, validators, defaults, and presets derive from the definition.
117
115
  Keep derived-value, cross-parameter, warning, and geometry checks in a separate TypeScript
@@ -127,7 +125,9 @@ export const validate = defineValidator(definition, (parameters) => {
127
125
  });
128
126
  ```
129
127
 
130
- Pass the validator to `prepareParameters()` or `validateParameters()`. Use
128
+ `defineValidator()` preserves the callback's signature. Pass a parameter-only validator directly
129
+ to `prepareParameters()` or `validateParameters()`. For a validator that needs runtime services,
130
+ bind the prepared services explicitly: `(parameters) => validate(parameters, services)`. Use
131
131
  `definePresets(definition, presets)` to require complete definition-derived preset values.
132
132
 
133
133
  Schema editors only receive `definition`; they never serialize, parse, or rewrite validators.
@@ -167,12 +167,39 @@ definition, wraps callbacks to enforce synchronous array results, and returns tw
167
167
  only with host-prepared parameters; use `strict` for raw boundary values that must pass the host's
168
168
  codec. Extra exports fail closed.
169
169
 
170
+ Hosts always invoke modules with `validate(parameters, services)` and
171
+ `generate(parameters, context, services)`. Font-free hosts pass `UNPREPARED_GENERATOR_SERVICES`;
172
+ font-dependent hosts prepare and pass the selected fonts before executable validation. Author
173
+ callbacks may omit arguments they do not use.
174
+
175
+ Generators with expensive SVG import, font layout, encoding, or dimension resolution may use
176
+ `definePreparedGeneratorModule({ definition, prepare, generate })`. `prepare(parameters, services)`
177
+ returns `{ ok: true, value, issues }` or `{ ok: false, issues }`, with definition-derived structured
178
+ issues. Successful results may contain warnings but no errors; invalid results require an error.
179
+ The model callback receives `generate(parameters, context, services, preparedValue)`. The returned
180
+ module still exports exactly the same five fields and uses the unchanged host call signatures.
181
+
182
+ Preparation contains only finite plain objects, arrays, and scalar geometry or measurement data;
183
+ the helper checks and freezes that graph before use. Functions, accessors, cycles, promises,
184
+ class instances, typed arrays, and live WASM objects are rejected. Data traversal is bounded to
185
+ 1,000,000 values and 64 levels. The helper retains at most one successful validation result for the
186
+ exact deeply frozen parameter object and exact frozen services/provider objects, consumes it before the next
187
+ generation, and clears it on any later validation, generation, or failure. Different objects,
188
+ mutable parameters or services, and direct generation prepare afresh. This is execution-local reuse, not a
189
+ cross-execution or content cache; generators still own geometry complexity limits.
190
+
170
191
  Call `parseGeneratedParts()` on executable output before downstream mesh work. It accepts only
171
192
  non-empty arrays of uniquely identified parts backed by transferable `Float32Array` and
172
193
  `Uint32Array` storage, checks finite coordinates and valid indices, normalizes six-digit hex colors
173
194
  to lowercase, and enforces aggregate part, vertex, triangle, and backing-buffer byte limits. Closed-solid,
174
195
  manufacturing, and reconstruction checks remain Geometry or Generator responsibilities.
175
196
 
197
+ Hosts should use `executeGenerator()` as the single synchronous execution seam. It normalizes raw
198
+ values, runs schema and Generator validation, parses generated output, and returns either an explicit
199
+ `invalid` result or a `generated` result. Hosts that prepare asynchronous services first can pass the
200
+ `PreparedParameters` result to `executePreparedGenerator()`; malformed executable output remains a
201
+ thrown runtime failure.
202
+
176
203
  ## Worker boundary
177
204
 
178
205
  `ValidateRequest`, `GenerateRequest`, `Export3mfRequest`, and the `WorkerResponse` union carry
@@ -2,6 +2,7 @@ import type { FontSelection } from "./fonts.js";
2
2
  import type { ParameterGroup, GeneratorDefinition as ParsedGeneratorDefinition } from "./generator-package/schemas/definition.schema.js";
3
3
  import type { ArrayParameterDefinition, BooleanParameterDefinition, ChoiceSetParameterDefinition, ColorParameterDefinition, FontParameterDefinition, NumberArrayItemDefinition, NumberArrayParameterDefinition, NumberParameterDefinition, NumericParameterDefinition, ParameterDefinition, SelectOption, SelectParameterDefinition, SliderParameterDefinition, StringArrayItemDefinition, StringArrayParameterDefinition, SvgParameterDefinition, TextParameterDefinition } from "./generator-package/schemas/parameter.schema.js";
4
4
  import type { GeneratorRuntimeReference } from "./generator-packages.js";
5
+ import type { GeneratorServices } from "./generator-services.js";
5
6
  export type { ArrayParameterDefinition, FontParameterDefinition, BooleanParameterDefinition, ChoiceSetParameterDefinition, ColorParameterDefinition, NumberArrayItemDefinition, NumberArrayParameterDefinition, NumberParameterDefinition, NumericParameterDefinition, ParameterDefinition, ParameterGroup, SelectOption, SelectParameterDefinition, StringArrayItemDefinition, StringArrayParameterDefinition, SvgParameterDefinition, SliderParameterDefinition, TextParameterDefinition, };
6
7
  export type ScalarParameterValue = number | boolean | string;
7
8
  export type ParameterValue = ScalarParameterValue | readonly number[] | readonly string[] | FontSelection;
@@ -54,13 +55,13 @@ export interface ParameterValidationResult {
54
55
  /**
55
56
  * JSON-safe generator identity and parameter metadata.
56
57
  *
57
- * This is the contract used by forms, persistence, URL state, and package
58
+ * This is the contract used by forms, persistence, and package
58
59
  * manifests. Basic per-field constraints belong here; executable validation
59
60
  * deliberately does not.
60
61
  */
61
62
  export type GeneratorDefinition = ParsedGeneratorDefinition;
62
63
  /** Executable, generator-owned cross-parameter and geometry validation. */
63
- export type GeneratorValidator<D extends GeneratorDefinition = GeneratorDefinition> = (parameters: GeneratorParams<D>) => readonly GeneratorIssue<D>[];
64
+ export type GeneratorValidator<D extends GeneratorDefinition = GeneratorDefinition> = (parameters: GeneratorParams<D>, services: GeneratorServices) => readonly GeneratorIssue<D>[];
64
65
  export type Vec3 = readonly [number, number, number];
65
66
  export interface ModelBounds {
66
67
  readonly min: Vec3;
@@ -104,6 +105,8 @@ export interface ValidateRequest {
104
105
  readonly parameters: ParameterValues;
105
106
  }
106
107
  export interface Export3mfRequest {
108
+ /** Project appearance overrides keyed by semantic part ID; does not affect generation. */
109
+ readonly partColors?: Readonly<Record<string, string>>;
107
110
  readonly type: "export-3mf";
108
111
  readonly requestId: number;
109
112
  readonly generatorId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { GeneratedPart, GeneratorDefinition, GeneratorParams, ParameterValidationResult } from "./contracts.js";
2
+ import { type GeneratedPartsLimits } from "./generated-parts.js";
3
+ import type { GeneratorModule } from "./generator-module.js";
4
+ import type { GeneratorServices } from "./generator-services.js";
5
+ import type { PreparedParameters } from "./parameters.js";
6
+ /** The canonical callback surface required to execute a Generator module. */
7
+ export type GeneratorModuleCallbacks<D extends GeneratorDefinition = GeneratorDefinition, Context = unknown> = Pick<GeneratorModule<D, Context>, "validate" | "generate">;
8
+ export interface ExecuteGeneratorOptions<D extends GeneratorDefinition, Context> {
9
+ readonly definition: D;
10
+ readonly parameters: Readonly<Record<string, unknown>>;
11
+ readonly module: GeneratorModuleCallbacks<D, Context>;
12
+ readonly context: Context;
13
+ readonly services: GeneratorServices;
14
+ readonly limits?: Partial<GeneratedPartsLimits>;
15
+ }
16
+ export interface ExecutePreparedGeneratorOptions<D extends GeneratorDefinition, Context> {
17
+ readonly definition: D;
18
+ readonly prepared: PreparedParameters<D>;
19
+ readonly module: GeneratorModuleCallbacks<D, Context>;
20
+ readonly context: Context;
21
+ readonly services: GeneratorServices;
22
+ readonly limits?: Partial<GeneratedPartsLimits>;
23
+ }
24
+ export interface GeneratorExecutionInvalid<D extends GeneratorDefinition = GeneratorDefinition> {
25
+ readonly type: "invalid";
26
+ readonly parameters: GeneratorParams<D>;
27
+ readonly validation: ParameterValidationResult;
28
+ }
29
+ export interface GeneratorExecutionGenerated<D extends GeneratorDefinition> {
30
+ readonly type: "generated";
31
+ readonly parameters: GeneratorParams<D>;
32
+ readonly validation: ParameterValidationResult;
33
+ readonly parts: readonly GeneratedPart[];
34
+ }
35
+ export type GeneratorExecutionResult<D extends GeneratorDefinition> = GeneratorExecutionInvalid<D> | GeneratorExecutionGenerated<D>;
36
+ /**
37
+ * Executes a generator from an untrusted parameter record.
38
+ *
39
+ * Parameter schema failures stop before generator validation and generation. Generator callback
40
+ * failures and malformed output are intentionally allowed to throw so hosts cannot mistake a
41
+ * broken module for a valid generated model.
42
+ */
43
+ export declare function executeGenerator<const D extends GeneratorDefinition, Context>(options: ExecuteGeneratorOptions<D, Context>): GeneratorExecutionResult<D>;
44
+ /** Executes an already-normalized parameter set after host services are prepared. */
45
+ export declare function executePreparedGenerator<const D extends GeneratorDefinition, Context>(options: ExecutePreparedGeneratorOptions<D, Context>): GeneratorExecutionResult<D>;
46
+ //# sourceMappingURL=execute-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-generator.d.ts","sourceRoot":"","sources":["../src/execute-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,6EAA6E;AAC7E,MAAM,MAAM,wBAAwB,CAClC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EACnD,OAAO,GAAG,OAAO,IACf,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;AAE/D,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,mBAAmB,EAAE,OAAO;IAC7E,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,+BAA+B,CAAC,CAAC,SAAS,mBAAmB,EAAE,OAAO;IACrF,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAC5F,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,mBAAmB;IACxE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;CAC1C;AAED,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,mBAAmB,IAChE,yBAAyB,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC;AAYhE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAAE,OAAO,EAC3E,OAAO,EAAE,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC,GAC3C,wBAAwB,CAAC,CAAC,CAAC,CAK7B;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EAAE,OAAO,EACnF,OAAO,EAAE,+BAA+B,CAAC,CAAC,EAAE,OAAO,CAAC,GACnD,wBAAwB,CAAC,CAAC,CAAC,CAuB7B"}
@@ -0,0 +1,41 @@
1
+ import { parseGeneratedParts } from "./generated-parts.js";
2
+ import { aggregateParameterIssues, parseParameterIssues, prepareParameters } from "./parameters.js";
3
+ function invalidResult(prepared) {
4
+ return Object.freeze({
5
+ type: "invalid",
6
+ parameters: prepared.parameters,
7
+ validation: prepared.validation,
8
+ });
9
+ }
10
+ /**
11
+ * Executes a generator from an untrusted parameter record.
12
+ *
13
+ * Parameter schema failures stop before generator validation and generation. Generator callback
14
+ * failures and malformed output are intentionally allowed to throw so hosts cannot mistake a
15
+ * broken module for a valid generated model.
16
+ */
17
+ export function executeGenerator(options) {
18
+ return executePreparedGenerator({
19
+ ...options,
20
+ prepared: prepareParameters(options.definition, options.parameters),
21
+ });
22
+ }
23
+ /** Executes an already-normalized parameter set after host services are prepared. */
24
+ export function executePreparedGenerator(options) {
25
+ const { definition, module, prepared, context, services, limits } = options;
26
+ if (!prepared.validation.isValid)
27
+ return invalidResult(prepared);
28
+ const generatorIssues = parseParameterIssues(definition, module.validate(prepared.parameters, services));
29
+ const validation = aggregateParameterIssues(prepared.validation.issues, generatorIssues);
30
+ if (!validation.isValid) {
31
+ return invalidResult({ parameters: prepared.parameters, validation });
32
+ }
33
+ const parts = parseGeneratedParts(module.generate(prepared.parameters, context, services), limits);
34
+ return Object.freeze({
35
+ type: "generated",
36
+ parameters: prepared.parameters,
37
+ validation,
38
+ parts,
39
+ });
40
+ }
41
+ //# sourceMappingURL=execute-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-generator.js","sourceRoot":"","sources":["../src/execute-generator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAA6B,MAAM,sBAAsB,CAAC;AAGtF,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AA2CpG,SAAS,aAAa,CACpB,QAA+B;IAE/B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAA4C;IAE5C,OAAO,wBAAwB,CAAC;QAC9B,GAAG,OAAO;QACV,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;KACpE,CAAC,CAAC;AACL,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,wBAAwB,CACtC,OAAoD;IAEpD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC5E,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEjE,MAAM,eAAe,GAAG,oBAAoB,CAC1C,UAAU,EACV,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAC/C,CAAC;IACF,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAC/B,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,EACvD,MAAM,CACP,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU;QACV,KAAK;KACN,CAAC,CAAC;AACL,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { GeneratedPart, GeneratorDefinition, GeneratorParams, GeneratorValidator, ParameterIssue, ParameterValues } from "./contracts.js";
2
2
  import { GENERATOR_PACKAGE_FORMAT_VERSION } from "./generator-package/constants.js";
3
- import { type GeneratorServices } from "./generator-services.js";
4
- type CanonicalGenerate<D extends GeneratorDefinition, Context> = (parameters: GeneratorParams<D>, context: Context, services?: GeneratorServices) => readonly GeneratedPart[];
5
- type StrictGenerate<Context> = (parameters: ParameterValues, context: Context, services?: GeneratorServices) => readonly GeneratedPart[];
3
+ import type { GeneratorServices } from "./generator-services.js";
4
+ type CanonicalGenerate<D extends GeneratorDefinition, Context> = (parameters: GeneratorParams<D>, context: Context, services: GeneratorServices) => readonly GeneratedPart[];
5
+ type StrictGenerate<Context> = (parameters: ParameterValues, context: Context, services: GeneratorServices) => readonly GeneratedPart[];
6
6
  interface GeneratorModuleIdentity<D extends GeneratorDefinition> {
7
7
  readonly formatVersion: typeof GENERATOR_PACKAGE_FORMAT_VERSION;
8
8
  readonly generatorId: D["id"];
@@ -15,7 +15,7 @@ export interface GeneratorModule<D extends GeneratorDefinition = GeneratorDefini
15
15
  }
16
16
  /** A host-owned module lane that strictly decodes parameter maps before invocation. */
17
17
  export interface StrictGeneratorModule<D extends GeneratorDefinition = GeneratorDefinition, Context = unknown> extends GeneratorModuleIdentity<D> {
18
- readonly validate: (parameters: ParameterValues) => readonly ParameterIssue[];
18
+ readonly validate: (parameters: ParameterValues, services: GeneratorServices) => readonly ParameterIssue[];
19
19
  readonly generate: StrictGenerate<Context>;
20
20
  }
21
21
  /** The canonical and strict invocation lanes captured from an evaluated module. */
@@ -1 +1 @@
1
- {"version":3,"file":"generator-module.d.ts","sourceRoot":"","sources":["../src/generator-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator-module.d.ts","sourceRoot":"","sources":["../src/generator-module.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { GENERATOR_PACKAGE_FORMAT_VERSION } from "./generator-package/constants.js";
2
- import { UNPREPARED_GENERATOR_SERVICES } from "./generator-services.js";
3
2
  import { createParamCodec } from "./parameters.js";
4
3
  const EXPORT_NAMES = ["formatVersion", "generate", "generatorId", "validate", "version"];
5
4
  const hasExactExports = (value) => {
@@ -53,18 +52,18 @@ function assembleCanonicalModule(definition, validate, generate) {
53
52
  });
54
53
  }
55
54
  function checkedCanonicalModule(definition, validate, generate) {
56
- return assembleCanonicalModule(definition, (parameters) => requireSynchronousArray(validate(parameters), "validate"), (parameters, context, services = UNPREPARED_GENERATOR_SERVICES) => requireSynchronousArray(generate(parameters, context, services), "generate"));
55
+ return assembleCanonicalModule(definition, (parameters, services) => requireSynchronousArray(validate(parameters, services), "validate"), (parameters, context, services) => requireSynchronousArray(generate(parameters, context, services), "generate"));
57
56
  }
58
57
  function strictModule(definition, canonical) {
59
58
  const codec = createParamCodec(definition);
60
59
  return Object.freeze({
61
60
  formatVersion: canonical.formatVersion,
62
- generate(parameters, context, services = UNPREPARED_GENERATOR_SERVICES) {
61
+ generate(parameters, context, services) {
63
62
  return canonical.generate(codec.parse(parameters), context, services);
64
63
  },
65
64
  generatorId: canonical.generatorId,
66
- validate(parameters) {
67
- return canonical.validate(codec.parse(parameters));
65
+ validate(parameters, services) {
66
+ return canonical.validate(codec.parse(parameters), services);
68
67
  },
69
68
  version: canonical.version,
70
69
  });
@@ -1 +1 @@
1
- {"version":3,"file":"generator-module.js","sourceRoot":"","sources":["../src/generator-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator-module.js","sourceRoot":"","sources":["../src/generator-module.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const METAMESH_RUNTIME_VERSION = "1.1.0";
1
+ export declare const METAMESH_RUNTIME_VERSION = "1.2.0";
2
2
  export declare const GENERATOR_PACKAGE_FORMAT_VERSION = 1;
3
3
  export declare const MAX_GENERATOR_PACKAGE_BYTES: number;
4
4
  /** Portable metadata limits enforced before package content reaches Studio. */
@@ -1,4 +1,4 @@
1
- export const METAMESH_RUNTIME_VERSION = "1.1.0";
1
+ export const METAMESH_RUNTIME_VERSION = "1.2.0";
2
2
  export const GENERATOR_PACKAGE_FORMAT_VERSION = 1;
3
3
  export const MAX_GENERATOR_PACKAGE_BYTES = 5 * 1024 * 1024;
4
4
  /** Portable metadata limits enforced before package content reaches Studio. */
@@ -40,8 +40,8 @@ export function validateGeneratorPresets(definition, presets, path = "presets")
40
40
  }
41
41
  export function validateManifestIdentity(manifest) {
42
42
  if (manifest.definition.parameters.some((parameter) => parameter.type === "font") &&
43
- compareSemanticVersions(manifest.runtimeVersion, "1.1.0") < 0) {
44
- fail("manifest.runtimeVersion", "font parameters require runtime 1.1.0 or later");
43
+ compareSemanticVersions(manifest.runtimeVersion, "1.2.0") < 0) {
44
+ fail("manifest.runtimeVersion", "font parameters require runtime 1.2.0 or later");
45
45
  }
46
46
  if (manifest.definition.id !== manifest.generatorId ||
47
47
  manifest.definition.version !== manifest.version) {
@@ -6,14 +6,33 @@ export interface GeneratorTextOptions {
6
6
  readonly letterSpacing?: number;
7
7
  readonly lineHeight?: number;
8
8
  readonly align?: "left" | "center" | "right";
9
+ readonly verticalAlign?: "baseline" | "top" | "center" | "bottom";
10
+ }
11
+ /** Structural mirror of Geometry text metrics, keeping the SDK renderer-independent. */
12
+ export interface GeneratorTextMetrics {
13
+ readonly bounds: {
14
+ readonly min: readonly [number, number];
15
+ readonly max: readonly [number, number];
16
+ } | null;
17
+ readonly advance: readonly [number, number];
18
+ readonly logicalWidth: number;
19
+ readonly ascent: number;
20
+ readonly descent: number;
21
+ readonly lineHeight: number;
22
+ readonly lineCount: number;
23
+ }
24
+ /** Exact vector paths and measurements in Y-up millimetres, never font bytes or live objects. */
25
+ export interface GeneratorTextLayout {
26
+ readonly paths: readonly string[];
27
+ readonly metrics: GeneratorTextMetrics;
9
28
  }
10
29
  /** Host services are local to an execution; functions never cross the Worker protocol. */
11
30
  export interface GeneratorServices {
12
31
  readonly text: {
13
- /** Produces bounded, outlined SVG suitable for svgSection() or importSvgRegion(). */
14
- readonly toSvg: (text: string, options: GeneratorTextOptions) => string;
32
+ /** Shared layout provider for Geometry's textSection(), textContours(), and textMetrics(). */
33
+ readonly layout: (text: string, options: GeneratorTextOptions) => GeneratorTextLayout;
15
34
  };
16
35
  }
17
- /** Keeps legacy two-argument module calls valid while making missing preparation explicit. */
36
+ /** A font-free execution fails explicitly if a callback requests unprepared text geometry. */
18
37
  export declare const UNPREPARED_GENERATOR_SERVICES: GeneratorServices;
19
38
  //# sourceMappingURL=generator-services.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator-services.d.ts","sourceRoot":"","sources":["../src/generator-services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,+FAA+F;AAC/F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CAC9C;AAED,0FAA0F;AAC1F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE;QACb,qFAAqF;QACrF,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,MAAM,CAAC;KACzE,CAAC;CACH;AAED,8FAA8F;AAC9F,eAAO,MAAM,6BAA6B,EAAE,iBAM1C,CAAC"}
1
+ {"version":3,"file":"generator-services.d.ts","sourceRoot":"","sources":["../src/generator-services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,+FAA+F;AAC/F,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACnE;AAED,wFAAwF;AACxF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,iGAAiG;AACjG,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;CACxC;AAED,0FAA0F;AAC1F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE;QACb,8FAA8F;QAC9F,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,mBAAmB,CAAC;KACvF,CAAC;CACH;AAED,8FAA8F;AAC9F,eAAO,MAAM,6BAA6B,EAAE,iBAM1C,CAAC"}
@@ -1,7 +1,7 @@
1
- /** Keeps legacy two-argument module calls valid while making missing preparation explicit. */
1
+ /** A font-free execution fails explicitly if a callback requests unprepared text geometry. */
2
2
  export const UNPREPARED_GENERATOR_SERVICES = Object.freeze({
3
3
  text: Object.freeze({
4
- toSvg: () => {
4
+ layout: () => {
5
5
  throw new Error("Text fonts have not been prepared by this runtime.");
6
6
  },
7
7
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"generator-services.js","sourceRoot":"","sources":["../src/generator-services.ts"],"names":[],"mappings":"AAmBA,8FAA8F;AAC9F,MAAM,CAAC,MAAM,6BAA6B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC5E,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,KAAK,EAAE,GAAW,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;KACF,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"generator-services.js","sourceRoot":"","sources":["../src/generator-services.ts"],"names":[],"mappings":"AAwCA,8FAA8F;AAC9F,MAAM,CAAC,MAAM,6BAA6B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC5E,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,GAAwB,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;KACF,CAAC;CACH,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,15 +1,18 @@
1
1
  export { evaluateCondition } from "./conditions.js";
2
2
  export { isFontSelection, type FontSelection } from "./fonts.js";
3
3
  export { UNPREPARED_GENERATOR_SERVICES } from "./generator-services.js";
4
- export type { GeneratorServices, GeneratorTextOptions } from "./generator-services.js";
4
+ export type { GeneratorServices, GeneratorTextLayout, GeneratorTextMetrics, GeneratorTextOptions, } from "./generator-services.js";
5
5
  export type { ConditionExpression } from "./conditions.js";
6
6
  export { DEFAULT_GENERATED_PARTS_LIMITS, parseGeneratedParts } from "./generated-parts.js";
7
7
  export type { GeneratedPartsLimits } from "./generated-parts.js";
8
+ export { executeGenerator, executePreparedGenerator } from "./execute-generator.js";
9
+ export type { ExecuteGeneratorOptions, ExecutePreparedGeneratorOptions, GeneratorExecutionGenerated, GeneratorExecutionInvalid, GeneratorExecutionResult, GeneratorModuleCallbacks, } from "./execute-generator.js";
8
10
  export { defineGeneratorModule, isGeneratorModule, parseGeneratorModule, } from "./generator-module.js";
9
11
  export type { GeneratorModule, GeneratorModuleOptions, ParsedGeneratorModule, StrictGeneratorModule, } from "./generator-module.js";
12
+ export { definePreparedGeneratorModule } from "./prepared-generator-module.js";
13
+ export type { GeneratorPreparation, PreparedGeneratorModuleOptions, } from "./prepared-generator-module.js";
10
14
  export { aggregateParameterIssues, createParamCodec, defineGenerator, definePresets, defineValidator, EMPTY_SVG_PARAMETER_DEFAULT, getDefaultParameters, MAX_PARAMETER_ISSUE_MESSAGE_LENGTH, MAX_PARAMETER_ISSUES, MAX_PROJECT_SVG_PARAMETER_BYTES, MAX_SVG_PARAMETER_BYTES, normalizeParameters, ParamDecodeError, parameterValueEquals, parseParameterIssues, prepareParameters, svgParameterBytes, validateParameters, } from "./parameters.js";
11
15
  export type { ParamCodec, ParamDecodeCode, ParamDecodeIssue, ParamParseResult, PreparedParameters, } from "./parameters.js";
12
- export { decodeParameterState, encodeParameterState, PARAMETER_URL_VERSION } from "./url-state.js";
13
16
  export type { SourceVisibility } from "./source-visibility.js";
14
17
  export { compareSemanticVersions, GENERATOR_PACKAGE_FORMAT_VERSION, GeneratorPackageValidationError, isRuntimeCompatible, MAX_GENERATOR_PACKAGE_BYTES, METAMESH_RUNTIME_VERSION, parseGeneratorDescriptor, parseGeneratorPackageManifest, parseGeneratorDefinition, validateGeneratorPresets, } from "./generator-packages.js";
15
18
  export type { GeneratorAccess, GeneratorDescriptor, GeneratorPackageManifest, GeneratorPackageSource, GeneratorPreset, GeneratorRuntimeReference, InstalledGenerator, } from "./generator-packages.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACvF,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,eAAe,EACf,2BAA2B,EAC3B,oBAAoB,EACpB,kCAAkC,EAClC,oBAAoB,EACpB,+BAA+B,EAC/B,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACnG,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,+BAA+B,EAC/B,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,yBAAyB,EACzB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,yBAAyB,EACzB,IAAI,EACJ,uBAAuB,EACvB,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2,8 +2,9 @@ export { evaluateCondition } from "./conditions.js";
2
2
  export { isFontSelection } from "./fonts.js";
3
3
  export { UNPREPARED_GENERATOR_SERVICES } from "./generator-services.js";
4
4
  export { DEFAULT_GENERATED_PARTS_LIMITS, parseGeneratedParts } from "./generated-parts.js";
5
+ export { executeGenerator, executePreparedGenerator } from "./execute-generator.js";
5
6
  export { defineGeneratorModule, isGeneratorModule, parseGeneratorModule, } from "./generator-module.js";
7
+ export { definePreparedGeneratorModule } from "./prepared-generator-module.js";
6
8
  export { aggregateParameterIssues, createParamCodec, defineGenerator, definePresets, defineValidator, EMPTY_SVG_PARAMETER_DEFAULT, getDefaultParameters, MAX_PARAMETER_ISSUE_MESSAGE_LENGTH, MAX_PARAMETER_ISSUES, MAX_PROJECT_SVG_PARAMETER_BYTES, MAX_SVG_PARAMETER_BYTES, normalizeParameters, ParamDecodeError, parameterValueEquals, parseParameterIssues, prepareParameters, svgParameterBytes, validateParameters, } from "./parameters.js";
7
- export { decodeParameterState, encodeParameterState, PARAMETER_URL_VERSION } from "./url-state.js";
8
9
  export { compareSemanticVersions, GENERATOR_PACKAGE_FORMAT_VERSION, GeneratorPackageValidationError, isRuntimeCompatible, MAX_GENERATOR_PACKAGE_BYTES, METAMESH_RUNTIME_VERSION, parseGeneratorDescriptor, parseGeneratorPackageManifest, parseGeneratorDefinition, validateGeneratorPresets, } from "./generator-packages.js";
9
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAsB,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAGxE,OAAO,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3F,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,eAAe,EACf,2BAA2B,EAC3B,oBAAoB,EACpB,kCAAkC,EAClC,oBAAoB,EACpB,+BAA+B,EAC/B,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEnG,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,+BAA+B,EAC/B,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAsB,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAQxE,OAAO,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3F,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AASpF,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAK/E,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,eAAe,EACf,2BAA2B,EAC3B,oBAAoB,EACpB,kCAAkC,EAClC,oBAAoB,EACpB,+BAA+B,EAC/B,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,+BAA+B,EAC/B,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { GeneratorDefinition, GeneratorParams, GeneratorValidator, ParameterIssue, ParameterValidationResult, ParameterValue } from "./contracts.js";
1
+ import type { GeneratorDefinition, GeneratorIssue, GeneratorParams, GeneratorValidator, ParameterIssue, ParameterValidationResult, ParameterValue } from "./contracts.js";
2
2
  import type { GeneratorPreset } from "./generator-package/schemas/preset.schema.js";
3
3
  export declare const MAX_SVG_PARAMETER_BYTES: number;
4
4
  export declare const MAX_PROJECT_SVG_PARAMETER_BYTES: number;
@@ -34,7 +34,7 @@ export declare class ParamDecodeError extends TypeError {
34
34
  /** Captures literal parameter IDs and option values without adding runtime work. */
35
35
  export declare function defineGenerator<const D extends GeneratorDefinition>(definition: D): D;
36
36
  /** Contextually types a Generator validator from its definition. */
37
- export declare function defineValidator<const D extends GeneratorDefinition>(_definition: D, validator: GeneratorValidator<NoInfer<D>>): GeneratorValidator<D>;
37
+ export declare function defineValidator<const D extends GeneratorDefinition, Validator extends GeneratorValidator<NoInfer<D>>>(_definition: D, validator: Validator): Validator;
38
38
  /** Contextually types complete presets from their Generator definition. */
39
39
  export declare function definePresets<const D extends GeneratorDefinition, const Presets extends readonly GeneratorPreset<NoInfer<D>>[]>(_definition: D, presets: Presets): Presets;
40
40
  export declare function svgParameterBytes(value: string): number;
@@ -63,7 +63,7 @@ export declare function parseParameterIssues(definition: GeneratorDefinition, va
63
63
  * Normalizes known values once, then aggregates schema and Generator-owned issues.
64
64
  * Obsolete keys never leak into Generator validation.
65
65
  */
66
- export declare function prepareParameters<const D extends GeneratorDefinition>(definition: D, parameters: Readonly<Record<string, unknown>>, validate?: GeneratorValidator<D>): PreparedParameters<D>;
66
+ export declare function prepareParameters<const D extends GeneratorDefinition>(definition: D, parameters: Readonly<Record<string, unknown>>, validate?: (parameters: GeneratorParams<D>) => readonly GeneratorIssue<D>[]): PreparedParameters<D>;
67
67
  /** Aggregates definition and Generator-owned validation issues. */
68
- export declare function validateParameters<const D extends GeneratorDefinition>(definition: D, parameters: Readonly<Record<string, unknown>>, validate?: GeneratorValidator<D>): ParameterValidationResult;
68
+ export declare function validateParameters<const D extends GeneratorDefinition>(definition: D, parameters: Readonly<Record<string, unknown>>, validate?: (parameters: GeneratorParams<D>) => readonly GeneratorIssue<D>[]): ParameterValidationResult;
69
69
  //# sourceMappingURL=parameters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../src/parameters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../src/parameters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../src/parameters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../src/parameters.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAG1C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,GAAG,IAAI,CAAC;AAClD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,GAAG,IAAI,CAAC;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,kCAAkC,GAAG,KAAK,CAAC;AACxD,MAAM,CAAC,MAAM,2BAA2B,GACtC,uGAAuG,CAAC;AAyB1G,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IACpC,MAAM,CAA8B;IAE7C,YAAY,MAAmC;QAC7C,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,mCAAmC,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,oFAAoF;AACpF,MAAM,UAAU,eAAe,CAAsC,UAAa;IAChF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,eAAe,CAG7B,WAAc,EAAE,SAAoB;IACpC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,aAAa,CAG3B,WAAc,EAAE,OAAgB;IAChC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;AACpD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,CACL,KAAK,CAAC,MAAM,IAAI,uBAAuB,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,uBAAuB,CAC/F,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,SAAiB;IACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS;QAAE,OAAO,SAAS,CAAC;IACxE,MAAM,OAAO,GAAc,EAAE,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,IACE,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;YAChC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAClB,GAAG,KAAK,QAAQ;gBACd,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ;oBACvB,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;oBAChB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM;oBAC1B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAChC,EACD,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACzE,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAyB;IACrD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,wBAAwB,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAyB;IACpD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAqB;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAoC,EACpC,IAAgC;IAEhC,IAAI,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,OAAO,CACL,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;YAC/B,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;YACnC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAChC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACxF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,OAAgB,EAAE,OAAgB;IAC9D,MAAM,WAAW,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7E,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CACrB,SAA8B,EAC9B,KAAc,EACd,QAAwB;IAExB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC;QAC9C,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE;QAClB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC;YACzB,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE;YACjB,CAAC,CAAC,QAAQ,CAAC;IACf,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,eAAe,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;gBAC1E,CAAC,CAAC,aAAa,CAAC;QACpB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACxD,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC;gBAC5C,CAAC,CAAC,aAAa,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;QAC5D,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;gBAC5F,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,aAAa,CAAC;QACpB,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;gBAClE,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YAC7D,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,aAAa,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YACnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChF,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YACD,IACE,CAAC,SAAS,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC;gBACnF,CAAC,SAAS,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,EACnF,CAAC;gBACD,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,iEAAiE;YACjE,uEAAuE;YACvE,OAAO,SAAS,CAAC,OAAO;iBACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC7B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,OAAO;YACV,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/D,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;gBACrB,CAAC,CAAC,aAAa,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,yBAAyB;gBAC3E,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,aAAa,CAAC;QACpB,KAAK,KAAK;YACR,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;QAClF,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,aAAa,CAAC;YAChD,IACE,KAAK,CAAC,MAAM,GAAG,eAAe;gBAC9B,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC;gBACvE,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,EACvE,CAAC;gBACD,OAAO,aAAa,CAAC;YACvB,CAAC;YACD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACvD,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,aAAa,CAAC;YAChD,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;YACjE,CAAC;YACD,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC;YACrC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;gBAAE,OAAO,aAAa,CAAC;YACxD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,SAA8B;IACjE,OAAO,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,QAAQ,CACf,KAA2D,EAC3D,GAAW;IAEX,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1F,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/D,OAAO,UAAU,KAAK,SAAS,IAAI,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAa,EACb,KAAgD;IAEhD,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACtD,MAAM,QAAQ,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACxD,OAAO;YACL,SAAS,CAAC,EAAE;YACZ,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC;SAC1D,CAAC;IACb,CAAC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAuB,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,UAAa;IAEb,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,KAAK,CAAC,WAAmB,EAAE,OAAe;IACjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,uBAAuB,CAC9B,SAA8B,EAC9B,KAAc;IAEd,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,eAAe,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,uCAAuC,CAAC,CAAC,CAAC;QACvF,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,2BAA2B,CAAC,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,MAAM,GAAqB,EAAE,CAAC;YACpC,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,qBAAqB,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC5F,CAAC;YACD,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,oBAAoB,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC3F,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,SAAS;YACZ,OAAO,OAAO,KAAK,KAAK,SAAS;gBAC/B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,yBAAyB,CAAC,CAAC,CAAC;QACzE,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;gBAC5F,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,wCAAwC,CAAC,CAAC,CAAC;QACxF,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,uCAAuC,CAAC,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,MAAM,GAAqB,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;gBACzC,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,CAAC,EAAE,EACZ,GAAG,SAAS,CAAC,KAAK,yBAAyB,qBAAqB,WAAW,CAC5E,CACF,CAAC;gBACF,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YAC7D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,uCAAuC,CAAC,CAAC,CAAC;gBAC5F,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YACxE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,eAAe,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBACxD,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB;oBAAE,MAAM;gBAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzD,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,WAAW,KAAK,GAAG,CAAC,qBAAqB,CAAC,CACjF,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,0BAA0B,CAAC,CAAC,CAAC;oBAC/E,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,SAAS,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;gBACtF,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,CAAC,EAAE,EACZ,GAAG,SAAS,CAAC,KAAK,0BAA0B,SAAS,CAAC,aAAa,WAAW,CAC/E,CACF,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;gBACtF,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,CAAC,EAAE,EACZ,GAAG,SAAS,CAAC,KAAK,yBAAyB,SAAS,CAAC,aAAa,WAAW,CAC9E,CACF,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,OAAO;YACV,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/D,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,iCAAiC,CAAC,CAAC,CAAC;QACjF,KAAK,MAAM;YACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,IAAI,yBAAyB;gBAC9C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,KAAK,CACH,SAAS,CAAC,EAAE,EACZ,GAAG,SAAS,CAAC,KAAK,yBAAyB,yBAAyB,cAAc,CACnF;iBACF,CAAC;QACR,KAAK,KAAK;YACR,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAC3B,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC;YACvE,OAAO,YAAY,CAAC,KAAK,CAAC;gBACxB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,8BAA8B,CAAC,CAAC,CAAC;QAC9E,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,MAAM,GAAqB,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,yBAAyB,eAAe,SAAS,CAAC,CACzF,CAAC;gBACF,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC1E,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,CAAC,EAAE,EACZ,GAAG,SAAS,CAAC,KAAK,0BAA0B,SAAS,CAAC,QAAQ,SAAS,CACxE,CACF,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC1E,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,CAAC,EAAE,EACZ,GAAG,SAAS,CAAC,KAAK,yBAAyB,SAAS,CAAC,QAAQ,SAAS,CACvE,CACF,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACvD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,uCAAuC,CAAC,CAAC,CAAC;gBAC5F,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAChE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,eAAe,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;gBACxD,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB;oBAAE,MAAM;gBAClD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,SAAS,KAAK,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACzF,CAAC;yBAAM,IAAI,IAAI,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;wBAClD,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,CAAC,EAAE,EACZ,GAAG,SAAS,CAAC,KAAK,SAAS,KAAK,GAAG,CAAC,yBAAyB,wBAAwB,cAAc,CACpG,CACF,CAAC;oBACJ,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,MAAM,CAAC,IAAI,CACT,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,SAAS,KAAK,GAAG,CAAC,2BAA2B,CAAC,CACrF,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACpE,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,CAAC,EAAE,EACZ,GAAG,SAAS,CAAC,KAAK,SAAS,KAAK,GAAG,CAAC,qBAAqB,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAChF,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACpE,MAAM,CAAC,IAAI,CACT,KAAK,CACH,SAAS,CAAC,EAAE,EACZ,GAAG,SAAS,CAAC,KAAK,SAAS,KAAK,GAAG,CAAC,oBAAoB,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAC/E,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,SAAyB;IACtE,IAAI,eAAe,CAAC,SAAS,CAAC;QAC5B,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACvD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC/E,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,WAAW,CAClB,IAAqB,EACrB,IAAkC,EAClC,OAAe,EACf,WAAoB;IAEpB,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;AACpG,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA0B,EAAE,IAAsB;IAC3E,IAAI,MAAM,CAAC,MAAM,GAAG,oBAAoB;QAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAa;IAEb,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACrF,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvD,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,KAAc,EAAwC,EAAE;QACzE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,yCAAyC,CAAC,CAAC;aAC7E,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,iBAAiB,CACf,MAAM,EACN,WAAW,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,gCAAgC,YAAY,IAAI,CAAC,CACzF,CAAC;gBACF,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB;oBAAE,MAAM;YACpD,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAA0C,EAAE,CAAC;QAC1D,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB;gBAAE,MAAM;YAClD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YACxE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,iBAAiB,CACf,MAAM,EACN,WAAW,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC,CACxF,CAAC;gBACF,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;gBAC7B,iBAAiB,CACf,MAAM,EACN,WAAW,CACT,SAAS,EACT,CAAC,SAAS,CAAC,EAAE,CAAC,EACd,GAAG,SAAS,CAAC,KAAK,wBAAwB,EAC1C,SAAS,CAAC,EAAE,CACb,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAgB,CAAC;YAC1C,MAAM,WAAW,GAAG,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC9D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,iBAAiB,CACf,MAAM,EACN,WAAW,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CACzE,CAAC;YACJ,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAErC,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC7C,iBAAiB,CACf,MAAM,EACN,WAAW,CACT,SAAS,EACT,CAAC,SAAS,CAAC,EAAE,CAAC,EACd,GAAG,SAAS,CAAC,KAAK,yCAAyC,EAC3D,SAAS,CAAC,EAAE,CACb,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC1D,QAAQ,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,CAAC,EAAE;gBACZ,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;aAChD,CAAC,CAAC;QACd,CAAC;QAED,IAAI,QAAQ,GAAG,+BAA+B,IAAI,MAAM,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;YACvF,iBAAiB,CACf,MAAM,EACN,WAAW,CAAC,SAAS,EAAE,EAAE,EAAE,yDAAyD,CAAC,CACtF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAuB,CAAC;SAC1E,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,SAAS;QACT,KAAK,CAAC,KAAK;YACT,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,GAAG,SAAiD;IAEpD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IAExE,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM;QACN,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAA+B,EAC/B,KAAc;IAEd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,gEAAgE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACxC,MAAM,IAAI,SAAS,CAAC,2CAA2C,oBAAoB,UAAU,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,sEAAsE,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,8BAA8B,KAAK,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,qBAAqB,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;QACpE,IAAI,IAA4B,CAAC;QACjC,IAAI,CAAC;YACH,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACxF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,4BAA4B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,GAA2C,EAAW,EAAE;YACzE,IAAI,UAA0C,CAAC;YAC/C,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,IAAI,GAAG,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC/C,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,IAAI,GAAG,6BAA6B,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,yCAAyC,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,sCAAsC,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,kCAAkC,EAAE,CAAC;YACxD,MAAM,IAAI,SAAS,CACjB,GAAG,IAAI,gCAAgC,kCAAkC,cAAc,CACxF,CAAC;QACJ,CAAC;QACD,IACE,WAAW,KAAK,SAAS;YACzB,CAAC,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EACnE,CAAC;YACD,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,kDAAkD,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAClB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,CAC9D,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,gBAAgB,CAAmB,UAAa;IACvD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAa,EACb,UAA6C,EAC7C,QAA2E;IAE3E,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAC/D,uBAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CACvE,CAAC;IACF,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACjE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC1D,CAAC,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;YAClC,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,MAAM,gBAAgB,GACpB,QAAQ,GAAG,+BAA+B;QACxC,CAAC,CAAC;YACE;gBACE,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,yDAAyD;aAC1C;SAC3B;QACH,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC/D,MAAM,YAAY,GAChB,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvF,OAAO;QACL,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE,wBAAwB,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC;KACnF,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,kBAAkB,CAChC,UAAa,EACb,UAA6C,EAC7C,QAA2E;IAE3E,OAAO,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,UAAU,CAAC;AACxE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { GeneratedPart, GeneratorDefinition, GeneratorIssue, GeneratorParams } from "./contracts.js";
2
+ import { type GeneratorModule } from "./generator-module.js";
3
+ import type { GeneratorServices } from "./generator-services.js";
4
+ /** Successful preparation contains plain, immutable measurements and geometry data. */
5
+ export type GeneratorPreparation<D extends GeneratorDefinition, Prepared> = {
6
+ readonly ok: true;
7
+ readonly value: Readonly<Prepared>;
8
+ readonly issues: readonly GeneratorIssue<D>[];
9
+ } | {
10
+ readonly ok: false;
11
+ readonly issues: readonly GeneratorIssue<D>[];
12
+ };
13
+ export interface PreparedGeneratorModuleOptions<D extends GeneratorDefinition, Context, Prepared> {
14
+ readonly definition: D;
15
+ readonly prepare: (parameters: GeneratorParams<D>, services: GeneratorServices) => GeneratorPreparation<D, Prepared>;
16
+ readonly generate: (parameters: GeneratorParams<D>, context: Context, services: GeneratorServices, prepared: Readonly<Prepared>) => readonly GeneratedPart[];
17
+ }
18
+ /**
19
+ * Shares successful preparation between validation and the next generation of the exact frozen
20
+ * parameters and services. The single pending result is consumed before generation, including
21
+ * failed generation; direct calls prepare afresh. Returned modules retain the five format-1 exports.
22
+ */
23
+ export declare function definePreparedGeneratorModule<const D extends GeneratorDefinition, Context, Prepared>({ definition, prepare, generate, }: PreparedGeneratorModuleOptions<D, Context, Prepared>): GeneratorModule<D, Context>;
24
+ //# sourceMappingURL=prepared-generator-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepared-generator-module.d.ts","sourceRoot":"","sources":["../src/prepared-generator-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,uFAAuF;AACvF,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,mBAAmB,EAAE,QAAQ,IACpE;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/C,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAA;CAAE,CAAC;AAE1E,MAAM,WAAW,8BAA8B,CAAC,CAAC,SAAS,mBAAmB,EAAE,OAAO,EAAE,QAAQ;IAC9F,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,CAChB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAC9B,QAAQ,EAAE,iBAAiB,KACxB,oBAAoB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,CACjB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,KACzB,SAAS,aAAa,EAAE,CAAC;CAC/B;AAiGD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,CAAC,CAAC,SAAS,mBAAmB,EACnC,OAAO,EACP,QAAQ,EACR,EACA,UAAU,EACV,OAAO,EACP,QAAQ,GACT,EAAE,8BAA8B,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAsCpF"}
@@ -0,0 +1,124 @@
1
+ import { defineGeneratorModule } from "./generator-module.js";
2
+ import { parseParameterIssues } from "./parameters.js";
3
+ // Bound traversal of author data before retaining it between callbacks. This is not a geometry
4
+ // complexity policy; each generator remains responsible for its own physical sampling limits.
5
+ const MAX_PREPARATION_VALUES = 1_000_000;
6
+ const MAX_PREPARATION_DEPTH = 64;
7
+ function inspectPlainData(value, requireFrozen) {
8
+ const objects = [];
9
+ const visited = new Set();
10
+ const ancestors = new Set();
11
+ let count = 0;
12
+ const visit = (entry, depth) => {
13
+ if (++count > MAX_PREPARATION_VALUES || depth > MAX_PREPARATION_DEPTH) {
14
+ throw new TypeError("Generator preparation data exceeds the traversal limits.");
15
+ }
16
+ if (entry === null ||
17
+ entry === undefined ||
18
+ typeof entry === "boolean" ||
19
+ typeof entry === "string") {
20
+ return;
21
+ }
22
+ if (typeof entry === "number" && Number.isFinite(entry))
23
+ return;
24
+ if (typeof entry !== "object") {
25
+ throw new TypeError("Generator preparation must contain only finite, plain data values.");
26
+ }
27
+ if (ancestors.has(entry))
28
+ throw new TypeError("Generator preparation data must not contain cycles.");
29
+ if (visited.has(entry))
30
+ return;
31
+ const prototype = Object.getPrototypeOf(entry);
32
+ if ((Array.isArray(entry) && prototype !== Array.prototype) ||
33
+ (!Array.isArray(entry) && prototype !== Object.prototype && prototype !== null)) {
34
+ throw new TypeError("Generator preparation must contain only plain objects and arrays.");
35
+ }
36
+ if (requireFrozen && !Object.isFrozen(entry)) {
37
+ throw new TypeError("Generator preparation reuse requires deeply frozen parameters.");
38
+ }
39
+ visited.add(entry);
40
+ ancestors.add(entry);
41
+ objects.push(entry);
42
+ for (const key of Reflect.ownKeys(entry)) {
43
+ const descriptor = Object.getOwnPropertyDescriptor(entry, key);
44
+ if (typeof key !== "string" || descriptor === undefined || !("value" in descriptor)) {
45
+ throw new TypeError("Generator preparation data must not contain symbols or accessors.");
46
+ }
47
+ visit(descriptor.value, depth + 1);
48
+ }
49
+ ancestors.delete(entry);
50
+ };
51
+ visit(value, 0);
52
+ return objects;
53
+ }
54
+ function canReuse(parameters, services) {
55
+ try {
56
+ inspectPlainData(parameters, true);
57
+ const text = Object.getOwnPropertyDescriptor(services, "text");
58
+ const provider = text?.value;
59
+ return (Object.isFrozen(services) &&
60
+ typeof provider === "object" &&
61
+ provider !== null &&
62
+ Object.isFrozen(provider) &&
63
+ typeof Object.getOwnPropertyDescriptor(provider, "layout")?.value === "function");
64
+ }
65
+ catch {
66
+ return false;
67
+ }
68
+ }
69
+ function checkedPreparation(definition, result) {
70
+ // Inspect descriptors before reading so accidental getters, promises, and WASM handles never
71
+ // become retained preparation. Functions live in the callbacks, not in their result data.
72
+ const objects = inspectPlainData(result, false);
73
+ const issues = parseParameterIssues(definition, result.issues);
74
+ const hasErrors = issues.some((issue) => issue.severity === "error");
75
+ if (typeof result.ok !== "boolean" || result.ok === hasErrors) {
76
+ throw new TypeError("Generator preparation success must agree with its validation errors.");
77
+ }
78
+ const expected = result.ok ? ["ok", "value", "issues"] : ["ok", "issues"];
79
+ const keys = Object.keys(result);
80
+ if (keys.length !== expected.length || expected.some((key) => !keys.includes(key))) {
81
+ throw new TypeError("Generator preparation must return an explicit success or invalid result.");
82
+ }
83
+ for (const object of objects)
84
+ Object.freeze(object);
85
+ return result.ok
86
+ ? Object.freeze({ ok: true, value: result.value, issues })
87
+ : Object.freeze({ ok: false, issues });
88
+ }
89
+ /**
90
+ * Shares successful preparation between validation and the next generation of the exact frozen
91
+ * parameters and services. The single pending result is consumed before generation, including
92
+ * failed generation; direct calls prepare afresh. Returned modules retain the five format-1 exports.
93
+ */
94
+ export function definePreparedGeneratorModule({ definition, prepare, generate, }) {
95
+ let pending;
96
+ const runPreparation = (parameters, services) => checkedPreparation(definition, prepare(parameters, services));
97
+ return defineGeneratorModule({
98
+ definition,
99
+ validate(parameters, services) {
100
+ pending = undefined;
101
+ const result = runPreparation(parameters, services);
102
+ if (result.ok && canReuse(parameters, services)) {
103
+ pending = { parameters, services, value: result.value };
104
+ }
105
+ return result.issues;
106
+ },
107
+ generate(parameters, context, services) {
108
+ const previous = pending;
109
+ pending = undefined;
110
+ if (previous?.parameters === parameters && previous.services === services) {
111
+ return generate(parameters, context, services, previous.value);
112
+ }
113
+ const result = runPreparation(parameters, services);
114
+ if (!result.ok) {
115
+ throw new Error(result.issues
116
+ .filter((issue) => issue.severity === "error")
117
+ .map((issue) => issue.message)
118
+ .join(" "));
119
+ }
120
+ return generate(parameters, context, services, result.value);
121
+ },
122
+ });
123
+ }
124
+ //# sourceMappingURL=prepared-generator-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepared-generator-module.js","sourceRoot":"","sources":["../src/prepared-generator-module.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamesh/generator-sdk",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Portable contracts and helpers for MetaMesh Generators.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -33,12 +33,12 @@
33
33
  "registry": "https://registry.npmjs.org/"
34
34
  },
35
35
  "dependencies": {
36
- "zod": "4.6.2"
36
+ "zod": "4.6.5"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@metamesh/config": "0.0.0",
40
- "@vitest/coverage-v8": "^5.0.0",
41
- "vitest": "^5.0.0"
40
+ "@vitest/coverage-v8": "^5.0.2",
41
+ "vitest": "^5.0.2"
42
42
  },
43
43
  "scripts": {
44
44
  "build": "tsc -p tsconfig.build.json",
@@ -1,13 +0,0 @@
1
- import type { GeneratorDefinition, GeneratorParams } from "./contracts.js";
2
- export declare const PARAMETER_URL_VERSION = 1;
3
- /**
4
- * Encodes declared, non-default parameters in definition order. The returned
5
- * value is a query string without a leading `?`.
6
- */
7
- export declare function encodeParameterState(definition: GeneratorDefinition, parameters: Readonly<Record<string, unknown>>): string;
8
- /**
9
- * Restores known values from a query string or URL. Malformed, unknown, and
10
- * invalid entries are ignored. Unsupported explicit versions return defaults.
11
- */
12
- export declare function decodeParameterState<const D extends GeneratorDefinition>(definition: D, query: string, base?: Readonly<Record<string, unknown>> | null): GeneratorParams<D>;
13
- //# sourceMappingURL=url-state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url-state.d.ts","sourceRoot":"","sources":["../src/url-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EAGhB,MAAM,gBAAgB,CAAC;AAIxB,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAiGvC;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC5C,MAAM,CAkBR;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,CAAC,SAAS,mBAAmB,EACtE,UAAU,EAAE,CAAC,EACb,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,GAC9C,eAAe,CAAC,CAAC,CAAC,CA6BpB"}
package/dist/url-state.js DELETED
@@ -1,149 +0,0 @@
1
- import { isFontSelection } from "./fonts.js";
2
- import { getDefaultParameters, normalizeParameters, parameterValueEquals } from "./parameters.js";
3
- export const PARAMETER_URL_VERSION = 1;
4
- function serializeValue(value) {
5
- if (Array.isArray(value) || isFontSelection(value))
6
- return JSON.stringify(value);
7
- if (typeof value === "boolean") {
8
- return value ? "1" : "0";
9
- }
10
- return String(value);
11
- }
12
- function parseValue(parameter, value) {
13
- switch (parameter.type) {
14
- case "font": {
15
- if (value.length > 512)
16
- return undefined;
17
- try {
18
- const parsed = JSON.parse(value);
19
- return isFontSelection(parsed) ? parsed : undefined;
20
- }
21
- catch {
22
- return undefined;
23
- }
24
- }
25
- case "number":
26
- case "slider": {
27
- if (value.trim() === "") {
28
- return undefined;
29
- }
30
- const parsed = Number(value);
31
- return Number.isFinite(parsed) ? parsed : undefined;
32
- }
33
- case "boolean":
34
- if (value === "1" || value === "true") {
35
- return true;
36
- }
37
- if (value === "0" || value === "false") {
38
- return false;
39
- }
40
- return undefined;
41
- case "select":
42
- case "color":
43
- case "text":
44
- return value;
45
- case "svg":
46
- return undefined;
47
- case "choice-set":
48
- case "array": {
49
- try {
50
- const parsed = JSON.parse(value);
51
- if (!Array.isArray(parsed))
52
- return undefined;
53
- const entries = parsed;
54
- if (parameter.type === "choice-set") {
55
- return entries.every((item) => typeof item === "string") ? entries.slice() : undefined;
56
- }
57
- if (parameter.items.type === "string") {
58
- return entries.every((item) => typeof item === "string") ? entries.slice() : undefined;
59
- }
60
- return entries.every((item) => typeof item === "number" && Number.isFinite(item))
61
- ? entries.slice()
62
- : undefined;
63
- }
64
- catch {
65
- return undefined;
66
- }
67
- }
68
- }
69
- }
70
- function decodeComponent(value) {
71
- try {
72
- return decodeURIComponent(value.replace(/\+/g, " "));
73
- }
74
- catch {
75
- return undefined;
76
- }
77
- }
78
- function queryEntries(query) {
79
- const questionMark = query.indexOf("?");
80
- const queryStart = questionMark >= 0 ? questionMark + 1 : query.startsWith("?") ? 1 : 0;
81
- const hashMark = query.indexOf("#", queryStart);
82
- const body = query.slice(queryStart, hashMark >= 0 ? hashMark : undefined);
83
- const entries = [];
84
- for (const pair of body.split("&")) {
85
- if (pair === "") {
86
- continue;
87
- }
88
- const separator = pair.indexOf("=");
89
- const encodedKey = separator >= 0 ? pair.slice(0, separator) : pair;
90
- const encodedValue = separator >= 0 ? pair.slice(separator + 1) : "";
91
- const key = decodeComponent(encodedKey);
92
- const value = decodeComponent(encodedValue);
93
- if (key !== undefined && value !== undefined) {
94
- entries.push([key, value]);
95
- }
96
- }
97
- return entries;
98
- }
99
- /**
100
- * Encodes declared, non-default parameters in definition order. The returned
101
- * value is a query string without a leading `?`.
102
- */
103
- export function encodeParameterState(definition, parameters) {
104
- const normalized = normalizeParameters(definition, parameters);
105
- const defaults = getDefaultParameters(definition);
106
- const pairs = [`v=${PARAMETER_URL_VERSION}`];
107
- for (const parameter of definition.parameters) {
108
- // SVG bodies are local project data. URLs stay bounded and never replace a
109
- // device's persisted SVG with a definition default.
110
- if (parameter.type === "svg")
111
- continue;
112
- const value = normalized[parameter.id];
113
- if (value !== undefined && !parameterValueEquals(value, defaults[parameter.id])) {
114
- pairs.push(`${encodeURIComponent(parameter.id)}=${encodeURIComponent(serializeValue(value))}`);
115
- }
116
- }
117
- return pairs.join("&");
118
- }
119
- /**
120
- * Restores known values from a query string or URL. Malformed, unknown, and
121
- * invalid entries are ignored. Unsupported explicit versions return defaults.
122
- */
123
- export function decodeParameterState(definition, query, base) {
124
- const entries = queryEntries(query);
125
- const versionEntry = entries.find(([key]) => key === "v");
126
- if (versionEntry !== undefined && versionEntry[1] !== String(PARAMETER_URL_VERSION)) {
127
- return normalizeParameters(definition, base ?? getDefaultParameters(definition));
128
- }
129
- const definitions = new Map(definition.parameters.map((parameter) => [parameter.id, parameter]));
130
- const decoded = [];
131
- for (const [key, encodedValue] of entries) {
132
- const parameter = definitions.get(key);
133
- if (parameter === undefined || parameter.type === "svg") {
134
- continue;
135
- }
136
- const value = parseValue(parameter, encodedValue);
137
- if (value !== undefined) {
138
- const previousIndex = decoded.findIndex(([decodedKey]) => decodedKey === key);
139
- if (previousIndex >= 0)
140
- decoded.splice(previousIndex, 1);
141
- decoded.push([key, value]);
142
- }
143
- }
144
- return normalizeParameters(definition, {
145
- ...normalizeParameters(definition, base ?? getDefaultParameters(definition)),
146
- ...Object.fromEntries(decoded),
147
- });
148
- }
149
- //# sourceMappingURL=url-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url-state.js","sourceRoot":"","sources":["../src/url-state.ts"],"names":[],"mappings":"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"}