@baron1996/kline-scene-schema 0.2.3 → 0.4.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 (85) hide show
  1. package/dist/decimal-normalization.d.ts +6 -0
  2. package/dist/decimal-normalization.d.ts.map +1 -0
  3. package/dist/decimal-normalization.js +47 -0
  4. package/dist/drawable-workspace-canonical-json.d.ts +3 -0
  5. package/dist/drawable-workspace-canonical-json.d.ts.map +1 -0
  6. package/dist/drawable-workspace-canonical-json.js +15 -0
  7. package/dist/drawable-workspace-canonicalize.d.ts +3 -0
  8. package/dist/drawable-workspace-canonicalize.d.ts.map +1 -0
  9. package/dist/drawable-workspace-canonicalize.js +19 -0
  10. package/dist/drawable-workspace-errors.d.ts +14 -0
  11. package/dist/drawable-workspace-errors.d.ts.map +1 -0
  12. package/dist/drawable-workspace-errors.js +12 -0
  13. package/dist/drawable-workspace-semantic-validator.d.ts +5 -0
  14. package/dist/drawable-workspace-semantic-validator.d.ts.map +1 -0
  15. package/dist/drawable-workspace-semantic-validator.js +127 -0
  16. package/dist/drawable-workspace-validator.d.ts +4 -0
  17. package/dist/drawable-workspace-validator.d.ts.map +1 -0
  18. package/dist/drawable-workspace-validator.js +74 -0
  19. package/dist/drawing-canonical-json.d.ts +3 -0
  20. package/dist/drawing-canonical-json.d.ts.map +1 -0
  21. package/dist/drawing-canonical-json.js +15 -0
  22. package/dist/drawing-canonicalize.d.ts +3 -0
  23. package/dist/drawing-canonicalize.d.ts.map +1 -0
  24. package/dist/drawing-canonicalize.js +19 -0
  25. package/dist/drawing-errors.d.ts +13 -0
  26. package/dist/drawing-errors.d.ts.map +1 -0
  27. package/dist/drawing-errors.js +12 -0
  28. package/dist/drawing-semantic-validator.d.ts +6 -0
  29. package/dist/drawing-semantic-validator.d.ts.map +1 -0
  30. package/dist/drawing-semantic-validator.js +123 -0
  31. package/dist/drawing-validator.d.ts +4 -0
  32. package/dist/drawing-validator.d.ts.map +1 -0
  33. package/dist/drawing-validator.js +66 -0
  34. package/dist/generated/chart-scene.d.ts +11 -1
  35. package/dist/generated/chart-scene.d.ts.map +1 -1
  36. package/dist/generated/drawable-workspace.d.ts +526 -0
  37. package/dist/generated/drawable-workspace.d.ts.map +1 -0
  38. package/dist/generated/drawable-workspace.js +2 -0
  39. package/dist/generated/drawing-document.d.ts +216 -0
  40. package/dist/generated/drawing-document.d.ts.map +1 -0
  41. package/dist/generated/drawing-document.js +2 -0
  42. package/dist/generated/schemas.d.ts +1062 -17
  43. package/dist/generated/schemas.d.ts.map +1 -1
  44. package/dist/generated/schemas.js +1391 -28
  45. package/dist/generated/time-series-scene.d.ts +88 -0
  46. package/dist/generated/time-series-scene.d.ts.map +1 -0
  47. package/dist/generated/time-series-scene.js +2 -0
  48. package/dist/generated/validate-chart-scene.d.ts.map +1 -1
  49. package/dist/generated/validate-chart-scene.js +550 -237
  50. package/dist/generated/validate-drawable-workspace.d.ts +15 -0
  51. package/dist/generated/validate-drawable-workspace.d.ts.map +1 -0
  52. package/dist/generated/validate-drawable-workspace.js +13449 -0
  53. package/dist/generated/validate-drawing-document.d.ts +15 -0
  54. package/dist/generated/validate-drawing-document.d.ts.map +1 -0
  55. package/dist/generated/validate-drawing-document.js +4307 -0
  56. package/dist/generated/validate-time-series-scene.d.ts +15 -0
  57. package/dist/generated/validate-time-series-scene.d.ts.map +1 -0
  58. package/dist/generated/validate-time-series-scene.js +2359 -0
  59. package/dist/index.d.ts +20 -1
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +19 -1
  62. package/dist/time-series-canonical-json.d.ts +3 -0
  63. package/dist/time-series-canonical-json.d.ts.map +1 -0
  64. package/dist/time-series-canonical-json.js +15 -0
  65. package/dist/time-series-canonicalize.d.ts +3 -0
  66. package/dist/time-series-canonicalize.d.ts.map +1 -0
  67. package/dist/time-series-canonicalize.js +19 -0
  68. package/dist/time-series-errors.d.ts +13 -0
  69. package/dist/time-series-errors.d.ts.map +1 -0
  70. package/dist/time-series-errors.js +12 -0
  71. package/dist/time-series-semantic-validator.d.ts +5 -0
  72. package/dist/time-series-semantic-validator.d.ts.map +1 -0
  73. package/dist/time-series-semantic-validator.js +81 -0
  74. package/dist/time-series-validator.d.ts +4 -0
  75. package/dist/time-series-validator.d.ts.map +1 -0
  76. package/dist/time-series-validator.js +52 -0
  77. package/package.json +1 -1
  78. package/schema/chart-config.schema.json +68 -1
  79. package/schema/chart-scene.schema.json +1 -27
  80. package/schema/common.schema.json +26 -0
  81. package/schema/drawable-workspace.schema.json +110 -0
  82. package/schema/drawing-document.schema.json +811 -0
  83. package/schema/time-series-chart-config.schema.json +75 -0
  84. package/schema/time-series-runtime.schema.json +13 -0
  85. package/schema/time-series-scene.schema.json +145 -0
