loom-browser 0.0.6 → 0.0.8

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 (61) hide show
  1. package/dist/loom-data-worker.js +10458 -0
  2. package/dist/loom-data-worker.min.js +2 -0
  3. package/dist/loom-data-worker.min.js.map +1 -0
  4. package/dist/loom-react.esm.js +1177 -342
  5. package/dist/loom-react.esm.min.js +1 -1
  6. package/dist/loom-react.esm.min.js.map +1 -1
  7. package/dist/loom-worker.js +10596 -0
  8. package/dist/loom-worker.min.js +2 -0
  9. package/dist/loom-worker.min.js.map +1 -0
  10. package/dist/loom.esm.js +8516 -7691
  11. package/dist/loom.esm.min.js +1 -1
  12. package/dist/loom.esm.min.js.map +1 -1
  13. package/dist/loom.js +8518 -7691
  14. package/dist/loom.min.js +1 -1
  15. package/dist/loom.min.js.map +1 -1
  16. package/dist/tsconfig.src.tsbuildinfo +1 -1
  17. package/dist/types/bigwig/index.d.ts +2 -5
  18. package/dist/types/dataSourceWorkerProvider.d.ts +79 -0
  19. package/dist/types/dataSources/bigWigDataSource.d.ts +1 -3
  20. package/dist/types/dataSources/featureSourceFactory.d.ts +1 -2
  21. package/dist/types/dataSources/gtxDataSource.d.ts +1 -3
  22. package/dist/types/dataSources/textFeatureSource.d.ts +0 -4
  23. package/dist/types/genomeBrowser.d.ts +56 -1
  24. package/dist/types/gtx/index.d.ts +1 -4
  25. package/dist/types/headlessGenomeBrowser.d.ts +43 -2
  26. package/dist/types/index.d.ts +8 -2
  27. package/dist/types/mainThreadDataSourceProvider.d.ts +19 -0
  28. package/dist/types/react/LoomBrowser.d.ts +16 -1
  29. package/dist/types/react/ROISet.d.ts +14 -0
  30. package/dist/types/react/hooks/index.d.ts +1 -0
  31. package/dist/types/react/hooks/useTrackManager.d.ts +13 -1
  32. package/dist/types/react/index.d.ts +3 -0
  33. package/dist/types/react/tracks/BedTrack.d.ts +13 -4
  34. package/dist/types/react/tracks/GeneTrack.d.ts +7 -2
  35. package/dist/types/react/tracks/GtxTrack.d.ts +7 -2
  36. package/dist/types/react/tracks/InteractionTrack.d.ts +6 -1
  37. package/dist/types/react/tracks/WigTrack.d.ts +6 -1
  38. package/dist/types/session.d.ts +0 -3
  39. package/dist/types/svgFeatureOverlay.d.ts +27 -0
  40. package/dist/types/tabix/index.d.ts +0 -3
  41. package/dist/types/trackRegistry.d.ts +1 -4
  42. package/dist/types/tracks/annotation/annotationRenderer.d.ts +4 -1
  43. package/dist/types/tracks/annotation/annotationTrackCanvas.d.ts +10 -6
  44. package/dist/types/tracks/axis/axisRenderer.d.ts +2 -8
  45. package/dist/types/tracks/axis/index.d.ts +1 -1
  46. package/dist/types/tracks/baseTrackCanvas.d.ts +13 -1
  47. package/dist/types/tracks/interaction/interactionRenderer.d.ts +4 -1
  48. package/dist/types/tracks/interaction/interactionTrackCanvas.d.ts +1 -0
  49. package/dist/types/tracks/trackLabel.d.ts +22 -0
  50. package/dist/types/tracks/wig/wigTrackCanvas.d.ts +3 -0
  51. package/dist/types/types.d.ts +18 -0
  52. package/dist/types/worker/dataSourceRegistry.d.ts +33 -0
  53. package/dist/types/worker/dataSourceWorkerScript.d.ts +13 -0
  54. package/dist/types/worker/unifiedWorkerScript.d.ts +17 -0
  55. package/dist/types/worker/webDataSourceWorkerProvider.d.ts +59 -0
  56. package/dist/types/worker/webUnifiedWorkerProvider.d.ts +64 -0
  57. package/dist/types/worker/webWorkerPool.d.ts +64 -0
  58. package/dist/types/worker/workerPoolScript.d.ts +17 -0
  59. package/dist/types/workerDataSource.d.ts +32 -0
  60. package/dist/types/workerProvider.d.ts +10 -3
  61. package/package.json +3 -1
@@ -11,8 +11,9 @@
11
11
  * - WebWorkerProvider — browser (Web Workers)
12
12
  * - NodeWorkerProvider — Node.js (worker_threads)
13
13
  */
14
- import type { AnnotationFeature, WigFeature, WindowFunction, TextFileFormat } from './types';
14
+ import type { AnnotationFeature, WigFeature, WindowFunction, TextFileFormat, DataSourceConfig, Locus } from './types';
15
15
  import type { FeatureHeader } from './formats/featureParser';
16
+ import type { DataSourceWorkerProvider } from './dataSourceWorkerProvider';
16
17
  export interface PackTask {
17
18
  task: 'pack';
18
19
  features: AnnotationFeature[];
@@ -65,11 +66,17 @@ export interface WorkerProvider {
65
66
  }
66
67
  /**
67
68
  * Runs all tasks on the main thread using direct function calls.
68
- * This is the default when no WorkerProvider is supplied.
69
+ * Implements both WorkerProvider (stateless tasks) and DataSourceWorkerProvider
70
+ * (stateful data sources) as the default fallback when no worker pool is available.
69
71
  */
70
- export declare class MainThreadProvider implements WorkerProvider {
72
+ export declare class MainThreadProvider implements WorkerProvider, DataSourceWorkerProvider {
73
+ private readonly dsInstances;
71
74
  execute<T extends WorkerTask>(task: T): Promise<WorkerTaskResultMap[T['task']]>;
72
75
  private dispatch;
76
+ create(instanceId: string, config: DataSourceConfig): void;
77
+ fetch<F>(instanceId: string, locus: Locus, bpPerPixel: number, signal: AbortSignal): Promise<F[]>;
78
+ configure(instanceId: string, method: string, ...args: unknown[]): void;
79
+ destroy(instanceId: string): void;
73
80
  dispose(): void;
74
81
  }
75
82
  /** Default worker provider: runs everything on the main thread. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "loom-browser",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "main": "dist/loom.esm.js",
5
5
  "module": "dist/loom.esm.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -83,6 +83,8 @@
83
83
  "devDependencies": {
84
84
  "@eslint/js": "^10.0.1",
85
85
  "@gmod/cram": "^5.0.5",
86
+ "@rollup/plugin-commonjs": "^29.0.2",
87
+ "@rollup/plugin-node-resolve": "^16.0.3",
86
88
  "@rollup/plugin-strip": "^3.0.1",
87
89
  "@rollup/plugin-terser": "^0.4.0",
88
90
  "@rollup/plugin-typescript": "^12.3.0",