@genome-spy/core 0.73.0 → 0.74.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 (359) hide show
  1. package/dist/bundle/AbortablePromiseCache-3gHJdF3E.js +96 -0
  2. package/dist/bundle/browser-BTgw5ieH.js +126 -0
  3. package/dist/bundle/chunk-DmhlhrBa.js +11 -0
  4. package/dist/bundle/esm-BDFRLEuD.js +1248 -0
  5. package/dist/bundle/esm-BygJiwh0.js +573 -0
  6. package/dist/bundle/esm-CGX-qz1d.js +155 -0
  7. package/dist/bundle/esm-CgfVIRJ-.js +121 -0
  8. package/dist/bundle/esm-CuMSzCHy.js +298 -0
  9. package/dist/bundle/esm-DMXpJXM4.js +369 -0
  10. package/dist/bundle/esm-DQiq2Zhd.js +1426 -0
  11. package/dist/bundle/esm-DtE8VqAv.js +1015 -0
  12. package/dist/bundle/esm-sIoQYZ21.js +461 -0
  13. package/dist/bundle/index.es.js +21071 -25935
  14. package/dist/bundle/index.js +363 -379
  15. package/dist/bundle/parquetRead-DG_-F5j5.js +1609 -0
  16. package/dist/schema.json +13098 -7095
  17. package/dist/src/config/axisConfig.d.ts +16 -0
  18. package/dist/src/config/axisConfig.d.ts.map +1 -0
  19. package/dist/src/config/axisConfig.js +84 -0
  20. package/dist/src/config/defaultConfig.d.ts +3 -0
  21. package/dist/src/config/defaultConfig.d.ts.map +1 -0
  22. package/dist/src/config/defaultConfig.js +38 -0
  23. package/dist/src/config/defaults/axisDefaults.d.ts +5 -0
  24. package/dist/src/config/defaults/axisDefaults.d.ts.map +1 -0
  25. package/dist/src/config/defaults/axisDefaults.js +72 -0
  26. package/dist/src/config/defaults/markDefaults.d.ts +15 -0
  27. package/dist/src/config/defaults/markDefaults.d.ts.map +1 -0
  28. package/dist/src/config/defaults/markDefaults.js +121 -0
  29. package/dist/src/config/defaults/scaleDefaults.d.ts +5 -0
  30. package/dist/src/config/defaults/scaleDefaults.d.ts.map +1 -0
  31. package/dist/src/config/defaults/scaleDefaults.js +18 -0
  32. package/dist/src/config/defaults/titleDefaults.d.ts +5 -0
  33. package/dist/src/config/defaults/titleDefaults.d.ts.map +1 -0
  34. package/dist/src/config/defaults/titleDefaults.js +47 -0
  35. package/dist/src/config/defaults/viewDefaults.d.ts +3 -0
  36. package/dist/src/config/defaults/viewDefaults.d.ts.map +1 -0
  37. package/dist/src/config/defaults/viewDefaults.js +2 -0
  38. package/dist/src/config/markConfig.d.ts +8 -0
  39. package/dist/src/config/markConfig.d.ts.map +1 -0
  40. package/dist/src/config/markConfig.js +27 -0
  41. package/dist/src/config/mergeConfig.d.ts +8 -0
  42. package/dist/src/config/mergeConfig.d.ts.map +1 -0
  43. package/dist/src/config/mergeConfig.js +81 -0
  44. package/dist/src/config/resolveConfig.d.ts +22 -0
  45. package/dist/src/config/resolveConfig.d.ts.map +1 -0
  46. package/dist/src/config/resolveConfig.js +32 -0
  47. package/dist/src/config/scaleConfig.d.ts +40 -0
  48. package/dist/src/config/scaleConfig.d.ts.map +1 -0
  49. package/dist/src/config/scaleConfig.js +220 -0
  50. package/dist/src/config/styleUtils.d.ts +6 -0
  51. package/dist/src/config/styleUtils.d.ts.map +1 -0
  52. package/dist/src/config/styleUtils.js +10 -0
  53. package/dist/src/config/themes.d.ts +15 -0
  54. package/dist/src/config/themes.d.ts.map +1 -0
  55. package/dist/src/config/themes.js +293 -0
  56. package/dist/src/config/titleConfig.d.ts +12 -0
  57. package/dist/src/config/titleConfig.d.ts.map +1 -0
  58. package/dist/src/config/titleConfig.js +42 -0
  59. package/dist/src/config/viewConfig.d.ts +7 -0
  60. package/dist/src/config/viewConfig.d.ts.map +1 -0
  61. package/dist/src/config/viewConfig.js +29 -0
  62. package/dist/src/data/flowNode.d.ts +22 -1
  63. package/dist/src/data/flowNode.d.ts.map +1 -1
  64. package/dist/src/data/flowNode.js +37 -1
  65. package/dist/src/data/formats/bed.d.ts.map +1 -1
  66. package/dist/src/data/formats/bed.js +6 -1
  67. package/dist/src/data/formats/bedpe.d.ts.map +1 -1
  68. package/dist/src/data/formats/bedpe.js +4 -0
  69. package/dist/src/data/formats/fasta.d.ts.map +1 -1
  70. package/dist/src/data/formats/fasta.js +4 -0
  71. package/dist/src/data/formats/parquet.d.ts.map +1 -1
  72. package/dist/src/data/formats/parquet.js +4 -0
  73. package/dist/src/data/sources/dataSourceFactory.d.ts +2 -13
  74. package/dist/src/data/sources/dataSourceFactory.d.ts.map +1 -1
  75. package/dist/src/data/sources/dataSourceFactory.js +5 -141
  76. package/dist/src/data/sources/lazy/axisGenomeSource.d.ts.map +1 -1
  77. package/dist/src/data/sources/lazy/axisGenomeSource.js +11 -0
  78. package/dist/src/data/sources/lazy/axisTickSource.d.ts +1 -1
  79. package/dist/src/data/sources/lazy/axisTickSource.d.ts.map +1 -1
  80. package/dist/src/data/sources/lazy/axisTickSource.js +19 -8
  81. package/dist/src/data/sources/lazy/bamSource.d.ts.map +1 -1
  82. package/dist/src/data/sources/lazy/bamSource.js +11 -0
  83. package/dist/src/data/sources/lazy/bigBedSource.d.ts.map +1 -1
  84. package/dist/src/data/sources/lazy/bigBedSource.js +12 -1
  85. package/dist/src/data/sources/lazy/bigWigSource.d.ts.map +1 -1
  86. package/dist/src/data/sources/lazy/bigWigSource.js +11 -0
  87. package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -1
  88. package/dist/src/data/sources/lazy/gff3Source.js +12 -1
  89. package/dist/src/data/sources/lazy/indexedFastaSource.d.ts.map +1 -1
  90. package/dist/src/data/sources/lazy/indexedFastaSource.js +11 -0
  91. package/dist/src/data/sources/lazy/lazyDataSourceRegistry.d.ts +27 -0
  92. package/dist/src/data/sources/lazy/lazyDataSourceRegistry.d.ts.map +1 -0
  93. package/dist/src/data/sources/lazy/lazyDataSourceRegistry.js +65 -0
  94. package/dist/src/data/sources/lazy/registerBuiltInLazySources.d.ts +2 -0
  95. package/dist/src/data/sources/lazy/registerBuiltInLazySources.d.ts.map +1 -0
  96. package/dist/src/data/sources/lazy/registerBuiltInLazySources.js +8 -0
  97. package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts.map +1 -1
  98. package/dist/src/data/sources/lazy/singleAxisLazySource.js +11 -2
  99. package/dist/src/data/sources/lazy/vcfSource.d.ts.map +1 -1
  100. package/dist/src/data/sources/lazy/vcfSource.js +11 -0
  101. package/dist/src/data/sources/urlSource.d.ts.map +1 -1
  102. package/dist/src/data/sources/urlSource.js +5 -2
  103. package/dist/src/data/transforms/aggregate.d.ts +1 -0
  104. package/dist/src/data/transforms/aggregate.d.ts.map +1 -1
  105. package/dist/src/data/transforms/aggregate.js +30 -8
  106. package/dist/src/data/transforms/aggregateOps.d.ts.map +1 -1
  107. package/dist/src/data/transforms/aggregateOps.js +12 -1
  108. package/dist/src/data/transforms/coverage.js +2 -2
  109. package/dist/src/data/transforms/filter.js +1 -1
  110. package/dist/src/data/transforms/filterScoredLabels.d.ts +6 -0
  111. package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
  112. package/dist/src/data/transforms/filterScoredLabels.js +9 -0
  113. package/dist/src/data/transforms/measureText.d.ts +1 -0
  114. package/dist/src/data/transforms/measureText.d.ts.map +1 -1
  115. package/dist/src/data/transforms/measureText.js +14 -5
  116. package/dist/src/data/transforms/pileup.d.ts.map +1 -1
  117. package/dist/src/data/transforms/pileup.js +1 -2
  118. package/dist/src/data/transforms/regexFold.d.ts.map +1 -1
  119. package/dist/src/data/transforms/regexFold.js +0 -1
  120. package/dist/src/embedFactory.d.ts +13 -0
  121. package/dist/src/embedFactory.d.ts.map +1 -0
  122. package/dist/src/embedFactory.js +127 -0
  123. package/dist/src/encoder/accessor.d.ts +3 -12
  124. package/dist/src/encoder/accessor.d.ts.map +1 -1
  125. package/dist/src/encoder/accessor.js +10 -65
  126. package/dist/src/encoder/encoder.d.ts +51 -8
  127. package/dist/src/encoder/encoder.d.ts.map +1 -1
  128. package/dist/src/encoder/encoder.js +179 -55
  129. package/dist/src/fonts/bmFontManager.js +1 -1
  130. package/dist/src/full.d.ts +2 -0
  131. package/dist/src/full.d.ts.map +1 -0
  132. package/dist/src/full.js +2 -0
  133. package/dist/src/genome/genome.d.ts +8 -0
  134. package/dist/src/genome/genome.d.ts.map +1 -1
  135. package/dist/src/genome/genome.js +16 -2
  136. package/dist/src/genome/genomeStore.js +1 -1
  137. package/dist/src/genome/rootGenomeConfig.d.ts.map +1 -1
  138. package/dist/src/genome/rootGenomeConfig.js +6 -2
  139. package/dist/src/genome/scaleLocus.d.ts.map +1 -1
  140. package/dist/src/genome/scaleLocus.js +26 -7
  141. package/dist/src/genomeSpy/cursorManager.d.ts +69 -0
  142. package/dist/src/genomeSpy/cursorManager.d.ts.map +1 -0
  143. package/dist/src/genomeSpy/cursorManager.js +131 -0
  144. package/dist/src/genomeSpy/headlessBootstrap.d.ts +113 -0
  145. package/dist/src/genomeSpy/headlessBootstrap.d.ts.map +1 -0
  146. package/dist/src/genomeSpy/headlessBootstrap.js +246 -0
  147. package/dist/src/genomeSpy/interactionController.d.ts +5 -0
  148. package/dist/src/genomeSpy/interactionController.d.ts.map +1 -1
  149. package/dist/src/genomeSpy/interactionController.js +212 -19
  150. package/dist/src/genomeSpy/interactionDispatcher.d.ts +50 -0
  151. package/dist/src/genomeSpy/interactionDispatcher.d.ts.map +1 -0
  152. package/dist/src/genomeSpy/interactionDispatcher.js +203 -0
  153. package/dist/src/genomeSpy/viewContextFactory.d.ts +4 -2
  154. package/dist/src/genomeSpy/viewContextFactory.d.ts.map +1 -1
  155. package/dist/src/genomeSpy/viewContextFactory.js +12 -4
  156. package/dist/src/genomeSpy/viewDataInit.d.ts.map +1 -1
  157. package/dist/src/genomeSpy/viewDataInit.js +7 -3
  158. package/dist/src/genomeSpy.d.ts +1 -124
  159. package/dist/src/genomeSpy.d.ts.map +1 -1
  160. package/dist/src/genomeSpy.js +7 -688
  161. package/dist/src/genomeSpyBase.d.ts +133 -0
  162. package/dist/src/genomeSpyBase.d.ts.map +1 -0
  163. package/dist/src/genomeSpyBase.js +719 -0
  164. package/dist/src/gl/arrayBuilder.d.ts.map +1 -1
  165. package/dist/src/gl/arrayBuilder.js +0 -3
  166. package/dist/src/gl/colorUtils.d.ts.map +1 -1
  167. package/dist/src/gl/colorUtils.js +3 -0
  168. package/dist/src/gl/dataToVertices.d.ts.map +1 -1
  169. package/dist/src/gl/dataToVertices.js +13 -8
  170. package/dist/src/gl/glslScaleGenerator.d.ts +2 -2
  171. package/dist/src/gl/glslScaleGenerator.d.ts.map +1 -1
  172. package/dist/src/gl/glslScaleGenerator.js +5 -7
  173. package/dist/src/index.d.ts +3 -9
  174. package/dist/src/index.d.ts.map +1 -1
  175. package/dist/src/index.js +5 -114
  176. package/dist/src/marks/__snapshots__/shaderSnapshot.test.js.snap +4462 -0
  177. package/dist/src/marks/link.d.ts.map +1 -1
  178. package/dist/src/marks/link.js +0 -23
  179. package/dist/src/marks/mark.d.ts +8 -1
  180. package/dist/src/marks/mark.d.ts.map +1 -1
  181. package/dist/src/marks/mark.js +61 -20
  182. package/dist/src/marks/markUtils.d.ts +18 -1
  183. package/dist/src/marks/markUtils.d.ts.map +1 -1
  184. package/dist/src/marks/markUtils.js +52 -4
  185. package/dist/src/marks/point.d.ts.map +1 -1
  186. package/dist/src/marks/point.js +6 -26
  187. package/dist/src/marks/rect.d.ts.map +1 -1
  188. package/dist/src/marks/rect.js +13 -21
  189. package/dist/src/marks/rule.d.ts +7 -2
  190. package/dist/src/marks/rule.d.ts.map +1 -1
  191. package/dist/src/marks/rule.js +125 -16
  192. package/dist/src/marks/text.d.ts.map +1 -1
  193. package/dist/src/marks/text.js +5 -47
  194. package/dist/src/minimal.d.ts +8 -0
  195. package/dist/src/minimal.d.ts.map +1 -0
  196. package/dist/src/minimal.js +21 -0
  197. package/dist/src/paramRuntime/viewParamRuntime.d.ts +19 -0
  198. package/dist/src/paramRuntime/viewParamRuntime.d.ts.map +1 -1
  199. package/dist/src/paramRuntime/viewParamRuntime.js +35 -0
  200. package/dist/src/scale/scale.d.ts.map +1 -1
  201. package/dist/src/scale/scale.js +13 -7
  202. package/dist/src/scales/axisResolution.d.ts.map +1 -1
  203. package/dist/src/scales/axisResolution.js +9 -5
  204. package/dist/src/scales/domainPlanner.d.ts +28 -8
  205. package/dist/src/scales/domainPlanner.d.ts.map +1 -1
  206. package/dist/src/scales/domainPlanner.js +207 -73
  207. package/dist/src/scales/indexLikeDomainUtils.d.ts +29 -0
  208. package/dist/src/scales/indexLikeDomainUtils.d.ts.map +1 -0
  209. package/dist/src/scales/indexLikeDomainUtils.js +67 -0
  210. package/dist/src/scales/resolutionMemberOrder.d.ts +15 -0
  211. package/dist/src/scales/resolutionMemberOrder.d.ts.map +1 -0
  212. package/dist/src/scales/resolutionMemberOrder.js +22 -0
  213. package/dist/src/scales/scaleInteractionController.d.ts.map +1 -1
  214. package/dist/src/scales/scaleInteractionController.js +43 -4
  215. package/dist/src/scales/scalePropsResolver.d.ts +3 -1
  216. package/dist/src/scales/scalePropsResolver.d.ts.map +1 -1
  217. package/dist/src/scales/scalePropsResolver.js +83 -6
  218. package/dist/src/scales/scaleResolution.d.ts +23 -0
  219. package/dist/src/scales/scaleResolution.d.ts.map +1 -1
  220. package/dist/src/scales/scaleResolution.js +220 -58
  221. package/dist/src/scales/scaleResolutionTestUtils.d.ts.map +1 -1
  222. package/dist/src/scales/scaleResolutionTestUtils.js +6 -2
  223. package/dist/src/scales/scaleRules.d.ts.map +1 -1
  224. package/dist/src/scales/scaleRules.js +16 -2
  225. package/dist/src/scales/selectionDomainUtils.d.ts +30 -0
  226. package/dist/src/scales/selectionDomainUtils.d.ts.map +1 -1
  227. package/dist/src/scales/selectionDomainUtils.js +116 -1
  228. package/dist/src/screenshotHarness.js +3 -4
  229. package/dist/src/spec/axis.d.ts +41 -30
  230. package/dist/src/spec/channel.d.ts +15 -9
  231. package/dist/src/spec/config.d.ts +264 -0
  232. package/dist/src/spec/data.d.ts +7 -0
  233. package/dist/src/spec/decoration.d.ts +51 -0
  234. package/dist/src/spec/exampleFiles.d.ts +12 -0
  235. package/dist/src/spec/exampleFiles.d.ts.map +1 -0
  236. package/dist/src/spec/exampleFiles.js +52 -0
  237. package/dist/src/spec/font.d.ts +1 -1
  238. package/dist/src/spec/mark.d.ts +97 -13
  239. package/dist/src/spec/parameter.d.ts +30 -10
  240. package/dist/src/spec/root.d.ts +14 -0
  241. package/dist/src/spec/scale.d.ts +18 -13
  242. package/dist/src/spec/title.d.ts +13 -2
  243. package/dist/src/spec/tooltip.d.ts +1 -1
  244. package/dist/src/spec/transform.d.ts +39 -4
  245. package/dist/src/spec/view.d.ts +67 -19
  246. package/dist/src/styles/genome-spy.css +55 -55
  247. package/dist/src/styles/genome-spy.css.d.ts +1 -1
  248. package/dist/src/styles/genome-spy.css.d.ts.map +1 -1
  249. package/dist/src/styles/genome-spy.css.js +23 -22
  250. package/dist/src/testSetup.d.ts +2 -0
  251. package/dist/src/testSetup.d.ts.map +1 -0
  252. package/dist/src/testSetup.js +5 -0
  253. package/dist/src/tooltip/dataTooltipHandler.js +8 -2
  254. package/dist/src/tooltip/tooltipContext.d.ts.map +1 -1
  255. package/dist/src/tooltip/tooltipContext.js +3 -2
  256. package/dist/src/types/embedApi.d.ts +7 -0
  257. package/dist/src/types/encoder.d.ts +17 -15
  258. package/dist/src/types/scaleResolutionApi.d.ts +20 -0
  259. package/dist/src/types/viewContext.d.ts +23 -1
  260. package/dist/src/utils/expression.d.ts +2 -2
  261. package/dist/src/utils/expression.d.ts.map +1 -1
  262. package/dist/src/utils/expression.js +63 -8
  263. package/dist/src/utils/field.d.ts.map +1 -1
  264. package/dist/src/utils/field.js +0 -1
  265. package/dist/src/utils/inertia.d.ts.map +1 -1
  266. package/dist/src/utils/inertia.js +0 -1
  267. package/dist/src/utils/inputBinding.d.ts +1 -1
  268. package/dist/src/utils/interaction.d.ts +109 -0
  269. package/dist/src/utils/interaction.d.ts.map +1 -0
  270. package/dist/src/utils/interaction.js +200 -0
  271. package/dist/src/utils/interactionEvent.d.ts +21 -42
  272. package/dist/src/utils/interactionEvent.d.ts.map +1 -1
  273. package/dist/src/utils/interactionEvent.js +43 -66
  274. package/dist/src/utils/kWayMerge.js +1 -1
  275. package/dist/src/utils/mergeObjects.d.ts.map +1 -1
  276. package/dist/src/utils/mergeObjects.js +0 -2
  277. package/dist/src/utils/radixSort.d.ts.map +1 -1
  278. package/dist/src/utils/radixSort.js +0 -2
  279. package/dist/src/utils/throttle.d.ts.map +1 -1
  280. package/dist/src/utils/throttle.js +0 -2
  281. package/dist/src/utils/ui/tooltip.d.ts +1 -0
  282. package/dist/src/utils/ui/tooltip.d.ts.map +1 -1
  283. package/dist/src/utils/ui/tooltip.js +1 -0
  284. package/dist/src/utils/url.js +1 -1
  285. package/dist/src/view/axisGridView.d.ts +1 -1
  286. package/dist/src/view/axisGridView.d.ts.map +1 -1
  287. package/dist/src/view/axisGridView.js +2 -47
  288. package/dist/src/view/axisView.d.ts +2 -3
  289. package/dist/src/view/axisView.d.ts.map +1 -1
  290. package/dist/src/view/axisView.js +251 -106
  291. package/dist/src/view/concatView.d.ts +2 -1
  292. package/dist/src/view/concatView.d.ts.map +1 -1
  293. package/dist/src/view/concatView.js +4 -2
  294. package/dist/src/view/containerMutationHelper.d.ts +3 -0
  295. package/dist/src/view/containerMutationHelper.d.ts.map +1 -1
  296. package/dist/src/view/containerMutationHelper.js +4 -1
  297. package/dist/src/view/facetView.d.ts +1 -1
  298. package/dist/src/view/facetView.js +3 -3
  299. package/dist/src/view/flowBuilder.js +2 -2
  300. package/dist/src/view/gridView/gridChild.d.ts +6 -0
  301. package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
  302. package/dist/src/view/gridView/gridChild.js +72 -43
  303. package/dist/src/view/gridView/gridView.d.ts.map +1 -1
  304. package/dist/src/view/gridView/gridView.js +255 -101
  305. package/dist/src/view/gridView/keyboardZoomController.d.ts +2 -2
  306. package/dist/src/view/gridView/keyboardZoomController.d.ts.map +1 -1
  307. package/dist/src/view/gridView/keyboardZoomController.js +1 -1
  308. package/dist/src/view/gridView/scrollbar.d.ts.map +1 -1
  309. package/dist/src/view/gridView/scrollbar.js +4 -2
  310. package/dist/src/view/gridView/selectionRect.d.ts +4 -0
  311. package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
  312. package/dist/src/view/gridView/selectionRect.js +20 -1
  313. package/dist/src/view/gridView/separatorView.d.ts +1 -0
  314. package/dist/src/view/gridView/separatorView.d.ts.map +1 -1
  315. package/dist/src/view/gridView/separatorView.js +9 -0
  316. package/dist/src/view/interactionRouting.d.ts +20 -0
  317. package/dist/src/view/interactionRouting.d.ts.map +1 -0
  318. package/dist/src/view/interactionRouting.js +53 -0
  319. package/dist/src/view/layerView.d.ts.map +1 -1
  320. package/dist/src/view/layerView.js +12 -9
  321. package/dist/src/view/layout/grid.js +1 -1
  322. package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts.map +1 -1
  323. package/dist/src/view/renderingContext/bufferedViewRenderingContext.js +0 -2
  324. package/dist/src/view/testUtils.d.ts +17 -3
  325. package/dist/src/view/testUtils.d.ts.map +1 -1
  326. package/dist/src/view/testUtils.js +62 -69
  327. package/dist/src/view/title.d.ts +8 -1
  328. package/dist/src/view/title.d.ts.map +1 -1
  329. package/dist/src/view/title.js +66 -76
  330. package/dist/src/view/unitView.d.ts +1 -1
  331. package/dist/src/view/unitView.d.ts.map +1 -1
  332. package/dist/src/view/unitView.js +67 -17
  333. package/dist/src/view/view.d.ts +76 -30
  334. package/dist/src/view/view.d.ts.map +1 -1
  335. package/dist/src/view/view.js +136 -47
  336. package/dist/src/view/viewFactory.d.ts +11 -3
  337. package/dist/src/view/viewFactory.d.ts.map +1 -1
  338. package/dist/src/view/viewFactory.js +37 -11
  339. package/dist/src/view/viewUtils.d.ts.map +1 -1
  340. package/dist/src/view/viewUtils.js +41 -5
  341. package/dist/src/view/zoom.d.ts +2 -2
  342. package/dist/src/view/zoom.d.ts.map +1 -1
  343. package/dist/src/view/zoom.js +21 -23
  344. package/package.json +18 -10
  345. package/dist/bundle/AbortablePromiseCache-Dj0vzLnp.js +0 -149
  346. package/dist/bundle/browser-0iNU5Wit.js +0 -138
  347. package/dist/bundle/index-BYsZN7b0.js +0 -1597
  348. package/dist/bundle/index-C3kClAEN.js +0 -1771
  349. package/dist/bundle/index-C7wOh6y1.js +0 -657
  350. package/dist/bundle/index-CRaQAuki.js +0 -326
  351. package/dist/bundle/index-D9v1PCj9.js +0 -507
  352. package/dist/bundle/index-GDOuv_D5.js +0 -266
  353. package/dist/bundle/index-Gt44EOIH.js +0 -628
  354. package/dist/bundle/inflate-GtwLkvSP.js +0 -1048
  355. package/dist/bundle/parquetRead-BnAGCa4_.js +0 -1663
  356. package/dist/bundle/unzip-Bac01w6X.js +0 -1492
  357. package/dist/src/config/scaleDefaults.d.ts +0 -8
  358. package/dist/src/config/scaleDefaults.d.ts.map +0 -1
  359. package/dist/src/config/scaleDefaults.js +0 -45