@@ -0,0 +1,811 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://baron.dev/kline-scene/drawing-document.schema.json",
4
+ "title": "DrawingDocument",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema",
9
+ "version",
10
+ "scopeKey",
11
+ "coordinateSystem",
12
+ "drawings",
13
+ "metadata"
14
+ ],
15
+ "properties": {
16
+ "schema": {
17
+ "const": "@baron1996/drawing-document"
18
+ },
19
+ "version": {
20
+ "const": 1
21
+ },
22
+ "scopeKey": {
23
+ "type": "string",
24
+ "minLength": 1,
25
+ "maxLength": 256
26
+ },
27
+ "coordinateSystem": {
28
+ "$ref": "#/$defs/coordinateSystem"
29
+ },
30
+ "drawings": {
31
+ "type": "array",
32
+ "maxItems": 10000,
33
+ "items": {
34
+ "$ref": "#/$defs/drawing"
35
+ }
36
+ },
37
+ "metadata": {
38
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/metadata"
39
+ }
40
+ },
41
+ "$defs": {
42
+ "coordinateSystem": {
43
+ "type": "object",
44
+ "additionalProperties": false,
45
+ "required": [
46
+ "timezone",
47
+ "valueAxes"
48
+ ],
49
+ "properties": {
50
+ "timezone": {
51
+ "$ref": "#/$defs/timezone"
52
+ },
53
+ "valueAxes": {
54
+ "$ref": "#/$defs/valueAxes"
55
+ }
56
+ }
57
+ },
58
+ "timezone": {
59
+ "type": "string",
60
+ "minLength": 1,
61
+ "maxLength": 128,
62
+ "pattern": "^[A-Za-z_+-]+(?:/[A-Za-z0-9_+-]+)*$"
63
+ },
64
+ "valueAxes": {
65
+ "type": "array",
66
+ "minItems": 1,
67
+ "maxItems": 64,
68
+ "items": {
69
+ "$ref": "#/$defs/valueAxis"
70
+ }
71
+ },
72
+ "valueAxis": {
73
+ "type": "object",
74
+ "additionalProperties": false,
75
+ "required": [
76
+ "paneRole",
77
+ "yAxisRole",
78
+ "valuePrecision"
79
+ ],
80
+ "properties": {
81
+ "paneRole": {
82
+ "type": "string",
83
+ "minLength": 1,
84
+ "maxLength": 128
85
+ },
86
+ "yAxisRole": {
87
+ "type": "string",
88
+ "minLength": 1,
89
+ "maxLength": 128
90
+ },
91
+ "valuePrecision": {
92
+ "type": "integer",
93
+ "minimum": 0,
94
+ "maximum": 16
95
+ }
96
+ }
97
+ },
98
+ "target": {
99
+ "type": "object",
100
+ "additionalProperties": false,
101
+ "required": [
102
+ "paneRole",
103
+ "yAxisRole"
104
+ ],
105
+ "properties": {
106
+ "paneRole": {
107
+ "type": "string",
108
+ "minLength": 1,
109
+ "maxLength": 128
110
+ },
111
+ "yAxisRole": {
112
+ "type": "string",
113
+ "minLength": 1,
114
+ "maxLength": 128
115
+ }
116
+ }
117
+ },
118
+ "drawingStyles": {
119
+ "type": "object",
120
+ "additionalProperties": false,
121
+ "required": [
122
+ "line",
123
+ "fill",
124
+ "text"
125
+ ],
126
+ "properties": {
127
+ "line": {
128
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/lineStyle"
129
+ },
130
+ "fill": {
131
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/fillStyle"
132
+ },
133
+ "text": {
134
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/textStyle"
135
+ }
136
+ }
137
+ },
138
+ "drawingBase": {
139
+ "type": "object",
140
+ "additionalProperties": false,
141
+ "required": [
142
+ "id",
143
+ "target",
144
+ "visible",
145
+ "locked",
146
+ "zLevel",
147
+ "mode",
148
+ "styles"
149
+ ],
150
+ "properties": {
151
+ "id": {
152
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/stableId"
153
+ },
154
+ "groupId": {
155
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/stableId"
156
+ },
157
+ "target": {
158
+ "$ref": "#/$defs/target"
159
+ },
160
+ "visible": {
161
+ "type": "boolean"
162
+ },
163
+ "locked": {
164
+ "type": "boolean"
165
+ },
166
+ "zLevel": {
167
+ "type": "integer",
168
+ "minimum": -1000,
169
+ "maximum": 1000
170
+ },
171
+ "mode": {
172
+ "enum": [
173
+ "normal",
174
+ "weak_magnet",
175
+ "strong_magnet"
176
+ ]
177
+ },
178
+ "styles": {
179
+ "$ref": "#/$defs/drawingStyles"
180
+ },
181
+ "metadata": {
182
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/metadata"
183
+ }
184
+ }
185
+ },
186
+ "drawingTimeAnchor": {
187
+ "type": "object",
188
+ "additionalProperties": false,
189
+ "required": [
190
+ "timestamp",
191
+ "granularity"
192
+ ],
193
+ "properties": {
194
+ "timestamp": {
195
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/safeInteger"
196
+ },
197
+ "granularity": {
198
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/period"
199
+ }
200
+ }
201
+ },
202
+ "timeValuePoint": {
203
+ "type": "object",
204
+ "additionalProperties": false,
205
+ "required": [
206
+ "timestamp",
207
+ "granularity",
208
+ "value"
209
+ ],
210
+ "properties": {
211
+ "timestamp": {
212
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/safeInteger"
213
+ },
214
+ "granularity": {
215
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/period"
216
+ },
217
+ "value": {
218
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/finiteNumber"
219
+ }
220
+ }
221
+ },
222
+ "geometryValue": {
223
+ "type": "object",
224
+ "additionalProperties": false,
225
+ "required": [
226
+ "value"
227
+ ],
228
+ "properties": {
229
+ "value": {
230
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/finiteNumber"
231
+ }
232
+ }
233
+ },
234
+ "geometryValueText": {
235
+ "type": "object",
236
+ "additionalProperties": false,
237
+ "required": [
238
+ "value",
239
+ "text"
240
+ ],
241
+ "properties": {
242
+ "value": {
243
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/finiteNumber"
244
+ },
245
+ "text": {
246
+ "type": "string",
247
+ "maxLength": 4096
248
+ }
249
+ }
250
+ },
251
+ "geometryTime": {
252
+ "type": "object",
253
+ "additionalProperties": false,
254
+ "required": [
255
+ "time"
256
+ ],
257
+ "properties": {
258
+ "time": {
259
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/safeInteger"
260
+ }
261
+ }
262
+ },
263
+ "geometryValueSpan": {
264
+ "type": "object",
265
+ "additionalProperties": false,
266
+ "required": [
267
+ "value",
268
+ "startTime",
269
+ "endTime"
270
+ ],
271
+ "properties": {
272
+ "value": {
273
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/finiteNumber"
274
+ },
275
+ "startTime": {
276
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/safeInteger"
277
+ },
278
+ "endTime": {
279
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/safeInteger"
280
+ }
281
+ }
282
+ },
283
+ "geometryTimeSpan": {
284
+ "type": "object",
285
+ "additionalProperties": false,
286
+ "required": [
287
+ "time",
288
+ "startValue",
289
+ "endValue"
290
+ ],
291
+ "properties": {
292
+ "time": {
293
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/safeInteger"
294
+ },
295
+ "startValue": {
296
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/finiteNumber"
297
+ },
298
+ "endValue": {
299
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/finiteNumber"
300
+ }
301
+ }
302
+ },
303
+ "geometryTwoPoints": {
304
+ "type": "object",
305
+ "additionalProperties": false,
306
+ "required": [
307
+ "points"
308
+ ],
309
+ "properties": {
310
+ "points": {
311
+ "type": "array",
312
+ "minItems": 2,
313
+ "maxItems": 2,
314
+ "items": {
315
+ "$ref": "#/$defs/timeValuePoint"
316
+ }
317
+ }
318
+ }
319
+ },
320
+ "geometryThreePoints": {
321
+ "type": "object",
322
+ "additionalProperties": false,
323
+ "required": [
324
+ "points"
325
+ ],
326
+ "properties": {
327
+ "points": {
328
+ "type": "array",
329
+ "minItems": 3,
330
+ "maxItems": 3,
331
+ "items": {
332
+ "$ref": "#/$defs/timeValuePoint"
333
+ }
334
+ }
335
+ }
336
+ },
337
+ "geometryBrushPoints": {
338
+ "type": "object",
339
+ "additionalProperties": false,
340
+ "required": [
341
+ "points"
342
+ ],
343
+ "properties": {
344
+ "points": {
345
+ "type": "array",
346
+ "minItems": 2,
347
+ "maxItems": 256,
348
+ "items": {
349
+ "$ref": "#/$defs/timeValuePoint"
350
+ }
351
+ }
352
+ }
353
+ },
354
+ "geometryPointText": {
355
+ "type": "object",
356
+ "additionalProperties": false,
357
+ "required": [
358
+ "point",
359
+ "text"
360
+ ],
361
+ "properties": {
362
+ "point": {
363
+ "$ref": "#/$defs/timeValuePoint"
364
+ },
365
+ "text": {
366
+ "type": "string",
367
+ "maxLength": 4096
368
+ }
369
+ }
370
+ },
371
+ "geometryPoint": {
372
+ "type": "object",
373
+ "additionalProperties": false,
374
+ "required": [
375
+ "point"
376
+ ],
377
+ "properties": {
378
+ "point": {
379
+ "$ref": "#/$defs/timeValuePoint"
380
+ }
381
+ }
382
+ },
383
+ "geometryStartEnd": {
384
+ "type": "object",
385
+ "additionalProperties": false,
386
+ "required": [
387
+ "start",
388
+ "end"
389
+ ],
390
+ "properties": {
391
+ "start": {
392
+ "$ref": "#/$defs/timeValuePoint"
393
+ },
394
+ "end": {
395
+ "$ref": "#/$defs/timeValuePoint"
396
+ }
397
+ }
398
+ },
399
+ "drawing": {
400
+ "type": "object",
401
+ "additionalProperties": false,
402
+ "required": [
403
+ "id",
404
+ "target",
405
+ "visible",
406
+ "locked",
407
+ "zLevel",
408
+ "mode",
409
+ "styles",
410
+ "type",
411
+ "geometry"
412
+ ],
413
+ "properties": {
414
+ "id": {
415
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/stableId"
416
+ },
417
+ "groupId": {
418
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/stableId"
419
+ },
420
+ "target": {
421
+ "$ref": "#/$defs/target"
422
+ },
423
+ "visible": {
424
+ "type": "boolean"
425
+ },
426
+ "locked": {
427
+ "type": "boolean"
428
+ },
429
+ "zLevel": {
430
+ "type": "integer",
431
+ "minimum": -1000,
432
+ "maximum": 1000
433
+ },
434
+ "mode": {
435
+ "enum": [
436
+ "normal",
437
+ "weak_magnet",
438
+ "strong_magnet"
439
+ ]
440
+ },
441
+ "styles": {
442
+ "$ref": "#/$defs/drawingStyles"
443
+ },
444
+ "metadata": {
445
+ "$ref": "https://baron.dev/kline-scene/common.schema.json#/$defs/metadata"
446
+ },
447
+ "type": {
448
+ "enum": [
449
+ "horizontalStraightLine",
450
+ "priceLine",
451
+ "simpleTag",
452
+ "verticalStraightLine",
453
+ "horizontalRayLine",
454
+ "horizontalSegment",
455
+ "verticalRayLine",
456
+ "verticalSegment",
457
+ "rayLine",
458
+ "segment",
459
+ "straightLine",
460
+ "fibonacciLine",
461
+ "priceChannelLine",
462
+ "parallelStraightLine",
463
+ "brush",
464
+ "simpleAnnotation",
465
+ "callout",
466
+ "text",
467
+ "crossLine",
468
+ "rectangle",
469
+ "arrow",
470
+ "priceMeasurement"
471
+ ]
472
+ },
473
+ "geometry": {
474
+ "type": "object"
475
+ }
476
+ },
477
+ "oneOf": [
478
+ {
479
+ "title": "DrawingHorizontalStraightLine",
480
+ "properties": {
481
+ "type": {
482
+ "const": "horizontalStraightLine"
483
+ },
484
+ "geometry": {
485
+ "$ref": "#/$defs/geometryValue"
486
+ }
487
+ },
488
+ "required": [
489
+ "type",
490
+ "geometry"
491
+ ]
492
+ },
493
+ {
494
+ "title": "DrawingPriceLine",
495
+ "properties": {
496
+ "type": {
497
+ "const": "priceLine"
498
+ },
499
+ "geometry": {
500
+ "$ref": "#/$defs/geometryValue"
501
+ }
502
+ },
503
+ "required": [
504
+ "type",
505
+ "geometry"
506
+ ]
507
+ },
508
+ {
509
+ "title": "DrawingSimpleTag",
510
+ "properties": {
511
+ "type": {
512
+ "const": "simpleTag"
513
+ },
514
+ "geometry": {
515
+ "$ref": "#/$defs/geometryValueText"
516
+ }
517
+ },
518
+ "required": [
519
+ "type",
520
+ "geometry"
521
+ ]
522
+ },
523
+ {
524
+ "title": "DrawingVerticalStraightLine",
525
+ "properties": {
526
+ "type": {
527
+ "const": "verticalStraightLine"
528
+ },
529
+ "geometry": {
530
+ "$ref": "#/$defs/geometryTime"
531
+ }
532
+ },
533
+ "required": [
534
+ "type",
535
+ "geometry"
536
+ ]
537
+ },
538
+ {
539
+ "title": "DrawingHorizontalRayLine",
540
+ "properties": {
541
+ "type": {
542
+ "const": "horizontalRayLine"
543
+ },
544
+ "geometry": {
545
+ "$ref": "#/$defs/geometryValueSpan"
546
+ }
547
+ },
548
+ "required": [
549
+ "type",
550
+ "geometry"
551
+ ]
552
+ },
553
+ {
554
+ "title": "DrawingHorizontalSegment",
555
+ "properties": {
556
+ "type": {
557
+ "const": "horizontalSegment"
558
+ },
559
+ "geometry": {
560
+ "$ref": "#/$defs/geometryValueSpan"
561
+ }
562
+ },
563
+ "required": [
564
+ "type",
565
+ "geometry"
566
+ ]
567
+ },
568
+ {
569
+ "title": "DrawingVerticalRayLine",
570
+ "properties": {
571
+ "type": {
572
+ "const": "verticalRayLine"
573
+ },
574
+ "geometry": {
575
+ "$ref": "#/$defs/geometryTimeSpan"
576
+ }
577
+ },
578
+ "required": [
579
+ "type",
580
+ "geometry"
581
+ ]
582
+ },
583
+ {
584
+ "title": "DrawingVerticalSegment",
585
+ "properties": {
586
+ "type": {
587
+ "const": "verticalSegment"
588
+ },
589
+ "geometry": {
590
+ "$ref": "#/$defs/geometryTimeSpan"
591
+ }
592
+ },
593
+ "required": [
594
+ "type",
595
+ "geometry"
596
+ ]
597
+ },
598
+ {
599
+ "title": "DrawingRayLine",
600
+ "properties": {
601
+ "type": {
602
+ "const": "rayLine"
603
+ },
604
+ "geometry": {
605
+ "$ref": "#/$defs/geometryTwoPoints"
606
+ }
607
+ },
608
+ "required": [
609
+ "type",
610
+ "geometry"
611
+ ]
612
+ },
613
+ {
614
+ "title": "DrawingSegment",
615
+ "properties": {
616
+ "type": {
617
+ "const": "segment"
618
+ },
619
+ "geometry": {
620
+ "$ref": "#/$defs/geometryTwoPoints"
621
+ }
622
+ },
623
+ "required": [
624
+ "type",
625
+ "geometry"
626
+ ]
627
+ },
628
+ {
629
+ "title": "DrawingStraightLine",
630
+ "properties": {
631
+ "type": {
632
+ "const": "straightLine"
633
+ },
634
+ "geometry": {
635
+ "$ref": "#/$defs/geometryTwoPoints"
636
+ }
637
+ },
638
+ "required": [
639
+ "type",
640
+ "geometry"
641
+ ]
642
+ },
643
+ {
644
+ "title": "DrawingFibonacciLine",
645
+ "properties": {
646
+ "type": {
647
+ "const": "fibonacciLine"
648
+ },
649
+ "geometry": {
650
+ "$ref": "#/$defs/geometryTwoPoints"
651
+ }
652
+ },
653
+ "required": [
654
+ "type",
655
+ "geometry"
656
+ ]
657
+ },
658
+ {
659
+ "title": "DrawingPriceChannelLine",
660
+ "properties": {
661
+ "type": {
662
+ "const": "priceChannelLine"
663
+ },
664
+ "geometry": {
665
+ "$ref": "#/$defs/geometryThreePoints"
666
+ }
667
+ },
668
+ "required": [
669
+ "type",
670
+ "geometry"
671
+ ]
672
+ },
673
+ {
674
+ "title": "DrawingParallelStraightLine",
675
+ "properties": {
676
+ "type": {
677
+ "const": "parallelStraightLine"
678
+ },
679
+ "geometry": {
680
+ "$ref": "#/$defs/geometryThreePoints"
681
+ }
682
+ },
683
+ "required": [
684
+ "type",
685
+ "geometry"
686
+ ]
687
+ },
688
+ {
689
+ "title": "DrawingBrush",
690
+ "properties": {
691
+ "type": {
692
+ "const": "brush"
693
+ },
694
+ "geometry": {
695
+ "$ref": "#/$defs/geometryBrushPoints"
696
+ }
697
+ },
698
+ "required": [
699
+ "type",
700
+ "geometry"
701
+ ]
702
+ },
703
+ {
704
+ "title": "DrawingSimpleAnnotation",
705
+ "properties": {
706
+ "type": {
707
+ "const": "simpleAnnotation"
708
+ },
709
+ "geometry": {
710
+ "$ref": "#/$defs/geometryPointText"
711
+ }
712
+ },
713
+ "required": [
714
+ "type",
715
+ "geometry"
716
+ ]
717
+ },
718
+ {
719
+ "title": "DrawingCallout",
720
+ "properties": {
721
+ "type": {
722
+ "const": "callout"
723
+ },
724
+ "geometry": {
725
+ "$ref": "#/$defs/geometryPointText"
726
+ }
727
+ },
728
+ "required": [
729
+ "type",
730
+ "geometry"
731
+ ]
732
+ },
733
+ {
734
+ "title": "DrawingText",
735
+ "properties": {
736
+ "type": {
737
+ "const": "text"
738
+ },
739
+ "geometry": {
740
+ "$ref": "#/$defs/geometryPointText"
741
+ }
742
+ },
743
+ "required": [
744
+ "type",
745
+ "geometry"
746
+ ]
747
+ },
748
+ {
749
+ "title": "DrawingCrossLine",
750
+ "properties": {
751
+ "type": {
752
+ "const": "crossLine"
753
+ },
754
+ "geometry": {
755
+ "$ref": "#/$defs/geometryPoint"
756
+ }
757
+ },
758
+ "required": [
759
+ "type",
760
+ "geometry"
761
+ ]
762
+ },
763
+ {
764
+ "title": "DrawingRectangle",
765
+ "properties": {
766
+ "type": {
767
+ "const": "rectangle"
768
+ },
769
+ "geometry": {
770
+ "$ref": "#/$defs/geometryStartEnd"
771
+ }
772
+ },
773
+ "required": [
774
+ "type",
775
+ "geometry"
776
+ ]
777
+ },
778
+ {
779
+ "title": "DrawingArrow",
780
+ "properties": {
781
+ "type": {
782
+ "const": "arrow"
783
+ },
784
+ "geometry": {
785
+ "$ref": "#/$defs/geometryStartEnd"
786
+ }
787
+ },
788
+ "required": [
789
+ "type",
790
+ "geometry"
791
+ ]
792
+ },
793
+ {
794
+ "title": "DrawingPriceMeasurement",
795
+ "properties": {
796
+ "type": {
797
+ "const": "priceMeasurement"
798
+ },
799
+ "geometry": {
800
+ "$ref": "#/$defs/geometryStartEnd"
801
+ }
802
+ },
803
+ "required": [
804
+ "type",
805
+ "geometry"
806
+ ]
807
+ }
808
+ ]
809
+ }
810
+ }
811
+ }