@jbrowse/core 5.0.0-beta.11 → 5.0.0-beta.14

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 (439) hide show
  1. package/README.md +450 -132
  2. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.d.ts +3 -2
  3. package/esm/BaseFeatureWidget/BaseFeatureDetail/ArrayValue.js +4 -2
  4. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.d.ts +6 -2
  5. package/esm/BaseFeatureWidget/BaseFeatureDetail/Attributes.js +18 -3
  6. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.d.ts +2 -1
  7. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseAttributes.js +4 -2
  8. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.d.ts +2 -1
  9. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCard.js +4 -2
  10. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.d.ts +2 -1
  11. package/esm/BaseFeatureWidget/BaseFeatureDetail/BaseCoreDetails.js +4 -2
  12. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.d.ts +5 -4
  13. package/esm/BaseFeatureWidget/BaseFeatureDetail/BasicValue.js +6 -4
  14. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.d.ts +2 -1
  15. package/esm/BaseFeatureWidget/BaseFeatureDetail/CoreDetails.js +4 -2
  16. package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.d.ts +3 -2
  17. package/esm/BaseFeatureWidget/BaseFeatureDetail/DataGridDetails.js +4 -2
  18. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails.js +2 -2
  19. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.d.ts +3 -2
  20. package/esm/BaseFeatureWidget/BaseFeatureDetail/FeatureWash.js +4 -2
  21. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.d.ts +3 -2
  22. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldActionsButton.js +4 -2
  23. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.d.ts +3 -2
  24. package/esm/BaseFeatureWidget/BaseFeatureDetail/FieldName.js +4 -2
  25. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.d.ts +3 -2
  26. package/esm/BaseFeatureWidget/BaseFeatureDetail/Formatter.js +4 -2
  27. package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.d.ts +3 -2
  28. package/esm/BaseFeatureWidget/BaseFeatureDetail/ParentFeatureLine.js +4 -2
  29. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.d.ts +3 -2
  30. package/esm/BaseFeatureWidget/BaseFeatureDetail/SimpleField.js +4 -2
  31. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.d.ts +3 -2
  32. package/esm/BaseFeatureWidget/BaseFeatureDetail/UriField.js +4 -2
  33. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.d.ts +3 -2
  34. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceBody.js +4 -2
  35. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.d.ts +3 -1
  36. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeatureDetails.js +15 -24
  37. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceFeaturePanel.js +1 -1
  38. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.d.ts +3 -2
  39. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequenceLegend.js +4 -2
  40. package/esm/BaseFeatureWidget/SequenceFeatureDetails/SequencePanel.js +4 -4
  41. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.d.ts +3 -1
  42. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/FeatureSequenceDialog.js +2 -2
  43. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.d.ts +3 -2
  44. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/HelpDialog.js +4 -2
  45. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.d.ts +1 -2
  46. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceDialog.js +2 -2
  47. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.d.ts +1 -2
  48. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/SequenceTypeSelector.js +15 -36
  49. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.d.ts +3 -2
  50. package/esm/BaseFeatureWidget/SequenceFeatureDetails/dialogs/TranscriptSelector.js +4 -2
  51. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.d.ts +4 -2
  52. package/esm/BaseFeatureWidget/SequenceFeatureDetails/featureTypeUtil.js +29 -20
  53. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.d.ts +13 -1
  54. package/esm/BaseFeatureWidget/SequenceFeatureDetails/model.js +28 -1
  55. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/CDNASequence.js +3 -3
  56. package/esm/BaseFeatureWidget/SequenceFeatureDetails/seqtypes/SequenceDisplay.js +2 -2
  57. package/esm/BaseFeatureWidget/stateModelFactory.d.ts +9 -0
  58. package/esm/BaseFeatureWidget/stateModelFactory.js +11 -0
  59. package/esm/BaseFeatureWidget/types.d.ts +2 -0
  60. package/esm/PluginManager.d.ts +7 -3
  61. package/esm/PluginManager.js +12 -3
  62. package/esm/ReExports/coreModules.generated.js +538 -518
  63. package/esm/ReExports/coreWorkerModules.generated.js +456 -438
  64. package/esm/ReExports/lazify.js +3 -2
  65. package/esm/ReExports/list.js +22 -6
  66. package/esm/ReExports/names.d.ts +1 -0
  67. package/esm/ReExports/names.generated.d.ts +2 -0
  68. package/esm/ReExports/names.generated.js +566 -0
  69. package/esm/ReExports/names.js +3 -0
  70. package/esm/TextSearch/TextSearchManager.d.ts +3 -3
  71. package/esm/TextSearch/TextSearchManager.js +6 -13
  72. package/esm/assemblyManager/assembly.d.ts +9 -0
  73. package/esm/assemblyManager/assembly.js +13 -0
  74. package/esm/assemblyManager/assemblyConfigSchema.d.ts +6 -1
  75. package/esm/assemblyManager/assemblyConfigSchema.js +23 -22
  76. package/esm/assemblyManager/assemblyManager.d.ts +11 -0
  77. package/esm/assemblyManager/assemblyManager.js +2 -0
  78. package/esm/assemblyManager/expandAssemblyConfigShorthand.d.ts +9 -0
  79. package/esm/assemblyManager/expandAssemblyConfigShorthand.js +23 -0
  80. package/esm/checkPlugins.js +10 -4
  81. package/esm/configuration/configurationSchema.d.ts +51 -100
  82. package/esm/configuration/configurationSchema.js +59 -225
  83. package/esm/configuration/configurationSchemaUnion.d.ts +2 -1
  84. package/esm/configuration/configurationSchemaUnion.js +2 -1
  85. package/esm/configuration/configurationSlot.d.ts +18 -64
  86. package/esm/configuration/configurationSlot.js +32 -98
  87. package/esm/configuration/fillLocations.d.ts +4 -2
  88. package/esm/configuration/fillLocations.js +9 -3
  89. package/esm/configuration/formatAboutConfigSchema.d.ts +2 -2
  90. package/esm/configuration/formatAboutConfigSchema.js +2 -2
  91. package/esm/configuration/formatDetailsConfigSchema.d.ts +2 -2
  92. package/esm/configuration/formatDetailsConfigSchema.js +7 -5
  93. package/esm/configuration/getConf.d.ts +7 -36
  94. package/esm/configuration/getConf.js +20 -41
  95. package/esm/configuration/index.d.ts +4 -3
  96. package/esm/configuration/index.js +3 -2
  97. package/esm/configuration/partitionAdvanced.d.ts +12 -0
  98. package/esm/configuration/partitionAdvanced.js +42 -0
  99. package/esm/configuration/plot.d.ts +6 -0
  100. package/esm/configuration/plot.js +56 -9
  101. package/esm/configuration/readConfObject.d.ts +15 -17
  102. package/esm/configuration/readConfObject.js +19 -50
  103. package/esm/configuration/schemaRegistry.d.ts +0 -2
  104. package/esm/configuration/schemaTypes.js +5 -1
  105. package/esm/configuration/slotFacade.js +2 -2
  106. package/esm/configuration/snapshotPreprocess.d.ts +42 -18
  107. package/esm/configuration/snapshotPreprocess.js +95 -37
  108. package/esm/configuration/tabixShorthand.js +1 -3
  109. package/esm/configuration/types.d.ts +60 -159
  110. package/esm/data_adapters/BaseAdapter/BaseAdapter.d.ts +7 -0
  111. package/esm/data_adapters/BaseAdapter/BaseAdapter.js +7 -0
  112. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.d.ts +0 -22
  113. package/esm/data_adapters/BaseAdapter/BaseFeatureDataAdapter.js +0 -55
  114. package/esm/data_adapters/BaseAdapter/index.d.ts +0 -1
  115. package/esm/data_adapters/BaseAdapter/index.js +0 -1
  116. package/esm/data_adapters/BaseAdapter/rowSources.d.ts +2 -2
  117. package/esm/data_adapters/BaseAdapter/types.d.ts +1 -0
  118. package/esm/data_adapters/CytobandAdapter/configSchema.d.ts +2 -0
  119. package/esm/data_adapters/CytobandAdapter/configSchema.js +5 -0
  120. package/esm/data_adapters/dataAdapterCache.d.ts +25 -13
  121. package/esm/data_adapters/dataAdapterCache.js +68 -24
  122. package/esm/data_adapters/getFeatureAdapter.d.ts +9 -0
  123. package/esm/data_adapters/getFeatureAdapter.js +17 -0
  124. package/esm/pluggableElementTypes/DisplayType.d.ts +7 -0
  125. package/esm/pluggableElementTypes/DisplayType.js +7 -0
  126. package/esm/pluggableElementTypes/RpcMethodType.d.ts +7 -0
  127. package/esm/pluggableElementTypes/RpcMethodType.js +9 -0
  128. package/esm/pluggableElementTypes/addMenuItems.d.ts +2 -1
  129. package/esm/pluggableElementTypes/addMenuItems.js +2 -1
  130. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.d.ts +2 -0
  131. package/esm/pluggableElementTypes/models/BaseConnectionModelFactory.js +2 -0
  132. package/esm/pluggableElementTypes/models/BaseDisplayModel.d.ts +40 -5
  133. package/esm/pluggableElementTypes/models/BaseDisplayModel.js +57 -9
  134. package/esm/pluggableElementTypes/models/BaseTrackModel.d.ts +5 -7
  135. package/esm/pluggableElementTypes/models/BaseTrackModel.js +9 -10
  136. package/esm/pluggableElementTypes/models/BaseViewModel.d.ts +2 -0
  137. package/esm/pluggableElementTypes/models/BaseViewModel.js +2 -0
  138. package/esm/pluggableElementTypes/models/InternetAccountModel.d.ts +3 -0
  139. package/esm/pluggableElementTypes/models/InternetAccountModel.js +3 -0
  140. package/esm/pluggableElementTypes/models/baseConnectionConfig.d.ts +3 -0
  141. package/esm/pluggableElementTypes/models/baseConnectionConfig.js +3 -0
  142. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.d.ts +3 -1
  143. package/esm/pluggableElementTypes/models/baseInternetAccountConfig.js +3 -1
  144. package/esm/pluggableElementTypes/models/baseTrackConfig.js +12 -1
  145. package/esm/pluggableElementTypes/models/components/SaveTrackData.js +2 -2
  146. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.d.ts +1 -1
  147. package/esm/pluggableElementTypes/models/expandTrackConfigShorthand.js +1 -1
  148. package/esm/pluginDefinitions.d.ts +7 -0
  149. package/esm/pluginDefinitions.js +20 -0
  150. package/esm/rpc/RpcRegistry.d.ts +2 -11
  151. package/esm/rpc/byteBudget.d.ts +15 -0
  152. package/esm/rpc/byteBudget.js +23 -0
  153. package/esm/rpc/configSchema.d.ts +2 -0
  154. package/esm/rpc/configSchema.js +3 -1
  155. package/esm/rpc/coreRpcMethods.d.ts +1 -2
  156. package/esm/rpc/coreRpcMethods.js +1 -2
  157. package/esm/rpc/explainTransferError.js +3 -3
  158. package/esm/rpc/methods/CoreGetEncodedLayers.d.ts +2 -2
  159. package/esm/rpc/methods/CoreGetEncodedLayers.js +7 -5
  160. package/esm/rpc/methods/CoreLoadTrackCode.d.ts +17 -0
  161. package/esm/rpc/methods/CoreLoadTrackCode.js +24 -0
  162. package/esm/rpc/methods/layerFeatures.d.ts +9 -6
  163. package/esm/rpc/methods/layerFeatures.js +21 -5
  164. package/esm/ui/ActionLink.d.ts +3 -2
  165. package/esm/ui/ActionLink.js +4 -2
  166. package/esm/ui/AddCustomPluginDialog.d.ts +3 -2
  167. package/esm/ui/AddCustomPluginDialog.js +6 -4
  168. package/esm/ui/AppLogo.js +43 -3
  169. package/esm/ui/BaseTooltip.d.ts +3 -2
  170. package/esm/ui/BaseTooltip.js +4 -2
  171. package/esm/ui/CascadingMenu.js +14 -12
  172. package/esm/ui/CascadingMenuButton.d.ts +2 -2
  173. package/esm/ui/CascadingMenuButton.js +5 -4
  174. package/esm/ui/CascadingMenuHelpDialog.d.ts +3 -2
  175. package/esm/ui/CascadingMenuHelpDialog.js +4 -2
  176. package/esm/ui/CascadingMenuHelpIconButton.d.ts +4 -3
  177. package/esm/ui/CascadingMenuHelpIconButton.js +9 -5
  178. package/esm/ui/ColorPicker.d.ts +5 -4
  179. package/esm/ui/ColorPicker.js +6 -4
  180. package/esm/ui/ContextMenu.d.ts +1 -1
  181. package/esm/ui/ContextMenu.js +1 -1
  182. package/esm/ui/CopyToClipboardButton.d.ts +3 -2
  183. package/esm/ui/CopyToClipboardButton.js +4 -2
  184. package/esm/ui/Crosshairs.js +13 -10
  185. package/esm/ui/DOMPurifySanitizedHTML.d.ts +3 -2
  186. package/esm/ui/DOMPurifySanitizedHTML.js +4 -2
  187. package/esm/ui/DataGridFlexContainer.d.ts +3 -2
  188. package/esm/ui/DataGridFlexContainer.js +4 -2
  189. package/esm/ui/Dialog.d.ts +1 -1
  190. package/esm/ui/Dialog.js +5 -4
  191. package/esm/ui/DropDownMenu.js +2 -2
  192. package/esm/ui/EditableTypography.d.ts +1 -1
  193. package/esm/ui/EditableTypography.js +3 -2
  194. package/esm/ui/ErrorActions.d.ts +3 -2
  195. package/esm/ui/ErrorActions.js +4 -2
  196. package/esm/ui/ErrorBanner.d.ts +2 -2
  197. package/esm/ui/ErrorBanner.js +3 -2
  198. package/esm/ui/ErrorBar.d.ts +3 -2
  199. package/esm/ui/ErrorBar.js +4 -2
  200. package/esm/ui/ErrorMessage.d.ts +3 -2
  201. package/esm/ui/ErrorMessage.js +4 -2
  202. package/esm/ui/ErrorMessageStackTraceContents.d.ts +3 -2
  203. package/esm/ui/ErrorMessageStackTraceContents.js +4 -2
  204. package/esm/ui/ErrorMessageStackTraceDialog.d.ts +3 -2
  205. package/esm/ui/ErrorMessageStackTraceDialog.js +4 -2
  206. package/esm/ui/ErrorOverlay.d.ts +3 -2
  207. package/esm/ui/ErrorOverlay.js +4 -2
  208. package/esm/ui/ExportSvgDialog.d.ts +3 -2
  209. package/esm/ui/ExportSvgDialog.js +4 -2
  210. package/esm/ui/ExternalLink.d.ts +2 -1
  211. package/esm/ui/ExternalLink.js +4 -2
  212. package/esm/ui/FactoryResetDialog.d.ts +3 -2
  213. package/esm/ui/FactoryResetDialog.js +4 -2
  214. package/esm/ui/FatalErrorDialog.d.ts +3 -2
  215. package/esm/ui/FatalErrorDialog.js +6 -4
  216. package/esm/ui/FileDropZone.d.ts +3 -2
  217. package/esm/ui/FileDropZone.js +4 -2
  218. package/esm/ui/FileSelector/LocalFileChooser.js +4 -4
  219. package/esm/ui/FileSelector/LocationInput.d.ts +3 -2
  220. package/esm/ui/FileSelector/LocationInput.js +4 -2
  221. package/esm/ui/FileSelector/SourceTypeSelector.d.ts +3 -2
  222. package/esm/ui/FileSelector/SourceTypeSelector.js +8 -6
  223. package/esm/ui/GpuFallbackButton.d.ts +3 -2
  224. package/esm/ui/GpuFallbackButton.js +4 -2
  225. package/esm/ui/HoverMenu.d.ts +2 -2
  226. package/esm/ui/HoverMenu.js +7 -3
  227. package/esm/ui/HoverTooltip.d.ts +3 -2
  228. package/esm/ui/HoverTooltip.js +4 -2
  229. package/esm/ui/Icons.d.ts +5 -5
  230. package/esm/ui/Icons.js +11 -10
  231. package/esm/ui/InlineMenuControls.d.ts +2 -2
  232. package/esm/ui/InlineMenuControls.js +4 -3
  233. package/esm/ui/JexlFilterRowEditors.d.ts +4 -4
  234. package/esm/ui/JexlFilterRowEditors.js +9 -8
  235. package/esm/ui/LabeledCheckbox.d.ts +3 -2
  236. package/esm/ui/LabeledCheckbox.js +4 -2
  237. package/esm/ui/LazyBaseTooltip.d.ts +12 -3
  238. package/esm/ui/LazyBaseTooltip.js +4 -2
  239. package/esm/ui/LegendSwatchGlyph.js +1 -0
  240. package/esm/ui/LoadingDots.d.ts +2 -1
  241. package/esm/ui/LoadingDots.js +4 -2
  242. package/esm/ui/LoadingEllipses.d.ts +5 -2
  243. package/esm/ui/LoadingEllipses.js +5 -3
  244. package/esm/ui/LoadingOverlay.d.ts +3 -2
  245. package/esm/ui/LoadingOverlay.js +4 -2
  246. package/esm/ui/LoadingProgress.d.ts +3 -2
  247. package/esm/ui/LoadingProgress.js +4 -2
  248. package/esm/ui/Logo.d.ts +2 -2
  249. package/esm/ui/Logo.js +9 -8
  250. package/esm/ui/MenuItemChevron.d.ts +2 -2
  251. package/esm/ui/MenuItemChevron.js +3 -2
  252. package/esm/ui/MenuItemEndDecoration.d.ts +2 -2
  253. package/esm/ui/MenuItemEndDecoration.js +3 -2
  254. package/esm/ui/MenuItemTrailing.d.ts +2 -2
  255. package/esm/ui/MenuItemTrailing.js +7 -6
  256. package/esm/ui/MenuTypes.d.ts +21 -1
  257. package/esm/ui/MenuTypes.js +20 -0
  258. package/esm/ui/MonospaceTextField.d.ts +3 -2
  259. package/esm/ui/MonospaceTextField.js +4 -2
  260. package/esm/ui/NumberTextField.d.ts +2 -2
  261. package/esm/ui/NumberTextField.js +4 -2
  262. package/esm/ui/PaletteContext.d.ts +11 -9
  263. package/esm/ui/PaletteContext.js +33 -18
  264. package/esm/ui/PluginStoreCard.d.ts +3 -2
  265. package/esm/ui/PluginStoreCard.js +4 -2
  266. package/esm/ui/PopoverPicker.d.ts +3 -2
  267. package/esm/ui/PopoverPicker.js +4 -2
  268. package/esm/ui/PrerenderedCanvas.d.ts +2 -2
  269. package/esm/ui/PrerenderedCanvas.js +3 -2
  270. package/esm/ui/RedErrorMessageBox.d.ts +3 -2
  271. package/esm/ui/RedErrorMessageBox.js +4 -2
  272. package/esm/ui/RefNameAutocomplete/EndAdornment.d.ts +3 -2
  273. package/esm/ui/RefNameAutocomplete/EndAdornment.js +4 -2
  274. package/esm/ui/RefNameAutocomplete/HelpDialog.d.ts +3 -2
  275. package/esm/ui/RefNameAutocomplete/HelpDialog.js +4 -2
  276. package/esm/ui/ReplaceCurrentViewButton.d.ts +3 -2
  277. package/esm/ui/ReplaceCurrentViewButton.js +4 -2
  278. package/esm/ui/ResizeHandle.d.ts +2 -2
  279. package/esm/ui/ResizeHandle.js +3 -2
  280. package/esm/ui/SanitizedHTML.d.ts +3 -2
  281. package/esm/ui/SanitizedHTML.js +6 -4
  282. package/esm/ui/ScrollChrome.d.ts +3 -2
  283. package/esm/ui/ScrollChrome.js +4 -2
  284. package/esm/ui/ScrollEdgeShadow.d.ts +2 -2
  285. package/esm/ui/ScrollEdgeShadow.js +2 -2
  286. package/esm/ui/SessionJsonPanel.d.ts +3 -2
  287. package/esm/ui/SessionJsonPanel.js +4 -2
  288. package/esm/ui/ShareLinkField.d.ts +3 -2
  289. package/esm/ui/ShareLinkField.js +4 -2
  290. package/esm/ui/SingleSlider.d.ts +2 -2
  291. package/esm/ui/SingleSlider.js +4 -2
  292. package/esm/ui/SliderTooltip.d.ts +2 -1
  293. package/esm/ui/SliderTooltip.js +4 -2
  294. package/esm/ui/SnackbarContents.d.ts +3 -2
  295. package/esm/ui/SnackbarContents.js +4 -2
  296. package/esm/ui/SnackbarModel.d.ts +2 -0
  297. package/esm/ui/SnackbarModel.js +2 -0
  298. package/esm/ui/StackTraceButton.d.ts +3 -2
  299. package/esm/ui/StackTraceButton.js +4 -2
  300. package/esm/ui/StatusProgressBar.d.ts +3 -2
  301. package/esm/ui/StatusProgressBar.js +4 -2
  302. package/esm/ui/SubmitForm.d.ts +2 -1
  303. package/esm/ui/SubmitForm.js +4 -2
  304. package/esm/ui/SvgColorLegend.d.ts +3 -4
  305. package/esm/ui/SvgColorLegend.js +27 -18
  306. package/esm/ui/TagTextField.d.ts +2 -2
  307. package/esm/ui/TagTextField.js +4 -2
  308. package/esm/ui/ViewLoadingScreen.d.ts +3 -2
  309. package/esm/ui/ViewLoadingScreen.js +4 -2
  310. package/esm/ui/buildExtraTrackMenuItems.d.ts +2 -2
  311. package/esm/ui/colorScale.d.ts +5 -1
  312. package/esm/ui/colorScale.js +12 -10
  313. package/esm/ui/colors.d.ts +42 -31
  314. package/esm/ui/colors.js +85 -48
  315. package/esm/ui/filterMenuItems.d.ts +10 -31
  316. package/esm/ui/filterMenuItems.js +13 -14
  317. package/esm/ui/index.d.ts +1 -1
  318. package/esm/ui/index.js +1 -1
  319. package/esm/ui/launchTargetsMenuItem.js +9 -13
  320. package/esm/ui/legendMenuItem.d.ts +4 -4
  321. package/esm/ui/legendMenuItem.js +4 -4
  322. package/esm/ui/menuItemAdornment.d.ts +1 -1
  323. package/esm/ui/menuItemAdornment.js +1 -1
  324. package/esm/ui/menuItems.d.ts +1 -1
  325. package/esm/ui/menuItems.js +1 -1
  326. package/esm/ui/menuLabels.d.ts +2 -2
  327. package/esm/ui/menuLabels.js +2 -2
  328. package/esm/ui/multiTrackMenuItems.d.ts +2 -2
  329. package/esm/ui/palette.d.ts +2 -2
  330. package/esm/ui/palette.js +10 -10
  331. package/esm/ui/radioSubMenu.d.ts +5 -3
  332. package/esm/ui/radioSubMenu.js +2 -2
  333. package/esm/ui/rampKey.d.ts +15 -0
  334. package/esm/ui/rampKey.js +17 -0
  335. package/esm/ui/showSubMenu.d.ts +0 -5
  336. package/esm/ui/showSubMenu.js +6 -15
  337. package/esm/ui/theme.d.ts +2 -2
  338. package/esm/ui/theme.js +1 -1
  339. package/esm/ui/useAssemblySelection.d.ts +2 -0
  340. package/esm/ui/useMouseTracking.d.ts +8 -20
  341. package/esm/ui/useMouseTracking.js +23 -62
  342. package/esm/ui/usePlacedMenuFocus.d.ts +19 -0
  343. package/esm/ui/usePlacedMenuFocus.js +28 -0
  344. package/esm/util/Base1DViewModel.d.ts +5 -3
  345. package/esm/util/Base1DViewModel.js +5 -3
  346. package/esm/util/SvgCanvas.js +1 -1
  347. package/esm/util/aggregateFieldName.d.ts +1 -10
  348. package/esm/util/aggregateFieldName.js +1 -8
  349. package/esm/util/alignedBytes.d.ts +19 -0
  350. package/esm/util/alignedBytes.js +37 -0
  351. package/esm/util/analytics.d.ts +6 -9
  352. package/esm/util/analytics.js +148 -15
  353. package/esm/util/bezierConnector.d.ts +20 -0
  354. package/esm/util/bezierConnector.js +34 -96
  355. package/esm/util/cacheBudgets.d.ts +3 -0
  356. package/esm/util/cacheBudgets.js +3 -0
  357. package/esm/util/categoricalField.d.ts +24 -4
  358. package/esm/util/categoricalField.js +38 -5
  359. package/esm/util/cellMatches.js +14 -14
  360. package/esm/util/cellsStep.d.ts +3 -5
  361. package/esm/util/cellsStep.js +31 -29
  362. package/esm/util/color/index.d.ts +1 -1
  363. package/esm/util/color/index.js +2 -2
  364. package/esm/util/color-bits/bit.js +1 -1
  365. package/esm/util/color-bits/parse.js +28 -17
  366. package/esm/util/colorBits.d.ts +15 -4
  367. package/esm/util/colorBits.js +38 -15
  368. package/esm/util/colorRamp.d.ts +3 -3
  369. package/esm/util/colorRamp.js +20 -2
  370. package/esm/util/colorScale.d.ts +123 -22
  371. package/esm/util/colorScale.js +157 -28
  372. package/esm/util/colorSchemes.d.ts +7 -3
  373. package/esm/util/colorSchemes.js +8 -2
  374. package/esm/util/createSvgRasterCanvas.d.ts +14 -1
  375. package/esm/util/createSvgRasterCanvas.js +36 -12
  376. package/esm/util/diagonalizeRegions.js +18 -9
  377. package/esm/util/featureTransforms.d.ts +2 -2
  378. package/esm/util/featureTransforms.js +85 -135
  379. package/esm/util/fileHandleStore.js +5 -0
  380. package/esm/util/groupKeys.d.ts +5 -4
  381. package/esm/util/groupKeys.js +15 -9
  382. package/esm/util/index.js +1 -1
  383. package/esm/util/installFetch.d.ts +2 -2
  384. package/esm/util/installPrerequisiteFetch.d.ts +8 -3
  385. package/esm/util/installPrerequisiteFetch.js +9 -7
  386. package/esm/util/io/RemoteFileWithRangeCache.d.ts +1 -1
  387. package/esm/util/io/RemoteFileWithRangeCache.js +1 -1
  388. package/esm/util/isoformRank.d.ts +39 -0
  389. package/esm/util/isoformRank.js +118 -0
  390. package/esm/util/jexl.js +1 -1
  391. package/esm/util/layouts/GranularRectLayout.d.ts +19 -3
  392. package/esm/util/layouts/GranularRectLayout.js +57 -34
  393. package/esm/util/leadingEdgeAutorun.d.ts +9 -1
  394. package/esm/util/leadingEdgeAutorun.js +5 -2
  395. package/esm/util/markEncoding.d.ts +10 -8
  396. package/esm/util/markEncoding.js +50 -12
  397. package/esm/util/markEncodingTypes.d.ts +77 -21
  398. package/esm/util/originCut.d.ts +14 -0
  399. package/esm/util/originCut.js +19 -0
  400. package/esm/util/paintLayer.d.ts +1 -1
  401. package/esm/util/paintLayer.js +4 -3
  402. package/esm/util/pathSeries.d.ts +18 -0
  403. package/esm/util/pathSeries.js +143 -0
  404. package/esm/util/pressOwner.d.ts +20 -0
  405. package/esm/util/pressOwner.js +26 -0
  406. package/esm/util/quantileExtent.d.ts +23 -1
  407. package/esm/util/quantileExtent.js +25 -2
  408. package/esm/util/rowStackGeometry.d.ts +1 -1
  409. package/esm/util/rowStackGeometry.js +1 -1
  410. package/esm/util/sessionActivity.d.ts +36 -0
  411. package/esm/util/sessionActivity.js +88 -0
  412. package/esm/util/stepOutputs.d.ts +165 -0
  413. package/esm/util/stepOutputs.js +201 -0
  414. package/esm/util/stepTables.d.ts +7 -3
  415. package/esm/util/stepTables.js +86 -3
  416. package/esm/util/systemColorScheme.d.ts +4 -0
  417. package/esm/util/systemColorScheme.js +21 -0
  418. package/esm/util/tabix.d.ts +1 -1
  419. package/esm/util/tabix.js +1 -1
  420. package/esm/util/temporaryAssembly.d.ts +2 -2
  421. package/esm/util/temporaryAssembly.js +2 -3
  422. package/esm/util/thresholdScale.d.ts +1 -1
  423. package/esm/util/thresholdScale.js +1 -1
  424. package/esm/util/trackConfigDelta.d.ts +1 -1
  425. package/esm/util/tracks.d.ts +25 -15
  426. package/esm/util/tracks.js +68 -44
  427. package/esm/util/types/index.d.ts +15 -7
  428. package/esm/util/types/index.js +21 -2
  429. package/esm/util/usePanZoom.js +4 -10
  430. package/esm/util/useRowVirtualScroll.d.ts +1 -0
  431. package/esm/util/windowStep.d.ts +6 -0
  432. package/esm/util/windowStep.js +153 -0
  433. package/package.json +27 -16
  434. package/esm/data_adapters/BaseAdapter/featureDensity.d.ts +0 -40
  435. package/esm/data_adapters/BaseAdapter/featureDensity.js +0 -31
  436. package/esm/rpc/methods/CoreGetFeatureDensity.d.ts +0 -11
  437. package/esm/rpc/methods/CoreGetFeatureDensity.js +0 -22
  438. package/esm/rpc/methods/CoreLoadAdapterCode.d.ts +0 -13
  439. package/esm/rpc/methods/CoreLoadAdapterCode.js +0 -16
