semiotic 3.6.0 → 3.7.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 (94) hide show
  1. package/CLAUDE.md +190 -227
  2. package/README.md +44 -14
  3. package/ai/cli.js +41 -0
  4. package/ai/componentMetadata.cjs +11 -2
  5. package/ai/dist/mcp-server.js +209 -6
  6. package/ai/examples.md +98 -0
  7. package/ai/schema.json +581 -1
  8. package/ai/system-prompt.md +5 -2
  9. package/dist/components/AccessibleNavTree.d.ts +25 -0
  10. package/dist/components/Annotation.d.ts +40 -14
  11. package/dist/components/ChartContainer.d.ts +32 -2
  12. package/dist/components/ai/annotationProvenance.d.ts +349 -0
  13. package/dist/components/ai/audienceProfile.d.ts +60 -3
  14. package/dist/components/ai/chartCapabilityTypes.d.ts +60 -2
  15. package/dist/components/ai/chartRoles.d.ts +27 -0
  16. package/dist/components/ai/conversationArc.d.ts +379 -0
  17. package/dist/components/ai/dataScaleProfile.d.ts +320 -0
  18. package/dist/components/ai/describeChart.d.ts +114 -0
  19. package/dist/components/ai/navigationTree.d.ts +45 -0
  20. package/dist/components/ai/readerGrounding.d.ts +70 -0
  21. package/dist/components/ai/suggestCharts.d.ts +34 -1
  22. package/dist/components/ai/useConversationArc.d.ts +89 -0
  23. package/dist/components/ai/useNavigationSync.d.ts +61 -0
  24. package/dist/components/ai/variantDiscovery.d.ts +168 -0
  25. package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +3 -0
  26. package/dist/components/charts/realtime/RealtimeHistogram.d.ts +3 -0
  27. package/dist/components/charts/realtime/RealtimeLineChart.d.ts +3 -0
  28. package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +3 -0
  29. package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +3 -0
  30. package/dist/components/charts/shared/annotationHierarchy.d.ts +42 -0
  31. package/dist/components/charts/shared/annotationResolvers.d.ts +3 -2
  32. package/dist/components/charts/shared/annotationRules.d.ts +16 -0
  33. package/dist/components/charts/shared/annotationTypes.d.ts +14 -0
  34. package/dist/components/charts/shared/auditAccessibility.d.ts +90 -0
  35. package/dist/components/charts/shared/chartSpecs.d.ts +2 -3
  36. package/dist/components/charts/shared/diagnoseConfig.d.ts +4 -6
  37. package/dist/components/charts/shared/selectionUtils.d.ts +5 -2
  38. package/dist/components/charts/shared/streamPropsHelpers.d.ts +2 -0
  39. package/dist/components/charts/shared/types.d.ts +5 -1
  40. package/dist/components/charts/value/BigNumber.capability.d.ts +13 -0
  41. package/dist/components/charts/value/BigNumber.d.ts +14 -0
  42. package/dist/components/charts/value/formatting.d.ts +40 -0
  43. package/dist/components/charts/value/thresholdSparkline.d.ts +40 -0
  44. package/dist/components/charts/value/types.d.ts +292 -0
  45. package/dist/components/realtime/lifecycleBands.d.ts +44 -0
  46. package/dist/components/realtime/types.d.ts +23 -8
  47. package/dist/components/recipes/annotationDensity.d.ts +69 -0
  48. package/dist/components/recipes/annotationLayout.d.ts +93 -0
  49. package/dist/components/semiotic-ai.d.ts +38 -15
  50. package/dist/components/semiotic-realtime.d.ts +2 -0
  51. package/dist/components/semiotic-recipes.d.ts +4 -0
  52. package/dist/components/semiotic-utils.d.ts +8 -0
  53. package/dist/components/semiotic-value.d.ts +55 -0
  54. package/dist/components/semiotic.d.ts +7 -0
  55. package/dist/components/server/staticAnnotations.d.ts +2 -0
  56. package/dist/components/stream/AccessibleDataTable.d.ts +10 -1
  57. package/dist/components/stream/NetworkSVGOverlay.d.ts +11 -5
  58. package/dist/components/stream/OrdinalSVGOverlay.d.ts +2 -0
  59. package/dist/components/stream/SVGOverlay.d.ts +2 -0
  60. package/dist/components/stream/geoTypes.d.ts +3 -0
  61. package/dist/components/stream/networkTypes.d.ts +2 -0
  62. package/dist/components/stream/ordinalTypes.d.ts +2 -0
  63. package/dist/components/stream/types.d.ts +2 -0
  64. package/dist/geo.min.js +1 -1
  65. package/dist/geo.module.min.js +1 -1
  66. package/dist/network.min.js +1 -1
  67. package/dist/network.module.min.js +1 -1
  68. package/dist/ordinal.min.js +1 -1
  69. package/dist/ordinal.module.min.js +1 -1
  70. package/dist/realtime.min.js +1 -1
  71. package/dist/realtime.module.min.js +1 -1
  72. package/dist/semiotic-ai.d.ts +38 -15
  73. package/dist/semiotic-ai.min.js +1 -1
  74. package/dist/semiotic-ai.module.min.js +1 -1
  75. package/dist/semiotic-realtime.d.ts +2 -0
  76. package/dist/semiotic-recipes.d.ts +4 -0
  77. package/dist/semiotic-recipes.min.js +1 -1
  78. package/dist/semiotic-recipes.module.min.js +1 -1
  79. package/dist/semiotic-themes.min.js +1 -1
  80. package/dist/semiotic-themes.module.min.js +1 -1
  81. package/dist/semiotic-utils.d.ts +8 -0
  82. package/dist/semiotic-utils.min.js +1 -1
  83. package/dist/semiotic-utils.module.min.js +1 -1
  84. package/dist/semiotic-value.d.ts +55 -0
  85. package/dist/semiotic-value.min.js +2 -0
  86. package/dist/semiotic-value.module.min.js +2 -0
  87. package/dist/semiotic.d.ts +7 -0
  88. package/dist/semiotic.min.js +1 -1
  89. package/dist/semiotic.module.min.js +1 -1
  90. package/dist/server.min.js +1 -1
  91. package/dist/server.module.min.js +1 -1
  92. package/dist/xy.min.js +1 -1
  93. package/dist/xy.module.min.js +1 -1
  94. package/package.json +18 -4
