rtistree 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/LICENSE +21 -0
  3. package/README.md +99 -0
  4. package/THIRD_PARTY_NOTICES.md +25 -0
  5. package/dist/art-direction.d.ts +77 -0
  6. package/dist/art-direction.js +186 -0
  7. package/dist/art-direction.js.map +1 -0
  8. package/dist/artifacts.d.ts +24 -0
  9. package/dist/artifacts.js +49 -0
  10. package/dist/artifacts.js.map +1 -0
  11. package/dist/assets.d.ts +16 -0
  12. package/dist/assets.js +96 -0
  13. package/dist/assets.js.map +1 -0
  14. package/dist/benchmark.d.ts +76 -0
  15. package/dist/benchmark.js +118 -0
  16. package/dist/benchmark.js.map +1 -0
  17. package/dist/cli.d.ts +2 -0
  18. package/dist/cli.js +300 -0
  19. package/dist/cli.js.map +1 -0
  20. package/dist/commands.d.ts +5315 -0
  21. package/dist/commands.js +591 -0
  22. package/dist/commands.js.map +1 -0
  23. package/dist/components.d.ts +20 -0
  24. package/dist/components.js +98 -0
  25. package/dist/components.js.map +1 -0
  26. package/dist/construction.d.ts +53 -0
  27. package/dist/construction.js +80 -0
  28. package/dist/construction.js.map +1 -0
  29. package/dist/critique.d.ts +44 -0
  30. package/dist/critique.js +45 -0
  31. package/dist/critique.js.map +1 -0
  32. package/dist/detail.d.ts +5 -0
  33. package/dist/detail.js +52 -0
  34. package/dist/detail.js.map +1 -0
  35. package/dist/document.d.ts +64 -0
  36. package/dist/document.js +56 -0
  37. package/dist/document.js.map +1 -0
  38. package/dist/export.d.ts +405 -0
  39. package/dist/export.js +344 -0
  40. package/dist/export.js.map +1 -0
  41. package/dist/font-inspection.d.ts +8 -0
  42. package/dist/font-inspection.js +34 -0
  43. package/dist/font-inspection.js.map +1 -0
  44. package/dist/graphics.d.ts +9 -0
  45. package/dist/graphics.js +72 -0
  46. package/dist/graphics.js.map +1 -0
  47. package/dist/history-storage.d.ts +10 -0
  48. package/dist/history-storage.js +59 -0
  49. package/dist/history-storage.js.map +1 -0
  50. package/dist/index.d.ts +27 -0
  51. package/dist/index.js +28 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/layout.d.ts +18 -0
  54. package/dist/layout.js +155 -0
  55. package/dist/layout.js.map +1 -0
  56. package/dist/loader.d.ts +9 -0
  57. package/dist/loader.js +108 -0
  58. package/dist/loader.js.map +1 -0
  59. package/dist/mcp.d.ts +4 -0
  60. package/dist/mcp.js +223 -0
  61. package/dist/mcp.js.map +1 -0
  62. package/dist/merge.d.ts +6 -0
  63. package/dist/merge.js +49 -0
  64. package/dist/merge.js.map +1 -0
  65. package/dist/native.d.ts +3 -0
  66. package/dist/native.js +6 -0
  67. package/dist/native.js.map +1 -0
  68. package/dist/paint.d.ts +9 -0
  69. package/dist/paint.js +331 -0
  70. package/dist/paint.js.map +1 -0
  71. package/dist/path-edit.d.ts +20 -0
  72. package/dist/path-edit.js +30 -0
  73. package/dist/path-edit.js.map +1 -0
  74. package/dist/pdf-output.d.ts +21 -0
  75. package/dist/pdf-output.js +297 -0
  76. package/dist/pdf-output.js.map +1 -0
  77. package/dist/pipeline.d.ts +39 -0
  78. package/dist/pipeline.js +227 -0
  79. package/dist/pipeline.js.map +1 -0
  80. package/dist/print-scene.d.ts +490 -0
  81. package/dist/print-scene.js +55 -0
  82. package/dist/print-scene.js.map +1 -0
  83. package/dist/production-workflow.d.ts +251 -0
  84. package/dist/production-workflow.js +335 -0
  85. package/dist/production-workflow.js.map +1 -0
  86. package/dist/program-worker.d.ts +1 -0
  87. package/dist/program-worker.js +31 -0
  88. package/dist/program-worker.js.map +1 -0
  89. package/dist/program.d.ts +85 -0
  90. package/dist/program.js +246 -0
  91. package/dist/program.js.map +1 -0
  92. package/dist/project-config.d.ts +91 -0
  93. package/dist/project-config.js +187 -0
  94. package/dist/project-config.js.map +1 -0
  95. package/dist/project.d.ts +897 -0
  96. package/dist/project.js +347 -0
  97. package/dist/project.js.map +1 -0
  98. package/dist/raster-edit.d.ts +61 -0
  99. package/dist/raster-edit.js +91 -0
  100. package/dist/raster-edit.js.map +1 -0
  101. package/dist/raster-studio.d.ts +84 -0
  102. package/dist/raster-studio.js +236 -0
  103. package/dist/raster-studio.js.map +1 -0
  104. package/dist/render.d.ts +79 -0
  105. package/dist/render.js +437 -0
  106. package/dist/render.js.map +1 -0
  107. package/dist/rich-text.d.ts +10 -0
  108. package/dist/rich-text.js +56 -0
  109. package/dist/rich-text.js.map +1 -0
  110. package/dist/schema.d.ts +1912 -0
  111. package/dist/schema.js +571 -0
  112. package/dist/schema.js.map +1 -0
  113. package/dist/spatial.d.ts +10 -0
  114. package/dist/spatial.js +29 -0
  115. package/dist/spatial.js.map +1 -0
  116. package/dist/studio-reference.d.ts +153 -0
  117. package/dist/studio-reference.js +39 -0
  118. package/dist/studio-reference.js.map +1 -0
  119. package/dist/svg.d.ts +5 -0
  120. package/dist/svg.js +315 -0
  121. package/dist/svg.js.map +1 -0
  122. package/dist/techniques.d.ts +74 -0
  123. package/dist/techniques.js +164 -0
  124. package/dist/techniques.js.map +1 -0
  125. package/dist/verify.d.ts +36 -0
  126. package/dist/verify.js +277 -0
  127. package/dist/verify.js.map +1 -0
  128. package/dist/viewport.d.ts +3 -0
  129. package/dist/viewport.js +71 -0
  130. package/dist/viewport.js.map +1 -0
  131. package/dist/workflow.d.ts +53 -0
  132. package/dist/workflow.js +66 -0
  133. package/dist/workflow.js.map +1 -0
  134. package/docs/agent-art-workflow.md +201 -0
  135. package/docs/agent-setup.md +83 -0
  136. package/docs/atelier.md +117 -0
  137. package/docs/cli-reference.md +61 -0
  138. package/docs/decisions/001-runtime-and-renderer.md +35 -0
  139. package/docs/decisions/002-composable-scenes-and-history.md +28 -0
  140. package/docs/decisions/003-editing-refinement-and-agent-validation.md +45 -0
  141. package/docs/decisions/004-print-production-and-projects.md +19 -0
  142. package/docs/decisions/005-programmable-digital-art.md +15 -0
  143. package/docs/decisions/006-staged-2d-art-production.md +13 -0
  144. package/docs/decisions/007-foundation-first-art-direction.md +13 -0
  145. package/docs/decisions/008-agent-onboarding-and-trial-lessons.md +48 -0
  146. package/docs/engine-overview.md +174 -0
  147. package/docs/evolution.md +179 -0
  148. package/docs/getting-started.md +107 -0
  149. package/docs/next-milestone.md +61 -0
  150. package/docs/previews/a3-production.json +36 -0
  151. package/docs/previews/benchmark.json +42 -0
  152. package/docs/previews/landscape.png +0 -0
  153. package/docs/previews/performance.json +24 -0
  154. package/docs/previews/poster.png +0 -0
  155. package/docs/production.md +107 -0
  156. package/docs/releasing.md +60 -0
  157. package/docs/scene-format.md +126 -0
  158. package/docs/studio.md +108 -0
  159. package/examples/hello/README.md +14 -0
  160. package/examples/hello/refine.json +10 -0
  161. package/examples/hello/render.mjs +9 -0
  162. package/examples/hello/scene.json +19 -0
  163. package/licenses/DM-Serif-Display-OFL.txt +93 -0
  164. package/licenses/Inter-OFL.txt +93 -0
  165. package/package.json +84 -0
  166. package/schemas/authoring.schema.json +2177 -0
  167. package/schemas/brief.schema.json +57 -0
  168. package/schemas/command.schema.json +3154 -0
  169. package/schemas/construction.schema.json +159 -0
  170. package/schemas/critique.schema.json +101 -0
  171. package/schemas/document.schema.json +41 -0
  172. package/schemas/export.schema.json +89 -0
  173. package/schemas/fragment.schema.json +1861 -0
  174. package/schemas/patch.schema.json +3177 -0
  175. package/schemas/pipeline.schema.json +205 -0
  176. package/schemas/production.schema.json +452 -0
  177. package/schemas/program.schema.json +152 -0
  178. package/schemas/project.schema.json +115 -0
  179. package/schemas/raster-read.schema.json +42 -0
  180. package/schemas/raster-write.schema.json +75 -0
  181. package/schemas/scene.schema.json +2014 -0
