loom-browser 0.0.1 → 0.0.3

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 (192) hide show
  1. package/dist/loom.esm.js +27 -21
  2. package/dist/loom.esm.min.js +1 -1
  3. package/dist/loom.esm.min.js.map +1 -1
  4. package/dist/loom.js +27 -21
  5. package/dist/loom.min.js +1 -1
  6. package/dist/loom.min.js.map +1 -1
  7. package/dist/types/commandDispatcher.d.ts +22 -1
  8. package/dist/types/gtx/zstdWasm.d.ts +4 -1
  9. package/dist/types/gtx/zstdWasmInlined.d.ts +6 -0
  10. package/dist/types/index.d.ts +1 -1
  11. package/dist/types/remoteProtocol.d.ts +2 -0
  12. package/package.json +8 -2
  13. package/dist/igv.d.ts +0 -667
  14. package/dist/igv.esm.js +0 -76708
  15. package/dist/igv.esm.min.js +0 -26
  16. package/dist/igv.esm.min.js.map +0 -1
  17. package/dist/igv.js +0 -76716
  18. package/dist/igv.min.js +0 -26
  19. package/dist/igv.min.js.map +0 -1
  20. package/dist/loom.d.ts +0 -667
  21. package/dist/types/agent/index.d.ts +0 -4
  22. package/dist/types/agent/stateProjection.d.ts +0 -115
  23. package/dist/types/agent/trackSelector.d.ts +0 -31
  24. package/dist/types/baseTrackCanvas.d.ts +0 -62
  25. package/dist/types/bigwig/binaryParser.d.ts +0 -25
  26. package/dist/types/bigwig/bpTree.d.ts +0 -40
  27. package/dist/types/bigwig/bwReader.d.ts +0 -69
  28. package/dist/types/bigwig/chromTree.d.ts +0 -28
  29. package/dist/types/bigwig/inflate.d.ts +0 -9
  30. package/dist/types/bigwig/rangeReader.d.ts +0 -48
  31. package/dist/types/bigwig/rpTree.d.ts +0 -27
  32. package/dist/types/dataSources/dynseqDataSource.d.ts +0 -20
  33. package/dist/types/dynseqRenderer.d.ts +0 -37
  34. package/dist/types/geneRenderer.d.ts +0 -17
  35. package/dist/types/geneThemes.d.ts +0 -11
  36. package/dist/types/geneTrackCanvas.d.ts +0 -46
  37. package/dist/types/renderTheme.d.ts +0 -72
  38. package/dist/types/renderThemePresets.d.ts +0 -16
  39. package/dist/types/rulerRenderer.d.ts +0 -14
  40. package/dist/types/rulerTrackCanvas.d.ts +0 -32
  41. package/dist/types/src/bigwig/index.d.ts +0 -66
  42. package/dist/types/src/canvasProvider.d.ts +0 -36
  43. package/dist/types/src/commandDispatcher.d.ts +0 -220
  44. package/dist/types/src/contextMenu.d.ts +0 -64
  45. package/dist/types/src/contextMenuProvider.d.ts +0 -25
  46. package/dist/types/src/data/cachedSequence.d.ts +0 -19
  47. package/dist/types/src/data/ucscApi.d.ts +0 -21
  48. package/dist/types/src/data/ucscSequence.d.ts +0 -19
  49. package/dist/types/src/dataLifecycle.d.ts +0 -16
  50. package/dist/types/src/dataSources/bigWigDataSource.d.ts +0 -24
  51. package/dist/types/src/dataSources/dataSourceCacheKey.d.ts +0 -9
  52. package/dist/types/src/dataSources/featureSourceFactory.d.ts +0 -46
  53. package/dist/types/src/dataSources/geneDataSource.d.ts +0 -16
  54. package/dist/types/src/dataSources/gtxDataSource.d.ts +0 -42
  55. package/dist/types/src/dataSources/sequenceDataSource.d.ts +0 -15
  56. package/dist/types/src/dataSources/textFeatureSource.d.ts +0 -63
  57. package/dist/types/src/decode/bed.d.ts +0 -64
  58. package/dist/types/src/decode/bedpe.d.ts +0 -36
  59. package/dist/types/src/decode/exonUtils.d.ts +0 -29
  60. package/dist/types/src/decode/gff.d.ts +0 -58
  61. package/dist/types/src/decode/interact.d.ts +0 -19
  62. package/dist/types/src/decode/ucsc.d.ts +0 -56
  63. package/dist/types/src/events.d.ts +0 -23
  64. package/dist/types/src/export/canvas2svg.d.ts +0 -166
  65. package/dist/types/src/export/index.d.ts +0 -2
  66. package/dist/types/src/featureCache.d.ts +0 -69
  67. package/dist/types/src/formats/featureParser.d.ts +0 -72
  68. package/dist/types/src/formats/formatDetection.d.ts +0 -46
  69. package/dist/types/src/genome/chromAlias.d.ts +0 -46
  70. package/dist/types/src/genome/chromSizes.d.ts +0 -53
  71. package/dist/types/src/genome/genome.d.ts +0 -51
  72. package/dist/types/src/genomeBrowser.d.ts +0 -189
  73. package/dist/types/src/gtx/fetchCoordinator.d.ts +0 -34
  74. package/dist/types/src/gtx/gtxReader.d.ts +0 -144
  75. package/dist/types/src/gtx/index.d.ts +0 -40
  76. package/dist/types/src/gtx/zstdWasm.d.ts +0 -22
  77. package/dist/types/src/headlessGenomeBrowser.d.ts +0 -450
  78. package/dist/types/src/index.d.ts +0 -123
  79. package/dist/types/src/intervalTree.d.ts +0 -56
  80. package/dist/types/src/io/binaryParser.d.ts +0 -25
  81. package/dist/types/src/io/index.d.ts +0 -7
  82. package/dist/types/src/io/rangeReader.d.ts +0 -48
  83. package/dist/types/src/locusUtils.d.ts +0 -37
  84. package/dist/types/src/pack.d.ts +0 -41
  85. package/dist/types/src/popupProvider.d.ts +0 -22
  86. package/dist/types/src/remoteProtocol.d.ts +0 -81
  87. package/dist/types/src/roi/index.d.ts +0 -3
  88. package/dist/types/src/roi/roiRenderer.d.ts +0 -24
  89. package/dist/types/src/roi/roiSet.d.ts +0 -41
  90. package/dist/types/src/sequence/sequenceUtils.d.ts +0 -44
  91. package/dist/types/src/session.d.ts +0 -55
  92. package/dist/types/src/stateProjection.d.ts +0 -115
  93. package/dist/types/src/tabix/index.d.ts +0 -48
  94. package/dist/types/src/themes/index.d.ts +0 -3
  95. package/dist/types/src/themes/renderTheme.d.ts +0 -86
  96. package/dist/types/src/themes/renderThemePresets.d.ts +0 -16
  97. package/dist/types/src/trackRegistry.d.ts +0 -81
  98. package/dist/types/src/trackSelector.d.ts +0 -31
  99. package/dist/types/src/tracks/annotation/annotationRenderer.d.ts +0 -17
  100. package/dist/types/src/tracks/annotation/annotationThemes.d.ts +0 -11
  101. package/dist/types/src/tracks/annotation/annotationTrackCanvas.d.ts +0 -58
  102. package/dist/types/src/tracks/annotation/index.d.ts +0 -4
  103. package/dist/types/src/tracks/axis/axisRenderer.d.ts +0 -19
  104. package/dist/types/src/tracks/axis/index.d.ts +0 -1
  105. package/dist/types/src/tracks/baseTrackCanvas.d.ts +0 -113
  106. package/dist/types/src/tracks/dynseq/dynseqRenderer.d.ts +0 -38
  107. package/dist/types/src/tracks/dynseq/index.d.ts +0 -1
  108. package/dist/types/src/tracks/index.d.ts +0 -7
  109. package/dist/types/src/tracks/interaction/index.d.ts +0 -4
  110. package/dist/types/src/tracks/interaction/interactionRenderer.d.ts +0 -52
  111. package/dist/types/src/tracks/interaction/interactionTrackCanvas.d.ts +0 -54
  112. package/dist/types/src/tracks/ruler/index.d.ts +0 -3
  113. package/dist/types/src/tracks/ruler/rulerRenderer.d.ts +0 -25
  114. package/dist/types/src/tracks/ruler/rulerTrackCanvas.d.ts +0 -43
  115. package/dist/types/src/tracks/sequence/index.d.ts +0 -5
  116. package/dist/types/src/tracks/sequence/sequenceRenderer.d.ts +0 -34
  117. package/dist/types/src/tracks/sequence/sequenceThemes.d.ts +0 -11
  118. package/dist/types/src/tracks/sequence/sequenceTrackCanvas.d.ts +0 -67
  119. package/dist/types/src/tracks/wig/index.d.ts +0 -5
  120. package/dist/types/src/tracks/wig/wigRenderer.d.ts +0 -15
  121. package/dist/types/src/tracks/wig/wigSummary.d.ts +0 -31
  122. package/dist/types/src/tracks/wig/wigThemes.d.ts +0 -15
  123. package/dist/types/src/tracks/wig/wigTrackCanvas.d.ts +0 -82
  124. package/dist/types/src/types.d.ts +0 -885
  125. package/dist/types/src/ui/components/LoomBrowserShell.d.ts +0 -52
  126. package/dist/types/src/ui/components/LoomChromosomeSelect.d.ts +0 -18
  127. package/dist/types/src/ui/components/LoomContextMenu.d.ts +0 -39
  128. package/dist/types/src/ui/components/LoomExportControls.d.ts +0 -13
  129. package/dist/types/src/ui/components/LoomInputDialog.d.ts +0 -27
  130. package/dist/types/src/ui/components/LoomLocusInput.d.ts +0 -18
  131. package/dist/types/src/ui/components/LoomNavbar.d.ts +0 -15
  132. package/dist/types/src/ui/components/LoomPopup.d.ts +0 -32
  133. package/dist/types/src/ui/components/LoomWindowSize.d.ts +0 -14
  134. package/dist/types/src/ui/components/LoomZoomControls.d.ts +0 -10
  135. package/dist/types/src/ui/index.d.ts +0 -21
  136. package/dist/types/src/ui/themes.d.ts +0 -14
  137. package/dist/types/src/worker/nodeWorkerProvider.d.ts +0 -28
  138. package/dist/types/src/worker/taskHandler.d.ts +0 -15
  139. package/dist/types/src/worker/webWorkerProvider.d.ts +0 -51
  140. package/dist/types/src/worker/workerScript.d.ts +0 -11
  141. package/dist/types/src/workerProvider.d.ts +0 -76
  142. package/dist/types/tabix/bgzBlockLoader.d.ts +0 -60
  143. package/dist/types/tabix/bgzf.d.ts +0 -43
  144. package/dist/types/tabix/tabixIndex.d.ts +0 -85
  145. package/dist/types/tabix/tabixReader.d.ts +0 -60
  146. package/dist/types/tabix/virtualOffset.d.ts +0 -41
  147. package/dist/types/test/src/mockCanvasProvider.d.ts +0 -67
  148. package/dist/types/test/src/testBedDecode.d.ts +0 -1
  149. package/dist/types/test/src/testCanvas2SVG.d.ts +0 -7
  150. package/dist/types/test/src/testChromAlias.d.ts +0 -1
  151. package/dist/types/test/src/testCommandDispatcher.d.ts +0 -1
  152. package/dist/types/test/src/testData.d.ts +0 -7
  153. package/dist/types/test/src/testDataLifecycle.d.ts +0 -1
  154. package/dist/types/test/src/testDataSourceCacheKey.d.ts +0 -1
  155. package/dist/types/test/src/testDataSources.d.ts +0 -5
  156. package/dist/types/test/src/testDecodeUcsc.d.ts +0 -1
  157. package/dist/types/test/src/testEvents.d.ts +0 -1
  158. package/dist/types/test/src/testFeatureCache.d.ts +0 -1
  159. package/dist/types/test/src/testFeatureParser.d.ts +0 -1
  160. package/dist/types/test/src/testFormatDetection.d.ts +0 -1
  161. package/dist/types/test/src/testGffDecode.d.ts +0 -1
  162. package/dist/types/test/src/testHeadlessBrowser.d.ts +0 -1
  163. package/dist/types/test/src/testInteractionDecoder.d.ts +0 -1
  164. package/dist/types/test/src/testIntervalTree.d.ts +0 -1
  165. package/dist/types/test/src/testLocusUtils.d.ts +0 -1
  166. package/dist/types/test/src/testPack.d.ts +0 -1
  167. package/dist/types/test/src/testROI.d.ts +0 -1
  168. package/dist/types/test/src/testRemoteProtocol.d.ts +0 -1
  169. package/dist/types/test/src/testRenderTheme.d.ts +0 -1
  170. package/dist/types/test/src/testSVGExport.d.ts +0 -5
  171. package/dist/types/test/src/testSequence.d.ts +0 -1
  172. package/dist/types/test/src/testSession.d.ts +0 -1
  173. package/dist/types/test/src/testTrackSelector.d.ts +0 -1
  174. package/dist/types/test/src/testTrackSerialize.d.ts +0 -1
  175. package/dist/types/test/src/testWigSummary.d.ts +0 -1
  176. package/dist/types/test/src/testWorkerDispatch.d.ts +0 -9
  177. package/dist/types/tracks/gene/geneRenderer.d.ts +0 -17
  178. package/dist/types/tracks/gene/geneThemes.d.ts +0 -11
  179. package/dist/types/tracks/gene/geneTrackCanvas.d.ts +0 -58
  180. package/dist/types/tracks/gene/index.d.ts +0 -4
  181. package/dist/types/ui/components/IgvBrowserShell.d.ts +0 -52
  182. package/dist/types/ui/components/IgvChromosomeSelect.d.ts +0 -18
  183. package/dist/types/ui/components/IgvExportControls.d.ts +0 -13
  184. package/dist/types/ui/components/IgvLocusInput.d.ts +0 -18
  185. package/dist/types/ui/components/IgvNavbar.d.ts +0 -15
  186. package/dist/types/ui/components/IgvWindowSize.d.ts +0 -14
  187. package/dist/types/ui/components/IgvZoomControls.d.ts +0 -10
  188. package/dist/types/wigRenderer.d.ts +0 -15
  189. package/dist/types/wigSummary.d.ts +0 -31
  190. package/dist/types/wigThemes.d.ts +0 -15
  191. package/dist/types/wigTrackCanvas.d.ts +0 -46
  192. package/dist/types/worker/decodeWig.d.ts +0 -20