@@ -12,8 +12,11 @@ import COMMON_SHADER from "./rule.common.glsl.js";
12
12
  import { RuleVertexBuilder } from "../gl/dataToVertices.js";
13
13
  import { isChannelDefWithScale } from "../encoder/encoder.js";
14
14
 
15
+ const HORIZONTAL = "horizontal";
16
+ const VERTICAL = "vertical";
17
+
15
18
  /**
16
- * @extends {Mark<import("../spec/mark.js").RuleProps>}
19
+ * @extends {Mark<import("../spec/mark.js").RuleProps | import("../spec/mark.js").TickProps>}
17
20
  */
18
21
  export default class RuleMark extends Mark {
19
22
  /**
@@ -23,20 +26,6 @@ export default class RuleMark extends Mark {
23
26
  super(unitView);
24
27
 
25
28
  this.dashTextureSize = 0;
26
-
27
- this.augmentDefaultProperties({
28
- x2: undefined,
29
- y2: undefined,
30
- size: 1,
31
- color: "black",
32
- opacity: 1.0,
33
-
34
- minLength: 0.0,
35
- /** @type {number[]} */
36
- strokeDash: null,
37
- strokeDashOffset: 0,
38
- strokeCap: "butt",
39
- });
40
29
  }
41
30
 
42
31
  /**
@@ -67,8 +56,11 @@ export default class RuleMark extends Mark {
67
56
  * @param {import("../spec/channel.js").Encoding} encoding
68
57
  * @returns {import("../spec/channel.js").Encoding}
69
58
  */