@@ -0,0 +1,1861 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "include": {
6
+ "maxItems": 128,
7
+ "type": "array",
8
+ "items": {
9
+ "$ref": "#/$defs/__schema0"
10
+ }
11
+ },
12
+ "components": {
13
+ "type": "object",
14
+ "propertyNames": {
15
+ "type": "string"
16
+ },
17
+ "additionalProperties": {
18
+ "type": "object",
19
+ "properties": {
20
+ "parameters": {
21
+ "default": {},
22
+ "type": "object",
23
+ "propertyNames": {
24
+ "type": "string"
25
+ },
26
+ "additionalProperties": {
27
+ "$ref": "#/$defs/__schema1"
28
+ }
29
+ },
30
+ "layers": {
31
+ "minItems": 1,
32
+ "type": "array",
33
+ "items": {
34
+ "$ref": "#/$defs/__schema2"
35
+ }
36
+ }
37
+ },
38
+ "required": ["parameters", "layers"],
39
+ "additionalProperties": false
40
+ }
41
+ },
42
+ "fonts": {
43
+ "type": "object",
44
+ "propertyNames": {
45
+ "$ref": "#/$defs/__schema3"
46
+ },
47
+ "additionalProperties": {
48
+ "type": "object",
49
+ "properties": {
50
+ "source": {
51
+ "type": "string",
52
+ "minLength": 1
53
+ },
54
+ "hash": {
55
+ "type": "string",
56
+ "pattern": "^sha256:[a-f0-9]{64}$"
57
+ }
58
+ },
59
+ "required": ["source"],
60
+ "additionalProperties": false
61
+ }
62
+ },
63
+ "assets": {
64
+ "default": {},
65
+ "type": "object",
66
+ "propertyNames": {
67
+ "$ref": "#/$defs/__schema3"
68
+ },
69
+ "additionalProperties": {
70
+ "type": "object",
71
+ "properties": {
72
+ "recipe": {
73
+ "type": "object",
74
+ "properties": {
75
+ "source": {
76
+ "type": "string",
77
+ "minLength": 1
78
+ },
79
+ "hash": {
80
+ "type": "string",
81
+ "pattern": "^sha256:[a-f0-9]{64}$"
82
+ }
83
+ },
84
+ "required": ["source", "hash"],
85
+ "additionalProperties": false
86
+ },
87
+ "type": {
88
+ "default": "image",
89
+ "type": "string",
90
+ "enum": ["image", "generated-image"]
91
+ },
92
+ "source": {
93
+ "type": "string",
94
+ "minLength": 1,
95
+ "maxLength": 2048
96
+ },
97
+ "hash": {
98
+ "type": "string",
99
+ "pattern": "^sha256:[a-f0-9]{64}$"
100
+ }
101
+ },
102
+ "required": ["type", "source"],
103
+ "additionalProperties": false
104
+ }
105
+ },
106
+ "layers": {
107
+ "type": "array",
108
+ "items": {
109
+ "$ref": "#/$defs/__schema4"
110
+ }
111
+ }
112
+ },
113
+ "additionalProperties": false,
114
+ "$defs": {
115
+ "__schema0": {
116
+ "type": "string",
117
+ "minLength": 1
118
+ },
119
+ "__schema1": {
120
+ "anyOf": [
121
+ {
122
+ "type": "string"
123
+ },
124
+ {
125
+ "type": "number"
126
+ },
127
+ {
128
+ "type": "boolean"
129
+ },
130
+ {
131
+ "type": "null"
132
+ },
133
+ {
134
+ "type": "array",
135
+ "items": {
136
+ "$ref": "#/$defs/__schema1"
137
+ }
138
+ },
139
+ {
140
+ "type": "object",
141
+ "propertyNames": {
142
+ "type": "string"
143
+ },
144
+ "additionalProperties": {
145
+ "$ref": "#/$defs/__schema1"
146
+ }
147
+ }
148
+ ]
149
+ },
150
+ "__schema2": {
151
+ "type": "object",
152
+ "propertyNames": {
153
+ "type": "string"
154
+ },
155
+ "additionalProperties": {}
156
+ },
157
+ "__schema3": {
158
+ "type": "string",
159
+ "pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,79}$"
160
+ },
161
+ "__schema4": {
162
+ "anyOf": [
163
+ {
164
+ "type": "object",
165
+ "properties": {
166
+ "use": {
167
+ "type": "string"
168
+ },
169
+ "id": {
170
+ "type": "string"
171
+ },
172
+ "params": {
173
+ "default": {},
174
+ "type": "object",
175
+ "propertyNames": {
176
+ "type": "string"
177
+ },
178
+ "additionalProperties": {
179
+ "$ref": "#/$defs/__schema5"
180
+ }
181
+ },
182
+ "bounds": {
183
+ "type": "array",
184
+ "prefixItems": [
185
+ {
186
+ "type": "number"
187
+ },
188
+ {
189
+ "type": "number"
190
+ },
191
+ {
192
+ "type": "number",
193
+ "exclusiveMinimum": 0
194
+ },
195
+ {
196
+ "type": "number",
197
+ "exclusiveMinimum": 0
198
+ }
199
+ ],
200
+ "items": false,
201
+ "minItems": 4,
202
+ "maxItems": 4
203
+ },
204
+ "role": {
205
+ "type": "string"
206
+ },
207
+ "z": {
208
+ "type": "number"
209
+ },
210
+ "transform": {}
211
+ },
212
+ "required": ["use", "id", "params"],
213
+ "additionalProperties": false
214
+ },
215
+ {
216
+ "type": "object",
217
+ "properties": {
218
+ "id": {
219
+ "$ref": "#/$defs/__schema3"
220
+ },
221
+ "name": {
222
+ "type": "string",
223
+ "maxLength": 256
224
+ },
225
+ "role": {
226
+ "type": "string",
227
+ "maxLength": 80
228
+ },
229
+ "type": {
230
+ "type": "string",
231
+ "enum": [
232
+ "group",
233
+ "vector",
234
+ "text",
235
+ "asset",
236
+ "generated-asset",
237
+ "procedural",
238
+ "raster",
239
+ "adjustment"
240
+ ]
241
+ },
242
+ "visible": {
243
+ "default": true,
244
+ "type": "boolean"
245
+ },
246
+ "opacity": {
247
+ "default": 1,
248
+ "$ref": "#/$defs/__schema6"
249
+ },
250
+ "blend_mode": {
251
+ "default": "normal",
252
+ "type": "string",
253
+ "enum": [
254
+ "normal",
255
+ "multiply",
256
+ "screen",
257
+ "overlay",
258
+ "darken",
259
+ "lighten",
260
+ "difference",
261
+ "soft-light",
262
+ "hard-light"
263
+ ]
264
+ },
265
+ "z": {
266
+ "default": 0,
267
+ "$ref": "#/$defs/__schema7"
268
+ },
269
+ "bounds": {
270
+ "$ref": "#/$defs/__schema8"
271
+ },
272
+ "width": {
273
+ "$ref": "#/$defs/__schema10"
274
+ },
275
+ "aspect_ratio": {
276
+ "type": "number",
277
+ "exclusiveMinimum": 0,
278
+ "maximum": 100,
279
+ "$ref": "#/$defs/__schema7"
280
+ },
281
+ "grow": {
282
+ "type": "number",
283
+ "minimum": 0,
284
+ "maximum": 100,
285
+ "$ref": "#/$defs/__schema7"
286
+ },
287
+ "height": {
288
+ "$ref": "#/$defs/__schema10"
289
+ },
290
+ "anchor": {
291
+ "default": "top-left",
292
+ "type": "string",
293
+ "enum": ["top-left", "center", "top-right", "bottom-left", "bottom-right"]
294
+ },
295
+ "affine": {
296
+ "type": "array",
297
+ "prefixItems": [
298
+ {
299
+ "$ref": "#/$defs/__schema7"
300
+ },
301
+ {
302
+ "$ref": "#/$defs/__schema7"
303
+ },
304
+ {
305
+ "$ref": "#/$defs/__schema7"
306
+ },
307
+ {
308
+ "$ref": "#/$defs/__schema7"
309
+ },
310
+ {
311
+ "$ref": "#/$defs/__schema7"
312
+ },
313
+ {
314
+ "$ref": "#/$defs/__schema7"
315
+ }
316
+ ],
317
+ "items": false,
318
+ "minItems": 6,
319
+ "maxItems": 6
320
+ },
321
+ "transform": {
322
+ "type": "object",
323
+ "properties": {
324
+ "rotation": {
325
+ "default": 0,
326
+ "$ref": "#/$defs/__schema7"
327
+ },
328
+ "scale": {
329
+ "default": [1, 1],
330
+ "type": "array",
331
+ "prefixItems": [
332
+ {
333
+ "type": "number",
334
+ "exclusiveMinimum": 0,
335
+ "maximum": 100,
336
+ "$ref": "#/$defs/__schema7"
337
+ },
338
+ {
339
+ "type": "number",
340
+ "exclusiveMinimum": 0,
341
+ "maximum": 100,
342
+ "$ref": "#/$defs/__schema7"
343
+ }
344
+ ],
345
+ "items": false,
346
+ "minItems": 2,
347
+ "maxItems": 2
348
+ }
349
+ },
350
+ "required": ["rotation", "scale"],
351
+ "additionalProperties": false
352
+ },
353
+ "layout": {
354
+ "type": "object",
355
+ "properties": {
356
+ "type": {
357
+ "default": "absolute",
358
+ "type": "string",
359
+ "enum": ["absolute", "horizontal", "vertical"]
360
+ },
361
+ "justify": {
362
+ "type": "string",
363
+ "enum": ["start", "center", "end", "space-between"]
364
+ },
365
+ "padding": {
366
+ "default": 0,
367
+ "type": "number",
368
+ "minimum": 0,
369
+ "maximum": 4096,
370
+ "$ref": "#/$defs/__schema7"
371
+ },
372
+ "gap": {
373
+ "default": 0,
374
+ "type": "number",
375
+ "minimum": 0,
376
+ "maximum": 4096,
377
+ "$ref": "#/$defs/__schema7"
378
+ },
379
+ "align": {
380
+ "default": "start",
381
+ "type": "string",
382
+ "enum": ["start", "center", "end"]
383
+ }
384
+ },
385
+ "required": ["type", "padding", "gap", "align"],
386
+ "additionalProperties": false
387
+ },
388
+ "shape": {
389
+ "oneOf": [
390
+ {
391
+ "type": "object",
392
+ "properties": {
393
+ "type": {
394
+ "type": "string",
395
+ "const": "rectangle"
396
+ },
397
+ "fill": {
398
+ "$ref": "#/$defs/__schema11"
399
+ },
400
+ "radius": {
401
+ "default": 0,
402
+ "type": "number",
403
+ "minimum": 0,
404
+ "maximum": 4096,
405
+ "$ref": "#/$defs/__schema7"
406
+ },
407
+ "stroke": {
408
+ "$ref": "#/$defs/__schema11"
409
+ },
410
+ "stroke_width": {
411
+ "default": 1,
412
+ "type": "number",
413
+ "minimum": 0,
414
+ "maximum": 256,
415
+ "$ref": "#/$defs/__schema7"
416
+ },
417
+ "line_cap": {
418
+ "$ref": "#/$defs/__schema12"
419
+ },
420
+ "line_join": {
421
+ "$ref": "#/$defs/__schema13"
422
+ },
423
+ "dash": {
424
+ "$ref": "#/$defs/__schema14"
425
+ },
426
+ "dash_offset": {
427
+ "$ref": "#/$defs/__schema16"
428
+ }
429
+ },
430
+ "required": ["type", "fill", "radius", "stroke_width"],
431
+ "additionalProperties": false
432
+ },
433
+ {
434
+ "type": "object",
435
+ "properties": {
436
+ "type": {
437
+ "type": "string",
438
+ "const": "ellipse"
439
+ },
440
+ "fill": {
441
+ "$ref": "#/$defs/__schema11"
442
+ },
443
+ "stroke": {
444
+ "$ref": "#/$defs/__schema11"
445
+ },
446
+ "stroke_width": {
447
+ "default": 1,
448
+ "type": "number",
449
+ "minimum": 0,
450
+ "maximum": 256,
451
+ "$ref": "#/$defs/__schema7"
452
+ },
453
+ "line_cap": {
454
+ "$ref": "#/$defs/__schema12"
455
+ },
456
+ "line_join": {
457
+ "$ref": "#/$defs/__schema13"
458
+ },
459
+ "dash": {
460
+ "$ref": "#/$defs/__schema14"
461
+ },
462
+ "dash_offset": {
463
+ "$ref": "#/$defs/__schema16"
464
+ }
465
+ },
466
+ "required": ["type", "fill", "stroke_width"],
467
+ "additionalProperties": false
468
+ },
469
+ {
470
+ "type": "object",
471
+ "properties": {
472
+ "type": {
473
+ "type": "string",
474
+ "const": "path"
475
+ },
476
+ "d": {
477
+ "type": "string",
478
+ "minLength": 1,
479
+ "maxLength": 100000
480
+ },
481
+ "fill": {
482
+ "$ref": "#/$defs/__schema11"
483
+ },
484
+ "stroke": {
485
+ "$ref": "#/$defs/__schema11"
486
+ },
487
+ "stroke_width": {
488
+ "default": 1,
489
+ "type": "number",
490
+ "minimum": 0,
491
+ "maximum": 256,
492
+ "$ref": "#/$defs/__schema7"
493
+ },
494
+ "line_cap": {
495
+ "$ref": "#/$defs/__schema12"
496
+ },
497
+ "line_join": {
498
+ "$ref": "#/$defs/__schema13"
499
+ },
500
+ "dash": {
501
+ "$ref": "#/$defs/__schema14"
502
+ },
503
+ "dash_offset": {
504
+ "$ref": "#/$defs/__schema16"
505
+ }
506
+ },
507
+ "required": ["type", "d", "fill", "stroke_width"],
508
+ "additionalProperties": false
509
+ }
510
+ ]
511
+ },
512
+ "content": {
513
+ "type": "string",
514
+ "maxLength": 50000
515
+ },
516
+ "runs": {
517
+ "maxItems": 256,
518
+ "type": "array",
519
+ "items": {
520
+ "$ref": "#/$defs/__schema17"
521
+ }
522
+ },
523
+ "paragraph_style": {
524
+ "$ref": "#/$defs/__schema3"
525
+ },
526
+ "crop": {
527
+ "$ref": "#/$defs/__schema8"
528
+ },
529
+ "focal_point": {
530
+ "type": "array",
531
+ "prefixItems": [
532
+ {
533
+ "$ref": "#/$defs/__schema6"
534
+ },
535
+ {
536
+ "$ref": "#/$defs/__schema6"
537
+ }
538
+ ],
539
+ "items": false,
540
+ "minItems": 2,
541
+ "maxItems": 2
542
+ },
543
+ "perspective": {
544
+ "type": "array",
545
+ "prefixItems": [
546
+ {
547
+ "$ref": "#/$defs/__schema18"
548
+ },
549
+ {
550
+ "$ref": "#/$defs/__schema18"
551
+ },
552
+ {
553
+ "$ref": "#/$defs/__schema18"
554
+ },
555
+ {
556
+ "$ref": "#/$defs/__schema18"
557
+ }
558
+ ],
559
+ "items": false,
560
+ "minItems": 4,
561
+ "maxItems": 4
562
+ },
563
+ "style": {
564
+ "type": "object",
565
+ "properties": {
566
+ "font": {
567
+ "default": "inter",
568
+ "$ref": "#/$defs/__schema3"
569
+ },
570
+ "size": {
571
+ "default": 32,
572
+ "type": "number",
573
+ "exclusiveMinimum": 0,
574
+ "maximum": 1024,
575
+ "$ref": "#/$defs/__schema7"
576
+ },
577
+ "weight": {
578
+ "default": "regular",
579
+ "type": "string",
580
+ "enum": ["regular", "bold"]
581
+ },
582
+ "colour": {
583
+ "default": "#ffffff",
584
+ "$ref": "#/$defs/__schema11"
585
+ },
586
+ "line_height": {
587
+ "default": 1.2,
588
+ "type": "number",
589
+ "exclusiveMinimum": 0,
590
+ "maximum": 5,
591
+ "$ref": "#/$defs/__schema7"
592
+ },
593
+ "align": {
594
+ "default": "left",
595
+ "type": "string",
596
+ "enum": ["left", "center", "right"]
597
+ },
598
+ "tracking": {
599
+ "type": "number",
600
+ "minimum": -20,
601
+ "maximum": 200,
602
+ "$ref": "#/$defs/__schema7"
603
+ },
604
+ "kerning": {
605
+ "type": "boolean"
606
+ }
607
+ },
608
+ "required": ["font", "size", "weight", "colour", "line_height", "align"],
609
+ "additionalProperties": false
610
+ },
611
+ "source": {
612
+ "$ref": "#/$defs/__schema3"
613
+ },
614
+ "fit": {
615
+ "default": "contain",
616
+ "type": "string",
617
+ "enum": ["contain", "cover", "stretch"]
618
+ },
619
+ "generator": {
620
+ "oneOf": [
621
+ {
622
+ "type": "object",
623
+ "properties": {
624
+ "type": {
625
+ "type": "string",
626
+ "const": "solid"
627
+ },
628
+ "colour": {
629
+ "$ref": "#/$defs/__schema11"
630
+ }
631
+ },
632
+ "required": ["type", "colour"],
633
+ "additionalProperties": false
634
+ },
635
+ {
636
+ "type": "object",
637
+ "properties": {
638
+ "type": {
639
+ "type": "string",
640
+ "const": "gradient"
641
+ },
642
+ "from": {
643
+ "$ref": "#/$defs/__schema11"
644
+ },
645
+ "to": {
646
+ "$ref": "#/$defs/__schema11"
647
+ },
648
+ "angle": {
649
+ "default": 90,
650
+ "$ref": "#/$defs/__schema7"
651
+ }
652
+ },
653
+ "required": ["type", "from", "to", "angle"],
654
+ "additionalProperties": false
655
+ },
656
+ {
657
+ "type": "object",
658
+ "properties": {
659
+ "type": {
660
+ "type": "string",
661
+ "const": "noise"
662
+ },
663
+ "seed": {
664
+ "type": "integer",
665
+ "minimum": 0,
666
+ "maximum": 4294967295
667
+ },
668
+ "amount": {
669
+ "$ref": "#/$defs/__schema6"
670
+ },
671
+ "colour": {
672
+ "default": "#808080",
673
+ "$ref": "#/$defs/__schema11"
674
+ }
675
+ },
676
+ "required": ["type", "seed", "amount", "colour"],
677
+ "additionalProperties": false
678
+ }
679
+ ]
680
+ },
681
+ "mask": {
682
+ "$ref": "#/$defs/__schema19"
683
+ },
684
+ "effects": {
685
+ "default": [],
686
+ "maxItems": 16,
687
+ "type": "array",
688
+ "items": {
689
+ "$ref": "#/$defs/__schema22"
690
+ }
691
+ },
692
+ "operations": {
693
+ "default": [],
694
+ "maxItems": 1000,
695
+ "type": "array",
696
+ "items": {
697
+ "$ref": "#/$defs/__schema23"
698
+ }
699
+ },
700
+ "regions": {
701
+ "maxItems": 256,
702
+ "type": "array",
703
+ "items": {
704
+ "$ref": "#/$defs/__schema27"
705
+ }
706
+ },
707
+ "tiles": {
708
+ "default": [],
709
+ "maxItems": 4096,
710
+ "type": "array",
711
+ "items": {
712
+ "$ref": "#/$defs/__schema28"
713
+ }
714
+ },
715
+ "children": {
716
+ "type": "array",
717
+ "items": {
718
+ "$ref": "#/$defs/__schema4"
719
+ }
720
+ }
721
+ },
722
+ "required": [
723
+ "id",
724
+ "type",
725
+ "visible",
726
+ "opacity",
727
+ "blend_mode",
728
+ "z",
729
+ "anchor",
730
+ "fit",
731
+ "effects",
732
+ "operations",
733
+ "tiles"
734
+ ],
735
+ "additionalProperties": false
736
+ }
737
+ ]
738
+ },
739
+ "__schema5": {
740
+ "anyOf": [
741
+ {
742
+ "type": "string"
743
+ },
744
+ {
745
+ "type": "number"
746
+ },
747
+ {
748
+ "type": "boolean"
749
+ },
750
+ {
751
+ "type": "null"
752
+ },
753
+ {
754
+ "type": "array",
755
+ "items": {
756
+ "$ref": "#/$defs/__schema5"
757
+ }
758
+ },
759
+ {
760
+ "type": "object",
761
+ "propertyNames": {
762
+ "type": "string"
763
+ },
764
+ "additionalProperties": {
765
+ "$ref": "#/$defs/__schema5"
766
+ }
767
+ }
768
+ ]
769
+ },
770
+ "__schema6": {
771
+ "type": "number",
772
+ "minimum": 0,
773
+ "maximum": 1,
774
+ "$ref": "#/$defs/__schema7"
775
+ },
776
+ "__schema7": {
777
+ "type": "number"
778
+ },
779
+ "__schema8": {
780
+ "type": "array",
781
+ "prefixItems": [
782
+ {
783
+ "$ref": "#/$defs/__schema7"
784
+ },
785
+ {
786
+ "$ref": "#/$defs/__schema7"
787
+ },
788
+ {
789
+ "$ref": "#/$defs/__schema9"
790
+ },
791
+ {
792
+ "$ref": "#/$defs/__schema9"
793
+ }
794
+ ],
795
+ "items": false,
796
+ "minItems": 4,
797
+ "maxItems": 4
798
+ },
799
+ "__schema9": {
800
+ "type": "number",
801
+ "exclusiveMinimum": 0,
802
+ "maximum": 8192,
803
+ "$ref": "#/$defs/__schema7"
804
+ },
805
+ "__schema10": {
806
+ "anyOf": [
807
+ {
808
+ "$ref": "#/$defs/__schema9"
809
+ },
810
+ {
811
+ "type": "string",
812
+ "pattern": "^(?:100|\\d{1,2})(?:\\.\\d+)?%$"
813
+ }
814
+ ]
815
+ },
816
+ "__schema11": {
817
+ "type": "string",
818
+ "pattern": "^#(?:[\\da-fA-F]{6}|[\\da-fA-F]{8})$"
819
+ },
820
+ "__schema12": {
821
+ "type": "string",
822
+ "enum": ["butt", "round", "square"]
823
+ },
824
+ "__schema13": {
825
+ "type": "string",
826
+ "enum": ["miter", "round", "bevel"]
827
+ },
828
+ "__schema14": {
829
+ "maxItems": 32,
830
+ "type": "array",
831
+ "items": {
832
+ "$ref": "#/$defs/__schema15"
833
+ }
834
+ },
835
+ "__schema15": {
836
+ "type": "number",
837
+ "minimum": 0,
838
+ "maximum": 10000,
839
+ "$ref": "#/$defs/__schema7"
840
+ },
841
+ "__schema16": {
842
+ "$ref": "#/$defs/__schema7"
843
+ },
844
+ "__schema17": {
845
+ "type": "object",
846
+ "properties": {
847
+ "text": {
848
+ "type": "string"
849
+ },
850
+ "colour": {
851
+ "$ref": "#/$defs/__schema11"
852
+ },
853
+ "weight": {
854
+ "type": "string",
855
+ "enum": ["regular", "bold"]
856
+ }
857
+ },
858
+ "required": ["text"],
859
+ "additionalProperties": false
860
+ },
861
+ "__schema18": {
862
+ "type": "array",
863
+ "prefixItems": [
864
+ {
865
+ "$ref": "#/$defs/__schema7"
866
+ },
867
+ {
868
+ "$ref": "#/$defs/__schema7"
869
+ }
870
+ ],
871
+ "items": false,
872
+ "minItems": 2,
873
+ "maxItems": 2
874
+ },
875
+ "__schema19": {
876
+ "anyOf": [
877
+ {
878
+ "oneOf": [
879
+ {
880
+ "type": "object",
881
+ "properties": {
882
+ "type": {
883
+ "type": "string",
884
+ "const": "path"
885
+ },
886
+ "d": {
887
+ "type": "string",
888
+ "minLength": 1,
889
+ "maxLength": 100000
890
+ },
891
+ "space": {
892
+ "$ref": "#/$defs/__schema20"
893
+ },
894
+ "reference_size": {
895
+ "$ref": "#/$defs/__schema21"
896
+ },
897
+ "feather": {
898
+ "default": 0,
899
+ "type": "number",
900
+ "minimum": 0,
901
+ "maximum": 128,
902
+ "$ref": "#/$defs/__schema7"
903
+ },
904
+ "expand": {
905
+ "type": "number",
906
+ "minimum": -128,
907
+ "maximum": 128,
908
+ "$ref": "#/$defs/__schema7"
909
+ },
910
+ "invert": {
911
+ "type": "boolean"
912
+ }
913
+ },
914
+ "required": ["type", "d", "feather"],
915
+ "additionalProperties": false
916
+ },
917
+ {
918
+ "type": "object",
919
+ "properties": {
920
+ "type": {
921
+ "type": "string",
922
+ "const": "rectangle"
923
+ },
924
+ "bounds": {
925
+ "$ref": "#/$defs/__schema8"
926
+ },
927
+ "space": {
928
+ "$ref": "#/$defs/__schema20"
929
+ },
930
+ "reference_size": {
931
+ "$ref": "#/$defs/__schema21"
932
+ },
933
+ "expand": {
934
+ "type": "number",
935
+ "minimum": -128,
936
+ "maximum": 128,
937
+ "$ref": "#/$defs/__schema7"
938
+ },
939
+ "invert": {
940
+ "type": "boolean"
941
+ },
942
+ "feather": {
943
+ "default": 0,
944
+ "type": "number",
945
+ "minimum": 0,
946
+ "maximum": 128,
947
+ "$ref": "#/$defs/__schema7"
948
+ }
949
+ },
950
+ "required": ["type", "bounds", "feather"],
951
+ "additionalProperties": false
952
+ },
953
+ {
954
+ "type": "object",
955
+ "properties": {
956
+ "type": {
957
+ "type": "string",
958
+ "const": "ellipse"
959
+ },
960
+ "bounds": {
961
+ "$ref": "#/$defs/__schema8"
962
+ },
963
+ "space": {
964
+ "$ref": "#/$defs/__schema20"
965
+ },
966
+ "reference_size": {
967
+ "$ref": "#/$defs/__schema21"
968
+ },
969
+ "expand": {
970
+ "type": "number",
971
+ "minimum": -128,
972
+ "maximum": 128,
973
+ "$ref": "#/$defs/__schema7"
974
+ },
975
+ "invert": {
976
+ "type": "boolean"
977
+ },
978
+ "feather": {
979
+ "default": 0,
980
+ "type": "number",
981
+ "minimum": 0,
982
+ "maximum": 128,
983
+ "$ref": "#/$defs/__schema7"
984
+ }
985
+ },
986
+ "required": ["type", "bounds", "feather"],
987
+ "additionalProperties": false
988
+ },
989
+ {
990
+ "type": "object",
991
+ "properties": {
992
+ "type": {
993
+ "type": "string",
994
+ "const": "polygon"
995
+ },
996
+ "points": {
997
+ "minItems": 3,
998
+ "maxItems": 4096,
999
+ "type": "array",
1000
+ "items": {
1001
+ "$ref": "#/$defs/__schema18"
1002
+ }
1003
+ },
1004
+ "space": {
1005
+ "$ref": "#/$defs/__schema20"
1006
+ },
1007
+ "reference_size": {
1008
+ "$ref": "#/$defs/__schema21"
1009
+ },
1010
+ "expand": {
1011
+ "type": "number",
1012
+ "minimum": -128,
1013
+ "maximum": 128,
1014
+ "$ref": "#/$defs/__schema7"
1015
+ },
1016
+ "invert": {
1017
+ "type": "boolean"
1018
+ },
1019
+ "feather": {
1020
+ "default": 0,
1021
+ "type": "number",
1022
+ "minimum": 0,
1023
+ "maximum": 128,
1024
+ "$ref": "#/$defs/__schema7"
1025
+ }
1026
+ },
1027
+ "required": ["type", "points", "feather"],
1028
+ "additionalProperties": false
1029
+ },
1030
+ {
1031
+ "type": "object",
1032
+ "properties": {
1033
+ "type": {
1034
+ "type": "string",
1035
+ "const": "semantic-object"
1036
+ },
1037
+ "target": {
1038
+ "$ref": "#/$defs/__schema3"
1039
+ },
1040
+ "space": {
1041
+ "$ref": "#/$defs/__schema20"
1042
+ },
1043
+ "reference_size": {
1044
+ "$ref": "#/$defs/__schema21"
1045
+ },
1046
+ "expand": {
1047
+ "type": "number",
1048
+ "minimum": -128,
1049
+ "maximum": 128,
1050
+ "$ref": "#/$defs/__schema7"
1051
+ },
1052
+ "invert": {
1053
+ "type": "boolean"
1054
+ },
1055
+ "feather": {
1056
+ "default": 0,
1057
+ "type": "number",
1058
+ "minimum": 0,
1059
+ "maximum": 128,
1060
+ "$ref": "#/$defs/__schema7"
1061
+ }
1062
+ },
1063
+ "required": ["type", "target", "feather"],
1064
+ "additionalProperties": false
1065
+ }
1066
+ ]
1067
+ },
1068
+ {
1069
+ "type": "object",
1070
+ "properties": {
1071
+ "type": {
1072
+ "type": "string",
1073
+ "const": "combine"
1074
+ },
1075
+ "operation": {
1076
+ "type": "string",
1077
+ "enum": ["union", "intersect", "subtract", "xor"]
1078
+ },
1079
+ "masks": {
1080
+ "minItems": 2,
1081
+ "maxItems": 16,
1082
+ "type": "array",
1083
+ "items": {
1084
+ "$ref": "#/$defs/__schema19"
1085
+ }
1086
+ },
1087
+ "space": {
1088
+ "$ref": "#/$defs/__schema20"
1089
+ },
1090
+ "reference_size": {
1091
+ "$ref": "#/$defs/__schema21"
1092
+ },
1093
+ "feather": {
1094
+ "default": 0,
1095
+ "type": "number",
1096
+ "minimum": 0,
1097
+ "maximum": 128,
1098
+ "$ref": "#/$defs/__schema7"
1099
+ },
1100
+ "expand": {
1101
+ "type": "number",
1102
+ "minimum": -128,
1103
+ "maximum": 128,
1104
+ "$ref": "#/$defs/__schema7"
1105
+ },
1106
+ "invert": {
1107
+ "type": "boolean"
1108
+ }
1109
+ },
1110
+ "required": ["type", "operation", "masks", "feather"],
1111
+ "additionalProperties": false
1112
+ },
1113
+ {
1114
+ "type": "object",
1115
+ "properties": {
1116
+ "type": {
1117
+ "type": "string",
1118
+ "const": "image"
1119
+ },
1120
+ "source": {
1121
+ "$ref": "#/$defs/__schema3"
1122
+ },
1123
+ "bounds": {
1124
+ "$ref": "#/$defs/__schema8"
1125
+ },
1126
+ "channel": {
1127
+ "default": "luma",
1128
+ "type": "string",
1129
+ "enum": ["alpha", "luma", "colour"]
1130
+ },
1131
+ "colour": {
1132
+ "$ref": "#/$defs/__schema11"
1133
+ },
1134
+ "tolerance": {
1135
+ "default": 0.1,
1136
+ "$ref": "#/$defs/__schema6"
1137
+ },
1138
+ "space": {
1139
+ "$ref": "#/$defs/__schema20"
1140
+ },
1141
+ "reference_size": {
1142
+ "$ref": "#/$defs/__schema21"
1143
+ },
1144
+ "feather": {
1145
+ "default": 0,
1146
+ "type": "number",
1147
+ "minimum": 0,
1148
+ "maximum": 128,
1149
+ "$ref": "#/$defs/__schema7"
1150
+ },
1151
+ "expand": {
1152
+ "type": "number",
1153
+ "minimum": -128,
1154
+ "maximum": 128,
1155
+ "$ref": "#/$defs/__schema7"
1156
+ },
1157
+ "invert": {
1158
+ "type": "boolean"
1159
+ }
1160
+ },
1161
+ "required": ["type", "source", "bounds", "channel", "tolerance", "feather"],
1162
+ "additionalProperties": false
1163
+ }
1164
+ ]
1165
+ },
1166
+ "__schema20": {
1167
+ "type": "string",
1168
+ "enum": ["canvas", "layer"]
1169
+ },
1170
+ "__schema21": {
1171
+ "type": "array",
1172
+ "prefixItems": [
1173
+ {
1174
+ "$ref": "#/$defs/__schema9"
1175
+ },
1176
+ {
1177
+ "$ref": "#/$defs/__schema9"
1178
+ }
1179
+ ],
1180
+ "items": false,
1181
+ "minItems": 2,
1182
+ "maxItems": 2
1183
+ },
1184
+ "__schema22": {
1185
+ "oneOf": [
1186
+ {
1187
+ "type": "object",
1188
+ "properties": {
1189
+ "type": {
1190
+ "type": "string",
1191
+ "const": "blur"
1192
+ },
1193
+ "radius": {
1194
+ "type": "number",
1195
+ "minimum": 0,
1196
+ "maximum": 128,
1197
+ "$ref": "#/$defs/__schema7"
1198
+ }
1199
+ },
1200
+ "required": ["type", "radius"],
1201
+ "additionalProperties": false
1202
+ }
1203
+ ]
1204
+ },
1205
+ "__schema23": {
1206
+ "oneOf": [
1207
+ {
1208
+ "type": "object",
1209
+ "properties": {
1210
+ "type": {
1211
+ "type": "string",
1212
+ "const": "levels"
1213
+ },
1214
+ "space": {
1215
+ "$ref": "#/$defs/__schema20"
1216
+ },
1217
+ "reference_size": {
1218
+ "$ref": "#/$defs/__schema21"
1219
+ },
1220
+ "bounds": {
1221
+ "$ref": "#/$defs/__schema8"
1222
+ },
1223
+ "mask": {
1224
+ "$ref": "#/$defs/__schema24"
1225
+ },
1226
+ "black": {
1227
+ "default": 0,
1228
+ "$ref": "#/$defs/__schema6"
1229
+ },
1230
+ "white": {
1231
+ "default": 1,
1232
+ "$ref": "#/$defs/__schema6"
1233
+ },
1234
+ "gamma": {
1235
+ "default": 1,
1236
+ "type": "number",
1237
+ "minimum": 0.1,
1238
+ "maximum": 10,
1239
+ "$ref": "#/$defs/__schema7"
1240
+ }
1241
+ },
1242
+ "required": ["type", "bounds", "black", "white", "gamma"],
1243
+ "additionalProperties": false
1244
+ },
1245
+ {
1246
+ "type": "object",
1247
+ "properties": {
1248
+ "type": {
1249
+ "type": "string",
1250
+ "const": "curves"
1251
+ },
1252
+ "space": {
1253
+ "$ref": "#/$defs/__schema20"
1254
+ },
1255
+ "reference_size": {
1256
+ "$ref": "#/$defs/__schema21"
1257
+ },
1258
+ "bounds": {
1259
+ "$ref": "#/$defs/__schema8"
1260
+ },
1261
+ "mask": {
1262
+ "$ref": "#/$defs/__schema24"
1263
+ },
1264
+ "channel": {
1265
+ "default": "rgb",
1266
+ "type": "string",
1267
+ "enum": ["rgb", "r", "g", "b"]
1268
+ },
1269
+ "points": {
1270
+ "minItems": 2,
1271
+ "maxItems": 32,
1272
+ "type": "array",
1273
+ "items": {
1274
+ "$ref": "#/$defs/__schema25"
1275
+ }
1276
+ }
1277
+ },
1278
+ "required": ["type", "bounds", "channel", "points"],
1279
+ "additionalProperties": false
1280
+ },
1281
+ {
1282
+ "type": "object",
1283
+ "properties": {
1284
+ "type": {
1285
+ "type": "string",
1286
+ "const": "whiteBalance"
1287
+ },
1288
+ "space": {
1289
+ "$ref": "#/$defs/__schema20"
1290
+ },
1291
+ "reference_size": {
1292
+ "$ref": "#/$defs/__schema21"
1293
+ },
1294
+ "bounds": {
1295
+ "$ref": "#/$defs/__schema8"
1296
+ },
1297
+ "mask": {
1298
+ "$ref": "#/$defs/__schema24"
1299
+ },
1300
+ "temperature": {
1301
+ "type": "number",
1302
+ "minimum": -1,
1303
+ "maximum": 1,
1304
+ "$ref": "#/$defs/__schema7"
1305
+ },
1306
+ "tint": {
1307
+ "default": 0,
1308
+ "type": "number",
1309
+ "minimum": -1,
1310
+ "maximum": 1,
1311
+ "$ref": "#/$defs/__schema7"
1312
+ }
1313
+ },
1314
+ "required": ["type", "bounds", "temperature", "tint"],
1315
+ "additionalProperties": false
1316
+ },
1317
+ {
1318
+ "type": "object",
1319
+ "properties": {
1320
+ "type": {
1321
+ "type": "string",
1322
+ "const": "clone"
1323
+ },
1324
+ "space": {
1325
+ "$ref": "#/$defs/__schema20"
1326
+ },
1327
+ "reference_size": {
1328
+ "$ref": "#/$defs/__schema21"
1329
+ },
1330
+ "bounds": {
1331
+ "$ref": "#/$defs/__schema8"
1332
+ },
1333
+ "mask": {
1334
+ "$ref": "#/$defs/__schema24"
1335
+ },
1336
+ "source_offset": {
1337
+ "$ref": "#/$defs/__schema18"
1338
+ },
1339
+ "opacity": {
1340
+ "default": 1,
1341
+ "$ref": "#/$defs/__schema6"
1342
+ }
1343
+ },
1344
+ "required": ["type", "bounds", "source_offset", "opacity"],
1345
+ "additionalProperties": false
1346
+ },
1347
+ {
1348
+ "type": "object",
1349
+ "properties": {
1350
+ "type": {
1351
+ "type": "string",
1352
+ "const": "heal"
1353
+ },
1354
+ "space": {
1355
+ "$ref": "#/$defs/__schema20"
1356
+ },
1357
+ "reference_size": {
1358
+ "$ref": "#/$defs/__schema21"
1359
+ },
1360
+ "bounds": {
1361
+ "$ref": "#/$defs/__schema8"
1362
+ },
1363
+ "mask": {
1364
+ "$ref": "#/$defs/__schema24"
1365
+ },
1366
+ "source_offset": {
1367
+ "$ref": "#/$defs/__schema18"
1368
+ },
1369
+ "opacity": {
1370
+ "default": 1,
1371
+ "$ref": "#/$defs/__schema6"
1372
+ }
1373
+ },
1374
+ "required": ["type", "bounds", "source_offset", "opacity"],
1375
+ "additionalProperties": false
1376
+ },
1377
+ {
1378
+ "type": "object",
1379
+ "properties": {
1380
+ "type": {
1381
+ "type": "string",
1382
+ "const": "fill"
1383
+ },
1384
+ "space": {
1385
+ "$ref": "#/$defs/__schema20"
1386
+ },
1387
+ "reference_size": {
1388
+ "$ref": "#/$defs/__schema21"
1389
+ },
1390
+ "bounds": {
1391
+ "$ref": "#/$defs/__schema8"
1392
+ },
1393
+ "mask": {
1394
+ "$ref": "#/$defs/__schema24"
1395
+ },
1396
+ "colour": {
1397
+ "$ref": "#/$defs/__schema11"
1398
+ }
1399
+ },
1400
+ "required": ["type", "bounds", "colour"],
1401
+ "additionalProperties": false
1402
+ },
1403
+ {
1404
+ "type": "object",
1405
+ "properties": {
1406
+ "type": {
1407
+ "type": "string",
1408
+ "const": "paintStroke"
1409
+ },
1410
+ "space": {
1411
+ "$ref": "#/$defs/__schema20"
1412
+ },
1413
+ "reference_size": {
1414
+ "$ref": "#/$defs/__schema21"
1415
+ },
1416
+ "bounds": {
1417
+ "$ref": "#/$defs/__schema8"
1418
+ },
1419
+ "mask": {
1420
+ "$ref": "#/$defs/__schema24"
1421
+ },
1422
+ "path": {
1423
+ "minItems": 1,
1424
+ "maxItems": 4096,
1425
+ "type": "array",
1426
+ "items": {
1427
+ "$ref": "#/$defs/__schema18"
1428
+ }
1429
+ },
1430
+ "radius": {
1431
+ "type": "number",
1432
+ "exclusiveMinimum": 0,
1433
+ "maximum": 256,
1434
+ "$ref": "#/$defs/__schema7"
1435
+ },
1436
+ "hardness": {
1437
+ "default": 1,
1438
+ "$ref": "#/$defs/__schema6"
1439
+ },
1440
+ "colour": {
1441
+ "$ref": "#/$defs/__schema11"
1442
+ },
1443
+ "opacity": {
1444
+ "default": 1,
1445
+ "$ref": "#/$defs/__schema6"
1446
+ }
1447
+ },
1448
+ "required": ["type", "bounds", "path", "radius", "hardness", "colour", "opacity"],
1449
+ "additionalProperties": false
1450
+ },
1451
+ {
1452
+ "type": "object",
1453
+ "properties": {
1454
+ "type": {
1455
+ "type": "string",
1456
+ "const": "eraseStroke"
1457
+ },
1458
+ "space": {
1459
+ "$ref": "#/$defs/__schema20"
1460
+ },
1461
+ "reference_size": {
1462
+ "$ref": "#/$defs/__schema21"
1463
+ },
1464
+ "bounds": {
1465
+ "$ref": "#/$defs/__schema8"
1466
+ },
1467
+ "mask": {
1468
+ "$ref": "#/$defs/__schema24"
1469
+ },
1470
+ "path": {
1471
+ "minItems": 1,
1472
+ "maxItems": 4096,
1473
+ "type": "array",
1474
+ "items": {
1475
+ "$ref": "#/$defs/__schema18"
1476
+ }
1477
+ },
1478
+ "radius": {
1479
+ "type": "number",
1480
+ "exclusiveMinimum": 0,
1481
+ "maximum": 256,
1482
+ "$ref": "#/$defs/__schema7"
1483
+ },
1484
+ "hardness": {
1485
+ "default": 1,
1486
+ "$ref": "#/$defs/__schema6"
1487
+ },
1488
+ "opacity": {
1489
+ "default": 1,
1490
+ "$ref": "#/$defs/__schema6"
1491
+ }
1492
+ },
1493
+ "required": ["type", "bounds", "path", "radius", "hardness", "opacity"],
1494
+ "additionalProperties": false
1495
+ },
1496
+ {
1497
+ "type": "object",
1498
+ "properties": {
1499
+ "type": {
1500
+ "type": "string",
1501
+ "const": "brightness"
1502
+ },
1503
+ "space": {
1504
+ "$ref": "#/$defs/__schema20"
1505
+ },
1506
+ "reference_size": {
1507
+ "$ref": "#/$defs/__schema21"
1508
+ },
1509
+ "bounds": {
1510
+ "$ref": "#/$defs/__schema8"
1511
+ },
1512
+ "mask": {
1513
+ "$ref": "#/$defs/__schema24"
1514
+ },
1515
+ "amount": {
1516
+ "type": "number",
1517
+ "minimum": -1,
1518
+ "maximum": 1,
1519
+ "$ref": "#/$defs/__schema7"
1520
+ }
1521
+ },
1522
+ "required": ["type", "bounds", "amount"],
1523
+ "additionalProperties": false
1524
+ },
1525
+ {
1526
+ "type": "object",
1527
+ "properties": {
1528
+ "type": {
1529
+ "type": "string",
1530
+ "const": "contrast"
1531
+ },
1532
+ "space": {
1533
+ "$ref": "#/$defs/__schema20"
1534
+ },
1535
+ "reference_size": {
1536
+ "$ref": "#/$defs/__schema21"
1537
+ },
1538
+ "bounds": {
1539
+ "$ref": "#/$defs/__schema8"
1540
+ },
1541
+ "mask": {
1542
+ "$ref": "#/$defs/__schema24"
1543
+ },
1544
+ "amount": {
1545
+ "type": "number",
1546
+ "minimum": -1,
1547
+ "maximum": 1,
1548
+ "$ref": "#/$defs/__schema7"
1549
+ }
1550
+ },
1551
+ "required": ["type", "bounds", "amount"],
1552
+ "additionalProperties": false
1553
+ },
1554
+ {
1555
+ "type": "object",
1556
+ "properties": {
1557
+ "type": {
1558
+ "type": "string",
1559
+ "const": "saturation"
1560
+ },
1561
+ "space": {
1562
+ "$ref": "#/$defs/__schema20"
1563
+ },
1564
+ "reference_size": {
1565
+ "$ref": "#/$defs/__schema21"
1566
+ },
1567
+ "bounds": {
1568
+ "$ref": "#/$defs/__schema8"
1569
+ },
1570
+ "mask": {
1571
+ "$ref": "#/$defs/__schema24"
1572
+ },
1573
+ "amount": {
1574
+ "type": "number",
1575
+ "minimum": -1,
1576
+ "maximum": 1,
1577
+ "$ref": "#/$defs/__schema7"
1578
+ }
1579
+ },
1580
+ "required": ["type", "bounds", "amount"],
1581
+ "additionalProperties": false
1582
+ },
1583
+ {
1584
+ "type": "object",
1585
+ "properties": {
1586
+ "type": {
1587
+ "type": "string",
1588
+ "const": "hueShift"
1589
+ },
1590
+ "space": {
1591
+ "$ref": "#/$defs/__schema20"
1592
+ },
1593
+ "reference_size": {
1594
+ "$ref": "#/$defs/__schema21"
1595
+ },
1596
+ "bounds": {
1597
+ "$ref": "#/$defs/__schema8"
1598
+ },
1599
+ "mask": {
1600
+ "$ref": "#/$defs/__schema24"
1601
+ },
1602
+ "degrees": {
1603
+ "type": "number",
1604
+ "minimum": -360,
1605
+ "maximum": 360,
1606
+ "$ref": "#/$defs/__schema7"
1607
+ }
1608
+ },
1609
+ "required": ["type", "bounds", "degrees"],
1610
+ "additionalProperties": false
1611
+ },
1612
+ {
1613
+ "type": "object",
1614
+ "properties": {
1615
+ "type": {
1616
+ "type": "string",
1617
+ "const": "noise"
1618
+ },
1619
+ "space": {
1620
+ "$ref": "#/$defs/__schema20"
1621
+ },
1622
+ "reference_size": {
1623
+ "$ref": "#/$defs/__schema21"
1624
+ },
1625
+ "bounds": {
1626
+ "$ref": "#/$defs/__schema8"
1627
+ },
1628
+ "mask": {
1629
+ "$ref": "#/$defs/__schema24"
1630
+ },
1631
+ "amount": {
1632
+ "$ref": "#/$defs/__schema6"
1633
+ },
1634
+ "seed": {
1635
+ "type": "integer",
1636
+ "minimum": 0,
1637
+ "maximum": 4294967295
1638
+ }
1639
+ },
1640
+ "required": ["type", "bounds", "amount", "seed"],
1641
+ "additionalProperties": false
1642
+ },
1643
+ {
1644
+ "type": "object",
1645
+ "properties": {
1646
+ "type": {
1647
+ "type": "string",
1648
+ "const": "blur"
1649
+ },
1650
+ "space": {
1651
+ "$ref": "#/$defs/__schema20"
1652
+ },
1653
+ "reference_size": {
1654
+ "$ref": "#/$defs/__schema21"
1655
+ },
1656
+ "bounds": {
1657
+ "$ref": "#/$defs/__schema8"
1658
+ },
1659
+ "mask": {
1660
+ "$ref": "#/$defs/__schema24"
1661
+ },
1662
+ "radius": {
1663
+ "type": "number",
1664
+ "minimum": 0,
1665
+ "maximum": 128,
1666
+ "$ref": "#/$defs/__schema7"
1667
+ }
1668
+ },
1669
+ "required": ["type", "bounds", "radius"],
1670
+ "additionalProperties": false
1671
+ },
1672
+ {
1673
+ "type": "object",
1674
+ "properties": {
1675
+ "type": {
1676
+ "type": "string",
1677
+ "const": "colourReplace"
1678
+ },
1679
+ "space": {
1680
+ "$ref": "#/$defs/__schema20"
1681
+ },
1682
+ "reference_size": {
1683
+ "$ref": "#/$defs/__schema21"
1684
+ },
1685
+ "bounds": {
1686
+ "$ref": "#/$defs/__schema8"
1687
+ },
1688
+ "mask": {
1689
+ "$ref": "#/$defs/__schema24"
1690
+ },
1691
+ "from": {
1692
+ "$ref": "#/$defs/__schema11"
1693
+ },
1694
+ "to": {
1695
+ "$ref": "#/$defs/__schema11"
1696
+ },
1697
+ "tolerance": {
1698
+ "default": 0,
1699
+ "$ref": "#/$defs/__schema6"
1700
+ }
1701
+ },
1702
+ "required": ["type", "bounds", "from", "to", "tolerance"],
1703
+ "additionalProperties": false
1704
+ },
1705
+ {
1706
+ "type": "object",
1707
+ "properties": {
1708
+ "type": {
1709
+ "type": "string",
1710
+ "const": "setPixels"
1711
+ },
1712
+ "space": {
1713
+ "$ref": "#/$defs/__schema20"
1714
+ },
1715
+ "reference_size": {
1716
+ "$ref": "#/$defs/__schema21"
1717
+ },
1718
+ "bounds": {
1719
+ "$ref": "#/$defs/__schema8"
1720
+ },
1721
+ "mask": {
1722
+ "$ref": "#/$defs/__schema24"
1723
+ },
1724
+ "pixels": {
1725
+ "maxItems": 4096,
1726
+ "type": "array",
1727
+ "items": {
1728
+ "$ref": "#/$defs/__schema26"
1729
+ }
1730
+ }
1731
+ },
1732
+ "required": ["type", "bounds", "pixels"],
1733
+ "additionalProperties": false
1734
+ }
1735
+ ]
1736
+ },
1737
+ "__schema24": {
1738
+ "$ref": "#/$defs/__schema19"
1739
+ },
1740
+ "__schema25": {
1741
+ "type": "array",
1742
+ "prefixItems": [
1743
+ {
1744
+ "$ref": "#/$defs/__schema6"
1745
+ },
1746
+ {
1747
+ "$ref": "#/$defs/__schema6"
1748
+ }
1749
+ ],
1750
+ "items": false,
1751
+ "minItems": 2,
1752
+ "maxItems": 2
1753
+ },
1754
+ "__schema26": {
1755
+ "type": "object",
1756
+ "properties": {
1757
+ "x": {
1758
+ "type": "integer",
1759
+ "minimum": -9007199254740991,
1760
+ "maximum": 9007199254740991
1761
+ },
1762
+ "y": {
1763
+ "type": "integer",
1764
+ "minimum": -9007199254740991,
1765
+ "maximum": 9007199254740991
1766
+ },
1767
+ "colour": {
1768
+ "$ref": "#/$defs/__schema11"
1769
+ }
1770
+ },
1771
+ "required": ["x", "y", "colour"],
1772
+ "additionalProperties": false
1773
+ },
1774
+ "__schema27": {
1775
+ "type": "object",
1776
+ "properties": {
1777
+ "id": {
1778
+ "$ref": "#/$defs/__schema3"
1779
+ },
1780
+ "space": {
1781
+ "$ref": "#/$defs/__schema20"
1782
+ },
1783
+ "reference_size": {
1784
+ "$ref": "#/$defs/__schema21"
1785
+ },
1786
+ "bounds": {
1787
+ "$ref": "#/$defs/__schema8"
1788
+ },
1789
+ "scale": {
1790
+ "default": 2,
1791
+ "type": "integer",
1792
+ "minimum": 1,
1793
+ "maximum": 4
1794
+ },
1795
+ "source": {
1796
+ "$ref": "#/$defs/__schema3"
1797
+ },
1798
+ "composite": {
1799
+ "type": "string",
1800
+ "enum": ["replace", "over"]
1801
+ },
1802
+ "operations": {
1803
+ "default": [],
1804
+ "maxItems": 256,
1805
+ "type": "array",
1806
+ "items": {
1807
+ "$ref": "#/$defs/__schema23"
1808
+ }
1809
+ }
1810
+ },
1811
+ "required": ["id", "bounds", "scale", "operations"],
1812
+ "additionalProperties": false
1813
+ },
1814
+ "__schema28": {
1815
+ "type": "object",
1816
+ "properties": {
1817
+ "space": {
1818
+ "$ref": "#/$defs/__schema20"
1819
+ },
1820
+ "reference_size": {
1821
+ "$ref": "#/$defs/__schema21"
1822
+ },
1823
+ "bounds": {
1824
+ "$ref": "#/$defs/__schema8"
1825
+ },
1826
+ "palette": {
1827
+ "$ref": "#/$defs/__schema29"
1828
+ },
1829
+ "pixels": {
1830
+ "$ref": "#/$defs/__schema30"
1831
+ }
1832
+ },
1833
+ "required": ["bounds", "palette", "pixels"],
1834
+ "additionalProperties": false
1835
+ },
1836
+ "__schema29": {
1837
+ "type": "object",
1838
+ "propertyNames": {
1839
+ "type": "string",
1840
+ "minLength": 1,
1841
+ "maxLength": 1
1842
+ },
1843
+ "additionalProperties": {
1844
+ "$ref": "#/$defs/__schema11"
1845
+ }
1846
+ },
1847
+ "__schema30": {
1848
+ "minItems": 1,
1849
+ "maxItems": 256,
1850
+ "type": "array",
1851
+ "items": {
1852
+ "$ref": "#/$defs/__schema31"
1853
+ }
1854
+ },
1855
+ "__schema31": {
1856
+ "type": "string",
1857
+ "minLength": 1,
1858
+ "maxLength": 256
1859
+ }
1860
+ }
1861
+ }