@genome-spy/core 0.72.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 (396) hide show
  1. package/LICENSE +1 -1
  2. package/dist/bundle/AbortablePromiseCache-3gHJdF3E.js +96 -0
  3. package/dist/bundle/browser-BTgw5ieH.js +126 -0
  4. package/dist/bundle/chunk-DmhlhrBa.js +11 -0
  5. package/dist/bundle/esm-BDFRLEuD.js +1248 -0
  6. package/dist/bundle/esm-BygJiwh0.js +573 -0
  7. package/dist/bundle/esm-CGX-qz1d.js +155 -0
  8. package/dist/bundle/esm-CgfVIRJ-.js +121 -0
  9. package/dist/bundle/esm-CuMSzCHy.js +298 -0
  10. package/dist/bundle/esm-DMXpJXM4.js +369 -0
  11. package/dist/bundle/esm-DQiq2Zhd.js +1426 -0
  12. package/dist/bundle/esm-DtE8VqAv.js +1015 -0
  13. package/dist/bundle/esm-sIoQYZ21.js +461 -0
  14. package/dist/bundle/index.es.js +21078 -24556
  15. package/dist/bundle/index.js +379 -383
  16. package/dist/bundle/parquetRead-DG_-F5j5.js +1609 -0
  17. package/dist/schema.json +13349 -7082
  18. package/dist/src/config/axisConfig.d.ts +16 -0
  19. package/dist/src/config/axisConfig.d.ts.map +1 -0
  20. package/dist/src/config/axisConfig.js +84 -0
  21. package/dist/src/config/defaultConfig.d.ts +3 -0
  22. package/dist/src/config/defaultConfig.d.ts.map +1 -0
  23. package/dist/src/config/defaultConfig.js +38 -0
  24. package/dist/src/config/defaults/axisDefaults.d.ts +5 -0
  25. package/dist/src/config/defaults/axisDefaults.d.ts.map +1 -0
  26. package/dist/src/config/defaults/axisDefaults.js +72 -0
  27. package/dist/src/config/defaults/markDefaults.d.ts +15 -0
  28. package/dist/src/config/defaults/markDefaults.d.ts.map +1 -0
  29. package/dist/src/config/defaults/markDefaults.js +121 -0
  30. package/dist/src/config/defaults/scaleDefaults.d.ts +5 -0
  31. package/dist/src/config/defaults/scaleDefaults.d.ts.map +1 -0
  32. package/dist/src/config/defaults/scaleDefaults.js +18 -0
  33. package/dist/src/config/defaults/titleDefaults.d.ts +5 -0
  34. package/dist/src/config/defaults/titleDefaults.d.ts.map +1 -0
  35. package/dist/src/config/defaults/titleDefaults.js +47 -0
  36. package/dist/src/config/defaults/viewDefaults.d.ts +3 -0
  37. package/dist/src/config/defaults/viewDefaults.d.ts.map +1 -0
  38. package/dist/src/config/defaults/viewDefaults.js +2 -0
  39. package/dist/src/config/markConfig.d.ts +8 -0
  40. package/dist/src/config/markConfig.d.ts.map +1 -0
  41. package/dist/src/config/markConfig.js +27 -0
  42. package/dist/src/config/mergeConfig.d.ts +8 -0
  43. package/dist/src/config/mergeConfig.d.ts.map +1 -0
  44. package/dist/src/config/mergeConfig.js +81 -0
  45. package/dist/src/config/resolveConfig.d.ts +22 -0
  46. package/dist/src/config/resolveConfig.d.ts.map +1 -0
  47. package/dist/src/config/resolveConfig.js +32 -0
  48. package/dist/src/config/scaleConfig.d.ts +40 -0
  49. package/dist/src/config/scaleConfig.d.ts.map +1 -0
  50. package/dist/src/config/scaleConfig.js +220 -0
  51. package/dist/src/config/styleUtils.d.ts +6 -0
  52. package/dist/src/config/styleUtils.d.ts.map +1 -0
  53. package/dist/src/config/styleUtils.js +10 -0
  54. package/dist/src/config/themes.d.ts +15 -0
  55. package/dist/src/config/themes.d.ts.map +1 -0
  56. package/dist/src/config/themes.js +293 -0
  57. package/dist/src/config/titleConfig.d.ts +12 -0
  58. package/dist/src/config/titleConfig.d.ts.map +1 -0
  59. package/dist/src/config/titleConfig.js +42 -0
  60. package/dist/src/config/viewConfig.d.ts +7 -0
  61. package/dist/src/config/viewConfig.d.ts.map +1 -0
  62. package/dist/src/config/viewConfig.js +29 -0
  63. package/dist/src/data/flowNode.d.ts +22 -1
  64. package/dist/src/data/flowNode.d.ts.map +1 -1
  65. package/dist/src/data/flowNode.js +37 -1
  66. package/dist/src/data/formats/bed.d.ts +8 -0
  67. package/dist/src/data/formats/bed.d.ts.map +1 -0
  68. package/dist/src/data/formats/bed.js +58 -0
  69. package/dist/src/data/formats/bedpe.d.ts +8 -0
  70. package/dist/src/data/formats/bedpe.d.ts.map +1 -0
  71. package/dist/src/data/formats/bedpe.js +164 -0
  72. package/dist/src/data/formats/fasta.d.ts.map +1 -1
  73. package/dist/src/data/formats/fasta.js +4 -0
  74. package/dist/src/data/formats/parquet.d.ts.map +1 -1
  75. package/dist/src/data/formats/parquet.js +4 -0
  76. package/dist/src/data/sources/dataSourceFactory.d.ts +2 -13
  77. package/dist/src/data/sources/dataSourceFactory.d.ts.map +1 -1
  78. package/dist/src/data/sources/dataSourceFactory.js +5 -141
  79. package/dist/src/data/sources/dataUtils.d.ts +16 -0
  80. package/dist/src/data/sources/dataUtils.d.ts.map +1 -1
  81. package/dist/src/data/sources/dataUtils.js +53 -3
  82. package/dist/src/data/sources/lazy/axisGenomeSource.d.ts.map +1 -1
  83. package/dist/src/data/sources/lazy/axisGenomeSource.js +11 -0
  84. package/dist/src/data/sources/lazy/axisTickSource.d.ts +1 -1
  85. package/dist/src/data/sources/lazy/axisTickSource.d.ts.map +1 -1
  86. package/dist/src/data/sources/lazy/axisTickSource.js +19 -8
  87. package/dist/src/data/sources/lazy/bamSource.d.ts.map +1 -1
  88. package/dist/src/data/sources/lazy/bamSource.js +11 -0
  89. package/dist/src/data/sources/lazy/bigBedSource.d.ts.map +1 -1
  90. package/dist/src/data/sources/lazy/bigBedSource.js +12 -1
  91. package/dist/src/data/sources/lazy/bigWigSource.d.ts.map +1 -1
  92. package/dist/src/data/sources/lazy/bigWigSource.js +11 -0
  93. package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -1
  94. package/dist/src/data/sources/lazy/gff3Source.js +12 -1
  95. package/dist/src/data/sources/lazy/indexedFastaSource.d.ts.map +1 -1
  96. package/dist/src/data/sources/lazy/indexedFastaSource.js +11 -0
  97. package/dist/src/data/sources/lazy/lazyDataSourceRegistry.d.ts +27 -0
  98. package/dist/src/data/sources/lazy/lazyDataSourceRegistry.d.ts.map +1 -0
  99. package/dist/src/data/sources/lazy/lazyDataSourceRegistry.js +65 -0
  100. package/dist/src/data/sources/lazy/registerBuiltInLazySources.d.ts +2 -0
  101. package/dist/src/data/sources/lazy/registerBuiltInLazySources.d.ts.map +1 -0
  102. package/dist/src/data/sources/lazy/registerBuiltInLazySources.js +8 -0
  103. package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts.map +1 -1
  104. package/dist/src/data/sources/lazy/singleAxisLazySource.js +11 -2
  105. package/dist/src/data/sources/lazy/vcfSource.d.ts.map +1 -1
  106. package/dist/src/data/sources/lazy/vcfSource.js +11 -0
  107. package/dist/src/data/sources/urlSource.d.ts +4 -0
  108. package/dist/src/data/sources/urlSource.d.ts.map +1 -1
  109. package/dist/src/data/sources/urlSource.js +138 -16
  110. package/dist/src/data/transforms/aggregate.d.ts +1 -0
  111. package/dist/src/data/transforms/aggregate.d.ts.map +1 -1
  112. package/dist/src/data/transforms/aggregate.js +30 -8
  113. package/dist/src/data/transforms/aggregateOps.d.ts.map +1 -1
  114. package/dist/src/data/transforms/aggregateOps.js +12 -1
  115. package/dist/src/data/transforms/coverage.js +2 -2
  116. package/dist/src/data/transforms/filter.js +1 -1
  117. package/dist/src/data/transforms/filterScoredLabels.d.ts +6 -0
  118. package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
  119. package/dist/src/data/transforms/filterScoredLabels.js +9 -0
  120. package/dist/src/data/transforms/measureText.d.ts +1 -0
  121. package/dist/src/data/transforms/measureText.d.ts.map +1 -1
  122. package/dist/src/data/transforms/measureText.js +14 -5
  123. package/dist/src/data/transforms/pileup.d.ts.map +1 -1
  124. package/dist/src/data/transforms/pileup.js +1 -2
  125. package/dist/src/data/transforms/regexFold.d.ts.map +1 -1
  126. package/dist/src/data/transforms/regexFold.js +0 -1
  127. package/dist/src/embedFactory.d.ts +13 -0
  128. package/dist/src/embedFactory.d.ts.map +1 -0
  129. package/dist/src/embedFactory.js +127 -0
  130. package/dist/src/encoder/accessor.d.ts +3 -12
  131. package/dist/src/encoder/accessor.d.ts.map +1 -1
  132. package/dist/src/encoder/accessor.js +10 -65
  133. package/dist/src/encoder/encoder.d.ts +51 -8
  134. package/dist/src/encoder/encoder.d.ts.map +1 -1
  135. package/dist/src/encoder/encoder.js +179 -55
  136. package/dist/src/fonts/bmFontManager.js +1 -1
  137. package/dist/src/full.d.ts +2 -0
  138. package/dist/src/full.d.ts.map +1 -0
  139. package/dist/src/full.js +2 -0
  140. package/dist/src/genome/assemblyPreflight.d.ts +31 -0
  141. package/dist/src/genome/assemblyPreflight.d.ts.map +1 -0
  142. package/dist/src/genome/assemblyPreflight.js +99 -0
  143. package/dist/src/genome/genome.d.ts +10 -2
  144. package/dist/src/genome/genome.d.ts.map +1 -1
  145. package/dist/src/genome/genome.js +20 -2
  146. package/dist/src/genome/genomeStore.d.ts +34 -3
  147. package/dist/src/genome/genomeStore.d.ts.map +1 -1
  148. package/dist/src/genome/genomeStore.js +409 -18
  149. package/dist/src/genome/rootGenomeConfig.d.ts +26 -0
  150. package/dist/src/genome/rootGenomeConfig.d.ts.map +1 -0
  151. package/dist/src/genome/rootGenomeConfig.js +98 -0
  152. package/dist/src/genome/scaleLocus.d.ts.map +1 -1
  153. package/dist/src/genome/scaleLocus.js +26 -7
  154. package/dist/src/genomeSpy/cursorManager.d.ts +69 -0
  155. package/dist/src/genomeSpy/cursorManager.d.ts.map +1 -0
  156. package/dist/src/genomeSpy/cursorManager.js +131 -0
  157. package/dist/src/genomeSpy/headlessBootstrap.d.ts +113 -0
  158. package/dist/src/genomeSpy/headlessBootstrap.d.ts.map +1 -0
  159. package/dist/src/genomeSpy/headlessBootstrap.js +246 -0
  160. package/dist/src/genomeSpy/interactionController.d.ts +10 -1
  161. package/dist/src/genomeSpy/interactionController.d.ts.map +1 -1
  162. package/dist/src/genomeSpy/interactionController.js +448 -40
  163. package/dist/src/genomeSpy/interactionDispatcher.d.ts +50 -0
  164. package/dist/src/genomeSpy/interactionDispatcher.d.ts.map +1 -0
  165. package/dist/src/genomeSpy/interactionDispatcher.js +203 -0
  166. package/dist/src/genomeSpy/renderCoordinator.js +1 -1
  167. package/dist/src/genomeSpy/viewContextFactory.d.ts +4 -2
  168. package/dist/src/genomeSpy/viewContextFactory.d.ts.map +1 -1
  169. package/dist/src/genomeSpy/viewContextFactory.js +12 -4
  170. package/dist/src/genomeSpy/viewDataInit.d.ts.map +1 -1
  171. package/dist/src/genomeSpy/viewDataInit.js +7 -3
  172. package/dist/src/genomeSpy.d.ts +1 -114
  173. package/dist/src/genomeSpy.d.ts.map +1 -1
  174. package/dist/src/genomeSpy.js +7 -614
  175. package/dist/src/genomeSpyBase.d.ts +133 -0
  176. package/dist/src/genomeSpyBase.d.ts.map +1 -0
  177. package/dist/src/genomeSpyBase.js +719 -0
  178. package/dist/src/gl/arrayBuilder.d.ts.map +1 -1
  179. package/dist/src/gl/arrayBuilder.js +0 -3
  180. package/dist/src/gl/canvasSizeHelper.d.ts +74 -0
  181. package/dist/src/gl/canvasSizeHelper.d.ts.map +1 -0
  182. package/dist/src/gl/canvasSizeHelper.js +203 -0
  183. package/dist/src/gl/colorUtils.d.ts.map +1 -1
  184. package/dist/src/gl/colorUtils.js +3 -0
  185. package/dist/src/gl/dataToVertices.d.ts.map +1 -1
  186. package/dist/src/gl/dataToVertices.js +13 -8
  187. package/dist/src/gl/glslScaleGenerator.d.ts +2 -2
  188. package/dist/src/gl/glslScaleGenerator.d.ts.map +1 -1
  189. package/dist/src/gl/glslScaleGenerator.js +5 -7
  190. package/dist/src/gl/webGLHelper.d.ts +25 -11
  191. package/dist/src/gl/webGLHelper.d.ts.map +1 -1
  192. package/dist/src/gl/webGLHelper.js +59 -33
  193. package/dist/src/index.d.ts +3 -9
  194. package/dist/src/index.d.ts.map +1 -1
  195. package/dist/src/index.js +5 -111
  196. package/dist/src/marks/__snapshots__/shaderSnapshot.test.js.snap +4462 -0
  197. package/dist/src/marks/link.d.ts.map +1 -1
  198. package/dist/src/marks/link.js +5 -26
  199. package/dist/src/marks/mark.d.ts +8 -1
  200. package/dist/src/marks/mark.d.ts.map +1 -1
  201. package/dist/src/marks/mark.js +67 -21
  202. package/dist/src/marks/markUtils.d.ts +18 -1
  203. package/dist/src/marks/markUtils.d.ts.map +1 -1
  204. package/dist/src/marks/markUtils.js +52 -4
  205. package/dist/src/marks/point.d.ts.map +1 -1
  206. package/dist/src/marks/point.js +6 -26
  207. package/dist/src/marks/rect.d.ts.map +1 -1
  208. package/dist/src/marks/rect.js +13 -21
  209. package/dist/src/marks/rule.d.ts +7 -2
  210. package/dist/src/marks/rule.d.ts.map +1 -1
  211. package/dist/src/marks/rule.js +125 -16
  212. package/dist/src/marks/text.d.ts.map +1 -1
  213. package/dist/src/marks/text.js +5 -47
  214. package/dist/src/minimal.d.ts +8 -0
  215. package/dist/src/minimal.d.ts.map +1 -0
  216. package/dist/src/minimal.js +21 -0
  217. package/dist/src/paramRuntime/viewParamRuntime.d.ts +19 -0
  218. package/dist/src/paramRuntime/viewParamRuntime.d.ts.map +1 -1
  219. package/dist/src/paramRuntime/viewParamRuntime.js +35 -0
  220. package/dist/src/scale/scale.d.ts.map +1 -1
  221. package/dist/src/scale/scale.js +13 -7
  222. package/dist/src/scales/axisResolution.d.ts.map +1 -1
  223. package/dist/src/scales/axisResolution.js +9 -5
  224. package/dist/src/scales/domainPlanner.d.ts +58 -7
  225. package/dist/src/scales/domainPlanner.d.ts.map +1 -1
  226. package/dist/src/scales/domainPlanner.js +395 -40
  227. package/dist/src/scales/indexLikeDomainUtils.d.ts +29 -0
  228. package/dist/src/scales/indexLikeDomainUtils.d.ts.map +1 -0
  229. package/dist/src/scales/indexLikeDomainUtils.js +67 -0
  230. package/dist/src/scales/resolutionMemberOrder.d.ts +15 -0
  231. package/dist/src/scales/resolutionMemberOrder.d.ts.map +1 -0
  232. package/dist/src/scales/resolutionMemberOrder.js +22 -0
  233. package/dist/src/scales/scaleInstanceManager.d.ts +2 -1
  234. package/dist/src/scales/scaleInstanceManager.d.ts.map +1 -1
  235. package/dist/src/scales/scaleInstanceManager.js +10 -11
  236. package/dist/src/scales/scaleInteractionController.d.ts.map +1 -1
  237. package/dist/src/scales/scaleInteractionController.js +59 -18
  238. package/dist/src/scales/scalePropsResolver.d.ts +3 -1
  239. package/dist/src/scales/scalePropsResolver.d.ts.map +1 -1
  240. package/dist/src/scales/scalePropsResolver.js +83 -6
  241. package/dist/src/scales/scaleResolution.d.ts +39 -0
  242. package/dist/src/scales/scaleResolution.d.ts.map +1 -1
  243. package/dist/src/scales/scaleResolution.js +504 -82
  244. package/dist/src/scales/scaleResolutionTestUtils.d.ts +21 -0
  245. package/dist/src/scales/scaleResolutionTestUtils.d.ts.map +1 -0
  246. package/dist/src/scales/scaleResolutionTestUtils.js +37 -0
  247. package/dist/src/scales/scaleRules.d.ts.map +1 -1
  248. package/dist/src/scales/scaleRules.js +16 -2
  249. package/dist/src/scales/selectionDomainUtils.d.ts +52 -0
  250. package/dist/src/scales/selectionDomainUtils.d.ts.map +1 -0
  251. package/dist/src/scales/selectionDomainUtils.js +194 -0
  252. package/dist/src/scales/zoomDomainUtils.d.ts +18 -0
  253. package/dist/src/scales/zoomDomainUtils.d.ts.map +1 -0
  254. package/dist/src/scales/zoomDomainUtils.js +69 -0
  255. package/dist/src/screenshotHarness.d.ts +16 -0
  256. package/dist/src/screenshotHarness.d.ts.map +1 -0
  257. package/dist/src/screenshotHarness.js +241 -0
  258. package/dist/src/singlePageApp.js +1 -1
  259. package/dist/src/spec/axis.d.ts +41 -30
  260. package/dist/src/spec/channel.d.ts +15 -9
  261. package/dist/src/spec/config.d.ts +264 -0
  262. package/dist/src/spec/data.d.ts +30 -3
  263. package/dist/src/spec/decoration.d.ts +51 -0
  264. package/dist/src/spec/exampleFiles.d.ts +12 -0
  265. package/dist/src/spec/exampleFiles.d.ts.map +1 -0
  266. package/dist/src/spec/exampleFiles.js +52 -0
  267. package/dist/src/spec/font.d.ts +1 -1
  268. package/dist/src/spec/genome.d.ts +22 -2
  269. package/dist/src/spec/mark.d.ts +97 -13
  270. package/dist/src/spec/parameter.d.ts +62 -5
  271. package/dist/src/spec/root.d.ts +34 -1
  272. package/dist/src/spec/scale.d.ts +46 -5
  273. package/dist/src/spec/title.d.ts +13 -2
  274. package/dist/src/spec/tooltip.d.ts +1 -1
  275. package/dist/src/spec/transform.d.ts +39 -4
  276. package/dist/src/spec/view.d.ts +67 -19
  277. package/dist/src/styles/genome-spy.css +63 -55
  278. package/dist/src/styles/genome-spy.css.d.ts +1 -1
  279. package/dist/src/styles/genome-spy.css.d.ts.map +1 -1
  280. package/dist/src/styles/genome-spy.css.js +31 -22
  281. package/dist/src/testSetup.d.ts +2 -0
  282. package/dist/src/testSetup.d.ts.map +1 -0
  283. package/dist/src/testSetup.js +5 -0
  284. package/dist/src/tooltip/dataTooltipHandler.js +66 -11
  285. package/dist/src/tooltip/tooltipContext.d.ts.map +1 -1
  286. package/dist/src/tooltip/tooltipContext.js +3 -2
  287. package/dist/src/types/embedApi.d.ts +26 -0
  288. package/dist/src/types/encoder.d.ts +17 -15
  289. package/dist/src/types/scaleResolutionApi.d.ts +20 -0
  290. package/dist/src/types/viewContext.d.ts +23 -1
  291. package/dist/src/utils/expression.d.ts +2 -2
  292. package/dist/src/utils/expression.d.ts.map +1 -1
  293. package/dist/src/utils/expression.js +63 -8
  294. package/dist/src/utils/field.d.ts.map +1 -1
  295. package/dist/src/utils/field.js +0 -1
  296. package/dist/src/utils/inertia.d.ts.map +1 -1
  297. package/dist/src/utils/inertia.js +0 -1
  298. package/dist/src/utils/inferSpecBaseUrl.d.ts +14 -0
  299. package/dist/src/utils/inferSpecBaseUrl.d.ts.map +1 -0
  300. package/dist/src/utils/inferSpecBaseUrl.js +73 -0
  301. package/dist/src/utils/inputBinding.d.ts +1 -1
  302. package/dist/src/utils/interaction.d.ts +109 -0
  303. package/dist/src/utils/interaction.d.ts.map +1 -0
  304. package/dist/src/utils/interaction.js +200 -0
  305. package/dist/src/utils/interactionEvent.d.ts +62 -33
  306. package/dist/src/utils/interactionEvent.d.ts.map +1 -1
  307. package/dist/src/utils/interactionEvent.js +86 -48
  308. package/dist/src/utils/kWayMerge.js +1 -1
  309. package/dist/src/utils/mergeObjects.d.ts.map +1 -1
  310. package/dist/src/utils/mergeObjects.js +0 -2
  311. package/dist/src/utils/radixSort.d.ts.map +1 -1
  312. package/dist/src/utils/radixSort.js +0 -2
  313. package/dist/src/utils/throttle.d.ts.map +1 -1
  314. package/dist/src/utils/throttle.js +0 -2
  315. package/dist/src/utils/ui/tooltip.d.ts +1 -0
  316. package/dist/src/utils/ui/tooltip.d.ts.map +1 -1
  317. package/dist/src/utils/ui/tooltip.js +1 -0
  318. package/dist/src/utils/url.js +1 -1
  319. package/dist/src/view/axisGridView.d.ts +1 -1
  320. package/dist/src/view/axisGridView.d.ts.map +1 -1
  321. package/dist/src/view/axisGridView.js +2 -47
  322. package/dist/src/view/axisView.d.ts +2 -3
  323. package/dist/src/view/axisView.d.ts.map +1 -1
  324. package/dist/src/view/axisView.js +251 -106
  325. package/dist/src/view/concatView.d.ts +2 -1
  326. package/dist/src/view/concatView.d.ts.map +1 -1
  327. package/dist/src/view/concatView.js +4 -2
  328. package/dist/src/view/containerMutationHelper.d.ts +3 -0
  329. package/dist/src/view/containerMutationHelper.d.ts.map +1 -1
  330. package/dist/src/view/containerMutationHelper.js +12 -1
  331. package/dist/src/view/dataReadiness.d.ts +2 -2
  332. package/dist/src/view/dataReadiness.d.ts.map +1 -1
  333. package/dist/src/view/dataReadiness.js +63 -58
  334. package/dist/src/view/facetView.d.ts +1 -1
  335. package/dist/src/view/facetView.js +4 -4
  336. package/dist/src/view/flowBuilder.js +2 -2
  337. package/dist/src/view/gridView/gridChild.d.ts +13 -0
  338. package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
  339. package/dist/src/view/gridView/gridChild.js +247 -49
  340. package/dist/src/view/gridView/gridView.d.ts.map +1 -1
  341. package/dist/src/view/gridView/gridView.js +296 -99
  342. package/dist/src/view/gridView/keyboardZoomController.d.ts +2 -2
  343. package/dist/src/view/gridView/keyboardZoomController.d.ts.map +1 -1
  344. package/dist/src/view/gridView/keyboardZoomController.js +1 -1
  345. package/dist/src/view/gridView/scrollbar.d.ts.map +1 -1
  346. package/dist/src/view/gridView/scrollbar.js +4 -2
  347. package/dist/src/view/gridView/selectionRect.d.ts +4 -0
  348. package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
  349. package/dist/src/view/gridView/selectionRect.js +20 -1
  350. package/dist/src/view/gridView/separatorView.d.ts +1 -0
  351. package/dist/src/view/gridView/separatorView.d.ts.map +1 -1
  352. package/dist/src/view/gridView/separatorView.js +9 -0
  353. package/dist/src/view/interactionRouting.d.ts +20 -0
  354. package/dist/src/view/interactionRouting.d.ts.map +1 -0
  355. package/dist/src/view/interactionRouting.js +53 -0
  356. package/dist/src/view/layerView.d.ts.map +1 -1
  357. package/dist/src/view/layerView.js +12 -9
  358. package/dist/src/view/layout/grid.js +1 -1
  359. package/dist/src/view/renderingContext/bufferedViewRenderingContext.d.ts.map +1 -1
  360. package/dist/src/view/renderingContext/bufferedViewRenderingContext.js +0 -2
  361. package/dist/src/view/testUtils.d.ts +17 -3
  362. package/dist/src/view/testUtils.d.ts.map +1 -1
  363. package/dist/src/view/testUtils.js +62 -69
  364. package/dist/src/view/title.d.ts +8 -1
  365. package/dist/src/view/title.d.ts.map +1 -1
  366. package/dist/src/view/title.js +66 -76
  367. package/dist/src/view/unitView.d.ts +1 -1
  368. package/dist/src/view/unitView.d.ts.map +1 -1
  369. package/dist/src/view/unitView.js +67 -17
  370. package/dist/src/view/view.d.ts +76 -30
  371. package/dist/src/view/view.d.ts.map +1 -1
  372. package/dist/src/view/view.js +136 -47
  373. package/dist/src/view/viewFactory.d.ts +11 -3
  374. package/dist/src/view/viewFactory.d.ts.map +1 -1
  375. package/dist/src/view/viewFactory.js +37 -11
  376. package/dist/src/view/viewUtils.d.ts.map +1 -1
  377. package/dist/src/view/viewUtils.js +41 -5
  378. package/dist/src/view/zoom.d.ts +15 -3
  379. package/dist/src/view/zoom.d.ts.map +1 -1
  380. package/dist/src/view/zoom.js +375 -80
  381. package/package.json +20 -10
  382. package/dist/bundle/AbortablePromiseCache-Dj0vzLnp.js +0 -149
  383. package/dist/bundle/browser-0iNU5Wit.js +0 -138
  384. package/dist/bundle/index-BYsZN7b0.js +0 -1597
  385. package/dist/bundle/index-C3kClAEN.js +0 -1771
  386. package/dist/bundle/index-C7wOh6y1.js +0 -657
  387. package/dist/bundle/index-CRaQAuki.js +0 -326
  388. package/dist/bundle/index-D9v1PCj9.js +0 -507
  389. package/dist/bundle/index-GDOuv_D5.js +0 -266
  390. package/dist/bundle/index-Gt44EOIH.js +0 -628
  391. package/dist/bundle/inflate-GtwLkvSP.js +0 -1048
  392. package/dist/bundle/parquetRead-BnAGCa4_.js +0 -1663
  393. package/dist/bundle/unzip-Bac01w6X.js +0 -1492
  394. package/dist/src/config/scaleDefaults.d.ts +0 -8
  395. package/dist/src/config/scaleDefaults.d.ts.map +0 -1
  396. package/dist/src/config/scaleDefaults.js +0 -45
