@oim-media/spec 1.27.8 → 1.27.9

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 (57) hide show
  1. package/BINARY_SPEC.md +190 -186
  2. package/CANONICAL_SPEC.md +409 -409
  3. package/LICENSE +55 -55
  4. package/NOTICE +6 -6
  5. package/README.md +446 -444
  6. package/action-cases.json +13 -13
  7. package/artistic-text-cases.json +690 -690
  8. package/canonical-cases.json +6 -0
  9. package/keyframe-cases.json +32 -32
  10. package/keys.json +22 -22
  11. package/marks-cases.json +34 -34
  12. package/package.json +2 -1
  13. package/pattern-cases.json +552 -552
  14. package/schema/oim.schema.json +2920 -2920
  15. package/schema/ovm.schema.json +2701 -2701
  16. package/text-effect-cases.json +835 -835
  17. package/tools/parity-core.mjs +122 -122
  18. package/tools/parity.mjs +86 -86
  19. package/vectors/README.md +103 -103
  20. package/vectors/accessibility.expected.json +67 -67
  21. package/vectors/artistic-text.expected.json +84 -84
  22. package/vectors/asymmetric-borders.expected.json +29 -29
  23. package/vectors/background-pattern-order.expected.json +95 -95
  24. package/vectors/basic-text.expected.json +29 -29
  25. package/vectors/color-blending-opacity.expected.json +47 -47
  26. package/vectors/crop.expected.json +32 -32
  27. package/vectors/embedded-font-woff.expected.json +57 -57
  28. package/vectors/extreme-aspect-ratios.expected.json +29 -29
  29. package/vectors/filter-effects.expected.json +33 -33
  30. package/vectors/flip.expected.json +47 -47
  31. package/vectors/frame-shapes.expected.json +73 -73
  32. package/vectors/full-monty-composite.expected.json +96 -96
  33. package/vectors/golden/exceptions.json +3 -3
  34. package/vectors/groups-and-parallax.expected.json +90 -90
  35. package/vectors/image-fill.expected.json +54 -54
  36. package/vectors/interactive-chained-actions.expected.json +77 -77
  37. package/vectors/interactive-hover.expected.json +36 -36
  38. package/vectors/interactive.expected.json +121 -121
  39. package/vectors/layer-blur.expected.json +48 -48
  40. package/vectors/layer-grain.expected.json +52 -52
  41. package/vectors/layer-ordering-zindex.expected.json +62 -62
  42. package/vectors/legacy-text-chunk.expected.json +29 -29
  43. package/vectors/media-filters.expected.json +50 -50
  44. package/vectors/multi-container-layout.expected.json +45 -45
  45. package/vectors/multilang-cjk-rtl.expected.json +30 -30
  46. package/vectors/nested-groups.expected.json +68 -68
  47. package/vectors/palettes.expected.json +57 -57
  48. package/vectors/parallax-infinite.expected.json +39 -39
  49. package/vectors/pattern-color-roles.expected.json +68 -68
  50. package/vectors/reedit-english.expected.json +45 -45
  51. package/vectors/reveal-and-play.expected.json +107 -107
  52. package/vectors/shadow-effects.expected.json +34 -34
  53. package/vectors/shape-shadows.expected.json +62 -62
  54. package/vectors/strokes-and-borders.expected.json +31 -31
  55. package/vectors/text-runs-precalculated.expected.json +46 -46
  56. package/vectors/transparent-background.expected.json +30 -30
  57. package/vectors/typography-styling.expected.json +34 -34