package/ai/schema.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "name": "semiotic",
4
- "version": "3.6.0",
4
+ "version": "3.7.0",
5
5
  "description": "React data visualization library for charts, networks, and beyond",
6
6
  "tools": [
7
7
  {
@@ -94,6 +94,14 @@
94
94
  ]
95
95
  }
96
96
  },
97
+ "autoPlaceAnnotations": {
98
+ "type": [
99
+ "boolean",
100
+ "object"
101
+ ],
102
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
103
+ "default": false
104
+ },
97
105
  "axisExtent": {
98
106
  "type": "string",
99
107
  "enum": [
@@ -294,6 +302,14 @@
294
302
  ]
295
303
  }
296
304
  },
305
+ "autoPlaceAnnotations": {
306
+ "type": [
307
+ "boolean",
308
+ "object"
309
+ ],
310
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
311
+ "default": false
312
+ },
297
313
  "axisExtent": {
298
314
  "type": "string",
299
315
  "enum": [
@@ -493,6 +509,14 @@
493
509
  ]
494
510
  }
495
511
  },
512
+ "autoPlaceAnnotations": {
513
+ "type": [
514
+ "boolean",
515
+ "object"
516
+ ],
517
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
518
+ "default": false
519
+ },
496
520
  "axisExtent": {
497
521
  "type": "string",
498
522
  "enum": [
@@ -667,6 +691,14 @@
667
691
  ]
668
692
  }
669
693
  },
694
+ "autoPlaceAnnotations": {
695
+ "type": [
696
+ "boolean",
697
+ "object"
698
+ ],
699
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
700
+ "default": false
701
+ },
670
702
  "axisExtent": {
671
703
  "type": "string",
672
704
  "enum": [
@@ -837,6 +869,14 @@
837
869
  ]
838
870
  }
839
871
  },
872
+ "autoPlaceAnnotations": {
873
+ "type": [
874
+ "boolean",
875
+ "object"
876
+ ],
877
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
878
+ "default": false
879
+ },
840
880
  "axisExtent": {
841
881
  "type": "string",
842
882
  "enum": [
@@ -1028,6 +1068,14 @@
1028
1068
  ]
1029
1069
  }
1030
1070
  },