@@ -115,7 +115,12 @@ export type ROIAction = {
115
115
  } | {
116
116
  action: 'get_visible';
117
117
  };
118
- export type CommandArgs = GetBrowserStateArgs | NavigateArgs | ModifyTracksArgs | QueryFeaturesArgs | AnnotateArgs | SetLayoutArgs | ExportViewArgs | ManageROIsArgs;
118
+ export interface SubscribeEventsArgs {
119
+ command: 'subscribe_events';
120
+ /** Event names to subscribe to. Use `['*']` for all events, `[]` for none. */
121
+ events: string[];
122
+ }
123
+ export type CommandArgs = GetBrowserStateArgs | NavigateArgs | ModifyTracksArgs | QueryFeaturesArgs | AnnotateArgs | SetLayoutArgs | ExportViewArgs | ManageROIsArgs | SubscribeEventsArgs;
119
124
  export interface ModifyTrackActionResult {
120
125
  action: string;
121
126
  success: boolean;
@@ -162,6 +167,9 @@ export type ManageROIsResult = {
162
167
  action: 'get_visible';
163
168
  rois: ROI[];
164
169
  };
170
+ export interface SubscribeEventsResult {
171
+ subscribed: string[];
172
+ }
165
173
  export interface CommandResultMap {
166
174
  get_browser_state: ProjectedState;
167
175
  navigate: boolean;
@@ -171,18 +179,30 @@ export interface CommandResultMap {
171
179
  set_layout: SetLayoutResult;
172
180
  export_view: string | SessionConfig;
173
181
  manage_rois: ManageROIsResult;
182
+ subscribe_events: SubscribeEventsResult;
174
183
  }
175
184
  export interface CommandDispatcherOptions {
176
185
  /** Whether the browser supports PNG export (true for DOM GenomeBrowser). */
177
186
  supportsPNG?: boolean;
178
187
  /** Custom PNG exporter — called when format is 'png'. Allows GenomeBrowser to inject toPNG(). */
179
188
  exportPNG?: () => Promise<string>;
189
+ /** Callback when agent subscribes to events. Used by RemoteConnection to filter forwarding. */
190
+ onSubscribeEvents?: (events: string[]) => void;
180
191
  }
181
192
  export declare class CommandDispatcher {
182
193
  private browser;
183
194
  private options;
184
195
  constructor(browser: HeadlessGenomeBrowser, options?: CommandDispatcherOptions);
185
196
  /** Dispatch a command to the appropriate handler. */
197
+ dispatch(args: GetBrowserStateArgs): Promise<ProjectedState>;
198
+ dispatch(args: NavigateArgs): Promise<boolean>;
199
+ dispatch(args: ModifyTracksArgs): Promise<ModifyTracksResult>;
200
+ dispatch(args: QueryFeaturesArgs): Promise<QueryFeaturesResult>;
201
+ dispatch(args: AnnotateArgs): Promise<never>;
202
+ dispatch(args: SetLayoutArgs): Promise<SetLayoutResult>;
203
+ dispatch(args: ExportViewArgs): Promise<string | SessionConfig>;
204
+ dispatch(args: ManageROIsArgs): Promise<ManageROIsResult>;
205
+ dispatch(args: SubscribeEventsArgs): Promise<SubscribeEventsResult>;
186
206
  dispatch(args: CommandArgs): Promise<CommandResultMap[CommandArgs['command']]>;
187
207
  private handleGetState;
188
208
  private handleNavigate;
@@ -196,4 +216,5 @@ export declare class CommandDispatcher {
196
216
  private layoutMatchKey;
197
217
  private handleExportView;
198
218
  private handleManageROIs;
219
+ private handleSubscribeEvents;
199
220
  }
@@ -4,11 +4,14 @@
4
4
  * Directly instantiates the zstd WASM binary (from @bokuweb/zstd-wasm, MIT license)
5
5
  * without the Emscripten glue code that breaks webpack bundling.
6
6
  *
7
+ * The WASM binary is base64-inlined to avoid bundler issues with
8
+ * `new URL('./zstd.wasm', import.meta.url)` (e.g. Turbopack).
9
+ *
7
10
  * Only exposes decompression with dictionary — the minimum needed for GTX.
8
11
  */
9
12
  /**
10
13
  * Initialize the zstd WASM module. Idempotent — safe to call multiple times.
11
- * Loads the WASM binary from the same directory as this module.
14
+ * Instantiates from the base64-inlined binary.
12
15
  */
13
16
  export declare function initZstd(): Promise<void>;
14
17
  /** Create a decompression context. Returns an opaque handle. */
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Base64-inlined zstd WASM binary (from @bokuweb/zstd-wasm, MIT license).
3
+ * Eliminates the need for bundlers to handle `new URL('./zstd.wasm', import.meta.url)`.
4
+ */
5
+ /** Decode the base64 string to bytes (cached after first call). */
6
+ export declare function getZstdWasmBytes(): Uint8Array;
@@ -118,6 +118,6 @@ export type { ZoomLevel, TrackSummary, ProjectedState, StateDiff, TrackChangeDif
118
118
  export { matchesSelector, selectTracks } from './trackSelector';
119
119
  export type { TrackSelector } from './trackSelector';
120
120
  export { CommandDispatcher, CommandError, toTrackSelector } from './commandDispatcher';
121
- export type { CommandArgs, CommandResultMap, CommandErrorCode, CommandDispatcherOptions, WireTrackSelector, ModifyTrackAction, ROIAction, GetBrowserStateArgs, NavigateArgs, ModifyTracksArgs, QueryFeaturesArgs, AnnotateArgs, SetLayoutArgs, ExportViewArgs, ManageROIsArgs, ModifyTracksResult, ModifyTrackActionResult, QueryFeaturesResult, SetLayoutResult, ManageROIsResult, } from './commandDispatcher';
121
+ export type { CommandArgs, CommandResultMap, CommandErrorCode, CommandDispatcherOptions, WireTrackSelector, ModifyTrackAction, ROIAction, GetBrowserStateArgs, NavigateArgs, ModifyTracksArgs, QueryFeaturesArgs, AnnotateArgs, SetLayoutArgs, ExportViewArgs, ManageROIsArgs, SubscribeEventsArgs, ModifyTracksResult, ModifyTrackActionResult, QueryFeaturesResult, SetLayoutResult, ManageROIsResult, SubscribeEventsResult, } from './commandDispatcher';
122
122
  export { RemoteConnection, READY_STATE_OPEN } from './remoteProtocol';
123
123
  export type { RemoteSocket, RequestMessage, ResponseMessage, ErrorMessage, EventMessage, OutboundMessage, } from './remoteProtocol';
@@ -58,6 +58,8 @@ export declare class RemoteConnection {
58
58
  private messageHandler;
59
59
  private closeHandler;
60
60
  private detached;
61
+ /** null = no subscription (default, no events forwarded). Set with subscribe_events command. */
62
+ private subscribedEvents;
61
63
  constructor(browser: HeadlessGenomeBrowser, socket: RemoteSocket, options?: CommandDispatcherOptions);
62
64
  /** Disconnect: unsubscribe all event listeners and stop forwarding. */
63
65
  detach(): void;
package/package.json CHANGED
@@ -1,10 +1,16 @@
1
1
  {
2
2
  "name": "loom-browser",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "main": "dist/loom.esm.js",
5
- "browser": "dist/loom.js",
6
5
  "module": "dist/loom.esm.js",
7
6
  "types": "dist/types/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/types/index.d.ts",
10
+ "import": "./dist/loom.esm.js",
11
+ "require": "./dist/loom.js"
12
+ }
13
+ },
8
14
  "type": "module",
9
15
  "description": "A modular, headless-first genomic visualization engine built in TypeScript",
10
16
  "files": [