react-msaview 9.0.0 → 9.1.1

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 (352) hide show
  1. package/README.md +19 -10
  2. package/bundle/index.js +111 -115
  3. package/bundle/index.js.map +4 -4
  4. package/dist/blosum62.d.ts +3 -0
  5. package/dist/blosum62.js +43 -0
  6. package/dist/blosum62.js.map +1 -0
  7. package/dist/colorSchemes.js +2 -3
  8. package/dist/colorSchemes.js.map +1 -1
  9. package/dist/columnCounts.d.ts +0 -1
  10. package/dist/columnCounts.js +1 -1
  11. package/dist/columnCounts.js.map +1 -1
  12. package/dist/components/Loading.d.ts +3 -2
  13. package/dist/components/Loading.js +7 -7
  14. package/dist/components/Loading.js.map +1 -1
  15. package/dist/components/MSAView.d.ts +3 -2
  16. package/dist/components/MSAView.js +7 -4
  17. package/dist/components/MSAView.js.map +1 -1
  18. package/dist/components/MSAViewer.d.ts +1941 -4
  19. package/dist/components/MSAViewer.js +144 -201
  20. package/dist/components/MSAViewer.js.map +1 -1
  21. package/dist/components/MetadataTable.d.ts +4 -1
  22. package/dist/components/MetadataTable.js +55 -16
  23. package/dist/components/MetadataTable.js.map +1 -1
  24. package/dist/components/ResizeHandles.js +3 -2
  25. package/dist/components/ResizeHandles.js.map +1 -1
  26. package/dist/components/Track.js +8 -1
  27. package/dist/components/Track.js.map +1 -1
  28. package/dist/components/controls.d.ts +11 -0
  29. package/dist/components/controls.js +49 -0
  30. package/dist/components/controls.js.map +1 -0
  31. package/dist/components/dialogs/AnnotationFileDialog.js +12 -18
  32. package/dist/components/dialogs/AnnotationFileDialog.js.map +1 -1
  33. package/dist/components/dialogs/ExportSVGDialog.js +5 -7
  34. package/dist/components/dialogs/ExportSVGDialog.js.map +1 -1
  35. package/dist/components/dialogs/FeatureDialog.js +2 -2
  36. package/dist/components/dialogs/FeatureDialog.js.map +1 -1
  37. package/dist/components/{header/TreeSettingsMenu.d.ts → dialogs/GapThresholdDialog.d.ts} +3 -2
  38. package/dist/components/dialogs/GapThresholdDialog.js +15 -0
  39. package/dist/components/dialogs/GapThresholdDialog.js.map +1 -0
  40. package/dist/components/{header → dialogs}/GappynessSlider.d.ts +1 -1
  41. package/dist/components/{header → dialogs}/GappynessSlider.js +3 -10
  42. package/dist/components/dialogs/GappynessSlider.js.map +1 -0
  43. package/dist/components/{header → dialogs}/GoToBox.d.ts +4 -2
  44. package/dist/components/dialogs/GoToBox.js +48 -0
  45. package/dist/components/dialogs/GoToBox.js.map +1 -0
  46. package/dist/components/dialogs/GoToDialog.d.ts +6 -0
  47. package/dist/components/dialogs/GoToDialog.js +10 -0
  48. package/dist/components/dialogs/GoToDialog.js.map +1 -0
  49. package/dist/components/dialogs/HelpDialog.d.ts +6 -0
  50. package/dist/components/dialogs/HelpDialog.js +30 -0
  51. package/dist/components/dialogs/HelpDialog.js.map +1 -0
  52. package/dist/components/dialogs/MetadataDialog.js +11 -3
  53. package/dist/components/dialogs/MetadataDialog.js.map +1 -1
  54. package/dist/components/dialogs/goTo.d.ts +5 -0
  55. package/dist/components/{header → dialogs}/goTo.js +1 -1
  56. package/dist/components/dialogs/goTo.js.map +1 -0
  57. package/dist/components/dialogs/metadataLabels.d.ts +4 -0
  58. package/dist/components/dialogs/metadataLabels.js +52 -0
  59. package/dist/components/dialogs/metadataLabels.js.map +1 -0
  60. package/dist/components/dialogs/metadataRecord.d.ts +1 -0
  61. package/dist/components/dialogs/metadataRecord.js +38 -0
  62. package/dist/components/dialogs/metadataRecord.js.map +1 -0
  63. package/dist/components/header/Header.d.ts +6 -2
  64. package/dist/components/header/Header.js +30 -34
  65. package/dist/components/header/Header.js.map +1 -1
  66. package/dist/components/header/HiddenColumnsChip.d.ts +6 -0
  67. package/dist/components/header/HiddenColumnsChip.js +15 -0
  68. package/dist/components/header/HiddenColumnsChip.js.map +1 -0
  69. package/dist/components/header/{FileMenu.d.ts → MenuBar.d.ts} +3 -3
  70. package/dist/components/header/MenuBar.js +33 -0
  71. package/dist/components/header/MenuBar.js.map +1 -0
  72. package/dist/components/header/ScrollZoomCheckbox.d.ts +7 -0
  73. package/dist/components/header/ScrollZoomCheckbox.js +19 -0
  74. package/dist/components/header/ScrollZoomCheckbox.js.map +1 -0
  75. package/dist/components/header/ZoomControls.js +12 -48
  76. package/dist/components/header/ZoomControls.js.map +1 -1
  77. package/dist/components/header/colorSchemeMenuItems.d.ts +4 -0
  78. package/dist/components/header/colorSchemeMenuItems.js +106 -0
  79. package/dist/components/header/colorSchemeMenuItems.js.map +1 -0
  80. package/dist/components/header/getAnnotationsMenu.d.ts +3 -30
  81. package/dist/components/header/getAnnotationsMenu.js +48 -54
  82. package/dist/components/header/getAnnotationsMenu.js.map +1 -1
  83. package/dist/components/header/menuBarItems.d.ts +11 -0
  84. package/dist/components/header/menuBarItems.js +277 -0
  85. package/dist/components/header/menuBarItems.js.map +1 -0
  86. package/dist/components/import/ImportForm.js +12 -6
  87. package/dist/components/import/ImportForm.js.map +1 -1
  88. package/dist/components/import/data/seq2.d.ts +0 -1
  89. package/dist/components/import/data/seq2.js +0 -17
  90. package/dist/components/import/data/seq2.js.map +1 -1
  91. package/dist/components/minimap/Minimap.js +7 -3
  92. package/dist/components/minimap/Minimap.js.map +1 -1
  93. package/dist/components/minimap/MinimapSVG.js +2 -1
  94. package/dist/components/minimap/MinimapSVG.js.map +1 -1
  95. package/dist/components/minimap/minimapLayout.d.ts +12 -0
  96. package/dist/components/minimap/minimapLayout.js +20 -0
  97. package/dist/components/minimap/minimapLayout.js.map +1 -1
  98. package/dist/components/msa/MSACanvas.js +28 -10
  99. package/dist/components/msa/MSACanvas.js.map +1 -1
  100. package/dist/components/msa/MSACanvasBlock.js +17 -16
  101. package/dist/components/msa/MSACanvasBlock.js.map +1 -1
  102. package/dist/components/msa/MSAMouseoverCanvas.js +2 -2
  103. package/dist/components/msa/MSAMouseoverCanvas.js.map +1 -1
  104. package/dist/components/msa/WheelZoomHint.d.ts +7 -0
  105. package/dist/components/msa/WheelZoomHint.js +38 -0
  106. package/dist/components/msa/WheelZoomHint.js.map +1 -0
  107. package/dist/components/msa/drawFeatureSpans.d.ts +50 -11
  108. package/dist/components/msa/drawFeatureSpans.js +99 -56
  109. package/dist/components/msa/drawFeatureSpans.js.map +1 -1
  110. package/dist/components/msa/msaKeys.js +3 -0
  111. package/dist/components/msa/msaKeys.js.map +1 -1
  112. package/dist/components/msa/msaRaster.d.ts +14 -2
  113. package/dist/components/msa/msaRaster.js +20 -10
  114. package/dist/components/msa/msaRaster.js.map +1 -1
  115. package/dist/components/msa/renderBoxFeatureCanvasBlock.d.ts +9 -0
  116. package/dist/components/msa/renderBoxFeatureCanvasBlock.js +39 -8
  117. package/dist/components/msa/renderBoxFeatureCanvasBlock.js.map +1 -1
  118. package/dist/components/msa/renderHighlights.d.ts +2 -5
  119. package/dist/components/msa/renderHighlights.js +5 -6
  120. package/dist/components/msa/renderHighlights.js.map +1 -1
  121. package/dist/components/msa/renderMSABlock.d.ts +6 -1
  122. package/dist/components/msa/renderMSABlock.js +44 -17
  123. package/dist/components/msa/renderMSABlock.js.map +1 -1
  124. package/dist/components/msa/renderMSAMouseover.js +2 -1
  125. package/dist/components/msa/renderMSAMouseover.js.map +1 -1
  126. package/dist/components/msa/tileColor.js +7 -0
  127. package/dist/components/msa/tileColor.js.map +1 -1
  128. package/dist/components/renderCtx.d.ts +1 -1
  129. package/dist/components/rowpanels/RowPanelBlock.js +2 -2
  130. package/dist/components/rowpanels/RowPanelBlock.js.map +1 -1
  131. package/dist/components/rowpanels/renderFeaturePanel.d.ts +5 -1
  132. package/dist/components/rowpanels/renderFeaturePanel.js +12 -5
  133. package/dist/components/rowpanels/renderFeaturePanel.js.map +1 -1
  134. package/dist/components/settings/MenuItemsForm.d.ts +10 -0
  135. package/dist/components/settings/MenuItemsForm.js +80 -0
  136. package/dist/components/settings/MenuItemsForm.js.map +1 -0
  137. package/dist/components/settings/SettingsPanel.d.ts +12 -0
  138. package/dist/components/settings/SettingsPanel.js +92 -0
  139. package/dist/components/settings/SettingsPanel.js.map +1 -0
  140. package/dist/components/{header/ZoomMenu.d.ts → settings/TrackList.d.ts} +2 -2
  141. package/dist/components/settings/TrackList.js +55 -0
  142. package/dist/components/settings/TrackList.js.map +1 -0
  143. package/dist/components/tracks/TrackBlocks.js +2 -2
  144. package/dist/components/tracks/TrackBlocks.js.map +1 -1
  145. package/dist/components/tracks/drawTracks.d.ts +1 -53
  146. package/dist/components/tracks/drawTracks.js +5 -5
  147. package/dist/components/tracks/drawTracks.js.map +1 -1
  148. package/dist/components/tree/CladeLabels.d.ts +1 -1
  149. package/dist/components/tree/CladeLabels.js +22 -34
  150. package/dist/components/tree/CladeLabels.js.map +1 -1
  151. package/dist/components/tree/TreeCanvasBlock.js +2 -2
  152. package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
  153. package/dist/components/tree/TreeMenu.js +4 -6
  154. package/dist/components/tree/TreeMenu.js.map +1 -1
  155. package/dist/components/tree/TreeOverview.js +2 -2
  156. package/dist/components/tree/TreeOverview.js.map +1 -1
  157. package/dist/components/tree/cladeBrackets.d.ts +17 -10
  158. package/dist/components/tree/cladeBrackets.js +33 -3
  159. package/dist/components/tree/cladeBrackets.js.map +1 -1
  160. package/dist/components/tree/renderTreeCanvas.js +2 -8
  161. package/dist/components/tree/renderTreeCanvas.js.map +1 -1
  162. package/dist/components/tree/renderTreeOverview.js +4 -11
  163. package/dist/components/tree/renderTreeOverview.js.map +1 -1
  164. package/dist/constants.d.ts +4 -1
  165. package/dist/constants.js +7 -1
  166. package/dist/constants.js.map +1 -1
  167. package/dist/darkReader.d.ts +7 -0
  168. package/dist/darkReader.js +42 -0
  169. package/dist/darkReader.js.map +1 -0
  170. package/dist/element.js +25 -53
  171. package/dist/element.js.map +1 -1
  172. package/dist/exportLayout.d.ts +39 -0
  173. package/dist/exportLayout.js +78 -0
  174. package/dist/exportLayout.js.map +1 -0
  175. package/dist/featurePanels.d.ts +37 -0
  176. package/dist/featurePanels.js +187 -0
  177. package/dist/featurePanels.js.map +1 -0
  178. package/dist/filehandleLoader.d.ts +41 -0
  179. package/dist/filehandleLoader.js +99 -0
  180. package/dist/filehandleLoader.js.map +1 -0
  181. package/dist/headlessRenderEnv.d.ts +12 -39
  182. package/dist/headlessRenderEnv.js +18 -12
  183. package/dist/headlessRenderEnv.js.map +1 -1
  184. package/dist/hierarchy.d.ts +5 -8
  185. package/dist/hierarchy.js +5 -79
  186. package/dist/hierarchy.js.map +1 -1
  187. package/dist/index.d.ts +6 -1
  188. package/dist/index.js +6 -1
  189. package/dist/index.js.map +1 -1
  190. package/dist/measureTextCanvas.d.ts +7 -0
  191. package/dist/measureTextCanvas.js +8 -6
  192. package/dist/measureTextCanvas.js.map +1 -1
  193. package/dist/model/treeModel.d.ts +6 -2
  194. package/dist/model/treeModel.js +8 -4
  195. package/dist/model/treeModel.js.map +1 -1
  196. package/dist/model.d.ts +180 -76
  197. package/dist/model.js +358 -618
  198. package/dist/model.js.map +1 -1
  199. package/dist/neighborJoining.js +1 -40
  200. package/dist/neighborJoining.js.map +1 -1
  201. package/dist/renderToSvg.d.ts +2 -7
  202. package/dist/renderToSvg.js +33 -133
  203. package/dist/renderToSvg.js.map +1 -1
  204. package/dist/rerootTree.d.ts +1 -0
  205. package/dist/rerootTree.js +7 -6
  206. package/dist/rerootTree.js.map +1 -1
  207. package/dist/schemeResidueColor.d.ts +12 -0
  208. package/dist/schemeResidueColor.js +33 -0
  209. package/dist/schemeResidueColor.js.map +1 -0
  210. package/dist/similarityColors.d.ts +11 -0
  211. package/dist/similarityColors.js +90 -0
  212. package/dist/similarityColors.js.map +1 -0
  213. package/dist/svgTestUtil.d.ts +74 -32
  214. package/dist/treeDisplay.d.ts +37 -0
  215. package/dist/treeDisplay.js +209 -0
  216. package/dist/treeDisplay.js.map +1 -0
  217. package/dist/types.d.ts +6 -3
  218. package/dist/useWheelScroll.d.ts +3 -1
  219. package/dist/useWheelScroll.js +36 -17
  220. package/dist/useWheelScroll.js.map +1 -1
  221. package/dist/util.d.ts +2 -0
  222. package/dist/util.js +2 -0
  223. package/dist/util.js.map +1 -1
  224. package/dist/version.d.ts +1 -1
  225. package/dist/version.js +1 -1
  226. package/dist/viewerSnapshot.d.ts +169 -0
  227. package/dist/viewerSnapshot.js +100 -0
  228. package/dist/viewerSnapshot.js.map +1 -0
  229. package/dist/wheelZoom.d.ts +8 -3
  230. package/dist/wheelZoom.js +44 -32
  231. package/dist/wheelZoom.js.map +1 -1
  232. package/dist/zoomSnapshot.d.ts +29 -0
  233. package/dist/zoomSnapshot.js +47 -0
  234. package/dist/zoomSnapshot.js.map +1 -0
  235. package/package.json +11 -11
  236. package/src/blosum62.ts +45 -0
  237. package/src/colorSchemes.ts +2 -4
  238. package/src/columnCounts.ts +1 -1
  239. package/src/components/Loading.tsx +25 -14
  240. package/src/components/MSAView.tsx +22 -5
  241. package/src/components/MSAViewer.tsx +275 -251
  242. package/src/components/MetadataTable.tsx +83 -26
  243. package/src/components/ResizeHandles.tsx +9 -2
  244. package/src/components/Track.tsx +15 -1
  245. package/src/components/controls.ts +62 -0
  246. package/src/components/dialogs/AnnotationFileDialog.tsx +16 -21
  247. package/src/components/dialogs/ExportSVGDialog.tsx +8 -19
  248. package/src/components/dialogs/FeatureDialog.tsx +2 -5
  249. package/src/components/dialogs/GapThresholdDialog.tsx +36 -0
  250. package/src/components/{header → dialogs}/GappynessSlider.tsx +3 -10
  251. package/src/components/{header → dialogs}/GoToBox.tsx +36 -10
  252. package/src/components/dialogs/GoToDialog.tsx +30 -0
  253. package/src/components/dialogs/HelpDialog.tsx +79 -0
  254. package/src/components/dialogs/MetadataDialog.tsx +32 -4
  255. package/src/components/{header → dialogs}/goTo.ts +1 -1
  256. package/src/components/dialogs/metadataLabels.ts +54 -0
  257. package/src/components/dialogs/metadataRecord.tsx +61 -0
  258. package/src/components/header/Header.tsx +75 -44
  259. package/src/components/header/HiddenColumnsChip.tsx +39 -0
  260. package/src/components/header/MenuBar.tsx +64 -0
  261. package/src/components/header/ScrollZoomCheckbox.tsx +46 -0
  262. package/src/components/header/ZoomControls.tsx +23 -74
  263. package/src/components/header/colorSchemeMenuItems.ts +121 -0
  264. package/src/components/header/getAnnotationsMenu.ts +52 -56
  265. package/src/components/header/menuBarItems.ts +357 -0
  266. package/src/components/import/ImportForm.tsx +19 -7
  267. package/src/components/import/data/seq2.ts +0 -18
  268. package/src/components/minimap/Minimap.tsx +11 -3
  269. package/src/components/minimap/MinimapSVG.tsx +17 -1
  270. package/src/components/minimap/minimapLayout.ts +27 -0
  271. package/src/components/msa/MSACanvas.tsx +24 -4
  272. package/src/components/msa/MSACanvasBlock.tsx +20 -17
  273. package/src/components/msa/MSAMouseoverCanvas.tsx +2 -2
  274. package/src/components/msa/WheelZoomHint.tsx +56 -0
  275. package/src/components/msa/drawFeatureSpans.ts +160 -79
  276. package/src/components/msa/msaKeys.ts +3 -0
  277. package/src/components/msa/msaRaster.ts +26 -10
  278. package/src/components/msa/renderBoxFeatureCanvasBlock.ts +62 -24
  279. package/src/components/msa/renderHighlights.ts +5 -6
  280. package/src/components/msa/renderMSABlock.ts +51 -15
  281. package/src/components/msa/renderMSAMouseover.ts +5 -1
  282. package/src/components/msa/tileColor.ts +7 -0
  283. package/src/components/renderCtx.ts +0 -1
  284. package/src/components/rowpanels/RowPanelBlock.tsx +2 -2
  285. package/src/components/rowpanels/renderFeaturePanel.ts +26 -7
  286. package/src/components/settings/MenuItemsForm.tsx +225 -0
  287. package/src/components/settings/SettingsPanel.tsx +156 -0
  288. package/src/components/settings/TrackList.tsx +119 -0
  289. package/src/components/tracks/TrackBlocks.tsx +2 -2
  290. package/src/components/tracks/drawTracks.ts +5 -5
  291. package/src/components/tree/CladeLabels.tsx +30 -54
  292. package/src/components/tree/TreeCanvasBlock.tsx +2 -2
  293. package/src/components/tree/TreeMenu.tsx +4 -6
  294. package/src/components/tree/TreeOverview.tsx +2 -2
  295. package/src/components/tree/cladeBrackets.ts +50 -3
  296. package/src/components/tree/renderTreeCanvas.ts +2 -13
  297. package/src/components/tree/renderTreeOverview.ts +7 -14
  298. package/src/constants.ts +9 -1
  299. package/src/darkReader.ts +57 -0
  300. package/src/element.ts +37 -64
  301. package/src/exportLayout.ts +134 -0
  302. package/src/featurePanels.ts +269 -0
  303. package/src/filehandleLoader.ts +136 -0
  304. package/src/headlessRenderEnv.ts +24 -11
  305. package/src/hierarchy.ts +5 -88
  306. package/src/index.ts +9 -5
  307. package/src/measureTextCanvas.ts +8 -6
  308. package/src/model/treeModel.ts +9 -3
  309. package/src/model.ts +452 -807
  310. package/src/neighborJoining.ts +1 -42
  311. package/src/renderToSvg.tsx +56 -207
  312. package/src/rerootTree.ts +7 -6
  313. package/src/schemeResidueColor.ts +37 -0
  314. package/src/similarityColors.ts +112 -0
  315. package/src/treeDisplay.ts +278 -0
  316. package/src/types.ts +6 -4
  317. package/src/useWheelScroll.ts +43 -22
  318. package/src/util.ts +3 -0
  319. package/src/version.ts +1 -1
  320. package/src/viewerSnapshot.ts +147 -0
  321. package/src/wheelZoom.ts +55 -33
  322. package/src/zoomSnapshot.ts +80 -0
  323. package/dist/components/header/ColorSchemeMenu.d.ts +0 -12
  324. package/dist/components/header/ColorSchemeMenu.js +0 -37
  325. package/dist/components/header/ColorSchemeMenu.js.map +0 -1
  326. package/dist/components/header/FileMenu.js +0 -66
  327. package/dist/components/header/FileMenu.js.map +0 -1
  328. package/dist/components/header/GappynessSlider.js.map +0 -1
  329. package/dist/components/header/GoToBox.js +0 -31
  330. package/dist/components/header/GoToBox.js.map +0 -1
  331. package/dist/components/header/MSASettingsMenu.d.ts +0 -6
  332. package/dist/components/header/MSASettingsMenu.js +0 -11
  333. package/dist/components/header/MSASettingsMenu.js.map +0 -1
  334. package/dist/components/header/ScrollZoomIcons.d.ts +0 -6
  335. package/dist/components/header/ScrollZoomIcons.js +0 -35
  336. package/dist/components/header/ScrollZoomIcons.js.map +0 -1
  337. package/dist/components/header/TreeSettingsMenu.js +0 -42
  338. package/dist/components/header/TreeSettingsMenu.js.map +0 -1
  339. package/dist/components/header/ZoomMenu.js +0 -37
  340. package/dist/components/header/ZoomMenu.js.map +0 -1
  341. package/dist/components/header/goTo.d.ts +0 -20
  342. package/dist/components/header/goTo.js.map +0 -1
  343. package/dist/components/header/settingsMenuItems.d.ts +0 -4
  344. package/dist/components/header/settingsMenuItems.js +0 -127
  345. package/dist/components/header/settingsMenuItems.js.map +0 -1
  346. package/src/components/header/ColorSchemeMenu.tsx +0 -56
  347. package/src/components/header/FileMenu.tsx +0 -81
  348. package/src/components/header/MSASettingsMenu.tsx +0 -26
  349. package/src/components/header/ScrollZoomIcons.tsx +0 -52
  350. package/src/components/header/TreeSettingsMenu.tsx +0 -60
  351. package/src/components/header/ZoomMenu.tsx +0 -48
  352. package/src/components/header/settingsMenuItems.ts +0 -157
