@genome-spy/core 0.42.2 → 0.43.0
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.
- package/dist/bundle/index.es.js +2068 -2037
- package/dist/bundle/index.js +68 -65
- package/dist/schema.json +251 -1
- package/dist/src/data/collector.d.ts.map +1 -1
- package/dist/src/data/collector.js +28 -2
- package/dist/src/data/sources/dataSourceFactory.d.ts +7 -7
- package/dist/src/data/sources/dataSourceFactory.d.ts.map +1 -1
- package/dist/src/data/sources/dataSourceFactory.js +9 -9
- package/dist/src/data/sources/{dynamic → lazy}/README.md +2 -2
- package/dist/src/data/sources/lazy/axisGenomeSource.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/axisTickSource.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/bamSource.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/bigBedSource.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/bigWigSource.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/indexedFastaSource.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts.map +1 -0
- package/dist/src/data/sources/{dynamic → lazy}/singleAxisLazySource.js +3 -3
- package/dist/src/data/sources/lazy/singleAxisWindowedSource.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/tabixSource.d.ts.map +1 -0
- package/dist/src/data/transforms/regexFold.d.ts.map +1 -1
- package/dist/src/data/transforms/regexFold.js +6 -8
- package/dist/src/encoder/encoder.d.ts +1 -1
- package/dist/src/encoder/encoder.d.ts.map +1 -1
- package/dist/src/gl/arrayBuilder.d.ts +0 -1
- package/dist/src/gl/arrayBuilder.d.ts.map +1 -1
- package/dist/src/gl/arrayBuilder.js +46 -32
- package/dist/src/gl/dataToVertices.d.ts.map +1 -1
- package/dist/src/gl/dataToVertices.js +7 -3
- package/dist/src/marks/mark.d.ts.map +1 -1
- package/dist/src/marks/mark.js +6 -0
- package/dist/src/spec/channel.d.ts +14 -1
- package/dist/src/view/flowBuilder.d.ts.map +1 -1
- package/dist/src/view/flowBuilder.js +11 -4
- package/dist/src/view/unitView.d.ts +1 -1
- package/dist/src/view/unitView.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/src/data/sources/dynamic/axisGenomeSource.d.ts.map +0 -1
- package/dist/src/data/sources/dynamic/axisTickSource.d.ts.map +0 -1
- package/dist/src/data/sources/dynamic/bamSource.d.ts.map +0 -1
- package/dist/src/data/sources/dynamic/bigBedSource.d.ts.map +0 -1
- package/dist/src/data/sources/dynamic/bigWigSource.d.ts.map +0 -1
- package/dist/src/data/sources/dynamic/gff3Source.d.ts.map +0 -1
- package/dist/src/data/sources/dynamic/indexedFastaSource.d.ts.map +0 -1
- package/dist/src/data/sources/dynamic/singleAxisLazySource.d.ts.map +0 -1
- package/dist/src/data/sources/dynamic/singleAxisWindowedSource.d.ts.map +0 -1
- package/dist/src/data/sources/dynamic/tabixSource.d.ts.map +0 -1
- /package/dist/src/data/sources/{dynamic → lazy}/axisGenomeSource.d.ts +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/axisGenomeSource.js +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/axisTickSource.d.ts +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/axisTickSource.js +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/bamSource.d.ts +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/bamSource.js +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/bigBedSource.d.ts +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/bigBedSource.js +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/bigWigSource.d.ts +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/bigWigSource.js +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/gff3Source.d.ts +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/gff3Source.js +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/indexedFastaSource.d.ts +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/indexedFastaSource.js +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/singleAxisLazySource.d.ts +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/singleAxisWindowedSource.d.ts +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/singleAxisWindowedSource.js +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/tabixSource.d.ts +0 -0
- /package/dist/src/data/sources/{dynamic → lazy}/tabixSource.js +0 -0
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { isNumber } from "vega-util";
|
|
2
2
|
import { ATTRIBUTE_PREFIX } from "./glslScaleGenerator.js";
|
|
3
3
|
|
|
4
|
+
/** Unrolling appears to give a 20% performance boost on Chrome but compiling the
|
|
5
|
+
* dynamically generated code takes time and is thus not great for small dynamic data.
|
|
6
|
+
* Unrolling probably allows the JS engine to inline pusher calls.
|
|
7
|
+
*/
|
|
8
|
+
const UNROLL_LIMIT = 10000;
|
|
9
|
+
|
|
4
10
|
/**
|
|
5
11
|
* @typedef {Object} ConverterMetadata
|
|
6
12
|
* A function that extracts a raw attribute from a datum (optionally) converts
|
|
@@ -135,37 +141,22 @@ export default class ArrayBuilder {
|
|
|
135
141
|
return updater;
|
|
136
142
|
}
|
|
137
143
|
|
|
138
|
-
_unrollPushAll() {
|
|
139
|
-
let preps = "";
|
|
140
|
-
let pushs = "";
|
|
141
|
-
|
|
142
|
-
for (let i = 0; i < this.pushers.length; i++) {
|
|
143
|
-
preps += `const p${i} = that.pushers[${i}];\n`;
|
|
144
|
-
pushs += `p${i}();\n`;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
// eslint-disable-next-line no-new-func
|
|
148
|
-
const createUnrolled = new Function(
|
|
149
|
-
"that",
|
|
150
|
-
`${preps}
|
|
151
|
-
|
|
152
|
-
return function unrolledPushAll() {
|
|
153
|
-
${pushs}
|
|
154
|
-
that.vertexCount++;
|
|
155
|
-
};
|
|
156
|
-
`
|
|
157
|
-
);
|
|
158
|
-
|
|
159
|
-
this.pushAll = createUnrolled(this);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
144
|
pushAll() {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
145
|
+
if (this.size > UNROLL_LIMIT) {
|
|
146
|
+
const preps = this.pushers
|
|
147
|
+
.map((_v, i) => `const p${i} = that.pushers[${i}];`)
|
|
148
|
+
.join("\n");
|
|
149
|
+
const pushs = this.pushers.map((_v, i) => ` p${i}();`).join("\n");
|
|
150
|
+
|
|
151
|
+
// eslint-disable-next-line no-new-func
|
|
152
|
+
this.pushAll = new Function(
|
|
153
|
+
"that",
|
|
154
|
+
`${preps}
|
|
155
|
+
return function unrolledPushAll() {
|
|
156
|
+
${pushs}
|
|
157
|
+
that.vertexCount++;
|
|
158
|
+
};`
|
|
159
|
+
)(this);
|
|
169
160
|
} else {
|
|
170
161
|
this.pushAll = () => {
|
|
171
162
|
for (let i = 0; i < this.pushers.length; i++) {
|
|
@@ -183,9 +174,32 @@ export default class ArrayBuilder {
|
|
|
183
174
|
* @param {object} datum
|
|
184
175
|
*/
|
|
185
176
|
updateFromDatum(datum) {
|
|
186
|
-
|
|
187
|
-
this.dataUpdaters
|
|
177
|
+
if (this.size > UNROLL_LIMIT) {
|
|
178
|
+
const preps = this.dataUpdaters
|
|
179
|
+
.map((_v, i) => `const u${i} = that.dataUpdaters[${i}];`)
|
|
180
|
+
.join("\n");
|
|
181
|
+
const updates = this.dataUpdaters
|
|
182
|
+
.map((_v, i) => ` u${i}(datum);`)
|
|
183
|
+
.join("\n");
|
|
184
|
+
|
|
185
|
+
// eslint-disable-next-line no-new-func
|
|
186
|
+
this.updateFromDatum = new Function(
|
|
187
|
+
"that",
|
|
188
|
+
"datum",
|
|
189
|
+
`${preps}
|
|
190
|
+
return function unrolledUpdateFromDatum(datum) {
|
|
191
|
+
${updates}
|
|
192
|
+
};`
|
|
193
|
+
)(this);
|
|
194
|
+
} else {
|
|
195
|
+
this.updateFromDatum = (datum) => {
|
|
196
|
+
for (let i = 0; i < this.dataUpdaters.length; i++) {
|
|
197
|
+
this.dataUpdaters[i](datum);
|
|
198
|
+
}
|
|
199
|
+
};
|
|
188
200
|
}
|
|
201
|
+
|
|
202
|
+
this.updateFromDatum(datum);
|
|
189
203
|
}
|
|
190
204
|
|
|
191
205
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataToVertices.d.ts","sourceRoot":"","sources":["../../../src/gl/dataToVertices.js"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH;IACI;;;OAGG;IAEH;;;;;;OAMG;IACH;;qBAJW,MAAM,EAAE;sBACR,MAAM;
|
|
1
|
+
{"version":3,"file":"dataToVertices.d.ts","sourceRoot":"","sources":["../../../src/gl/dataToVertices.js"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH;IACI;;;OAGG;IAEH;;;;;;OAMG;IACH;;qBAJW,MAAM,EAAE;sBACR,MAAM;OAuEhB;IAnEG,gEAAwB;IAGxB;;MAKC;IAQD,0BAAoC;IAEpC,8BAAoD;IA6CpD,mBAAmB;IAEnB,yFAAyF;IACzF,UADW,IAAI,GAAG,EAAE,UAAU,CAAC,CACkB;IAGrD;;;;OAIG;IACH,mBAFW,GAAG,QAcb;IAED;;OAEG;IACH,oBAFW,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC,QAM5B;IAED;;;OAGG;IACH,cAHW,GAAG,QACH,MAAM,EAAE,kCAYlB;IAED;;;;OAIG;IACH,sBAJW,OAAO,qBAAqB,EAAE,IAAI,OAClC,MAAM,OACN,MAAM,QA+DhB;IAED;;;;;OAKG;IACH,mBAFW,OAAO,qBAAqB,EAAE,KAAK,QAI7C;IA/DO;;;MAAyB;IAiEjC;QAEQ,uGAAuG;gBAA5F,OAAO,MAAM,EAAE;YAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;YAAC,aAAa,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAC,CAAC;QAEnG,8BAA8B;;QAE9B,8CAA8C;;;MAIrD;CACJ;AAED;IACI;;;;;;OAMG;IACH;;oBAHW,MAAM,EAAE;mBACR,MAAM;OAQhB;CAkCJ;AAED;IACI;;;;;;;;;OASG;IACH;;oBANW,MAAM,EAAE;gCACR,MAAM;uBAEN,MAAM,EAAE;mBACR,MAAM;OAsBhB;IANG,uBAAgC;IAEhC,8BAA8D;IAE9D,6CAA+D;IAC/D,4CAA6D;CA2CpE;AAED;IACI;;;;;;OAMG;IACH;;oBAHW,MAAM,EAAE;mBACR,MAAM;OAQhB;CACJ;AAED;IACI;;;;;OAKG;IACH;;oBAHW,MAAM,EAAE;mBACR,MAAM;OAQhB;CAYJ;AAED;IACI;;;;;;;;;OASG;IACH;;oBANW,MAAM,EAAE;qBACR,OAAO,2BAA2B,EAAE,aAAa;oBACjD,OAAO,MAAM,EAAE,GAAG,CAAC;wBACnB,MAAM;sBACN,OAAO;OA4CjB;IA7BG,4DAA2B;IAC3B,2DAA0B;IAE1B,gCAA4B;IAQ5B,qCAAqC;IACrC,sBADmB,GAAG,KAAK,MAAM,CAMf;IAElB,oDAGC;IACD,qDAGC;IAED,8CAAiE;CA8IxE;;;;;;;;YAzkBS,MAAM;;;;WACN,MAAM;YACN,OAAO,yBAAyB,EAAE,MAAM;;yBAhBzB,mBAAmB"}
|
|
@@ -54,8 +54,6 @@ export class GeometryBuilder {
|
|
|
54
54
|
this.variableBuilder = new ArrayBuilder(numVertices);
|
|
55
55
|
|
|
56
56
|
// Create converters and updaters for all variable channels.
|
|
57
|
-
// TODO: If more than one channels use the same field with the same data type, convert the field only once.
|
|
58
|
-
|
|
59
57
|
for (const [channel, ce] of Object.entries(this.variableEncoders)) {
|
|
60
58
|
// Only add the first of the shared channels as all the rest are same
|
|
61
59
|
// For example, if both x and x2 are using the same field, only x is
|
|
@@ -164,7 +162,13 @@ export class GeometryBuilder {
|
|
|
164
162
|
this.xIndexer = undefined;
|
|
165
163
|
};
|
|
166
164
|
|
|
167
|
-
|
|
165
|
+
const channelDef = this.encoders.x?.channelDef;
|
|
166
|
+
if (
|
|
167
|
+
!("buildIndex" in channelDef) ||
|
|
168
|
+
!channelDef.buildIndex ||
|
|
169
|
+
!data.length ||
|
|
170
|
+
hi - lo < 0
|
|
171
|
+
) {
|
|
168
172
|
disable();
|
|
169
173
|
return;
|
|
170
174
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mark.d.ts","sourceRoot":"","sources":["../../../src/marks/mark.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"mark.d.ts","sourceRoot":"","sources":["../../../src/marks/mark.js"],"names":[],"mappings":"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"}
|
package/dist/src/marks/mark.js
CHANGED
|
@@ -314,13 +314,26 @@ export type ChannelDef<F extends Field = string> =
|
|
|
314
314
|
// TODO: Does this make sense?
|
|
315
315
|
export type ChannelDefWithScale = ScaleMixins & TypeMixins<Type>;
|
|
316
316
|
|
|
317
|
+
export interface XIndexDef {
|
|
318
|
+
/**
|
|
319
|
+
* Builds and index for efficient rendering of subsets of the data. This
|
|
320
|
+
* setting is useful when rendering large amounts of data and often
|
|
321
|
+
* only a small subset of the data is visible. An example of such a
|
|
322
|
+
* situation is a scatter plot spanning the whole genome.
|
|
323
|
+
*
|
|
324
|
+
* This setting implicitly sorts the data by the field assigned
|
|
325
|
+
* on the `x` channel.
|
|
326
|
+
*/
|
|
327
|
+
buildIndex?: boolean;
|
|
328
|
+
}
|
|
329
|
+
|
|
317
330
|
export interface Encoding<F extends Field = string> {
|
|
318
331
|
/**
|
|
319
332
|
* X coordinates of the marks.
|
|
320
333
|
*
|
|
321
334
|
* The `value` of this channel can be a number between zero and one.
|
|
322
335
|
*/
|
|
323
|
-
x?: PositionDef<F
|
|
336
|
+
x?: PositionDef<F> & XIndexDef;
|
|
324
337
|
|
|
325
338
|
/**
|
|
326
339
|
* Y coordinates of the marks.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowBuilder.d.ts","sourceRoot":"","sources":["../../../src/view/flowBuilder.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flowBuilder.d.ts","sourceRoot":"","sources":["../../../src/view/flowBuilder.js"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,8JAkKC;AAED;;;;;;GAMG;AACH;;;IAgGc;;;OAGG;;EAYhB;AAgCD;;;;;;GAMG;AACH;;;0BAqB0B,QAAQ,SAAS,OAAO,qBAAqB,EAAE,KAAK,CAAC,CAAC;EAkB/E;qBA/XoB,qBAAqB;sBANpB,sBAAsB"}
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
isFieldDef,
|
|
14
14
|
isPositionalChannel,
|
|
15
15
|
getPrimaryChannel,
|
|
16
|
+
isExprDef,
|
|
16
17
|
} from "../encoder/encoder.js";
|
|
17
18
|
import LinearizeGenomicCoordinate from "../data/transforms/linearizeGenomicCoordinate.js";
|
|
18
19
|
import { group } from "d3-array";
|
|
@@ -311,20 +312,26 @@ export function linearizeLocusAccess(view) {
|
|
|
311
312
|
}
|
|
312
313
|
|
|
313
314
|
/**
|
|
314
|
-
* @param {import("./
|
|
315
|
+
* @param {import("./unitView.js").default} view
|
|
315
316
|
* @param {import("../spec/channel.js").Encoding} [encoding]
|
|
316
317
|
* @returns {import("../spec/transform.js").CompareParams}
|
|
317
318
|
*/
|
|
318
319
|
function getCompareParamsForView(view, encoding) {
|
|
319
|
-
// TODO: Should sort by min(x, x2).
|
|
320
320
|
const e = { ...view.getEncoding(), ...encoding }.x;
|
|
321
321
|
if (isChannelDefWithScale(e)) {
|
|
322
322
|
if (view.getScaleResolution("x")?.isZoomable()) {
|
|
323
323
|
if (isFieldDef(e)) {
|
|
324
|
-
|
|
324
|
+
// TODO: Don't sort if the data is already sorted.
|
|
325
|
+
// The sort status should be tracked in the data flow.
|
|
326
|
+
// For instance, genomic data is typically already sorted
|
|
327
|
+
// by position within a chromosome (but not necessarily
|
|
328
|
+
// across chromosomes).
|
|
329
|
+
return "buildIndex" in e && e.buildIndex
|
|
330
|
+
? { field: e.field }
|
|
331
|
+
: null;
|
|
325
332
|
} else if (isDatumDef(e)) {
|
|
326
333
|
// Nop
|
|
327
|
-
} else {
|
|
334
|
+
} else if (isExprDef(e)) {
|
|
328
335
|
// TODO: Support expr by inserting a Formula transform
|
|
329
336
|
throw new Error(
|
|
330
337
|
"A zoomable x channel must be mapped to a field."
|
|
@@ -54,7 +54,7 @@ export default class UnitView extends ContainerView {
|
|
|
54
54
|
/**
|
|
55
55
|
* @param {Channel} channel A primary channel
|
|
56
56
|
*/
|
|
57
|
-
_validateDomainQuery(channel: import("../spec/channel.js").Channel): import("../spec/channel.js").MarkPropExprDef<import("../spec/channel.js").Type> | import("../spec/channel.js").MarkPropDatumDef<import("../spec/channel.js").Type> | import("../spec/channel.js").ChromPosDef | import("../spec/channel.js").PositionDatumDef | import("../spec/channel.js").MarkPropDatumDef<import("../spec/channel.js").TypeForShape> | import("../spec/channel.js").MarkPropFieldDef<string, import("../spec/channel.js").Type> | import("../spec/channel.js").PositionFieldDef<string> | import("../spec/channel.js").MarkPropFieldDef<string, import("../spec/channel.js").TypeForShape>;
|
|
57
|
+
_validateDomainQuery(channel: import("../spec/channel.js").Channel): import("../spec/channel.js").MarkPropExprDef<import("../spec/channel.js").Type> | import("../spec/channel.js").MarkPropDatumDef<import("../spec/channel.js").Type> | import("../spec/channel.js").ChromPosDef | import("../spec/channel.js").PositionDatumDef | (import("../spec/channel.js").ChromPosDefBase & import("../spec/channel.js").TitleMixins & import("../spec/channel.js").PositionMixins & import("../spec/channel.js").TypeMixins<"locus"> & import("../spec/channel.js").ScaleMixins & import("../spec/channel.js").XIndexDef) | (import("../spec/channel.js").ScaleMixins & import("../spec/channel.js").DatumDefBase & import("../spec/channel.js").TitleMixins & import("../spec/channel.js").TypeMixins<import("../spec/channel.js").Type> & import("../spec/channel.js").PositionMixins & import("../spec/channel.js").XIndexDef) | import("../spec/channel.js").MarkPropDatumDef<import("../spec/channel.js").TypeForShape> | import("../spec/channel.js").MarkPropFieldDef<string, import("../spec/channel.js").Type> | import("../spec/channel.js").PositionFieldDef<string> | (import("../spec/channel.js").FieldDefBase<string> & import("../spec/channel.js").TitleMixins & import("../spec/channel.js").TypeMixins<import("../spec/channel.js").Type> & import("../spec/channel.js").ScaleMixins & import("../spec/channel.js").PositionMixins & import("../spec/channel.js").XIndexDef) | import("../spec/channel.js").MarkPropFieldDef<string, import("../spec/channel.js").TypeForShape>;
|
|
58
58
|
/**
|
|
59
59
|
* Returns the domain of the specified channel of this domain/mark.
|
|
60
60
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unitView.d.ts","sourceRoot":"","sources":["../../../src/view/unitView.js"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH;QAHkB,MAAM,GAAE,cAAc,kBAAkB,EAAE,OAAO;EASjE;AAEF;IACI;;;;;;;OAOG;IACH;;;;;;;;OAQG;IACH,kBAPW,OAAO,iBAAiB,EAAE,QAAQ,WAClC,OAAO,yBAAyB,EAAE,OAAO,gBACzC,OAAO,oBAAoB,EAAE,OAAO,cACpC,OAAO,WAAW,EAAE,OAAO,QAC3B,MAAM,YACN,OAAO,WAAW,EAAE,WAAW,EAkBzC;IAbG,yCAAgB;IAIZ,iDAAiD;IACjD,MADW,OAAO,kBAAkB,EAAE,OAAO,CACnB;IAUlC;;;;OAIG;IACH,gBAJW,OAAO,4CAA4C,EAAE,OAAO,UAC5D,OAAO,uBAAuB,EAAE,OAAO,YACvC,OAAO,uBAAuB,EAAE,gBAAgB,QAY1D;IAED,kDAIC;IAED;;;;;OAKG;IACH,iEAyEC;IAED;;;OAGG;IACH,mGASC;IAkBD;;OAEG;IACH,uDAEC;IAED;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"unitView.d.ts","sourceRoot":"","sources":["../../../src/view/unitView.js"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH;QAHkB,MAAM,GAAE,cAAc,kBAAkB,EAAE,OAAO;EASjE;AAEF;IACI;;;;;;;OAOG;IACH;;;;;;;;OAQG;IACH,kBAPW,OAAO,iBAAiB,EAAE,QAAQ,WAClC,OAAO,yBAAyB,EAAE,OAAO,gBACzC,OAAO,oBAAoB,EAAE,OAAO,cACpC,OAAO,WAAW,EAAE,OAAO,QAC3B,MAAM,YACN,OAAO,WAAW,EAAE,WAAW,EAkBzC;IAbG,yCAAgB;IAIZ,iDAAiD;IACjD,MADW,OAAO,kBAAkB,EAAE,OAAO,CACnB;IAUlC;;;;OAIG;IACH,gBAJW,OAAO,4CAA4C,EAAE,OAAO,UAC5D,OAAO,uBAAuB,EAAE,OAAO,YACvC,OAAO,uBAAuB,EAAE,gBAAgB,QAY1D;IAED,kDAIC;IAED;;;;;OAKG;IACH,iEAyEC;IAED;;;OAGG;IACH,mGASC;IAkBD;;OAEG;IACH,uDAEC;IAED;;OAEG;IACH,6/CAcC;IAED;;;;;OAKG;IACH,6BAHW,OAAO,oBAAoB,EAAE,gBAAgB,iDAkBvD;IAED;;;;;;;;;;;;OAYG;IACH,gHA2CC;IAED,uBAQC;IAgBD;;;;OAIG;IACH,8BAJW,MAAM,+DAEJ,OAAO,iBAAiB,EAAE,kBAAkB,CAKxD;CACJ;0BAnVyB,oBAAoB"}
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"contributors": [],
|
|
9
9
|
"license": "MIT",
|
|
10
|
-
"version": "0.
|
|
10
|
+
"version": "0.43.0",
|
|
11
11
|
"jsdelivr": "dist/bundle/index.js",
|
|
12
12
|
"unpkg": "dist/bundle/index.js",
|
|
13
13
|
"browser": "dist/bundle/index.js",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"vega-scale": "^7.1.1",
|
|
66
66
|
"vega-util": "^1.16.0"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "5df2d5459b3ece0218135411e6e7d8d20639f587"
|
|
69
69
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"axisGenomeSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/axisGenomeSource.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;IACI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,cAAc,QAC9C,OAAO,uBAAuB,EAAE,OAAO,EAIjD;CAKJ;iCAlBgC,2BAA2B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"axisTickSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/axisTickSource.js"],"names":[],"mappings":"AAYA;;GAEG;AACH;IAMI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,aAAa,QAC7C,OAAO,uBAAuB,EAAE,OAAO,EAYjD;IAnBD;;OAEG;IACH,OAFU,OAAO,0BAA0B,EAAE,MAAM,EAAE,CAE1C;IAeP,sDAAoB;IAGxB,iCAkCC;CACJ;iCA9DgC,2BAA2B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bamSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/bamSource.js"],"names":[],"mappings":"AAGA;IAeI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,OAAO,QACvC,OAAO,uBAAuB,EAAE,OAAO,EAmDjD;IAhED;;;;;;;;OAQG;IACH,sBAFgB,MAAM,KAAK,MAAM,CAEH;IAkB1B,gDAAgC;IAQhC,iCA4BE;;CAmCT;qCAxGoC,+BAA+B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bigBedSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/bigBedSource.js"],"names":[],"mappings":"AAGA;IAOI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,UAAU,QAC1C,OAAO,uBAAuB,EAAE,OAAO,EA4CjD;IApDD,0CAA0C;IAC1C,QADW,OAAO,WAAW,EAAE,OAAO,CAC/B;IAEP,yCAAyC;IACzC,KADW,OAAO,WAAW,EAAE,MAAM,CACjC;IAkBA,mDAAgC;IAQhC,iCAqBE;CA4BT;qCAlFoC,+BAA+B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bigWigSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/bigWigSource.js"],"names":[],"mappings":"AAGA;;GAEG;AACH;IAOI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,UAAU,QAC1C,OAAO,uBAAuB,EAAE,OAAO,EAiDjD;IAnCG,mDAAgC;IAQhC,iCA0BE;IA+BN;;;OAGG;IAEH,uBAJW,MAAM,EAAE,kBACR,MAAM,iBA0BhB;;CACJ;qCA1HoC,+BAA+B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gff3Source.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/gff3Source.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IAII;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,SAAS,QACzC,OAAO,uBAAuB,EAAE,OAAO,EASjD;IAED;;OAEG;IACH,sBAFW,MAAM,EAAE,OAUlB;;CACJ;wBAlCuB,kBAAkB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"indexedFastaSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/indexedFastaSource.js"],"names":[],"mappings":"AAGA;IACI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,gBAAgB,QAChD,OAAO,uBAAuB,EAAE,OAAO,EA+CjD;IAjCG,yDAAgC;IAQhC,iCAwBE;IATM,iDAKE;CA6BjB;qCA5EoC,+BAA+B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"singleAxisLazySource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/singleAxisLazySource.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAOI;;;OAGG;IACH,kBAHW,OAAO,uBAAuB,EAAE,OAAO,WACvC,OAAO,0BAA0B,EAAE,wBAAwB,EAiDrE;IAzDD;;;OAGG;IACH,4CAAuC;IASnC,8CAAgB;IAYhB,2EAA2E;IAC3E,SADW,OAAO,0BAA0B,EAAE,wBAAwB,CAChD;IAEtB,oEAA4D;IA+BhE;;;OAGG;IACH,wBAWC;IAED;;;;OAIG;IACH,oEAEC;IAED;;;;;;OAMG;IACH,wBAJW,MAAM,EAAE,iBACR,OAAO,yBAAyB,EAAE,gBAAgB,EAAE,iBAK9D;IAED;;;;;OAKG;IACH,mCAHW,OAAO,QAKjB;IAED;;;;;OAKG;IACH,gCAGC;IAQD;;;;;OAKG;IACH,8BAHW,OAAO,mBAAmB,EAAE,KAAK,EAAE,EAAE,QAkB/C;CACJ;uBAxJsB,kBAAkB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"singleAxisWindowedSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/singleAxisWindowedSource.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAQI;;;OAGG;IACH,kBAHU;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAC,CAGxB;IAEP;;;OAGG;IACH,0CAHW,OAAO,uBAAuB,EAAE,aAAa,QAmBvD;IAED;;;;OAIG;IACH,wBAFW,MAAM,EAAE,iBAiBlB;IAED;;;;;OAKG;IACH,iCAHW,MAAM,EAAE,iBAKlB;IAED;;;;;;;;;OASG;IACH,yCANW,MAAM,EAAE,4BACU,OAAO,mCAAmC,EAAE,0BAA0B,UAAU,WAAW,+BAqCvH;IAED;;;;;;;;OAQG;IACH,qCAJW,MAAM,EAAE,cACR,MAAM,YAWhB;IAED;;;;OAIG;IACH,+CAHW,MAAM,EAAE,WAUlB;;CACJ;iCAvJgC,2BAA2B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tabixSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/dynamic/tabixSource.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH;IAII;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,SAAS,QACzC,OAAO,uBAAuB,EAAE,OAAO,EA8CjD;IAhCG,kDAAgC;IAQhC,iCAuBE;IAoCN;;;;;OAKG;IACH,gCAHW,MAAM,EAAE,GACN,CAAC,EAAE,CAKf;;CACJ;qCAvGoC,+BAA+B"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|