70
- // eslint-disable-next-line complexity
71
59
  fixEncoding(encoding) {
60
+ if (this.getType() == "tick") {
61
+ return this.fixTickEncoding(encoding);
62
+ }
63
+
72
64
  // TODO: Write test for this mess
73
65
  if (encoding.x && encoding.y && encoding.x2 && encoding.y2) {
74
66
  // Everything is defined
@@ -122,6 +114,31 @@ export default class RuleMark extends Mark {
122
114
  return encoding;
123
115
  }
124
116
 
117
+ /**
118
+ * @param {import("../spec/channel.js").Encoding} encoding
119
+ * @returns {import("../spec/channel.js").Encoding}
120
+ */
121
+ fixTickEncoding(encoding) {
122
+ const props = /** @type {import("../spec/mark.js").TickProps} */ (
123
+ this.properties
124
+ );
125
+
126
+ encoding.x ??= { value: 0.5 };
127
+ encoding.y ??= { value: 0.5 };
128
+ encoding.size = { value: props.thickness };
129
+
130
+ const orient = props.orient ?? inferTickOrient(encoding);
131
+ if (!orient) {
132
+ throw new Error(
133
+ "Cannot infer tick orientation from the encoding. Specify the tick mark's orient explicitly."
134
+ );
135
+ }
136
+
137
+ applyTickSpan(encoding, orient);
138
+
139
+ return encoding;
140
+ }
141
+
125
142
  async initializeGraphics() {
126
143
  await super.initializeGraphics();
127
144
 
@@ -267,3 +284,95 @@ function createDashTextureArray(pattern) {
267
284
 
268
285
  return texture;
269
286
  }
287
+
288
+ /**
289
+ * @param {import("../spec/channel.js").Encoding} encoding
290
+ * @returns {"vertical" | "horizontal" | undefined}
291
+ */
292
+ function inferTickOrient(encoding) {
293
+ if (!encoding.y) {
294
+ return VERTICAL;
295
+ } else if (!encoding.x) {
296
+ return HORIZONTAL;
297
+ }
298
+
299
+ const xBand = isBandChannelDef(encoding.x);
300
+ const yBand = isBandChannelDef(encoding.y);
301
+
302
+ if (!xBand && yBand) {
303
+ return VERTICAL;
304
+ } else if (xBand && !yBand) {
305
+ return HORIZONTAL;
306
+ } else {
307
+ return undefined;
308
+ }
309
+ }
310
+
311
+ /**
312
+ * @param {import("../spec/channel.js").Encoding} encoding
313
+ * @param {"vertical" | "horizontal"} orient
314
+ */
315
+ function applyTickSpan(encoding, orient) {
316
+ if (orient == VERTICAL) {
317
+ encoding.x2 = encoding.x;
318
+
319
+ if (isBandChannelDef(encoding.y)) {
320
+ const [primary, secondary] = createBandCoverage(encoding.y);
321
+ encoding.y = primary;
322
+ encoding.y2 = secondary;
323
+ } else {
324
+ encoding.y = { value: 0 };
325
+ encoding.y2 = { value: 1 };
326
+ }
327
+ } else {
328
+ encoding.y2 = encoding.y;
329
+
330
+ if (isBandChannelDef(encoding.x)) {
331
+ const [primary, secondary] = createBandCoverage(encoding.x);
332
+ encoding.x = primary;
333
+ encoding.x2 = secondary;
334
+ } else {
335
+ encoding.x = { value: 0 };
336
+ encoding.x2 = { value: 1 };
337
+ }
338
+ }
339
+ }
340
+
341
+ /**
342
+ * @param {import("../spec/channel.js").ChannelDef} channelDef
343
+ * @returns {channelDef is import("../spec/channel.js").ChannelDefWithScale}
344
+ */
345
+ function isBandChannelDef(channelDef) {
346
+ return (
347
+ isChannelDefWithScale(channelDef) &&
348
+ (channelDef.type == "ordinal" || channelDef.type == "nominal")
349
+ );
350
+ }
351
+
352
+ /**
353
+ * @param {import("../spec/channel.js").ChannelDefWithScale} channelDef
354
+ * @param {number} band
355
+ * @returns {import("../spec/channel.js").ChannelDefWithScale}
356
+ */
357
+ function withBand(channelDef, band) {
358
+ return /** @type {import("../spec/channel.js").ChannelDefWithScale} */ ({
359
+ ...channelDef,
360
+ band,
361
+ });
362
+ }
363
+
364
+ /**
365
+ * @param {import("../spec/channel.js").ChannelDefWithScale} channelDef
366
+ * @returns {[import("../spec/channel.js").ChannelDefWithScale, import("../spec/channel.js").ChannelDefWithScale]}
367
+ */
368
+ function createBandCoverage(channelDef) {
369
+ const band = /** @type {import("../spec/channel.js").BandMixins} */ (
370
+ channelDef
371
+ ).band;
372
+ const adjustment = (1 - (band ?? 1)) / 2;
373
+
374
+ return [
375
+ withBand(channelDef, adjustment),
376
+ withBand(channelDef, 1 - adjustment),
377
+ ];
378
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/marks/text.js"],"names":[],"mappings":"AAgCA;;;;;;;;;GASG;AACH;IACI;;OAEG;IACH;;OAEG;IACH,sBAFW,OAAO,qBAAqB,EAAE,OAAO,EA8D/C;IAbG,oDAMmD;CAuM1D;iBAhSgB,WAAW"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/marks/text.js"],"names":[],"mappings":"AAiCA;;;;;;;;;GASG;AACH;IACI;;OAEG;IACH;;OAEG;IACH,sBAFW,OAAO,qBAAqB,EAAE,OAAO,EAiB/C;IAbG,oDAMmD;CAyM1D;iBAtPgB,WAAW"}
@@ -12,7 +12,7 @@ import COMMON_SHADER from "./text.common.glsl.js";
12
12
  import { TextVertexBuilder } from "../gl/dataToVertices.js";
13
13
 
14
14
  import Mark from "./mark.js";
15
- import { fixPositional } from "./markUtils.js";
15
+ import { fixCoveragePositional, fixHalfOpenRangedText } from "./markUtils.js";
16
16
  import { primaryPositionalChannels } from "../encoder/encoder.js";
17
17
 
18
18
  /** For GLSL uniforms */
@@ -28,6 +28,7 @@ const baselines = {
28
28
  middle: 0,
29
29
  bottom: 1,
30
30
  alphabetic: 1,
31
+ baseline: 1,
31
32
  };
32
33
 
33
34
  /**
@@ -49,51 +50,6 @@ export default class TextMark extends Mark {
49
50
  */
50
51
  constructor(unitView) {
51
52
  super(unitView);
52
-
53
- this.augmentDefaultProperties({
54
- x: 0.5,
55
- y: 0.5,
56
- x2: undefined,
57
- y2: undefined,
58
- text: "",
59
- size: 11.0,
60
- color: "black",
61
- opacity: 1.0,
62
-
63
- // Use the built-in default
64
- font: undefined,
65
- fontStyle: undefined,
66
- fontWeight: undefined,
67
-
68
- align: "center",
69
- baseline: "middle",
70
- dx: 0,
71
- dy: 0,
72
- angle: 0,
73
-
74
- /** When only primary channel is defined with band/locus scale */
75
- fitToBand: false,
76
-
77
- squeeze: true,
78
- paddingX: 0,
79
- paddingY: 0,
80
- flushX: true,
81
- flushY: true,
82
-
83
- /** Stretch letters so that they can be used with sequence logos etc... */
84
- logoLetters: false,
85
-
86
- viewportEdgeFadeWidthTop: 0,
87
- viewportEdgeFadeWidthRight: 0,
88
- viewportEdgeFadeWidthBottom: 0,
89
- viewportEdgeFadeWidthLeft: 0,
90
-
91
- viewportEdgeFadeDistanceTop: -Infinity,
92
- viewportEdgeFadeDistanceRight: -Infinity,
93
- viewportEdgeFadeDistanceBottom: -Infinity,
94
- viewportEdgeFadeDistanceLeft: -Infinity,
95
- });
96
-
97
53
  this.font = this.properties.font
98
54
  ? unitView.context.fontManager.getFont(
99
55
  this.properties.font,
@@ -150,7 +106,9 @@ export default class TextMark extends Mark {
150
106
 
151
107
  for (const channel of primaryPositionalChannels) {
152
108
  if (this.properties.fitToBand) {
153
- fixPositional(encoding, channel);
109
+ fixCoveragePositional(encoding, channel);
110
+ } else {
111
+ fixHalfOpenRangedText(encoding, channel);
154
112
  }
155
113
  }
156
114
 
@@ -0,0 +1,8 @@
1
+ export const embed: (el: HTMLElement | string, spec: import("./spec/root.js").RootSpec | string, options?: import("./types/embedApi.js").EmbedOptions) => Promise<import("./types/embedApi.js").EmbedResult>;
2
+ import GenomeSpy from "./genomeSpyBase.js";
3
+ import { html } from "lit";
4
+ import icon from "./img/bowtie.svg";
5
+ import favIcon from "./img/genomespy-favicon.svg";
6
+ import { loadSpec } from "./embedFactory.js";
7
+ export { GenomeSpy, html, icon, favIcon, loadSpec };
8
+ //# sourceMappingURL=minimal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimal.d.ts","sourceRoot":"","sources":["../../src/minimal.js"],"names":[],"mappings":"AAkBA,6MAA4C;sBAPtB,oBAAoB;qBAJrB,KAAK;iBAKT,kBAAkB;oBACf,6BAA6B;yBACX,mBAAmB"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Lean GenomeSpy core entry point.
3
+ *
4
+ * Use this entry when you want the `embed` API without the default built-in
5
+ * eager and lazy format registrations. Import the optional data source and
6
+ * format modules you need explicitly.
7
+ */
8
+ import { html } from "lit";
9
+
10
+ // Lean core entry point: shares the embed API, but skips built-in optional
11
+ // eager and lazy format registrations.
12
+ import GenomeSpy from "./genomeSpyBase.js";
13
+ import icon from "./img/bowtie.svg";
14
+ import favIcon from "./img/genomespy-favicon.svg";
15
+ import { createEmbed, loadSpec } from "./embedFactory.js";
16
+
17
+ export { GenomeSpy, html, icon, favIcon };
18
+
19
+ export const embed = createEmbed(GenomeSpy);
20
+
21
+ export { loadSpec };
@@ -71,6 +71,25 @@ export default class ViewParamRuntime {
71
71
  * Returns configs for all parameters that have been registered using `registerParam`.
72
72
  */
73
73
  get paramConfigs(): ReadonlyMap<string, import("../spec/parameter.js").Parameter>;
74
+ /**
75
+ * Returns true if this runtime scope owns a local binding for the parameter.
76
+ *
77
+ * @param {string} paramName
78
+ * @returns {boolean}
79
+ */
80
+ hasLocalParam(paramName: string): boolean;
81
+ /**
82
+ * Returns true if this runtime scope or any ancestor scope contains a
83
+ * parameter registered through `registerParam`.
84
+ *
85
+ * Auto-allocated setters such as layout width/height are intentionally
86
+ * ignored so that only explicit parameter configs shadow descendant
87
+ * auto-size params.
88
+ *
89
+ * @param {string} paramName
90
+ * @returns {boolean}
91
+ */
92
+ hasConfiguredParamInScopeChain(paramName: string): boolean;
74
93
  /**
75
94
  *
76
95
  * @param {string} paramName
@@ -1 +1 @@
1
- {"version":3,"file":"viewParamRuntime.d.ts","sourceRoot":"","sources":["../../../src/paramRuntime/viewParamRuntime.js"],"names":[],"mappings":"AAmBA;;;;;;;;GAQG;AACH;IAqCI;;;;;OAKG;IACH,2BALW,MAAM,gBAAgB,EAgBhC;IAED;;;;;;;;;;;OAWG;IACH,wEAjEqB,GAAG,KAAK,IAAI,CAyJhC;IAED;;;;;;;OAOG;IACH,eAFa,CAAC,aAJH,MAAM,gBACN,CAAC,YACD,OAAO,GACL,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAgC9B;IAED;;;;;;;;OAQG;IACH,oBAHW,MAAM,SACN,GAAG,QAWb;IAED;;;OAGG;IACH,oBAFW,MAAM,OAIhB;IAED;;;;;;;;OAQG;IACH,qBAJW,MAAM,YACN,MAAM,IAAI,GACR,MAAM,IAAI,CAiBtB;IAED;;;OAGG;IACH,qBAFW,MAAM,OAKhB;IAED;;OAEG;IACH,oBACsB,WAAW,CAAC,MAAM,2CAAY,CAGnD;IAED;;;;OAIG;IACH,+BAHW,MAAM,GACJ,gBAAgB,CAQ5B;IAKD;;;;OAIG;IACH,uBAFW,MAAM,wCAIhB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,sBALW,MAAM,YACN,MAAM,IAAI;;;;;;;qBA7SX,OAAO;;;;;;2BAKP,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI;QA0S3B,eAAe,CAY3B;IA0BD;;;;OAIG;IACH,qBAFW,MAAM,OAKhB;IAED;;;;OAIG;IACH,iBAJa,CAAC,MACH,MAAM,CAAC,GACL,CAAC,CAIb;IAED,iBAEC;IAED;;;;;OAKG;IACH,yBAFW;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,iBAItD;IAED,gBAUC;IAED;;;;;OAKG;IACH,sBAFa,OAAO,CAiBnB;;CACJ;;;;;;;;8BAhaY,OAAO,wBAAwB,EAAE,kBAAkB,GAAG;IAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,MAAM,CAAA;CAAC"}
1
+ {"version":3,"file":"viewParamRuntime.d.ts","sourceRoot":"","sources":["../../../src/paramRuntime/viewParamRuntime.js"],"names":[],"mappings":"AAmBA;;;;;;;;GAQG;AACH;IAqCI;;;;;OAKG;IACH,2BALW,MAAM,gBAAgB,EAgBhC;IAED;;;;;;;;;;;OAWG;IACH,wEAjEqB,GAAG,KAAK,IAAI,CAyJhC;IAED;;;;;;;OAOG;IACH,eAFa,CAAC,aAJH,MAAM,gBACN,CAAC,YACD,OAAO,GACL,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAgC9B;IAED;;;;;;;;OAQG;IACH,oBAHW,MAAM,SACN,GAAG,QAWb;IAED;;;OAGG;IACH,oBAFW,MAAM,OAIhB;IAED;;;;;;;;OAQG;IACH,qBAJW,MAAM,YACN,MAAM,IAAI,GACR,MAAM,IAAI,CAiBtB;IAED;;;OAGG;IACH,qBAFW,MAAM,OAKhB;IAED;;OAEG;IACH,oBACsB,WAAW,CAAC,MAAM,2CAAY,CAGnD;IAED;;;;;OAKG;IACH,yBAHW,MAAM,GACJ,OAAO,CAKnB;IAED;;;;;;;;;;OAUG;IACH,0CAHW,MAAM,GACJ,OAAO,CAanB;IAED;;;;OAIG;IACH,+BAHW,MAAM,GACJ,gBAAgB,CAQ5B;IAKD;;;;OAIG;IACH,uBAFW,MAAM,wCAIhB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,sBALW,MAAM,YACN,MAAM,IAAI;;;;;;;qBAhVX,OAAO;;;;;;2BAKP,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI;QA6U3B,eAAe,CAY3B;IA0BD;;;;OAIG;IACH,qBAFW,MAAM,OAKhB;IAED;;;;OAIG;IACH,iBAJa,CAAC,MACH,MAAM,CAAC,GACL,CAAC,CAIb;IAED,iBAEC;IAED;;;;;OAKG;IACH,yBAFW;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,iBAItD;IAED,gBAUC;IAED;;;;;OAKG;IACH,sBAFa,OAAO,CAiBnB;;CACJ;;;;;;;;8BAncY,OAAO,wBAAwB,EAAE,kBAAkB,GAAG;IAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,MAAM,CAAA;CAAC"}
@@ -295,6 +295,41 @@ export default class ViewParamRuntime {
295
295
  );
296
296
  }
297
297
 
298
+ /**
299
+ * Returns true if this runtime scope owns a local binding for the parameter.
300
+ *
301
+ * @param {string} paramName
302
+ * @returns {boolean}
303
+ */
304
+ hasLocalParam(paramName) {
305
+ validateParameterName(paramName);
306
+ return this.#localRefs.has(paramName);
307
+ }
308
+
309
+ /**
310
+ * Returns true if this runtime scope or any ancestor scope contains a
311
+ * parameter registered through `registerParam`.
312
+ *
313
+ * Auto-allocated setters such as layout width/height are intentionally
314
+ * ignored so that only explicit parameter configs shadow descendant
315
+ * auto-size params.
316
+ *
317
+ * @param {string} paramName
318
+ * @returns {boolean}
319
+ */
320
+ hasConfiguredParamInScopeChain(paramName) {
321
+ validateParameterName(paramName);
322
+
323
+ if (this.#paramConfigs.has(paramName)) {
324
+ return true;
325
+ }
326
+
327
+ return (
328
+ this.#parentFinder()?.hasConfiguredParamInScopeChain(paramName) ??
329
+ false
330
+ );
331
+ }
332
+
298
333
  /**
299
334
  *
300
335
  * @param {string} paramName
@@ -1 +1 @@
1
- {"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../../../src/scale/scale.js"],"names":[],"mappings":"AAgIA,sEAuBC;AAED;;;;;GAKG;AACH,uCAJW,OAAO,kBAAkB,EAAE,KAAK,UAChC,GAAC,GACC,OAAO,uBAAuB,EAAE,SAAS,CAoBrD;AA4CD;;;;;EAuGC"}
1
+ {"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../../../src/scale/scale.js"],"names":[],"mappings":"AAgIA,sEAuBC;AAED;;;;;GAKG;AACH,uCAJW,OAAO,kBAAkB,EAAE,KAAK,UAChC,GAAC,GACC,OAAO,uBAAuB,EAAE,SAAS,CA0BrD;AA4CD;;;;;EAuGC"}
@@ -158,7 +158,18 @@ export function configureScale(_, scale, logger) {
158
158
  * @returns {import("../encoder/encoder.js").VegaScale}
159
159
  */
160
160
  export default function createScale(_, logger) {
161
- const key = scaleKey(_);
161
+ // Seed continuous scales with a placeholder domain before key selection so
162
+ // scheme-backed scales choose the interpolating family.
163
+ const scaleProps =
164
+ !_.domain && isContinuous(_.type)
165
+ ? {
166
+ ..._,
167
+ // [0, 0] indicates an uninitialized domain.
168
+ domain: [0, 0],
169
+ }
170
+ : _;
171
+
172
+ const key = scaleKey(scaleProps);
162
173
  const scale = getScale(key);
163
174
 
164
175
  if (!scale) {
@@ -167,12 +178,7 @@ export default function createScale(_, logger) {
167
178
 
168
179
  const scaleInstance = scale();
169
180
 
170
- if (!_.domain && isContinuous(scaleInstance.type)) {
171
- // [0, 0] indicates an uninitialized domain.
172
- _.domain = [0, 0];
173
- }
174
-
175
- configureScale(_, scaleInstance, logger);
181
+ configureScale(scaleProps, scaleInstance, logger);
176
182
 
177
183
  return scaleInstance;
178
184
  }
@@ -1 +1 @@
1
- {"version":3,"file":"axisResolution.d.ts","sourceRoot":"","sources":["../../../src/scales/axisResolution.js"],"names":[],"mappings":"AAcA;;;;;;;GAOG;AACH;IASI;;OAEG;IACH,qBAFW,OAAO,oBAAoB,EAAE,wBAAwB,EAI/D;IADG,+DAAsB;IAG1B,2BAGC;IAiCD;;;OAGG;IACH,uBAHW,oBAAoB,GAClB,MAAM,OAAO,CAQzB;IAED;;;OAGG;IACH,qBAHW,oBAAoB,GAClB,OAAO,CAQnB;IAED,qDAuBC;IAED,mBAmEC;;CACJ;iCAhL6D,CAAC,SAAlD,OAAQ,oBAAoB,EAAE,iBAAkB;UAGnD,OAAO,qBAAqB,EAAE,OAAO;aACrC,CAAC;gBACD,OAAO,oBAAoB,EAAE,mBAAmB"}
1
+ {"version":3,"file":"axisResolution.d.ts","sourceRoot":"","sources":["../../../src/scales/axisResolution.js"],"names":[],"mappings":"AAeA;;;;;;;GAOG;AACH;IASI;;OAEG;IACH,qBAFW,OAAO,oBAAoB,EAAE,wBAAwB,EAI/D;IADG,+DAAsB;IAG1B,2BAGC;IAiCD;;;OAGG;IACH,uBAHW,oBAAoB,GAClB,MAAM,OAAO,CAQzB;IAED;;;OAGG;IACH,qBAHW,oBAAoB,GAClB,OAAO,CAQnB;IAED,qDA0BC;IAED,mBAmEC;;CACJ;iCAnL6D,CAAC,SAAlD,OAAQ,oBAAoB,EAAE,iBAAkB;UAGnD,OAAO,qBAAqB,EAAE,OAAO;aACrC,CAAC;gBACD,OAAO,oBAAoB,EAAE,mBAAmB"}
@@ -11,6 +11,7 @@ import coalesce from "../utils/coalesce.js";
11
11
 
12
12
  import mergeObjects from "../utils/mergeObjects.js";
13
13
  import { getCachedOrCall, invalidate } from "../utils/propertyCacher.js";
14
+ import { orderResolutionMembers } from "./resolutionMemberOrder.js";
14
15
 
15
16
  /**
16
17
  * @template {import("../spec/channel.js").PositionalChannel}[T=PositionalChannel]
@@ -98,10 +99,13 @@ export default class AxisResolution {
98
99
 
99
100
  getAxisProps() {
100
101
  return getCachedOrCall(this, "axisProps", () => {
101
- const propArray = Array.from(this.#members).map((member) => {
102
- const channelDef = member.view.mark.encoding[member.channel];
103
- return "axis" in channelDef && channelDef.axis;
104
- });
102
+ const propArray = orderResolutionMembers(this.#members).map(
103
+ (member) => {
104
+ const channelDef =
105
+ member.view.mark.encoding[member.channel];
106
+ return "axis" in channelDef && channelDef.axis;
107
+ }
108
+ );
105
109
 
106
110
  if (
107
111
  propArray.length > 0 &&
@@ -152,7 +156,7 @@ export default class AxisResolution {
152
156
  };
153
157
  };
154
158
 
155
- const titles = Array.from(this.#members).map(computeTitle);
159
+ const titles = orderResolutionMembers(this.#members).map(computeTitle);
156
160
  const explicitAxisTitle = titles
157
161
  .map((title) => title.axisTitle)
158
162
  .find((title) => title !== undefined);
@@ -12,20 +12,23 @@ export function isSelectionDomainRef(domain: any): domain is SelectionDomainRef;
12
12
  * @typedef {{
13
13
  * param: string,
14
14
  * encoding: "x" | "y",
15
- * sync: "auto" | "oneWay" | "twoWay",
15
+ * hasInitial: boolean,
16
+ * runtime: any,
16
17
  * }} SelectionDomainLinkInfo
17
18
  */
18
19
  export default class DomainPlanner {
19
20
  /**
20
21
  * @param {object} options
21
22
  * @param {() => Set<ScaleResolutionMember>} options.getMembers
23
+ * @param {() => Set<ScaleResolutionMember>} [options.getAllMembers]
22
24
  * @param {() => Set<ScaleResolutionMember>} [options.getDataMembers]
23
25
  * @param {() => import("../spec/channel.js").Type} options.getType
24
26
  * @param {(assembly: import("../spec/scale.js").Scale["assembly"] | undefined) => number[]} options.getLocusExtent
25
27
  * @param {(interval: ScalarDomain | ComplexDomain) => number[]} options.fromComplexInterval
26
28
  */
27
- constructor({ getMembers, getDataMembers, getType, getLocusExtent, fromComplexInterval, }: {
29
+ constructor({ getMembers, getAllMembers, getDataMembers, getType, getLocusExtent, fromComplexInterval, }: {
28
30
  getMembers: () => Set<ScaleResolutionMember>;
31
+ getAllMembers?: () => Set<ScaleResolutionMember>;
29
32
  getDataMembers?: () => Set<ScaleResolutionMember>;
30
33
  getType: () => import("../spec/channel.js").Type;
31
34
  getLocusExtent: (assembly: import("../spec/scale.js").Scale["assembly"] | undefined) => number[];
@@ -35,12 +38,21 @@ export default class DomainPlanner {
35
38
  * @returns {any[]}
36
39
  */
37
40
  get initialDomainSnapshot(): any[];
38
- hasConfiguredDomain(): boolean;
41
+ /**
42
+ * @param {{ includeSelectionInitial?: boolean }} [options]
43
+ */
44
+ hasConfiguredDomain(options?: {
45
+ includeSelectionInitial?: boolean;
46
+ }): boolean;
39
47
  hasSelectionConfiguredDomain(): boolean;
40
48
  /**
41
49
  * @returns {SelectionDomainLinkInfo | undefined}
42
50
  */
43
- getSelectionConfiguredDomainInfo(): SelectionDomainLinkInfo | undefined;
51
+ getSelectionConfiguredDomainBindingInfo(): SelectionDomainLinkInfo | undefined;
52
+ getSelectionConfiguredDomainInfo(): {
53
+ param: string;
54
+ encoding: "x" | "y";
55
+ };
44
56
  invalidateConfiguredDomain(): void;
45
57
  /**
46
58
  * Returns the default domain without considering configured domains.
@@ -55,15 +67,21 @@ export default class DomainPlanner {
55
67
  *
56
68
  * @param {boolean} [extractDataDomain]
57
69
  * @param {import("../spec/scale.js").Scale["assembly"]} [locusAssembly]
70
+ * @param {{ includeSelectionInitial?: boolean }} [options]
58
71
  * @returns {any[]}
59
72
  */
60
- getConfiguredOrDefaultDomain(extractDataDomain?: boolean, locusAssembly?: import("../spec/scale.js").Scale["assembly"]): any[];
73
+ getConfiguredOrDefaultDomain(extractDataDomain?: boolean, locusAssembly?: import("../spec/scale.js").Scale["assembly"], options?: {
74
+ includeSelectionInitial?: boolean;
75
+ }): any[];
61
76
  /**
62
77
  * Unions the configured domains of all participating views.
63
78
  *
79
+ * @param {{ includeSelectionInitial?: boolean }} [options]
64
80
  * @return {DomainArray}
65
81
  */
66
- getConfiguredDomain(): DomainArray;
82
+ getConfiguredDomain(options?: {
83
+ includeSelectionInitial?: boolean;
84
+ }): DomainArray;
67
85
  /**
68
86
  * Extracts and unions the data domains of all participating views.
69
87
  *
@@ -73,9 +91,10 @@ export default class DomainPlanner {
73
91
  /**
74
92
  * @param {import("../types/encoder.js").VegaScale} scale
75
93
  * @param {boolean} domainWasInitialized
94
+ * @param {any[]} [snapshotDomain]
76
95
  * @returns {boolean} true if listeners should be notified immediately
77
96
  */
78
- captureInitialDomain(scale: import("../types/encoder.js").VegaScale, domainWasInitialized: boolean): boolean;
97
+ captureInitialDomain(scale: import("../types/encoder.js").VegaScale, domainWasInitialized: boolean, snapshotDomain?: any[]): boolean;
79
98
  #private;
80
99
  }
81
100
  export type DomainArray = import("../utils/domainArray.js").DomainArray;
@@ -86,6 +105,7 @@ export type ScaleResolutionMember = import("./scaleResolution.js").ScaleResoluti
86
105
  export type SelectionDomainLinkInfo = {
87
106
  param: string;
88
107
  encoding: "x" | "y";
89
- sync: "auto" | "oneWay" | "twoWay";
108
+ hasInitial: boolean;
109
+ runtime: any;
90
110
  };
91
111
  //# sourceMappingURL=domainPlanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"domainPlanner.d.ts","sourceRoot":"","sources":["../../../src/scales/domainPlanner.js"],"names":[],"mappings":"AA8ZA;;;GAGG;AACH,6CAHW,GAAG,GACD,MAAM,IAAI,kBAAkB,CASxC;AAhaD;;;;;;;;;;;GAWG;AAEH;IA8BI;;;;;;;OAOG;IACH,2FANG;QAAkD,UAAU,EAApD,MAAM,GAAG,CAAC,qBAAqB,CAAC;QACW,cAAc,GAAzD,MAAM,GAAG,CAAC,qBAAqB,CAAC;QACiB,OAAO,EAAxD,MAAM,OAAO,oBAAoB,EAAE,IAAI;QACmD,cAAc,EAAxG,CAAC,QAAQ,EAAE,OAAO,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,KAAK,MAAM,EAAE;QAClB,mBAAmB,EAAjF,CAAC,QAAQ,EAAE,YAAY,GAAG,aAAa,KAAK,MAAM,EAAE;KAC9D,EAaA;IAED;;OAEG;IACH,6BAFa,GAAG,EAAE,CAIjB;IAED,+BAEC;IAED,wCAGC;IAED;;OAEG;IACH,oCAFa,uBAAuB,GAAG,SAAS,CAK/C;IAED,mCAEC;IAED;;;;;;OAMG;IACH,qCAJW,OAAO,kBACP,OAAO,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,GAC1C,GAAG,EAAE,CASjB;IAED;;;;;;OAMG;IACH,iDAJW,OAAO,kBACP,OAAO,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,GAC1C,GAAG,EAAE,CAQjB;IAED;;;;OAIG;IACH,uBAFY,WAAW,CAetB;IAED;;;;OAIG;IACH,iBAFY,WAAW,GAAG,SAAS,CAQlC;IAED;;;;OAIG;IACH,4BAJW,OAAO,qBAAqB,EAAE,SAAS,wBACvC,OAAO,GACL,OAAO,CAgBnB;;CAkCJ;0BAjNY,OAAO,yBAAyB,EAAE,WAAW;4BAC7C,OAAO,kBAAkB,EAAE,aAAa;2BACxC,OAAO,kBAAkB,EAAE,YAAY;iCACvC,OAAO,kBAAkB,EAAE,kBAAkB;oCAC7C,OAAO,sBAAsB,EAAE,qBAAqB;sCACpD;IACR,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACpC"}
1
+ {"version":3,"file":"domainPlanner.d.ts","sourceRoot":"","sources":["../../../src/scales/domainPlanner.js"],"names":[],"mappings":"AAiiBA;;;GAGG;AACH,6CAHW,GAAG,GACD,MAAM,IAAI,kBAAkB,CASxC;AAxhBD;;;;;;;;;;;;GAYG;AAEH;IAiCI;;;;;;;;OAQG;IACH,0GAPG;QAAkD,UAAU,EAApD,MAAM,GAAG,CAAC,qBAAqB,CAAC;QACW,aAAa,GAAxD,MAAM,GAAG,CAAC,qBAAqB,CAAC;QACW,cAAc,GAAzD,MAAM,GAAG,CAAC,qBAAqB,CAAC;QACiB,OAAO,EAAxD,MAAM,OAAO,oBAAoB,EAAE,IAAI;QACmD,cAAc,EAAxG,CAAC,QAAQ,EAAE,OAAO,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,KAAK,MAAM,EAAE;QAClB,mBAAmB,EAAjF,CAAC,QAAQ,EAAE,YAAY,GAAG,aAAa,KAAK,MAAM,EAAE;KAC9D,EAeA;IAED;;OAEG;IACH,6BAFa,GAAG,EAAE,CAIjB;IAED;;OAEG;IACH,8BAFW;QAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;KAAE,WAI/C;IAED,wCAGC;IAED;;OAEG;IACH,2CAFa,uBAAuB,GAAG,SAAS,CAS/C;IAED;;;MAUC;IAED,mCAIC;IAED;;;;;;OAMG;IACH,qCAJW,OAAO,kBACP,OAAO,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,GAC1C,GAAG,EAAE,CASjB;IAED;;;;;;;OAOG;IACH,iDALW,OAAO,kBACP,OAAO,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,YAC5C;QAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,GAAG,EAAE,CAYjB;IAED;;;;;OAKG;IACH,8BAHW;QAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;KAAE,GACpC,WAAW,CA8BtB;IAED;;;;OAIG;IACH,iBAFY,WAAW,GAAG,SAAS,CAQlC;IAED;;;;;OAKG;IACH,4BALW,OAAO,qBAAqB,EAAE,SAAS,wBACvC,OAAO,mBACP,GAAG,EAAE,GACH,OAAO,CAgBnB;;CAkCJ;0BAnQY,OAAO,yBAAyB,EAAE,WAAW;4BAC7C,OAAO,kBAAkB,EAAE,aAAa;2BACxC,OAAO,kBAAkB,EAAE,YAAY;iCACvC,OAAO,kBAAkB,EAAE,kBAAkB;oCAC7C,OAAO,sBAAsB,EAAE,qBAAqB;sCACpD;IACR,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC;CACd"}