@metamesh/generator-sdk 0.1.0 → 0.3.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 +23 -0
- package/README.md +24 -3
- package/dist/contracts.d.ts +8 -4
- package/dist/contracts.d.ts.map +1 -1
- package/dist/fonts.d.ts +9 -0
- package/dist/fonts.d.ts.map +1 -0
- package/dist/fonts.js +30 -0
- package/dist/fonts.js.map +1 -0
- package/dist/generator-module.d.ts +4 -3
- package/dist/generator-module.d.ts.map +1 -1
- package/dist/generator-module.js +13 -6
- package/dist/generator-module.js.map +1 -1
- package/dist/generator-package/constants.d.ts +1 -1
- package/dist/generator-package/constants.js +1 -1
- package/dist/generator-package/schemas/definition.schema.d.ts +9 -0
- package/dist/generator-package/schemas/definition.schema.d.ts.map +1 -1
- package/dist/generator-package/schemas/manifest.schema.d.ts +821 -54
- package/dist/generator-package/schemas/manifest.schema.d.ts.map +1 -1
- package/dist/generator-package/schemas/parameter.schema.d.ts +21 -0
- package/dist/generator-package/schemas/parameter.schema.d.ts.map +1 -1
- package/dist/generator-package/schemas/parameter.schema.js +7 -0
- package/dist/generator-package/schemas/parameter.schema.js.map +1 -1
- package/dist/generator-package/schemas/preset.schema.d.ts.map +1 -1
- package/dist/generator-package/schemas/preset.schema.js +2 -0
- package/dist/generator-package/schemas/preset.schema.js.map +1 -1
- package/dist/generator-package/validate-definition.d.ts.map +1 -1
- package/dist/generator-package/validate-definition.js +3 -1
- package/dist/generator-package/validate-definition.js.map +1 -1
- package/dist/generator-package/validate-manifest.d.ts.map +1 -1
- package/dist/generator-package/validate-manifest.js +5 -0
- package/dist/generator-package/validate-manifest.js.map +1 -1
- package/dist/generator-services.d.ts +38 -0
- package/dist/generator-services.d.ts.map +1 -0
- package/dist/generator-services.js +9 -0
- package/dist/generator-services.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/parameters.d.ts +4 -4
- package/dist/parameters.d.ts.map +1 -1
- package/dist/parameters.js +22 -2
- package/dist/parameters.js.map +1 -1
- package/dist/url-state.d.ts.map +1 -1
- package/dist/url-state.js +13 -1
- package/dist/url-state.js.map +1 -1
- package/package.json +8 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @metamesh/generator-sdk
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- e87357e: Add direct catalog-font text geometry and matching metrics through prepared synchronous font
|
|
8
|
+
scopes. Share vector layout with SVG outlining, use natural font line spacing by default, and
|
|
9
|
+
make whitespace measurable. Nonzero tracking disables optional ligatures to match browser text.
|
|
10
|
+
Compiled Generators can receive font services during validation as well as generation; packages
|
|
11
|
+
declaring font parameters require runtime 1.2.0. Text geometry requires an exact font selection;
|
|
12
|
+
host text services expose shared vector layout. Browser editing uses prepared vector measurements.
|
|
13
|
+
Compiled module calls require explicit execution services for validation and generation.
|
|
14
|
+
|
|
15
|
+
Use the shared transform functions for both 2D sections and 3D solids. Reuse core-validated immutable
|
|
16
|
+
loops, polygons, and regions when winding and tolerance policies match, avoiding repeated topology
|
|
17
|
+
validation without changing tessellation or accepting unvalidated caller geometry.
|
|
18
|
+
|
|
19
|
+
## 0.2.0
|
|
20
|
+
|
|
21
|
+
### Minor Changes
|
|
22
|
+
|
|
23
|
+
- 8b4e918: Add immutable font selections, font parameters and prepared text services, the optional Geometry
|
|
24
|
+
text engine, and reproducible font test services.
|
|
25
|
+
|
|
3
26
|
## 0.1.0
|
|
4
27
|
|
|
5
28
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -12,7 +12,10 @@ Install the public package from npm:
|
|
|
12
12
|
pnpm add @metamesh/generator-sdk
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
The package root
|
|
15
|
+
The package root exposes the generator API. The isolated `@metamesh/generator-sdk/fonts` entry
|
|
16
|
+
exports only `FontSelection` and `isFontSelection`, with no imports or runtime dependencies.
|
|
17
|
+
It lets the private SVG editor share persisted font references without loading generator services
|
|
18
|
+
or Zod. Both exports remain available from the package root.
|
|
16
19
|
|
|
17
20
|
The package owns parameter/group definitions, serializable conditions, default derivation and
|
|
18
21
|
normalization, structured validation, runtime envelopes, normalized generated-model results, and
|
|
@@ -26,7 +29,7 @@ remains a separate host responsibility.
|
|
|
26
29
|
## Parameter definitions
|
|
27
30
|
|
|
28
31
|
Definitions use the `type` discriminant with `number`, `slider`, `boolean`, `select`, `choice-set`,
|
|
29
|
-
`color`, `text`, `svg`, and homogeneous `array` variants. A `slider` requires `min`, `max`, and
|
|
32
|
+
`color`, `text`, `font`, `svg`, and homogeneous `array` variants. A `slider` requires `min`, `max`, and
|
|
30
33
|
`step`, while a `number` may omit any of those constraints. Visibility uses serializable
|
|
31
34
|
`ConditionExpression` values; `evaluateCondition` supports `all`, `any`, `not`,
|
|
32
35
|
equality/inequality, numeric comparisons, and `choice-set` membership through `contains`.
|
|
@@ -99,6 +102,17 @@ const points = {
|
|
|
99
102
|
Groups are ordered sections with stable IDs, user-facing labels, optional descriptions, and an
|
|
100
103
|
optional `collapsed` default. Parameters without a group render in Studio's General section.
|
|
101
104
|
|
|
105
|
+
Font parameters use a `FontSelection` default with immutable `faceId`, SHA-256 `revision`, and
|
|
106
|
+
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 executable validation and generation. It supplies `GeneratorServices` as the
|
|
109
|
+
second validator argument and third generation argument. `services.text.layout(text, { font,
|
|
110
|
+
fontSize })` returns positioned vector curves and matching metrics in millimetres. Geometry's
|
|
111
|
+
`withTextFonts(services.text, callback)` binds these services for `textContours()` and
|
|
112
|
+
`textMetrics()` in compiled code. The SDK and Geometry keep their small structural text contracts
|
|
113
|
+
compatible without importing each other's runtime. Font parameters and prepared text services require
|
|
114
|
+
runtime `1.2.0` or later. Package format remains 1. See [Studio fonts](https://github.com/JasonKoolman/metamesh/blob/main/docs/studio-fonts.md).
|
|
115
|
+
|
|
102
116
|
`GeneratorDefinition` is callback-free, JSON-safe metadata used by forms, manifests, persistence,
|
|
103
117
|
normalization, and URL state. Its `min`, `max`, options, and other field constraints are portable
|
|
104
118
|
data. `defineGenerator()` preserves literal IDs and select options so `GeneratorParams`,
|
|
@@ -116,7 +130,9 @@ export const validate = defineValidator(definition, (parameters) => {
|
|
|
116
130
|
});
|
|
117
131
|
```
|
|
118
132
|
|
|
119
|
-
|
|
133
|
+
`defineValidator()` preserves the callback's signature. Pass a parameter-only validator directly
|
|
134
|
+
to `prepareParameters()` or `validateParameters()`. For a validator that needs runtime services,
|
|
135
|
+
bind the prepared services explicitly: `(parameters) => validate(parameters, services)`. Use
|
|
120
136
|
`definePresets(definition, presets)` to require complete definition-derived preset values.
|
|
121
137
|
|
|
122
138
|
Schema editors only receive `definition`; they never serialize, parse, or rewrite validators.
|
|
@@ -156,6 +172,11 @@ definition, wraps callbacks to enforce synchronous array results, and returns tw
|
|
|
156
172
|
only with host-prepared parameters; use `strict` for raw boundary values that must pass the host's
|
|
157
173
|
codec. Extra exports fail closed.
|
|
158
174
|
|
|
175
|
+
Hosts always invoke modules with `validate(parameters, services)` and
|
|
176
|
+
`generate(parameters, context, services)`. Font-free hosts pass `UNPREPARED_GENERATOR_SERVICES`;
|
|
177
|
+
font-dependent hosts prepare and pass the selected fonts before executable validation. Author
|
|
178
|
+
callbacks may omit arguments they do not use.
|
|
179
|
+
|
|
159
180
|
Call `parseGeneratedParts()` on executable output before downstream mesh work. It accepts only
|
|
160
181
|
non-empty arrays of uniquely identified parts backed by transferable `Float32Array` and
|
|
161
182
|
`Uint32Array` storage, checks finite coordinates and valid indices, normalizes six-digit hex colors
|
package/dist/contracts.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
import type { FontSelection } from "./fonts.js";
|
|
1
2
|
import type { ParameterGroup, GeneratorDefinition as ParsedGeneratorDefinition } from "./generator-package/schemas/definition.schema.js";
|
|
2
|
-
import type { ArrayParameterDefinition, BooleanParameterDefinition, ChoiceSetParameterDefinition, ColorParameterDefinition, NumberArrayItemDefinition, NumberArrayParameterDefinition, NumberParameterDefinition, NumericParameterDefinition, ParameterDefinition, SelectOption, SelectParameterDefinition, SliderParameterDefinition, StringArrayItemDefinition, StringArrayParameterDefinition, SvgParameterDefinition, TextParameterDefinition } from "./generator-package/schemas/parameter.schema.js";
|
|
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";
|
|
3
4
|
import type { GeneratorRuntimeReference } from "./generator-packages.js";
|
|
4
|
-
|
|
5
|
+
import type { GeneratorServices } from "./generator-services.js";
|
|
6
|
+
export type { ArrayParameterDefinition, FontParameterDefinition, BooleanParameterDefinition, ChoiceSetParameterDefinition, ColorParameterDefinition, NumberArrayItemDefinition, NumberArrayParameterDefinition, NumberParameterDefinition, NumericParameterDefinition, ParameterDefinition, ParameterGroup, SelectOption, SelectParameterDefinition, StringArrayItemDefinition, StringArrayParameterDefinition, SvgParameterDefinition, SliderParameterDefinition, TextParameterDefinition, };
|
|
5
7
|
export type ScalarParameterValue = number | boolean | string;
|
|
6
|
-
export type ParameterValue = ScalarParameterValue | readonly number[] | readonly string[];
|
|
8
|
+
export type ParameterValue = ScalarParameterValue | readonly number[] | readonly string[] | FontSelection;
|
|
7
9
|
export type ParameterValues = Readonly<Record<string, ParameterValue>>;
|
|
8
10
|
type ParameterValueFor<Parameter extends ParameterDefinition> = Parameter extends {
|
|
11
|
+
readonly type: "font";
|
|
12
|
+
} ? FontSelection : Parameter extends {
|
|
9
13
|
readonly type: "number" | "slider";
|
|
10
14
|
} ? number : Parameter extends {
|
|
11
15
|
readonly type: "boolean";
|
|
@@ -57,7 +61,7 @@ export interface ParameterValidationResult {
|
|
|
57
61
|
*/
|
|
58
62
|
export type GeneratorDefinition = ParsedGeneratorDefinition;
|
|
59
63
|
/** Executable, generator-owned cross-parameter and geometry validation. */
|
|
60
|
-
export type GeneratorValidator<D extends GeneratorDefinition = GeneratorDefinition> = (parameters: GeneratorParams<D
|
|
64
|
+
export type GeneratorValidator<D extends GeneratorDefinition = GeneratorDefinition> = (parameters: GeneratorParams<D>, services: GeneratorServices) => readonly GeneratorIssue<D>[];
|
|
61
65
|
export type Vec3 = readonly [number, number, number];
|
|
62
66
|
export interface ModelBounds {
|
|
63
67
|
readonly min: Vec3;
|
package/dist/contracts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,IAAI,yBAAyB,EACjD,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
|
package/dist/fonts.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** An immutable catalog face; revision is the SHA-256 digest of the complete font file. */
|
|
2
|
+
export interface FontSelection {
|
|
3
|
+
readonly faceId: string;
|
|
4
|
+
readonly revision: string;
|
|
5
|
+
readonly weight: number;
|
|
6
|
+
}
|
|
7
|
+
/** Checks only the portable value, without consulting a catalog or substituting fonts. */
|
|
8
|
+
export declare function isFontSelection(value: unknown): value is FontSelection;
|
|
9
|
+
//# sourceMappingURL=fonts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CA6BtE"}
|
package/dist/fonts.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** Checks only the portable value, without consulting a catalog or substituting fonts. */
|
|
2
|
+
export function isFontSelection(value) {
|
|
3
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
4
|
+
return false;
|
|
5
|
+
try {
|
|
6
|
+
const keys = Reflect.ownKeys(value);
|
|
7
|
+
if (keys.length !== 3 ||
|
|
8
|
+
!keys.every((key) => key === "faceId" || key === "revision" || key === "weight"))
|
|
9
|
+
return false;
|
|
10
|
+
const read = (key) => {
|
|
11
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
12
|
+
return descriptor !== undefined && "value" in descriptor ? descriptor.value : undefined;
|
|
13
|
+
};
|
|
14
|
+
const faceId = read("faceId");
|
|
15
|
+
const revision = read("revision");
|
|
16
|
+
const weight = read("weight");
|
|
17
|
+
return (typeof faceId === "string" &&
|
|
18
|
+
/^[a-z0-9][a-z0-9/-]{0,159}$/.test(faceId) &&
|
|
19
|
+
typeof revision === "string" &&
|
|
20
|
+
/^[a-f0-9]{64}$/.test(revision) &&
|
|
21
|
+
typeof weight === "number" &&
|
|
22
|
+
Number.isInteger(weight) &&
|
|
23
|
+
weight >= 1 &&
|
|
24
|
+
weight <= 1000);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=fonts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fonts.js","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAOA,0FAA0F;AAC1F,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,IACE,IAAI,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,QAAQ,CAAC;YAEhF,OAAO,KAAK,CAAC;QACf,MAAM,IAAI,GAAG,CAAC,GAAW,EAAW,EAAE;YACpC,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/D,OAAO,UAAU,KAAK,SAAS,IAAI,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ;YAC1B,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1C,OAAO,QAAQ,KAAK,QAAQ;YAC5B,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/B,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;YACxB,MAAM,IAAI,CAAC;YACX,MAAM,IAAI,IAAI,CACf,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +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
|
-
type
|
|
4
|
-
type
|
|
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[];
|
|
5
6
|
interface GeneratorModuleIdentity<D extends GeneratorDefinition> {
|
|
6
7
|
readonly formatVersion: typeof GENERATOR_PACKAGE_FORMAT_VERSION;
|
|
7
8
|
readonly generatorId: D["id"];
|
|
@@ -14,7 +15,7 @@ export interface GeneratorModule<D extends GeneratorDefinition = GeneratorDefini
|
|
|
14
15
|
}
|
|
15
16
|
/** A host-owned module lane that strictly decodes parameter maps before invocation. */
|
|
16
17
|
export interface StrictGeneratorModule<D extends GeneratorDefinition = GeneratorDefinition, Context = unknown> extends GeneratorModuleIdentity<D> {
|
|
17
|
-
readonly validate: (parameters: ParameterValues) => readonly ParameterIssue[];
|
|
18
|
+
readonly validate: (parameters: ParameterValues, services: GeneratorServices) => readonly ParameterIssue[];
|
|
18
19
|
readonly generate: StrictGenerate<Context>;
|
|
19
20
|
}
|
|
20
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":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAEnB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"generator-module.d.ts","sourceRoot":"","sources":["../src/generator-module.ts"],"names":[],"mappings":"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"}
|
package/dist/generator-module.js
CHANGED
|
@@ -12,7 +12,14 @@ function moduleProblem(value, definition) {
|
|
|
12
12
|
}
|
|
13
13
|
const candidate = value;
|
|
14
14
|
if (!hasExactExports(candidate)) {
|
|
15
|
-
|
|
15
|
+
const names = Object.keys(candidate).sort();
|
|
16
|
+
const missing = EXPORT_NAMES.filter((name) => !names.includes(name));
|
|
17
|
+
const extra = names.filter((name) => !EXPORT_NAMES.some((expected) => expected === name));
|
|
18
|
+
const display = (values) => values
|
|
19
|
+
.slice(0, 20)
|
|
20
|
+
.map((name) => name.slice(0, 100))
|
|
21
|
+
.join(", ");
|
|
22
|
+
return `must export exactly ${EXPORT_NAMES.join(", ")}. Missing: ${display(missing) || "none"}. Unexpected: ${display(extra) || "none"}${extra.length > 20 ? ", …" : ""}`;
|
|
16
23
|
}
|
|
17
24
|
if (candidate.formatVersion !== GENERATOR_PACKAGE_FORMAT_VERSION) {
|
|
18
25
|
return `formatVersion must be ${GENERATOR_PACKAGE_FORMAT_VERSION}`;
|
|
@@ -45,18 +52,18 @@ function assembleCanonicalModule(definition, validate, generate) {
|
|
|
45
52
|
});
|
|
46
53
|
}
|
|
47
54
|
function checkedCanonicalModule(definition, validate, generate) {
|
|
48
|
-
return assembleCanonicalModule(definition, (parameters) => requireSynchronousArray(validate(parameters), "validate"), (parameters, context) => requireSynchronousArray(generate(parameters, context), "generate"));
|
|
55
|
+
return assembleCanonicalModule(definition, (parameters, services) => requireSynchronousArray(validate(parameters, services), "validate"), (parameters, context, services) => requireSynchronousArray(generate(parameters, context, services), "generate"));
|
|
49
56
|
}
|
|
50
57
|
function strictModule(definition, canonical) {
|
|
51
58
|
const codec = createParamCodec(definition);
|
|
52
59
|
return Object.freeze({
|
|
53
60
|
formatVersion: canonical.formatVersion,
|
|
54
|
-
generate(parameters, context) {
|
|
55
|
-
return canonical.generate(codec.parse(parameters), context);
|
|
61
|
+
generate(parameters, context, services) {
|
|
62
|
+
return canonical.generate(codec.parse(parameters), context, services);
|
|
56
63
|
},
|
|
57
64
|
generatorId: canonical.generatorId,
|
|
58
|
-
validate(parameters) {
|
|
59
|
-
return canonical.validate(codec.parse(parameters));
|
|
65
|
+
validate(parameters, services) {
|
|
66
|
+
return canonical.validate(codec.parse(parameters), services);
|
|
60
67
|
},
|
|
61
68
|
version: canonical.version,
|
|
62
69
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator-module.js","sourceRoot":"","sources":["../src/generator-module.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;
|
|
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
|
+
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
|
+
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. */
|
|
@@ -97,6 +97,15 @@ export declare const generatorDefinitionSchema: z.ZodObject<{
|
|
|
97
97
|
group: z.ZodOptional<z.ZodString>;
|
|
98
98
|
unit: z.ZodOptional<z.ZodString>;
|
|
99
99
|
visibleWhen: z.ZodOptional<z.ZodType<import("../../conditions.js").ConditionExpression, unknown, z.core.$ZodTypeInternals<import("../../conditions.js").ConditionExpression, unknown>>>;
|
|
100
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
101
|
+
type: z.ZodLiteral<"font">;
|
|
102
|
+
default: z.ZodCustom<import("../../fonts.js").FontSelection, import("../../fonts.js").FontSelection>;
|
|
103
|
+
id: z.ZodString;
|
|
104
|
+
label: z.ZodString;
|
|
105
|
+
description: z.ZodOptional<z.ZodString>;
|
|
106
|
+
group: z.ZodOptional<z.ZodString>;
|
|
107
|
+
unit: z.ZodOptional<z.ZodString>;
|
|
108
|
+
visibleWhen: z.ZodOptional<z.ZodType<import("../../conditions.js").ConditionExpression, unknown, z.core.$ZodTypeInternals<import("../../conditions.js").ConditionExpression, unknown>>>;
|
|
100
109
|
}, z.core.$strict>, z.ZodObject<{
|
|
101
110
|
type: z.ZodLiteral<"svg">;
|
|
102
111
|
default: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.schema.d.ts","sourceRoot":"","sources":["../../../src/generator-package/schemas/definition.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,oBAAoB;;;;;kBAK/B,CAAC;AAEH,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"definition.schema.d.ts","sourceRoot":"","sources":["../../../src/generator-package/schemas/definition.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,oBAAoB;;;;;kBAK/B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAOpC,CAAC;AAEH,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,GACpD,SAAS,YAAY,CAAC,IAAI,CAAC,EAAE,GAC7B,CAAC,SAAS,MAAM,GACd;IAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAAE,GACnD,CAAC,CAAC;AAER,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;AACjF,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC"}
|