@@ -1,2701 +1,2701 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://oim.media/spec/1.27.8/ovm.schema.json",
4
- "title": "OVM document metadata",
5
- "specVersion": "1.27.8",
6
- "type": "object",
7
- "properties": {
8
- "ovm_version": {
9
- "type": "string"
10
- },
11
- "version": {
12
- "type": "string"
13
- },
14
- "ovm_id": {
15
- "type": "string",
16
- "maxLength": 128
17
- },
18
- "image_hash": {
19
- "type": "string",
20
- "maxLength": 64
21
- },
22
- "immutable_lock": {
23
- "type": "boolean"
24
- },
25
- "redirect_membership_verified": {
26
- "type": "boolean",
27
- "deprecated": true,
28
- "description": "Retired in 1.1.0 with allow_external_urls. A new reader must not write it."
29
- },
30
- "terms_accepted": {
31
- "type": "boolean",
32
- "deprecated": true,
33
- "description": "Retired in 1.1.0 with allow_external_urls. A new reader must not write it."
34
- },
35
- "allowed_domains": {
36
- "type": "array",
37
- "items": {
38
- "type": "string",
39
- "maxLength": 253
40
- }
41
- },
42
- "metadata": {
43
- "type": "object",
44
- "properties": {
45
- "fps": {
46
- "type": "number",
47
- "minimum": 1,
48
- "maximum": 120
49
- },
50
- "resolution": {
51
- "type": "array",
52
- "prefixItems": [
53
- {
54
- "type": "number"
55
- },
56
- {
57
- "type": "number"
58
- }
59
- ],
60
- "items": false,
61
- "minItems": 2,
62
- "maxItems": 2
63
- }
64
- }
65
- },
66
- "zones": {
67
- "type": "array",
68
- "items": {
69
- "$ref": "#/$defs/zone"
70
- }
71
- },
72
- "slots": {
73
- "maxItems": 150,
74
- "type": "array",
75
- "items": {
76
- "$ref": "#/$defs/slot"
77
- }
78
- },
79
- "elements": {
80
- "maxItems": 150,
81
- "type": "array",
82
- "items": {
83
- "$ref": "#/$defs/slot"
84
- },
85
- "deprecated": true,
86
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): slots is the one name; readers still accept it."
87
- },
88
- "layers": {
89
- "maxItems": 150,
90
- "type": "array",
91
- "items": {
92
- "$ref": "#/$defs/slot"
93
- },
94
- "deprecated": true,
95
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): slots is the one name; readers still accept it."
96
- },
97
- "capabilities": {
98
- "type": "array",
99
- "items": {
100
- "type": "string",
101
- "enum": [
102
- "vector_parallax",
103
- "infinite_parallax",
104
- "text_marks",
105
- "image_fill",
106
- "media_filters",
107
- "frame_shapes"
108
- ]
109
- }
110
- },
111
- "capabilities_required": {
112
- "type": "array",
113
- "items": {
114
- "type": "string",
115
- "enum": [
116
- "vector_parallax",
117
- "infinite_parallax",
118
- "text_marks",
119
- "image_fill",
120
- "media_filters",
121
- "frame_shapes"
122
- ]
123
- }
124
- },
125
- "signature": {
126
- "type": "string"
127
- },
128
- "key_version": {
129
- "type": "string"
130
- },
131
- "signed_at": {
132
- "type": "string",
133
- "format": "date-time",
134
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
135
- },
136
- "timestamp": {
137
- "type": "string",
138
- "format": "date-time",
139
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
140
- }
141
- },
142
- "required": [
143
- "slots"
144
- ],
145
- "additionalProperties": {},
146
- "$defs": {
147
- "zone": {
148
- "type": "object",
149
- "properties": {
150
- "id": {
151
- "type": "string",
152
- "minLength": 1,
153
- "maxLength": 128
154
- },
155
- "position": {
156
- "type": "array",
157
- "prefixItems": [
158
- {
159
- "type": "number",
160
- "minimum": 0,
161
- "maximum": 100
162
- },
163
- {
164
- "type": "number",
165
- "minimum": 0,
166
- "maximum": 100
167
- }
168
- ],
169
- "items": false,
170
- "minItems": 2,
171
- "maxItems": 2
172
- },
173
- "size": {
174
- "type": "array",
175
- "prefixItems": [
176
- {
177
- "type": "number",
178
- "minimum": 0,
179
- "maximum": 100
180
- },
181
- {
182
- "type": "number",
183
- "minimum": 0,
184
- "maximum": 100
185
- }
186
- ],
187
- "items": false,
188
- "minItems": 2,
189
- "maxItems": 2
190
- },
191
- "style": {
192
- "type": "object",
193
- "propertyNames": {
194
- "type": "string"
195
- },
196
- "additionalProperties": {}
197
- }
198
- },
199
- "required": [
200
- "id",
201
- "position",
202
- "size"
203
- ]
204
- },
205
- "slot": {
206
- "type": "object",
207
- "properties": {
208
- "id": {
209
- "type": "string",
210
- "minLength": 1,
211
- "maxLength": 128
212
- },
213
- "type": {
214
- "type": "string",
215
- "enum": [
216
- "text",
217
- "image",
218
- "lottie",
219
- "zone",
220
- "geo",
221
- "shape",
222
- "draw",
223
- "filter",
224
- "container",
225
- "group",
226
- "component",
227
- "mask",
228
- "svg",
229
- "pattern",
230
- "artistic-text"
231
- ]
232
- },
233
- "languages": {
234
- "default": [
235
- "*"
236
- ],
237
- "type": "array",
238
- "items": {
239
- "$ref": "#/$defs/__schema0"
240
- }
241
- },
242
- "pendingTranslation": {
243
- "type": "array",
244
- "items": {
245
- "$ref": "#/$defs/__schema0"
246
- }
247
- },
248
- "align": {
249
- "type": "string",
250
- "enum": [
251
- "left",
252
- "center",
253
- "right"
254
- ]
255
- },
256
- "content": {
257
- "$ref": "#/$defs/content"
258
- },
259
- "style": {
260
- "$ref": "#/$defs/style"
261
- },
262
- "position": {
263
- "$ref": "#/$defs/position"
264
- },
265
- "parallax": {
266
- "$ref": "#/$defs/parallax"
267
- },
268
- "tracking_data": {
269
- "type": "array",
270
- "items": {
271
- "$ref": "#/$defs/trackingKeyframe"
272
- }
273
- },
274
- "width_px": {
275
- "type": "number"
276
- },
277
- "height_px": {
278
- "type": "number"
279
- },
280
- "zone_id": {
281
- "type": "string",
282
- "maxLength": 128
283
- },
284
- "name": {
285
- "type": "string",
286
- "maxLength": 256
287
- },
288
- "interaction": {
289
- "$ref": "#/$defs/interaction"
290
- },
291
- "p": {
292
- "deprecated": true,
293
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): use position.",
294
- "$ref": "#/$defs/position"
295
- },
296
- "s": {
297
- "type": "array",
298
- "prefixItems": [
299
- {
300
- "type": "number"
301
- },
302
- {
303
- "type": "number"
304
- }
305
- ],
306
- "items": false,
307
- "minItems": 2,
308
- "maxItems": 2,
309
- "deprecated": true,
310
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): no writer emits it."
311
- },
312
- "st": {
313
- "deprecated": true,
314
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): use style.",
315
- "$ref": "#/$defs/style"
316
- },
317
- "c": {
318
- "deprecated": true,
319
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): use content.",
320
- "$ref": "#/$defs/content"
321
- },
322
- "t": {
323
- "type": "array",
324
- "items": {
325
- "$ref": "#/$defs/trackingKeyframe"
326
- },
327
- "deprecated": true,
328
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): use tracking_data."
329
- }
330
- },
331
- "required": [
332
- "id"
333
- ]
334
- },
335
- "__schema0": {
336
- "type": "string",
337
- "maxLength": 10
338
- },
339
- "content": {
340
- "type": "object",
341
- "propertyNames": {
342
- "type": "string"
343
- },
344
- "additionalProperties": {
345
- "$ref": "#/$defs/__schema2"
346
- }
347
- },
348
- "__schema2": {
349
- "type": "string",
350
- "maxLength": 10000000
351
- },
352
- "style": {
353
- "type": "object",
354
- "properties": {
355
- "effects": {
356
- "$ref": "#/$defs/__schema3"
357
- },
358
- "lineHeight": {
359
- "$ref": "#/$defs/__schema5"
360
- },
361
- "fontSize": {
362
- "$ref": "#/$defs/__schema6"
363
- },
364
- "fontWeight": {
365
- "type": [
366
- "string",
367
- "number"
368
- ]
369
- },
370
- "fontStyle": {
371
- "$ref": "#/$defs/__schema8"
372
- },
373
- "textDecoration": {
374
- "$ref": "#/$defs/__schema9"
375
- },
376
- "textTransform": {
377
- "$ref": "#/$defs/__schema10"
378
- },
379
- "fontSizes": {
380
- "$ref": "#/$defs/__schema11"
381
- },
382
- "maxWidths": {
383
- "$ref": "#/$defs/__schema12"
384
- },
385
- "textRuns": {
386
- "$ref": "#/$defs/__schema13"
387
- },
388
- "outline": {
389
- "$ref": "#/$defs/__schema15"
390
- },
391
- "objectFit": {
392
- "$ref": "#/$defs/__schema16"
393
- },
394
- "imageCrop": {
395
- "$ref": "#/$defs/__schema17"
396
- },
397
- "alt": {
398
- "$ref": "#/$defs/__schema18"
399
- },
400
- "decorative": {
401
- "type": "boolean"
402
- },
403
- "verticalAlign": {
404
- "$ref": "#/$defs/__schema20"
405
- },
406
- "animation": {
407
- "$ref": "#/$defs/__schema21"
408
- },
409
- "reveal": {
410
- "$ref": "#/$defs/__schema23"
411
- },
412
- "shader_fx": {
413
- "$ref": "#/$defs/__schema24"
414
- },
415
- "isInteractive": {
416
- "type": "boolean"
417
- },
418
- "states": {
419
- "$ref": "#/$defs/__schema29"
420
- },
421
- "grain": {
422
- "$ref": "#/$defs/__schema32"
423
- },
424
- "grainIntensity": {
425
- "$ref": "#/$defs/__schema33"
426
- },
427
- "grainSize": {
428
- "$ref": "#/$defs/__schema34"
429
- },
430
- "grainBlend": {
431
- "$ref": "#/$defs/__schema35"
432
- },
433
- "effect": {
434
- "$ref": "#/$defs/__schema36"
435
- },
436
- "effectColor": {
437
- "$ref": "#/$defs/__schema37"
438
- },
439
- "effectRadius": {
440
- "$ref": "#/$defs/__schema38"
441
- },
442
- "textAlign": {
443
- "$ref": "#/$defs/__schema39"
444
- },
445
- "fontFamily": {
446
- "$ref": "#/$defs/__schema40"
447
- },
448
- "width": {
449
- "$ref": "#/$defs/__schema41"
450
- },
451
- "height": {
452
- "$ref": "#/$defs/__schema42"
453
- },
454
- "maxWidth": {
455
- "$ref": "#/$defs/__schema43"
456
- },
457
- "borderRadius": {
458
- "$ref": "#/$defs/__schema44"
459
- },
460
- "fillColor": {
461
- "$ref": "#/$defs/__schema45"
462
- },
463
- "strokeStyle": {
464
- "$ref": "#/$defs/__schema46"
465
- },
466
- "textStrokeColor": {
467
- "$ref": "#/$defs/__schema47"
468
- },
469
- "shadowEnabled": {
470
- "type": "boolean"
471
- },
472
- "shadowColor": {
473
- "$ref": "#/$defs/__schema49"
474
- },
475
- "shadowColorRole": {
476
- "$ref": "#/$defs/__schema50"
477
- },
478
- "shadowBlur": {
479
- "$ref": "#/$defs/__schema51"
480
- },
481
- "shadowOffsetX": {
482
- "$ref": "#/$defs/__schema52"
483
- },
484
- "shadowOffsetY": {
485
- "$ref": "#/$defs/__schema53"
486
- },
487
- "shadowOpacity": {
488
- "$ref": "#/$defs/__schema54"
489
- },
490
- "blendMode": {
491
- "$ref": "#/$defs/__schema55"
492
- },
493
- "layerBlur": {
494
- "$ref": "#/$defs/__schema56"
495
- },
496
- "maskCoverage": {
497
- "$ref": "#/$defs/__schema57"
498
- },
499
- "maskInvert": {
500
- "type": "boolean"
501
- },
502
- "strokeColor": {
503
- "$ref": "#/$defs/__schema59"
504
- },
505
- "strokeWidth": {
506
- "$ref": "#/$defs/__schema60"
507
- },
508
- "textStrokeWidth": {
509
- "$ref": "#/$defs/__schema61"
510
- },
511
- "geoShape": {
512
- "$ref": "#/$defs/__schema62"
513
- },
514
- "svgPath": {
515
- "$ref": "#/$defs/__schema63"
516
- },
517
- "svgViewBox": {
518
- "$ref": "#/$defs/__schema64"
519
- },
520
- "svgRawXml": {
521
- "type": "string"
522
- },
523
- "artisticPreset": {
524
- "$ref": "#/$defs/__schema66"
525
- },
526
- "curveAmount": {
527
- "$ref": "#/$defs/__schema67"
528
- },
529
- "curveType": {
530
- "$ref": "#/$defs/__schema68"
531
- },
532
- "extrusionDepth": {
533
- "$ref": "#/$defs/__schema69"
534
- },
535
- "extrusionAngle": {
536
- "$ref": "#/$defs/__schema70"
537
- },
538
- "extrusionColor": {
539
- "$ref": "#/$defs/__schema71"
540
- },
541
- "extrusionShading": {
542
- "type": "boolean"
543
- },
544
- "outerStrokeColor": {
545
- "$ref": "#/$defs/__schema73"
546
- },
547
- "outerStrokeWidth": {
548
- "$ref": "#/$defs/__schema74"
549
- },
550
- "innerStrokeColor": {
551
- "$ref": "#/$defs/__schema75"
552
- },
553
- "innerStrokeWidth": {
554
- "$ref": "#/$defs/__schema76"
555
- },
556
- "maskMode": {
557
- "$ref": "#/$defs/__schema77"
558
- },
559
- "maskShape": {
560
- "$ref": "#/$defs/__schema78"
561
- },
562
- "maskBgColor": {
563
- "$ref": "#/$defs/__schema79"
564
- },
565
- "maskStrokeColor": {
566
- "$ref": "#/$defs/__schema80"
567
- },
568
- "maskStrokeWidth": {
569
- "$ref": "#/$defs/__schema81"
570
- },
571
- "filterPreset": {
572
- "$ref": "#/$defs/__schema82"
573
- },
574
- "cssAnimation": {
575
- "$ref": "#/$defs/__schema83"
576
- },
577
- "filterBlur": {
578
- "$ref": "#/$defs/__schema84"
579
- },
580
- "filterBrightness": {
581
- "$ref": "#/$defs/__schema85"
582
- },
583
- "filterContrast": {
584
- "$ref": "#/$defs/__schema86"
585
- },
586
- "filterSaturate": {
587
- "$ref": "#/$defs/__schema87"
588
- },
589
- "filterHueRotate": {
590
- "$ref": "#/$defs/__schema88"
591
- },
592
- "textAnimationType": {
593
- "$ref": "#/$defs/__schema89"
594
- },
595
- "textAnimationSpeed": {
596
- "$ref": "#/$defs/__schema90"
597
- },
598
- "textAnimationDelay": {
599
- "$ref": "#/$defs/__schema91"
600
- },
601
- "textAnimationIntensity": {
602
- "$ref": "#/$defs/__schema92"
603
- },
604
- "typewriterCursor": {
605
- "type": "boolean"
606
- },
607
- "textHighlight": {
608
- "$ref": "#/$defs/__schema94"
609
- },
610
- "dropCap": {
611
- "$ref": "#/$defs/__schema95"
612
- },
613
- "marks": {
614
- "$ref": "#/$defs/__schema96"
615
- },
616
- "customBlobPath": {
617
- "type": "string"
618
- },
619
- "maskFeather": {
620
- "$ref": "#/$defs/__schema100"
621
- },
622
- "maskSvgPath": {
623
- "type": "string"
624
- },
625
- "cuts": {
626
- "$ref": "#/$defs/__schema102"
627
- },
628
- "trimStart": {
629
- "$ref": "#/$defs/__schema103"
630
- },
631
- "trimEnd": {
632
- "$ref": "#/$defs/__schema104"
633
- },
634
- "trimDuration": {
635
- "$ref": "#/$defs/__schema105"
636
- },
637
- "groupId": {
638
- "$ref": "#/$defs/__schema106"
639
- },
640
- "rotation": {
641
- "type": "number"
642
- },
643
- "flipX": {
644
- "type": "boolean"
645
- },
646
- "flipY": {
647
- "type": "boolean"
648
- },
649
- "opacity": {
650
- "$ref": "#/$defs/__schema110"
651
- },
652
- "isVisible": {
653
- "type": "boolean"
654
- },
655
- "textGradientType": {
656
- "$ref": "#/$defs/__schema112"
657
- },
658
- "fillColorRole": {
659
- "$ref": "#/$defs/__schema113"
660
- },
661
- "strokeColorRole": {
662
- "$ref": "#/$defs/__schema114"
663
- },
664
- "colorRole": {
665
- "$ref": "#/$defs/__schema115"
666
- },
667
- "textStrokeColorRole": {
668
- "$ref": "#/$defs/__schema116"
669
- },
670
- "effectColorRole": {
671
- "$ref": "#/$defs/__schema117"
672
- },
673
- "maskBgColorRole": {
674
- "$ref": "#/$defs/__schema118"
675
- },
676
- "maskStrokeColorRole": {
677
- "$ref": "#/$defs/__schema119"
678
- },
679
- "fillGenerative": {
680
- "$ref": "#/$defs/__schema120"
681
- },
682
- "fillGradient": {
683
- "$ref": "#/$defs/__schema121"
684
- },
685
- "fillPatternType": {
686
- "$ref": "#/$defs/__schema122"
687
- },
688
- "fillPatternColor": {
689
- "$ref": "#/$defs/__schema123"
690
- },
691
- "fillPatternColorRole": {
692
- "$ref": "#/$defs/__schema124"
693
- },
694
- "fillPatternBgColor": {
695
- "$ref": "#/$defs/__schema125"
696
- },
697
- "fillPatternBgColorRole": {
698
- "$ref": "#/$defs/__schema126"
699
- },
700
- "fillPatternSpeed": {
701
- "type": "number"
702
- },
703
- "fillPatternScale": {
704
- "type": "number"
705
- },
706
- "fillPatternDirection": {
707
- "$ref": "#/$defs/__schema129"
708
- },
709
- "fillPatternSvgs": {
710
- "$ref": "#/$defs/__schema130"
711
- },
712
- "fillPatternColors": {
713
- "$ref": "#/$defs/__schema132"
714
- },
715
- "fillPatternSizes": {
716
- "$ref": "#/$defs/__schema133"
717
- },
718
- "fillPatternCounts": {
719
- "$ref": "#/$defs/__schema135"
720
- },
721
- "fillPatternDispersions": {
722
- "$ref": "#/$defs/__schema137"
723
- },
724
- "backgroundType": {
725
- "$ref": "#/$defs/__schema139"
726
- },
727
- "backgroundPatternColor": {
728
- "$ref": "#/$defs/__schema140"
729
- },
730
- "backgroundPatternColorRole": {
731
- "$ref": "#/$defs/__schema141"
732
- },
733
- "backgroundPatternBgColor": {
734
- "$ref": "#/$defs/__schema142"
735
- },
736
- "backgroundPatternBgColorRole": {
737
- "$ref": "#/$defs/__schema143"
738
- },
739
- "backgroundPatternColors": {
740
- "$ref": "#/$defs/__schema144"
741
- },
742
- "fillType": {
743
- "$ref": "#/$defs/__schema145"
744
- },
745
- "fillImage": {
746
- "$ref": "#/$defs/__schema146"
747
- },
748
- "fillImageCrop": {
749
- "$ref": "#/$defs/__schema147"
750
- },
751
- "fillImageFlipX": {
752
- "type": "boolean"
753
- },
754
- "fillImageFlipY": {
755
- "type": "boolean"
756
- }
757
- },
758
- "additionalProperties": {
759
- "$ref": "#/$defs/__schema150"
760
- }
761
- },
762
- "__schema3": {
763
- "maxItems": 8,
764
- "type": "array",
765
- "items": {
766
- "$ref": "#/$defs/__schema4"
767
- }
768
- },
769
- "__schema4": {
770
- "oneOf": [
771
- {
772
- "type": "object",
773
- "properties": {
774
- "type": {
775
- "type": "string",
776
- "const": "texture"
777
- },
778
- "preset": {
779
- "type": "string",
780
- "enum": [
781
- "film-grain-35mm",
782
- "fine-noise",
783
- "dust-scratches",
784
- "vintage-paper",
785
- "rough-canvas",
786
- "halftone-dots",
787
- "scanlines",
788
- "concentric-rings"
789
- ]
790
- },
791
- "intensity": {
792
- "default": 30,
793
- "type": "number",
794
- "minimum": 0,
795
- "maximum": 100
796
- },
797
- "blend": {
798
- "default": "overlay",
799
- "type": "string",
800
- "enum": [
801
- "normal",
802
- "overlay",
803
- "soft-light",
804
- "multiply",
805
- "screen",
806
- "color-dodge",
807
- "darken",
808
- "lighten"
809
- ]
810
- },
811
- "scale": {
812
- "default": 1,
813
- "type": "number",
814
- "minimum": 0.2,
815
- "maximum": 5
816
- },
817
- "color": {
818
- "$ref": "#/$defs/cssColor"
819
- },
820
- "colorRole": {
821
- "type": "string",
822
- "enum": [
823
- "primary",
824
- "on-primary",
825
- "secondary",
826
- "on-secondary",
827
- "surface",
828
- "on-surface",
829
- "outline",
830
- "accent",
831
- "text-primary",
832
- "text-secondary",
833
- "text-muted",
834
- "text-on-accent"
835
- ]
836
- },
837
- "enabled": {
838
- "default": true,
839
- "type": "boolean"
840
- }
841
- },
842
- "required": [
843
- "type",
844
- "preset"
845
- ]
846
- },
847
- {
848
- "type": "object",
849
- "properties": {
850
- "type": {
851
- "type": "string",
852
- "const": "drop-shadow"
853
- },
854
- "x": {
855
- "default": 0,
856
- "type": "number"
857
- },
858
- "y": {
859
- "default": 4,
860
- "type": "number"
861
- },
862
- "blur": {
863
- "default": 12,
864
- "type": "number",
865
- "minimum": 0,
866
- "maximum": 200
867
- },
868
- "spread": {
869
- "default": 0,
870
- "type": "number"
871
- },
872
- "color": {
873
- "default": "rgba(0, 0, 0, 0.35)",
874
- "$ref": "#/$defs/cssColor"
875
- },
876
- "colorRole": {
877
- "type": "string",
878
- "enum": [
879
- "primary",
880
- "on-primary",
881
- "secondary",
882
- "on-secondary",
883
- "surface",
884
- "on-surface",
885
- "outline",
886
- "accent",
887
- "text-primary",
888
- "text-secondary",
889
- "text-muted",
890
- "text-on-accent"
891
- ]
892
- },
893
- "enabled": {
894
- "default": true,
895
- "type": "boolean"
896
- }
897
- },
898
- "required": [
899
- "type"
900
- ]
901
- },
902
- {
903
- "type": "object",
904
- "properties": {
905
- "type": {
906
- "type": "string",
907
- "const": "blur"
908
- },
909
- "radius": {
910
- "default": 8,
911
- "type": "number",
912
- "minimum": 0,
913
- "maximum": 100
914
- },
915
- "enabled": {
916
- "default": true,
917
- "type": "boolean"
918
- }
919
- },
920
- "required": [
921
- "type"
922
- ]
923
- },
924
- {
925
- "type": "object",
926
- "properties": {
927
- "type": {
928
- "type": "string",
929
- "const": "glow"
930
- },
931
- "color": {
932
- "default": "#f59e0b",
933
- "$ref": "#/$defs/cssColor"
934
- },
935
- "colorRole": {
936
- "type": "string",
937
- "enum": [
938
- "primary",
939
- "on-primary",
940
- "secondary",
941
- "on-secondary",
942
- "surface",
943
- "on-surface",
944
- "outline",
945
- "accent",
946
- "text-primary",
947
- "text-secondary",
948
- "text-muted",
949
- "text-on-accent"
950
- ]
951
- },
952
- "radius": {
953
- "default": 16,
954
- "type": "number",
955
- "minimum": 0,
956
- "maximum": 100
957
- },
958
- "intensity": {
959
- "default": 50,
960
- "type": "number",
961
- "minimum": 0,
962
- "maximum": 100
963
- },
964
- "enabled": {
965
- "default": true,
966
- "type": "boolean"
967
- }
968
- },
969
- "required": [
970
- "type"
971
- ]
972
- },
973
- {
974
- "type": "object",
975
- "properties": {
976
- "type": {
977
- "type": "string",
978
- "const": "color-grade"
979
- },
980
- "preset": {
981
- "type": "string",
982
- "enum": [
983
- "warm-vintage",
984
- "cool-cinema",
985
- "cyberpunk",
986
- "monochrome-contrast"
987
- ]
988
- },
989
- "intensity": {
990
- "default": 50,
991
- "type": "number",
992
- "minimum": 0,
993
- "maximum": 100
994
- },
995
- "enabled": {
996
- "default": true,
997
- "type": "boolean"
998
- }
999
- },
1000
- "required": [
1001
- "type",
1002
- "preset"
1003
- ]
1004
- }
1005
- ]
1006
- },
1007
- "cssColor": {
1008
- "type": "string",
1009
- "maxLength": 128,
1010
- "pattern": "^(?:(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\(\\s*[0-9a-zA-Z.,%/\\s+-]*\\)|(?:transparent|currentColor|currentcolor|none|inherit))|var\\(\\s*--[A-Za-z0-9_-]+\\s*\\)|var\\(\\s*--[A-Za-z0-9_-]+\\s*,\\s*(?:(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\(\\s*[0-9a-zA-Z.,%/\\s+-]*\\)|(?:transparent|currentColor|currentcolor|none|inherit))|var\\(\\s*--[A-Za-z0-9_-]+\\s*\\))\\s*\\)|var\\(\\s*--[A-Za-z0-9_-]+\\s*,\\s*(?:(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\(\\s*[0-9a-zA-Z.,%/\\s+-]*\\)|(?:transparent|currentColor|currentcolor|none|inherit))|var\\(\\s*--[A-Za-z0-9_-]+\\s*\\)|var\\(\\s*--[A-Za-z0-9_-]+\\s*,\\s*(?:(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\(\\s*[0-9a-zA-Z.,%/\\s+-]*\\)|(?:transparent|currentColor|currentcolor|none|inherit))|var\\(\\s*--[A-Za-z0-9_-]+\\s*\\))\\s*\\))\\s*\\))$"
1011
- },
1012
- "__schema5": {
1013
- "anyOf": [
1014
- {
1015
- "type": "number"
1016
- },
1017
- {
1018
- "type": "string",
1019
- "maxLength": 16
1020
- }
1021
- ]
1022
- },
1023
- "__schema6": {
1024
- "anyOf": [
1025
- {
1026
- "type": "string",
1027
- "maxLength": 16
1028
- },
1029
- {
1030
- "type": "number",
1031
- "minimum": 0
1032
- }
1033
- ]
1034
- },
1035
- "__schema8": {
1036
- "type": "string",
1037
- "enum": [
1038
- "normal",
1039
- "italic",
1040
- "oblique"
1041
- ]
1042
- },
1043
- "__schema9": {
1044
- "type": "string",
1045
- "maxLength": 64
1046
- },
1047
- "__schema10": {
1048
- "type": "string",
1049
- "enum": [
1050
- "none",
1051
- "uppercase",
1052
- "lowercase",
1053
- "capitalize"
1054
- ],
1055
- "deprecated": true,
1056
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): no renderer applied it; the case is written into the text."
1057
- },
1058
- "__schema11": {
1059
- "type": "object",
1060
- "propertyNames": {
1061
- "type": "string"
1062
- },
1063
- "additionalProperties": {
1064
- "type": "string"
1065
- }
1066
- },
1067
- "__schema12": {
1068
- "type": "object",
1069
- "propertyNames": {
1070
- "type": "string"
1071
- },
1072
- "additionalProperties": {
1073
- "type": "string"
1074
- }
1075
- },
1076
- "__schema13": {
1077
- "type": "object",
1078
- "propertyNames": {
1079
- "type": "string"
1080
- },
1081
- "additionalProperties": {
1082
- "type": "object",
1083
- "properties": {
1084
- "fontSize": {
1085
- "type": "number",
1086
- "minimum": 0
1087
- },
1088
- "lineHeight": {
1089
- "type": "number",
1090
- "minimum": 0
1091
- },
1092
- "lines": {
1093
- "maxItems": 500,
1094
- "type": "array",
1095
- "items": {
1096
- "$ref": "#/$defs/__schema14"
1097
- }
1098
- }
1099
- },
1100
- "required": [
1101
- "lines"
1102
- ],
1103
- "additionalProperties": {}
1104
- }
1105
- },
1106
- "__schema14": {
1107
- "type": "object",
1108
- "properties": {
1109
- "text": {
1110
- "type": "string",
1111
- "maxLength": 10000
1112
- },
1113
- "width": {
1114
- "type": "number",
1115
- "minimum": 0
1116
- },
1117
- "yOffset": {
1118
- "type": "number"
1119
- }
1120
- },
1121
- "required": [
1122
- "text",
1123
- "width",
1124
- "yOffset"
1125
- ],
1126
- "additionalProperties": {}
1127
- },
1128
- "__schema15": {
1129
- "type": "string",
1130
- "maxLength": 128
1131
- },
1132
- "__schema16": {
1133
- "type": "string",
1134
- "enum": [
1135
- "contain",
1136
- "cover",
1137
- "fill",
1138
- "none",
1139
- "scale-down"
1140
- ]
1141
- },
1142
- "__schema17": {
1143
- "type": "object",
1144
- "properties": {
1145
- "x": {
1146
- "type": "number",
1147
- "minimum": 0,
1148
- "maximum": 100
1149
- },
1150
- "y": {
1151
- "type": "number",
1152
- "minimum": 0,
1153
- "maximum": 100
1154
- },
1155
- "zoom": {
1156
- "type": "number",
1157
- "minimum": 1,
1158
- "maximum": 10
1159
- }
1160
- },
1161
- "required": [
1162
- "x",
1163
- "y",
1164
- "zoom"
1165
- ]
1166
- },
1167
- "__schema18": {
1168
- "type": "object",
1169
- "propertyNames": {
1170
- "$ref": "#/$defs/__schema0"
1171
- },
1172
- "additionalProperties": {
1173
- "type": "string",
1174
- "maxLength": 300
1175
- }
1176
- },
1177
- "__schema20": {
1178
- "type": "string",
1179
- "enum": [
1180
- "top",
1181
- "center",
1182
- "bottom",
1183
- "mixed",
1184
- "justify"
1185
- ],
1186
- "deprecated": true,
1187
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): no writer and no reader."
1188
- },
1189
- "__schema21": {
1190
- "type": "object",
1191
- "properties": {
1192
- "loop": {
1193
- "type": "string",
1194
- "enum": [
1195
- "none",
1196
- "pulse",
1197
- "float",
1198
- "bounce",
1199
- "spin",
1200
- "glow",
1201
- "custom"
1202
- ]
1203
- },
1204
- "hover": {
1205
- "type": "string",
1206
- "enum": [
1207
- "none",
1208
- "grow",
1209
- "shrink",
1210
- "lift",
1211
- "glow",
1212
- "custom"
1213
- ]
1214
- },
1215
- "custom_loop_css": {
1216
- "type": "string",
1217
- "maxLength": 500,
1218
- "deprecated": true,
1219
- "description": "Retired in 1.9.0: players do not apply raw CSS. A new writer must not write it."
1220
- },
1221
- "custom_keyframes": {
1222
- "type": "string",
1223
- "maxLength": 2000,
1224
- "deprecated": true,
1225
- "description": "Retired in 1.9.0: players do not apply raw CSS. A new writer must not write it."
1226
- },
1227
- "custom_hover_css": {
1228
- "type": "string",
1229
- "maxLength": 500,
1230
- "deprecated": true,
1231
- "description": "Retired in 1.9.0: players do not apply raw CSS. A new writer must not write it."
1232
- },
1233
- "duration": {
1234
- "type": "number",
1235
- "minimum": 0.1,
1236
- "maximum": 20
1237
- },
1238
- "delay": {
1239
- "type": "number",
1240
- "minimum": 0,
1241
- "maximum": 10
1242
- },
1243
- "keyframes": {
1244
- "maxItems": 240,
1245
- "type": "array",
1246
- "items": {
1247
- "$ref": "#/$defs/keyframe"
1248
- }
1249
- },
1250
- "trigger": {
1251
- "type": "string",
1252
- "enum": [
1253
- "load",
1254
- "action"
1255
- ]
1256
- }
1257
- }
1258
- },
1259
- "keyframe": {
1260
- "type": "object",
1261
- "properties": {
1262
- "t": {
1263
- "type": "number",
1264
- "minimum": 0,
1265
- "maximum": 60
1266
- },
1267
- "o": {
1268
- "type": "number",
1269
- "minimum": 0,
1270
- "maximum": 2
1271
- },
1272
- "s": {
1273
- "type": "number",
1274
- "minimum": 0,
1275
- "maximum": 10
1276
- },
1277
- "r": {
1278
- "type": "number",
1279
- "minimum": -3600,
1280
- "maximum": 3600
1281
- },
1282
- "x": {
1283
- "type": "number"
1284
- },
1285
- "y": {
1286
- "type": "number"
1287
- },
1288
- "b": {
1289
- "type": "number",
1290
- "minimum": 0,
1291
- "maximum": 50
1292
- },
1293
- "e": {
1294
- "$ref": "#/$defs/__schema22"
1295
- }
1296
- },
1297
- "required": [
1298
- "t"
1299
- ]
1300
- },
1301
- "__schema22": {
1302
- "anyOf": [
1303
- {
1304
- "type": "string",
1305
- "enum": [
1306
- "linear",
1307
- "ease-in",
1308
- "ease-out",
1309
- "ease-in-out",
1310
- "steps(1, end)"
1311
- ]
1312
- },
1313
- {
1314
- "type": "array",
1315
- "prefixItems": [
1316
- {
1317
- "type": "number"
1318
- },
1319
- {
1320
- "type": "number"
1321
- },
1322
- {
1323
- "type": "number"
1324
- },
1325
- {
1326
- "type": "number"
1327
- }
1328
- ],
1329
- "items": false,
1330
- "minItems": 4,
1331
- "maxItems": 4
1332
- }
1333
- ]
1334
- },
1335
- "__schema23": {
1336
- "type": "object",
1337
- "properties": {
1338
- "effect": {
1339
- "type": "string",
1340
- "enum": [
1341
- "fade",
1342
- "slide-up",
1343
- "slide-down",
1344
- "slide-left",
1345
- "slide-right",
1346
- "scale"
1347
- ]
1348
- },
1349
- "duration": {
1350
- "type": "number",
1351
- "minimum": 0,
1352
- "maximum": 2000
1353
- },
1354
- "easing": {
1355
- "$ref": "#/$defs/__schema22"
1356
- }
1357
- },
1358
- "required": [
1359
- "effect",
1360
- "duration"
1361
- ]
1362
- },
1363
- "__schema24": {
1364
- "type": "object",
1365
- "properties": {
1366
- "blur": {
1367
- "$ref": "#/$defs/__schema25"
1368
- },
1369
- "grain": {
1370
- "$ref": "#/$defs/__schema26"
1371
- },
1372
- "crt_curve": {
1373
- "type": "boolean"
1374
- }
1375
- },
1376
- "deprecated": true,
1377
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): no writer and no reader."
1378
- },
1379
- "__schema25": {
1380
- "type": "number",
1381
- "minimum": 0,
1382
- "maximum": 10
1383
- },
1384
- "__schema26": {
1385
- "type": "number",
1386
- "minimum": 0,
1387
- "maximum": 1
1388
- },
1389
- "__schema29": {
1390
- "type": "object",
1391
- "properties": {
1392
- "hover": {
1393
- "$ref": "#/$defs/__schema30"
1394
- },
1395
- "active": {
1396
- "$ref": "#/$defs/__schema30"
1397
- }
1398
- },
1399
- "additionalProperties": {}
1400
- },
1401
- "__schema30": {
1402
- "type": "object",
1403
- "properties": {
1404
- "scale": {
1405
- "type": "number",
1406
- "minimum": 0,
1407
- "maximum": 1000
1408
- },
1409
- "rotation": {
1410
- "type": "number",
1411
- "minimum": -360,
1412
- "maximum": 360
1413
- },
1414
- "opacity": {
1415
- "type": "number",
1416
- "minimum": 0,
1417
- "maximum": 100
1418
- },
1419
- "transitionDuration": {
1420
- "type": "number",
1421
- "minimum": 0,
1422
- "maximum": 10000
1423
- },
1424
- "actions": {
1425
- "maxItems": 64,
1426
- "type": "array",
1427
- "items": {
1428
- "$ref": "#/$defs/__schema31"
1429
- }
1430
- }
1431
- },
1432
- "additionalProperties": {}
1433
- },
1434
- "__schema31": {
1435
- "type": "object",
1436
- "properties": {
1437
- "target": {
1438
- "type": "string",
1439
- "minLength": 1,
1440
- "maxLength": 128
1441
- },
1442
- "type": {
1443
- "type": "string",
1444
- "enum": [
1445
- "show",
1446
- "hide",
1447
- "toggle",
1448
- "setText",
1449
- "play"
1450
- ]
1451
- },
1452
- "value": {
1453
- "type": "string",
1454
- "maxLength": 10000
1455
- }
1456
- },
1457
- "required": [
1458
- "target",
1459
- "type"
1460
- ]
1461
- },
1462
- "__schema32": {
1463
- "type": "boolean",
1464
- "deprecated": true,
1465
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): a layer's grain is a texture in style.effects."
1466
- },
1467
- "__schema33": {
1468
- "type": "number",
1469
- "minimum": 1,
1470
- "maximum": 100,
1471
- "deprecated": true,
1472
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): see grain."
1473
- },
1474
- "__schema34": {
1475
- "type": "number",
1476
- "minimum": 1,
1477
- "maximum": 100,
1478
- "deprecated": true,
1479
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): see grain."
1480
- },
1481
- "__schema35": {
1482
- "type": "string",
1483
- "enum": [
1484
- "overlay",
1485
- "soft-light",
1486
- "multiply"
1487
- ],
1488
- "deprecated": true,
1489
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): see grain."
1490
- },
1491
- "__schema36": {
1492
- "type": "string",
1493
- "enum": [
1494
- "none",
1495
- "neon",
1496
- "shadow"
1497
- ]
1498
- },
1499
- "__schema37": {
1500
- "$ref": "#/$defs/cssColor"
1501
- },
1502
- "__schema38": {
1503
- "type": "number",
1504
- "minimum": 0,
1505
- "maximum": 100
1506
- },
1507
- "__schema39": {
1508
- "type": "string",
1509
- "enum": [
1510
- "left",
1511
- "center",
1512
- "right",
1513
- "justify"
1514
- ]
1515
- },
1516
- "__schema40": {
1517
- "type": "string",
1518
- "maxLength": 128
1519
- },
1520
- "__schema41": {
1521
- "anyOf": [
1522
- {
1523
- "type": "string",
1524
- "maxLength": 32
1525
- },
1526
- {
1527
- "type": "number",
1528
- "minimum": 0
1529
- }
1530
- ]
1531
- },
1532
- "__schema42": {
1533
- "anyOf": [
1534
- {
1535
- "type": "string",
1536
- "maxLength": 32
1537
- },
1538
- {
1539
- "type": "number",
1540
- "minimum": 0
1541
- }
1542
- ]
1543
- },
1544
- "__schema43": {
1545
- "anyOf": [
1546
- {
1547
- "type": "string",
1548
- "maxLength": 32
1549
- },
1550
- {
1551
- "type": "number",
1552
- "minimum": 0
1553
- }
1554
- ]
1555
- },
1556
- "__schema44": {
1557
- "anyOf": [
1558
- {
1559
- "type": "string",
1560
- "maxLength": 128
1561
- },
1562
- {
1563
- "type": "number",
1564
- "minimum": 0
1565
- }
1566
- ]
1567
- },
1568
- "__schema45": {
1569
- "$ref": "#/$defs/cssColor"
1570
- },
1571
- "__schema46": {
1572
- "type": "string",
1573
- "enum": [
1574
- "solid",
1575
- "dashed",
1576
- "dotted"
1577
- ]
1578
- },
1579
- "__schema47": {
1580
- "$ref": "#/$defs/cssColor"
1581
- },
1582
- "__schema49": {
1583
- "$ref": "#/$defs/cssColor"
1584
- },
1585
- "__schema50": {
1586
- "type": "string",
1587
- "enum": [
1588
- "primary",
1589
- "on-primary",
1590
- "secondary",
1591
- "on-secondary",
1592
- "surface",
1593
- "on-surface",
1594
- "outline",
1595
- "accent",
1596
- "text-primary",
1597
- "text-secondary",
1598
- "text-muted",
1599
- "text-on-accent"
1600
- ]
1601
- },
1602
- "__schema51": {
1603
- "type": "number",
1604
- "minimum": 0,
1605
- "maximum": 200
1606
- },
1607
- "__schema52": {
1608
- "type": "number",
1609
- "minimum": -500,
1610
- "maximum": 500
1611
- },
1612
- "__schema53": {
1613
- "type": "number",
1614
- "minimum": -500,
1615
- "maximum": 500
1616
- },
1617
- "__schema54": {
1618
- "type": "number",
1619
- "minimum": 0,
1620
- "maximum": 100
1621
- },
1622
- "__schema55": {
1623
- "type": "string",
1624
- "enum": [
1625
- "normal",
1626
- "multiply",
1627
- "screen",
1628
- "overlay",
1629
- "darken",
1630
- "lighten",
1631
- "color-dodge",
1632
- "color-burn",
1633
- "difference"
1634
- ],
1635
- "deprecated": true,
1636
- "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): layer blend did not show in the editor or the player; readers draw the layer as normal."
1637
- },
1638
- "__schema56": {
1639
- "type": "number",
1640
- "minimum": 0,
1641
- "maximum": 100
1642
- },
1643
- "__schema57": {
1644
- "type": "string",
1645
- "maxLength": 32
1646
- },
1647
- "__schema59": {
1648
- "$ref": "#/$defs/cssColor"
1649
- },
1650
- "__schema60": {
1651
- "type": "number",
1652
- "minimum": 0
1653
- },
1654
- "__schema61": {
1655
- "type": "number",
1656
- "minimum": 0,
1657
- "maximum": 100
1658
- },
1659
- "__schema62": {
1660
- "type": "string",
1661
- "enum": [
1662
- "rectangle",
1663
- "circle",
1664
- "triangle",
1665
- "star",
1666
- "line",
1667
- "arrow",
1668
- "diamond",
1669
- "hexagon",
1670
- "heart",
1671
- "blob",
1672
- "scribble",
1673
- "custom",
1674
- "pill",
1675
- "octagon",
1676
- "pentagon",
1677
- "cross",
1678
- "moon",
1679
- "cloud",
1680
- "drop",
1681
- "bolt",
1682
- "bubble",
1683
- "flower",
1684
- "burst",
1685
- "arch"
1686
- ]
1687
- },
1688
- "__schema63": {
1689
- "type": "string",
1690
- "maxLength": 20000,
1691
- "pattern": "^[MmLlHhVvCcSsQqTtAaZz0-9eE.,\\s+-]*$"
1692
- },
1693
- "__schema64": {
1694
- "type": "string",
1695
- "maxLength": 64,
1696
- "pattern": "^-?\\d+(\\.\\d+)?([\\s,]+-?\\d+(\\.\\d+)?){3}$"
1697
- },
1698
- "__schema66": {
1699
- "type": "string",
1700
- "enum": [
1701
- "neon-cyberpunk",
1702
- "retro-wave-3d",
1703
- "comic-pop-extrusion",
1704
- "vintage-emboss",
1705
- "chrome-metallic",
1706
- "arcade-80s",
1707
- "custom"
1708
- ]
1709
- },
1710
- "__schema67": {
1711
- "type": "number",
1712
- "minimum": -100,
1713
- "maximum": 100
1714
- },
1715
- "__schema68": {
1716
- "type": "string",
1717
- "enum": [
1718
- "arc",
1719
- "wave",
1720
- "arch"
1721
- ]
1722
- },
1723
- "__schema69": {
1724
- "type": "number",
1725
- "minimum": 0,
1726
- "maximum": 100
1727
- },
1728
- "__schema70": {
1729
- "type": "number",
1730
- "minimum": 0,
1731
- "maximum": 360
1732
- },
1733
- "__schema71": {
1734
- "$ref": "#/$defs/cssColor"
1735
- },
1736
- "__schema73": {
1737
- "$ref": "#/$defs/cssColor"
1738
- },
1739
- "__schema74": {
1740
- "type": "number",
1741
- "minimum": 0
1742
- },
1743
- "__schema75": {
1744
- "$ref": "#/$defs/cssColor"
1745
- },
1746
- "__schema76": {
1747
- "type": "number",
1748
- "minimum": 0
1749
- },
1750
- "__schema77": {
1751
- "type": "string",
1752
- "enum": [
1753
- "window",
1754
- "cutout"
1755
- ]
1756
- },
1757
- "__schema78": {
1758
- "type": "string",
1759
- "enum": [
1760
- "circle",
1761
- "rectangle",
1762
- "triangle",
1763
- "star",
1764
- "line",
1765
- "arrow",
1766
- "diamond",
1767
- "hexagon",
1768
- "heart",
1769
- "blob",
1770
- "custom"
1771
- ]
1772
- },
1773
- "__schema79": {
1774
- "$ref": "#/$defs/cssColor"
1775
- },
1776
- "__schema80": {
1777
- "$ref": "#/$defs/cssColor"
1778
- },
1779
- "__schema81": {
1780
- "type": "number",
1781
- "minimum": 0
1782
- },
1783
- "__schema82": {
1784
- "type": "string",
1785
- "enum": [
1786
- "none",
1787
- "duotone",
1788
- "grayscale",
1789
- "sepia",
1790
- "high-contrast",
1791
- "vintage",
1792
- "cool",
1793
- "warm",
1794
- "faded",
1795
- "cinema",
1796
- "nordic",
1797
- "sunset",
1798
- "noir",
1799
- "dramatic",
1800
- "cyberpunk",
1801
- "pastel",
1802
- "vhs"
1803
- ]
1804
- },
1805
- "__schema83": {
1806
- "type": "string",
1807
- "maxLength": 128,
1808
- "pattern": "^background-animation-(?:right|left|up|down|zoom-in|zoom-out|pulse|none) \\d+(?:\\.\\d+)?s linear infinite$"
1809
- },
1810
- "__schema84": {
1811
- "type": "number",
1812
- "minimum": 0,
1813
- "maximum": 100
1814
- },
1815
- "__schema85": {
1816
- "type": "number",
1817
- "minimum": 0,
1818
- "maximum": 500
1819
- },
1820
- "__schema86": {
1821
- "type": "number",
1822
- "minimum": 0,
1823
- "maximum": 500
1824
- },
1825
- "__schema87": {
1826
- "type": "number",
1827
- "minimum": 0,
1828
- "maximum": 500
1829
- },
1830
- "__schema88": {
1831
- "type": "number",
1832
- "minimum": 0,
1833
- "maximum": 360
1834
- },
1835
- "__schema89": {
1836
- "type": "string",
1837
- "enum": [
1838
- "none",
1839
- "typewriter",
1840
- "fade-chars",
1841
- "slide-up",
1842
- "blur-chars",
1843
- "bounce-chars",
1844
- "wave-chars",
1845
- "glitch-cyberpunk",
1846
- "glitch-slice",
1847
- "reveal-mask",
1848
- "scale-in",
1849
- "rise-words"
1850
- ]
1851
- },
1852
- "__schema90": {
1853
- "type": "number",
1854
- "minimum": 0,
1855
- "maximum": 200
1856
- },
1857
- "__schema91": {
1858
- "type": "number",
1859
- "minimum": 0,
1860
- "maximum": 100
1861
- },
1862
- "__schema92": {
1863
- "type": "number",
1864
- "minimum": 0,
1865
- "maximum": 100
1866
- },
1867
- "__schema94": {
1868
- "type": "object",
1869
- "properties": {
1870
- "enabled": {
1871
- "default": true,
1872
- "type": "boolean"
1873
- },
1874
- "color": {
1875
- "default": "rgba(245, 158, 11, 0.35)",
1876
- "$ref": "#/$defs/cssColor"
1877
- },
1878
- "style": {
1879
- "default": "marker",
1880
- "type": "string",
1881
- "enum": [
1882
- "marker",
1883
- "box",
1884
- "pill",
1885
- "underline-thick"
1886
- ]
1887
- },
1888
- "paddingX": {
1889
- "type": "number",
1890
- "minimum": 0,
1891
- "maximum": 64
1892
- },
1893
- "paddingY": {
1894
- "type": "number",
1895
- "minimum": 0,
1896
- "maximum": 64
1897
- },
1898
- "borderRadius": {
1899
- "type": "number",
1900
- "minimum": 0,
1901
- "maximum": 64
1902
- }
1903
- }
1904
- },
1905
- "__schema95": {
1906
- "type": "object",
1907
- "properties": {
1908
- "enabled": {
1909
- "default": true,
1910
- "type": "boolean"
1911
- },
1912
- "lines": {
1913
- "default": 2,
1914
- "anyOf": [
1915
- {
1916
- "type": "number",
1917
- "const": 2
1918
- },
1919
- {
1920
- "type": "number",
1921
- "const": 3
1922
- }
1923
- ]
1924
- },
1925
- "fontFamily": {
1926
- "type": "string",
1927
- "maxLength": 128
1928
- },
1929
- "color": {
1930
- "$ref": "#/$defs/cssColor"
1931
- },
1932
- "marginRight": {
1933
- "type": "number",
1934
- "minimum": 0,
1935
- "maximum": 64
1936
- }
1937
- }
1938
- },
1939
- "__schema96": {
1940
- "type": "object",
1941
- "propertyNames": {
1942
- "$ref": "#/$defs/__schema97"
1943
- },
1944
- "additionalProperties": {
1945
- "$ref": "#/$defs/__schema98"
1946
- }
1947
- },
1948
- "__schema97": {
1949
- "type": "string",
1950
- "pattern": "^[a-z][a-z0-9-]{0,23}$"
1951
- },
1952
- "__schema98": {
1953
- "type": "object",
1954
- "properties": {
1955
- "color": {
1956
- "$ref": "#/$defs/cssColor"
1957
- },
1958
- "colorRole": {
1959
- "type": "string",
1960
- "enum": [
1961
- "primary",
1962
- "on-primary",
1963
- "secondary",
1964
- "on-secondary",
1965
- "surface",
1966
- "on-surface",
1967
- "outline",
1968
- "accent",
1969
- "text-primary",
1970
- "text-secondary",
1971
- "text-muted",
1972
- "text-on-accent"
1973
- ]
1974
- },
1975
- "bold": {
1976
- "type": "boolean"
1977
- },
1978
- "italic": {
1979
- "type": "boolean"
1980
- },
1981
- "underline": {
1982
- "type": "boolean"
1983
- },
1984
- "highlight": {
1985
- "type": "object",
1986
- "properties": {
1987
- "style": {
1988
- "type": "string",
1989
- "enum": [
1990
- "marker",
1991
- "box",
1992
- "pill",
1993
- "underline-thick"
1994
- ]
1995
- },
1996
- "color": {
1997
- "$ref": "#/$defs/cssColor"
1998
- },
1999
- "colorRole": {
2000
- "type": "string",
2001
- "enum": [
2002
- "primary",
2003
- "on-primary",
2004
- "secondary",
2005
- "on-secondary",
2006
- "surface",
2007
- "on-surface",
2008
- "outline",
2009
- "accent",
2010
- "text-primary",
2011
- "text-secondary",
2012
- "text-muted",
2013
- "text-on-accent"
2014
- ]
2015
- },
2016
- "paddingX": {
2017
- "type": "number",
2018
- "minimum": 0,
2019
- "maximum": 64
2020
- },
2021
- "paddingY": {
2022
- "type": "number",
2023
- "minimum": 0,
2024
- "maximum": 64
2025
- },
2026
- "borderRadius": {
2027
- "type": "number",
2028
- "minimum": 0,
2029
- "maximum": 64
2030
- }
2031
- }
2032
- }
2033
- }
2034
- },
2035
- "__schema100": {
2036
- "type": "number",
2037
- "minimum": 0,
2038
- "maximum": 100
2039
- },
2040
- "__schema102": {
2041
- "maxItems": 32,
2042
- "type": "array",
2043
- "items": {
2044
- "$ref": "#/$defs/maskCut"
2045
- }
2046
- },
2047
- "maskCut": {
2048
- "type": "object",
2049
- "properties": {
2050
- "id": {
2051
- "type": "string",
2052
- "maxLength": 128
2053
- },
2054
- "x": {
2055
- "type": "number"
2056
- },
2057
- "y": {
2058
- "type": "number"
2059
- },
2060
- "width": {
2061
- "type": "number",
2062
- "minimum": 0
2063
- },
2064
- "height": {
2065
- "type": "number",
2066
- "minimum": 0
2067
- },
2068
- "shape": {
2069
- "type": "string",
2070
- "enum": [
2071
- "heart",
2072
- "star",
2073
- "circle",
2074
- "rectangle",
2075
- "hexagon",
2076
- "blob",
2077
- "custom"
2078
- ]
2079
- },
2080
- "svgPath": {
2081
- "type": "string",
2082
- "maxLength": 20000
2083
- },
2084
- "feather": {
2085
- "type": "number",
2086
- "minimum": 0,
2087
- "maximum": 100
2088
- },
2089
- "strokeColor": {
2090
- "$ref": "#/$defs/cssColor"
2091
- },
2092
- "strokeWidth": {
2093
- "type": "number",
2094
- "minimum": 0,
2095
- "maximum": 100
2096
- }
2097
- },
2098
- "required": [
2099
- "id",
2100
- "x",
2101
- "y",
2102
- "width",
2103
- "height",
2104
- "shape"
2105
- ],
2106
- "additionalProperties": {}
2107
- },
2108
- "__schema103": {
2109
- "type": "number",
2110
- "minimum": 0,
2111
- "maximum": 100
2112
- },
2113
- "__schema104": {
2114
- "type": "number",
2115
- "minimum": 0,
2116
- "maximum": 100
2117
- },
2118
- "__schema105": {
2119
- "type": "number",
2120
- "minimum": 0,
2121
- "maximum": 100
2122
- },
2123
- "__schema106": {
2124
- "type": "string",
2125
- "maxLength": 128
2126
- },
2127
- "__schema110": {
2128
- "type": "number",
2129
- "minimum": 0,
2130
- "maximum": 100
2131
- },
2132
- "__schema112": {
2133
- "type": "string",
2134
- "enum": [
2135
- "none",
2136
- "linear",
2137
- "metallic-chrome",
2138
- "sunset-gold",
2139
- "neon-glow"
2140
- ]
2141
- },
2142
- "__schema113": {
2143
- "type": "string",
2144
- "enum": [
2145
- "primary",
2146
- "on-primary",
2147
- "secondary",
2148
- "on-secondary",
2149
- "surface",
2150
- "on-surface",
2151
- "outline",
2152
- "accent",
2153
- "text-primary",
2154
- "text-secondary",
2155
- "text-muted",
2156
- "text-on-accent"
2157
- ]
2158
- },
2159
- "__schema114": {
2160
- "type": "string",
2161
- "enum": [
2162
- "primary",
2163
- "on-primary",
2164
- "secondary",
2165
- "on-secondary",
2166
- "surface",
2167
- "on-surface",
2168
- "outline",
2169
- "accent",
2170
- "text-primary",
2171
- "text-secondary",
2172
- "text-muted",
2173
- "text-on-accent"
2174
- ]
2175
- },
2176
- "__schema115": {
2177
- "type": "string",
2178
- "enum": [
2179
- "primary",
2180
- "on-primary",
2181
- "secondary",
2182
- "on-secondary",
2183
- "surface",
2184
- "on-surface",
2185
- "outline",
2186
- "accent",
2187
- "text-primary",
2188
- "text-secondary",
2189
- "text-muted",
2190
- "text-on-accent"
2191
- ]
2192
- },
2193
- "__schema116": {
2194
- "type": "string",
2195
- "enum": [
2196
- "primary",
2197
- "on-primary",
2198
- "secondary",
2199
- "on-secondary",
2200
- "surface",
2201
- "on-surface",
2202
- "outline",
2203
- "accent",
2204
- "text-primary",
2205
- "text-secondary",
2206
- "text-muted",
2207
- "text-on-accent"
2208
- ]
2209
- },
2210
- "__schema117": {
2211
- "type": "string",
2212
- "enum": [
2213
- "primary",
2214
- "on-primary",
2215
- "secondary",
2216
- "on-secondary",
2217
- "surface",
2218
- "on-surface",
2219
- "outline",
2220
- "accent",
2221
- "text-primary",
2222
- "text-secondary",
2223
- "text-muted",
2224
- "text-on-accent"
2225
- ]
2226
- },
2227
- "__schema118": {
2228
- "type": "string",
2229
- "enum": [
2230
- "primary",
2231
- "on-primary",
2232
- "secondary",
2233
- "on-secondary",
2234
- "surface",
2235
- "on-surface",
2236
- "outline",
2237
- "accent",
2238
- "text-primary",
2239
- "text-secondary",
2240
- "text-muted",
2241
- "text-on-accent"
2242
- ]
2243
- },
2244
- "__schema119": {
2245
- "type": "string",
2246
- "enum": [
2247
- "primary",
2248
- "on-primary",
2249
- "secondary",
2250
- "on-secondary",
2251
- "surface",
2252
- "on-surface",
2253
- "outline",
2254
- "accent",
2255
- "text-primary",
2256
- "text-secondary",
2257
- "text-muted",
2258
- "text-on-accent"
2259
- ]
2260
- },
2261
- "__schema120": {
2262
- "$ref": "#/$defs/generativeFill"
2263
- },
2264
- "generativeFill": {
2265
- "type": "object",
2266
- "properties": {
2267
- "generatorId": {
2268
- "type": "string",
2269
- "maxLength": 64,
2270
- "pattern": "^[a-z0-9-]+$"
2271
- },
2272
- "seed": {
2273
- "type": "number"
2274
- },
2275
- "params": {
2276
- "type": "object",
2277
- "propertyNames": {
2278
- "type": "string",
2279
- "maxLength": 64
2280
- },
2281
- "additionalProperties": {
2282
- "anyOf": [
2283
- {
2284
- "type": "number"
2285
- },
2286
- {
2287
- "type": "string",
2288
- "maxLength": 256
2289
- },
2290
- {
2291
- "type": "boolean"
2292
- }
2293
- ]
2294
- }
2295
- },
2296
- "colors": {
2297
- "type": "object",
2298
- "properties": {
2299
- "mode": {
2300
- "type": "string",
2301
- "enum": [
2302
- "monochrome",
2303
- "palette"
2304
- ]
2305
- },
2306
- "stops": {
2307
- "maxItems": 16,
2308
- "type": "array",
2309
- "items": {
2310
- "$ref": "#/$defs/cssColor"
2311
- }
2312
- },
2313
- "direction": {
2314
- "type": "string",
2315
- "enum": [
2316
- "forward",
2317
- "reverse",
2318
- "radial"
2319
- ]
2320
- },
2321
- "background": {
2322
- "$ref": "#/$defs/cssColor"
2323
- },
2324
- "backgroundVisible": {
2325
- "type": "boolean"
2326
- }
2327
- },
2328
- "required": [
2329
- "mode",
2330
- "stops",
2331
- "direction",
2332
- "background",
2333
- "backgroundVisible"
2334
- ],
2335
- "additionalProperties": {}
2336
- }
2337
- },
2338
- "required": [
2339
- "generatorId",
2340
- "seed",
2341
- "params",
2342
- "colors"
2343
- ],
2344
- "additionalProperties": {}
2345
- },
2346
- "__schema121": {
2347
- "type": "string",
2348
- "maxLength": 2048,
2349
- "pattern": "^(?:repeating-)?(?:linear|radial|conic)-gradient\\((?:[0-9A-Za-z#.,%/\\s+-]|(?:rgba?|hsla?)\\([0-9A-Za-z.,%/\\s+-]*\\)|var\\(\\s*--[A-Za-z0-9_-]+\\s*(?:,(?:[0-9A-Za-z#.,%/\\s+-]|(?:rgba?|hsla?)\\([0-9A-Za-z.,%/\\s+-]*\\))*)?\\))*\\)$"
2350
- },
2351
- "__schema122": {
2352
- "type": "string",
2353
- "enum": [
2354
- "clouds",
2355
- "bubbles",
2356
- "grid",
2357
- "waves",
2358
- "stars",
2359
- "stripes",
2360
- "dots",
2361
- "zigzags",
2362
- "bolt",
2363
- "leaf",
2364
- "drop",
2365
- "moon",
2366
- "crown",
2367
- "heart"
2368
- ]
2369
- },
2370
- "__schema123": {
2371
- "$ref": "#/$defs/cssColor"
2372
- },
2373
- "__schema124": {
2374
- "type": "string",
2375
- "enum": [
2376
- "primary",
2377
- "on-primary",
2378
- "secondary",
2379
- "on-secondary",
2380
- "surface",
2381
- "on-surface",
2382
- "outline",
2383
- "accent",
2384
- "text-primary",
2385
- "text-secondary",
2386
- "text-muted",
2387
- "text-on-accent"
2388
- ]
2389
- },
2390
- "__schema125": {
2391
- "$ref": "#/$defs/cssColor"
2392
- },
2393
- "__schema126": {
2394
- "type": "string",
2395
- "enum": [
2396
- "primary",
2397
- "on-primary",
2398
- "secondary",
2399
- "on-secondary",
2400
- "surface",
2401
- "on-surface",
2402
- "outline",
2403
- "accent",
2404
- "text-primary",
2405
- "text-secondary",
2406
- "text-muted",
2407
- "text-on-accent"
2408
- ]
2409
- },
2410
- "__schema129": {
2411
- "type": "string",
2412
- "enum": [
2413
- "right",
2414
- "left",
2415
- "up",
2416
- "down",
2417
- "zoom-in",
2418
- "zoom-out",
2419
- "pulse",
2420
- "none"
2421
- ]
2422
- },
2423
- "__schema130": {
2424
- "maxItems": 16,
2425
- "type": "array",
2426
- "items": {
2427
- "$ref": "#/$defs/__schema131"
2428
- }
2429
- },
2430
- "__schema131": {
2431
- "type": "string",
2432
- "maxLength": 8000
2433
- },
2434
- "__schema132": {
2435
- "maxItems": 16,
2436
- "type": "array",
2437
- "items": {
2438
- "$ref": "#/$defs/cssColor"
2439
- }
2440
- },
2441
- "__schema133": {
2442
- "maxItems": 16,
2443
- "type": "array",
2444
- "items": {
2445
- "type": "number"
2446
- }
2447
- },
2448
- "__schema135": {
2449
- "maxItems": 16,
2450
- "type": "array",
2451
- "items": {
2452
- "type": "number"
2453
- }
2454
- },
2455
- "__schema137": {
2456
- "maxItems": 16,
2457
- "type": "array",
2458
- "items": {
2459
- "type": "number"
2460
- }
2461
- },
2462
- "__schema139": {
2463
- "type": "string",
2464
- "enum": [
2465
- "color",
2466
- "gradient",
2467
- "pattern",
2468
- "generative",
2469
- "transparent",
2470
- "image"
2471
- ]
2472
- },
2473
- "__schema140": {
2474
- "$ref": "#/$defs/cssColor"
2475
- },
2476
- "__schema141": {
2477
- "type": "string",
2478
- "enum": [
2479
- "primary",
2480
- "on-primary",
2481
- "secondary",
2482
- "on-secondary",
2483
- "surface",
2484
- "on-surface",
2485
- "outline",
2486
- "accent",
2487
- "text-primary",
2488
- "text-secondary",
2489
- "text-muted",
2490
- "text-on-accent"
2491
- ]
2492
- },
2493
- "__schema142": {
2494
- "$ref": "#/$defs/cssColor"
2495
- },
2496
- "__schema143": {
2497
- "type": "string",
2498
- "enum": [
2499
- "primary",
2500
- "on-primary",
2501
- "secondary",
2502
- "on-secondary",
2503
- "surface",
2504
- "on-surface",
2505
- "outline",
2506
- "accent",
2507
- "text-primary",
2508
- "text-secondary",
2509
- "text-muted",
2510
- "text-on-accent"
2511
- ]
2512
- },
2513
- "__schema144": {
2514
- "maxItems": 16,
2515
- "type": "array",
2516
- "items": {
2517
- "$ref": "#/$defs/cssColor"
2518
- }
2519
- },
2520
- "__schema145": {
2521
- "type": "string",
2522
- "enum": [
2523
- "none",
2524
- "color",
2525
- "gradient",
2526
- "pattern",
2527
- "generative",
2528
- "image"
2529
- ]
2530
- },
2531
- "__schema146": {
2532
- "type": "string",
2533
- "maxLength": 10000000,
2534
- "pattern": "^data:image\\/"
2535
- },
2536
- "__schema147": {
2537
- "type": "object",
2538
- "properties": {
2539
- "x": {
2540
- "type": "number",
2541
- "minimum": 0,
2542
- "maximum": 100
2543
- },
2544
- "y": {
2545
- "type": "number",
2546
- "minimum": 0,
2547
- "maximum": 100
2548
- },
2549
- "zoom": {
2550
- "type": "number",
2551
- "minimum": 1,
2552
- "maximum": 10
2553
- }
2554
- },
2555
- "required": [
2556
- "x",
2557
- "y",
2558
- "zoom"
2559
- ]
2560
- },
2561
- "__schema150": {},
2562
- "position": {
2563
- "type": "array",
2564
- "prefixItems": [
2565
- {
2566
- "$ref": "#/$defs/__schema151"
2567
- },
2568
- {
2569
- "$ref": "#/$defs/__schema152"
2570
- }
2571
- ],
2572
- "items": false,
2573
- "minItems": 2,
2574
- "maxItems": 2
2575
- },
2576
- "__schema151": {
2577
- "type": "number",
2578
- "minimum": 0,
2579
- "maximum": 100
2580
- },
2581
- "__schema152": {
2582
- "type": "number",
2583
- "minimum": 0,
2584
- "maximum": 100
2585
- },
2586
- "parallax": {
2587
- "type": "object",
2588
- "properties": {
2589
- "enabled": {
2590
- "default": true,
2591
- "type": "boolean"
2592
- },
2593
- "depth": {
2594
- "default": 0.5,
2595
- "type": "number",
2596
- "minimum": -2,
2597
- "maximum": 2
2598
- },
2599
- "mode": {
2600
- "default": "mouse",
2601
- "type": "string",
2602
- "enum": [
2603
- "mouse",
2604
- "scroll",
2605
- "infinite_horizontal"
2606
- ]
2607
- },
2608
- "axis": {
2609
- "default": "both",
2610
- "type": "string",
2611
- "enum": [
2612
- "both",
2613
- "x_only",
2614
- "y_only"
2615
- ]
2616
- },
2617
- "infinite": {
2618
- "$ref": "#/$defs/parallaxInfinite"
2619
- }
2620
- },
2621
- "additionalProperties": {}
2622
- },
2623
- "parallaxInfinite": {
2624
- "type": "object",
2625
- "properties": {
2626
- "enabled": {
2627
- "default": false,
2628
- "type": "boolean"
2629
- },
2630
- "speed_px_sec": {
2631
- "default": 20,
2632
- "type": "number",
2633
- "minimum": -500,
2634
- "maximum": 500
2635
- },
2636
- "direction": {
2637
- "default": "right_to_left",
2638
- "type": "string",
2639
- "enum": [
2640
- "left_to_right",
2641
- "right_to_left"
2642
- ]
2643
- },
2644
- "seamless_tile": {
2645
- "default": true,
2646
- "type": "boolean"
2647
- },
2648
- "pause_on_hover": {
2649
- "default": false,
2650
- "type": "boolean"
2651
- }
2652
- },
2653
- "additionalProperties": {}
2654
- },
2655
- "trackingKeyframe": {
2656
- "minItems": 2,
2657
- "type": "array",
2658
- "items": {
2659
- "type": "number"
2660
- }
2661
- },
2662
- "interaction": {
2663
- "type": "object",
2664
- "properties": {
2665
- "action_type": {
2666
- "type": "string",
2667
- "enum": [
2668
- "toggle_elements",
2669
- "none"
2670
- ]
2671
- },
2672
- "target": {
2673
- "type": "object",
2674
- "properties": {
2675
- "hide_slots": {
2676
- "type": "array",
2677
- "items": {
2678
- "type": "string",
2679
- "maxLength": 128
2680
- }
2681
- },
2682
- "show_slots": {
2683
- "type": "array",
2684
- "items": {
2685
- "type": "string",
2686
- "maxLength": 128
2687
- }
2688
- }
2689
- },
2690
- "required": [
2691
- "hide_slots",
2692
- "show_slots"
2693
- ]
2694
- }
2695
- },
2696
- "required": [
2697
- "action_type"
2698
- ]
2699
- }
2700
- }
2701
- }
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://oim.media/spec/1.27.9/ovm.schema.json",
4
+ "title": "OVM document metadata",
5
+ "specVersion": "1.27.9",
6
+ "type": "object",
7
+ "properties": {
8
+ "ovm_version": {
9
+ "type": "string"
10
+ },
11
+ "version": {
12
+ "type": "string"
13
+ },
14
+ "ovm_id": {
15
+ "type": "string",
16
+ "maxLength": 128
17
+ },
18
+ "image_hash": {
19
+ "type": "string",
20
+ "maxLength": 64
21
+ },
22
+ "immutable_lock": {
23
+ "type": "boolean"
24
+ },
25
+ "redirect_membership_verified": {
26
+ "type": "boolean",
27
+ "deprecated": true,
28
+ "description": "Retired in 1.1.0 with allow_external_urls. A new reader must not write it."
29
+ },
30
+ "terms_accepted": {
31
+ "type": "boolean",
32
+ "deprecated": true,
33
+ "description": "Retired in 1.1.0 with allow_external_urls. A new reader must not write it."
34
+ },
35
+ "allowed_domains": {
36
+ "type": "array",
37
+ "items": {
38
+ "type": "string",
39
+ "maxLength": 253
40
+ }
41
+ },
42
+ "metadata": {
43
+ "type": "object",
44
+ "properties": {
45
+ "fps": {
46
+ "type": "number",
47
+ "minimum": 1,
48
+ "maximum": 120
49
+ },
50
+ "resolution": {
51
+ "type": "array",
52
+ "prefixItems": [
53
+ {
54
+ "type": "number"
55
+ },
56
+ {
57
+ "type": "number"
58
+ }
59
+ ],
60
+ "items": false,
61
+ "minItems": 2,
62
+ "maxItems": 2
63
+ }
64
+ }
65
+ },
66
+ "zones": {
67
+ "type": "array",
68
+ "items": {
69
+ "$ref": "#/$defs/zone"
70
+ }
71
+ },
72
+ "slots": {
73
+ "maxItems": 150,
74
+ "type": "array",
75
+ "items": {
76
+ "$ref": "#/$defs/slot"
77
+ }
78
+ },
79
+ "elements": {
80
+ "maxItems": 150,
81
+ "type": "array",
82
+ "items": {
83
+ "$ref": "#/$defs/slot"
84
+ },
85
+ "deprecated": true,
86
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): slots is the one name; readers still accept it."
87
+ },
88
+ "layers": {
89
+ "maxItems": 150,
90
+ "type": "array",
91
+ "items": {
92
+ "$ref": "#/$defs/slot"
93
+ },
94
+ "deprecated": true,
95
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): slots is the one name; readers still accept it."
96
+ },
97
+ "capabilities": {
98
+ "type": "array",
99
+ "items": {
100
+ "type": "string",
101
+ "enum": [
102
+ "vector_parallax",
103
+ "infinite_parallax",
104
+ "text_marks",
105
+ "image_fill",
106
+ "media_filters",
107
+ "frame_shapes"
108
+ ]
109
+ }
110
+ },
111
+ "capabilities_required": {
112
+ "type": "array",
113
+ "items": {
114
+ "type": "string",
115
+ "enum": [
116
+ "vector_parallax",
117
+ "infinite_parallax",
118
+ "text_marks",
119
+ "image_fill",
120
+ "media_filters",
121
+ "frame_shapes"
122
+ ]
123
+ }
124
+ },
125
+ "signature": {
126
+ "type": "string"
127
+ },
128
+ "key_version": {
129
+ "type": "string"
130
+ },
131
+ "signed_at": {
132
+ "type": "string",
133
+ "format": "date-time",
134
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
135
+ },
136
+ "timestamp": {
137
+ "type": "string",
138
+ "format": "date-time",
139
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
140
+ }
141
+ },
142
+ "required": [
143
+ "slots"
144
+ ],
145
+ "additionalProperties": {},
146
+ "$defs": {
147
+ "zone": {
148
+ "type": "object",
149
+ "properties": {
150
+ "id": {
151
+ "type": "string",
152
+ "minLength": 1,
153
+ "maxLength": 128
154
+ },
155
+ "position": {
156
+ "type": "array",
157
+ "prefixItems": [
158
+ {
159
+ "type": "number",
160
+ "minimum": 0,
161
+ "maximum": 100
162
+ },
163
+ {
164
+ "type": "number",
165
+ "minimum": 0,
166
+ "maximum": 100
167
+ }
168
+ ],
169
+ "items": false,
170
+ "minItems": 2,
171
+ "maxItems": 2
172
+ },
173
+ "size": {
174
+ "type": "array",
175
+ "prefixItems": [
176
+ {
177
+ "type": "number",
178
+ "minimum": 0,
179
+ "maximum": 100
180
+ },
181
+ {
182
+ "type": "number",
183
+ "minimum": 0,
184
+ "maximum": 100
185
+ }
186
+ ],
187
+ "items": false,
188
+ "minItems": 2,
189
+ "maxItems": 2
190
+ },
191
+ "style": {
192
+ "type": "object",
193
+ "propertyNames": {
194
+ "type": "string"
195
+ },
196
+ "additionalProperties": {}
197
+ }
198
+ },
199
+ "required": [
200
+ "id",
201
+ "position",
202
+ "size"
203
+ ]
204
+ },
205
+ "slot": {
206
+ "type": "object",
207
+ "properties": {
208
+ "id": {
209
+ "type": "string",
210
+ "minLength": 1,
211
+ "maxLength": 128
212
+ },
213
+ "type": {
214
+ "type": "string",
215
+ "enum": [
216
+ "text",
217
+ "image",
218
+ "lottie",
219
+ "zone",
220
+ "geo",
221
+ "shape",
222
+ "draw",
223
+ "filter",
224
+ "container",
225
+ "group",
226
+ "component",
227
+ "mask",
228
+ "svg",
229
+ "pattern",
230
+ "artistic-text"
231
+ ]
232
+ },
233
+ "languages": {
234
+ "default": [
235
+ "*"
236
+ ],
237
+ "type": "array",
238
+ "items": {
239
+ "$ref": "#/$defs/__schema0"
240
+ }
241
+ },
242
+ "pendingTranslation": {
243
+ "type": "array",
244
+ "items": {
245
+ "$ref": "#/$defs/__schema0"
246
+ }
247
+ },
248
+ "align": {
249
+ "type": "string",
250
+ "enum": [
251
+ "left",
252
+ "center",
253
+ "right"
254
+ ]
255
+ },
256
+ "content": {
257
+ "$ref": "#/$defs/content"
258
+ },
259
+ "style": {
260
+ "$ref": "#/$defs/style"
261
+ },
262
+ "position": {
263
+ "$ref": "#/$defs/position"
264
+ },
265
+ "parallax": {
266
+ "$ref": "#/$defs/parallax"
267
+ },
268
+ "tracking_data": {
269
+ "type": "array",
270
+ "items": {
271
+ "$ref": "#/$defs/trackingKeyframe"
272
+ }
273
+ },
274
+ "width_px": {
275
+ "type": "number"
276
+ },
277
+ "height_px": {
278
+ "type": "number"
279
+ },
280
+ "zone_id": {
281
+ "type": "string",
282
+ "maxLength": 128
283
+ },
284
+ "name": {
285
+ "type": "string",
286
+ "maxLength": 256
287
+ },
288
+ "interaction": {
289
+ "$ref": "#/$defs/interaction"
290
+ },
291
+ "p": {
292
+ "deprecated": true,
293
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): use position.",
294
+ "$ref": "#/$defs/position"
295
+ },
296
+ "s": {
297
+ "type": "array",
298
+ "prefixItems": [
299
+ {
300
+ "type": "number"
301
+ },
302
+ {
303
+ "type": "number"
304
+ }
305
+ ],
306
+ "items": false,
307
+ "minItems": 2,
308
+ "maxItems": 2,
309
+ "deprecated": true,
310
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): no writer emits it."
311
+ },
312
+ "st": {
313
+ "deprecated": true,
314
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): use style.",
315
+ "$ref": "#/$defs/style"
316
+ },
317
+ "c": {
318
+ "deprecated": true,
319
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): use content.",
320
+ "$ref": "#/$defs/content"
321
+ },
322
+ "t": {
323
+ "type": "array",
324
+ "items": {
325
+ "$ref": "#/$defs/trackingKeyframe"
326
+ },
327
+ "deprecated": true,
328
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): use tracking_data."
329
+ }
330
+ },
331
+ "required": [
332
+ "id"
333
+ ]
334
+ },
335
+ "__schema0": {
336
+ "type": "string",
337
+ "maxLength": 10
338
+ },
339
+ "content": {
340
+ "type": "object",
341
+ "propertyNames": {
342
+ "type": "string"
343
+ },
344
+ "additionalProperties": {
345
+ "$ref": "#/$defs/__schema2"
346
+ }
347
+ },
348
+ "__schema2": {
349
+ "type": "string",
350
+ "maxLength": 10000000
351
+ },
352
+ "style": {
353
+ "type": "object",
354
+ "properties": {
355
+ "effects": {
356
+ "$ref": "#/$defs/__schema3"
357
+ },
358
+ "lineHeight": {
359
+ "$ref": "#/$defs/__schema5"
360
+ },
361
+ "fontSize": {
362
+ "$ref": "#/$defs/__schema6"
363
+ },
364
+ "fontWeight": {
365
+ "type": [
366
+ "string",
367
+ "number"
368
+ ]
369
+ },
370
+ "fontStyle": {
371
+ "$ref": "#/$defs/__schema8"
372
+ },
373
+ "textDecoration": {
374
+ "$ref": "#/$defs/__schema9"
375
+ },
376
+ "textTransform": {
377
+ "$ref": "#/$defs/__schema10"
378
+ },
379
+ "fontSizes": {
380
+ "$ref": "#/$defs/__schema11"
381
+ },
382
+ "maxWidths": {
383
+ "$ref": "#/$defs/__schema12"
384
+ },
385
+ "textRuns": {
386
+ "$ref": "#/$defs/__schema13"
387
+ },
388
+ "outline": {
389
+ "$ref": "#/$defs/__schema15"
390
+ },
391
+ "objectFit": {
392
+ "$ref": "#/$defs/__schema16"
393
+ },
394
+ "imageCrop": {
395
+ "$ref": "#/$defs/__schema17"
396
+ },
397
+ "alt": {
398
+ "$ref": "#/$defs/__schema18"
399
+ },
400
+ "decorative": {
401
+ "type": "boolean"
402
+ },
403
+ "verticalAlign": {
404
+ "$ref": "#/$defs/__schema20"
405
+ },
406
+ "animation": {
407
+ "$ref": "#/$defs/__schema21"
408
+ },
409
+ "reveal": {
410
+ "$ref": "#/$defs/__schema23"
411
+ },
412
+ "shader_fx": {
413
+ "$ref": "#/$defs/__schema24"
414
+ },
415
+ "isInteractive": {
416
+ "type": "boolean"
417
+ },
418
+ "states": {
419
+ "$ref": "#/$defs/__schema29"
420
+ },
421
+ "grain": {
422
+ "$ref": "#/$defs/__schema32"
423
+ },
424
+ "grainIntensity": {
425
+ "$ref": "#/$defs/__schema33"
426
+ },
427
+ "grainSize": {
428
+ "$ref": "#/$defs/__schema34"
429
+ },
430
+ "grainBlend": {
431
+ "$ref": "#/$defs/__schema35"
432
+ },
433
+ "effect": {
434
+ "$ref": "#/$defs/__schema36"
435
+ },
436
+ "effectColor": {
437
+ "$ref": "#/$defs/__schema37"
438
+ },
439
+ "effectRadius": {
440
+ "$ref": "#/$defs/__schema38"
441
+ },
442
+ "textAlign": {
443
+ "$ref": "#/$defs/__schema39"
444
+ },
445
+ "fontFamily": {
446
+ "$ref": "#/$defs/__schema40"
447
+ },
448
+ "width": {
449
+ "$ref": "#/$defs/__schema41"
450
+ },
451
+ "height": {
452
+ "$ref": "#/$defs/__schema42"
453
+ },
454
+ "maxWidth": {
455
+ "$ref": "#/$defs/__schema43"
456
+ },
457
+ "borderRadius": {
458
+ "$ref": "#/$defs/__schema44"
459
+ },
460
+ "fillColor": {
461
+ "$ref": "#/$defs/__schema45"
462
+ },
463
+ "strokeStyle": {
464
+ "$ref": "#/$defs/__schema46"
465
+ },
466
+ "textStrokeColor": {
467
+ "$ref": "#/$defs/__schema47"
468
+ },
469
+ "shadowEnabled": {
470
+ "type": "boolean"
471
+ },
472
+ "shadowColor": {
473
+ "$ref": "#/$defs/__schema49"
474
+ },
475
+ "shadowColorRole": {
476
+ "$ref": "#/$defs/__schema50"
477
+ },
478
+ "shadowBlur": {
479
+ "$ref": "#/$defs/__schema51"
480
+ },
481
+ "shadowOffsetX": {
482
+ "$ref": "#/$defs/__schema52"
483
+ },
484
+ "shadowOffsetY": {
485
+ "$ref": "#/$defs/__schema53"
486
+ },
487
+ "shadowOpacity": {
488
+ "$ref": "#/$defs/__schema54"
489
+ },
490
+ "blendMode": {
491
+ "$ref": "#/$defs/__schema55"
492
+ },
493
+ "layerBlur": {
494
+ "$ref": "#/$defs/__schema56"
495
+ },
496
+ "maskCoverage": {
497
+ "$ref": "#/$defs/__schema57"
498
+ },
499
+ "maskInvert": {
500
+ "type": "boolean"
501
+ },
502
+ "strokeColor": {
503
+ "$ref": "#/$defs/__schema59"
504
+ },
505
+ "strokeWidth": {
506
+ "$ref": "#/$defs/__schema60"
507
+ },
508
+ "textStrokeWidth": {
509
+ "$ref": "#/$defs/__schema61"
510
+ },
511
+ "geoShape": {
512
+ "$ref": "#/$defs/__schema62"
513
+ },
514
+ "svgPath": {
515
+ "$ref": "#/$defs/__schema63"
516
+ },
517
+ "svgViewBox": {
518
+ "$ref": "#/$defs/__schema64"
519
+ },
520
+ "svgRawXml": {
521
+ "type": "string"
522
+ },
523
+ "artisticPreset": {
524
+ "$ref": "#/$defs/__schema66"
525
+ },
526
+ "curveAmount": {
527
+ "$ref": "#/$defs/__schema67"
528
+ },
529
+ "curveType": {
530
+ "$ref": "#/$defs/__schema68"
531
+ },
532
+ "extrusionDepth": {
533
+ "$ref": "#/$defs/__schema69"
534
+ },
535
+ "extrusionAngle": {
536
+ "$ref": "#/$defs/__schema70"
537
+ },
538
+ "extrusionColor": {
539
+ "$ref": "#/$defs/__schema71"
540
+ },
541
+ "extrusionShading": {
542
+ "type": "boolean"
543
+ },
544
+ "outerStrokeColor": {
545
+ "$ref": "#/$defs/__schema73"
546
+ },
547
+ "outerStrokeWidth": {
548
+ "$ref": "#/$defs/__schema74"
549
+ },
550
+ "innerStrokeColor": {
551
+ "$ref": "#/$defs/__schema75"
552
+ },
553
+ "innerStrokeWidth": {
554
+ "$ref": "#/$defs/__schema76"
555
+ },
556
+ "maskMode": {
557
+ "$ref": "#/$defs/__schema77"
558
+ },
559
+ "maskShape": {
560
+ "$ref": "#/$defs/__schema78"
561
+ },
562
+ "maskBgColor": {
563
+ "$ref": "#/$defs/__schema79"
564
+ },
565
+ "maskStrokeColor": {
566
+ "$ref": "#/$defs/__schema80"
567
+ },
568
+ "maskStrokeWidth": {
569
+ "$ref": "#/$defs/__schema81"
570
+ },
571
+ "filterPreset": {
572
+ "$ref": "#/$defs/__schema82"
573
+ },
574
+ "cssAnimation": {
575
+ "$ref": "#/$defs/__schema83"
576
+ },
577
+ "filterBlur": {
578
+ "$ref": "#/$defs/__schema84"
579
+ },
580
+ "filterBrightness": {
581
+ "$ref": "#/$defs/__schema85"
582
+ },
583
+ "filterContrast": {
584
+ "$ref": "#/$defs/__schema86"
585
+ },
586
+ "filterSaturate": {
587
+ "$ref": "#/$defs/__schema87"
588
+ },
589
+ "filterHueRotate": {
590
+ "$ref": "#/$defs/__schema88"
591
+ },
592
+ "textAnimationType": {
593
+ "$ref": "#/$defs/__schema89"
594
+ },
595
+ "textAnimationSpeed": {
596
+ "$ref": "#/$defs/__schema90"
597
+ },
598
+ "textAnimationDelay": {
599
+ "$ref": "#/$defs/__schema91"
600
+ },
601
+ "textAnimationIntensity": {
602
+ "$ref": "#/$defs/__schema92"
603
+ },
604
+ "typewriterCursor": {
605
+ "type": "boolean"
606
+ },
607
+ "textHighlight": {
608
+ "$ref": "#/$defs/__schema94"
609
+ },
610
+ "dropCap": {
611
+ "$ref": "#/$defs/__schema95"
612
+ },
613
+ "marks": {
614
+ "$ref": "#/$defs/__schema96"
615
+ },
616
+ "customBlobPath": {
617
+ "type": "string"
618
+ },
619
+ "maskFeather": {
620
+ "$ref": "#/$defs/__schema100"
621
+ },
622
+ "maskSvgPath": {
623
+ "type": "string"
624
+ },
625
+ "cuts": {
626
+ "$ref": "#/$defs/__schema102"
627
+ },
628
+ "trimStart": {
629
+ "$ref": "#/$defs/__schema103"
630
+ },
631
+ "trimEnd": {
632
+ "$ref": "#/$defs/__schema104"
633
+ },
634
+ "trimDuration": {
635
+ "$ref": "#/$defs/__schema105"
636
+ },
637
+ "groupId": {
638
+ "$ref": "#/$defs/__schema106"
639
+ },
640
+ "rotation": {
641
+ "type": "number"
642
+ },
643
+ "flipX": {
644
+ "type": "boolean"
645
+ },
646
+ "flipY": {
647
+ "type": "boolean"
648
+ },
649
+ "opacity": {
650
+ "$ref": "#/$defs/__schema110"
651
+ },
652
+ "isVisible": {
653
+ "type": "boolean"
654
+ },
655
+ "textGradientType": {
656
+ "$ref": "#/$defs/__schema112"
657
+ },
658
+ "fillColorRole": {
659
+ "$ref": "#/$defs/__schema113"
660
+ },
661
+ "strokeColorRole": {
662
+ "$ref": "#/$defs/__schema114"
663
+ },
664
+ "colorRole": {
665
+ "$ref": "#/$defs/__schema115"
666
+ },
667
+ "textStrokeColorRole": {
668
+ "$ref": "#/$defs/__schema116"
669
+ },
670
+ "effectColorRole": {
671
+ "$ref": "#/$defs/__schema117"
672
+ },
673
+ "maskBgColorRole": {
674
+ "$ref": "#/$defs/__schema118"
675
+ },
676
+ "maskStrokeColorRole": {
677
+ "$ref": "#/$defs/__schema119"
678
+ },
679
+ "fillGenerative": {
680
+ "$ref": "#/$defs/__schema120"
681
+ },
682
+ "fillGradient": {
683
+ "$ref": "#/$defs/__schema121"
684
+ },
685
+ "fillPatternType": {
686
+ "$ref": "#/$defs/__schema122"
687
+ },
688
+ "fillPatternColor": {
689
+ "$ref": "#/$defs/__schema123"
690
+ },
691
+ "fillPatternColorRole": {
692
+ "$ref": "#/$defs/__schema124"
693
+ },
694
+ "fillPatternBgColor": {
695
+ "$ref": "#/$defs/__schema125"
696
+ },
697
+ "fillPatternBgColorRole": {
698
+ "$ref": "#/$defs/__schema126"
699
+ },
700
+ "fillPatternSpeed": {
701
+ "type": "number"
702
+ },
703
+ "fillPatternScale": {
704
+ "type": "number"
705
+ },
706
+ "fillPatternDirection": {
707
+ "$ref": "#/$defs/__schema129"
708
+ },
709
+ "fillPatternSvgs": {
710
+ "$ref": "#/$defs/__schema130"
711
+ },
712
+ "fillPatternColors": {
713
+ "$ref": "#/$defs/__schema132"
714
+ },
715
+ "fillPatternSizes": {
716
+ "$ref": "#/$defs/__schema133"
717
+ },
718
+ "fillPatternCounts": {
719
+ "$ref": "#/$defs/__schema135"
720
+ },
721
+ "fillPatternDispersions": {
722
+ "$ref": "#/$defs/__schema137"
723
+ },
724
+ "backgroundType": {
725
+ "$ref": "#/$defs/__schema139"
726
+ },
727
+ "backgroundPatternColor": {
728
+ "$ref": "#/$defs/__schema140"
729
+ },
730
+ "backgroundPatternColorRole": {
731
+ "$ref": "#/$defs/__schema141"
732
+ },
733
+ "backgroundPatternBgColor": {
734
+ "$ref": "#/$defs/__schema142"
735
+ },
736
+ "backgroundPatternBgColorRole": {
737
+ "$ref": "#/$defs/__schema143"
738
+ },
739
+ "backgroundPatternColors": {
740
+ "$ref": "#/$defs/__schema144"
741
+ },
742
+ "fillType": {
743
+ "$ref": "#/$defs/__schema145"
744
+ },
745
+ "fillImage": {
746
+ "$ref": "#/$defs/__schema146"
747
+ },
748
+ "fillImageCrop": {
749
+ "$ref": "#/$defs/__schema147"
750
+ },
751
+ "fillImageFlipX": {
752
+ "type": "boolean"
753
+ },
754
+ "fillImageFlipY": {
755
+ "type": "boolean"
756
+ }
757
+ },
758
+ "additionalProperties": {
759
+ "$ref": "#/$defs/__schema150"
760
+ }
761
+ },
762
+ "__schema3": {
763
+ "maxItems": 8,
764
+ "type": "array",
765
+ "items": {
766
+ "$ref": "#/$defs/__schema4"
767
+ }
768
+ },
769
+ "__schema4": {
770
+ "oneOf": [
771
+ {
772
+ "type": "object",
773
+ "properties": {
774
+ "type": {
775
+ "type": "string",
776
+ "const": "texture"
777
+ },
778
+ "preset": {
779
+ "type": "string",
780
+ "enum": [
781
+ "film-grain-35mm",
782
+ "fine-noise",
783
+ "dust-scratches",
784
+ "vintage-paper",
785
+ "rough-canvas",
786
+ "halftone-dots",
787
+ "scanlines",
788
+ "concentric-rings"
789
+ ]
790
+ },
791
+ "intensity": {
792
+ "default": 30,
793
+ "type": "number",
794
+ "minimum": 0,
795
+ "maximum": 100
796
+ },
797
+ "blend": {
798
+ "default": "overlay",
799
+ "type": "string",
800
+ "enum": [
801
+ "normal",
802
+ "overlay",
803
+ "soft-light",
804
+ "multiply",
805
+ "screen",
806
+ "color-dodge",
807
+ "darken",
808
+ "lighten"
809
+ ]
810
+ },
811
+ "scale": {
812
+ "default": 1,
813
+ "type": "number",
814
+ "minimum": 0.2,
815
+ "maximum": 5
816
+ },
817
+ "color": {
818
+ "$ref": "#/$defs/cssColor"
819
+ },
820
+ "colorRole": {
821
+ "type": "string",
822
+ "enum": [
823
+ "primary",
824
+ "on-primary",
825
+ "secondary",
826
+ "on-secondary",
827
+ "surface",
828
+ "on-surface",
829
+ "outline",
830
+ "accent",
831
+ "text-primary",
832
+ "text-secondary",
833
+ "text-muted",
834
+ "text-on-accent"
835
+ ]
836
+ },
837
+ "enabled": {
838
+ "default": true,
839
+ "type": "boolean"
840
+ }
841
+ },
842
+ "required": [
843
+ "type",
844
+ "preset"
845
+ ]
846
+ },
847
+ {
848
+ "type": "object",
849
+ "properties": {
850
+ "type": {
851
+ "type": "string",
852
+ "const": "drop-shadow"
853
+ },
854
+ "x": {
855
+ "default": 0,
856
+ "type": "number"
857
+ },
858
+ "y": {
859
+ "default": 4,
860
+ "type": "number"
861
+ },
862
+ "blur": {
863
+ "default": 12,
864
+ "type": "number",
865
+ "minimum": 0,
866
+ "maximum": 200
867
+ },
868
+ "spread": {
869
+ "default": 0,
870
+ "type": "number"
871
+ },
872
+ "color": {
873
+ "default": "rgba(0, 0, 0, 0.35)",
874
+ "$ref": "#/$defs/cssColor"
875
+ },
876
+ "colorRole": {
877
+ "type": "string",
878
+ "enum": [
879
+ "primary",
880
+ "on-primary",
881
+ "secondary",
882
+ "on-secondary",
883
+ "surface",
884
+ "on-surface",
885
+ "outline",
886
+ "accent",
887
+ "text-primary",
888
+ "text-secondary",
889
+ "text-muted",
890
+ "text-on-accent"
891
+ ]
892
+ },
893
+ "enabled": {
894
+ "default": true,
895
+ "type": "boolean"
896
+ }
897
+ },
898
+ "required": [
899
+ "type"
900
+ ]
901
+ },
902
+ {
903
+ "type": "object",
904
+ "properties": {
905
+ "type": {
906
+ "type": "string",
907
+ "const": "blur"
908
+ },
909
+ "radius": {
910
+ "default": 8,
911
+ "type": "number",
912
+ "minimum": 0,
913
+ "maximum": 100
914
+ },
915
+ "enabled": {
916
+ "default": true,
917
+ "type": "boolean"
918
+ }
919
+ },
920
+ "required": [
921
+ "type"
922
+ ]
923
+ },
924
+ {
925
+ "type": "object",
926
+ "properties": {
927
+ "type": {
928
+ "type": "string",
929
+ "const": "glow"
930
+ },
931
+ "color": {
932
+ "default": "#f59e0b",
933
+ "$ref": "#/$defs/cssColor"
934
+ },
935
+ "colorRole": {
936
+ "type": "string",
937
+ "enum": [
938
+ "primary",
939
+ "on-primary",
940
+ "secondary",
941
+ "on-secondary",
942
+ "surface",
943
+ "on-surface",
944
+ "outline",
945
+ "accent",
946
+ "text-primary",
947
+ "text-secondary",
948
+ "text-muted",
949
+ "text-on-accent"
950
+ ]
951
+ },
952
+ "radius": {
953
+ "default": 16,
954
+ "type": "number",
955
+ "minimum": 0,
956
+ "maximum": 100
957
+ },
958
+ "intensity": {
959
+ "default": 50,
960
+ "type": "number",
961
+ "minimum": 0,
962
+ "maximum": 100
963
+ },
964
+ "enabled": {
965
+ "default": true,
966
+ "type": "boolean"
967
+ }
968
+ },
969
+ "required": [
970
+ "type"
971
+ ]
972
+ },
973
+ {
974
+ "type": "object",
975
+ "properties": {
976
+ "type": {
977
+ "type": "string",
978
+ "const": "color-grade"
979
+ },
980
+ "preset": {
981
+ "type": "string",
982
+ "enum": [
983
+ "warm-vintage",
984
+ "cool-cinema",
985
+ "cyberpunk",
986
+ "monochrome-contrast"
987
+ ]
988
+ },
989
+ "intensity": {
990
+ "default": 50,
991
+ "type": "number",
992
+ "minimum": 0,
993
+ "maximum": 100
994
+ },
995
+ "enabled": {
996
+ "default": true,
997
+ "type": "boolean"
998
+ }
999
+ },
1000
+ "required": [
1001
+ "type",
1002
+ "preset"
1003
+ ]
1004
+ }
1005
+ ]
1006
+ },
1007
+ "cssColor": {
1008
+ "type": "string",
1009
+ "maxLength": 128,
1010
+ "pattern": "^(?:(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\(\\s*[0-9a-zA-Z.,%/\\s+-]*\\)|(?:transparent|currentColor|currentcolor|none|inherit))|var\\(\\s*--[A-Za-z0-9_-]+\\s*\\)|var\\(\\s*--[A-Za-z0-9_-]+\\s*,\\s*(?:(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\(\\s*[0-9a-zA-Z.,%/\\s+-]*\\)|(?:transparent|currentColor|currentcolor|none|inherit))|var\\(\\s*--[A-Za-z0-9_-]+\\s*\\))\\s*\\)|var\\(\\s*--[A-Za-z0-9_-]+\\s*,\\s*(?:(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\(\\s*[0-9a-zA-Z.,%/\\s+-]*\\)|(?:transparent|currentColor|currentcolor|none|inherit))|var\\(\\s*--[A-Za-z0-9_-]+\\s*\\)|var\\(\\s*--[A-Za-z0-9_-]+\\s*,\\s*(?:(?:#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})|(?:rgb|rgba|hsl|hsla)\\(\\s*[0-9a-zA-Z.,%/\\s+-]*\\)|(?:transparent|currentColor|currentcolor|none|inherit))|var\\(\\s*--[A-Za-z0-9_-]+\\s*\\))\\s*\\))\\s*\\))$"
1011
+ },
1012
+ "__schema5": {
1013
+ "anyOf": [
1014
+ {
1015
+ "type": "number"
1016
+ },
1017
+ {
1018
+ "type": "string",
1019
+ "maxLength": 16
1020
+ }
1021
+ ]
1022
+ },
1023
+ "__schema6": {
1024
+ "anyOf": [
1025
+ {
1026
+ "type": "string",
1027
+ "maxLength": 16
1028
+ },
1029
+ {
1030
+ "type": "number",
1031
+ "minimum": 0
1032
+ }
1033
+ ]
1034
+ },
1035
+ "__schema8": {
1036
+ "type": "string",
1037
+ "enum": [
1038
+ "normal",
1039
+ "italic",
1040
+ "oblique"
1041
+ ]
1042
+ },
1043
+ "__schema9": {
1044
+ "type": "string",
1045
+ "maxLength": 64
1046
+ },
1047
+ "__schema10": {
1048
+ "type": "string",
1049
+ "enum": [
1050
+ "none",
1051
+ "uppercase",
1052
+ "lowercase",
1053
+ "capitalize"
1054
+ ],
1055
+ "deprecated": true,
1056
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): no renderer applied it; the case is written into the text."
1057
+ },
1058
+ "__schema11": {
1059
+ "type": "object",
1060
+ "propertyNames": {
1061
+ "type": "string"
1062
+ },
1063
+ "additionalProperties": {
1064
+ "type": "string"
1065
+ }
1066
+ },
1067
+ "__schema12": {
1068
+ "type": "object",
1069
+ "propertyNames": {
1070
+ "type": "string"
1071
+ },
1072
+ "additionalProperties": {
1073
+ "type": "string"
1074
+ }
1075
+ },
1076
+ "__schema13": {
1077
+ "type": "object",
1078
+ "propertyNames": {
1079
+ "type": "string"
1080
+ },
1081
+ "additionalProperties": {
1082
+ "type": "object",
1083
+ "properties": {
1084
+ "fontSize": {
1085
+ "type": "number",
1086
+ "minimum": 0
1087
+ },
1088
+ "lineHeight": {
1089
+ "type": "number",
1090
+ "minimum": 0
1091
+ },
1092
+ "lines": {
1093
+ "maxItems": 500,
1094
+ "type": "array",
1095
+ "items": {
1096
+ "$ref": "#/$defs/__schema14"
1097
+ }
1098
+ }
1099
+ },
1100
+ "required": [
1101
+ "lines"
1102
+ ],
1103
+ "additionalProperties": {}
1104
+ }
1105
+ },
1106
+ "__schema14": {
1107
+ "type": "object",
1108
+ "properties": {
1109
+ "text": {
1110
+ "type": "string",
1111
+ "maxLength": 10000
1112
+ },
1113
+ "width": {
1114
+ "type": "number",
1115
+ "minimum": 0
1116
+ },
1117
+ "yOffset": {
1118
+ "type": "number"
1119
+ }
1120
+ },
1121
+ "required": [
1122
+ "text",
1123
+ "width",
1124
+ "yOffset"
1125
+ ],
1126
+ "additionalProperties": {}
1127
+ },
1128
+ "__schema15": {
1129
+ "type": "string",
1130
+ "maxLength": 128
1131
+ },
1132
+ "__schema16": {
1133
+ "type": "string",
1134
+ "enum": [
1135
+ "contain",
1136
+ "cover",
1137
+ "fill",
1138
+ "none",
1139
+ "scale-down"
1140
+ ]
1141
+ },
1142
+ "__schema17": {
1143
+ "type": "object",
1144
+ "properties": {
1145
+ "x": {
1146
+ "type": "number",
1147
+ "minimum": 0,
1148
+ "maximum": 100
1149
+ },
1150
+ "y": {
1151
+ "type": "number",
1152
+ "minimum": 0,
1153
+ "maximum": 100
1154
+ },
1155
+ "zoom": {
1156
+ "type": "number",
1157
+ "minimum": 1,
1158
+ "maximum": 10
1159
+ }
1160
+ },
1161
+ "required": [
1162
+ "x",
1163
+ "y",
1164
+ "zoom"
1165
+ ]
1166
+ },
1167
+ "__schema18": {
1168
+ "type": "object",
1169
+ "propertyNames": {
1170
+ "$ref": "#/$defs/__schema0"
1171
+ },
1172
+ "additionalProperties": {
1173
+ "type": "string",
1174
+ "maxLength": 300
1175
+ }
1176
+ },
1177
+ "__schema20": {
1178
+ "type": "string",
1179
+ "enum": [
1180
+ "top",
1181
+ "center",
1182
+ "bottom",
1183
+ "mixed",
1184
+ "justify"
1185
+ ],
1186
+ "deprecated": true,
1187
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): no writer and no reader."
1188
+ },
1189
+ "__schema21": {
1190
+ "type": "object",
1191
+ "properties": {
1192
+ "loop": {
1193
+ "type": "string",
1194
+ "enum": [
1195
+ "none",
1196
+ "pulse",
1197
+ "float",
1198
+ "bounce",
1199
+ "spin",
1200
+ "glow",
1201
+ "custom"
1202
+ ]
1203
+ },
1204
+ "hover": {
1205
+ "type": "string",
1206
+ "enum": [
1207
+ "none",
1208
+ "grow",
1209
+ "shrink",
1210
+ "lift",
1211
+ "glow",
1212
+ "custom"
1213
+ ]
1214
+ },
1215
+ "custom_loop_css": {
1216
+ "type": "string",
1217
+ "maxLength": 500,
1218
+ "deprecated": true,
1219
+ "description": "Retired in 1.9.0: players do not apply raw CSS. A new writer must not write it."
1220
+ },
1221
+ "custom_keyframes": {
1222
+ "type": "string",
1223
+ "maxLength": 2000,
1224
+ "deprecated": true,
1225
+ "description": "Retired in 1.9.0: players do not apply raw CSS. A new writer must not write it."
1226
+ },
1227
+ "custom_hover_css": {
1228
+ "type": "string",
1229
+ "maxLength": 500,
1230
+ "deprecated": true,
1231
+ "description": "Retired in 1.9.0: players do not apply raw CSS. A new writer must not write it."
1232
+ },
1233
+ "duration": {
1234
+ "type": "number",
1235
+ "minimum": 0.1,
1236
+ "maximum": 20
1237
+ },
1238
+ "delay": {
1239
+ "type": "number",
1240
+ "minimum": 0,
1241
+ "maximum": 10
1242
+ },
1243
+ "keyframes": {
1244
+ "maxItems": 240,
1245
+ "type": "array",
1246
+ "items": {
1247
+ "$ref": "#/$defs/keyframe"
1248
+ }
1249
+ },
1250
+ "trigger": {
1251
+ "type": "string",
1252
+ "enum": [
1253
+ "load",
1254
+ "action"
1255
+ ]
1256
+ }
1257
+ }
1258
+ },
1259
+ "keyframe": {
1260
+ "type": "object",
1261
+ "properties": {
1262
+ "t": {
1263
+ "type": "number",
1264
+ "minimum": 0,
1265
+ "maximum": 60
1266
+ },
1267
+ "o": {
1268
+ "type": "number",
1269
+ "minimum": 0,
1270
+ "maximum": 2
1271
+ },
1272
+ "s": {
1273
+ "type": "number",
1274
+ "minimum": 0,
1275
+ "maximum": 10
1276
+ },
1277
+ "r": {
1278
+ "type": "number",
1279
+ "minimum": -3600,
1280
+ "maximum": 3600
1281
+ },
1282
+ "x": {
1283
+ "type": "number"
1284
+ },
1285
+ "y": {
1286
+ "type": "number"
1287
+ },
1288
+ "b": {
1289
+ "type": "number",
1290
+ "minimum": 0,
1291
+ "maximum": 50
1292
+ },
1293
+ "e": {
1294
+ "$ref": "#/$defs/__schema22"
1295
+ }
1296
+ },
1297
+ "required": [
1298
+ "t"
1299
+ ]
1300
+ },
1301
+ "__schema22": {
1302
+ "anyOf": [
1303
+ {
1304
+ "type": "string",
1305
+ "enum": [
1306
+ "linear",
1307
+ "ease-in",
1308
+ "ease-out",
1309
+ "ease-in-out",
1310
+ "steps(1, end)"
1311
+ ]
1312
+ },
1313
+ {
1314
+ "type": "array",
1315
+ "prefixItems": [
1316
+ {
1317
+ "type": "number"
1318
+ },
1319
+ {
1320
+ "type": "number"
1321
+ },
1322
+ {
1323
+ "type": "number"
1324
+ },
1325
+ {
1326
+ "type": "number"
1327
+ }
1328
+ ],
1329
+ "items": false,
1330
+ "minItems": 4,
1331
+ "maxItems": 4
1332
+ }
1333
+ ]
1334
+ },
1335
+ "__schema23": {
1336
+ "type": "object",
1337
+ "properties": {
1338
+ "effect": {
1339
+ "type": "string",
1340
+ "enum": [
1341
+ "fade",
1342
+ "slide-up",
1343
+ "slide-down",
1344
+ "slide-left",
1345
+ "slide-right",
1346
+ "scale"
1347
+ ]
1348
+ },
1349
+ "duration": {
1350
+ "type": "number",
1351
+ "minimum": 0,
1352
+ "maximum": 2000
1353
+ },
1354
+ "easing": {
1355
+ "$ref": "#/$defs/__schema22"
1356
+ }
1357
+ },
1358
+ "required": [
1359
+ "effect",
1360
+ "duration"
1361
+ ]
1362
+ },
1363
+ "__schema24": {
1364
+ "type": "object",
1365
+ "properties": {
1366
+ "blur": {
1367
+ "$ref": "#/$defs/__schema25"
1368
+ },
1369
+ "grain": {
1370
+ "$ref": "#/$defs/__schema26"
1371
+ },
1372
+ "crt_curve": {
1373
+ "type": "boolean"
1374
+ }
1375
+ },
1376
+ "deprecated": true,
1377
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): no writer and no reader."
1378
+ },
1379
+ "__schema25": {
1380
+ "type": "number",
1381
+ "minimum": 0,
1382
+ "maximum": 10
1383
+ },
1384
+ "__schema26": {
1385
+ "type": "number",
1386
+ "minimum": 0,
1387
+ "maximum": 1
1388
+ },
1389
+ "__schema29": {
1390
+ "type": "object",
1391
+ "properties": {
1392
+ "hover": {
1393
+ "$ref": "#/$defs/__schema30"
1394
+ },
1395
+ "active": {
1396
+ "$ref": "#/$defs/__schema30"
1397
+ }
1398
+ },
1399
+ "additionalProperties": {}
1400
+ },
1401
+ "__schema30": {
1402
+ "type": "object",
1403
+ "properties": {
1404
+ "scale": {
1405
+ "type": "number",
1406
+ "minimum": 0,
1407
+ "maximum": 1000
1408
+ },
1409
+ "rotation": {
1410
+ "type": "number",
1411
+ "minimum": -360,
1412
+ "maximum": 360
1413
+ },
1414
+ "opacity": {
1415
+ "type": "number",
1416
+ "minimum": 0,
1417
+ "maximum": 100
1418
+ },
1419
+ "transitionDuration": {
1420
+ "type": "number",
1421
+ "minimum": 0,
1422
+ "maximum": 10000
1423
+ },
1424
+ "actions": {
1425
+ "maxItems": 64,
1426
+ "type": "array",
1427
+ "items": {
1428
+ "$ref": "#/$defs/__schema31"
1429
+ }
1430
+ }
1431
+ },
1432
+ "additionalProperties": {}
1433
+ },
1434
+ "__schema31": {
1435
+ "type": "object",
1436
+ "properties": {
1437
+ "target": {
1438
+ "type": "string",
1439
+ "minLength": 1,
1440
+ "maxLength": 128
1441
+ },
1442
+ "type": {
1443
+ "type": "string",
1444
+ "enum": [
1445
+ "show",
1446
+ "hide",
1447
+ "toggle",
1448
+ "setText",
1449
+ "play"
1450
+ ]
1451
+ },
1452
+ "value": {
1453
+ "type": "string",
1454
+ "maxLength": 10000
1455
+ }
1456
+ },
1457
+ "required": [
1458
+ "target",
1459
+ "type"
1460
+ ]
1461
+ },
1462
+ "__schema32": {
1463
+ "type": "boolean",
1464
+ "deprecated": true,
1465
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): a layer's grain is a texture in style.effects."
1466
+ },
1467
+ "__schema33": {
1468
+ "type": "number",
1469
+ "minimum": 1,
1470
+ "maximum": 100,
1471
+ "deprecated": true,
1472
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): see grain."
1473
+ },
1474
+ "__schema34": {
1475
+ "type": "number",
1476
+ "minimum": 1,
1477
+ "maximum": 100,
1478
+ "deprecated": true,
1479
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): see grain."
1480
+ },
1481
+ "__schema35": {
1482
+ "type": "string",
1483
+ "enum": [
1484
+ "overlay",
1485
+ "soft-light",
1486
+ "multiply"
1487
+ ],
1488
+ "deprecated": true,
1489
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): see grain."
1490
+ },
1491
+ "__schema36": {
1492
+ "type": "string",
1493
+ "enum": [
1494
+ "none",
1495
+ "neon",
1496
+ "shadow"
1497
+ ]
1498
+ },
1499
+ "__schema37": {
1500
+ "$ref": "#/$defs/cssColor"
1501
+ },
1502
+ "__schema38": {
1503
+ "type": "number",
1504
+ "minimum": 0,
1505
+ "maximum": 100
1506
+ },
1507
+ "__schema39": {
1508
+ "type": "string",
1509
+ "enum": [
1510
+ "left",
1511
+ "center",
1512
+ "right",
1513
+ "justify"
1514
+ ]
1515
+ },
1516
+ "__schema40": {
1517
+ "type": "string",
1518
+ "maxLength": 128
1519
+ },
1520
+ "__schema41": {
1521
+ "anyOf": [
1522
+ {
1523
+ "type": "string",
1524
+ "maxLength": 32
1525
+ },
1526
+ {
1527
+ "type": "number",
1528
+ "minimum": 0
1529
+ }
1530
+ ]
1531
+ },
1532
+ "__schema42": {
1533
+ "anyOf": [
1534
+ {
1535
+ "type": "string",
1536
+ "maxLength": 32
1537
+ },
1538
+ {
1539
+ "type": "number",
1540
+ "minimum": 0
1541
+ }
1542
+ ]
1543
+ },
1544
+ "__schema43": {
1545
+ "anyOf": [
1546
+ {
1547
+ "type": "string",
1548
+ "maxLength": 32
1549
+ },
1550
+ {
1551
+ "type": "number",
1552
+ "minimum": 0
1553
+ }
1554
+ ]
1555
+ },
1556
+ "__schema44": {
1557
+ "anyOf": [
1558
+ {
1559
+ "type": "string",
1560
+ "maxLength": 128
1561
+ },
1562
+ {
1563
+ "type": "number",
1564
+ "minimum": 0
1565
+ }
1566
+ ]
1567
+ },
1568
+ "__schema45": {
1569
+ "$ref": "#/$defs/cssColor"
1570
+ },
1571
+ "__schema46": {
1572
+ "type": "string",
1573
+ "enum": [
1574
+ "solid",
1575
+ "dashed",
1576
+ "dotted"
1577
+ ]
1578
+ },
1579
+ "__schema47": {
1580
+ "$ref": "#/$defs/cssColor"
1581
+ },
1582
+ "__schema49": {
1583
+ "$ref": "#/$defs/cssColor"
1584
+ },
1585
+ "__schema50": {
1586
+ "type": "string",
1587
+ "enum": [
1588
+ "primary",
1589
+ "on-primary",
1590
+ "secondary",
1591
+ "on-secondary",
1592
+ "surface",
1593
+ "on-surface",
1594
+ "outline",
1595
+ "accent",
1596
+ "text-primary",
1597
+ "text-secondary",
1598
+ "text-muted",
1599
+ "text-on-accent"
1600
+ ]
1601
+ },
1602
+ "__schema51": {
1603
+ "type": "number",
1604
+ "minimum": 0,
1605
+ "maximum": 200
1606
+ },
1607
+ "__schema52": {
1608
+ "type": "number",
1609
+ "minimum": -500,
1610
+ "maximum": 500
1611
+ },
1612
+ "__schema53": {
1613
+ "type": "number",
1614
+ "minimum": -500,
1615
+ "maximum": 500
1616
+ },
1617
+ "__schema54": {
1618
+ "type": "number",
1619
+ "minimum": 0,
1620
+ "maximum": 100
1621
+ },
1622
+ "__schema55": {
1623
+ "type": "string",
1624
+ "enum": [
1625
+ "normal",
1626
+ "multiply",
1627
+ "screen",
1628
+ "overlay",
1629
+ "darken",
1630
+ "lighten",
1631
+ "color-dodge",
1632
+ "color-burn",
1633
+ "difference"
1634
+ ],
1635
+ "deprecated": true,
1636
+ "description": "Retired in 1.12.0 (contract audit, 10 Oct 2026): layer blend did not show in the editor or the player; readers draw the layer as normal."
1637
+ },
1638
+ "__schema56": {
1639
+ "type": "number",
1640
+ "minimum": 0,
1641
+ "maximum": 100
1642
+ },
1643
+ "__schema57": {
1644
+ "type": "string",
1645
+ "maxLength": 32
1646
+ },
1647
+ "__schema59": {
1648
+ "$ref": "#/$defs/cssColor"
1649
+ },
1650
+ "__schema60": {
1651
+ "type": "number",
1652
+ "minimum": 0
1653
+ },
1654
+ "__schema61": {
1655
+ "type": "number",
1656
+ "minimum": 0,
1657
+ "maximum": 100
1658
+ },
1659
+ "__schema62": {
1660
+ "type": "string",
1661
+ "enum": [
1662
+ "rectangle",
1663
+ "circle",
1664
+ "triangle",
1665
+ "star",
1666
+ "line",
1667
+ "arrow",
1668
+ "diamond",
1669
+ "hexagon",
1670
+ "heart",
1671
+ "blob",
1672
+ "scribble",
1673
+ "custom",
1674
+ "pill",
1675
+ "octagon",
1676
+ "pentagon",
1677
+ "cross",
1678
+ "moon",
1679
+ "cloud",
1680
+ "drop",
1681
+ "bolt",
1682
+ "bubble",
1683
+ "flower",
1684
+ "burst",
1685
+ "arch"
1686
+ ]
1687
+ },
1688
+ "__schema63": {
1689
+ "type": "string",
1690
+ "maxLength": 20000,
1691
+ "pattern": "^[MmLlHhVvCcSsQqTtAaZz0-9eE.,\\s+-]*$"
1692
+ },
1693
+ "__schema64": {
1694
+ "type": "string",
1695
+ "maxLength": 64,
1696
+ "pattern": "^-?\\d+(\\.\\d+)?([\\s,]+-?\\d+(\\.\\d+)?){3}$"
1697
+ },
1698
+ "__schema66": {
1699
+ "type": "string",
1700
+ "enum": [
1701
+ "neon-cyberpunk",
1702
+ "retro-wave-3d",
1703
+ "comic-pop-extrusion",
1704
+ "vintage-emboss",
1705
+ "chrome-metallic",
1706
+ "arcade-80s",
1707
+ "custom"
1708
+ ]
1709
+ },
1710
+ "__schema67": {
1711
+ "type": "number",
1712
+ "minimum": -100,
1713
+ "maximum": 100
1714
+ },
1715
+ "__schema68": {
1716
+ "type": "string",
1717
+ "enum": [
1718
+ "arc",
1719
+ "wave",
1720
+ "arch"
1721
+ ]
1722
+ },
1723
+ "__schema69": {
1724
+ "type": "number",
1725
+ "minimum": 0,
1726
+ "maximum": 100
1727
+ },
1728
+ "__schema70": {
1729
+ "type": "number",
1730
+ "minimum": 0,
1731
+ "maximum": 360
1732
+ },
1733
+ "__schema71": {
1734
+ "$ref": "#/$defs/cssColor"
1735
+ },
1736
+ "__schema73": {
1737
+ "$ref": "#/$defs/cssColor"
1738
+ },
1739
+ "__schema74": {
1740
+ "type": "number",
1741
+ "minimum": 0
1742
+ },
1743
+ "__schema75": {
1744
+ "$ref": "#/$defs/cssColor"
1745
+ },
1746
+ "__schema76": {
1747
+ "type": "number",
1748
+ "minimum": 0
1749
+ },
1750
+ "__schema77": {
1751
+ "type": "string",
1752
+ "enum": [
1753
+ "window",
1754
+ "cutout"
1755
+ ]
1756
+ },
1757
+ "__schema78": {
1758
+ "type": "string",
1759
+ "enum": [
1760
+ "circle",
1761
+ "rectangle",
1762
+ "triangle",
1763
+ "star",
1764
+ "line",
1765
+ "arrow",
1766
+ "diamond",
1767
+ "hexagon",
1768
+ "heart",
1769
+ "blob",
1770
+ "custom"
1771
+ ]
1772
+ },
1773
+ "__schema79": {
1774
+ "$ref": "#/$defs/cssColor"
1775
+ },
1776
+ "__schema80": {
1777
+ "$ref": "#/$defs/cssColor"
1778
+ },
1779
+ "__schema81": {
1780
+ "type": "number",
1781
+ "minimum": 0
1782
+ },
1783
+ "__schema82": {
1784
+ "type": "string",
1785
+ "enum": [
1786
+ "none",
1787
+ "duotone",
1788
+ "grayscale",
1789
+ "sepia",
1790
+ "high-contrast",
1791
+ "vintage",
1792
+ "cool",
1793
+ "warm",
1794
+ "faded",
1795
+ "cinema",
1796
+ "nordic",
1797
+ "sunset",
1798
+ "noir",
1799
+ "dramatic",
1800
+ "cyberpunk",
1801
+ "pastel",
1802
+ "vhs"
1803
+ ]
1804
+ },
1805
+ "__schema83": {
1806
+ "type": "string",
1807
+ "maxLength": 128,
1808
+ "pattern": "^background-animation-(?:right|left|up|down|zoom-in|zoom-out|pulse|none) \\d+(?:\\.\\d+)?s linear infinite$"
1809
+ },
1810
+ "__schema84": {
1811
+ "type": "number",
1812
+ "minimum": 0,
1813
+ "maximum": 100
1814
+ },
1815
+ "__schema85": {
1816
+ "type": "number",
1817
+ "minimum": 0,
1818
+ "maximum": 500
1819
+ },
1820
+ "__schema86": {
1821
+ "type": "number",
1822
+ "minimum": 0,
1823
+ "maximum": 500
1824
+ },
1825
+ "__schema87": {
1826
+ "type": "number",
1827
+ "minimum": 0,
1828
+ "maximum": 500
1829
+ },
1830
+ "__schema88": {
1831
+ "type": "number",
1832
+ "minimum": 0,
1833
+ "maximum": 360
1834
+ },
1835
+ "__schema89": {
1836
+ "type": "string",
1837
+ "enum": [
1838
+ "none",
1839
+ "typewriter",
1840
+ "fade-chars",
1841
+ "slide-up",
1842
+ "blur-chars",
1843
+ "bounce-chars",
1844
+ "wave-chars",
1845
+ "glitch-cyberpunk",
1846
+ "glitch-slice",
1847
+ "reveal-mask",
1848
+ "scale-in",
1849
+ "rise-words"
1850
+ ]
1851
+ },
1852
+ "__schema90": {
1853
+ "type": "number",
1854
+ "minimum": 0,
1855
+ "maximum": 200
1856
+ },
1857
+ "__schema91": {
1858
+ "type": "number",
1859
+ "minimum": 0,
1860
+ "maximum": 100
1861
+ },
1862
+ "__schema92": {
1863
+ "type": "number",
1864
+ "minimum": 0,
1865
+ "maximum": 100
1866
+ },
1867
+ "__schema94": {
1868
+ "type": "object",
1869
+ "properties": {
1870
+ "enabled": {
1871
+ "default": true,
1872
+ "type": "boolean"
1873
+ },
1874
+ "color": {
1875
+ "default": "rgba(245, 158, 11, 0.35)",
1876
+ "$ref": "#/$defs/cssColor"
1877
+ },
1878
+ "style": {
1879
+ "default": "marker",
1880
+ "type": "string",
1881
+ "enum": [
1882
+ "marker",
1883
+ "box",
1884
+ "pill",
1885
+ "underline-thick"
1886
+ ]
1887
+ },
1888
+ "paddingX": {
1889
+ "type": "number",
1890
+ "minimum": 0,
1891
+ "maximum": 64
1892
+ },
1893
+ "paddingY": {
1894
+ "type": "number",
1895
+ "minimum": 0,
1896
+ "maximum": 64
1897
+ },
1898
+ "borderRadius": {
1899
+ "type": "number",
1900
+ "minimum": 0,
1901
+ "maximum": 64
1902
+ }
1903
+ }
1904
+ },
1905
+ "__schema95": {
1906
+ "type": "object",
1907
+ "properties": {
1908
+ "enabled": {
1909
+ "default": true,
1910
+ "type": "boolean"
1911
+ },
1912
+ "lines": {
1913
+ "default": 2,
1914
+ "anyOf": [
1915
+ {
1916
+ "type": "number",
1917
+ "const": 2
1918
+ },
1919
+ {
1920
+ "type": "number",
1921
+ "const": 3
1922
+ }
1923
+ ]
1924
+ },
1925
+ "fontFamily": {
1926
+ "type": "string",
1927
+ "maxLength": 128
1928
+ },
1929
+ "color": {
1930
+ "$ref": "#/$defs/cssColor"
1931
+ },
1932
+ "marginRight": {
1933
+ "type": "number",
1934
+ "minimum": 0,
1935
+ "maximum": 64
1936
+ }
1937
+ }
1938
+ },
1939
+ "__schema96": {
1940
+ "type": "object",
1941
+ "propertyNames": {
1942
+ "$ref": "#/$defs/__schema97"
1943
+ },
1944
+ "additionalProperties": {
1945
+ "$ref": "#/$defs/__schema98"
1946
+ }
1947
+ },
1948
+ "__schema97": {
1949
+ "type": "string",
1950
+ "pattern": "^[a-z][a-z0-9-]{0,23}$"
1951
+ },
1952
+ "__schema98": {
1953
+ "type": "object",
1954
+ "properties": {
1955
+ "color": {
1956
+ "$ref": "#/$defs/cssColor"
1957
+ },
1958
+ "colorRole": {
1959
+ "type": "string",
1960
+ "enum": [
1961
+ "primary",
1962
+ "on-primary",
1963
+ "secondary",
1964
+ "on-secondary",
1965
+ "surface",
1966
+ "on-surface",
1967
+ "outline",
1968
+ "accent",
1969
+ "text-primary",
1970
+ "text-secondary",
1971
+ "text-muted",
1972
+ "text-on-accent"
1973
+ ]
1974
+ },
1975
+ "bold": {
1976
+ "type": "boolean"
1977
+ },
1978
+ "italic": {
1979
+ "type": "boolean"
1980
+ },
1981
+ "underline": {
1982
+ "type": "boolean"
1983
+ },
1984
+ "highlight": {
1985
+ "type": "object",
1986
+ "properties": {
1987
+ "style": {
1988
+ "type": "string",
1989
+ "enum": [
1990
+ "marker",
1991
+ "box",
1992
+ "pill",
1993
+ "underline-thick"
1994
+ ]
1995
+ },
1996
+ "color": {
1997
+ "$ref": "#/$defs/cssColor"
1998
+ },
1999
+ "colorRole": {
2000
+ "type": "string",
2001
+ "enum": [
2002
+ "primary",
2003
+ "on-primary",
2004
+ "secondary",
2005
+ "on-secondary",
2006
+ "surface",
2007
+ "on-surface",
2008
+ "outline",
2009
+ "accent",
2010
+ "text-primary",
2011
+ "text-secondary",
2012
+ "text-muted",
2013
+ "text-on-accent"
2014
+ ]
2015
+ },
2016
+ "paddingX": {
2017
+ "type": "number",
2018
+ "minimum": 0,
2019
+ "maximum": 64
2020
+ },
2021
+ "paddingY": {
2022
+ "type": "number",
2023
+ "minimum": 0,
2024
+ "maximum": 64
2025
+ },
2026
+ "borderRadius": {
2027
+ "type": "number",
2028
+ "minimum": 0,
2029
+ "maximum": 64
2030
+ }
2031
+ }
2032
+ }
2033
+ }
2034
+ },
2035
+ "__schema100": {
2036
+ "type": "number",
2037
+ "minimum": 0,
2038
+ "maximum": 100
2039
+ },
2040
+ "__schema102": {
2041
+ "maxItems": 32,
2042
+ "type": "array",
2043
+ "items": {
2044
+ "$ref": "#/$defs/maskCut"
2045
+ }
2046
+ },
2047
+ "maskCut": {
2048
+ "type": "object",
2049
+ "properties": {
2050
+ "id": {
2051
+ "type": "string",
2052
+ "maxLength": 128
2053
+ },
2054
+ "x": {
2055
+ "type": "number"
2056
+ },
2057
+ "y": {
2058
+ "type": "number"
2059
+ },
2060
+ "width": {
2061
+ "type": "number",
2062
+ "minimum": 0
2063
+ },
2064
+ "height": {
2065
+ "type": "number",
2066
+ "minimum": 0
2067
+ },
2068
+ "shape": {
2069
+ "type": "string",
2070
+ "enum": [
2071
+ "heart",
2072
+ "star",
2073
+ "circle",
2074
+ "rectangle",
2075
+ "hexagon",
2076
+ "blob",
2077
+ "custom"
2078
+ ]
2079
+ },
2080
+ "svgPath": {
2081
+ "type": "string",
2082
+ "maxLength": 20000
2083
+ },
2084
+ "feather": {
2085
+ "type": "number",
2086
+ "minimum": 0,
2087
+ "maximum": 100
2088
+ },
2089
+ "strokeColor": {
2090
+ "$ref": "#/$defs/cssColor"
2091
+ },
2092
+ "strokeWidth": {
2093
+ "type": "number",
2094
+ "minimum": 0,
2095
+ "maximum": 100
2096
+ }
2097
+ },
2098
+ "required": [
2099
+ "id",
2100
+ "x",
2101
+ "y",
2102
+ "width",
2103
+ "height",
2104
+ "shape"
2105
+ ],
2106
+ "additionalProperties": {}
2107
+ },
2108
+ "__schema103": {
2109
+ "type": "number",
2110
+ "minimum": 0,
2111
+ "maximum": 100
2112
+ },
2113
+ "__schema104": {
2114
+ "type": "number",
2115
+ "minimum": 0,
2116
+ "maximum": 100
2117
+ },
2118
+ "__schema105": {
2119
+ "type": "number",
2120
+ "minimum": 0,
2121
+ "maximum": 100
2122
+ },
2123
+ "__schema106": {
2124
+ "type": "string",
2125
+ "maxLength": 128
2126
+ },
2127
+ "__schema110": {
2128
+ "type": "number",
2129
+ "minimum": 0,
2130
+ "maximum": 100
2131
+ },
2132
+ "__schema112": {
2133
+ "type": "string",
2134
+ "enum": [
2135
+ "none",
2136
+ "linear",
2137
+ "metallic-chrome",
2138
+ "sunset-gold",
2139
+ "neon-glow"
2140
+ ]
2141
+ },
2142
+ "__schema113": {
2143
+ "type": "string",
2144
+ "enum": [
2145
+ "primary",
2146
+ "on-primary",
2147
+ "secondary",
2148
+ "on-secondary",
2149
+ "surface",
2150
+ "on-surface",
2151
+ "outline",
2152
+ "accent",
2153
+ "text-primary",
2154
+ "text-secondary",
2155
+ "text-muted",
2156
+ "text-on-accent"
2157
+ ]
2158
+ },
2159
+ "__schema114": {
2160
+ "type": "string",
2161
+ "enum": [
2162
+ "primary",
2163
+ "on-primary",
2164
+ "secondary",
2165
+ "on-secondary",
2166
+ "surface",
2167
+ "on-surface",
2168
+ "outline",
2169
+ "accent",
2170
+ "text-primary",
2171
+ "text-secondary",
2172
+ "text-muted",
2173
+ "text-on-accent"
2174
+ ]
2175
+ },
2176
+ "__schema115": {
2177
+ "type": "string",
2178
+ "enum": [
2179
+ "primary",
2180
+ "on-primary",
2181
+ "secondary",
2182
+ "on-secondary",
2183
+ "surface",
2184
+ "on-surface",
2185
+ "outline",
2186
+ "accent",
2187
+ "text-primary",
2188
+ "text-secondary",
2189
+ "text-muted",
2190
+ "text-on-accent"
2191
+ ]
2192
+ },
2193
+ "__schema116": {
2194
+ "type": "string",
2195
+ "enum": [
2196
+ "primary",
2197
+ "on-primary",
2198
+ "secondary",
2199
+ "on-secondary",
2200
+ "surface",
2201
+ "on-surface",
2202
+ "outline",
2203
+ "accent",
2204
+ "text-primary",
2205
+ "text-secondary",
2206
+ "text-muted",
2207
+ "text-on-accent"
2208
+ ]
2209
+ },
2210
+ "__schema117": {
2211
+ "type": "string",
2212
+ "enum": [
2213
+ "primary",
2214
+ "on-primary",
2215
+ "secondary",
2216
+ "on-secondary",
2217
+ "surface",
2218
+ "on-surface",
2219
+ "outline",
2220
+ "accent",
2221
+ "text-primary",
2222
+ "text-secondary",
2223
+ "text-muted",
2224
+ "text-on-accent"
2225
+ ]
2226
+ },
2227
+ "__schema118": {
2228
+ "type": "string",
2229
+ "enum": [
2230
+ "primary",
2231
+ "on-primary",
2232
+ "secondary",
2233
+ "on-secondary",
2234
+ "surface",
2235
+ "on-surface",
2236
+ "outline",
2237
+ "accent",
2238
+ "text-primary",
2239
+ "text-secondary",
2240
+ "text-muted",
2241
+ "text-on-accent"
2242
+ ]
2243
+ },
2244
+ "__schema119": {
2245
+ "type": "string",
2246
+ "enum": [
2247
+ "primary",
2248
+ "on-primary",
2249
+ "secondary",
2250
+ "on-secondary",
2251
+ "surface",
2252
+ "on-surface",
2253
+ "outline",
2254
+ "accent",
2255
+ "text-primary",
2256
+ "text-secondary",
2257
+ "text-muted",
2258
+ "text-on-accent"
2259
+ ]
2260
+ },
2261
+ "__schema120": {
2262
+ "$ref": "#/$defs/generativeFill"
2263
+ },
2264
+ "generativeFill": {
2265
+ "type": "object",
2266
+ "properties": {
2267
+ "generatorId": {
2268
+ "type": "string",
2269
+ "maxLength": 64,
2270
+ "pattern": "^[a-z0-9-]+$"
2271
+ },
2272
+ "seed": {
2273
+ "type": "number"
2274
+ },
2275
+ "params": {
2276
+ "type": "object",
2277
+ "propertyNames": {
2278
+ "type": "string",
2279
+ "maxLength": 64
2280
+ },
2281
+ "additionalProperties": {
2282
+ "anyOf": [
2283
+ {
2284
+ "type": "number"
2285
+ },
2286
+ {
2287
+ "type": "string",
2288
+ "maxLength": 256
2289
+ },
2290
+ {
2291
+ "type": "boolean"
2292
+ }
2293
+ ]
2294
+ }
2295
+ },
2296
+ "colors": {
2297
+ "type": "object",
2298
+ "properties": {
2299
+ "mode": {
2300
+ "type": "string",
2301
+ "enum": [
2302
+ "monochrome",
2303
+ "palette"
2304
+ ]
2305
+ },
2306
+ "stops": {
2307
+ "maxItems": 16,
2308
+ "type": "array",
2309
+ "items": {
2310
+ "$ref": "#/$defs/cssColor"
2311
+ }
2312
+ },
2313
+ "direction": {
2314
+ "type": "string",
2315
+ "enum": [
2316
+ "forward",
2317
+ "reverse",
2318
+ "radial"
2319
+ ]
2320
+ },
2321
+ "background": {
2322
+ "$ref": "#/$defs/cssColor"
2323
+ },
2324
+ "backgroundVisible": {
2325
+ "type": "boolean"
2326
+ }
2327
+ },
2328
+ "required": [
2329
+ "mode",
2330
+ "stops",
2331
+ "direction",
2332
+ "background",
2333
+ "backgroundVisible"
2334
+ ],
2335
+ "additionalProperties": {}
2336
+ }
2337
+ },
2338
+ "required": [
2339
+ "generatorId",
2340
+ "seed",
2341
+ "params",
2342
+ "colors"
2343
+ ],
2344
+ "additionalProperties": {}
2345
+ },
2346
+ "__schema121": {
2347
+ "type": "string",
2348
+ "maxLength": 2048,
2349
+ "pattern": "^(?:repeating-)?(?:linear|radial|conic)-gradient\\((?:[0-9A-Za-z#.,%/\\s+-]|(?:rgba?|hsla?)\\([0-9A-Za-z.,%/\\s+-]*\\)|var\\(\\s*--[A-Za-z0-9_-]+\\s*(?:,(?:[0-9A-Za-z#.,%/\\s+-]|(?:rgba?|hsla?)\\([0-9A-Za-z.,%/\\s+-]*\\))*)?\\))*\\)$"
2350
+ },
2351
+ "__schema122": {
2352
+ "type": "string",
2353
+ "enum": [
2354
+ "clouds",
2355
+ "bubbles",
2356
+ "grid",
2357
+ "waves",
2358
+ "stars",
2359
+ "stripes",
2360
+ "dots",
2361
+ "zigzags",
2362
+ "bolt",
2363
+ "leaf",
2364
+ "drop",
2365
+ "moon",
2366
+ "crown",
2367
+ "heart"
2368
+ ]
2369
+ },
2370
+ "__schema123": {
2371
+ "$ref": "#/$defs/cssColor"
2372
+ },
2373
+ "__schema124": {
2374
+ "type": "string",
2375
+ "enum": [
2376
+ "primary",
2377
+ "on-primary",
2378
+ "secondary",
2379
+ "on-secondary",
2380
+ "surface",
2381
+ "on-surface",
2382
+ "outline",
2383
+ "accent",
2384
+ "text-primary",
2385
+ "text-secondary",
2386
+ "text-muted",
2387
+ "text-on-accent"
2388
+ ]
2389
+ },
2390
+ "__schema125": {
2391
+ "$ref": "#/$defs/cssColor"
2392
+ },
2393
+ "__schema126": {
2394
+ "type": "string",
2395
+ "enum": [
2396
+ "primary",
2397
+ "on-primary",
2398
+ "secondary",
2399
+ "on-secondary",
2400
+ "surface",
2401
+ "on-surface",
2402
+ "outline",
2403
+ "accent",
2404
+ "text-primary",
2405
+ "text-secondary",
2406
+ "text-muted",
2407
+ "text-on-accent"
2408
+ ]
2409
+ },
2410
+ "__schema129": {
2411
+ "type": "string",
2412
+ "enum": [
2413
+ "right",
2414
+ "left",
2415
+ "up",
2416
+ "down",
2417
+ "zoom-in",
2418
+ "zoom-out",
2419
+ "pulse",
2420
+ "none"
2421
+ ]
2422
+ },
2423
+ "__schema130": {
2424
+ "maxItems": 16,
2425
+ "type": "array",
2426
+ "items": {
2427
+ "$ref": "#/$defs/__schema131"
2428
+ }
2429
+ },
2430
+ "__schema131": {
2431
+ "type": "string",
2432
+ "maxLength": 8000
2433
+ },
2434
+ "__schema132": {
2435
+ "maxItems": 16,
2436
+ "type": "array",
2437
+ "items": {
2438
+ "$ref": "#/$defs/cssColor"
2439
+ }
2440
+ },
2441
+ "__schema133": {
2442
+ "maxItems": 16,
2443
+ "type": "array",
2444
+ "items": {
2445
+ "type": "number"
2446
+ }
2447
+ },
2448
+ "__schema135": {
2449
+ "maxItems": 16,
2450
+ "type": "array",
2451
+ "items": {
2452
+ "type": "number"
2453
+ }
2454
+ },
2455
+ "__schema137": {
2456
+ "maxItems": 16,
2457
+ "type": "array",
2458
+ "items": {
2459
+ "type": "number"
2460
+ }
2461
+ },
2462
+ "__schema139": {
2463
+ "type": "string",
2464
+ "enum": [
2465
+ "color",
2466
+ "gradient",
2467
+ "pattern",
2468
+ "generative",
2469
+ "transparent",
2470
+ "image"
2471
+ ]
2472
+ },
2473
+ "__schema140": {
2474
+ "$ref": "#/$defs/cssColor"
2475
+ },
2476
+ "__schema141": {
2477
+ "type": "string",
2478
+ "enum": [
2479
+ "primary",
2480
+ "on-primary",
2481
+ "secondary",
2482
+ "on-secondary",
2483
+ "surface",
2484
+ "on-surface",
2485
+ "outline",
2486
+ "accent",
2487
+ "text-primary",
2488
+ "text-secondary",
2489
+ "text-muted",
2490
+ "text-on-accent"
2491
+ ]
2492
+ },
2493
+ "__schema142": {
2494
+ "$ref": "#/$defs/cssColor"
2495
+ },
2496
+ "__schema143": {
2497
+ "type": "string",
2498
+ "enum": [
2499
+ "primary",
2500
+ "on-primary",
2501
+ "secondary",
2502
+ "on-secondary",
2503
+ "surface",
2504
+ "on-surface",
2505
+ "outline",
2506
+ "accent",
2507
+ "text-primary",
2508
+ "text-secondary",
2509
+ "text-muted",
2510
+ "text-on-accent"
2511
+ ]
2512
+ },
2513
+ "__schema144": {
2514
+ "maxItems": 16,
2515
+ "type": "array",
2516
+ "items": {
2517
+ "$ref": "#/$defs/cssColor"
2518
+ }
2519
+ },
2520
+ "__schema145": {
2521
+ "type": "string",
2522
+ "enum": [
2523
+ "none",
2524
+ "color",
2525
+ "gradient",
2526
+ "pattern",
2527
+ "generative",
2528
+ "image"
2529
+ ]
2530
+ },
2531
+ "__schema146": {
2532
+ "type": "string",
2533
+ "maxLength": 10000000,
2534
+ "pattern": "^data:image\\/"
2535
+ },
2536
+ "__schema147": {
2537
+ "type": "object",
2538
+ "properties": {
2539
+ "x": {
2540
+ "type": "number",
2541
+ "minimum": 0,
2542
+ "maximum": 100
2543
+ },
2544
+ "y": {
2545
+ "type": "number",
2546
+ "minimum": 0,
2547
+ "maximum": 100
2548
+ },
2549
+ "zoom": {
2550
+ "type": "number",
2551
+ "minimum": 1,
2552
+ "maximum": 10
2553
+ }
2554
+ },
2555
+ "required": [
2556
+ "x",
2557
+ "y",
2558
+ "zoom"
2559
+ ]
2560
+ },
2561
+ "__schema150": {},
2562
+ "position": {
2563
+ "type": "array",
2564
+ "prefixItems": [
2565
+ {
2566
+ "$ref": "#/$defs/__schema151"
2567
+ },
2568
+ {
2569
+ "$ref": "#/$defs/__schema152"
2570
+ }
2571
+ ],
2572
+ "items": false,
2573
+ "minItems": 2,
2574
+ "maxItems": 2
2575
+ },
2576
+ "__schema151": {
2577
+ "type": "number",
2578
+ "minimum": 0,
2579
+ "maximum": 100
2580
+ },
2581
+ "__schema152": {
2582
+ "type": "number",
2583
+ "minimum": 0,
2584
+ "maximum": 100
2585
+ },
2586
+ "parallax": {
2587
+ "type": "object",
2588
+ "properties": {
2589
+ "enabled": {
2590
+ "default": true,
2591
+ "type": "boolean"
2592
+ },
2593
+ "depth": {
2594
+ "default": 0.5,
2595
+ "type": "number",
2596
+ "minimum": -2,
2597
+ "maximum": 2
2598
+ },
2599
+ "mode": {
2600
+ "default": "mouse",
2601
+ "type": "string",
2602
+ "enum": [
2603
+ "mouse",
2604
+ "scroll",
2605
+ "infinite_horizontal"
2606
+ ]
2607
+ },
2608
+ "axis": {
2609
+ "default": "both",
2610
+ "type": "string",
2611
+ "enum": [
2612
+ "both",
2613
+ "x_only",
2614
+ "y_only"
2615
+ ]
2616
+ },
2617
+ "infinite": {
2618
+ "$ref": "#/$defs/parallaxInfinite"
2619
+ }
2620
+ },
2621
+ "additionalProperties": {}
2622
+ },
2623
+ "parallaxInfinite": {
2624
+ "type": "object",
2625
+ "properties": {
2626
+ "enabled": {
2627
+ "default": false,
2628
+ "type": "boolean"
2629
+ },
2630
+ "speed_px_sec": {
2631
+ "default": 20,
2632
+ "type": "number",
2633
+ "minimum": -500,
2634
+ "maximum": 500
2635
+ },
2636
+ "direction": {
2637
+ "default": "right_to_left",
2638
+ "type": "string",
2639
+ "enum": [
2640
+ "left_to_right",
2641
+ "right_to_left"
2642
+ ]
2643
+ },
2644
+ "seamless_tile": {
2645
+ "default": true,
2646
+ "type": "boolean"
2647
+ },
2648
+ "pause_on_hover": {
2649
+ "default": false,
2650
+ "type": "boolean"
2651
+ }
2652
+ },
2653
+ "additionalProperties": {}
2654
+ },
2655
+ "trackingKeyframe": {
2656
+ "minItems": 2,
2657
+ "type": "array",
2658
+ "items": {
2659
+ "type": "number"
2660
+ }
2661
+ },
2662
+ "interaction": {
2663
+ "type": "object",
2664
+ "properties": {
2665
+ "action_type": {
2666
+ "type": "string",
2667
+ "enum": [
2668
+ "toggle_elements",
2669
+ "none"
2670
+ ]
2671
+ },
2672
+ "target": {
2673
+ "type": "object",
2674
+ "properties": {
2675
+ "hide_slots": {
2676
+ "type": "array",
2677
+ "items": {
2678
+ "type": "string",
2679
+ "maxLength": 128
2680
+ }
2681
+ },
2682
+ "show_slots": {
2683
+ "type": "array",
2684
+ "items": {
2685
+ "type": "string",
2686
+ "maxLength": 128
2687
+ }
2688
+ }
2689
+ },
2690
+ "required": [
2691
+ "hide_slots",
2692
+ "show_slots"
2693
+ ]
2694
+ }
2695
+ },
2696
+ "required": [
2697
+ "action_type"
2698
+ ]
2699
+ }
2700
+ }
2701
+ }