gosling.js 2.0.0-alpha.6 → 2.0.0-alpha.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 (31) hide show
  1. package/dist/demo/gosling-component.d.ts.map +1 -1
  2. package/dist/demo/renderer/dataFetcher.d.ts.map +1 -1
  3. package/dist/demo/renderer/main.d.ts.map +1 -1
  4. package/dist/demo/track-def/main.d.ts +4 -1
  5. package/dist/demo/track-def/main.d.ts.map +1 -1
  6. package/dist/demo/track-def/types.d.ts +13 -3
  7. package/dist/demo/track-def/types.d.ts.map +1 -1
  8. package/dist/{exported-utils-b3cf08ff.js → exported-utils-9e651c40.js} +65 -1
  9. package/dist/exported-utils-9e651c40.js.map +1 -0
  10. package/dist/gosling.js +1162 -84
  11. package/dist/gosling.js.map +1 -1
  12. package/dist/src/compiler/_normalize-3d-spec.d.ts +8 -0
  13. package/dist/src/compiler/_normalize-3d-spec.d.ts.map +1 -0
  14. package/dist/src/compiler/spec-preprocess.d.ts.map +1 -1
  15. package/dist/src/core/utils/assembly.d.ts.map +1 -1
  16. package/dist/src/core/utils/assert.d.ts +17 -0
  17. package/dist/src/core/utils/assert.d.ts.map +1 -0
  18. package/dist/src/core/utils/chrom-size.d.ts +18 -0
  19. package/dist/src/core/utils/chrom-size.d.ts.map +1 -1
  20. package/dist/src/core/utils/data-transform.d.ts +10 -1
  21. package/dist/src/core/utils/data-transform.d.ts.map +1 -1
  22. package/dist/src/gosling-schema/gosling.schema.d.ts +41 -4
  23. package/dist/src/gosling-schema/gosling.schema.d.ts.map +1 -1
  24. package/dist/src/tracks/dummy-track/dummy-track.d.ts.map +1 -1
  25. package/dist/src/tracks/gosling-track/gosling-track.d.ts +1 -1
  26. package/dist/src/tracks/gosling-track/gosling-track.d.ts.map +1 -1
  27. package/dist/src/tracks/spatial-track/spatial-track.d.ts +22 -0
  28. package/dist/src/tracks/spatial-track/spatial-track.d.ts.map +1 -0
  29. package/dist/utils.js +1 -1
  30. package/package.json +4 -2
  31. package/dist/exported-utils-b3cf08ff.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"gosling-component.d.ts","sourceRoot":"","sources":["../../demo/gosling-component.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAuB,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,MAAM,UAAU,GAAG;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE,CAAC;AAIjE,UAAU,qBAAqB;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,GAAG,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5B,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,qHAAqH;IACrH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,eAwD5D;AACD;;GAEG;AACH,wBAAgB,aAAa,CACzB,EAAE,EAAE,WAAW,EACf,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,OAAO,CAAC,EAAE,MAAM,IAAI;;;;;;;;EA2DvB"}
