@metamesh/generator-sdk 0.9.0 → 0.11.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 (120) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +71 -336
  3. package/dist/authoring.d.ts +1 -52
  4. package/dist/authoring.d.ts.map +1 -1
  5. package/dist/authoring.js +0 -24
  6. package/dist/authoring.js.map +1 -1
  7. package/dist/contours.d.ts +36 -0
  8. package/dist/contours.d.ts.map +1 -0
  9. package/dist/{cross-sections.js → contours.js} +19 -61
  10. package/dist/contours.js.map +1 -0
  11. package/dist/contracts.d.ts +30 -11
  12. package/dist/contracts.d.ts.map +1 -1
  13. package/dist/curve-data.d.ts +11 -0
  14. package/dist/curve-data.d.ts.map +1 -0
  15. package/dist/curve-data.js +53 -0
  16. package/dist/curve-data.js.map +1 -0
  17. package/dist/execute-generator.d.ts +14 -23
  18. package/dist/execute-generator.d.ts.map +1 -1
  19. package/dist/execute-generator.js +33 -32
  20. package/dist/execute-generator.js.map +1 -1
  21. package/dist/generated-parts.d.ts +16 -0
  22. package/dist/generated-parts.d.ts.map +1 -1
  23. package/dist/generated-parts.js +155 -67
  24. package/dist/generated-parts.js.map +1 -1
  25. package/dist/generator-module.d.ts +20 -17
  26. package/dist/generator-module.d.ts.map +1 -1
  27. package/dist/generator-module.js +3 -4
  28. package/dist/generator-module.js.map +1 -1
  29. package/dist/generator-package/constants.d.ts +2 -2
  30. package/dist/generator-package/constants.js +2 -2
  31. package/dist/generator-package/errors.d.ts +19 -1
  32. package/dist/generator-package/errors.d.ts.map +1 -1
  33. package/dist/generator-package/errors.js +58 -11
  34. package/dist/generator-package/errors.js.map +1 -1
  35. package/dist/generator-package/index.d.ts +7 -2
  36. package/dist/generator-package/index.d.ts.map +1 -1
  37. package/dist/generator-package/index.js +52 -9
  38. package/dist/generator-package/index.js.map +1 -1
  39. package/dist/generator-package/portable-data.d.ts +12 -0
  40. package/dist/generator-package/portable-data.d.ts.map +1 -0
  41. package/dist/generator-package/portable-data.js +102 -0
  42. package/dist/generator-package/portable-data.js.map +1 -0
  43. package/dist/generator-package/schemas/common.schema.d.ts.map +1 -1
  44. package/dist/generator-package/schemas/common.schema.js +4 -2
  45. package/dist/generator-package/schemas/common.schema.js.map +1 -1
  46. package/dist/generator-package/schemas/definition.schema.d.ts +451 -57
  47. package/dist/generator-package/schemas/definition.schema.d.ts.map +1 -1
  48. package/dist/generator-package/schemas/definition.schema.js +5 -2
  49. package/dist/generator-package/schemas/definition.schema.js.map +1 -1
  50. package/dist/generator-package/schemas/manifest.schema.d.ts +178 -62
  51. package/dist/generator-package/schemas/manifest.schema.d.ts.map +1 -1
  52. package/dist/generator-package/schemas/manifest.schema.js.map +1 -1
  53. package/dist/generator-package/schemas/parameter-document-json-schema.d.ts +4 -0
  54. package/dist/generator-package/schemas/parameter-document-json-schema.d.ts.map +1 -0
  55. package/dist/generator-package/schemas/parameter-document-json-schema.js +17 -0
  56. package/dist/generator-package/schemas/parameter-document-json-schema.js.map +1 -0
  57. package/dist/generator-package/schemas/parameter.schema.d.ts +173 -275
  58. package/dist/generator-package/schemas/parameter.schema.d.ts.map +1 -1
  59. package/dist/generator-package/schemas/parameter.schema.js +169 -79
  60. package/dist/generator-package/schemas/parameter.schema.js.map +1 -1
  61. package/dist/generator-package/schemas/preset.schema.d.ts.map +1 -1
  62. package/dist/generator-package/schemas/preset.schema.js +4 -4
  63. package/dist/generator-package/schemas/preset.schema.js.map +1 -1
  64. package/dist/generator-package/validate-definition.d.ts +4 -7
  65. package/dist/generator-package/validate-definition.d.ts.map +1 -1
  66. package/dist/generator-package/validate-definition.js +210 -272
  67. package/dist/generator-package/validate-definition.js.map +1 -1
  68. package/dist/generator-package/validate-manifest.d.ts.map +1 -1
  69. package/dist/generator-package/validate-manifest.js +5 -10
  70. package/dist/generator-package/validate-manifest.js.map +1 -1
  71. package/dist/index.d.ts +7 -8
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +3 -3
  74. package/dist/index.js.map +1 -1
  75. package/dist/parameter-contracts.d.ts +62 -39
  76. package/dist/parameter-contracts.d.ts.map +1 -1
  77. package/dist/parameters/issues.d.ts.map +1 -1
  78. package/dist/parameters/issues.js +9 -10
  79. package/dist/parameters/issues.js.map +1 -1
  80. package/dist/parameters/preparation.d.ts +8 -6
  81. package/dist/parameters/preparation.d.ts.map +1 -1
  82. package/dist/parameters/preparation.js +21 -10
  83. package/dist/parameters/preparation.js.map +1 -1
  84. package/dist/parameters/recovery.d.ts.map +1 -1
  85. package/dist/parameters/recovery.js +11 -12
  86. package/dist/parameters/recovery.js.map +1 -1
  87. package/dist/parameters/strict.d.ts.map +1 -1
  88. package/dist/parameters/strict.js +7 -10
  89. package/dist/parameters/strict.js.map +1 -1
  90. package/dist/parameters/values.d.ts +1 -0
  91. package/dist/parameters/values.d.ts.map +1 -1
  92. package/dist/parameters/values.js +7 -6
  93. package/dist/parameters/values.js.map +1 -1
  94. package/dist/parameters.d.ts +1 -1
  95. package/dist/parameters.d.ts.map +1 -1
  96. package/dist/parameters.js +1 -1
  97. package/dist/parameters.js.map +1 -1
  98. package/dist/parameters.schema.json +1757 -0
  99. package/dist/parse-generator-module.d.ts +5 -27
  100. package/dist/parse-generator-module.d.ts.map +1 -1
  101. package/dist/parse-generator-module.js +29 -96
  102. package/dist/parse-generator-module.js.map +1 -1
  103. package/dist/runtime.d.ts +6 -6
  104. package/dist/runtime.d.ts.map +1 -1
  105. package/dist/runtime.js +3 -3
  106. package/dist/runtime.js.map +1 -1
  107. package/dist/side-profiles.d.ts +36 -0
  108. package/dist/side-profiles.d.ts.map +1 -0
  109. package/dist/{profiles.js → side-profiles.js} +21 -66
  110. package/dist/side-profiles.js.map +1 -0
  111. package/dist/worker-contracts.d.ts +2 -2
  112. package/dist/worker-contracts.d.ts.map +1 -1
  113. package/dist/worker-contracts.js.map +1 -1
  114. package/package.json +7 -7
  115. package/dist/cross-sections.d.ts +0 -41
  116. package/dist/cross-sections.d.ts.map +0 -1
  117. package/dist/cross-sections.js.map +0 -1
  118. package/dist/profiles.d.ts +0 -41
  119. package/dist/profiles.d.ts.map +0 -1
  120. package/dist/profiles.js.map +0 -1