1071
+ "autoPlaceAnnotations": {
1072
+ "type": [
1073
+ "boolean",
1074
+ "object"
1075
+ ],
1076
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
1077
+ "default": false
1078
+ },
1031
1079
  "axisExtent": {
1032
1080
  "type": "string",
1033
1081
  "enum": [
@@ -1164,6 +1212,14 @@
1164
1212
  ]
1165
1213
  }
1166
1214
  },
1215
+ "autoPlaceAnnotations": {
1216
+ "type": [
1217
+ "boolean",
1218
+ "object"
1219
+ ],
1220
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
1221
+ "default": false
1222
+ },
1167
1223
  "axisExtent": {
1168
1224
  "type": "string",
1169
1225
  "enum": [
@@ -1329,6 +1385,14 @@
1329
1385
  ]
1330
1386
  }
1331
1387
  },
1388
+ "autoPlaceAnnotations": {
1389
+ "type": [
1390
+ "boolean",
1391
+ "object"
1392
+ ],
1393
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
1394
+ "default": false
1395
+ },
1332
1396
  "axisExtent": {
1333
1397
  "type": "string",
1334
1398
  "enum": [
@@ -1497,6 +1561,14 @@
1497
1561
  ]
1498
1562
  }
1499
1563
  },
1564
+ "autoPlaceAnnotations": {
1565
+ "type": [
1566
+ "boolean",
1567
+ "object"
1568
+ ],
1569
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
1570
+ "default": false
1571
+ },
1500
1572
  "axisExtent": {
1501
1573
  "type": "string",
1502
1574
  "enum": [
@@ -1662,6 +1734,14 @@
1662
1734
  ]
1663
1735
  }
1664
1736
  },
1737
+ "autoPlaceAnnotations": {
1738
+ "type": [
1739
+ "boolean",
1740
+ "object"
1741
+ ],
1742
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
1743
+ "default": false
1744
+ },
1665
1745
  "axisExtent": {
1666
1746
  "type": "string",
1667
1747
  "enum": [
@@ -1833,6 +1913,14 @@
1833
1913
  ]
1834
1914
  }
1835
1915
  },
1916
+ "autoPlaceAnnotations": {
1917
+ "type": [
1918
+ "boolean",
1919
+ "object"
1920
+ ],
1921
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
1922
+ "default": false
1923
+ },
1836
1924
  "axisExtent": {
1837
1925
  "type": "string",
1838
1926
  "enum": [
@@ -1998,6 +2086,14 @@
1998
2086
  ]
1999
2087
  }
2000
2088
  },
2089
+ "autoPlaceAnnotations": {
2090
+ "type": [
2091
+ "boolean",
2092
+ "object"
2093
+ ],
2094
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
2095
+ "default": false
2096
+ },
2001
2097
  "axisExtent": {
2002
2098
  "type": "string",
2003
2099
  "enum": [
@@ -2156,6 +2252,14 @@
2156
2252
  ]
2157
2253
  }
2158
2254
  },
2255
+ "autoPlaceAnnotations": {
2256
+ "type": [
2257
+ "boolean",
2258
+ "object"
2259
+ ],
2260
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
2261
+ "default": false
2262
+ },
2159
2263
  "axisExtent": {
2160
2264
  "type": "string",
2161
2265
  "enum": [
@@ -2328,6 +2432,14 @@
2328
2432
  ]
2329
2433
  }
2330
2434
  },
2435
+ "autoPlaceAnnotations": {
2436
+ "type": [
2437
+ "boolean",
2438
+ "object"
2439
+ ],
2440
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
2441
+ "default": false
2442
+ },
2331
2443
  "axisExtent": {
2332
2444
  "type": "string",
2333
2445
  "enum": [
@@ -2481,6 +2593,14 @@
2481
2593
  ]
2482
2594
  }
2483
2595
  },
2596
+ "autoPlaceAnnotations": {
2597
+ "type": [
2598
+ "boolean",
2599
+ "object"
2600
+ ],
2601
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
2602
+ "default": false
2603
+ },
2484
2604
  "axisExtent": {
2485
2605
  "type": "string",
2486
2606
  "enum": [
@@ -2648,6 +2768,14 @@
2648
2768
  ]
2649
2769
  }
2650
2770
  },
2771
+ "autoPlaceAnnotations": {
2772
+ "type": [
2773
+ "boolean",
2774
+ "object"
2775
+ ],
2776
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
2777
+ "default": false
2778
+ },
2651
2779
  "axisExtent": {
2652
2780
  "type": "string",
2653
2781
  "enum": [
@@ -2802,6 +2930,14 @@
2802
2930
  ]
2803
2931
  }
