@metamesh/generator-sdk 0.13.0 → 0.14.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.
Files changed (175) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +1 -0
  3. package/dist/docs/guides/authoring.md +13 -0
  4. package/dist/docs/guides/package.md +1 -0
  5. package/dist/docs/guides/parameters.md +8 -10
  6. package/dist/docs/manifest.json +1 -1
  7. package/dist/docs/reference/fonts/FontSelection.md +1 -1
  8. package/dist/docs/reference/fonts/isFontSelection.md +1 -1
  9. package/dist/docs/reference/index/ArrayParameterDefinition.md +1 -1
  10. package/dist/docs/reference/index/BaseParameterDefinition.md +1 -1
  11. package/dist/docs/reference/index/BooleanParameterDefinition.md +1 -1
  12. package/dist/docs/reference/index/ChoiceOption.md +1 -1
  13. package/dist/docs/reference/index/ChoiceParameterDefinition.md +1 -1
  14. package/dist/docs/reference/index/ChoiceSetParameterDefinition.md +1 -1
  15. package/dist/docs/reference/index/ColorParameterDefinition.md +1 -1
  16. package/dist/docs/reference/index/ConditionExpression.md +1 -1
  17. package/dist/docs/reference/index/ContourAnchor.md +1 -1
  18. package/dist/docs/reference/index/ContourParameterDefinition.md +1 -1
  19. package/dist/docs/reference/index/ContourParameterUi.md +1 -1
  20. package/dist/docs/reference/index/ContourPoint.md +1 -1
  21. package/dist/docs/reference/index/ContourSegment.md +1 -1
  22. package/dist/docs/reference/index/ContourValue.md +1 -1
  23. package/dist/docs/reference/index/FontParameterDefinition.md +1 -1
  24. package/dist/docs/reference/index/FontSelection.md +1 -1
  25. package/dist/docs/reference/index/GeneratorDefinition.md +1 -1
  26. package/dist/docs/reference/index/GeneratorIssue.md +1 -1
  27. package/dist/docs/reference/index/GeneratorModule.md +1 -1
  28. package/dist/docs/reference/index/GeneratorModuleOptions.md +1 -1
  29. package/dist/docs/reference/index/GeneratorParamId.md +1 -1
  30. package/dist/docs/reference/index/GeneratorParams.md +1 -1
  31. package/dist/docs/reference/index/GeneratorPreset.md +1 -1
  32. package/dist/docs/reference/index/GeneratorProgram.md +1 -1
  33. package/dist/docs/reference/index/GeneratorServices.md +1 -1
  34. package/dist/docs/reference/index/GeneratorTextArcBaseline.md +1 -1
  35. package/dist/docs/reference/index/GeneratorTextLayout.md +1 -1
  36. package/dist/docs/reference/index/GeneratorTextMetrics.md +1 -1
  37. package/dist/docs/reference/index/GeneratorTextOptions.md +1 -1
  38. package/dist/docs/reference/index/MAX_CONTOUR_SEGMENTS.md +1 -1
  39. package/dist/docs/reference/index/MAX_SIDE_PROFILE_SEGMENTS.md +1 -1
  40. package/dist/docs/reference/index/NumberArrayItemDefinition.md +1 -1
  41. package/dist/docs/reference/index/NumberArrayParameterDefinition.md +1 -1
  42. package/dist/docs/reference/index/NumberParameterDefinition.md +1 -1
  43. package/dist/docs/reference/index/NumberParameterUi.md +1 -1
  44. package/dist/docs/reference/index/ParameterDefinition.md +1 -1
  45. package/dist/docs/reference/index/ParameterDefinitionDocument.md +1 -1
  46. package/dist/docs/reference/index/ParameterGroup.md +1 -1
  47. package/dist/docs/reference/index/ParameterIssue.md +1 -1
  48. package/dist/docs/reference/index/ParameterIssueCode.md +1 -1
  49. package/dist/docs/reference/index/ParameterIssueSeverity.md +1 -1
  50. package/dist/docs/reference/index/ParameterScaleReference.md +1 -1
  51. package/dist/docs/reference/index/ParameterUi.md +1 -1
  52. package/dist/docs/reference/index/ParameterValidationResult.md +1 -1
  53. package/dist/docs/reference/index/ParameterValue.md +1 -1
  54. package/dist/docs/reference/index/ParameterValues.md +1 -1
  55. package/dist/docs/reference/index/RowParameterUi.md +1 -1
  56. package/dist/docs/reference/index/ScalarParameterValue.md +1 -1
  57. package/dist/docs/reference/index/SideProfileAnchor.md +1 -1
  58. package/dist/docs/reference/index/SideProfileParameterDefinition.md +1 -1
  59. package/dist/docs/reference/index/SideProfileParameterUi.md +1 -1
  60. package/dist/docs/reference/index/SideProfilePoint.md +1 -1
  61. package/dist/docs/reference/index/SideProfileSegment.md +1 -1
  62. package/dist/docs/reference/index/SideProfileValue.md +1 -1
  63. package/dist/docs/reference/index/SourceVisibility.md +1 -1
  64. package/dist/docs/reference/index/StringArrayItemDefinition.md +1 -1
  65. package/dist/docs/reference/index/StringArrayParameterDefinition.md +1 -1
  66. package/dist/docs/reference/index/SvgParameterDefinition.md +1 -1
  67. package/dist/docs/reference/index/TextParameterDefinition.md +1 -1
  68. package/dist/docs/reference/index/UNPREPARED_GENERATOR_SERVICES.md +1 -1
  69. package/dist/docs/reference/index/cloneContourValue.md +1 -1
  70. package/dist/docs/reference/index/cloneSideProfileValue.md +1 -1
  71. package/dist/docs/reference/index/contourValuesEqual.md +1 -1
  72. package/dist/docs/reference/index/defineGenerator.md +1 -1
  73. package/dist/docs/reference/index/defineGeneratorModule.md +1 -1
  74. package/dist/docs/reference/index/definePresets.md +1 -1
  75. package/dist/docs/reference/index/evaluateCondition.md +1 -1
  76. package/dist/docs/reference/index/isContourValue.md +1 -1
  77. package/dist/docs/reference/index/isFontSelection.md +1 -1
  78. package/dist/docs/reference/index/isSideProfileValue.md +1 -1
  79. package/dist/docs/reference/index/sideProfileValuesEqual.md +1 -1
  80. package/dist/docs/reference/packages/GENERATOR_PACKAGE_FORMAT_VERSION.md +1 -1
  81. package/dist/docs/reference/packages/GeneratorAccess.md +1 -1
  82. package/dist/docs/reference/packages/GeneratorDefinitionIssue.md +1 -1
  83. package/dist/docs/reference/packages/GeneratorDefinitionParseResult.md +1 -1
  84. package/dist/docs/reference/packages/GeneratorDescriptor.md +1 -1
  85. package/dist/docs/reference/packages/GeneratorPackageManifest.md +1 -1
  86. package/dist/docs/reference/packages/GeneratorPackageSource.md +1 -1
  87. package/dist/docs/reference/packages/GeneratorPackageValidationError.md +1 -1
  88. package/dist/docs/reference/packages/GeneratorPreset.md +1 -1
  89. package/dist/docs/reference/packages/GeneratorRuntimeReference.md +1 -1
  90. package/dist/docs/reference/packages/InstalledGenerator.md +1 -1
  91. package/dist/docs/reference/packages/MAX_ARRAY_ITEMS.md +1 -1
  92. package/dist/docs/reference/packages/MAX_CONDITION_BRANCHES.md +1 -1
  93. package/dist/docs/reference/packages/MAX_CONDITION_DEPTH.md +1 -1
  94. package/dist/docs/reference/packages/MAX_DESCRIPTOR_LIST_ITEMS.md +1 -1
  95. package/dist/docs/reference/packages/MAX_GENERATOR_ID_LENGTH.md +1 -1
  96. package/dist/docs/reference/packages/MAX_GENERATOR_PACKAGE_BYTES.md +1 -1
  97. package/dist/docs/reference/packages/MAX_GENERATOR_PRESETS.md +1 -1
  98. package/dist/docs/reference/packages/MAX_METADATA_TEXT_LENGTH.md +1 -1
  99. package/dist/docs/reference/packages/MAX_PARAMETERS.md +1 -1
  100. package/dist/docs/reference/packages/MAX_PARAMETER_GROUPS.md +1 -1
  101. package/dist/docs/reference/packages/MAX_PARAMETER_OPTIONS.md +1 -1
  102. package/dist/docs/reference/packages/MAX_TEXT_PARAMETER_LENGTH.md +1 -1
  103. package/dist/docs/reference/packages/METAMESH_RUNTIME_VERSION.md +2 -2
  104. package/dist/docs/reference/packages/compareSemanticVersions.md +1 -1
  105. package/dist/docs/reference/packages/definitionIssuesFromZod.md +1 -1
  106. package/dist/docs/reference/packages/isRuntimeCompatible.md +1 -1
  107. package/dist/docs/reference/packages/parseGeneratorDefinition.md +1 -1
  108. package/dist/docs/reference/packages/parseGeneratorDescriptor.md +1 -1
  109. package/dist/docs/reference/packages/parseGeneratorPackageManifest.md +1 -1
  110. package/dist/docs/reference/packages/parseParameterDefinitionDocument.md +1 -1
  111. package/dist/docs/reference/packages/safeParseGeneratorDefinition.md +1 -1
  112. package/dist/docs/reference/packages/safeParseParameterDefinitionDocument.md +1 -1
  113. package/dist/docs/reference/packages/validateGeneratorPresets.md +1 -1
  114. package/dist/docs/reference/packages/validationErrorFromIssues.md +1 -1
  115. package/dist/docs/reference/packages/validationErrorFromZod.md +1 -1
  116. package/dist/docs/reference/parameters/EMPTY_SVG_PARAMETER_DEFAULT.md +1 -1
  117. package/dist/docs/reference/parameters/MAX_PARAMETER_ISSUES.md +1 -1
  118. package/dist/docs/reference/parameters/MAX_PARAMETER_ISSUE_MESSAGE_LENGTH.md +1 -1
  119. package/dist/docs/reference/parameters/MAX_PROJECT_SVG_PARAMETER_BYTES.md +1 -1
  120. package/dist/docs/reference/parameters/MAX_SVG_PARAMETER_BYTES.md +1 -1
  121. package/dist/docs/reference/parameters/ParamCodec.md +1 -1
  122. package/dist/docs/reference/parameters/ParamDecodeCode.md +1 -1
  123. package/dist/docs/reference/parameters/ParamDecodeError.md +1 -1
  124. package/dist/docs/reference/parameters/ParamDecodeIssue.md +1 -1
  125. package/dist/docs/reference/parameters/ParamParseResult.md +1 -1
  126. package/dist/docs/reference/parameters/PreparedParameters.md +1 -1
  127. package/dist/docs/reference/parameters/aggregateParameterIssues.md +1 -1
  128. package/dist/docs/reference/parameters/canonicalizeParameters.md +1 -1
  129. package/dist/docs/reference/parameters/createParamCodec.md +1 -1
  130. package/dist/docs/reference/parameters/getDefaultParameters.md +1 -1
  131. package/dist/docs/reference/parameters/normalizeParameters.md +1 -1
  132. package/dist/docs/reference/parameters/parameterValueEquals.md +1 -1
  133. package/dist/docs/reference/parameters/parseParameterIssues.md +1 -1
  134. package/dist/docs/reference/parameters/prepareParameters.md +1 -1
  135. package/dist/docs/reference/parameters/svgParameterBytes.md +1 -1
  136. package/dist/docs/reference/parameters/validateParameters.md +1 -1
  137. package/dist/docs/reference/runtime/ExecuteGeneratorOptions.md +1 -1
  138. package/dist/docs/reference/runtime/Export3mfRequest.md +1 -1
  139. package/dist/docs/reference/runtime/ExportError.md +1 -1
  140. package/dist/docs/reference/runtime/ExportSuccess.md +1 -1
  141. package/dist/docs/reference/runtime/ExportedFile.md +1 -1
  142. package/dist/docs/reference/runtime/GenerateRequest.md +1 -1
  143. package/dist/docs/reference/runtime/GeneratedModel.md +1 -1
  144. package/dist/docs/reference/runtime/GeneratedModelDelivery.md +1 -1
  145. package/dist/docs/reference/runtime/GeneratedPart.md +1 -1
  146. package/dist/docs/reference/runtime/GeneratedPartDelivery.md +1 -1
  147. package/dist/docs/reference/runtime/GeneratedPartsDecoder.md +1 -1
  148. package/dist/docs/reference/runtime/GeneratedPartsLimits.md +1 -1
  149. package/dist/docs/reference/runtime/GenerationError.md +1 -1
  150. package/dist/docs/reference/runtime/GenerationInvalid.md +1 -1
  151. package/dist/docs/reference/runtime/GenerationSuccess.md +1 -1
  152. package/dist/docs/reference/runtime/GeneratorExecutionGenerated.md +1 -1
  153. package/dist/docs/reference/runtime/GeneratorExecutionInvalid.md +1 -1
  154. package/dist/docs/reference/runtime/GeneratorExecutionResult.md +1 -1
  155. package/dist/docs/reference/runtime/MeshTopologyMode.md +1 -1
  156. package/dist/docs/reference/runtime/ModelBounds.md +1 -1
  157. package/dist/docs/reference/runtime/ModelStats.md +1 -1
  158. package/dist/docs/reference/runtime/ModelTimings.md +1 -1
  159. package/dist/docs/reference/runtime/ParsedGeneratorModule.md +1 -1
  160. package/dist/docs/reference/runtime/RuntimeError.md +1 -1
  161. package/dist/docs/reference/runtime/ValidateRequest.md +1 -1
  162. package/dist/docs/reference/runtime/ValidationError.md +1 -1
  163. package/dist/docs/reference/runtime/ValidationSuccess.md +1 -1
  164. package/dist/docs/reference/runtime/WorkerRequest.md +1 -1
  165. package/dist/docs/reference/runtime/WorkerResponse.md +1 -1
  166. package/dist/docs/reference/runtime/executeGenerator.md +1 -1
  167. package/dist/docs/reference/runtime/generationIssues.md +1 -1
  168. package/dist/docs/reference/runtime/isGeneratorModule.md +1 -1
  169. package/dist/docs/reference/runtime/parseGeneratedParts.md +1 -1
  170. package/dist/docs/reference/runtime/parseGenerationSentAt.md +1 -1
  171. package/dist/docs/reference/runtime/parseGeneratorModule.md +1 -1
  172. package/dist/generator-package/constants.d.ts +1 -1
  173. package/dist/generator-package/constants.js +1 -1
  174. package/dist/generator-package/validate-manifest.js +2 -2
  175. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @metamesh/generator-sdk