@@ -0,0 +1,264 @@
1
+ import { Axis, GenomeAxis } from "./axis.js";
2
+ import {
3
+ LinkProps,
4
+ MarkPropsBase,
5
+ PointProps,
6
+ RectProps,
7
+ RuleProps,
8
+ TickProps,
9
+ TextProps,
10
+ } from "./mark.js";
11
+ import { Scale, SchemeParams } from "./scale.js";
12
+ import { Title } from "./title.js";
13
+ import { ViewBackgroundProps } from "./decoration.js";
14
+
15
+ export type BuiltInThemeName =
16
+ | "genomespy"
17
+ | "vegalite"
18
+ | "quartz"
19
+ | "dark"
20
+ | "fivethirtyeight"
21
+ | "urbaninstitute";
22
+
23
+ export type ViewConfig = ViewBackgroundProps;
24
+
25
+ export type MarkConfig = Partial<Omit<MarkPropsBase, "type">>;
26
+
27
+ export type PointConfig = Partial<Omit<PointProps, "type">>;
28
+
29
+ export type RectConfig = Partial<Omit<RectProps, "type">>;
30
+
31
+ export type RuleConfig = Partial<Omit<RuleProps, "type">>;
32
+
33
+ export type TickConfig = Partial<Omit<TickProps, "type">>;
34
+
35
+ export type TextConfig = Partial<Omit<TextProps, "type">>;
36
+
37
+ export type LinkConfig = Partial<Omit<LinkProps, "type">>;
38
+
39
+ export type AxisConfig = Partial<Axis & GenomeAxis>;
40
+
41
+ type ColorSchemeConfig = string | SchemeParams;
42
+
43
+ export interface ScaleConfig extends Partial<Scale> {
44
+ /**
45
+ * Defaults for nominal scales.
46
+ */
47
+ nominal?: Partial<Scale>;
48
+
49
+ /**
50
+ * Defaults for ordinal scales.
51
+ */
52
+ ordinal?: Partial<Scale>;
53
+
54
+ /**
55
+ * Defaults for quantitative scales.
56
+ */
57
+ quantitative?: Partial<Scale>;
58
+
59
+ /**
60
+ * Defaults for GenomeSpy's `index` scales.
61
+ */
62
+ index?: Partial<Scale>;
63
+
64
+ /**
65
+ * Defaults for GenomeSpy's `locus` scales.
66
+ */
67
+ locus?: Partial<Scale>;
68
+
69
+ /**
70
+ * Default color scheme for nominal color scales.
71
+ */
72
+ nominalColorScheme?: ColorSchemeConfig;
73
+
74
+ /**
75
+ * Default color scheme for ordinal color scales.
76
+ */
77
+ ordinalColorScheme?: ColorSchemeConfig;
78
+
79
+ /**
80
+ * Default color scheme for quantitative color scales when no named range
81
+ * such as `"heatmap"` or `"ramp"` applies.
82
+ */
83
+ quantitativeColorScheme?: ColorSchemeConfig;
84
+ }
85
+
86
+ export interface RangeConfig {
87
+ /**
88
+ * Named range for `shape` channels.
89
+ */
90
+ shape?: string[];
91
+
92
+ /**
93
+ * Named range for `size` channels.
94
+ */
95
+ size?: number[];
96
+
97
+ /**
98
+ * Named range for `angle` channels.
99
+ */
100
+ angle?: number[];
101
+
102
+ /**
103
+ * Named range for quantitative rect-like color encodings such as heatmaps.
104
+ */
105
+ heatmap?: ColorSchemeConfig;
106
+
107
+ /**
108
+ * Named range for quantitative ramp color encodings.
109
+ */
110
+ ramp?: ColorSchemeConfig;
111
+
112
+ /**
113
+ * Named range for diverging color encodings.
114
+ */
115
+ diverging?: ColorSchemeConfig;
116
+ }
117
+
118
+ export type TitleConfig = Partial<Omit<Title, "text">>;
119
+
120
+ type MergeProps<A, B> = {
121
+ [K in keyof A | keyof B]:
122
+ | (K extends keyof A ? A[K] : never)
123
+ | (K extends keyof B ? B[K] : never);
124
+ };
125
+
126
+ type CombinedStyleConfig = MergeProps<
127
+ MergeProps<
128
+ MergeProps<
129
+ MergeProps<
130
+ MergeProps<MergeProps<MarkConfig, PointConfig>, RectConfig>,
131
+ RuleConfig
132
+ >,
133
+ TickConfig
134
+ >,
135
+ TextConfig
136
+ >,
137
+ MergeProps<MergeProps<LinkConfig, AxisConfig>, TitleConfig>
138
+ >;
139
+
140
+ export type StyleConfig = Partial<CombinedStyleConfig>;
141
+
142
+ export interface GenomeSpyConfig {
143
+ /**
144
+ * Defaults for view background styling, including fill, stroke, shadow,
145
+ * and z-order properties.
146
+ */
147
+ view?: ViewConfig;
148
+
149
+ /**
150
+ * Defaults shared by all mark types.
151
+ */
152
+ mark?: MarkConfig;
153
+
154
+ /**
155
+ * Defaults for point marks.
156
+ */
157
+ point?: PointConfig;
158
+
159
+ /**
160
+ * Defaults for rect marks.
161
+ */
162
+ rect?: RectConfig;
163
+
164
+ /**
165
+ * Defaults for rule marks.
166
+ */
167
+ rule?: RuleConfig;
168
+
169
+ /**
170
+ * Defaults for tick marks.
171
+ */
172
+ tick?: TickConfig;
173
+
174
+ /**
175
+ * Defaults for text marks.
176
+ */
177
+ text?: TextConfig;
178
+
179
+ /**
180
+ * Defaults for link marks.
181
+ */
182
+ link?: LinkConfig;
183
+
184
+ /**
185
+ * Defaults shared by all axes.
186
+ */
187
+ axis?: AxisConfig;
188
+
189
+ /**
190
+ * Defaults for x axes.
191
+ */
192
+ axisX?: AxisConfig;
193
+
194
+ /**
195
+ * Defaults for y axes.
196
+ */
197
+ axisY?: AxisConfig;
198
+
199
+ /**
200
+ * Defaults for top-oriented axes.
201
+ */
202
+ axisTop?: AxisConfig;
203
+
204
+ /**
205
+ * Defaults for bottom-oriented axes.
206
+ */
207
+ axisBottom?: AxisConfig;
208
+
209
+ /**
210
+ * Defaults for left-oriented axes.
211
+ */
212
+ axisLeft?: AxisConfig;
213
+
214
+ /**
215
+ * Defaults for right-oriented axes.
216
+ */
217
+ axisRight?: AxisConfig;
218
+
219
+ /**
220
+ * Defaults for axes that visualize nominal data.
221
+ */
222
+ axisNominal?: AxisConfig;
223
+
224
+ /**
225
+ * Defaults for axes that visualize ordinal data.
226
+ */
227
+ axisOrdinal?: AxisConfig;
228
+
229
+ /**
230
+ * Defaults for axes that visualize quantitative data.
231
+ */
232
+ axisQuantitative?: AxisConfig;
233
+
234
+ /**
235
+ * Defaults for axes that visualize GenomeSpy `index` scales.
236
+ */
237
+ axisIndex?: AxisConfig;
238
+
239
+ /**
240
+ * Defaults for axes that visualize GenomeSpy `locus` scales.
241
+ */
242
+ axisLocus?: AxisConfig;
243
+
244
+ /**
245
+ * Defaults for scale behavior and scale-type-specific buckets.
246
+ */
247
+ scale?: ScaleConfig;
248
+
249
+ /**
250
+ * Named reusable ranges for channels such as `shape`, `size`, and color.
251
+ */
252
+ range?: RangeConfig;
253
+
254
+ /**
255
+ * Defaults for view titles.
256
+ */
257
+ title?: TitleConfig;
258
+
259
+ /**
260
+ * Named reusable style buckets that marks, axes, titles, and views can
261
+ * reference through their `style` properties.
262
+ */
263
+ style?: Record<string, StyleConfig>;
264
+ }
@@ -42,6 +42,7 @@ export interface DataFormatBase {
42
42
  * Type of input data: `"json"`, `"csv"`, `"tsv"`, `"dsv"`.
43
43
  *
44
44
  * __Default value:__ The default format type is determined by the extension of the file URL.
45
+ * Compression suffixes such as `.gz` are ignored during inference.
45
46
  * If no extension is detected, `"json"` will be used by default.
46
47
  */
47
48
  type?: DataFormatType;
@@ -75,10 +76,25 @@ export interface JsonDataFormat extends DataFormatBase {
75
76
  property?: string;
76
77
  }
77
78
 
79
+ export interface BedDataFormat extends DataFormatBase {
80
+ type: "bed";
81
+ }
82
+
83
+ export interface BedpeDataFormat extends DataFormatBase {
84
+ type: "bedpe";
85
+
86
+ /**
87
+ * Optional ordered list of field names for headerless BEDPE input.
88
+ * If omitted, BEDPE fields are resolved from the default BEDPE column
89
+ * order or from a matching header row when present.
90
+ */
91
+ columns?: string[];
92
+ }
93
+
78
94
  /**
79
95
  * Other data format, such as `"fasta"`
80
96
  */
81
- export interface OtherDataFormat {
97
+ export interface OtherDataFormat extends DataFormatBase {
82
98
  type: string;
83
99
  }
84
100
 
@@ -86,6 +102,8 @@ export type DataFormat =
86
102
  | CsvDataFormat
87
103
  | DsvDataFormat
88
104
  | JsonDataFormat
105
+ | BedDataFormat
106
+ | BedpeDataFormat
89
107
  | OtherDataFormat;
90
108
 
91
109
  export type DataFormatType = "json" | "csv" | "tsv" | "dsv" | string;
@@ -129,7 +147,7 @@ export interface UrlList {
129
147
  /**
130
148
  * The format of the data in the list.
131
149
  * If the type is `"json"`, the list is expected to be an array of strings.
132
- * If the type is `"csv"` or `"tsv"`, the list is expected to be a table with a single column named `file`.
150
+ * If the type is `"csv"` or `"tsv"`, the list is expected to be a table with a single column named `url`.
133
151
  *
134
152
  * __Default value:__ `"txt"`
135
153
  */
@@ -139,7 +157,9 @@ export interface UrlList {
139
157
  export interface UrlData extends DataBase {
140
158
  /**
141
159
  * An URL or an array of URLs from which to load the data set.
142
- * Use the `format.type` property to ensure the loaded data is correctly parsed.
160
+ * Gzip-compressed resources are decompressed transparently when the URL,
161
+ * MIME type, or payload indicates gzip content. Use the `format.type`
162
+ * property to ensure the loaded data is correctly parsed.
143
163
  */
144
164
  url: string | string[] | ExprRef | UrlList;
145
165
  }
@@ -230,6 +250,13 @@ export interface DebouncedData {
230
250
  */
231
251
  debounce?: number | ExprRef;
232
252
 
253
+ /**
254
+ * Debounce time for scale-domain driven data updates, in milliseconds.
255
+ *
256
+ * __Default value:__ `200`
257
+ */
258
+ debounceDomainChange?: number | ExprRef;
259
+
233
260
  /**
234
261
  * The debounce mode for data updates. If set to `"domain"`, domain change
235
262
  * events (panning and zooming) will be debounced. If set to `"window"`,
@@ -0,0 +1,51 @@
1
+ import { ShadowProps } from "./mark.js";
2
+
3
+ export interface ZIndexProps {
4
+ /**
5
+ * Z-order relative to the view content.
6
+ *
7
+ * Values greater than `0` render after the view marks. Values less than or
8
+ * equal to `0` render before the marks.
9
+ * The default value depends on the element type.
10
+ */
11
+ zindex?: number;
12
+ }
13
+
14
+ export interface StrokeZIndexProps {
15
+ /**
16
+ * Z-order of the stroke relative to the view content.
17
+ *
18
+ * Values greater than `0` render the stroke after the view marks. Values
19
+ * less than or equal to `0` render before the marks.
20
+ * The default value depends on the element type.
21
+ */
22
+ strokeZindex?: number;
23
+ }
24
+
25
+ export interface ViewBackgroundProps
26
+ extends ShadowProps, ZIndexProps, StrokeZIndexProps {
27
+ /**
28
+ * Fill color of the view background.
29
+ */
30
+ fill?: string;
31
+
32
+ /**
33
+ * Opacity of the view background fill.
34
+ */
35
+ fillOpacity?: number;
36
+
37
+ /**
38
+ * Stroke color of the view background.
39
+ */
40
+ stroke?: string;
41
+
42
+ /**
43
+ * Stroke width of the view background border.
44
+ */
45
+ strokeWidth?: number;
46
+
47
+ /**
48
+ * Opacity of the view background stroke.
49
+ */
50
+ strokeOpacity?: number;
51
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Collects shared example specs used by the offline example suite.
3
+ *
4
+ * @returns {string[]}
5
+ */
6
+ export function collectSharedExamplePaths(): string[];
7
+ /**
8
+ * @param {string} examplePath
9
+ * @returns {any}
10
+ */
11
+ export function loadSharedExampleSpec(examplePath: string): any;
12
+ //# sourceMappingURL=exampleFiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exampleFiles.d.ts","sourceRoot":"","sources":["../../../src/spec/exampleFiles.js"],"names":[],"mappings":"AASA;;;;GAIG;AACH,6CAFa,MAAM,EAAE,CAcpB;AAED;;;GAGG;AACH,mDAHW,MAAM,GACJ,GAAG,CAMf"}
@@ -0,0 +1,52 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { fileURLToPath } from "url";
4
+
5
+ const packageDir = path.dirname(fileURLToPath(import.meta.url));
6
+ const repoRoot = path.resolve(packageDir, "..", "..", "..", "..");
7
+
8
+ const sharedExampleDirs = ["examples/core", "examples/docs"];
9
+
10
+ /**
11
+ * Collects shared example specs used by the offline example suite.
12
+ *
13
+ * @returns {string[]}
14
+ */
15
+ export function collectSharedExamplePaths() {
16
+ /** @type {string[]} */
17
+ const paths = [];
18
+
19
+ for (const dir of sharedExampleDirs) {
20
+ visit(path.join(repoRoot, dir), (absolutePath) => {
21
+ const relativePath = path.relative(repoRoot, absolutePath);
22
+ paths.push(relativePath.split(path.sep).join("/"));
23
+ });
24
+ }
25
+
26
+ return paths.sort();
27
+ }
28
+
29
+ /**
30
+ * @param {string} examplePath
31
+ * @returns {any}
32
+ */
33
+ export function loadSharedExampleSpec(examplePath) {
34
+ return JSON.parse(
35
+ fs.readFileSync(path.join(repoRoot, examplePath), "utf8")
36
+ );
37
+ }
38
+
39
+ /**
40
+ * @param {string} dir
41
+ * @param {(absolutePath: string) => void} visitor
42
+ */
43
+ function visit(dir, visitor) {
44
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
45
+ const absolutePath = path.join(dir, entry.name);
46
+ if (entry.isDirectory()) {
47
+ visit(absolutePath, visitor);
48
+ } else if (entry.isFile() && entry.name.endsWith(".json")) {
49
+ visitor(absolutePath);
50
+ }
51
+ }
52
+ }
@@ -12,4 +12,4 @@ export type FontWeight =
12
12
 
13
13
  export type Align = "left" | "center" | "right";
14
14
 
15
- export type Baseline = "top" | "middle" | "bottom" | "alphabetic";
15
+ export type Baseline = "top" | "middle" | "bottom" | "alphabetic" | "baseline";
@@ -10,7 +10,7 @@ export interface GenomeConfigBase {
10
10
  name: string;
11
11
  }
12
12
 
13
- export interface UrlGenomeConfig extends GenomeConfigBase {
13
+ export interface UrlGenomeDefinition {
14
14
  /**
15
15
  * A URL to a `chrom.sizes` file, which is a tab-separated file with two
16
16
  * columns: the sequence name and its size.
@@ -23,13 +23,33 @@ export interface UrlGenomeConfig extends GenomeConfigBase {
23
23
  url: string;
24
24
  }
25
25
 
26
- export interface InlineGenomeConfig extends GenomeConfigBase {
26
+ export interface InlineGenomeDefinition {
27
27
  /**
28
28
  * An array of contigs/sequences in the genome assembly.
29
29
  */
30
30
  contigs: Contig[];
31
31
  }
32
32
 
33
+ /**
34
+ * Genome definition for contexts where the name is provided externally
35
+ * (for example, as a key in root `genomes`) or not needed
36
+ * (for example, inline `scale.assembly`).
37
+ */
38
+ export type GenomeDefinition = UrlGenomeDefinition | InlineGenomeDefinition;
39
+
40
+ /**
41
+ * @deprecated Use `GenomeDefinition` in root `genomes` entries and `scale.assembly`.
42
+ */
43
+ export type UrlGenomeConfig = GenomeConfigBase & UrlGenomeDefinition;
44
+
45
+ /**
46
+ * @deprecated Use `GenomeDefinition` in root `genomes` entries and `scale.assembly`.
47
+ */
48
+ export type InlineGenomeConfig = GenomeConfigBase & InlineGenomeDefinition;
49
+
50
+ /**
51
+ * @deprecated Use root `genomes` and `assembly` instead of root `genome`.
52
+ */
33
53
  export type GenomeConfig =
34
54
  | UrlGenomeConfig
35
55
  | InlineGenomeConfig
@@ -3,11 +3,25 @@ import { ExprRef } from "./parameter.js";
3
3
  import { Align, Baseline, FontStyle, FontWeight } from "./font.js";
4
4
  import { Tooltip } from "./tooltip.js";
5
5
 
6
- export type MarkType = "rect" | "point" | "rule" | "text" | "link";
6
+ export type MarkType = "rect" | "point" | "rule" | "tick" | "text" | "link";
7
7
 
8
8
  export interface MarkPropsBase {
9
9
  type: MarkType;
10
10
 
11
+ /**
12
+ * Named style reference(s) resolved from `config.style`.
13
+ * If an array is provided, later styles override earlier ones.
14
+ */
15
+ style?: string | string[];
16
+
17
+ /**
18
+ * Mouse cursor shown while the pointer is over the mark.
19
+ * Mark cursor takes precedence over enclosing view cursors.
20
+ *
21
+ * __Default value:__ browser default
22
+ */
23
+ cursor?: string | ExprRef;
24
+
11
25
  // Channels.
12
26
 
13
27
  /**
@@ -62,6 +76,14 @@ export interface MarkPropsBase {
62
76
  */
63
77
  minBufferSize?: number;
64
78
 
79
+ /**
80
+ * Whether the x channel should build an index for efficient subset rendering.
81
+ * If omitted, GenomeSpy enables indexing automatically for positional x encodings.
82
+ *
83
+ * @internal
84
+ */
85
+ buildIndex?: boolean;
86
+
65
87
  /**
66
88
  * Tooltip handler. If `null`, no tooltip is shown. If string, specifies
67
89
  * the [tooltip handler](https://genomespy.app/docs/api/#custom-tooltip-handlers)
@@ -196,7 +218,8 @@ export interface ViewportEdgeFadeProps {
196
218
  }
197
219
 
198
220
  export interface RectProps
199
- extends MarkPropsBase,
221
+ extends
222
+ MarkPropsBase,
200
223
  SecondaryPositionProps,
201
224
  FillAndStrokeProps,
202
225
  ShadowProps {
@@ -291,15 +314,10 @@ export interface RectProps
291
314
  | ExprRef;
292
315
  }
293
316
 
294
- export interface RuleProps
295
- extends MarkPropsBase,
296
- SecondaryPositionProps,
297
- SizeProps {
298
- type: "rule";
299
-
317
+ export interface StrokeStyleProps {
300
318
  /**
301
- * The minimum length of the rule in pixels. Use this property to ensure that
302
- * very short ranged rules remain visible even when the user zooms out.
319
+ * The minimum stroke length in pixels. Use this property to ensure that
320
+ * very short strokes remain visible even when the user zooms out.
303
321
  *
304
322
  * **Default value:** `0`
305
323
  */
@@ -327,8 +345,38 @@ export interface RuleProps
327
345
  strokeCap?: "butt" | "square" | "round" | ExprRef;
328
346
  }
329
347
 
348
+ export interface RuleProps
349
+ extends MarkPropsBase, SecondaryPositionProps, SizeProps, StrokeStyleProps {
350
+ type: "rule";
351
+ }
352
+
353
+ export interface TickProps extends MarkPropsBase, StrokeStyleProps {
354
+ type: "tick";
355
+
356
+ /**
357
+ * The orientation of the tick mark.
358
+ *
359
+ * If omitted, GenomeSpy infers the orientation when one positional channel
360
+ * uses a band-like scale and the other does not, or when the orthogonal
361
+ * channel is omitted. Specify `orient` explicitly when both `x` and `y`
362
+ * use band-like scales.
363
+ *
364
+ * **Default value:** inferred
365
+ */
366
+ orient?: "vertical" | "horizontal";
367
+
368
+ /**
369
+ * The thickness of the tick mark in pixels.
370
+ * Equivalent to the `size` of the underlying rule mark.
371
+ *
372
+ * **Default value:** `1`
373
+ */
374
+ thickness?: number;
375
+ }
376
+
330
377
  export interface TextProps
331
- extends MarkPropsBase,
378
+ extends
379
+ MarkPropsBase,
332
380
  SecondaryPositionProps,
333
381
  AngleProps,
334
382
  ViewportEdgeFadeProps,
@@ -457,7 +505,8 @@ export interface TextProps
457
505
  }
458
506
 
459
507
  export interface PointProps
460
- extends MarkPropsBase,
508
+ extends
509
+ MarkPropsBase,
461
510
  FillAndStrokeProps,
462
511
  AngleProps,
463
512
  SizeProps,
@@ -482,6 +531,29 @@ export interface PointProps
482
531
  */
483
532
  inwardStroke?: boolean | ExprRef;
484
533
 
534
+ /**
535
+ * Horizontal offset in pixels.
536
+ *
537
+ * **Default value:** `0`
538
+ */
539
+ dx?: number | ExprRef;
540
+
541
+ /**
542
+ * Vertical offset in pixels.
543
+ *
544
+ * **Default value:** `0`
545
+ */
546
+ dy?: number | ExprRef;
547
+
548
+ /**
549
+ * Additional padding used by sample facets.
550
+ *
551
+ * **Default value:** `0.1`
552
+ *
553
+ * @internal
554
+ */
555
+ sampleFacetPadding?: number;
556
+
485
557
  /**
486
558
  * Gradient strength controls the amount of the gradient eye-candy effect in the fill color.
487
559
  * Valid values are between `0` and `1`.
@@ -490,6 +562,16 @@ export interface PointProps
490
562
  */
491
563
  fillGradientStrength?: number | ExprRef;
492
564
 
565
+ /**
566
+ * The semantic score used by semantic zooming in the point mark.
567
+ * This is primarily intended for internal use.
568
+ *
569
+ * **Default value:** `0`
570
+ *
571
+ * @internal
572
+ */
573
+ semanticScore?: number | ExprRef;
574
+
493
575
  /**
494
576
  * TODO
495
577
  *
@@ -507,7 +589,8 @@ export interface PointProps
507
589
  }
508
590
 
509
591
  export interface LinkProps
510
- extends MarkPropsBase,
592
+ extends
593
+ MarkPropsBase,
511
594
  SecondaryPositionProps,
512
595
  SizeProps,
513
596
  MinPickingSizeProps {
@@ -603,5 +686,6 @@ export type MarkProps =
603
686
  | RectProps
604
687
  | TextProps
605
688
  | RuleProps
689
+ | TickProps
606
690
  | LinkProps
607
691
  | PointProps;