2804
2932
  },
2933
+ "autoPlaceAnnotations": {
2934
+ "type": [
2935
+ "boolean",
2936
+ "object"
2937
+ ],
2938
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
2939
+ "default": false
2940
+ },
2805
2941
  "axisExtent": {
2806
2942
  "type": "string",
2807
2943
  "enum": [
@@ -2949,6 +3085,14 @@
2949
3085
  ]
2950
3086
  }
2951
3087
  },
3088
+ "autoPlaceAnnotations": {
3089
+ "type": [
3090
+ "boolean",
3091
+ "object"
3092
+ ],
3093
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
3094
+ "default": false
3095
+ },
2952
3096
  "axisExtent": {
2953
3097
  "type": "string",
2954
3098
  "enum": [
@@ -3109,6 +3253,14 @@
3109
3253
  ]
3110
3254
  }
3111
3255
  },
3256
+ "autoPlaceAnnotations": {
3257
+ "type": [
3258
+ "boolean",
3259
+ "object"
3260
+ ],
3261
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
3262
+ "default": false
3263
+ },
3112
3264
  "axisExtent": {
3113
3265
  "type": "string",
3114
3266
  "enum": [
@@ -3251,6 +3403,14 @@
3251
3403
  ]
3252
3404
  }
3253
3405
  },
3406
+ "autoPlaceAnnotations": {
3407
+ "type": [
3408
+ "boolean",
3409
+ "object"
3410
+ ],
3411
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
3412
+ "default": false
3413
+ },
3254
3414
  "axisExtent": {
3255
3415
  "type": "string",
3256
3416
  "enum": [
@@ -3417,6 +3577,14 @@
3417
3577
  ]
3418
3578
  }
3419
3579
  },
3580
+ "autoPlaceAnnotations": {
3581
+ "type": [
3582
+ "boolean",
3583
+ "object"
3584
+ ],
3585
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
3586
+ "default": false
3587
+ },
3420
3588
  "axisExtent": {
3421
3589
  "type": "string",
3422
3590
  "enum": [
@@ -3546,6 +3714,14 @@
3546
3714
  ]
3547
3715
  }
3548
3716
  },
3717
+ "autoPlaceAnnotations": {
3718
+ "type": [
3719
+ "boolean",
3720
+ "object"
3721
+ ],
3722
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
3723
+ "default": false
3724
+ },
3549
3725
  "axisExtent": {
3550
3726
  "type": "string",
3551
3727
  "enum": [
@@ -3687,6 +3863,14 @@
3687
3863
  ]
3688
3864
  }
3689
3865
  },
3866
+ "autoPlaceAnnotations": {
3867
+ "type": [
3868
+ "boolean",
3869
+ "object"
3870
+ ],
3871
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
3872
+ "default": false
3873
+ },
3690
3874
  "axisExtent": {
3691
3875
  "type": "string",
3692
3876
  "enum": [
@@ -3850,6 +4034,14 @@
3850
4034
  ]
3851
4035
  }
3852
4036
  },
4037
+ "autoPlaceAnnotations": {
4038
+ "type": [
4039
+ "boolean",
4040
+ "object"
4041
+ ],
4042
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
4043
+ "default": false
4044
+ },
3853
4045
  "axisExtent": {
3854
4046
  "type": "string",
3855
4047
  "enum": [
@@ -4042,6 +4234,14 @@
4042
4234
  ]
4043
4235
  }
4044
4236
  },
4237
+ "autoPlaceAnnotations": {
4238
+ "type": [
4239
+ "boolean",
4240
+ "object"
4241
+ ],
4242
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
4243
+ "default": false
4244
+ },
4045
4245
  "axisExtent": {
4046
4246
  "type": "string",
4047
4247
  "enum": [
@@ -4239,6 +4439,14 @@
4239
4439
  ]
4240
4440
  }
4241
4441
  },
4442
+ "autoPlaceAnnotations": {
4443
+ "type": [
4444
+ "boolean",
4445
+ "object"
4446
+ ],
4447
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
4448
+ "default": false
4449
+ },
4242
4450
  "axisExtent": {
4243
4451
  "type": "string",
4244
4452
  "enum": [
@@ -4414,6 +4622,14 @@
4414
4622
  ]
4415
4623
  }