@@ -0,0 +1,1757 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "groups": {
6
+ "maxItems": 64,
7
+ "type": "array",
8
+ "items": {
9
+ "$ref": "#/definitions/__schema0"
10
+ }
11
+ },
12
+ "parameters": {
13
+ "maxItems": 256,
14
+ "type": "array",
15
+ "items": {
16
+ "$ref": "#/definitions/__schema4"
17
+ }
18
+ }
19
+ },
20
+ "required": [
21
+ "groups",
22
+ "parameters"
23
+ ],
24
+ "additionalProperties": false,
25
+ "definitions": {
26
+ "__schema0": {
27
+ "type": "object",
28
+ "properties": {
29
+ "id": {
30
+ "$ref": "#/definitions/__schema1"
31
+ },
32
+ "label": {
33
+ "$ref": "#/definitions/__schema2"
34
+ },
35
+ "description": {
36
+ "allOf": [
37
+ {
38
+ "$ref": "#/definitions/__schema3"
39
+ }
40
+ ]
41
+ },
42
+ "collapsed": {
43
+ "type": "boolean"
44
+ }
45
+ },
46
+ "required": [
47
+ "id",
48
+ "label"
49
+ ],
50
+ "additionalProperties": false
51
+ },
52
+ "__schema1": {
53
+ "type": "string",
54
+ "minLength": 1,
55
+ "maxLength": 120,
56
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._/-]*$"
57
+ },
58
+ "__schema2": {
59
+ "type": "string",
60
+ "minLength": 1,
61
+ "maxLength": 4096,
62
+ "pattern": "\\S",
63
+ "allOf": [
64
+ {
65
+ "$ref": "#/definitions/__schema3"
66
+ }
67
+ ]
68
+ },
69
+ "__schema3": {
70
+ "type": "string",
71
+ "maxLength": 4096
72
+ },
73
+ "__schema4": {
74
+ "oneOf": [
75
+ {
76
+ "type": "object",
77
+ "properties": {
78
+ "id": {
79
+ "$ref": "#/definitions/__schema5"
80
+ },
81
+ "label": {
82
+ "$ref": "#/definitions/__schema6"
83
+ },
84
+ "description": {
85
+ "$ref": "#/definitions/__schema7"
86
+ },
87
+ "unit": {
88
+ "$ref": "#/definitions/__schema8"
89
+ },
90
+ "ui": {
91
+ "$ref": "#/definitions/__schema9"
92
+ },
93
+ "type": {
94
+ "type": "string",
95
+ "const": "boolean",
96
+ "description": "True or false value."
97
+ },
98
+ "default": {
99
+ "type": "boolean",
100
+ "description": "Initial true or false value."
101
+ }
102
+ },
103
+ "required": [
104
+ "id",
105
+ "label",
106
+ "type",
107
+ "default"
108
+ ],
109
+ "additionalProperties": false
110
+ },
111
+ {
112
+ "type": "object",
113
+ "properties": {
114
+ "id": {
115
+ "$ref": "#/definitions/__schema5"
116
+ },
117
+ "label": {
118
+ "$ref": "#/definitions/__schema6"
119
+ },
120
+ "description": {
121
+ "$ref": "#/definitions/__schema7"
122
+ },
123
+ "unit": {
124
+ "$ref": "#/definitions/__schema8"
125
+ },
126
+ "ui": {
127
+ "type": "object",
128
+ "properties": {
129
+ "group": {
130
+ "$ref": "#/definitions/__schema10"
131
+ },
132
+ "hint": {
133
+ "$ref": "#/definitions/__schema11"
134
+ },
135
+ "visibleWhen": {
136
+ "$ref": "#/definitions/__schema12"
137
+ },
138
+ "row": {
139
+ "$ref": "#/definitions/__schema27"
140
+ },
141
+ "control": {
142
+ "$ref": "#/definitions/__schema28"
143
+ },
144
+ "step": {
145
+ "$ref": "#/definitions/__schema29"
146
+ }
147
+ },
148
+ "additionalProperties": false,
149
+ "description": "Number editor, increments, grouping and visibility."
150
+ },
151
+ "type": {
152
+ "type": "string",
153
+ "const": "number",
154
+ "description": "Numeric value; ui.control selects its editor."
155
+ },
156
+ "default": {
157
+ "description": "Valid initial value, within declared bounds.",
158
+ "allOf": [
159
+ {
160
+ "$ref": "#/definitions/__schema15"
161
+ }
162
+ ]
163
+ },
164
+ "integer": {
165
+ "type": "boolean",
166
+ "description": "Require integer defaults, bounds and values."
167
+ },
168
+ "role": {
169
+ "type": "string",
170
+ "const": "curve-resolution",
171
+ "description": "Saved maximum curve deviation in mm; requires positive default and minimum."
172
+ },
173
+ "min": {
174
+ "description": "Inclusive lower bound on valid values.",
175
+ "allOf": [
176
+ {
177
+ "$ref": "#/definitions/__schema15"
178
+ }
179
+ ]
180
+ },
181
+ "max": {
182
+ "description": "Inclusive upper bound on valid values.",
183
+ "allOf": [
184
+ {
185
+ "$ref": "#/definitions/__schema15"
186
+ }
187
+ ]
188
+ }
189
+ },
190
+ "required": [
191
+ "id",
192
+ "label",
193
+ "type",
194
+ "default"
195
+ ],
196
+ "additionalProperties": false
197
+ },
198
+ {
199
+ "type": "object",
200
+ "properties": {
201
+ "id": {
202
+ "$ref": "#/definitions/__schema5"
203
+ },
204
+ "label": {
205
+ "$ref": "#/definitions/__schema6"
206
+ },
207
+ "description": {
208
+ "$ref": "#/definitions/__schema7"
209
+ },
210
+ "unit": {
211
+ "$ref": "#/definitions/__schema8"
212
+ },
213
+ "ui": {
214
+ "description": "Optional grouping, paired row, help and visibility.",
215
+ "allOf": [
216
+ {
217
+ "$ref": "#/definitions/__schema31"
218
+ }
219
+ ]
220
+ },
221
+ "type": {
222
+ "type": "string",
223
+ "const": "choice",
224
+ "description": "One stable value from the declared options."
225
+ },
226
+ "default": {
227
+ "description": "Stable value of one declared option.",
228
+ "allOf": [
229
+ {
230
+ "$ref": "#/definitions/__schema3"
231
+ }
232
+ ]
233
+ },
234
+ "options": {
235
+ "minItems": 1,
236
+ "maxItems": 512,
237
+ "type": "array",
238
+ "items": {
239
+ "$ref": "#/definitions/__schema32"
240
+ },
241
+ "description": "Ordered choices with unique stable values and display labels."
242
+ }
243
+ },
244
+ "required": [
245
+ "id",
246
+ "label",
247
+ "type",
248
+ "default",
249
+ "options"
250
+ ],
251
+ "additionalProperties": false
252
+ },
253
+ {
254
+ "type": "object",
255
+ "properties": {
256
+ "id": {
257
+ "$ref": "#/definitions/__schema5"
258
+ },
259
+ "label": {
260
+ "$ref": "#/definitions/__schema6"
261
+ },
262
+ "description": {
263
+ "$ref": "#/definitions/__schema7"
264
+ },
265
+ "unit": {
266
+ "$ref": "#/definitions/__schema8"
267
+ },
268
+ "ui": {
269
+ "$ref": "#/definitions/__schema9"
270
+ },
271
+ "type": {
272
+ "type": "string",
273
+ "const": "choice-set",
274
+ "description": "Several distinct option values, stored in option order."
275
+ },
276
+ "default": {
277
+ "maxItems": 512,
278
+ "type": "array",
279
+ "items": {
280
+ "$ref": "#/definitions/__schema3"
281
+ },
282
+ "description": "Distinct selected values in declared option order."
283
+ },
284
+ "options": {
285
+ "minItems": 1,
286
+ "maxItems": 512,
287
+ "type": "array",
288
+ "items": {
289
+ "$ref": "#/definitions/__schema32"
290
+ },
291
+ "description": "Ordered choices with unique stable values and display labels."
292
+ },
293
+ "minSelections": {
294
+ "allOf": [
295
+ {
296
+ "$ref": "#/definitions/__schema33"
297
+ }
298
+ ]
299
+ },
300
+ "maxSelections": {
301
+ "allOf": [
302
+ {
303
+ "$ref": "#/definitions/__schema33"
304
+ }
305
+ ]
306
+ }
307
+ },
308
+ "required": [
309
+ "id",
310
+ "label",
311
+ "type",
312
+ "default",
313
+ "options"
314
+ ],
315
+ "additionalProperties": false
316
+ },
317
+ {
318
+ "type": "object",
319
+ "properties": {
320
+ "id": {
321
+ "$ref": "#/definitions/__schema5"
322
+ },
323
+ "label": {
324
+ "$ref": "#/definitions/__schema6"
325
+ },
326
+ "description": {
327
+ "$ref": "#/definitions/__schema7"
328
+ },
329
+ "unit": {
330
+ "$ref": "#/definitions/__schema8"
331
+ },
332
+ "ui": {
333
+ "$ref": "#/definitions/__schema9"
334
+ },
335
+ "type": {
336
+ "type": "string",
337
+ "const": "color",
338
+ "description": "Six-digit hexadecimal color."
339
+ },
340
+ "default": {
341
+ "description": "Initial color as #rrggbb.",
342
+ "allOf": [
343
+ {
344
+ "$ref": "#/definitions/__schema35"
345
+ }
346
+ ]
347
+ }
348
+ },
349
+ "required": [
350
+ "id",
351
+ "label",
352
+ "type",
353
+ "default"
354
+ ],
355
+ "additionalProperties": false
356
+ },
357
+ {
358
+ "type": "object",
359
+ "properties": {
360
+ "id": {
361
+ "$ref": "#/definitions/__schema5"
362
+ },
363
+ "label": {
364
+ "$ref": "#/definitions/__schema6"
365
+ },
366
+ "description": {
367
+ "$ref": "#/definitions/__schema7"
368
+ },
369
+ "unit": {
370
+ "$ref": "#/definitions/__schema8"
371
+ },
372
+ "ui": {
373
+ "description": "Optional grouping, paired row, help and visibility.",
374
+ "allOf": [
375
+ {
376
+ "$ref": "#/definitions/__schema31"
377
+ }
378
+ ]
379
+ },
380
+ "type": {
381
+ "type": "string",
382
+ "const": "text",
383
+ "description": "Plain text contributing to the model."
384
+ },
385
+ "default": {
386
+ "description": "Initial plain text.",
387
+ "allOf": [
388
+ {
389
+ "$ref": "#/definitions/__schema16"
390
+ }
391
+ ]
392
+ }
393
+ },
394
+ "required": [
395
+ "id",
396
+ "label",
397
+ "type",
398
+ "default"
399
+ ],
400
+ "additionalProperties": false
401
+ },
402
+ {
403
+ "type": "object",
404
+ "properties": {
405
+ "id": {
406
+ "$ref": "#/definitions/__schema5"
407
+ },
408
+ "label": {
409
+ "$ref": "#/definitions/__schema6"
410
+ },
411
+ "description": {
412
+ "$ref": "#/definitions/__schema7"
413
+ },
414
+ "unit": {
415
+ "$ref": "#/definitions/__schema8"
416
+ },
417
+ "ui": {
418
+ "$ref": "#/definitions/__schema9"
419
+ },
420
+ "type": {
421
+ "type": "string",
422
+ "const": "font",
423
+ "description": "Immutable font face, revision and weight."
424
+ },
425
+ "default": {
426
+ "type": "object",
427
+ "properties": {
428
+ "faceId": {
429
+ "$ref": "#/definitions/__schema36"
430
+ },
431
+ "revision": {
432
+ "$ref": "#/definitions/__schema37"
433
+ },
434
+ "weight": {
435
+ "$ref": "#/definitions/__schema38"
436
+ }
437
+ },
438
+ "required": [
439
+ "faceId",
440
+ "revision",
441
+ "weight"
442
+ ],
443
+ "additionalProperties": false,
444
+ "description": "Exact immutable face, SHA-256 revision and weight."
445
+ }
446
+ },
447
+ "required": [
448
+ "id",
449
+ "label",
450
+ "type",
451
+ "default"
452
+ ],
453
+ "additionalProperties": false
454
+ },
455
+ {
456
+ "type": "object",
457
+ "properties": {
458
+ "id": {
459
+ "$ref": "#/definitions/__schema5"
460
+ },
461
+ "label": {
462
+ "$ref": "#/definitions/__schema6"
463
+ },
464
+ "description": {
465
+ "$ref": "#/definitions/__schema7"
466
+ },
467
+ "unit": {
468
+ "$ref": "#/definitions/__schema8"
469
+ },
470
+ "ui": {
471
+ "$ref": "#/definitions/__schema9"
472
+ },
473
+ "type": {
474
+ "type": "string",
475
+ "const": "svg",
476
+ "description": "SVG document text."
477
+ },
478
+ "default": {
479
+ "type": "string",
480
+ "description": "Initial SVG document text, at most 256 KiB in UTF-8."
481
+ }
482
+ },
483
+ "required": [
484
+ "id",
485
+ "label",
486
+ "type",
487
+ "default"
488
+ ],
489
+ "additionalProperties": false
490
+ },
491
+ {
492
+ "type": "object",
493
+ "properties": {
494
+ "id": {
495
+ "$ref": "#/definitions/__schema5"
496
+ },
497
+ "label": {
498
+ "$ref": "#/definitions/__schema6"
499
+ },
500
+ "description": {
501
+ "$ref": "#/definitions/__schema7"
502
+ },
503
+ "unit": {
504
+ "$ref": "#/definitions/__schema8"
505
+ },
506
+ "ui": {
507
+ "type": "object",
508
+ "properties": {
509
+ "group": {
510
+ "$ref": "#/definitions/__schema10"
511
+ },
512
+ "hint": {
513
+ "$ref": "#/definitions/__schema11"
514
+ },
515
+ "visibleWhen": {
516
+ "$ref": "#/definitions/__schema12"
517
+ },
518
+ "radiusScale": {
519
+ "allOf": [
520
+ {
521
+ "$ref": "#/definitions/__schema39"
522
+ }
523
+ ]
524
+ },
525
+ "heightScale": {
526
+ "allOf": [
527
+ {
528
+ "$ref": "#/definitions/__schema39"
529
+ }
530
+ ]
531
+ }
532
+ },
533
+ "additionalProperties": false
534
+ },
535
+ "type": {
536
+ "type": "string",
537
+ "const": "side-profile",
538
+ "description": "Normalized upward radius/height outline."
539
+ },
540
+ "default": {
541
+ "type": "object",
542
+ "properties": {
543
+ "version": {
544
+ "$ref": "#/definitions/__schema40"
545
+ },
546
+ "start": {
547
+ "$ref": "#/definitions/__schema41"
548
+ },
549
+ "segments": {
550
+ "$ref": "#/definitions/__schema43"
551
+ }
552
+ },
553
+ "required": [
554
+ "version",
555
+ "start",
556
+ "segments"
557
+ ],
558
+ "additionalProperties": false,
559
+ "description": "Open normalized outline from height 0 to 1, with strictly upward anchors."
560
+ }
561
+ },
562
+ "required": [
563
+ "id",
564
+ "label",
565
+ "type",
566
+ "default"
567
+ ],
568
+ "additionalProperties": false
569
+ },
570
+ {
571
+ "type": "object",
572
+ "properties": {
573
+ "id": {
574
+ "$ref": "#/definitions/__schema5"
575
+ },
576
+ "label": {
577
+ "$ref": "#/definitions/__schema6"
578
+ },
579
+ "description": {
580
+ "$ref": "#/definitions/__schema7"
581
+ },
582
+ "unit": {
583
+ "$ref": "#/definitions/__schema8"
584
+ },
585
+ "ui": {
586
+ "type": "object",
587
+ "properties": {
588
+ "group": {
589
+ "$ref": "#/definitions/__schema10"
590
+ },
591
+ "hint": {
592
+ "$ref": "#/definitions/__schema11"
593
+ },
594
+ "visibleWhen": {
595
+ "$ref": "#/definitions/__schema12"
596
+ },
597
+ "widthScale": {
598
+ "allOf": [
599
+ {
600
+ "$ref": "#/definitions/__schema39"
601
+ }
602
+ ]
603
+ },
604
+ "heightScale": {
605
+ "allOf": [
606
+ {
607
+ "$ref": "#/definitions/__schema39"
608
+ }
609
+ ]
610
+ }
611
+ },
612
+ "additionalProperties": false
613
+ },
614
+ "type": {
615
+ "type": "string",
616
+ "const": "contour",
617
+ "description": "One normalized, explicitly closed XY contour."
618
+ },
619
+ "default": {
620
+ "type": "object",
621
+ "properties": {
622
+ "version": {
623
+ "$ref": "#/definitions/__schema46"
624
+ },
625
+ "start": {
626
+ "$ref": "#/definitions/__schema47"
627
+ },
628
+ "segments": {
629
+ "$ref": "#/definitions/__schema48"
630
+ }
631
+ },
632
+ "required": [
633
+ "version",
634
+ "start",
635
+ "segments"
636
+ ],
637
+ "additionalProperties": false,
638
+ "description": "Closed normalized XY outline; final endpoint and mode repeat the start exactly."
639
+ }
640
+ },
641
+ "required": [
642
+ "id",
643
+ "label",
644
+ "type",
645
+ "default"
646
+ ],
647
+ "additionalProperties": false
648
+ },
649
+ {
650
+ "type": "object",
651
+ "properties": {
652
+ "id": {
653
+ "$ref": "#/definitions/__schema5"
654
+ },
655
+ "label": {
656
+ "$ref": "#/definitions/__schema6"
657
+ },
658
+ "description": {
659
+ "$ref": "#/definitions/__schema7"
660
+ },
661
+ "unit": {
662
+ "$ref": "#/definitions/__schema8"
663
+ },
664
+ "ui": {
665
+ "$ref": "#/definitions/__schema9"
666
+ },
667
+ "type": {
668
+ "type": "string",
669
+ "const": "array",
670
+ "description": "Ordered homogeneous number or string sequence."
671
+ },
672
+ "default": {
673
+ "anyOf": [
674
+ {
675
+ "$ref": "#/definitions/__schema51"
676
+ },
677
+ {
678
+ "$ref": "#/definitions/__schema52"
679
+ }
680
+ ],
681
+ "description": "Initial ordered values matching the item type and limits."
682
+ },
683
+ "minItems": {
684
+ "allOf": [
685
+ {
686
+ "$ref": "#/definitions/__schema53"
687
+ }
688
+ ]
689
+ },
690
+ "maxItems": {
691
+ "allOf": [
692
+ {
693
+ "$ref": "#/definitions/__schema53"
694
+ }
695
+ ]
696
+ },
697
+ "items": {
698
+ "oneOf": [
699
+ {
700
+ "type": "object",
701
+ "properties": {
702
+ "type": {
703
+ "type": "string",
704
+ "const": "number",
705
+ "description": "Numeric array item."
706
+ },
707
+ "integer": {
708
+ "type": "boolean"
709
+ },
710
+ "min": {
711
+ "description": "Inclusive lower bound on valid values.",
712
+ "allOf": [
713
+ {
714
+ "$ref": "#/definitions/__schema15"
715
+ }
716
+ ]
717
+ },
718
+ "max": {
719
+ "description": "Inclusive upper bound on valid values.",
720
+ "allOf": [
721
+ {
722
+ "$ref": "#/definitions/__schema15"
723
+ }
724
+ ]
725
+ },
726
+ "unit": {
727
+ "type": "string",
728
+ "maxLength": 64
729
+ },
730
+ "ui": {
731
+ "type": "object",
732
+ "properties": {
733
+ "step": {
734
+ "allOf": [
735
+ {
736
+ "$ref": "#/definitions/__schema30"
737
+ }
738
+ ]
739
+ }
740
+ },
741
+ "additionalProperties": false
742
+ }
743
+ },
744
+ "required": [
745
+ "type"
746
+ ],
747
+ "additionalProperties": false
748
+ },
749
+ {
750
+ "type": "object",
751
+ "properties": {
752
+ "type": {
753
+ "type": "string",
754
+ "const": "string"
755
+ }
756
+ },
757
+ "required": [
758
+ "type"
759
+ ],
760
+ "additionalProperties": false
761
+ }
762
+ ]
763
+ }
764
+ },
765
+ "required": [
766
+ "id",
767
+ "label",
768
+ "type",
769
+ "default",
770
+ "items"
771
+ ],
772
+ "additionalProperties": false
773
+ }
774
+ ]
775
+ },
776
+ "__schema5": {
777
+ "description": "Stable input ID used by the Generator and saved values.",
778
+ "allOf": [
779
+ {
780
+ "$ref": "#/definitions/__schema1"
781
+ }
782
+ ]
783
+ },
784
+ "__schema6": {
785
+ "description": "Human-readable parameter name.",
786
+ "allOf": [
787
+ {
788
+ "$ref": "#/definitions/__schema2"
789
+ }
790
+ ]
791
+ },
792
+ "__schema7": {
793
+ "description": "Supplementary help about the input's meaning.",
794
+ "allOf": [
795
+ {
796
+ "$ref": "#/definitions/__schema3"
797
+ }
798
+ ]
799
+ },
800
+ "__schema8": {
801
+ "type": "string",
802
+ "maxLength": 64,
803
+ "description": "Unit of the saved value, such as mm or degrees."
804
+ },
805
+ "__schema9": {
806
+ "type": "object",
807
+ "properties": {
808
+ "group": {
809
+ "$ref": "#/definitions/__schema10"
810
+ },
811
+ "hint": {
812
+ "$ref": "#/definitions/__schema11"
813
+ },
814
+ "visibleWhen": {
815
+ "$ref": "#/definitions/__schema12"
816
+ }
817
+ },
818
+ "additionalProperties": false,
819
+ "description": "Optional presentation hints; values remain independent of their editor."
820
+ },
821
+ "__schema10": {
822
+ "description": "ID of a declared group. Omit to render without a group.",
823
+ "allOf": [
824
+ {
825
+ "$ref": "#/definitions/__schema1"
826
+ }
827
+ ]
828
+ },
829
+ "__schema11": {
830
+ "description": "Short essential instruction shown inline.",
831
+ "allOf": [
832
+ {
833
+ "$ref": "#/definitions/__schema2"
834
+ }
835
+ ]
836
+ },
837
+ "__schema12": {
838
+ "anyOf": [
839
+ {
840
+ "$ref": "#/definitions/__schema13"
841
+ },
842
+ {
843
+ "$ref": "#/definitions/__schema17"
844
+ },
845
+ {
846
+ "$ref": "#/definitions/__schema25"
847
+ },
848
+ {
849
+ "$ref": "#/definitions/__schema26"
850
+ }
851
+ ],
852
+ "description": "Controls visibility only; hidden values are preserved and validated."
853
+ },
854
+ "__schema13": {
855
+ "anyOf": [
856
+ {
857
+ "type": "object",
858
+ "properties": {
859
+ "param": {
860
+ "$ref": "#/definitions/__schema1"
861
+ },
862
+ "eq": {
863
+ "$ref": "#/definitions/__schema14"
864
+ }
865
+ },
866
+ "required": [
867
+ "param",
868
+ "eq"
869
+ ],
870
+ "additionalProperties": false
871
+ },
872
+ {
873
+ "type": "object",
874
+ "properties": {
875
+ "param": {
876
+ "$ref": "#/definitions/__schema1"
877
+ },
878
+ "ne": {
879
+ "$ref": "#/definitions/__schema14"
880
+ }
881
+ },
882
+ "required": [
883
+ "param",
884
+ "ne"
885
+ ],
886
+ "additionalProperties": false
887
+ },
888
+ {
889
+ "type": "object",
890
+ "properties": {
891
+ "param": {
892
+ "$ref": "#/definitions/__schema1"
893
+ },
894
+ "contains": {
895
+ "$ref": "#/definitions/__schema16"
896
+ }
897
+ },
898
+ "required": [
899
+ "param",
900
+ "contains"
901
+ ],
902
+ "additionalProperties": false
903
+ },
904
+ {
905
+ "type": "object",
906
+ "properties": {
907
+ "param": {
908
+ "$ref": "#/definitions/__schema1"
909
+ },
910
+ "gt": {
911
+ "$ref": "#/definitions/__schema15"
912
+ }
913
+ },
914
+ "required": [
915
+ "param",
916
+ "gt"
917
+ ],
918
+ "additionalProperties": false
919
+ },
920
+ {
921
+ "type": "object",
922
+ "properties": {
923
+ "param": {
924
+ "$ref": "#/definitions/__schema1"
925
+ },
926
+ "gte": {
927
+ "$ref": "#/definitions/__schema15"
928
+ }
929
+ },
930
+ "required": [
931
+ "param",
932
+ "gte"
933
+ ],
934
+ "additionalProperties": false
935
+ },
936
+ {
937
+ "type": "object",
938
+ "properties": {
939
+ "param": {
940
+ "$ref": "#/definitions/__schema1"
941
+ },
942
+ "lt": {
943
+ "$ref": "#/definitions/__schema15"
944
+ }
945
+ },
946
+ "required": [
947
+ "param",
948
+ "lt"
949
+ ],
950
+ "additionalProperties": false
951
+ },
952
+ {
953
+ "type": "object",
954
+ "properties": {
955
+ "param": {
956
+ "$ref": "#/definitions/__schema1"
957
+ },
958
+ "lte": {
959
+ "$ref": "#/definitions/__schema15"
960
+ }
961
+ },
962
+ "required": [
963
+ "param",
964
+ "lte"
965
+ ],
966
+ "additionalProperties": false
967
+ }
968
+ ]
969
+ },
970
+ "__schema14": {
971
+ "anyOf": [
972
+ {
973
+ "type": "boolean"
974
+ },
975
+ {
976
+ "$ref": "#/definitions/__schema15"
977
+ },
978
+ {
979
+ "$ref": "#/definitions/__schema16"
980
+ }
981
+ ]
982
+ },
983
+ "__schema15": {
984
+ "type": "number"
985
+ },
986
+ "__schema16": {
987
+ "type": "string",
988
+ "maxLength": 65536
989
+ },
990
+ "__schema17": {
991
+ "type": "object",
992
+ "properties": {
993
+ "all": {
994
+ "maxItems": 32,
995
+ "type": "array",
996
+ "items": {
997
+ "$ref": "#/definitions/__schema18"
998
+ }
999
+ }
1000
+ },
1001
+ "required": [
1002
+ "all"
1003
+ ],
1004
+ "additionalProperties": false
1005
+ },
1006
+ "__schema18": {
1007
+ "anyOf": [
1008
+ {
1009
+ "$ref": "#/definitions/__schema13"
1010
+ },
1011
+ {
1012
+ "type": "object",
1013
+ "properties": {
1014
+ "all": {
1015
+ "maxItems": 32,
1016
+ "type": "array",
1017
+ "items": {
1018
+ "$ref": "#/definitions/__schema19"
1019
+ }
1020
+ }
1021
+ },
1022
+ "required": [
1023
+ "all"
1024
+ ],
1025
+ "additionalProperties": false
1026
+ },
1027
+ {
1028
+ "type": "object",
1029
+ "properties": {
1030
+ "any": {
1031
+ "maxItems": 32,
1032
+ "type": "array",
1033
+ "items": {
1034
+ "$ref": "#/definitions/__schema19"
1035
+ }
1036
+ }
1037
+ },
1038
+ "required": [
1039
+ "any"
1040
+ ],
1041
+ "additionalProperties": false
1042
+ },
1043
+ {
1044
+ "type": "object",
1045
+ "properties": {
1046
+ "not": {
1047
+ "$ref": "#/definitions/__schema19"
1048
+ }
1049
+ },
1050
+ "required": [
1051
+ "not"
1052
+ ],
1053
+ "additionalProperties": false
1054
+ }
1055
+ ]
1056
+ },
1057
+ "__schema19": {
1058
+ "anyOf": [
1059
+ {
1060
+ "$ref": "#/definitions/__schema13"
1061
+ },
1062
+ {
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "all": {
1066
+ "maxItems": 32,
1067
+ "type": "array",
1068
+ "items": {
1069
+ "$ref": "#/definitions/__schema20"
1070
+ }
1071
+ }
1072
+ },
1073
+ "required": [
1074
+ "all"
1075
+ ],
1076
+ "additionalProperties": false
1077
+ },
1078
+ {
1079
+ "type": "object",
1080
+ "properties": {
1081
+ "any": {
1082
+ "maxItems": 32,
1083
+ "type": "array",
1084
+ "items": {
1085
+ "$ref": "#/definitions/__schema20"
1086
+ }
1087
+ }
1088
+ },
1089
+ "required": [
1090
+ "any"
1091
+ ],
1092
+ "additionalProperties": false
1093
+ },
1094
+ {
1095
+ "type": "object",
1096
+ "properties": {
1097
+ "not": {
1098
+ "$ref": "#/definitions/__schema20"
1099
+ }
1100
+ },
1101
+ "required": [
1102
+ "not"
1103
+ ],
1104
+ "additionalProperties": false
1105
+ }
1106
+ ]
1107
+ },
1108
+ "__schema20": {
1109
+ "anyOf": [
1110
+ {
1111
+ "$ref": "#/definitions/__schema13"
1112
+ },
1113
+ {
1114
+ "type": "object",
1115
+ "properties": {
1116
+ "all": {
1117
+ "maxItems": 32,
1118
+ "type": "array",
1119
+ "items": {
1120
+ "$ref": "#/definitions/__schema21"
1121
+ }
1122
+ }
1123
+ },
1124
+ "required": [
1125
+ "all"
1126
+ ],
1127
+ "additionalProperties": false
1128
+ },
1129
+ {
1130
+ "type": "object",
1131
+ "properties": {
1132
+ "any": {
1133
+ "maxItems": 32,
1134
+ "type": "array",
1135
+ "items": {
1136
+ "$ref": "#/definitions/__schema21"
1137
+ }
1138
+ }
1139
+ },
1140
+ "required": [
1141
+ "any"
1142
+ ],
1143
+ "additionalProperties": false
1144
+ },
1145
+ {
1146
+ "type": "object",
1147
+ "properties": {
1148
+ "not": {
1149
+ "$ref": "#/definitions/__schema21"
1150
+ }
1151
+ },
1152
+ "required": [
1153
+ "not"
1154
+ ],
1155
+ "additionalProperties": false
1156
+ }
1157
+ ]
1158
+ },
1159
+ "__schema21": {
1160
+ "anyOf": [
1161
+ {
1162
+ "$ref": "#/definitions/__schema13"
1163
+ },
1164
+ {
1165
+ "type": "object",
1166
+ "properties": {
1167
+ "all": {
1168
+ "maxItems": 32,
1169
+ "type": "array",
1170
+ "items": {
1171
+ "$ref": "#/definitions/__schema22"
1172
+ }
1173
+ }
1174
+ },
1175
+ "required": [
1176
+ "all"
1177
+ ],
1178
+ "additionalProperties": false
1179
+ },
1180
+ {
1181
+ "type": "object",
1182
+ "properties": {
1183
+ "any": {
1184
+ "maxItems": 32,
1185
+ "type": "array",
1186
+ "items": {
1187
+ "$ref": "#/definitions/__schema22"
1188
+ }
1189
+ }
1190
+ },
1191
+ "required": [
1192
+ "any"
1193
+ ],
1194
+ "additionalProperties": false
1195
+ },
1196
+ {
1197
+ "type": "object",
1198
+ "properties": {
1199
+ "not": {
1200
+ "$ref": "#/definitions/__schema22"
1201
+ }
1202
+ },
1203
+ "required": [
1204
+ "not"
1205
+ ],
1206
+ "additionalProperties": false
1207
+ }
1208
+ ]
1209
+ },
1210
+ "__schema22": {
1211
+ "anyOf": [
1212
+ {
1213
+ "$ref": "#/definitions/__schema13"
1214
+ },
1215
+ {
1216
+ "type": "object",
1217
+ "properties": {
1218
+ "all": {
1219
+ "maxItems": 32,
1220
+ "type": "array",
1221
+ "items": {
1222
+ "$ref": "#/definitions/__schema23"
1223
+ }
1224
+ }
1225
+ },
1226
+ "required": [
1227
+ "all"
1228
+ ],
1229
+ "additionalProperties": false
1230
+ },
1231
+ {
1232
+ "type": "object",
1233
+ "properties": {
1234
+ "any": {
1235
+ "maxItems": 32,
1236
+ "type": "array",
1237
+ "items": {
1238
+ "$ref": "#/definitions/__schema23"
1239
+ }
1240
+ }
1241
+ },
1242
+ "required": [
1243
+ "any"
1244
+ ],
1245
+ "additionalProperties": false
1246
+ },
1247
+ {
1248
+ "type": "object",
1249
+ "properties": {
1250
+ "not": {
1251
+ "$ref": "#/definitions/__schema23"
1252
+ }
1253
+ },
1254
+ "required": [
1255
+ "not"
1256
+ ],
1257
+ "additionalProperties": false
1258
+ }
1259
+ ]
1260
+ },
1261
+ "__schema23": {
1262
+ "anyOf": [
1263
+ {
1264
+ "$ref": "#/definitions/__schema13"
1265
+ },
1266
+ {
1267
+ "type": "object",
1268
+ "properties": {
1269
+ "all": {
1270
+ "maxItems": 32,
1271
+ "type": "array",
1272
+ "items": {
1273
+ "$ref": "#/definitions/__schema24"
1274
+ }
1275
+ }
1276
+ },
1277
+ "required": [
1278
+ "all"
1279
+ ],
1280
+ "additionalProperties": false
1281
+ },
1282
+ {
1283
+ "type": "object",
1284
+ "properties": {
1285
+ "any": {
1286
+ "maxItems": 32,
1287
+ "type": "array",
1288
+ "items": {
1289
+ "$ref": "#/definitions/__schema24"
1290
+ }
1291
+ }
1292
+ },
1293
+ "required": [
1294
+ "any"
1295
+ ],
1296
+ "additionalProperties": false
1297
+ },
1298
+ {
1299
+ "type": "object",
1300
+ "properties": {
1301
+ "not": {
1302
+ "$ref": "#/definitions/__schema24"
1303
+ }
1304
+ },
1305
+ "required": [
1306
+ "not"
1307
+ ],
1308
+ "additionalProperties": false
1309
+ }
1310
+ ]
1311
+ },
1312
+ "__schema24": {
1313
+ "anyOf": [
1314
+ {
1315
+ "$ref": "#/definitions/__schema13"
1316
+ },
1317
+ {
1318
+ "type": "object",
1319
+ "properties": {
1320
+ "all": {
1321
+ "maxItems": 32,
1322
+ "type": "array",
1323
+ "items": {
1324
+ "$ref": "#/definitions/__schema13"
1325
+ }
1326
+ }
1327
+ },
1328
+ "required": [
1329
+ "all"
1330
+ ],
1331
+ "additionalProperties": false
1332
+ },
1333
+ {
1334
+ "type": "object",
1335
+ "properties": {
1336
+ "any": {
1337
+ "maxItems": 32,
1338
+ "type": "array",
1339
+ "items": {
1340
+ "$ref": "#/definitions/__schema13"
1341
+ }
1342
+ }
1343
+ },
1344
+ "required": [
1345
+ "any"
1346
+ ],
1347
+ "additionalProperties": false
1348
+ },
1349
+ {
1350
+ "type": "object",
1351
+ "properties": {
1352
+ "not": {
1353
+ "$ref": "#/definitions/__schema13"
1354
+ }
1355
+ },
1356
+ "required": [
1357
+ "not"
1358
+ ],
1359
+ "additionalProperties": false
1360
+ }
1361
+ ]
1362
+ },
1363
+ "__schema25": {
1364
+ "type": "object",
1365
+ "properties": {
1366
+ "any": {
1367
+ "maxItems": 32,
1368
+ "type": "array",
1369
+ "items": {
1370
+ "$ref": "#/definitions/__schema18"
1371
+ }
1372
+ }
1373
+ },
1374
+ "required": [
1375
+ "any"
1376
+ ],
1377
+ "additionalProperties": false
1378
+ },
1379
+ "__schema26": {
1380
+ "type": "object",
1381
+ "properties": {
1382
+ "not": {
1383
+ "$ref": "#/definitions/__schema18"
1384
+ }
1385
+ },
1386
+ "required": [
1387
+ "not"
1388
+ ],
1389
+ "additionalProperties": false
1390
+ },
1391
+ "__schema27": {
1392
+ "description": "Shared ID for at most two adjacent controls in the same group.",
1393
+ "allOf": [
1394
+ {
1395
+ "$ref": "#/definitions/__schema1"
1396
+ }
1397
+ ]
1398
+ },
1399
+ "__schema28": {
1400
+ "type": "string",
1401
+ "enum": [
1402
+ "number",
1403
+ "slider"
1404
+ ],
1405
+ "description": "Defaults to number. Slider requires min, max and ui.step, and cannot share a row."
1406
+ },
1407
+ "__schema29": {
1408
+ "allOf": [
1409
+ {
1410
+ "$ref": "#/definitions/__schema30"
1411
+ }
1412
+ ]
1413
+ },
1414
+ "__schema30": {
1415
+ "type": "number",
1416
+ "exclusiveMinimum": 0,
1417
+ "description": "Editing increment, not a constraint on saved values.",
1418
+ "allOf": [
1419
+ {
1420
+ "$ref": "#/definitions/__schema15"
1421
+ }
1422
+ ]
1423
+ },
1424
+ "__schema31": {
1425
+ "type": "object",
1426
+ "properties": {
1427
+ "group": {
1428
+ "$ref": "#/definitions/__schema10"
1429
+ },
1430
+ "hint": {
1431
+ "$ref": "#/definitions/__schema11"
1432
+ },
1433
+ "visibleWhen": {
1434
+ "$ref": "#/definitions/__schema12"
1435
+ },
1436
+ "row": {
1437
+ "$ref": "#/definitions/__schema27"
1438
+ }
1439
+ },
1440
+ "additionalProperties": false
1441
+ },
1442
+ "__schema32": {
1443
+ "type": "object",
1444
+ "properties": {
1445
+ "value": {
1446
+ "$ref": "#/definitions/__schema2"
1447
+ },
1448
+ "label": {
1449
+ "$ref": "#/definitions/__schema2"
1450
+ },
1451
+ "description": {
1452
+ "allOf": [
1453
+ {
1454
+ "$ref": "#/definitions/__schema3"
1455
+ }
1456
+ ]
1457
+ }
1458
+ },
1459
+ "required": [
1460
+ "value",
1461
+ "label"
1462
+ ],
1463
+ "additionalProperties": false
1464
+ },
1465
+ "__schema33": {
1466
+ "maximum": 512,
1467
+ "allOf": [
1468
+ {
1469
+ "$ref": "#/definitions/__schema34"
1470
+ }
1471
+ ]
1472
+ },
1473
+ "__schema34": {
1474
+ "type": "integer",
1475
+ "minimum": 0,
1476
+ "maximum": 9007199254740991
1477
+ },
1478
+ "__schema35": {
1479
+ "type": "string",
1480
+ "pattern": "^#[\\da-f]{6}$"
1481
+ },
1482
+ "__schema36": {
1483
+ "type": "string",
1484
+ "pattern": "^[a-z0-9][a-z0-9/-]{0,159}$"
1485
+ },
1486
+ "__schema37": {
1487
+ "type": "string",
1488
+ "pattern": "^[a-f0-9]{64}$",
1489
+ "description": "SHA-256 digest of the immutable font file."
1490
+ },
1491
+ "__schema38": {
1492
+ "type": "integer",
1493
+ "minimum": 1,
1494
+ "maximum": 1000
1495
+ },
1496
+ "__schema39": {
1497
+ "type": "object",
1498
+ "properties": {
1499
+ "parameterId": {
1500
+ "description": "ID of a positive millimetre number parameter.",
1501
+ "allOf": [
1502
+ {
1503
+ "$ref": "#/definitions/__schema1"
1504
+ }
1505
+ ]
1506
+ },
1507
+ "factor": {
1508
+ "type": "number",
1509
+ "exclusiveMinimum": 0,
1510
+ "description": "Positive multiplier used only to display editing units.",
1511
+ "allOf": [
1512
+ {
1513
+ "$ref": "#/definitions/__schema15"
1514
+ }
1515
+ ]
1516
+ }
1517
+ },
1518
+ "required": [
1519
+ "parameterId",
1520
+ "factor"
1521
+ ],
1522
+ "additionalProperties": false
1523
+ },
1524
+ "__schema40": {
1525
+ "type": "number",
1526
+ "const": 1
1527
+ },
1528
+ "__schema41": {
1529
+ "type": "object",
1530
+ "properties": {
1531
+ "radius": {
1532
+ "$ref": "#/definitions/__schema42"
1533
+ },
1534
+ "height": {
1535
+ "$ref": "#/definitions/__schema42"
1536
+ },
1537
+ "mode": {
1538
+ "type": "string",
1539
+ "enum": [
1540
+ "auto",
1541
+ "smooth",
1542
+ "corner"
1543
+ ]
1544
+ }
1545
+ },
1546
+ "required": [
1547
+ "radius",
1548
+ "height",
1549
+ "mode"
1550
+ ],
1551
+ "additionalProperties": false
1552
+ },
1553
+ "__schema42": {
1554
+ "type": "number",
1555
+ "minimum": 0,
1556
+ "maximum": 1,
1557
+ "allOf": [
1558
+ {
1559
+ "$ref": "#/definitions/__schema15"
1560
+ }
1561
+ ]
1562
+ },
1563
+ "__schema43": {
1564
+ "minItems": 1,
1565
+ "maxItems": 31,
1566
+ "type": "array",
1567
+ "items": {
1568
+ "$ref": "#/definitions/__schema44"
1569
+ }
1570
+ },
1571
+ "__schema44": {
1572
+ "oneOf": [
1573
+ {
1574
+ "type": "object",
1575
+ "properties": {
1576
+ "type": {
1577
+ "type": "string",
1578
+ "const": "line"
1579
+ },
1580
+ "end": {
1581
+ "$ref": "#/definitions/__schema41"
1582
+ }
1583
+ },
1584
+ "required": [
1585
+ "type",
1586
+ "end"
1587
+ ],
1588
+ "additionalProperties": false
1589
+ },
1590
+ {
1591
+ "type": "object",
1592
+ "properties": {
1593
+ "type": {
1594
+ "type": "string",
1595
+ "const": "cubic"
1596
+ },
1597
+ "control1": {
1598
+ "$ref": "#/definitions/__schema45"
1599
+ },
1600
+ "control2": {
1601
+ "$ref": "#/definitions/__schema45"
1602
+ },
1603
+ "end": {
1604
+ "$ref": "#/definitions/__schema41"
1605
+ }
1606
+ },
1607
+ "required": [
1608
+ "type",
1609
+ "control1",
1610
+ "control2",
1611
+ "end"
1612
+ ],
1613
+ "additionalProperties": false
1614
+ }
1615
+ ]
1616
+ },
1617
+ "__schema45": {
1618
+ "type": "object",
1619
+ "properties": {
1620
+ "radius": {
1621
+ "$ref": "#/definitions/__schema42"
1622
+ },
1623
+ "height": {
1624
+ "$ref": "#/definitions/__schema42"
1625
+ }
1626
+ },
1627
+ "required": [
1628
+ "radius",
1629
+ "height"
1630
+ ],
1631
+ "additionalProperties": false
1632
+ },
1633
+ "__schema46": {
1634
+ "type": "number",
1635
+ "const": 1
1636
+ },
1637
+ "__schema47": {
1638
+ "type": "object",
1639
+ "properties": {
1640
+ "x": {
1641
+ "$ref": "#/definitions/__schema42"
1642
+ },
1643
+ "y": {
1644
+ "$ref": "#/definitions/__schema42"
1645
+ },
1646
+ "mode": {
1647
+ "type": "string",
1648
+ "enum": [
1649
+ "smooth",
1650
+ "corner"
1651
+ ]
1652
+ }
1653
+ },
1654
+ "required": [
1655
+ "x",
1656
+ "y",
1657
+ "mode"
1658
+ ],
1659
+ "additionalProperties": false
1660
+ },
1661
+ "__schema48": {
1662
+ "minItems": 2,
1663
+ "maxItems": 32,
1664
+ "type": "array",
1665
+ "items": {
1666
+ "$ref": "#/definitions/__schema49"
1667
+ }
1668
+ },
1669
+ "__schema49": {
1670
+ "oneOf": [
1671
+ {
1672
+ "type": "object",
1673
+ "properties": {
1674
+ "type": {
1675
+ "type": "string",
1676
+ "const": "line"
1677
+ },
1678
+ "end": {
1679
+ "$ref": "#/definitions/__schema47"
1680
+ }
1681
+ },
1682
+ "required": [
1683
+ "type",
1684
+ "end"
1685
+ ],
1686
+ "additionalProperties": false
1687
+ },
1688
+ {
1689
+ "type": "object",
1690
+ "properties": {
1691
+ "type": {
1692
+ "type": "string",
1693
+ "const": "cubic"
1694
+ },
1695
+ "control1": {
1696
+ "$ref": "#/definitions/__schema50"
1697
+ },
1698
+ "control2": {
1699
+ "$ref": "#/definitions/__schema50"
1700
+ },
1701
+ "end": {
1702
+ "$ref": "#/definitions/__schema47"
1703
+ }
1704
+ },
1705
+ "required": [
1706
+ "type",
1707
+ "control1",
1708
+ "control2",
1709
+ "end"
1710
+ ],
1711
+ "additionalProperties": false
1712
+ }
1713
+ ]
1714
+ },
1715
+ "__schema50": {
1716
+ "type": "object",
1717
+ "properties": {
1718
+ "x": {
1719
+ "$ref": "#/definitions/__schema42"
1720
+ },
1721
+ "y": {
1722
+ "$ref": "#/definitions/__schema42"
1723
+ }
1724
+ },
1725
+ "required": [
1726
+ "x",
1727
+ "y"
1728
+ ],
1729
+ "additionalProperties": false
1730
+ },
1731
+ "__schema51": {
1732
+ "maxItems": 1024,
1733
+ "type": "array",
1734
+ "items": {
1735
+ "$ref": "#/definitions/__schema15"
1736
+ }
1737
+ },
1738
+ "__schema52": {
1739
+ "maxItems": 1024,
1740
+ "type": "array",
1741
+ "items": {
1742
+ "$ref": "#/definitions/__schema3"
1743
+ }
1744
+ },
1745
+ "__schema53": {
1746
+ "maximum": 1024,
1747
+ "allOf": [
1748
+ {
1749
+ "$ref": "#/definitions/__schema34"
1750
+ }
1751
+ ]
1752
+ }
1753
+ },
1754
+ "$id": "https://metamesh.studio/schemas/parameters-3.schema.json",
1755
+ "title": "MetaMesh parameter definitions",
1756
+ "description": "Ordered value definitions and optional presentation hints. The SDK also validates references and cross-field semantics."
1757
+ }