@genome-spy/core 0.77.0 → 0.79.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 (317) hide show
  1. package/dist/bundle/{browser-KWU9rWZT.js → browser-CETrb2cm.js} +53 -33
  2. package/dist/bundle/esm-BdLYkz-m.js +248 -0
  3. package/dist/bundle/esm-BwiDsqSb.js +1367 -0
  4. package/dist/bundle/esm-CDFd1cjk.js +441 -0
  5. package/dist/bundle/{esm-CRMf_I9V.js → esm-CTUHLDbv.js} +30 -30
  6. package/dist/bundle/esm-Cx-EbkOj.js +1221 -0
  7. package/dist/bundle/esm-DlYGqi79.js +128 -0
  8. package/dist/bundle/{esm-BygJiwh0.js → esm-k9p3oHkt.js} +133 -158
  9. package/dist/bundle/{esm-CT3ygiMq.js → esm-zAZJQO6D.js} +226 -212
  10. package/dist/bundle/index.es.js +14102 -10810
  11. package/dist/bundle/index.js +109 -95
  12. package/dist/bundle/{parquetRead-DG_-F5j5.js → parquetRead-Cad1SOVV.js} +473 -399
  13. package/dist/schema.json +23788 -11049
  14. package/dist/src/config/axisConfig.d.ts +2 -2
  15. package/dist/src/config/axisConfig.d.ts.map +1 -1
  16. package/dist/src/config/axisConfig.js +28 -44
  17. package/dist/src/config/configLayers.d.ts +45 -0
  18. package/dist/src/config/configLayers.d.ts.map +1 -0
  19. package/dist/src/config/configLayers.js +110 -0
  20. package/dist/src/config/defaultConfig.d.ts.map +1 -1
  21. package/dist/src/config/defaultConfig.js +8 -1
  22. package/dist/src/config/defaults/legendDefaults.d.ts +14 -0
  23. package/dist/src/config/defaults/legendDefaults.d.ts.map +1 -0
  24. package/dist/src/config/defaults/legendDefaults.js +46 -0
  25. package/dist/src/config/defaults/titleDefaults.d.ts.map +1 -1
  26. package/dist/src/config/defaults/titleDefaults.js +26 -18
  27. package/dist/src/config/legendConfig.d.ts +11 -0
  28. package/dist/src/config/legendConfig.d.ts.map +1 -0
  29. package/dist/src/config/legendConfig.js +63 -0
  30. package/dist/src/config/styleUtils.d.ts +8 -2
  31. package/dist/src/config/styleUtils.d.ts.map +1 -1
  32. package/dist/src/config/styleUtils.js +25 -1
  33. package/dist/src/config/themes.d.ts.map +1 -1
  34. package/dist/src/config/themes.js +21 -2
  35. package/dist/src/config/titleConfig.d.ts.map +1 -1
  36. package/dist/src/config/titleConfig.js +2 -18
  37. package/dist/src/data/collector.d.ts.map +1 -1
  38. package/dist/src/data/collector.js +40 -18
  39. package/dist/src/data/flowInit.d.ts +6 -0
  40. package/dist/src/data/flowInit.d.ts.map +1 -1
  41. package/dist/src/data/flowInit.js +1 -1
  42. package/dist/src/data/flowNode.d.ts +32 -0
  43. package/dist/src/data/flowNode.d.ts.map +1 -1
  44. package/dist/src/data/flowNode.js +59 -0
  45. package/dist/src/data/sources/lazy/bamSource.d.ts +0 -1
  46. package/dist/src/data/sources/lazy/bamSource.d.ts.map +1 -1
  47. package/dist/src/data/sources/lazy/bamSource.js +39 -30
  48. package/dist/src/data/sources/lazy/bigBedSource.d.ts +0 -10
  49. package/dist/src/data/sources/lazy/bigBedSource.d.ts.map +1 -1
  50. package/dist/src/data/sources/lazy/bigBedSource.js +127 -62
  51. package/dist/src/data/sources/lazy/bigWigSource.d.ts +2 -2
  52. package/dist/src/data/sources/lazy/bigWigSource.d.ts.map +1 -1
  53. package/dist/src/data/sources/lazy/bigWigSource.js +234 -81
  54. package/dist/src/data/sources/lazy/gff3Source.d.ts +7 -3
  55. package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -1
  56. package/dist/src/data/sources/lazy/gff3Source.js +7 -8
  57. package/dist/src/data/sources/lazy/indexedFastaSource.d.ts +1 -1
  58. package/dist/src/data/sources/lazy/indexedFastaSource.d.ts.map +1 -1
  59. package/dist/src/data/sources/lazy/indexedFastaSource.js +28 -19
  60. package/dist/src/data/sources/lazy/legendEntriesSource.d.ts +24 -0
  61. package/dist/src/data/sources/lazy/legendEntriesSource.d.ts.map +1 -0
  62. package/dist/src/data/sources/lazy/legendEntriesSource.js +217 -0
  63. package/dist/src/data/sources/lazy/legendGradientSource.d.ts +30 -0
  64. package/dist/src/data/sources/lazy/legendGradientSource.d.ts.map +1 -0
  65. package/dist/src/data/sources/lazy/legendGradientSource.js +388 -0
  66. package/dist/src/data/sources/lazy/mockLazySource.d.ts +4 -1
  67. package/dist/src/data/sources/lazy/mockLazySource.d.ts.map +1 -1
  68. package/dist/src/data/sources/lazy/mockLazySource.js +49 -4
  69. package/dist/src/data/sources/lazy/registerCoreLazySources.js +2 -0
  70. package/dist/src/data/sources/lazy/singleAxisWindowedSource.d.ts.map +1 -1
  71. package/dist/src/data/sources/lazy/singleAxisWindowedSource.js +3 -4
  72. package/dist/src/data/sources/lazy/tabixSource.d.ts +9 -4
  73. package/dist/src/data/sources/lazy/tabixSource.d.ts.map +1 -1
  74. package/dist/src/data/sources/lazy/tabixSource.js +201 -70
  75. package/dist/src/data/sources/lazy/tabixTsvSource.d.ts +2 -3
  76. package/dist/src/data/sources/lazy/tabixTsvSource.d.ts.map +1 -1
  77. package/dist/src/data/sources/lazy/tabixTsvSource.js +14 -12
  78. package/dist/src/data/sources/lazy/vcfSource.d.ts +7 -3
  79. package/dist/src/data/sources/lazy/vcfSource.d.ts.map +1 -1
  80. package/dist/src/data/sources/lazy/vcfSource.js +7 -8
  81. package/dist/src/data/sources/urlDescriptor.d.ts +165 -0
  82. package/dist/src/data/sources/urlDescriptor.d.ts.map +1 -0
  83. package/dist/src/data/sources/urlDescriptor.js +473 -0
  84. package/dist/src/data/sources/urlDescriptorController.d.ts +25 -0
  85. package/dist/src/data/sources/urlDescriptorController.d.ts.map +1 -0
  86. package/dist/src/data/sources/urlDescriptorController.js +72 -0
  87. package/dist/src/data/sources/urlDescriptorState.d.ts +47 -0
  88. package/dist/src/data/sources/urlDescriptorState.d.ts.map +1 -0
  89. package/dist/src/data/sources/urlDescriptorState.js +129 -0
  90. package/dist/src/data/sources/urlSource.d.ts.map +1 -1
  91. package/dist/src/data/sources/urlSource.js +101 -61
  92. package/dist/src/data/transforms/packLegendLabels.d.ts +21 -0
  93. package/dist/src/data/transforms/packLegendLabels.d.ts.map +1 -0
  94. package/dist/src/data/transforms/packLegendLabels.js +189 -0
  95. package/dist/src/data/transforms/transformFactory.d.ts.map +1 -1
  96. package/dist/src/data/transforms/transformFactory.js +4 -0
  97. package/dist/src/data/transforms/truncateText.d.ts +27 -0
  98. package/dist/src/data/transforms/truncateText.d.ts.map +1 -0
  99. package/dist/src/data/transforms/truncateText.js +94 -0
  100. package/dist/src/debug/dataflowDebugSnapshot.d.ts +58 -0
  101. package/dist/src/debug/dataflowDebugSnapshot.d.ts.map +1 -0
  102. package/dist/src/debug/dataflowDebugSnapshot.js +159 -0
  103. package/dist/src/debug/markDebugSnapshot.d.ts +54 -0
  104. package/dist/src/debug/markDebugSnapshot.d.ts.map +1 -0
  105. package/dist/src/debug/markDebugSnapshot.js +100 -0
  106. package/dist/src/debug/paramDebugSnapshot.d.ts +53 -0
  107. package/dist/src/debug/paramDebugSnapshot.d.ts.map +1 -0
  108. package/dist/src/debug/paramDebugSnapshot.js +86 -0
  109. package/dist/src/debug/resolutionDebugSnapshot.d.ts +155 -0
  110. package/dist/src/debug/resolutionDebugSnapshot.d.ts.map +1 -0
  111. package/dist/src/debug/resolutionDebugSnapshot.js +291 -0
  112. package/dist/src/debug/valuePreview.d.ts +9 -0
  113. package/dist/src/debug/valuePreview.d.ts.map +1 -0
  114. package/dist/src/debug/valuePreview.js +57 -0
  115. package/dist/src/debug/viewDebugSnapshot.d.ts +131 -0
  116. package/dist/src/debug/viewDebugSnapshot.d.ts.map +1 -0
  117. package/dist/src/debug/viewDebugSnapshot.js +390 -0
  118. package/dist/src/embedFactory.d.ts.map +1 -1
  119. package/dist/src/embedFactory.js +6 -1
  120. package/dist/src/encoder/encoder.d.ts +2 -2
  121. package/dist/src/encoder/encoder.d.ts.map +1 -1
  122. package/dist/src/encoder/encoder.js +5 -4
  123. package/dist/src/fonts/bmFontManager.d.ts +1 -1
  124. package/dist/src/fonts/bmFontManager.d.ts.map +1 -1
  125. package/dist/src/fonts/bmFontManager.js +45 -10
  126. package/dist/src/fonts/textMetrics.d.ts +69 -0
  127. package/dist/src/fonts/textMetrics.d.ts.map +1 -0
  128. package/dist/src/fonts/textMetrics.js +73 -0
  129. package/dist/src/genomeSpy/headlessBootstrap.d.ts.map +1 -1
  130. package/dist/src/genomeSpy/headlessBootstrap.js +8 -0
  131. package/dist/src/genomeSpy/interactionController.d.ts +4 -1
  132. package/dist/src/genomeSpy/interactionController.d.ts.map +1 -1
  133. package/dist/src/genomeSpy/interactionController.js +57 -13
  134. package/dist/src/genomeSpy/renderCoordinator.d.ts.map +1 -1
  135. package/dist/src/genomeSpy/renderCoordinator.js +25 -3
  136. package/dist/src/genomeSpy/viewDataInit.d.ts +14 -0
  137. package/dist/src/genomeSpy/viewDataInit.d.ts.map +1 -1
  138. package/dist/src/genomeSpy/viewDataInit.js +45 -8
  139. package/dist/src/genomeSpyBase.d.ts +6 -0
  140. package/dist/src/genomeSpyBase.d.ts.map +1 -1
  141. package/dist/src/genomeSpyBase.js +25 -4
  142. package/dist/src/gl/glslScaleGenerator.d.ts +17 -0
  143. package/dist/src/gl/glslScaleGenerator.d.ts.map +1 -1
  144. package/dist/src/gl/glslScaleGenerator.js +39 -2
  145. package/dist/src/gl/includes/common.glsl.js +1 -1
  146. package/dist/src/gl/vertexRangeIndex.d.ts.map +1 -1
  147. package/dist/src/gl/vertexRangeIndex.js +4 -2
  148. package/dist/src/gl/webGLHelper.d.ts +1 -1
  149. package/dist/src/gl/webGLHelper.d.ts.map +1 -1
  150. package/dist/src/gl/webGLHelper.js +13 -8
  151. package/dist/src/marks/__snapshots__/shaderSnapshot.test.js.snap +140 -3
  152. package/dist/src/marks/mark.d.ts +47 -4
  153. package/dist/src/marks/mark.d.ts.map +1 -1
  154. package/dist/src/marks/mark.js +158 -54
  155. package/dist/src/marks/point.d.ts.map +1 -1
  156. package/dist/src/marks/point.js +4 -0
  157. package/dist/src/marks/point.vertex.glsl.js +1 -1
  158. package/dist/src/marks/text.d.ts +1 -1
  159. package/dist/src/marks/text.d.ts.map +1 -1
  160. package/dist/src/marks/text.js +2 -7
  161. package/dist/src/marks/text.vertex.glsl.js +1 -1
  162. package/dist/src/paramRuntime/paramUtils.d.ts +43 -9
  163. package/dist/src/paramRuntime/paramUtils.d.ts.map +1 -1
  164. package/dist/src/paramRuntime/paramUtils.js +61 -1
  165. package/dist/src/paramRuntime/viewParamRuntime.d.ts +32 -0
  166. package/dist/src/paramRuntime/viewParamRuntime.d.ts.map +1 -1
  167. package/dist/src/paramRuntime/viewParamRuntime.js +63 -0
  168. package/dist/src/scales/axisResolution.d.ts +35 -0
  169. package/dist/src/scales/axisResolution.d.ts.map +1 -1
  170. package/dist/src/scales/axisResolution.js +115 -7
  171. package/dist/src/scales/domainExpressions.d.ts +21 -0
  172. package/dist/src/scales/domainExpressions.d.ts.map +1 -0
  173. package/dist/src/scales/domainExpressions.js +43 -0
  174. package/dist/src/scales/domainPlanner.d.ts +12 -1
  175. package/dist/src/scales/domainPlanner.d.ts.map +1 -1
  176. package/dist/src/scales/domainPlanner.js +55 -36
  177. package/dist/src/scales/legendResolution.d.ts +83 -0
  178. package/dist/src/scales/legendResolution.d.ts.map +1 -0
  179. package/dist/src/scales/legendResolution.js +461 -0
  180. package/dist/src/scales/scaleInstanceManager.d.ts +1 -0
  181. package/dist/src/scales/scaleInstanceManager.d.ts.map +1 -1
  182. package/dist/src/scales/scaleInstanceManager.js +5 -0
  183. package/dist/src/scales/scalePropsResolver.d.ts +6 -1
  184. package/dist/src/scales/scalePropsResolver.d.ts.map +1 -1
  185. package/dist/src/scales/scalePropsResolver.js +35 -10
  186. package/dist/src/scales/scaleResolution.d.ts +52 -0
  187. package/dist/src/scales/scaleResolution.d.ts.map +1 -1
  188. package/dist/src/scales/scaleResolution.js +195 -16
  189. package/dist/src/scales/scaleRules.d.ts +10 -0
  190. package/dist/src/scales/scaleRules.d.ts.map +1 -1
  191. package/dist/src/scales/scaleRules.js +38 -1
  192. package/dist/src/scales/viewLevelGuideConfig.d.ts +53 -0
  193. package/dist/src/scales/viewLevelGuideConfig.d.ts.map +1 -0
  194. package/dist/src/scales/viewLevelGuideConfig.js +224 -0
  195. package/dist/src/scales/viewLevelScaleConfig.d.ts +45 -0
  196. package/dist/src/scales/viewLevelScaleConfig.d.ts.map +1 -0
  197. package/dist/src/scales/viewLevelScaleConfig.js +149 -0
  198. package/dist/src/spec/axis.d.ts +109 -3
  199. package/dist/src/spec/channel.d.ts +23 -4
  200. package/dist/src/spec/config.d.ts +59 -4
  201. package/dist/src/spec/data.d.ts +177 -17
  202. package/dist/src/spec/legend.d.ts +246 -0
  203. package/dist/src/spec/mark.d.ts +16 -4
  204. package/dist/src/spec/scale.d.ts +19 -6
  205. package/dist/src/spec/title.d.ts +58 -1
  206. package/dist/src/spec/transform.d.ts +149 -0
  207. package/dist/src/spec/view.d.ts +50 -6
  208. package/dist/src/styles/genome-spy.css +4 -1
  209. package/dist/src/styles/genome-spy.css.d.ts +1 -1
  210. package/dist/src/styles/genome-spy.css.d.ts.map +1 -1
  211. package/dist/src/styles/genome-spy.css.js +4 -1
  212. package/dist/src/types/embedApi.d.ts +262 -6
  213. package/dist/src/types/rendering.d.ts +19 -3
  214. package/dist/src/types/viewContext.d.ts +18 -2
  215. package/dist/src/utils/arrayUtils.d.ts +11 -0
  216. package/dist/src/utils/arrayUtils.d.ts.map +1 -1
  217. package/dist/src/utils/arrayUtils.js +23 -0
  218. package/dist/src/utils/suspension.d.ts +17 -0
  219. package/dist/src/utils/suspension.d.ts.map +1 -0
  220. package/dist/src/utils/suspension.js +41 -0
  221. package/dist/src/utils/ui/tooltip.d.ts +4 -0
  222. package/dist/src/utils/ui/tooltip.d.ts.map +1 -1
  223. package/dist/src/utils/ui/tooltip.js +35 -10
  224. package/dist/src/view/axisGridView.d.ts.map +1 -1
  225. package/dist/src/view/axisGridView.js +1 -4
  226. package/dist/src/view/axisView.d.ts +18 -2
  227. package/dist/src/view/axisView.d.ts.map +1 -1
  228. package/dist/src/view/axisView.js +180 -75
  229. package/dist/src/view/concatView.d.ts +10 -2
  230. package/dist/src/view/concatView.d.ts.map +1 -1
  231. package/dist/src/view/concatView.js +46 -9
  232. package/dist/src/view/containerMutationHelper.d.ts +20 -1
  233. package/dist/src/view/containerMutationHelper.d.ts.map +1 -1
  234. package/dist/src/view/containerMutationHelper.js +203 -32
  235. package/dist/src/view/facetView.d.ts +1 -1
  236. package/dist/src/view/gridView/gridChild.d.ts +54 -4
  237. package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
  238. package/dist/src/view/gridView/gridChild.js +301 -120
  239. package/dist/src/view/gridView/gridChildLegends.d.ts +57 -0
  240. package/dist/src/view/gridView/gridChildLegends.d.ts.map +1 -0
  241. package/dist/src/view/gridView/gridChildLegends.js +503 -0
  242. package/dist/src/view/gridView/gridView.d.ts +25 -0
  243. package/dist/src/view/gridView/gridView.d.ts.map +1 -1
  244. package/dist/src/view/gridView/gridView.js +454 -78
  245. package/dist/src/view/gridView/legendLayout.d.ts +26 -0
  246. package/dist/src/view/gridView/legendLayout.d.ts.map +1 -0
  247. package/dist/src/view/gridView/legendLayout.js +111 -0
  248. package/dist/src/view/gridView/scrollbar.d.ts.map +1 -1
  249. package/dist/src/view/gridView/scrollbar.js +1 -4
  250. package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
  251. package/dist/src/view/gridView/selectionRect.js +1 -4
  252. package/dist/src/view/gridView/separatorView.d.ts.map +1 -1
  253. package/dist/src/view/gridView/separatorView.js +1 -4
  254. package/dist/src/view/layerView.d.ts +9 -2
  255. package/dist/src/view/layerView.d.ts.map +1 -1
  256. package/dist/src/view/layerView.js +18 -1
  257. package/dist/src/view/layout/flexLayout.d.ts +20 -4
  258. package/dist/src/view/layout/flexLayout.d.ts.map +1 -1
  259. package/dist/src/view/layout/flexLayout.js +331 -31
  260. package/dist/src/view/layout/rectangle.d.ts +14 -0
  261. package/dist/src/view/layout/rectangle.d.ts.map +1 -1
  262. package/dist/src/view/layout/rectangle.js +40 -0
  263. package/dist/src/view/legend/legendEntries.d.ts +20 -0
  264. package/dist/src/view/legend/legendEntries.d.ts.map +1 -0
  265. package/dist/src/view/legend/legendEntries.js +21 -0
  266. package/dist/src/view/legendView.d.ts +134 -0
  267. package/dist/src/view/legendView.d.ts.map +1 -0
  268. package/dist/src/view/legendView.js +1611 -0
  269. package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts.map +1 -1
  270. package/dist/src/view/renderingContext/bufferedViewRenderingContext.js +26 -4
  271. package/dist/src/view/renderingContext/clipOptions.d.ts +44 -0
  272. package/dist/src/view/renderingContext/clipOptions.d.ts.map +1 -0
  273. package/dist/src/view/renderingContext/clipOptions.js +140 -0
  274. package/dist/src/view/renderingContext/simpleViewRenderingContext.d.ts.map +1 -1
  275. package/dist/src/view/renderingContext/simpleViewRenderingContext.js +12 -1
  276. package/dist/src/view/resolutionPlanner.d.ts +2 -1
  277. package/dist/src/view/resolutionPlanner.d.ts.map +1 -1
  278. package/dist/src/view/resolutionPlanner.js +89 -25
  279. package/dist/src/view/testUtils.d.ts +4 -2
  280. package/dist/src/view/testUtils.d.ts.map +1 -1
  281. package/dist/src/view/testUtils.js +29 -7
  282. package/dist/src/view/titleView.d.ts +37 -0
  283. package/dist/src/view/titleView.d.ts.map +1 -0
  284. package/dist/src/view/titleView.js +584 -0
  285. package/dist/src/view/unitView.d.ts +3 -3
  286. package/dist/src/view/unitView.d.ts.map +1 -1
  287. package/dist/src/view/unitView.js +3 -2
  288. package/dist/src/view/view.d.ts +25 -24
  289. package/dist/src/view/view.d.ts.map +1 -1
  290. package/dist/src/view/view.js +121 -16
  291. package/dist/src/view/viewFactory.d.ts +2 -5
  292. package/dist/src/view/viewFactory.d.ts.map +1 -1
  293. package/dist/src/view/viewFactory.js +1 -2
  294. package/dist/src/view/viewIdentityRegistry.d.ts +37 -0
  295. package/dist/src/view/viewIdentityRegistry.d.ts.map +1 -0
  296. package/dist/src/view/viewIdentityRegistry.js +71 -0
  297. package/dist/src/view/viewMutationAcidTestUtils.d.ts +112 -0
  298. package/dist/src/view/viewMutationAcidTestUtils.d.ts.map +1 -0
  299. package/dist/src/view/viewMutationAcidTestUtils.js +234 -0
  300. package/dist/src/view/viewMutationApi.d.ts +42 -0
  301. package/dist/src/view/viewMutationApi.d.ts.map +1 -0
  302. package/dist/src/view/viewMutationApi.js +811 -0
  303. package/dist/src/view/viewSelectors.d.ts +10 -0
  304. package/dist/src/view/viewSelectors.d.ts.map +1 -1
  305. package/dist/src/view/viewSelectors.js +23 -1
  306. package/package.json +4 -4
  307. package/dist/bundle/esm-0dYHNV_D.js +0 -121
  308. package/dist/bundle/esm-C49STiCR.js +0 -1248
  309. package/dist/bundle/esm-CscjKVDc.js +0 -1426
  310. package/dist/bundle/esm-CuMSzCHy.js +0 -298
  311. package/dist/bundle/esm-DMXpJXM4.js +0 -369
  312. package/dist/src/view/title.d.ts +0 -13
  313. package/dist/src/view/title.d.ts.map +0 -1
  314. package/dist/src/view/title.js +0 -154
  315. /package/dist/bundle/{AbortablePromiseCache-3gHJdF3E.js → AbortablePromiseCache-BTmAcN-t.js} +0 -0
  316. /package/dist/bundle/{esm-CuVa5T98.js → esm-VvpZ9hsq.js} +0 -0
  317. /package/dist/bundle/{chunk-DmhlhrBa.js → rolldown-runtime-Dy4uBu1J.js} +0 -0