4416
4624
  },
4625
+ "autoPlaceAnnotations": {
4626
+ "type": [
4627
+ "boolean",
4628
+ "object"
4629
+ ],
4630
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
4631
+ "default": false
4632
+ },
4417
4633
  "axisExtent": {
4418
4634
  "type": "string",
4419
4635
  "enum": [
@@ -4593,6 +4809,14 @@
4593
4809
  ]
4594
4810
  }
4595
4811
  },
4812
+ "autoPlaceAnnotations": {
4813
+ "type": [
4814
+ "boolean",
4815
+ "object"
4816
+ ],
4817
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
4818
+ "default": false
4819
+ },
4596
4820
  "axisExtent": {
4597
4821
  "type": "string",
4598
4822
  "enum": [
@@ -4738,6 +4962,14 @@
4738
4962
  ]
4739
4963
  }
4740
4964
  },
4965
+ "autoPlaceAnnotations": {
4966
+ "type": [
4967
+ "boolean",
4968
+ "object"
4969
+ ],
4970
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
4971
+ "default": false
4972
+ },
4741
4973
  "axisExtent": {
4742
4974
  "type": "string",
4743
4975
  "enum": [
@@ -4887,6 +5119,14 @@
4887
5119
  ]
4888
5120
  }
4889
5121
  },
5122
+ "autoPlaceAnnotations": {
5123
+ "type": [
5124
+ "boolean",
5125
+ "object"
5126
+ ],
5127
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
5128
+ "default": false
5129
+ },
4890
5130
  "axisExtent": {
4891
5131
  "type": "string",
4892
5132
  "enum": [
@@ -5099,6 +5339,13 @@
5099
5339
  ]
5100
5340
  }
5101
5341
  },
5342
+ "autoPlaceAnnotations": {
5343
+ "type": [
5344
+ "boolean",
5345
+ "object"
5346
+ ],
5347
+ "description": "Opt-in annotation placement pass for note-like annotations without manual offsets."
5348
+ },
5102
5349
  "decay": {
5103
5350
  "type": "object",
5104
5351
  "description": "Decay config: { type, halfLife, minOpacity }"
@@ -5248,6 +5495,13 @@
5248
5495
  ]
5249
5496
  }
5250
5497
  },
5498
+ "autoPlaceAnnotations": {
5499
+ "type": [
5500
+ "boolean",
5501
+ "object"
5502
+ ],
5503
+ "description": "Opt-in annotation placement pass for note-like annotations without manual offsets."
5504
+ },
5251
5505
  "decay": {
5252
5506
  "type": "object",
5253
5507
  "description": "Decay config: { type, halfLife, minOpacity }"
@@ -5445,6 +5699,13 @@
5445
5699
  ]
5446
5700
  }
5447
5701
  },
5702
+ "autoPlaceAnnotations": {
5703
+ "type": [
5704
+ "boolean",
5705
+ "object"
5706
+ ],
5707
+ "description": "Opt-in annotation placement pass for note-like annotations without manual offsets."
5708
+ },
5448
5709
  "decay": {
5449
5710
  "type": "object",
5450
5711
  "description": "Decay config: { type, halfLife, minOpacity }"
@@ -5609,6 +5870,13 @@
5609
5870
  ]
5610
5871
  }
5611
5872
  },
5873
+ "autoPlaceAnnotations": {
5874
+ "type": [
5875
+ "boolean",
5876
+ "object"
5877
+ ],
5878
+ "description": "Opt-in annotation placement pass for note-like annotations without manual offsets."
5879
+ },
5612
5880
  "decay": {
5613
5881
  "type": "object",
5614
5882
  "description": "Decay config: { type, halfLife, minOpacity }"
@@ -5770,6 +6038,13 @@
5770
6038
  ]
5771
6039
  }
5772
6040
  },
6041
+ "autoPlaceAnnotations": {
6042
+ "type": [
6043
+ "boolean",
6044
+ "object"
6045
+ ],
6046
+ "description": "Opt-in annotation placement pass for note-like annotations without manual offsets."
6047
+ },
5773
6048
  "decay": {
5774
6049
  "type": "object",
5775
6050
  "description": "Decay config: { type, halfLife, minOpacity }"
@@ -5891,6 +6166,14 @@
5891
6166
  ]
5892
6167
  }
5893
6168
  },