@@ -1,6 +1,5 @@
1
1
  import type { MsaViewModel } from '../../model.ts';
2
2
  import type { Theme } from '@mui/material';
3
- export declare const rasterTileSize = 512;
4
3
  export type RasterCanvas = HTMLCanvasElement | OffscreenCanvas;
5
4
  export interface RasterSpec {
6
5
  rowNames: string[];
@@ -39,7 +38,20 @@ export declare function rasterPixels({ spec, col0, row0, width, height, colStep,
39
38
  toPixel?: (css: string) => number;
40
39
  out?: Uint32Array;
41
40
  }): Uint32Array<ArrayBufferLike>;
42
- export declare function rasterSupported(): boolean;
41
+ /**
42
+ * A canvas off the page, an OffscreenCanvas where there is one, with its 2d
43
+ * context, or undefined where the context fails `usable` (jsdom has none).
44
+ */
45
+ export declare function makeOffscreenCanvas<Ctx>(width: number, height: number, usable: (ctx: unknown) => ctx is Ctx, settings?: CanvasRenderingContext2DSettings): {
46
+ canvas: RasterCanvas;
47
+ ctx: (CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | null | undefined) & Ctx;
48
+ } | undefined;
49
+ /**
50
+ * Whether the alignment background comes from the raster: true while the
51
+ * residue scheme fills the cells, with a 2d context that reads back, which
52
+ * jsdom lacks. renderMSABlock paints each cell otherwise.
53
+ */
54
+ export declare function rasterApplies(model: Pick<MsaViewModel, 'cellFill'>): boolean;
43
55
  /**
44
56
  * Paints the alignment background of one MSA block from cached
45
57
  * one-pixel-per-cell tiles. The tiles do not depend on the zoom level, so a zoom
@@ -2,7 +2,7 @@ import { tileColorFn, tileColorTable } from './tileColor.js';
2
2
  // One raster tile holds this many cells on a side. A tile costs ~10ms to build
3
3
  // and ~1MB to hold, and is then drawn at any zoom for ~1ms, so the cache only
4
4
  // has to be large enough to cover a screen without thrashing.
5
- export const rasterTileSize = 512;
5
+ const rasterTileSize = 512;
6
6
  const maxCachedTiles = 64;
7
7
  const maxThumbnailColumns = 2000;
8
8
  const maxColorCacheEntries = 4096;
@@ -164,16 +164,23 @@ function usableRasterCtx(ctx) {
164
164
  typeof c.clearRect === 'function' &&
165
165
  typeof c.fillRect === 'function');
166
166
  }
167
- function makeRasterCanvas(width, height) {
167
+ /**
168
+ * A canvas off the page, an OffscreenCanvas where there is one, with its 2d
169
+ * context, or undefined where the context fails `usable` (jsdom has none).
170
+ */
171
+ export function makeOffscreenCanvas(width, height, usable, settings) {
168
172
  const canvas = typeof OffscreenCanvas !== 'undefined'
169
173
  ? new OffscreenCanvas(width, height)
170
174
  : typeof document !== 'undefined'
171
175
  ? Object.assign(document.createElement('canvas'), { width, height })
172
176
  : undefined;
173
- const ctx = canvas?.getContext('2d', { willReadFrequently: true });
174
- return usableRasterCtx(ctx)
175
- ? { canvas: canvas, ctx }
176
- : undefined;
177
+ const ctx = canvas?.getContext('2d', settings);
178
+ return usable(ctx) ? { canvas: canvas, ctx } : undefined;
179
+ }
180
+ function makeRasterCanvas(width, height) {
181
+ return makeOffscreenCanvas(width, height, usableRasterCtx, {
182
+ willReadFrequently: true,
183
+ });
177
184
  }
178
185
  function paint(width, height, fill) {
179
186
  const made = makeRasterCanvas(width, height);
@@ -186,11 +193,14 @@ function paint(width, height, fill) {
186
193
  return made.canvas;
187
194
  }
188
195
  let supported;
189
- // jsdom, and any browser without a 2d context, has no raster to draw; the
190
- // per-cell painter in renderMSABlock stays the fallback
191
- export function rasterSupported() {
196
+ /**
197
+ * Whether the alignment background comes from the raster: true while the
198
+ * residue scheme fills the cells, with a 2d context that reads back, which
199
+ * jsdom lacks. renderMSABlock paints each cell otherwise.
200
+ */
201
+ export function rasterApplies(model) {
192
202
  supported ??= !!makeRasterCanvas(1, 1);
193
- return supported;
203
+ return model.cellFill === 'residue' && supported;
194
204
  }
195
205
  const caches = new WeakMap();
196
206
  // Everything a cell's color depends on; a change to any of them starts a fresh
@@ -1 +1 @@
1
- {"version":3,"file":"msaRaster.js","sourceRoot":"","sources":["../../../src/components/msa/msaRaster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"msaRaster.js","sourceRoot":"","sources":["../../../src/components/msa/msaRaster.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
+ import type { HierarchyNode } from '../../hierarchy.ts';
1
2
  import type { MsaViewModel } from '../../model.ts';
3
+ import type { DomainBand, NodeWithIdsAndLength } from '../../types.ts';
2
4
  import type { RenderCtx } from '../renderCtx.ts';
5
+ import type { SpanSource } from './drawFeatureSpans.ts';
3
6
  import type { Theme } from '@mui/material';
4
7
  export declare function renderBoxFeatureCanvasBlock({ model, theme, offsetX, offsetY, ctx, highResScaleFactorOverride, blockSizeXOverride, blockSizeYOverride, }: {
5
8
  offsetX: number;
@@ -11,3 +14,9 @@ export declare function renderBoxFeatureCanvasBlock({ model, theme, offsetX, off
11
14
  blockSizeXOverride?: number;
12
15
  blockSizeYOverride?: number;
13
16
  }): void;
17
+ /**
18
+ * The domain overlay's spans over `leaves`, in alignment pixels: filled rows,
19
+ * an underline bar, or thin sub-rows, as `domainUnderline` and
20
+ * `subFeatureRows` decide.
21
+ */
22
+ export declare function domainOverlaySource(model: MsaViewModel, leaves: HierarchyNode<NodeWithIdsAndLength>[]): SpanSource<DomainBand>;
@@ -3,7 +3,7 @@ import { contrastTextFn } from '../../util.js';
3
3
  import { getVisibleLeaves } from '../getVisibleLeaves.js';
4
4
  import { drawFeatureSpans, spanRows } from './drawFeatureSpans.js';
5
5
  export function renderBoxFeatureCanvasBlock({ model, theme, offsetX, offsetY, ctx, highResScaleFactorOverride, blockSizeXOverride, blockSizeYOverride, }) {
6
- const { blockSize, rowHeight, highResScaleFactor, actuallyShowDomains, subFeatureRows, colWidth, featureColors, featureLabels, segmentLabels, showMsaLetters, domainUnderline, domainBands, } = model;
6
+ const { blockSize, rowHeight, highResScaleFactor, actuallyShowDomains } = model;
7
7
  if (!actuallyShowDomains) {
8
8
  return;
9
9
  }
@@ -13,6 +13,41 @@ export function renderBoxFeatureCanvasBlock({ model, theme, offsetX, offsetY, ct
13
13
  ctx.resetTransform();
14
14
  ctx.scale(k, k);
15
15
  ctx.translate(-offsetX, rowHeight / 2 - offsetY);
16
+ const source = domainOverlaySource(model, getVisibleLeaves({ model, offsetY, blockSizeY: by }));
17
+ const contrastText = contrastTextFn(theme);
18
+ if (model.cellFill === 'residue' && model.domainUnderline) {
19
+ // over residue colors a bar in a categorical color blends into the cells
20
+ // beside it, so a strip of the page background parts it from them
21
+ const { height } = source.layout;
22
+ const halo = theme.palette.background.default;
23
+ drawFeatureSpans({
24
+ ctx,
25
+ ...source,
26
+ layout: { ...source.layout, height: n => height(n) + barHalo },
27
+ colors: new Map([...source.colors.keys()].map(a => [a, { fill: halo, stroke: halo }])),
28
+ labelOf: undefined,
29
+ labelDrawn: undefined,
30
+ contrastText,
31
+ xMin: offsetX,
32
+ xMax: offsetX + bx,
33
+ });
34
+ }
35
+ drawFeatureSpans({
36
+ ctx,
37
+ ...source,
38
+ contrastText,
39
+ xMin: offsetX,
40
+ xMax: offsetX + bx,
41
+ });
42
+ }
43
+ const barHalo = 1.5;
44
+ /**
45
+ * The domain overlay's spans over `leaves`, in alignment pixels: filled rows,
46
+ * an underline bar, or thin sub-rows, as `domainUnderline` and
47
+ * `subFeatureRows` decide.
48
+ */
49
+ export function domainOverlaySource(model, leaves) {
50
+ const { rowHeight, subFeatureRows, colWidth, featureColors, featureLabels, segmentLabels, showMsaLetters, domainUnderline, domainBands, } = model;
16
51
  // the plain and underline modes give every band the same height; a sub-row
17
52
  // band is thinner, and how thin depends on how many lanes its row needs
18
53
  const barHeight = domainUnderline
@@ -28,9 +63,8 @@ export function renderBoxFeatureCanvasBlock({ model, theme, offsetX, offsetY, ct
28
63
  // whole band. Keyed by accession rather than drawn on row 0, because the rows
29
64
  // carrying the gene model are often not the first ones in the alignment
30
65
  const labelled = drawSegmentLabels ? new Set() : undefined;
31
- drawFeatureSpans({
32
- ctx,
33
- rows: spanRows(getVisibleLeaves({ model, offsetY, blockSizeY: by }), domainBands),
66
+ return {
67
+ rows: spanRows(leaves, domainBands),
34
68
  layout: {
35
69
  // sub-rows are thin, but a row whose lanes would spill onto the row below
36
70
  // shares out the row height between them instead
@@ -53,9 +87,6 @@ export function renderBoxFeatureCanvasBlock({ model, theme, offsetX, offsetY, ct
53
87
  ? segmentLabels.get(band.annotation.accession)
54
88
  : undefined),
55
89
  labelDrawn: band => labelled?.add(band.annotation.accession),
56
- contrastText: contrastTextFn(theme),
57
- xMin: offsetX,
58
- xMax: offsetX + bx,
59
- });
90
+ };
60
91
  }
61
92
  //# sourceMappingURL=renderBoxFeatureCanvasBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderBoxFeatureCanvasBlock.js","sourceRoot":"","sources":["../../../src/components/msa/renderBoxFeatureCanvasBlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderBoxFeatureCanvasBlock.js","sourceRoot":"","sources":["../../../src/components/msa/renderBoxFeatureCanvasBlock.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
1
  import type { MsaViewModel } from '../../model.ts';
2
2
  import type { RenderCtx } from '../renderCtx.ts';
3
3
  import type { Theme } from '@mui/material';
4
- export declare const highlightFill = "rgba(255,140,0,0.28)";
5
- export declare const highlightBorder = "rgba(210,90,0,0.95)";
6
4
  export declare const highlightRowFill = "rgba(255,140,0,0.18)";
7
- export declare const labelFontSize = 11;
8
5
  export declare const highlightLabelHeight: number;
9
6
  export interface LabelBox {
10
7
  left: number;
@@ -67,8 +64,8 @@ export declare function renderSelection({ ctx, model, offsetX, offsetY, height,
67
64
  }): void;
68
65
  /**
69
66
  * The overlay parts that come from the snapshot: the reference row's tint, a
70
- * bordered band per run of highlighted columns, the `highlights` layer and the
71
- * selected block. The live overlay draws these under its hover and click
67
+ * bordered band per run of highlighted columns and the `highlights` layer. The
68
+ * live overlay draws these under the selected block and its hover and click
72
69
  * bands; the SVG export draws only these.
73
70
  */
74
71
  export declare function renderPersistentHighlights({ ctx, model, theme, offsetX, offsetY, width, height, }: {
@@ -2,10 +2,10 @@ import { setFontSize } from '../../setFontSize.js';
2
2
  import { referenceColor, selectionBorder, selectionFill, } from '../overlayColors.js';
3
3
  // a fill plus a solid border; the hover wash alone is invisible over clustalx
4
4
  // coloring
5
- export const highlightFill = 'rgba(255,140,0,0.28)';
6
- export const highlightBorder = 'rgba(210,90,0,0.95)';
5
+ const highlightFill = 'rgba(255,140,0,0.28)';
6
+ const highlightBorder = 'rgba(210,90,0,0.95)';
7
7
  export const highlightRowFill = 'rgba(255,140,0,0.18)';
8
- export const labelFontSize = 11;
8
+ const labelFontSize = 11;
9
9
  const labelPad = 3;
10
10
  // the label box above a highlight band; tree blocks also check rows this far
11
11
  // outside themselves
@@ -137,8 +137,8 @@ export function renderSelection({ ctx, model, offsetX, offsetY, height, }) {
137
137
  }
138
138
  /**
139
139
  * The overlay parts that come from the snapshot: the reference row's tint, a
140
- * bordered band per run of highlighted columns, the `highlights` layer and the
141
- * selected block. The live overlay draws these under its hover and click
140
+ * bordered band per run of highlighted columns and the `highlights` layer. The
141
+ * live overlay draws these under the selected block and its hover and click
142
142
  * bands; the SVG export draws only these.
143
143
  */
144
144
  export function renderPersistentHighlights({ ctx, model, theme, offsetX, offsetY, width, height, }) {
@@ -157,6 +157,5 @@ export function renderPersistentHighlights({ ctx, model, theme, offsetX, offsetY
157
157
  ctx.strokeRect(x, 0, w, height);
158
158
  }
159
159
  renderHighlights({ ctx, model, theme, offsetX, offsetY, width, height });
160
- renderSelection({ ctx, model, offsetX, offsetY, height });
161
160
  }
162
161
  //# sourceMappingURL=renderHighlights.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderHighlights.js","sourceRoot":"","sources":["../../../src/components/msa/renderHighlights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EACL,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,qBAAqB,CAAA;AAM5B,8EAA8E;AAC9E,WAAW;AACX,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,CAAA;AACnD,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAA;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAA;AAEtD,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAA;AAC/B,MAAM,QAAQ,GAAG,CAAC,CAAA;AAClB,6EAA6E;AAC7E,qBAAqB;AACrB,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,GAAG,QAAQ,GAAG,CAAC,CAAA;AAShE;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,GAAG,EACH,KAAK,EACL,KAAK,EACL,CAAC,EACD,CAAC,EACD,SAAS,EACT,MAAM,EACN,MAAM,GAUP;IACC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IAC/B,GAAG,CAAC,SAAS,GAAG,OAAO,CAAA;IACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAA;IAC5D,MAAM,SAAS,GAAG,oBAAoB,CAAA;IACtC,IAAI,IAAI,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAA;IACxD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAA;IACpE,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,CAAC,GAAa,EAAE,EAAE,CACjC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,QAAQ;YAC1B,GAAG,CAAC,KAAK,GAAG,IAAI;YAChB,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS;YACzB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAA;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,GAAG,IAAI,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,SAAS,EAAE,CAAC,CAAA;IAC7E,CAAC;IACD,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAA;IAC9C,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAA;IAC1C,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,QAAQ,EAAE,GAAG,GAAG,QAAQ,GAAG,aAAa,GAAG,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,GASP;IACC,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GACzE,KAAK,CAAA;IACP,MAAM,MAAM,GAAe,EAAE,CAAA;IAC7B,GAAG,CAAC,SAAS,GAAG,CAAC,CAAA;IACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAA;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;QAChC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC,CAAA;IACD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,cAAc,EAAE,CAAC;QACnD,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;YACtE,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;YACrB,GAAG,CAAC,QAAQ,CACV,CAAC,EACD,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,EAC7B,KAAK,EACL,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CACpC,CAAA;QACH,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,KACE,IAAI,KAAK,GAAG,QAAQ,EACpB,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAC/C,KAAK,EAAE,EACP,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;gBACrB,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACvD,GAAG,CAAC,SAAS,GAAG,KAAK,IAAI,gBAAgB,CAAA;QACzC,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACpE,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACnD,SAAQ;QACV,CAAC;QACD,MAAM,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;QACvC,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAA;QACpD,GAAG,CAAC,SAAS,GAAG,KAAK,IAAI,aAAa,CAAA;QACtC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QACrC,GAAG,CAAC,WAAW,GAAG,KAAK,IAAI,eAAe,CAAA;QAC1C,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,kBAAkB,CAAC;gBACjB,GAAG;gBACH,KAAK;gBACL,KAAK;gBACL,CAAC;gBACD,CAAC,EAAE,CAAC;gBACJ,SAAS;gBACT,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE;gBAC9B,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,GAAG,EACH,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,GAOP;IACC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAM;IACR,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAA;IACvD,MAAM,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IACvC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAA;IAC5C,GAAG,CAAC,SAAS,GAAG,CAAC,CAAA;IACjB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAA;QACrC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAA;QACxC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,SAAS,GAAG,aAAa,CAAA;YAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACxB,GAAG,CAAC,WAAW,GAAG,eAAe,CAAA;YACjC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,EACzC,GAAG,EACH,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,GASP;IACC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GACrE,KAAK,CAAA;IAEP,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,GAAG,CAAC,SAAS,GAAG,cAAc,CAAA;QAC9B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAC5E,CAAC;IAED,GAAG,CAAC,SAAS,GAAG,CAAC,CAAA;IACjB,KAAK,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,qBAAqB,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAA;QACtC,GAAG,CAAC,SAAS,GAAG,aAAa,CAAA;QAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;QAC7B,GAAG,CAAC,WAAW,GAAG,eAAe,CAAA;QACjC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;IAED,gBAAgB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IACxE,eAAe,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;AAC3D,CAAC"}
1
+ {"version":3,"file":"renderHighlights.js","sourceRoot":"","sources":["../../../src/components/msa/renderHighlights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EACL,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,qBAAqB,CAAA;AAM5B,8EAA8E;AAC9E,WAAW;AACX,MAAM,aAAa,GAAG,sBAAsB,CAAA;AAC5C,MAAM,eAAe,GAAG,qBAAqB,CAAA;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAA;AAEtD,MAAM,aAAa,GAAG,EAAE,CAAA;AACxB,MAAM,QAAQ,GAAG,CAAC,CAAA;AAClB,6EAA6E;AAC7E,qBAAqB;AACrB,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,GAAG,QAAQ,GAAG,CAAC,CAAA;AAShE;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,GAAG,EACH,KAAK,EACL,KAAK,EACL,CAAC,EACD,CAAC,EACD,SAAS,EACT,MAAM,EACN,MAAM,GAUP;IACC,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IAC/B,GAAG,CAAC,SAAS,GAAG,OAAO,CAAA;IACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAA;IAC5D,MAAM,SAAS,GAAG,oBAAoB,CAAA;IACtC,IAAI,IAAI,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAA;IACxD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAA;IACpE,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,CAAC,GAAa,EAAE,EAAE,CACjC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,QAAQ;YAC1B,GAAG,CAAC,KAAK,GAAG,IAAI;YAChB,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,SAAS;YACzB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAA;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,GAAG,IAAI,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,SAAS,EAAE,CAAC,CAAA;IAC7E,CAAC;IACD,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAA;IAC9C,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5C,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAA;IAC1C,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,QAAQ,EAAE,GAAG,GAAG,QAAQ,GAAG,aAAa,GAAG,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,GASP;IACC,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GACzE,KAAK,CAAA;IACP,MAAM,MAAM,GAAe,EAAE,CAAA;IAC7B,GAAG,CAAC,SAAS,GAAG,CAAC,CAAA;IACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAA;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;QAChC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC,CAAA;IACD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,cAAc,EAAE,CAAC;QACnD,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;YACtE,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;YACrB,GAAG,CAAC,QAAQ,CACV,CAAC,EACD,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,EAC7B,KAAK,EACL,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CACpC,CAAA;QACH,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,KACE,IAAI,KAAK,GAAG,QAAQ,EACpB,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAC/C,KAAK,EAAE,EACP,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;gBACrB,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACvD,GAAG,CAAC,SAAS,GAAG,KAAK,IAAI,gBAAgB,CAAA;QACzC,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACpE,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACnD,SAAQ;QACV,CAAC;QACD,MAAM,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;QACvC,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAA;QACpD,GAAG,CAAC,SAAS,GAAG,KAAK,IAAI,aAAa,CAAA;QACtC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QACrC,GAAG,CAAC,WAAW,GAAG,KAAK,IAAI,eAAe,CAAA;QAC1C,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,kBAAkB,CAAC;gBACjB,GAAG;gBACH,KAAK;gBACL,KAAK;gBACL,CAAC;gBACD,CAAC,EAAE,CAAC;gBACJ,SAAS;gBACT,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE;gBAC9B,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,GAAG,EACH,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,GAOP;IACC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAM;IACR,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAA;IACvD,MAAM,CAAC,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;IACvC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAA;IAC5C,GAAG,CAAC,SAAS,GAAG,CAAC,CAAA;IACjB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAA;QACrC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAA;QACxC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,SAAS,GAAG,aAAa,CAAA;YAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACxB,GAAG,CAAC,WAAW,GAAG,eAAe,CAAA;YACjC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,EACzC,GAAG,EACH,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,GASP;IACC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GACrE,KAAK,CAAA;IAEP,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,GAAG,CAAC,SAAS,GAAG,cAAc,CAAA;QAC9B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,iBAAiB,GAAG,SAAS,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAC5E,CAAC;IAED,GAAG,CAAC,SAAS,GAAG,CAAC,CAAA;IACjB,KAAK,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,qBAAqB,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAA;QACtC,GAAG,CAAC,SAAS,GAAG,aAAa,CAAA;QAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;QAC7B,GAAG,CAAC,WAAW,GAAG,eAAe,CAAA;QACjC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;IAED,gBAAgB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAC1E,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { MsaViewModel } from '../../model.ts';
2
2
  import type { RenderCtx } from '../renderCtx.ts';
3
3
  import type { Theme } from '@mui/material';
4
- export declare function renderMSABlock({ model, offsetX, offsetY, ctx, theme, highResScaleFactorOverride, blockSizeXOverride, blockSizeYOverride, rasterTiles, }: {
4
+ export declare function renderMSABlock({ model, offsetX, offsetY, ctx, theme, highResScaleFactorOverride, blockSizeXOverride, blockSizeYOverride, rasterTiles, domains, }: {
5
5
  offsetX: number;
6
6
  offsetY: number;
7
7
  theme: Theme;
@@ -11,4 +11,9 @@ export declare function renderMSABlock({ model, offsetX, offsetY, ctx, theme, hi
11
11
  blockSizeXOverride?: number;
12
12
  blockSizeYOverride?: number;
13
13
  rasterTiles?: boolean;
14
+ /**
15
+ * draw the domain overlay too, over the cell colors and under the letters,
16
+ * which is the one order every cell fill reads right in
17
+ */
18
+ domains?: boolean;
14
19
  }): void;
@@ -1,20 +1,25 @@
1
+ import { zoomFrameMaxLetters } from '../../constants.js';
1
2
  import { setFontSize } from '../../setFontSize.js';
2
3
  import { adjustColorForContrast, contrastTextFn } from '../../util.js';
3
4
  import { getVisibleLeaves } from '../getVisibleLeaves.js';
4
5
  import { domainBandCursor } from './domainBandCursor.js';
6
+ import { renderBoxFeatureCanvasBlock } from './renderBoxFeatureCanvasBlock.js';
5
7
  import { tileColorFn } from './tileColor.js';
6
8
  import { visibleColRange } from './visibleColRange.js';
7
- export function renderMSABlock({ model, offsetX, offsetY, ctx, theme, highResScaleFactorOverride, blockSizeXOverride, blockSizeYOverride, rasterTiles, }) {
8
- const { colWidth, blockSize, rowHeight, fontSize, highResScaleFactor, actuallyShowDomains, bgColor, } = model;
9
+ export function renderMSABlock({ model, offsetX, offsetY, ctx, theme, highResScaleFactorOverride, blockSizeXOverride, blockSizeYOverride, rasterTiles, domains, }) {
10
+ const { colWidth, blockSize, rowHeight, fontSize, highResScaleFactor, cellFill, bgColor, } = model;
9
11
  const k = highResScaleFactorOverride ?? highResScaleFactor;
10
12
  const bx = blockSizeXOverride ?? blockSize;
11
13
  const by = blockSizeYOverride ?? blockSize;
12
- ctx.resetTransform();
13
- ctx.scale(k, k);
14
- ctx.translate(-offsetX, rowHeight / 2 - offsetY);
15
- ctx.textAlign = 'center';
16
- ctx.textBaseline = 'alphabetic';
17
- setFontSize(ctx, fontSize, !bgColor);
14
+ const setup = () => {
15
+ ctx.resetTransform();
16
+ ctx.scale(k, k);
17
+ ctx.translate(-offsetX, rowHeight / 2 - offsetY);
18
+ ctx.textAlign = 'center';
19
+ ctx.textBaseline = 'alphabetic';
20
+ setFontSize(ctx, fontSize, !bgColor);
21
+ };
22
+ setup();
18
23
  const { xStart, xEnd } = visibleColRange({
19
24
  offsetX,
20
25
  blockWidth: bx,
@@ -25,7 +30,7 @@ export function renderMSABlock({ model, offsetX, offsetY, ctx, theme, highResSca
25
30
  const referenceSeq = relativeTo
26
31
  ? columns.get(relativeTo)?.slice(xStart, xEnd)
27
32
  : null;
28
- drawTilesAndText({
33
+ const cells = {
29
34
  model,
30
35
  ctx,
31
36
  theme,
@@ -33,13 +38,34 @@ export function renderMSABlock({ model, offsetX, offsetY, ctx, theme, highResSca
33
38
  xEnd,
34
39
  visibleLeaves,
35
40
  referenceSeq,
36
- // when domains are shown the background tiles come from
41
+ // when the domains fill the cells the background comes from
37
42
  // renderBoxFeatureCanvasBlock, so only the letters are drawn here
38
- drawTiles: !actuallyShowDomains,
43
+ drawTiles: cellFill !== 'domain',
39
44
  // ...and when the caller has already laid the raster down, the tiles are
40
45
  // there but nothing here has to paint them
41
46
  rasterTiles,
42
- });
47
+ letters: model.showMsaLetters &&
48
+ (!model.wheelZooming ||
49
+ (bx * by) / (colWidth * rowHeight) <= zoomFrameMaxLetters),
50
+ };
51
+ if (domains) {
52
+ drawTilesAndText({ ...cells, pass: 'tiles' });
53
+ renderBoxFeatureCanvasBlock({
54
+ model,
55
+ theme,
56
+ ctx,
57
+ offsetX,
58
+ offsetY,
59
+ highResScaleFactorOverride,
60
+ blockSizeXOverride,
61
+ blockSizeYOverride,
62
+ });
63
+ setup();
64
+ drawTilesAndText({ ...cells, pass: 'letters' });
65
+ }
66
+ else {
67
+ drawTilesAndText({ ...cells, pass: 'both' });
68
+ }
43
69
  drawInsertionIndicators({
44
70
  model,
45
71
  ctx,
@@ -49,11 +75,12 @@ export function renderMSABlock({ model, offsetX, offsetY, ctx, theme, highResSca
49
75
  });
50
76
  ctx.resetTransform();
51
77
  }
52
- function drawTilesAndText({ model, ctx, theme, visibleLeaves, xStart, xEnd, referenceSeq, drawTiles, rasterTiles, }) {
53
- const { bgColor, columns, colWidth, rowHeight, fontSize, relativeTo, showMsaLetters, subFeatureRows, domainUnderline, domainBandsByStart, featureColors, } = model;
78
+ function drawTilesAndText({ model, ctx, theme, visibleLeaves, xStart, xEnd, referenceSeq, drawTiles, rasterTiles, letters: lettersOn, pass, }) {
79
+ const { bgColor, columns, colWidth, rowHeight, fontSize, relativeTo, subFeatureRows, domainUnderline, domainBandsByStart, featureColors, } = model;
54
80
  const tiles = drawTiles && bgColor;
55
- const paintTiles = tiles && !rasterTiles;
56
- if (paintTiles || showMsaLetters) {
81
+ const paintTiles = tiles && !rasterTiles && pass !== 'letters';
82
+ const letters = lettersOn && pass !== 'tiles';
83
+ if (paintTiles || letters) {
57
84
  const tileColor = tileColorFn(model);
58
85
  // Domain fills come from a categorical palette with no fixed lightness, and
59
86
  // a dynamic scheme colors a cell from its column, so a readable letter color
@@ -91,7 +118,7 @@ function drawTilesAndText({ model, ctx, theme, visibleLeaves, xStart, xEnd, refe
91
118
  : color || theme.palette.background.default;
92
119
  ctx.fillRect(x, tileY, colWidth, rowHeight);
93
120
  }
94
- if (showMsaLetters) {
121
+ if (letters) {
95
122
  const covering = bandAt(col);
96
123
  ctx.fillStyle = covering
97
124
  ? // on top of a domain box: contrast against the box fill
@@ -1 +1 @@
1
- {"version":3,"file":"renderMSABlock.js","sourceRoot":"","sources":["../../../src/components/msa/renderMSABlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderMSABlock.js","sourceRoot":"","sources":["../../../src/components/msa/renderMSABlock.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { clickColor, hoverColor, multiRowHoverColor } from '../overlayColors.js';
2
- import { renderPersistentHighlights } from './renderHighlights.js';
2
+ import { renderPersistentHighlights, renderSelection, } from './renderHighlights.js';
3
3
  export function renderMouseover({ ctx, model, theme, }) {
4
4
  const { mouseCol, colWidth, msaCanvasWidth: width, height, rowHeight, scrollX, scrollY, mouseRow, mouseClickRow, mouseClickCol, highResScaleFactor, hoveredRowIndices, } = model;
5
5
  ctx.resetTransform();
@@ -22,6 +22,7 @@ export function renderMouseover({ ctx, model, theme, }) {
22
22
  width,
23
23
  height,
24
24
  });
25
+ renderSelection({ ctx, model, offsetX: -scrollX, offsetY: -scrollY, height });
25
26
  // every tip under a hovered tree node stays lit
26
27
  ctx.fillStyle = multiRowHoverColor;
27
28
  for (const rowIndex of hoveredRowIndices) {
@@ -1 +1 @@
1
- {"version":3,"file":"renderMSAMouseover.js","sourceRoot":"","sources":["../../../src/components/msa/renderMSAMouseover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AAKlE,MAAM,UAAU,eAAe,CAAC,EAC9B,GAAG,EACH,KAAK,EACL,KAAK,GAKN;IACC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,cAAc,EAAE,KAAK,EACrB,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,EACP,QAAQ,EACR,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,iBAAiB,GAClB,GAAG,KAAK,CAAA;IACT,GAAG,CAAC,cAAc,EAAE,CAAA;IACpB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,kBAAkB,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAA;IAC5E,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;IAEjD,8EAA8E;IAC9E,oEAAoE;IACpE,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;QAChC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;QAChC,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,GAAG,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC/D,CAAC,CAAA;IAED,0BAA0B,CAAC;QACzB,GAAG;QACH,KAAK;QACL,KAAK;QACL,OAAO,EAAE,CAAC,OAAO;QACjB,OAAO,EAAE,CAAC,OAAO;QACjB,KAAK;QACL,MAAM;KACP,CAAC,CAAA;IAEF,gDAAgD;IAChD,GAAG,CAAC,SAAS,GAAG,kBAAkB,CAAA;IAClC,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC;IAED,GAAG,CAAC,SAAS,GAAG,UAAU,CAAA;IAC1B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC;IACD,GAAG,CAAC,SAAS,GAAG,UAAU,CAAA;IAC1B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,aAAa,CAAC,CAAA;IACxB,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,aAAa,CAAC,CAAA;IACxB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"renderMSAMouseover.js","sourceRoot":"","sources":["../../../src/components/msa/renderMSAMouseover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,EACL,0BAA0B,EAC1B,eAAe,GAChB,MAAM,uBAAuB,CAAA;AAK9B,MAAM,UAAU,eAAe,CAAC,EAC9B,GAAG,EACH,KAAK,EACL,KAAK,GAKN;IACC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,cAAc,EAAE,KAAK,EACrB,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,EACP,QAAQ,EACR,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,iBAAiB,GAClB,GAAG,KAAK,CAAA;IACT,GAAG,CAAC,cAAc,EAAE,CAAA;IACpB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,kBAAkB,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAA;IAC5E,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;IAEjD,8EAA8E;IAC9E,oEAAoE;IACpE,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;QAChC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;QAChC,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,GAAG,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC/D,CAAC,CAAA;IAED,0BAA0B,CAAC;QACzB,GAAG;QACH,KAAK;QACL,KAAK;QACL,OAAO,EAAE,CAAC,OAAO;QACjB,OAAO,EAAE,CAAC,OAAO;QACjB,KAAK;QACL,MAAM;KACP,CAAC,CAAA;IACF,eAAe,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;IAE7E,gDAAgD;IAChD,GAAG,CAAC,SAAS,GAAG,kBAAkB,CAAA;IAClC,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC;IAED,GAAG,CAAC,SAAS,GAAG,UAAU,CAAA;IAC1B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC;IACD,GAAG,CAAC,SAAS,GAAG,UAAU,CAAA;IAC1B,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,aAAa,CAAC,CAAA;IACxB,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,aAAa,CAAC,CAAA;IACxB,CAAC;AACH,CAAC"}
@@ -7,6 +7,10 @@ export function tileColorFn(model) {
7
7
  const { colClustalX } = model;
8
8
  return (col, letter) => colClustalX[col][letter];
9
9
  }
10
+ if (dynamicColorSchemeName === 'blosum62_dynamic') {
11
+ const { colSimilarity } = model;
12
+ return (col, letter) => colSimilarity[col][letter];
13
+ }
10
14
  if (dynamicColorSchemeName === 'percent_identity_dynamic') {
11
15
  const { colConsensus } = model;
12
16
  return (col, letter) => {
@@ -25,6 +29,9 @@ export function tileColorTable(model) {
25
29
  if (dynamicColorSchemeName === 'clustalx_protein_dynamic') {
26
30
  return model.colClustalX;
27
31
  }
32
+ if (dynamicColorSchemeName === 'blosum62_dynamic') {
33
+ return model.colSimilarity;
34
+ }
28
35
  if (dynamicColorSchemeName === 'percent_identity_dynamic') {
29
36
  return model.colConsensus;
30
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tileColor.js","sourceRoot":"","sources":["../../../src/components/msa/tileColor.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,0EAA0E;AAC1E,cAAc;AACd,MAAM,UAAU,WAAW,CAAC,KAAmB;IAC7C,MAAM,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAA;IACxC,IAAI,sBAAsB,KAAK,0BAA0B,EAAE,CAAC;QAC1D,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;QAC7B,OAAO,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC,MAAM,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,sBAAsB,KAAK,0BAA0B,EAAE,CAAC;QAC1D,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAA;QAC9B,OAAO,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE;YACrC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAE,CAAA;YACpC,OAAO,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;QAClE,CAAC,CAAA;IACH,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IAC7B,OAAO,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;AAC9D,CAAC;AAED,gFAAgF;AAChF,+EAA+E;AAC/E,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,MAAM,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAA;IACxC,IAAI,sBAAsB,KAAK,0BAA0B,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC,WAAW,CAAA;IAC1B,CAAC;IACD,IAAI,sBAAsB,KAAK,0BAA0B,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC,YAAY,CAAA;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC,WAAW,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"tileColor.js","sourceRoot":"","sources":["../../../src/components/msa/tileColor.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,0EAA0E;AAC1E,cAAc;AACd,MAAM,UAAU,WAAW,CAAC,KAAmB;IAC7C,MAAM,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAA;IACxC,IAAI,sBAAsB,KAAK,0BAA0B,EAAE,CAAC;QAC1D,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;QAC7B,OAAO,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC,MAAM,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,sBAAsB,KAAK,kBAAkB,EAAE,CAAC;QAClD,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;QAC/B,OAAO,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAE,CAAC,MAAM,CAAC,CAAA;IACrE,CAAC;IACD,IAAI,sBAAsB,KAAK,0BAA0B,EAAE,CAAC;QAC1D,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAA;QAC9B,OAAO,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE;YACrC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAE,CAAA;YACpC,OAAO,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;QAClE,CAAC,CAAA;IACH,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;IAC7B,OAAO,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;AAC9D,CAAC;AAED,gFAAgF;AAChF,+EAA+E;AAC/E,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,MAAM,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAA;IACxC,IAAI,sBAAsB,KAAK,0BAA0B,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC,WAAW,CAAA;IAC1B,CAAC;IACD,IAAI,sBAAsB,KAAK,kBAAkB,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC,aAAa,CAAA;IAC5B,CAAC;IACD,IAAI,sBAAsB,KAAK,0BAA0B,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC,YAAY,CAAA;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC,WAAW,CAAA;AAC1B,CAAC"}
@@ -4,4 +4,4 @@
4
4
  * SVG export) satisfy this, so renderers can be typed against it without an
5
5
  * `as any` cast at the SVG-export boundary.
6
6
  */
7
- export type RenderCtx = Pick<CanvasRenderingContext2D, 'arc' | 'beginPath' | 'clearRect' | 'closePath' | 'fill' | 'fillRect' | 'fillStyle' | 'fillText' | 'font' | 'lineTo' | 'lineWidth' | 'measureText' | 'moveTo' | 'quadraticCurveTo' | 'resetTransform' | 'restore' | 'save' | 'scale' | 'setLineDash' | 'stroke' | 'strokeRect' | 'strokeStyle' | 'textAlign' | 'textBaseline' | 'translate'>;
7
+ export type RenderCtx = Pick<CanvasRenderingContext2D, 'arc' | 'beginPath' | 'closePath' | 'fill' | 'fillRect' | 'fillStyle' | 'fillText' | 'font' | 'lineTo' | 'lineWidth' | 'measureText' | 'moveTo' | 'quadraticCurveTo' | 'resetTransform' | 'restore' | 'save' | 'scale' | 'setLineDash' | 'stroke' | 'strokeRect' | 'strokeStyle' | 'textAlign' | 'textBaseline' | 'translate'>;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import BaseTooltip from '@jbrowse/core/ui/BaseTooltip';
3
- import { useTheme } from '@mui/material';
4
3
  import { observer } from 'mobx-react';
4
+ import { useCanvasTheme } from '../../darkReader.js';
5
5
  import { featureField, featureName } from '../../featureFields.js';
6
6
  import { useCanvasAutorun } from '../../useCanvasAutorun.js';
7
7
  import { useHoverAnchor } from '../useHoverAnchor.js';
@@ -35,7 +35,7 @@ function hoverLines({ model, panel, name, x, }) {
35
35
  }
36
36
  const RowPanelBlock = observer(function ({ model, panel, offsetY, }) {
37
37
  const { anchor, hoverAt, clearAnchor } = useHoverAnchor();
38
- const theme = useTheme();
38
+ const theme = useCanvasTheme();
39
39
  const { blockSize, highResScaleFactor, rowHeight } = model;
40
40
  const width = panel.width;
41
41
  const height = blockSize;