@@ -0,0 +1,155 @@
1
+ /**
2
+ * @typedef {object} ResolutionDebugSnapshotOptions
3
+ * @prop {(object: object) => string} getDebugId
4
+ */
5
+ /**
6
+ * @typedef {object} ResolutionDebugSnapshot
7
+ * @prop {ScaleResolutionDebugNode[]} scales
8
+ * @prop {AxisResolutionDebugNode[]} axes
9
+ * @prop {LegendResolutionDebugNode[]} legends
10
+ */
11
+ /**
12
+ * @typedef {object} ScaleResolutionDebugNode
13
+ * @prop {string} id
14
+ * @prop {string | undefined} hostViewId
15
+ * @prop {string | undefined} hostViewPath
16
+ * @prop {string} channel
17
+ * @prop {string | undefined} name
18
+ * @prop {string | null | undefined} type
19
+ * @prop {string | undefined} resolvedScaleType
20
+ * @prop {any[] | undefined} domain
21
+ * @prop {any[] | undefined} complexDomain
22
+ * @prop {any[] | undefined} range
23
+ * @prop {boolean} zoomable
24
+ * @prop {boolean} zoomed
25
+ * @prop {number} activeMemberCount
26
+ * @prop {number} dataDomainMemberCount
27
+ * @prop {ScaleResolutionMemberDebugNode[]} members
28
+ */
29
+ /**
30
+ * @typedef {object} ScaleResolutionMemberDebugNode
31
+ * @prop {string} viewId
32
+ * @prop {string} viewPath
33
+ * @prop {boolean} chrome
34
+ * @prop {string} channel
35
+ * @prop {string | undefined} field
36
+ * @prop {string | undefined} expr
37
+ * @prop {string | undefined} type
38
+ * @prop {boolean} contributesToDomain
39
+ * @prop {boolean} active
40
+ */
41
+ /**
42
+ * @typedef {object} AxisResolutionDebugNode
43
+ * @prop {string} id
44
+ * @prop {string | undefined} hostViewId
45
+ * @prop {string | undefined} hostViewPath
46
+ * @prop {string} channel
47
+ * @prop {string | null | undefined} title
48
+ * @prop {string | undefined} scaleResolutionId
49
+ * @prop {boolean} hasVisibleNonChromeMember
50
+ * @prop {AxisResolutionMemberDebugNode[]} members
51
+ */
52
+ /**
53
+ * @typedef {object} AxisResolutionMemberDebugNode
54
+ * @prop {string} viewId
55
+ * @prop {string} viewPath
56
+ * @prop {boolean} chrome
57
+ * @prop {string} channel
58
+ * @prop {string | undefined} field
59
+ * @prop {string | undefined} expr
60
+ * @prop {string | undefined} type
61
+ */
62
+ /**
63
+ * @typedef {object} LegendResolutionDebugNode
64
+ * @prop {string} id
65
+ * @prop {string | undefined} hostViewId
66
+ * @prop {string | undefined} hostViewPath
67
+ * @prop {string} channel
68
+ * @prop {boolean} hasVisibleNonChromeMember
69
+ * @prop {number} definitionCount
70
+ * @prop {LegendResolutionMemberDebugNode[]} members
71
+ */
72
+ /**
73
+ * @typedef {object} LegendResolutionMemberDebugNode
74
+ * @prop {string} viewId
75
+ * @prop {string} viewPath
76
+ * @prop {boolean} chrome
77
+ * @prop {string} channel
78
+ */
79
+ /**
80
+ * @param {import("../view/view.js").default | undefined} root
81
+ * @param {ResolutionDebugSnapshotOptions} options
82
+ * @returns {ResolutionDebugSnapshot}
83
+ */
84
+ export function createResolutionDebugSnapshot(root: import("../view/view.js").default | undefined, options: ResolutionDebugSnapshotOptions): ResolutionDebugSnapshot;
85
+ export type ResolutionDebugSnapshotOptions = {
86
+ getDebugId: (object: object) => string;
87
+ };
88
+ export type ResolutionDebugSnapshot = {
89
+ scales: ScaleResolutionDebugNode[];
90
+ axes: AxisResolutionDebugNode[];
91
+ legends: LegendResolutionDebugNode[];
92
+ };
93
+ export type ScaleResolutionDebugNode = {
94
+ id: string;
95
+ hostViewId: string | undefined;
96
+ hostViewPath: string | undefined;
97
+ channel: string;
98
+ name: string | undefined;
99
+ type: string | null | undefined;
100
+ resolvedScaleType: string | undefined;
101
+ domain: any[] | undefined;
102
+ complexDomain: any[] | undefined;
103
+ range: any[] | undefined;
104
+ zoomable: boolean;
105
+ zoomed: boolean;
106
+ activeMemberCount: number;
107
+ dataDomainMemberCount: number;
108
+ members: ScaleResolutionMemberDebugNode[];
109
+ };
110
+ export type ScaleResolutionMemberDebugNode = {
111
+ viewId: string;
112
+ viewPath: string;
113
+ chrome: boolean;
114
+ channel: string;
115
+ field: string | undefined;
116
+ expr: string | undefined;
117
+ type: string | undefined;
118
+ contributesToDomain: boolean;
119
+ active: boolean;
120
+ };
121
+ export type AxisResolutionDebugNode = {
122
+ id: string;
123
+ hostViewId: string | undefined;
124
+ hostViewPath: string | undefined;
125
+ channel: string;
126
+ title: string | null | undefined;
127
+ scaleResolutionId: string | undefined;
128
+ hasVisibleNonChromeMember: boolean;
129
+ members: AxisResolutionMemberDebugNode[];
130
+ };
131
+ export type AxisResolutionMemberDebugNode = {
132
+ viewId: string;
133
+ viewPath: string;
134
+ chrome: boolean;
135
+ channel: string;
136
+ field: string | undefined;
137
+ expr: string | undefined;
138
+ type: string | undefined;
139
+ };
140
+ export type LegendResolutionDebugNode = {
141
+ id: string;
142
+ hostViewId: string | undefined;
143
+ hostViewPath: string | undefined;
144
+ channel: string;
145
+ hasVisibleNonChromeMember: boolean;
146
+ definitionCount: number;
147
+ members: LegendResolutionMemberDebugNode[];
148
+ };
149
+ export type LegendResolutionMemberDebugNode = {
150
+ viewId: string;
151
+ viewPath: string;
152
+ chrome: boolean;
153
+ channel: string;
154
+ };
155
+ //# sourceMappingURL=resolutionDebugSnapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolutionDebugSnapshot.d.ts","sourceRoot":"","sources":["../../../src/debug/resolutionDebugSnapshot.js"],"names":[],"mappings":"AAGA;;;GAGG;AAEH;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;GAUG;AAEH;;;;;;;;;GASG;AAEH;;;;;;;;;GASG;AAEH;;;;;;GAMG;AAEH;;;;GAIG;AACH,oDAJW,OAAO,iBAAiB,EAAE,OAAO,GAAG,SAAS,WAC7C,8BAA8B,GAC5B,uBAAuB,CAgCnC;;gBAvHS,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM;;;YAK1B,wBAAwB,EAAE;UAC1B,uBAAuB,EAAE;aACzB,yBAAyB,EAAE;;;QAK3B,MAAM;gBACN,MAAM,GAAG,SAAS;kBAClB,MAAM,GAAG,SAAS;aAClB,MAAM;UACN,MAAM,GAAG,SAAS;UAClB,MAAM,GAAG,IAAI,GAAG,SAAS;uBACzB,MAAM,GAAG,SAAS;YAClB,GAAG,EAAE,GAAG,SAAS;mBACjB,GAAG,EAAE,GAAG,SAAS;WACjB,GAAG,EAAE,GAAG,SAAS;cACjB,OAAO;YACP,OAAO;uBACP,MAAM;2BACN,MAAM;aACN,8BAA8B,EAAE;;;YAKhC,MAAM;cACN,MAAM;YACN,OAAO;aACP,MAAM;WACN,MAAM,GAAG,SAAS;UAClB,MAAM,GAAG,SAAS;UAClB,MAAM,GAAG,SAAS;yBAClB,OAAO;YACP,OAAO;;;QAKP,MAAM;gBACN,MAAM,GAAG,SAAS;kBAClB,MAAM,GAAG,SAAS;aAClB,MAAM;WACN,MAAM,GAAG,IAAI,GAAG,SAAS;uBACzB,MAAM,GAAG,SAAS;+BAClB,OAAO;aACP,6BAA6B,EAAE;;;YAK/B,MAAM;cACN,MAAM;YACN,OAAO;aACP,MAAM;WACN,MAAM,GAAG,SAAS;UAClB,MAAM,GAAG,SAAS;UAClB,MAAM,GAAG,SAAS;;;QAKlB,MAAM;gBACN,MAAM,GAAG,SAAS;kBAClB,MAAM,GAAG,SAAS;aAClB,MAAM;+BACN,OAAO;qBACP,MAAM;aACN,+BAA+B,EAAE;;;YAKjC,MAAM;cACN,MAAM;YACN,OAAO;aACP,MAAM"}
@@ -0,0 +1,291 @@
1
+ import ContainerView from "../view/containerView.js";
2
+ import { isChromeView } from "../view/viewSelectors.js";
3
+
4
+ /**
5
+ * @typedef {object} ResolutionDebugSnapshotOptions
6
+ * @prop {(object: object) => string} getDebugId
7
+ */
8
+
9
+ /**
10
+ * @typedef {object} ResolutionDebugSnapshot
11
+ * @prop {ScaleResolutionDebugNode[]} scales
12
+ * @prop {AxisResolutionDebugNode[]} axes
13
+ * @prop {LegendResolutionDebugNode[]} legends
14
+ */
15
+
16
+ /**
17
+ * @typedef {object} ScaleResolutionDebugNode
18
+ * @prop {string} id
19
+ * @prop {string | undefined} hostViewId
20
+ * @prop {string | undefined} hostViewPath
21
+ * @prop {string} channel
22
+ * @prop {string | undefined} name
23
+ * @prop {string | null | undefined} type
24
+ * @prop {string | undefined} resolvedScaleType
25
+ * @prop {any[] | undefined} domain
26
+ * @prop {any[] | undefined} complexDomain
27
+ * @prop {any[] | undefined} range
28
+ * @prop {boolean} zoomable
29
+ * @prop {boolean} zoomed
30
+ * @prop {number} activeMemberCount
31
+ * @prop {number} dataDomainMemberCount
32
+ * @prop {ScaleResolutionMemberDebugNode[]} members
33
+ */
34
+
35
+ /**
36
+ * @typedef {object} ScaleResolutionMemberDebugNode
37
+ * @prop {string} viewId
38
+ * @prop {string} viewPath
39
+ * @prop {boolean} chrome
40
+ * @prop {string} channel
41
+ * @prop {string | undefined} field
42
+ * @prop {string | undefined} expr
43
+ * @prop {string | undefined} type
44
+ * @prop {boolean} contributesToDomain
45
+ * @prop {boolean} active
46
+ */
47
+
48
+ /**
49
+ * @typedef {object} AxisResolutionDebugNode
50
+ * @prop {string} id
51
+ * @prop {string | undefined} hostViewId
52
+ * @prop {string | undefined} hostViewPath
53
+ * @prop {string} channel
54
+ * @prop {string | null | undefined} title
55
+ * @prop {string | undefined} scaleResolutionId
56
+ * @prop {boolean} hasVisibleNonChromeMember
57
+ * @prop {AxisResolutionMemberDebugNode[]} members
58
+ */
59
+
60
+ /**
61
+ * @typedef {object} AxisResolutionMemberDebugNode
62
+ * @prop {string} viewId
63
+ * @prop {string} viewPath
64
+ * @prop {boolean} chrome
65
+ * @prop {string} channel
66
+ * @prop {string | undefined} field
67
+ * @prop {string | undefined} expr
68
+ * @prop {string | undefined} type
69
+ */
70
+
71
+ /**
72
+ * @typedef {object} LegendResolutionDebugNode
73
+ * @prop {string} id
74
+ * @prop {string | undefined} hostViewId
75
+ * @prop {string | undefined} hostViewPath
76
+ * @prop {string} channel
77
+ * @prop {boolean} hasVisibleNonChromeMember
78
+ * @prop {number} definitionCount
79
+ * @prop {LegendResolutionMemberDebugNode[]} members
80
+ */
81
+
82
+ /**
83
+ * @typedef {object} LegendResolutionMemberDebugNode
84
+ * @prop {string} viewId
85
+ * @prop {string} viewPath
86
+ * @prop {boolean} chrome
87
+ * @prop {string} channel
88
+ */
89
+
90
+ /**
91
+ * @param {import("../view/view.js").default | undefined} root
92
+ * @param {ResolutionDebugSnapshotOptions} options
93
+ * @returns {ResolutionDebugSnapshot}
94
+ */
95
+ export function createResolutionDebugSnapshot(root, options) {
96
+ if (!root) {
97
+ return {
98
+ scales: [],
99
+ axes: [],
100
+ legends: [],
101
+ };
102
+ }
103
+
104
+ const scaleResolutions = new Set();
105
+ const axisResolutions = new Set();
106
+ const legendResolutions = new Set();
107
+
108
+ visitViews(root, (view) => {
109
+ addDefinedValues(scaleResolutions, view.resolutions.scale);
110
+ addDefinedValues(axisResolutions, view.resolutions.axis);
111
+ addDefinedValues(legendResolutions, view.resolutions.legend);
112
+ });
113
+
114
+ return {
115
+ scales: Array.from(scaleResolutions).map((resolution) =>
116
+ createScaleDebugNode(resolution, options)
117
+ ),
118
+ axes: Array.from(axisResolutions).map((resolution) =>
119
+ createAxisDebugNode(resolution, options)
120
+ ),
121
+ legends: Array.from(legendResolutions).map((resolution) =>
122
+ createLegendDebugNode(resolution, options)
123
+ ),
124
+ };
125
+ }
126
+
127
+ /**
128
+ * @param {Set<any>} set
129
+ * @param {Record<string, any>} values
130
+ */
131
+ function addDefinedValues(set, values) {
132
+ for (const value of Object.values(values)) {
133
+ if (value) {
134
+ set.add(value);
135
+ }
136
+ }
137
+ }
138
+
139
+ /**
140
+ * @param {import("../view/view.js").default} root
141
+ * @param {(view: import("../view/view.js").default) => void} visitor
142
+ */
143
+ function visitViews(root, visitor) {
144
+ visitor(root);
145
+ if (root instanceof ContainerView) {
146
+ for (const child of root) {
147
+ visitViews(child, visitor);
148
+ }
149
+ }
150
+ }
151
+
152
+ /**
153
+ * @param {any} resolution
154
+ * @param {ResolutionDebugSnapshotOptions} options
155
+ * @returns {ScaleResolutionDebugNode}
156
+ */
157
+ function createScaleDebugNode(resolution, options) {
158
+ const state = resolution.getDebugState();
159
+ return {
160
+ id: options.getDebugId(resolution),
161
+ ...createHostViewDebugState(state.hostView, options),
162
+ channel: state.channel,
163
+ name: state.name,
164
+ type: state.type,
165
+ resolvedScaleType: state.resolvedScaleType,
166
+ domain: state.domain,
167
+ complexDomain: state.complexDomain,
168
+ range: state.range,
169
+ zoomable: state.zoomable,
170
+ zoomed: state.zoomed,
171
+ activeMemberCount: state.activeMemberCount,
172
+ dataDomainMemberCount: state.dataDomainMemberCount,
173
+ members: state.members.map(
174
+ /**
175
+ * @param {any} member
176
+ * @returns {ScaleResolutionMemberDebugNode}
177
+ */
178
+ (member) => ({
179
+ viewId: options.getDebugId(member.view),
180
+ viewPath: member.view.getPathString(),
181
+ chrome: isInChromeSubtree(member.view),
182
+ channel: member.channel,
183
+ field:
184
+ "field" in member.channelDef
185
+ ? member.channelDef.field
186
+ : undefined,
187
+ expr:
188
+ "expr" in member.channelDef
189
+ ? member.channelDef.expr
190
+ : undefined,
191
+ type:
192
+ "type" in member.channelDef
193
+ ? member.channelDef.type
194
+ : undefined,
195
+ contributesToDomain: member.contributesToDomain,
196
+ active: member.active,
197
+ })
198
+ ),
199
+ };
200
+ }
201
+
202
+ /**
203
+ * @param {any} resolution
204
+ * @param {ResolutionDebugSnapshotOptions} options
205
+ * @returns {AxisResolutionDebugNode}
206
+ */
207
+ function createAxisDebugNode(resolution, options) {
208
+ const state = resolution.getDebugState();
209
+ return {
210
+ id: options.getDebugId(resolution),
211
+ ...createHostViewDebugState(state.hostView, options),
212
+ channel: state.channel,
213
+ title: state.title,
214
+ scaleResolutionId: state.scaleResolution
215
+ ? options.getDebugId(state.scaleResolution)
216
+ : undefined,
217
+ hasVisibleNonChromeMember: state.hasVisibleNonChromeMember,
218
+ members: state.members.map(
219
+ /**
220
+ * @param {any} member
221
+ * @returns {AxisResolutionMemberDebugNode}
222
+ */
223
+ (member) => ({
224
+ viewId: options.getDebugId(member.view),
225
+ viewPath: member.view.getPathString(),
226
+ chrome: isInChromeSubtree(member.view),
227
+ channel: member.channel,
228
+ field:
229
+ "field" in member.channelDef
230
+ ? member.channelDef.field
231
+ : undefined,
232
+ expr:
233
+ "expr" in member.channelDef
234
+ ? member.channelDef.expr
235
+ : undefined,
236
+ type:
237
+ "type" in member.channelDef
238
+ ? member.channelDef.type
239
+ : undefined,
240
+ })
241
+ ),
242
+ };
243
+ }
244
+
245
+ /**
246
+ * @param {any} resolution
247
+ * @param {ResolutionDebugSnapshotOptions} options
248
+ * @returns {LegendResolutionDebugNode}
249
+ */
250
+ function createLegendDebugNode(resolution, options) {
251
+ const state = resolution.getDebugState();
252
+ return {
253
+ id: options.getDebugId(resolution),
254
+ ...createHostViewDebugState(state.hostView, options),
255
+ channel: state.channel,
256
+ hasVisibleNonChromeMember: state.hasVisibleNonChromeMember,
257
+ definitionCount: state.legendDefs.length,
258
+ members: state.members.map(
259
+ /**
260
+ * @param {any} member
261
+ * @returns {LegendResolutionMemberDebugNode}
262
+ */
263
+ (member) => ({
264
+ viewId: options.getDebugId(member.view),
265
+ viewPath: member.view.getPathString(),
266
+ chrome: isInChromeSubtree(member.view),
267
+ channel: member.channel,
268
+ })
269
+ ),
270
+ };
271
+ }
272
+
273
+ /**
274
+ * @param {import("../view/view.js").default} view
275
+ * @returns {boolean}
276
+ */
277
+ function isInChromeSubtree(view) {
278
+ return isChromeView(view) || view.getLayoutAncestors().some(isChromeView);
279
+ }
280
+
281
+ /**
282
+ * @param {import("../view/view.js").default | undefined} view
283
+ * @param {ResolutionDebugSnapshotOptions} options
284
+ * @returns {{ hostViewId: string | undefined, hostViewPath: string | undefined }}
285
+ */
286
+ function createHostViewDebugState(view, options) {
287
+ return {
288
+ hostViewId: view ? options.getDebugId(view) : undefined,
289
+ hostViewPath: view?.getPathString(),
290
+ };
291
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Creates a bounded preview of arbitrary runtime values for debug snapshots.
3
+ *
4
+ * @param {any} value
5
+ * @param {number} [depth]
6
+ * @returns {any}
7
+ */
8
+ export function previewValue(value: any, depth?: number): any;
9
+ //# sourceMappingURL=valuePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valuePreview.d.ts","sourceRoot":"","sources":["../../../src/debug/valuePreview.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,oCAJW,GAAG,UACH,MAAM,GACJ,GAAG,CAkCf"}
@@ -0,0 +1,57 @@
1
+ const MAX_PREVIEW_DEPTH = 3;
2
+ const MAX_PREVIEW_KEYS = 12;
3
+ const MAX_PREVIEW_ITEMS = 8;
4
+ const MAX_PREVIEW_STRING_LENGTH = 160;
5
+
6
+ /**
7
+ * Creates a bounded preview of arbitrary runtime values for debug snapshots.
8
+ *
9
+ * @param {any} value
10
+ * @param {number} [depth]
11
+ * @returns {any}
12
+ */
13
+ export function previewValue(value, depth = 0) {
14
+ if (value == null || typeof value !== "object") {
15
+ return previewScalar(value);
16
+ }
17
+
18
+ if (depth >= MAX_PREVIEW_DEPTH) {
19
+ return Array.isArray(value)
20
+ ? `[Array(${value.length})]`
21
+ : `[Object(${Object.keys(value).length})]`;
22
+ }
23
+
24
+ if (Array.isArray(value)) {
25
+ const preview = value
26
+ .slice(0, MAX_PREVIEW_ITEMS)
27
+ .map((item) => previewValue(item, depth + 1));
28
+ if (value.length > MAX_PREVIEW_ITEMS) {
29
+ preview.push(`... ${value.length - MAX_PREVIEW_ITEMS} more items`);
30
+ }
31
+ return preview;
32
+ }
33
+
34
+ /** @type {Record<string, any>} */
35
+ const preview = {};
36
+ const record = /** @type {Record<string, any>} */ (value);
37
+ const keys = Object.keys(record);
38
+ for (const key of keys.slice(0, MAX_PREVIEW_KEYS)) {
39
+ preview[key] = previewValue(record[key], depth + 1);
40
+ }
41
+ if (keys.length > MAX_PREVIEW_KEYS) {
42
+ preview["..."] = `${keys.length - MAX_PREVIEW_KEYS} more keys`;
43
+ }
44
+ return preview;
45
+ }
46
+
47
+ /**
48
+ * @param {any} value
49
+ * @returns {any}
50
+ */
51
+ function previewScalar(value) {
52
+ if (typeof value === "string" && value.length > MAX_PREVIEW_STRING_LENGTH) {
53
+ return value.slice(0, MAX_PREVIEW_STRING_LENGTH) + "...";
54
+ }
55
+
56
+ return value;
57
+ }
@@ -0,0 +1,131 @@
1
+ /**
2
+ * @typedef {object} ViewDebugSnapshotOptions
3
+ * @prop {boolean} [includeChrome=false]
4
+ * @prop {(object: object) => string} getDebugId
5
+ */
6
+ /**
7
+ * @typedef {object} ViewDebugNode
8
+ * @prop {string} id
9
+ * @prop {string | undefined} parentId
10
+ * @prop {string[]} childIds
11
+ * @prop {string} name
12
+ * @prop {string | undefined} explicitName
13
+ * @prop {string | undefined} defaultName
14
+ * @prop {string} path
15
+ * @prop {string} className
16
+ * @prop {string} type
17
+ * @prop {string | undefined} markType
18
+ * @prop {boolean} chrome
19
+ * @prop {boolean} visible
20
+ * @prop {boolean} configuredVisible
21
+ * @prop {boolean} visibleInSpec
22
+ * @prop {"none" | "pending" | "ready"} dataInitializationState
23
+ * @prop {import("../view/viewUtilTypes.d.ts").ViewSelector | undefined} selector
24
+ * @prop {{ x: number, y: number, width: number, height: number } | undefined} bounds
25
+ * @prop {{ width: any, height: any } | undefined} size
26
+ * @prop {{ width: any, height: any } | undefined} viewportSize
27
+ * @prop {Record<string, string>} scaleResolutionIds
28
+ * @prop {Record<string, string>} axisResolutionIds
29
+ * @prop {Record<string, string>} legendResolutionIds
30
+ * @prop {Record<string, EncodingDebugNode>} encodings
31
+ * @prop {string[]} paramNames
32
+ * @prop {Record<string, any>} spec
33
+ * @prop {DebugSnapshotError[]} debugErrors
34
+ */
35
+ /**
36
+ * @typedef {object} DebugSnapshotError
37
+ * @prop {string} field
38
+ * @prop {string} message
39
+ */
40
+ /**
41
+ * @typedef {object} EncodingDebugNode
42
+ * @prop {string} channel
43
+ * @prop {string | undefined} field
44
+ * @prop {string | undefined} expr
45
+ * @prop {any} value
46
+ * @prop {string | undefined} type
47
+ * @prop {string | undefined} scaleResolutionId
48
+ * @prop {string | undefined} axisResolutionId
49
+ * @prop {string | undefined} legendResolutionId
50
+ * @prop {Record<string, any>} channelDef
51
+ */
52
+ /**
53
+ * @typedef {object} ViewDebugSnapshot
54
+ * @prop {string | undefined} rootId
55
+ * @prop {ViewDebugNode[]} nodes
56
+ */
57
+ /**
58
+ * Creates a plain, read-only debug snapshot of the live view hierarchy.
59
+ *
60
+ * This module is intended for dynamic import by optional development tools.
61
+ * Keep the returned shape serializable and avoid exposing mutable runtime
62
+ * collections directly.
63
+ *
64
+ * @param {import("../view/view.js").default | undefined} root
65
+ * @param {ViewDebugSnapshotOptions} options
66
+ * @returns {ViewDebugSnapshot}
67
+ */
68
+ export function createViewDebugSnapshot(root: import("../view/view.js").default | undefined, options: ViewDebugSnapshotOptions): ViewDebugSnapshot;
69
+ export type ViewDebugSnapshotOptions = {
70
+ includeChrome?: boolean;
71
+ getDebugId: (object: object) => string;
72
+ };
73
+ export type ViewDebugNode = {
74
+ id: string;
75
+ parentId: string | undefined;
76
+ childIds: string[];
77
+ name: string;
78
+ explicitName: string | undefined;
79
+ defaultName: string | undefined;
80
+ path: string;
81
+ className: string;
82
+ type: string;
83
+ markType: string | undefined;
84
+ chrome: boolean;
85
+ visible: boolean;
86
+ configuredVisible: boolean;
87
+ visibleInSpec: boolean;
88
+ dataInitializationState: "none" | "pending" | "ready";
89
+ selector: import("../view/viewUtilTypes.d.ts").ViewSelector | undefined;
90
+ bounds: {
91
+ x: number;
92
+ y: number;
93
+ width: number;
94
+ height: number;
95
+ } | undefined;
96
+ size: {
97
+ width: any;
98
+ height: any;
99
+ } | undefined;
100
+ viewportSize: {
101
+ width: any;
102
+ height: any;
103
+ } | undefined;
104
+ scaleResolutionIds: Record<string, string>;
105
+ axisResolutionIds: Record<string, string>;
106
+ legendResolutionIds: Record<string, string>;
107
+ encodings: Record<string, EncodingDebugNode>;
108
+ paramNames: string[];
109
+ spec: Record<string, any>;
110
+ debugErrors: DebugSnapshotError[];
111
+ };
112
+ export type DebugSnapshotError = {
113
+ field: string;
114
+ message: string;
115
+ };
116
+ export type EncodingDebugNode = {
117
+ channel: string;
118
+ field: string | undefined;
119
+ expr: string | undefined;
120
+ value: any;
121
+ type: string | undefined;
122
+ scaleResolutionId: string | undefined;
123
+ axisResolutionId: string | undefined;
124
+ legendResolutionId: string | undefined;
125
+ channelDef: Record<string, any>;
126
+ };
127
+ export type ViewDebugSnapshot = {
128
+ rootId: string | undefined;
129
+ nodes: ViewDebugNode[];
130
+ };
131
+ //# sourceMappingURL=viewDebugSnapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewDebugSnapshot.d.ts","sourceRoot":"","sources":["../../../src/debug/viewDebugSnapshot.js"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AAEH;;;;;;;;;;GAUG;AACH,8CAJW,OAAO,iBAAiB,EAAE,OAAO,GAAG,SAAS,WAC7C,wBAAwB,GACtB,iBAAiB,CA+C7B;;oBAnHS,OAAO;gBACP,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM;;;QAK1B,MAAM;cACN,MAAM,GAAG,SAAS;cAClB,MAAM,EAAE;UACR,MAAM;kBACN,MAAM,GAAG,SAAS;iBAClB,MAAM,GAAG,SAAS;UAClB,MAAM;eACN,MAAM;UACN,MAAM;cACN,MAAM,GAAG,SAAS;YAClB,OAAO;aACP,OAAO;uBACP,OAAO;mBACP,OAAO;6BACP,MAAM,GAAG,SAAS,GAAG,OAAO;cAC5B,OAAO,4BAA4B,EAAE,YAAY,GAAG,SAAS;YAC7D;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;UACnE;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,GAAG,SAAS;kBACvC;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,GAAG,SAAS;wBACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;uBACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;yBACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;eACtB,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBACjC,MAAM,EAAE;UACR,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;iBACnB,kBAAkB,EAAE;;;WAKpB,MAAM;aACN,MAAM;;;aAKN,MAAM;WACN,MAAM,GAAG,SAAS;UAClB,MAAM,GAAG,SAAS;WAClB,GAAG;UACH,MAAM,GAAG,SAAS;uBAClB,MAAM,GAAG,SAAS;sBAClB,MAAM,GAAG,SAAS;wBAClB,MAAM,GAAG,SAAS;gBAClB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;YAKnB,MAAM,GAAG,SAAS;WAClB,aAAa,EAAE"}