6169
+ "autoPlaceAnnotations": {
6170
+ "type": [
6171
+ "boolean",
6172
+ "object"
6173
+ ],
6174
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
6175
+ "default": false
6176
+ },
5894
6177
  "axisExtent": {
5895
6178
  "type": "string",
5896
6179
  "enum": [
@@ -6064,6 +6347,14 @@
6064
6347
  ]
6065
6348
  }
6066
6349
  },
6350
+ "autoPlaceAnnotations": {
6351
+ "type": [
6352
+ "boolean",
6353
+ "object"
6354
+ ],
6355
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
6356
+ "default": false
6357
+ },
6067
6358
  "axisExtent": {
6068
6359
  "type": "string",
6069
6360
  "enum": [
@@ -6255,6 +6546,14 @@
6255
6546
  ]
6256
6547
  }
6257
6548
  },
6549
+ "autoPlaceAnnotations": {
6550
+ "type": [
6551
+ "boolean",
6552
+ "object"
6553
+ ],
6554
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
6555
+ "default": false
6556
+ },
6258
6557
  "axisExtent": {
6259
6558
  "type": "string",
6260
6559
  "enum": [
@@ -6368,6 +6667,14 @@
6368
6667
  ]
6369
6668
  }
6370
6669
  },
6670
+ "autoPlaceAnnotations": {
6671
+ "type": [
6672
+ "boolean",
6673
+ "object"
6674
+ ],
6675
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
6676
+ "default": false
6677
+ },
6371
6678
  "axisExtent": {
6372
6679
  "type": "string",
6373
6680
  "enum": [
@@ -6476,6 +6783,14 @@
6476
6783
  ]
6477
6784
  }
6478
6785
  },
6786
+ "autoPlaceAnnotations": {
6787
+ "type": [
6788
+ "boolean",
6789
+ "object"
6790
+ ],
6791
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
6792
+ "default": false
6793
+ },
6479
6794
  "axisExtent": {
6480
6795
  "type": "string",
6481
6796
  "enum": [
@@ -6599,6 +6914,14 @@
6599
6914
  ]
6600
6915
  }
6601
6916
  },
6917
+ "autoPlaceAnnotations": {
6918
+ "type": [
6919
+ "boolean",
6920
+ "object"
6921
+ ],
6922
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
6923
+ "default": false
6924
+ },
6602
6925
  "axisExtent": {
6603
6926
  "type": "string",
6604
6927
  "enum": [
@@ -6734,6 +7057,14 @@
6734
7057
  ]
6735
7058
  }
6736
7059
  },
7060
+ "autoPlaceAnnotations": {
7061
+ "type": [
7062
+ "boolean",
7063
+ "object"
7064
+ ],
7065
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
7066
+ "default": false
7067
+ },
6737
7068
  "axisExtent": {
6738
7069
  "type": "string",
6739
7070
  "enum": [
@@ -6858,6 +7189,14 @@
6858
7189
  ]
6859
7190
  }
6860
7191
  },
7192
+ "autoPlaceAnnotations": {
7193
+ "type": [
7194
+ "boolean",
7195
+ "object"
7196
+ ],
7197
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
7198
+ "default": false
7199
+ },
6861
7200
  "axisExtent": {
6862
7201
  "type": "string",
6863
7202
  "enum": [
@@ -6976,6 +7315,14 @@
6976
7315
  ]
6977
7316
  }
6978
7317
  },
7318
+ "autoPlaceAnnotations": {
7319
+ "type": [
7320
+ "boolean",
7321
+ "object"
7322
+ ],
7323
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
7324
+ "default": false
7325
+ },
6979
7326
  "axisExtent": {
6980
7327
  "type": "string",
6981
7328
  "enum": [
@@ -7229,6 +7576,14 @@
7229
7576
  ]
7230
7577
  }
7231
7578
  },
7579
+ "autoPlaceAnnotations": {
7580
+ "type": [
7581
+ "boolean",
7582
+ "object"
7583
+ ],
7584
+ "description": "Opt-in annotation placement pass. Chooses dx/dy for note-like annotations without manual offsets and avoids note/mark/edge overlaps where possible.",
7585
+ "default": false
7586
+ },
7232
7587
  "axisExtent": {
7233
7588
  "type": "string",
7234
7589
  "enum": [
@@ -7489,6 +7844,13 @@
7489
7844
  ]
7490
7845
  }