2
2
 
3
+ ## 0.14.0
4
+
5
+ ### Minor Changes
6
+
7
+ - be565ad: Add native `stroke()` sections and pure `closestPointOnPath()` queries. Correct face-sized
8
+ circular sampling and odd-pinion internal gear motion. Native stroke uses the current runtime
9
+ contract so older hosts reject packages requiring the new operation before execution.
10
+
3
11
  ## 0.13.0
4
12
 
5
13
  ### Minor Changes
package/README.md CHANGED
@@ -14,6 +14,7 @@ pnpm add @metamesh/generator-sdk
14
14
 
15
15
  The SDK is renderer-neutral. To build geometry in the example below, also install
16
16
  [`@metamesh/modeling`](https://github.com/JasonKoolman/metamesh/blob/main/packages/modeling/README.md).
17
+ Keep installed MetaMesh packages on the same exact release.
17
18
 
18
19
  ## Define controls
19
20
 
@@ -99,6 +99,19 @@ Inspect each output and check the exported model in its intended downstream tool
99
99
  alone does not establish a suitable fit or printable wall thickness. Follow the
100
100
  [export guide](https://metamesh.studio/docs/use/export-3mf) for format capabilities and verification steps.
101
101
 
102
+ ## Use the same design in a local module
103
+
104
+ These control-design principles also apply to a Generator authored in a local TypeScript project.
105
+ Use `@metamesh/generator-sdk` for its serializable definition and module envelope, and
106
+ `@metamesh/modeling` for generation. Studio's virtual `@metamesh/project` import is specific to
107
+ Studio and cannot be copied into a local Node module.
108
+
109
+ Follow [local authoring](https://metamesh.studio/docs/develop/agent-authoring#generator-entries) to check and run the
110
+ module with the CLI, inspect dimensions and named parts, and render the captured result. Add
111
+ [Testkit checks](https://metamesh.studio/docs/develop/agent-authoring#test-models) when you need repeatable assertions for
112
+ defaults, presets, supported bounds, or validation recovery. Keep those tests in your project's
113
+ test runner; the CLI owns compilation and capture tools.
114
+
102
115
  ## Keep a portable copy
103
116
 
104
117
  Save the authored Project as a `.metamesh.json` file, then
@@ -14,6 +14,7 @@ pnpm add @metamesh/generator-sdk
14
14
 
15
15
  The SDK is renderer-neutral. To build geometry in the example below, also install
16
16
  [`@metamesh/modeling`](https://github.com/JasonKoolman/metamesh/blob/main/packages/modeling/README.md).
17
+ Keep installed MetaMesh packages on the same exact release.
17
18
 
18
19
  ## Define controls
19
20
 
@@ -63,7 +63,7 @@ For a control shared by socket and spigot modes, omit the hint and explain both
63
63
  its description: measure the mating part's outside diameter for a socket or the opening's inside
64
64
  diameter for a spigot. Add this metadata to the existing control object. Keep hints short and
65
65
  avoid repeating labels, units, or descriptions. A declared hint must be non-empty and at most
66
- 4,096 characters. Generator packages use format `4` and runtime major `5`.
66
+ 4,096 characters.
67
67
 
68
68
  ## Choose the right control
69
69
 
@@ -130,7 +130,7 @@ full-width control. Shared rows support number inputs, `choice`, and `text`; sli
130
130
  their own rows. Prefer full width for long option names or text values.
131
131
 
132
132
  Shared fields have equal widths and compact labels. They stack when the panel is too
133
- narrow, and hidden fields leave space for the remaining row members. Each field keeps its own
133
+ narrow; when one field is hidden, the remaining field fills the row. Each field keeps its own
134
134
  value, units, validation, and history; `params.width` and `params.height` remain
135
135
  separate numbers.
136
136
 
@@ -379,15 +379,13 @@ assert(
379
379
 
380
380
  `assert(condition, message, { parameterId? })` stops on the first false condition. The parameter ID
381
381
  is checked against your controls and tells the user where to make a correction. Successful assertions
382
- return normally. For a valid result with a meaningful caution, use a warning in the outer callback:
382
+ return normally. For a valid result with a meaningful caution, call
383
+ `warn(message, { parameterId })` in the outer callback.
383
384
 
384
- ```ts
385
- assert(params.wall > 0, "Wall thickness must be positive.", { parameterId: "wall" });
386
- if (params.wall < 1) warn("This wall may be difficult to print.", { parameterId: "wall" });
387
- ```
388
-
389
- A zero wall stops generation; a 0.5 mm wall generates with a warning. A failed edit leaves the last
390
- valid preview and its export available. Warnings allow a current model to generate and export.
385
+ For example, assert that a wall thickness is positive, then warn when a positive wall is thinner
386
+ than your model's recommended minimum. A zero wall stops generation; a 0.5 mm wall can generate
387
+ with a warning. Choose that minimum for the model and manufacturing process. A failed edit leaves
388
+ the last valid preview and its export available. Warnings allow a current model to generate and export.
391
389
 
392
390
  Checks run in JavaScript order. Reading a computed value evaluates it when necessary, and a
393
391
  geometry observation must realize its input first. This also applies to draft validation: it runs
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "formatVersion": 1,
3
3
  "packageName": "@metamesh/generator-sdk",
4
- "packageVersion": "0.13.0",
4
+ "packageVersion": "0.14.0",
5
5
  "documents": [
6
6
  {
7
7
  "id": "sdk/guide/authoring",
@@ -2,7 +2,7 @@
2
2
 
3
3
  An immutable catalog face; revision is the SHA-256 digest of the complete font file.
4
4
 
5
- Import from `@metamesh/generator-sdk/fonts` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk/fonts` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** An immutable catalog face; revision is the SHA-256 digest of the complete font file. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Checks only the portable value, without consulting a catalog or substituting fonts.
4
4
 
5
- Import from `@metamesh/generator-sdk/fonts` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk/fonts` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Checks only the portable value, without consulting a catalog or substituting fonts. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  ArrayParameterDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface ArrayParameterDefinition extends ArrayParameterBase {
@@ -2,7 +2,7 @@
2
2
 
3
3
  BaseParameterDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface BaseParameterDefinition {
@@ -2,7 +2,7 @@
2
2
 
3
3
  BooleanParameterDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface BooleanParameterDefinition extends BaseParameterDefinition {
@@ -2,7 +2,7 @@
2
2
 
3
3
  ChoiceOption exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface ChoiceOption {
@@ -2,7 +2,7 @@
2
2
 
3
3
  ChoiceParameterDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface ChoiceParameterDefinition extends BaseParameterDefinition {
@@ -2,7 +2,7 @@
2
2
 
3
3
  ChoiceSetParameterDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface ChoiceSetParameterDefinition extends BaseParameterDefinition {
@@ -2,7 +2,7 @@
2
2
 
3
3
  ColorParameterDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface ColorParameterDefinition extends BaseParameterDefinition {
@@ -2,7 +2,7 @@
2
2
 
3
3
  ConditionExpression exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export type ConditionExpression = {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Editing intent accompanies the explicit curve controls; no tangent is inferred at runtime.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Editing intent accompanies the explicit curve controls; no tangent is inferred at runtime. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  ContourParameterDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface ContourParameterDefinition extends BaseParameterDefinition {
@@ -2,7 +2,7 @@
2
2
 
3
3
  ContourParameterUi exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface ContourParameterUi extends ParameterUi {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Normalized planar coordinates, with X rightward and Y upward, in the unit square.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Normalized planar coordinates, with X rightward and Y upward, in the unit square. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  ContourSegment exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export type ContourSegment = {
@@ -2,7 +2,7 @@
2
2
 
3
3
  One explicitly closed planar contour. Generators own physical scaling and topology checks.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** One explicitly closed planar contour. Generators own physical scaling and topology checks. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  FontParameterDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface FontParameterDefinition extends BaseParameterDefinition {
@@ -2,7 +2,7 @@
2
2
 
3
3
  An immutable catalog face; revision is the SHA-256 digest of the complete font file.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** An immutable catalog face; revision is the SHA-256 digest of the complete font file. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  GeneratorDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface GeneratorDefinition extends ParameterDefinitionDocument {
@@ -2,7 +2,7 @@
2
2
 
3
3
  A validation issue whose optional parameter ID is tied to one definition.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** A validation issue whose optional parameter ID is tied to one definition. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  The sole executable package envelope. Metadata stays callback-free.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** The sole executable package envelope. Metadata stays callback-free. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  GeneratorModuleOptions exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface GeneratorModuleOptions<D extends GeneratorDefinition, Program extends GeneratorProgram> {
@@ -2,7 +2,7 @@
2
2
 
3
3
  The declared parameter ID union for a Generator definition.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** The declared parameter ID union for a Generator definition. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Exact normalized parameter values derived from a Generator definition.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Exact normalized parameter values derived from a Generator definition. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  GeneratorPreset exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface GeneratorPreset<D extends GeneratorDefinition = GeneratorDefinition> {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Structural program boundary; the SDK never imports a Modeling runtime or kernel.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Structural program boundary; the SDK never imports a Modeling runtime or kernel. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Host services are local to an execution; functions never cross the Worker protocol.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Host services are local to an execution; functions never cross the Worker protocol. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Circular text baseline centered at the XY origin; glyph groups retain their proportions.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Circular text baseline centered at the XY origin; glyph groups retain their proportions. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Exact vector paths and measurements in Y-up millimetres, never font bytes or live objects.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Exact vector paths and measurements in Y-up millimetres, never font bytes or live objects. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Structural mirror of Geometry text metrics, keeping the SDK renderer-independent.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Structural mirror of Geometry text metrics, keeping the SDK renderer-independent. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Text layout uses millimetres and prepared catalog fonts, with no runtime network access.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Text layout uses millimetres and prepared catalog fonts, with no runtime network access. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Maximum number of straight or cubic segments in an editable closed cross section.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  MAX_CONTOUR_SEGMENTS = 32
@@ -2,7 +2,7 @@
2
2
 
3
3
  Maximum number of straight or cubic segments in an editable side profile.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  MAX_SIDE_PROFILE_SEGMENTS = 31
@@ -2,7 +2,7 @@
2
2
 
3
3
  NumberArrayItemDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface NumberArrayItemDefinition {
@@ -2,7 +2,7 @@
2
2
 
3
3
  NumberArrayParameterDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface NumberArrayParameterDefinition extends ArrayParameterBase {
@@ -2,7 +2,7 @@
2
2
 
3
3
  NumberParameterDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface NumberParameterDefinition extends BaseParameterDefinition {
@@ -2,7 +2,7 @@
2
2
 
3
3
  NumberParameterUi exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface NumberParameterUi extends RowParameterUi {
@@ -2,7 +2,7 @@
2
2
 
3
3
  ParameterDefinition exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export type ParameterDefinition = NumberParameterDefinition | BooleanParameterDefinition | ChoiceParameterDefinition | ChoiceSetParameterDefinition | ColorParameterDefinition | TextParameterDefinition | FontParameterDefinition | SvgParameterDefinition | SideProfileParameterDefinition | ContourParameterDefinition | ArrayParameterDefinition;
@@ -2,7 +2,7 @@
2
2
 
3
3
  ParameterDefinitionDocument exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface ParameterDefinitionDocument {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Ordered presentation group; these objects contain no value semantics.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Ordered presentation group; these objects contain no value semantics. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  ParameterIssue exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface ParameterIssue {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Stable machine-readable categories shared by schema, authoring and strict decoding.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Stable machine-readable categories shared by schema, authoring and strict decoding. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  ParameterIssueSeverity exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export type ParameterIssueSeverity = "error" | "warning";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Positive editing-unit reference to a declared millimetre dimension; saved coordinates stay normalized.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Positive editing-unit reference to a declared millimetre dimension; saved coordinates stay normalized. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Presentation hints shared by every parameter editor. Hidden values remain valid and saved.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Presentation hints shared by every parameter editor. Hidden values remain valid and saved. */
@@ -2,7 +2,7 @@
2
2
 
3
3
  ParameterValidationResult exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface ParameterValidationResult {
@@ -2,7 +2,7 @@
2
2
 
3
3
  ParameterValue exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export type ParameterValue = ScalarParameterValue | readonly number[] | readonly string[] | FontSelection | SideProfileValue | ContourValue;
@@ -2,7 +2,7 @@
2
2
 
3
3
  ParameterValues exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export type ParameterValues = Readonly<Record<string, ParameterValue>>;
@@ -2,7 +2,7 @@
2
2
 
3
3
  RowParameterUi exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export interface RowParameterUi extends ParameterUi {
@@ -2,7 +2,7 @@
2
2
 
3
3
  ScalarParameterValue exported from @metamesh/generator-sdk.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  export type ScalarParameterValue = number | boolean | string;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Editing intent is retained alongside the explicit curve controls.
4
4
 
5
- Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.13.0).
5
+ Import from `@metamesh/generator-sdk` (@metamesh/generator-sdk@0.14.0).
6
6
 
7
7
  ```ts
8
8
  /** Editing intent is retained alongside the explicit curve controls. */