1
+ {"version":3,"file":"gosling-component.d.ts","sourceRoot":"","sources":["../../demo/gosling-component.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAuB,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAI1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,MAAM,MAAM,UAAU,GAAG;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE,CAAC;AAIjE,UAAU,qBAAqB;IAC3B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,GAAG,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC5B,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,qHAAqH;IACrH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,eAwD5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CACzB,EAAE,EAAE,WAAW,EACf,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,OAAO,CAAC,EAAE,MAAM,IAAI;;;;;;;;EA2DvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../demo/renderer/dataFetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EACH,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAM9D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE/E,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,EAAE,iBAAiB,CAAC,EAAE,iBAAiB;;;;;;;;;;;eA0CtG"}
1
+ {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../demo/renderer/dataFetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EACH,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAM9D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE/E,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,EAAE,iBAAiB,CAAC,EAAE,iBAAiB;;;;;;;;;;;eA4CtG"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../demo/renderer/main.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,SAAS,EAAE,SAAS,EAAE,EACtB,eAAe,EAAE,cAAc,EAAE,EACjC,WAAW,EAAE,WAAW,EACxB,iBAAiB,CAAC,EAAE,iBAAiB,2BAwHxC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../demo/renderer/main.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAO9D;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,SAAS,EAAE,SAAS,EAAE,EACtB,eAAe,EAAE,cAAc,EAAE,EACjC,WAAW,EAAE,WAAW,EACxB,iBAAiB,CAAC,EAAE,iBAAiB,2BAyIxC"}
@@ -6,6 +6,7 @@ import { type BrushLinearTrackOptions } from '@gosling-lang/brush-linear';
6
6
  import type { TrackInfo } from '../../src/compiler/bounding-box';
7
7
  import type { CompleteThemeDeep } from '../../src/core/utils/theme';
8
8
  import type { GoslingTrackOptions } from '../../src/tracks/gosling-track/gosling-track';
9
+ import type { SpatialTrackOptions } from 'src/tracks/spatial-track/spatial-track';
9
10
  import { type BrushCircularTrackOptions } from '@gosling-lang/brush-circular';
10
11
  import { type HeatmapTrackOptions } from '@gosling-lang/heatmap';
11
12
  /**
@@ -18,7 +19,8 @@ export declare enum TrackType {
18
19
  Axis = 3,
19
20
  BrushLinear = 4,
20
21
  BrushCircular = 5,
21
- Heatmap = 6
22
+ Heatmap = 6,
23
+ Spatial = 7
22
24
  }
23
25
  /**
24
26
  * Associate options to each track type
@@ -31,6 +33,7 @@ interface TrackOptionsMap {
31
33
  [TrackType.BrushLinear]: BrushLinearTrackOptions;
32
34
  [TrackType.BrushCircular]: BrushCircularTrackOptions;
33
35
  [TrackType.Heatmap]: HeatmapTrackOptions;
36
+ [TrackType.Spatial]: SpatialTrackOptions;
34
37
  }
35
38
  /**
36
39
  * This interface contains all of the information needed to render each track type.
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../demo/track-def/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAKxF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjE;;GAEG;AACH,oBAAY,SAAS;IACjB,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,WAAW,IAAA;IACX,aAAa,IAAA;IACb,OAAO,IAAA;CACV;AAED;;GAEG;AACH,UAAU,eAAe;IACrB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACnC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACrC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACnC,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACjD,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IACrD,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,OAAO,EAAE,CAAC,CAAC;CACd;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;KACnB,CAAC,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CAC7D,CAAC,MAAM,eAAe,CAAC,CAAC;AAEzB;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,SAAS,EAAE,CAuBxG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,WAAW,QAQvF"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../demo/track-def/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAKlF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjE;;GAEG;AACH,oBAAY,SAAS;IACjB,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,WAAW,IAAA;IACX,aAAa,IAAA;IACb,OAAO,IAAA;IACP,OAAO,IAAA;CACV;AAED;;GAEG;AACH,UAAU,eAAe;IACrB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACzC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACnC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IACrC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACnC,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACjD,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IACrD,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACzC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,OAAO,EAAE,CAAC,CAAC;CACd;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;KACnB,CAAC,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CAC7D,CAAC,MAAM,eAAe,CAAC,CAAC;AAEzB;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,SAAS,EAAE,CAoCxG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,WAAW,QAQvF"}
@@ -11,15 +11,15 @@ import type { DataDeep, Assembly, DummyTrackStyle, Mark, X, Y } from '@gosling-l
11
11
  * TODO: this file is incomplete. It should be updated to include all the properties that a processed spec can have.
12
12
  */
13
13
  /** A Track after it has been compiled */
14
- export type ProcessedTrack = ProcessedLinearTrack | ProcessedCircularTrack | ProcessedDummyTrack;
14
+ export type ProcessedTrack = ProcessedLinearTrack | ProcessedCircularTrack | ProcessedDummyTrack | ProcessedSpatialTrack;
15
15
  /** All tracks potentially have these properties */
16
16
  export interface ProcessedTrackBase {
17
- layout?: 'linear' | 'circular';
17
+ layout?: 'linear' | 'circular' | 'spatial';
18
18
  id: string;
19
19
  height: number;
20
20
  width: number;
21
21
  static: boolean;
22
- mark?: string;
22
+ mark?: Mark;
23
23
  orientation: 'horizontal' | 'vertical';
24
24
  title?: string;
25
25
  subtitle?: string;
@@ -53,6 +53,16 @@ export type ProcessedCircularTrack = ProcessedTrackBase & {
53
53
  outerRadius: number;
54
54
  innerRadius: number;
55
55
  };
56
+ export type ProcessedSpatialTrack = ProcessedTrackBase & {
57
+ layout: 'spatial';
58
+ spatial: {
59
+ x: string;
60
+ y: string;
61
+ z: string;
62
+ chr: string;
63
+ coord: string;
64
+ };
65
+ };
56
66
  export type ProcessedDummyTrack = (ProcessedLinearTrack | ProcessedCircularTrack) & {
57
67
  type: 'dummy-track';
58
68
  style?: DummyTrackStyle;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../demo/track-def/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,8BAA8B,CAAC;AAEpG;;;;;;;;;;GAUG;AAEH,yCAAyC;AACzC,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AAEjG,mDAAmD;AACnD,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACpD,MAAM,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,oBAAoB,GAAG,sBAAsB,CAAC,GAAG;IAChF,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,6BAA6B;AAC7B,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../demo/track-def/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,8BAA8B,CAAC;AAEpG;;;;;;;;;;GAUG;AAEH,yCAAyC;AACzC,MAAM,MAAM,cAAc,GACpB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,GACnB,qBAAqB,CAAC;AAC5B,mDAAmD;AACnD,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACpD,MAAM,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG;IACrD,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE;QACL,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,oBAAoB,GAAG,sBAAsB,CAAC,GAAG;IAChF,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,6BAA6B;AAC7B,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B"}
@@ -9165,6 +9165,41 @@ function uuid() {
9165
9165
  var _a, _b, _c;
9166
9166
  return (_c = (_b = (_a = globalThis.crypto).randomUUID) == null ? void 0 : _b.call(_a)) != null ? _c : fallback();
9167
9167
  }
9168
+ function propagateSpatialLayoutInfo(t) {
9169
+ var _a, _b, _c, _d, _e, _f, _g;
9170
+ const { layout } = t;
9171
+ if (typeof layout == "object" && "type" in layout && layout.type === "spatial") {
9172
+ const { model } = layout;
9173
+ const [x, y, z] = model.xyz;
9174
+ const { url, chromosome: chr, position: coord } = model;
9175
+ t.spatial = {
9176
+ x,
9177
+ y,
9178
+ z,
9179
+ chr,
9180
+ coord
9181
+ };
9182
+ t.layout = "spatial";
9183
+ const dataTransform = {
9184
+ type: "join",
9185
+ from: { url, chromosomeField: chr, genomicField: coord }
9186
+ };
9187
+ let to = { startField: "start", endField: "end" };
9188
+ if (((_a = t.data) == null ? void 0 : _a.type) === "bigwig") {
9189
+ to = { startField: "start", endField: "end" };
9190
+ } else if (((_b = t.data) == null ? void 0 : _b.type) === "csv") {
9191
+ const startField = (_d = (_c = t.data.genomicFields) == null ? void 0 : _c[0]) != null ? _d : "unknown";
9192
+ const endField = (_f = (_e = t.data.genomicFields) == null ? void 0 : _e[1]) != null ? _f : void 0;
9193
+ to = { startField, endField };
9194
+ }
9195
+ t.dataTransform = [{ ...dataTransform, to }, ...(_g = t.dataTransform) != null ? _g : []];
9196
+ } else if (typeof layout == "object") {
9197
+ t.layout = layout.type;
9198
+ }
9199
+ if (t.locus && !t.x) {
9200
+ t.x = { ...t.locus, type: "genomic" };
9201
+ }
9202
+ }
9168
9203
  function traverseTracks(spec, callback) {
9169
9204
  if ("tracks" in spec) {
9170
9205
  spec.tracks.forEach((t, i, ts) => {
@@ -9316,6 +9351,11 @@ function traverseToFixSpecDownstream(spec, parentDef) {
9316
9351
  track.static = spec.static !== void 0 ? spec.static : false;
9317
9352
  if (!track.zoomLimits)
9318
9353
  track.zoomLimits = spec.zoomLimits;
9354
+ if (track.layout && typeof track.layout === "object" && track.layout.type === "spatial") {
9355
+ if (!("template" in track)) {
9356
+ propagateSpatialLayoutInfo(track);
9357
+ }
9358
+ }
9319
9359
  track.style = getStyleOverridden(spec.style, track.style);
9320
9360
  if (IsOverlaidTrack(track)) {
9321
9361
  track._overlay = track._overlay.filter((overlayTrack) => {
@@ -9733,6 +9773,24 @@ const CHROM_SIZE_MM9 = {
9733
9773
  chrY: 15902555,
9734
9774
  chrM: 16299
9735
9775
  };
9776
+ const CHROM_SIZE_SACCER3 = {
9777
+ chrI: 230218,
9778
+ chrII: 813184,
9779
+ chrIII: 316620,
9780
+ chrIV: 1531933,
9781
+ chrV: 576874,
9782
+ chrVI: 270161,
9783
+ chrVII: 1090940,
9784
+ chrVIII: 562643,
9785
+ chrIX: 439888,
9786
+ chrX: 745751,
9787
+ chrXI: 666816,
9788
+ chrXII: 1078177,
9789
+ chrXIII: 924431,
9790
+ chrXIV: 784333,
9791
+ chrXV: 1091291,
9792
+ chrXVI: 948066
9793
+ };
9736
9794
  function getRelativeGenomicPosition(absPos, assembly, returnWithinAssembly = false) {
9737
9795
  const chrSizes = Object.entries(computeChromSizes(assembly).interval);
9738
9796
  const minPosChr = { chromosome: "unknown", position: Infinity };
@@ -9826,6 +9884,12 @@ const CRHOM_SIZES = Object.freeze({
9826
9884
  total: getChromTotalSize(CHROM_SIZE_MM9),
9827
9885
  path: basePath("mm9")
9828
9886
  },
9887
+ sacCer3: {
9888
+ size: CHROM_SIZE_SACCER3,
9889
+ interval: getChromInterval(CHROM_SIZE_SACCER3),
9890
+ total: getChromTotalSize(CHROM_SIZE_SACCER3),
9891
+ path: "https://gosling-lang.s3.us-east-1.amazonaws.com/data/sacCer3.chrom.sizes"
9892
+ },
9829
9893
  // `unknown` assembly contains only one chromosome with max length
9830
9894
  unknown: {
9831
9895
  size: { chr: Number.MAX_VALUE },
@@ -9951,4 +10015,4 @@ export {
9951
10015
  commonjsGlobal as y,
9952
10016
  RemoteFile as z
9953
10017
  };
9954
- //# sourceMappingURL=exported-utils-b3cf08ff.js.map
10018
+ //# sourceMappingURL=exported-utils-9e651c40.js.map