7491
7846
  },
7847
+ "autoPlaceAnnotations": {
7848
+ "type": [
7849
+ "boolean",
7850
+ "object"
7851
+ ],
7852
+ "description": "Opt-in annotation placement pass for note-like annotations without manual offsets."
7853
+ },
7492
7854
  "fill": {
7493
7855
  "type": "string"
7494
7856
  },
@@ -7530,6 +7892,224 @@
7530
7892
  ]
7531
7893
  }
7532
7894
  }
7895
+ },
7896
+ {
7897
+ "type": "function",
7898
+ "function": {
7899
+ "name": "BigNumber",
7900
+ "description": "Focal-value display: one number, optionally with comparison / target / threshold zones (mapped to semantic theme roles) / four layout modes (tile / presentation / inline / thumbnail). Ships with NO chart-family dependency — embed your own Semiotic chart via two slots: `trendSlot` for wide / rectangular charts (LineChart, AreaChart) under the value, and `chartSlot` for square charts (DonutChart, PieChart, Scatterplot, Treemap) beside the value. The slot context exposes the resolved threshold colour + sentiment + push buffer so embedded charts can theme-link. Forward-looking POC for a future SingleValueFrame.",
7901
+ "parameters": {
7902
+ "type": "object",
7903
+ "properties": {
7904
+ "width": {
7905
+ "type": [
7906
+ "number",
7907
+ "string"
7908
+ ],
7909
+ "description": "Reserved width in pixels (or any CSS length). Mode-keyed defaults: 280 (tile) / 540 (presentation) / unset (inline / thumbnail).",
7910
+ "default": 280
7911
+ },
7912
+ "height": {
7913
+ "type": [
7914
+ "number",
7915
+ "string"
7916
+ ],
7917
+ "description": "Reserved height in pixels (or any CSS length). Mode-keyed defaults: 184 (tile) / 320 (presentation) / unset (inline / thumbnail).",
7918
+ "default": 184
7919
+ },
7920
+ "className": {
7921
+ "type": "string",
7922
+ "description": "Composed with the BEM root class on the outer container."
7923
+ },
7924
+ "value": {
7925
+ "type": "number",
7926
+ "description": "The focal number this card exists to display"
7927
+ },
7928
+ "label": {
7929
+ "type": "string",
7930
+ "description": "Top-line descriptor rendered above the value"
7931
+ },
7932
+ "caption": {
7933
+ "type": "string",
7934
+ "description": "Secondary descriptor, smaller, below the label"
7935
+ },
7936
+ "format": {
7937
+ "type": [
7938
+ "string",
7939
+ "function"
7940
+ ],
7941
+ "enum": [
7942
+ "number",
7943
+ "currency",
7944
+ "percent",
7945
+ "compact",
7946
+ "duration"
7947
+ ],
7948
+ "description": "Number-format shortcut or custom (value) => string",
7949
+ "default": "number"
7950
+ },
7951
+ "locale": {
7952
+ "type": "string",
7953
+ "description": "BCP-47 locale for Intl.NumberFormat",
7954
+ "default": "en-US"
7955
+ },
7956
+ "currency": {
7957
+ "type": "string",
7958
+ "description": "ISO 4217 code for format: \"currency\"",
7959
+ "default": "USD"
7960
+ },
7961
+ "precision": {
7962
+ "type": "number",
7963
+ "description": "maximumFractionDigits passed to Intl.NumberFormat"
7964
+ },
7965
+ "prefix": {
7966
+ "type": "string",
7967
+ "description": "Prepend to formatted value"
7968
+ },
7969
+ "suffix": {
7970
+ "type": "string",
7971
+ "description": "Append to formatted value"
7972
+ },
7973
+ "unit": {
7974
+ "type": "string",
7975
+ "description": "Unit label rendered after the value as small text (e.g. \"USD\", \"req/s\")"
7976
+ },
7977
+ "comparison": {
7978
+ "type": "object",
7979
+ "description": "Comparison value: { value, label?, format?, direction? }. Drives the delta when explicit delta is not set."
7980
+ },
7981
+ "target": {
7982
+ "type": "object",
7983
+ "description": "Target value: { value, label?, format?, direction? }. Renders \"X% of target\" next to the comparison row."
7984
+ },
7985
+ "delta": {
7986
+ "type": "number",
7987
+ "description": "Explicit delta override; bypasses comparison-derived subtraction"
7988
+ },
7989
+ "deltaFormat": {
7990
+ "type": [
7991
+ "string",
7992
+ "function"
7993
+ ],
7994
+ "enum": [
7995
+ "number",
7996
+ "currency",
7997
+ "percent",
7998
+ "compact",
7999
+ "duration"
8000
+ ],
8001
+ "description": "Format the delta; defaults to format"
8002
+ },
8003
+ "showDeltaPercent": {
8004
+ "type": "boolean",
8005
+ "description": "Render percent change next to absolute delta when a comparison is present",
8006
+ "default": true
8007
+ },
8008
+ "direction": {
8009
+ "type": "string",
8010
+ "enum": [
8011
+ "higher-is-better",
8012
+ "lower-is-better",
8013
+ "neutral"
8014
+ ],
8015
+ "description": "Default direction used to infer sentiment from the sign of the delta",
8016
+ "default": "higher-is-better"
8017
+ },
8018
+ "sentiment": {
8019
+ "type": "string",
8020
+ "enum": [
8021
+ "auto",
8022
+ "positive",
8023
+ "negative",
8024
+ "neutral"
8025
+ ],
8026
+ "description": "Force sentiment; \"auto\" infers from direction + delta sign",
8027
+ "default": "auto"
8028
+ },
8029
+ "thresholds": {
8030
+ "type": "array",
8031
+ "description": "Threshold zones: [{ at, level, color?, label? }] ordered ascending by `at`. Resolved by highest `at` ≤ value. `level` maps to a semantic CSS variable (--semiotic-{success|warning|danger|info})."
8032
+ },
8033
+ "chartSize": {
8034
+ "type": "number",
8035
+ "description": "Pixel size reserved for chartSlot (rendered as a square). Mode-keyed defaults: 44 (tile) / 80 (presentation) — sparkline scale; pass a larger value for a hero anchor."
8036
+ },
8037
+ "windowSize": {
8038
+ "type": "number",
8039
+ "description": "Cap on the trend buffer when fed via push API",
8040
+ "default": 60
8041
+ },
8042
+ "mode": {
8043
+ "type": "string",
8044
+ "enum": [
8045
+ "tile",
8046
+ "presentation",
8047
+ "inline",
8048
+ "thumbnail"
8049
+ ],
8050
+ "description": "Layout mode — chrome envelope around the value",
8051
+ "default": "tile"
8052
+ },
8053
+ "align": {
8054
+ "type": "string",
8055
+ "enum": [
8056
+ "start",
8057
+ "center",
8058
+ "end"
8059
+ ],
8060
+ "description": "Horizontal alignment within the card"
8061
+ },
8062
+ "padding": {
8063
+ "type": [
8064
+ "number",
8065
+ "object"
8066
+ ],
8067
+ "description": "Inner padding: number for uniform, or { top, right, bottom, left }"
8068
+ },
8069
+ "emphasis": {
8070
+ "type": "string",
8071
+ "enum": [
8072
+ "primary",
8073
+ "secondary"
8074
+ ],
8075
+ "description": "Visual emphasis hint; \"primary\" spans two ChartGrid columns"
8076
+ },
8077
+ "color": {
8078
+ "type": "string",
8079
+ "description": "Override the value text colour. CSS variables work."
8080
+ },
8081
+ "background": {
8082
+ "type": "string",
8083
+ "description": "Card background. CSS variables work."
8084
+ },
8085
+ "borderColor": {
8086
+ "type": "string"
8087
+ },
8088
+ "borderRadius": {
8089
+ "type": [
8090
+ "number",
8091
+ "string"
8092
+ ]
8093
+ },
8094
+ "animate": {
8095
+ "type": [
8096
+ "boolean",
8097
+ "object"
8098
+ ],
8099
+ "description": "Tween between value changes. true = 300ms ease-out + intro. Object: { duration?, easing?: \"linear\"|\"ease-out\", intro? }"
8100
+ },
8101
+ "stalenessThreshold": {
8102
+ "type": "number",
8103
+ "description": "Mark stale (dimmed) when no push occurs for this many ms"
8104
+ },
8105
+ "staleLabel": {
8106
+ "type": "string",
8107
+ "default": "stale"
8108
+ }
8109
+ },
8110
+ "required": []
8111
+ }
8112
+ }
7533
8113
  }
7534
8114
  ]
7535
8115
  }