@@ -0,0 +1,153 @@
1
+ // The `window` step, Vega-Lite's window transform over a group's rows in
2
+ // start order. Imported by relative path only.
3
+ import { aggregateFieldName } from './aggregateFieldName.js';
4
+ import { numberReaderOf, readerOf, withColumns } from './featureTable.js';
5
+ import { isPlainFieldRef } from './fieldReader.js';
6
+ import { groupRows, isWeighted, sortByStart, stepNumberReader, stepReader, } from './stepTables.js';
7
+ export const DEFAULT_WINDOW_FRAME = [-10, 10];
8
+ // The rows grouped, groups in the order first met and so sections outermost,
9
+ // each group's rows in start order, an unreadable start sorting last; and
10
+ // where each group's rows begin.
11
+ function windowOrder(table, groupOf, groups) {
12
+ const n = table.length;
13
+ const groupStart = new Uint32Array(groups + 1);
14
+ for (let i = 0; i < n; i++) {
15
+ groupStart[groupOf[i] + 1]++;
16
+ }
17
+ for (let g = 0; g < groups; g++) {
18
+ groupStart[g + 1] += groupStart[g];
19
+ }
20
+ const order = new Uint32Array(n);
21
+ const next = groupStart.slice(0, groups);
22
+ for (let i = 0; i < n; i++) {
23
+ order[next[groupOf[i]]++] = i;
24
+ }
25
+ const readStart = numberReaderOf(table.column('start'));
26
+ const starts = new Float64Array(n);
27
+ for (let i = 0; i < n; i++) {
28
+ const s = readStart(i);
29
+ starts[i] = Number.isNaN(s) ? Infinity : s;
30
+ }
31
+ for (let g = 0; g < groups; g++) {
32
+ const rows = order.subarray(groupStart[g], groupStart[g + 1]);
33
+ let sorted = true;
34
+ for (let k = 1; k < rows.length && sorted; k++) {
35
+ sorted = starts[rows[k]] >= starts[rows[k - 1]];
36
+ }
37
+ if (!sorted) {
38
+ sortByStart(rows, starts);
39
+ }
40
+ }
41
+ return { order, groupStart };
42
+ }
43
+ // The rows `[first, last]` of a group of `m` around its row `j`, empty where
44
+ // `first` passes `last`.
45
+ function frameAt([before, after], j, m) {
46
+ return [
47
+ before === null ? 0 : Math.max(0, j + before),
48
+ after === null ? m - 1 : Math.min(m - 1, j + after),
49
+ ];
50
+ }
51
+ // A sum, count or mean over each frame from running totals, which answer an
52
+ // empty frame exactly 0, since the totals hold one value across it.
53
+ function totalsOver(op, values, weights, frame, lo, hi, out) {
54
+ const m = hi - lo;
55
+ const weightTotal = new Float64Array(m + 1);
56
+ const sumTotal = new Float64Array(m + 1);
57
+ for (let j = 0; j < m; j++) {
58
+ const v = values[lo + j];
59
+ const w = weights[lo + j];
60
+ const counted = Number.isFinite(v) && Number.isFinite(w);
61
+ weightTotal[j + 1] = weightTotal[j] + (counted ? w : 0);
62
+ sumTotal[j + 1] = sumTotal[j] + (counted ? v * w : 0);
63
+ }
64
+ for (let j = 0; j < m; j++) {
65
+ const [a, b] = frameAt(frame, j, m);
66
+ const weight = a > b ? 0 : weightTotal[b + 1] - weightTotal[a];
67
+ const sum = a > b ? 0 : sumTotal[b + 1] - sumTotal[a];
68
+ out[lo + j] =
69
+ op === 'count'
70
+ ? weight
71
+ : op === 'sum'
72
+ ? sum
73
+ : weight === 0
74
+ ? Number.NaN
75
+ : sum / weight;
76
+ }
77
+ }
78
+ // A min or max over each frame through a monotonic queue of row positions,
79
+ // which holds because neither end of a frame ever moves back.
80
+ function extremeOver(op, values, frame, lo, hi, out) {
81
+ const m = hi - lo;
82
+ const queue = new Uint32Array(m);
83
+ let head = 0;
84
+ let tail = 0;
85
+ let added = 0;
86
+ for (let j = 0; j < m; j++) {
87
+ const [a, b] = frameAt(frame, j, m);
88
+ for (; added <= b; added++) {
89
+ const v = values[lo + added];
90
+ if (!Number.isFinite(v)) {
91
+ continue;
92
+ }
93
+ while (tail > head &&
94
+ (op === 'min'
95
+ ? values[lo + queue[tail - 1]] >= v
96
+ : values[lo + queue[tail - 1]] <= v)) {
97
+ tail--;
98
+ }
99
+ queue[tail++] = added;
100
+ }
101
+ while (head < tail && queue[head] < a) {
102
+ head++;
103
+ }
104
+ out[lo + j] = head < tail ? values[lo + queue[head]] : Number.NaN;
105
+ }
106
+ }
107
+ function windowColumn(table, agg, order, groupStart, frame) {
108
+ const { op, field, weight } = agg;
109
+ if (op !== 'count' && field === undefined) {
110
+ throw new Error(`a window ${op} needs a field`);
111
+ }
112
+ const n = order.length;
113
+ const readValue = field === undefined || op === 'count'
114
+ ? () => 0
115
+ : stepNumberReader(table, field, 'a window');
116
+ const readWeight = weight !== undefined && isWeighted(agg)
117
+ ? stepNumberReader(table, weight, 'a window')
118
+ : () => 1;
119
+ const values = new Float64Array(n);
120
+ const weights = new Float64Array(n);
121
+ for (let k = 0; k < n; k++) {
122
+ values[k] = readValue(order[k]);
123
+ weights[k] = readWeight(order[k]);
124
+ }
125
+ const out = new Float64Array(n);
126
+ for (let g = 0; g + 1 < groupStart.length; g++) {
127
+ const lo = groupStart[g];
128
+ const hi = groupStart[g + 1];
129
+ if (op === 'min' || op === 'max') {
130
+ extremeOver(op, values, frame, lo, hi, out);
131
+ }
132
+ else {
133
+ totalsOver(op, values, weights, frame, lo, hi, out);
134
+ }
135
+ }
136
+ return op === 'count' || op === 'sum'
137
+ ? { kind: 'number', values: out, at: undefined }
138
+ : { kind: 'number', values: out, at: undefined, nanIsAbsent: true };
139
+ }
140
+ export function windowStep({ table, bounds }, step) {
141
+ const { groupby = [], ops, frame = DEFAULT_WINDOW_FRAME } = step;
142
+ const keyed = groupby.some(field => !isPlainFieldRef(field));
143
+ const reads = groupby.map(field => keyed
144
+ ? stepReader(table, field, 'a window')
145
+ : readerOf(table.column(field)));
146
+ const { groupOf, firstRow } = groupRows(table.length, bounds, reads, !keyed);
147
+ const { order, groupStart } = windowOrder(table, groupOf, firstRow.length);
148
+ const written = new Map(ops.map(agg => [
149
+ aggregateFieldName(agg),
150
+ windowColumn(table, agg, order, groupStart, frame),
151
+ ]));
152
+ return { table: withColumns(table, written, order), bounds };
153
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jbrowse/core",
3
- "version": "5.0.0-beta.11",
3
+ "version": "5.0.0-beta.14",
4
4
  "type": "module",
5
5
  "description": "JBrowse 2 core libraries used by plugins",
6
6
  "keywords": [
@@ -33,6 +33,7 @@
33
33
  "./PluginManager": "./esm/PluginManager.js",
34
34
  "./ReExports/list": "./esm/ReExports/list.js",
35
35
  "./ReExports/modules": "./esm/ReExports/modules.js",
36
+ "./ReExports/names": "./esm/ReExports/names.js",
36
37
  "./ReExports/registry": "./esm/ReExports/registry.js",
37
38
  "./ReExports/uiStub": "./esm/ReExports/uiStub.js",
38
39
  "./ReExports/workerModules": "./esm/ReExports/workerModules.js",
@@ -42,6 +43,8 @@
42
43
  "./assemblyManager": "./esm/assemblyManager/index.js",
43
44
  "./assemblyManager/assembly": "./esm/assemblyManager/assembly.js",
44
45
  "./assemblyManager/assemblyConfigSchema": "./esm/assemblyManager/assemblyConfigSchema.js",
46
+ "./assemblyManager/expandAssemblyConfigShorthand": "./esm/assemblyManager/expandAssemblyConfigShorthand.js",
47
+ "./assemblyManager/refNameMaps": "./esm/assemblyManager/refNameMaps.js",
45
48
  "./checkPlugins": "./esm/checkPlugins.js",
46
49
  "./configuration": "./esm/configuration/index.js",
47
50
  "./configuration/configurationSchema": "./esm/configuration/configurationSchema.js",
@@ -97,6 +100,7 @@
97
100
  "./ui/CascadingMenuButton": "./esm/ui/CascadingMenuButton.js",
98
101
  "./ui/ColorPicker": "./esm/ui/ColorPicker.js",
99
102
  "./ui/ConfirmDialog": "./esm/ui/ConfirmDialog.js",
103
+ "./ui/ContextMenu": "./esm/ui/ContextMenu.js",
100
104
  "./ui/DataGridFlexContainer": "./esm/ui/DataGridFlexContainer.js",
101
105
  "./ui/Dialog": "./esm/ui/Dialog.js",
102
106
  "./ui/DraggableDialog": "./esm/ui/DraggableDialog.js",
@@ -130,6 +134,7 @@
130
134
  "./ui/Snackbar": "./esm/ui/Snackbar.js",
131
135
  "./ui/SnackbarModel": "./esm/ui/SnackbarModel.js",
132
136
  "./ui/StackTraceButton": "./esm/ui/StackTraceButton.js",
137
+ "./ui/SubmitDialog": "./esm/ui/SubmitDialog.js",
133
138
  "./ui/SvgColorLegend": "./esm/ui/SvgColorLegend.js",
134
139
  "./ui/VerticalScrollbar": "./esm/ui/VerticalScrollbar.js",
135
140
  "./ui/buildExtraTrackMenuItems": "./esm/ui/buildExtraTrackMenuItems.js",
@@ -144,6 +149,7 @@
144
149
  "./ui/multiTrackMenuItems": "./esm/ui/multiTrackMenuItems.js",
145
150
  "./ui/palette": "./esm/ui/palette.js",
146
151
  "./ui/persistentScrollbarStyle": "./esm/ui/persistentScrollbarStyle.js",
152
+ "./ui/rampKey": "./esm/ui/rampKey.js",
147
153
  "./ui/scrollZoomLabels": "./esm/ui/scrollZoomLabels.js",
148
154
  "./ui/showSubMenu": "./esm/ui/showSubMenu.js",
149
155
  "./ui/styleTheme": "./esm/ui/styleTheme.js",
@@ -161,6 +167,7 @@
161
167
  "./util/adapterMetadata": "./esm/util/adapterMetadata.js",
162
168
  "./util/addRelativeUris": "./esm/util/addRelativeUris.js",
163
169
  "./util/aggregateFieldName": "./esm/util/aggregateFieldName.js",
170
+ "./util/alignedBytes": "./esm/util/alignedBytes.js",
164
171
  "./util/analytics": "./esm/util/analytics.js",
165
172
  "./util/animationAllowed": "./esm/util/animationAllowed.js",
166
173
  "./util/assemblyConfigUtils": "./esm/util/assemblyConfigUtils.js",
@@ -217,6 +224,7 @@
217
224
  "./util/io/RemoteFileWithRangeCache": "./esm/util/io/RemoteFileWithRangeCache.js",
218
225
  "./util/isDataCurrent": "./esm/util/isDataCurrent.js",
219
226
  "./util/isTextEntryFocused": "./esm/util/isTextEntryFocused.js",
227
+ "./util/isoformRank": "./esm/util/isoformRank.js",
220
228
  "./util/jexl": "./esm/util/jexl.js",
221
229
  "./util/jexlFilters": "./esm/util/jexlFilters.js",
222
230
  "./util/jexlStrings": "./esm/util/jexlStrings.js",
@@ -238,9 +246,11 @@
238
246
  "./util/numericUtils": "./esm/util/numericUtils.js",
239
247
  "./util/offscreenCanvasPonyfill": "./esm/util/offscreenCanvasPonyfill.js",
240
248
  "./util/openViews": "./esm/util/openViews.js",
249
+ "./util/originCut": "./esm/util/originCut.js",
241
250
  "./util/paintLayer": "./esm/util/paintLayer.js",
242
251
  "./util/parseLineByLine": "./esm/util/parseLineByLine.js",
243
252
  "./util/preloadComponent": "./esm/util/preloadComponent.js",
253
+ "./util/pressOwner": "./esm/util/pressOwner.js",
244
254
  "./util/progress": "./esm/util/progress.js",
245
255
  "./util/quantileExtent": "./esm/util/quantileExtent.js",
246
256
  "./util/range": "./esm/util/range.js",
@@ -257,6 +267,7 @@
257
267
  "./util/simpleFeature": "./esm/util/simpleFeature.js",
258
268
  "./util/starFusion": "./esm/util/starFusion.js",
259
269
  "./util/stats": "./esm/util/stats.js",
270
+ "./util/stepOutputs": "./esm/util/stepOutputs.js",
260
271
  "./util/svAlt": "./esm/util/svAlt.js",
261
272
  "./util/svgColorProps": "./esm/util/svgColorProps.js",
262
273
  "./util/systemColorScheme": "./esm/util/systemColorScheme.js",
@@ -297,29 +308,29 @@
297
308
  "@emotion/serialize": "^1.3.3",
298
309
  "@emotion/utils": "^1.4.2",
299
310
  "@floating-ui/react": "^0.27.20",
300
- "@gmod/bgzf-filehandle": "^6.7.0",
301
- "@gmod/range-cache-filehandle": "^1.5.0",
302
- "@gmod/shared-read-cache": "^1.7.2",
303
- "@gmod/vcf": "^7.2.0",
311
+ "@gmod/bgzf-filehandle": "^6.8.0",
312
+ "@gmod/range-cache-filehandle": "^1.5.2",
313
+ "@gmod/shared-read-cache": "^2.1.0",
314
+ "@gmod/vcf": "^7.4.0",
304
315
  "@jbrowse/jexl": "^6.0.0",
305
- "@jbrowse/mobx-state-tree": "^6.7.0",
316
+ "@jbrowse/mobx-state-tree": "^6.9.0",
306
317
  "@jbrowse/quick-lru": "^8.0.0",
307
318
  "@leeoniya/ufuzzy": "^1.0.19",
308
- "@mui/icons-material": "^9.4.0",
309
- "@mui/material": "^9.4.0",
310
- "@mui/system": "^9.4.0",
311
- "@mui/x-data-grid": "^9.14.0",
319
+ "@mui/icons-material": "^9.5.0",
320
+ "@mui/material": "^9.5.0",
321
+ "@mui/system": "^9.5.0",
322
+ "@mui/x-data-grid": "^9.15.0",
312
323
  "canvas-sequencer-ts": "^3.1.3",
313
324
  "compare-versions": "^6.1.1",
314
- "dompurify": "^3.4.16",
315
- "generic-filehandle2": "^2.5.0",
316
- "idb": "^8.0.3",
317
- "mobx": "^7.0.5",
325
+ "dompurify": "^3.4.17",
326
+ "generic-filehandle2": "^2.5.1",
327
+ "idb": "^8.0.4",
328
+ "mobx": "^7.0.6",
318
329
  "mobx-react": "^10.0.2",
319
330
  "rxjs": "^7.8.2",
320
331
  "source-map-js": "^1.2.2",
321
- "@jbrowse/add-track-core": "^5.0.0-beta.11",
322
- "@jbrowse/render-core": "^5.0.0-beta.11"
332
+ "@jbrowse/add-track-core": "^5.0.0-beta.14",
333
+ "@jbrowse/render-core": "^5.0.0-beta.14"
323
334
  },
324
335
  "peerDependencies": {
325
336
  "react": ">=19.0.0",
@@ -1,40 +0,0 @@
1
- /**
2
- * A density source's intervals over one region, the payload of the density
3
- * tier that stands in for the features a gated fetch refused: features per bin
4
- * for a `make-density` sidecar, whatever the bigWig measures otherwise, each
5
- * value a level over its span so a zoomed read means the same thing. Absolute
6
- * genomic coordinates.
7
- */
8
- export interface FeatureDensity {
9
- starts: Uint32Array;
10
- ends: Uint32Array;
11
- scores: Float32Array;
12
- }
13
- /**
14
- * The slot a feature adapter spreads to take a density sidecar — a
15
- * quantitative sub-adapter (typically a BigWig of feature starts per bin) the
16
- * display reads at the view's bp/px in place of features the region-too-large
17
- * gate refused. Mirrors MAF's `summaryAdapter`: on the adapter, so the tier
18
- * names the file it summarizes.
19
- */
20
- export declare const densityAdapterConfigSchemaFields: {
21
- /**
22
- * #slot
23
- */
24
- readonly densityAdapter: {
25
- readonly type: 'maybeFrozen';
26
- readonly description: 'optional quantitative sub-adapter (e.g. a BigWigAdapter over a features-per-bin bigWig) drawn as a density band where the region is too large to fetch features; leave it unset to disable';
27
- };
28
- };
29
- /**
30
- * Whether the `densityAdapter` slot holds something a sub-adapter can be built
31
- * from. Beside the slot because both ends of the tier ask it and they have to
32
- * agree: the display, deciding the band stands in, and `getFeatureDensity`,
33
- * resolving the sidecar. They disagreed — the display took any object, the
34
- * adapter wanted a type — so the shorthand every location slot accepts
35
- * (`{ uri }`) turned the band on for a read that answered `undefined`, which
36
- * commits nothing, and the phase then waited on bins no read would ever bring.
37
- */
38
- export declare function isSubAdapterConfig(value: unknown): value is Record<string, unknown> & {
39
- type: string;
40
- };
@@ -1,31 +0,0 @@
1
- /**
2
- * The slot a feature adapter spreads to take a density sidecar — a
3
- * quantitative sub-adapter (typically a BigWig of feature starts per bin) the
4
- * display reads at the view's bp/px in place of features the region-too-large
5
- * gate refused. Mirrors MAF's `summaryAdapter`: on the adapter, so the tier
6
- * names the file it summarizes.
7
- */
8
- export const densityAdapterConfigSchemaFields = {
9
- /**
10
- * #slot
11
- */
12
- densityAdapter: {
13
- type: 'maybeFrozen',
14
- description: 'optional quantitative sub-adapter (e.g. a BigWigAdapter over a features-per-bin bigWig) drawn as a density band where the region is too large to fetch features; leave it unset to disable',
15
- },
16
- };
17
- /**
18
- * Whether the `densityAdapter` slot holds something a sub-adapter can be built
19
- * from. Beside the slot because both ends of the tier ask it and they have to
20
- * agree: the display, deciding the band stands in, and `getFeatureDensity`,
21
- * resolving the sidecar. They disagreed — the display took any object, the
22
- * adapter wanted a type — so the shorthand every location slot accepts
23
- * (`{ uri }`) turned the band on for a read that answered `undefined`, which
24
- * commits nothing, and the phase then waited on bins no read would ever bring.
25
- */
26
- export function isSubAdapterConfig(value) {
27
- return (typeof value === 'object' &&
28
- value !== null &&
29
- 'type' in value &&
30
- typeof value.type === 'string');
31
- }
@@ -1,11 +0,0 @@
1
- import RpcMethodTypeWithRenameRegions from '../../pluggableElementTypes/RpcMethodTypeWithRenameRegions.ts';
2
- import type { RpcExecuteArgs } from '../RpcRegistry.ts';
3
- /**
4
- * The density tier's read: features per bin at the view's bp/px for regions the
5
- * region-too-large gate refused. Answers `undefined` for an adapter with no
6
- * density source, and the display keeps the banner.
7
- */
8
- export default class CoreGetFeatureDensity extends RpcMethodTypeWithRenameRegions<'CoreGetFeatureDensity'> {
9
- name: 'CoreGetFeatureDensity';
10
- execute(args: RpcExecuteArgs<'CoreGetFeatureDensity'>): Promise<import("../../data_adapters/BaseAdapter/featureDensity.ts").FeatureDensity[] | undefined>;
11
- }
@@ -1,22 +0,0 @@
1
- import { isFeatureAdapter } from '../../data_adapters/BaseAdapter/index.js';
2
- import { getAdapter } from '../../data_adapters/dataAdapterCache.js';
3
- import RpcMethodTypeWithRenameRegions from '../../pluggableElementTypes/RpcMethodTypeWithRenameRegions.js';
4
- /**
5
- * The density tier's read: features per bin at the view's bp/px for regions the
6
- * region-too-large gate refused. Answers `undefined` for an adapter with no
7
- * density source, and the display keeps the banner.
8
- */
9
- export default class CoreGetFeatureDensity extends RpcMethodTypeWithRenameRegions {
10
- name = 'CoreGetFeatureDensity';
11
- async execute(args) {
12
- const { adapterConfig, sessionId, regions, bpPerPx, signal } = args;
13
- const { dataAdapter } = await getAdapter(this.pluginManager, sessionId, adapterConfig, args.sequenceAdapter);
14
- return isFeatureAdapter(dataAdapter)
15
- ? dataAdapter.getFeatureDensity(regions, {
16
- bpPerPx,
17
- signal,
18
- statusCallback: args.statusCallback,
19
- })
20
- : undefined;
21
- }
22
- }
@@ -1,13 +0,0 @@
1
- import RpcMethodType from '../../pluggableElementTypes/RpcMethodType.ts';
2
- import type { RpcExecuteArgs } from '../RpcRegistry.ts';
3
- /**
4
- * Load these adapter types' code in the worker a track is about to use. An
5
- * adapter's class arrives by dynamic import on the track's first request
6
- * otherwise, and that download waits for the view to lay out and the assembly
7
- * to load.
8
- */
9
- export default class CoreLoadAdapterCode extends RpcMethodType<'CoreLoadAdapterCode'> {
10
- name: 'CoreLoadAdapterCode';
11
- execute({ adapterTypes }: RpcExecuteArgs<'CoreLoadAdapterCode'>): Promise<void>;
12
- serializeArguments(args: Record<string, unknown>): Promise<Record<string, unknown>>;
13
- }
@@ -1,16 +0,0 @@
1
- import RpcMethodType from '../../pluggableElementTypes/RpcMethodType.js';
2
- /**
3
- * Load these adapter types' code in the worker a track is about to use. An
4
- * adapter's class arrives by dynamic import on the track's first request
5
- * otherwise, and that download waits for the view to lay out and the assembly
6
- * to load.
7
- */
8
- export default class CoreLoadAdapterCode extends RpcMethodType {
9
- name = 'CoreLoadAdapterCode';
10
- async execute({ adapterTypes }) {
11
- await Promise.all(adapterTypes.map(type => this.pluginManager.getAdapterType(type).getAdapterClass()));
12
- }
13
- async serializeArguments(args) {
14
- return args;
15
- }
16
- }