@genome-spy/core 0.75.0 → 0.77.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/browser-KWU9rWZT.js +123 -0
- package/dist/bundle/{esm-CgfVIRJ-.js → esm-0dYHNV_D.js} +2 -2
- package/dist/bundle/{esm-sIoQYZ21.js → esm-CRMf_I9V.js} +18 -18
- package/dist/bundle/esm-CT3ygiMq.js +1084 -0
- package/dist/bundle/{esm-DQiq2Zhd.js → esm-CscjKVDc.js} +44 -44
- package/dist/bundle/index.es.js +3408 -3185
- package/dist/bundle/index.js +106 -97
- package/dist/schema.json +352 -0
- package/dist/src/config/defaults/markDefaults.d.ts.map +1 -1
- package/dist/src/config/defaults/markDefaults.js +1 -12
- package/dist/src/config/defaults/scaleDefaults.d.ts.map +1 -1
- package/dist/src/config/defaults/scaleDefaults.js +1 -0
- package/dist/src/config/markConfig.d.ts.map +1 -1
- package/dist/src/config/markConfig.js +16 -8
- package/dist/src/config/themes.d.ts.map +1 -1
- package/dist/src/config/themes.js +15 -2
- package/dist/src/data/sources/lazy/bigWigSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bigWigSource.js +31 -11
- package/dist/src/data/sources/lazy/registerBuiltInLazySources.js +2 -2
- package/dist/src/data/sources/lazy/registerCoreLazySources.d.ts +2 -0
- package/dist/src/data/sources/lazy/registerCoreLazySources.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/registerCoreLazySources.js +2 -0
- package/dist/src/data/sources/lazy/singleAxisWindowedSource.d.ts +19 -3
- package/dist/src/data/sources/lazy/singleAxisWindowedSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/singleAxisWindowedSource.js +34 -13
- package/dist/src/data/sources/lazy/tabixSource.d.ts +7 -0
- package/dist/src/data/sources/lazy/tabixSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/tabixSource.js +18 -0
- package/dist/src/data/sources/lazy/tabixTsvSource.d.ts +37 -0
- package/dist/src/data/sources/lazy/tabixTsvSource.d.ts.map +1 -0
- package/dist/src/data/sources/lazy/tabixTsvSource.js +163 -0
- package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
- package/dist/src/data/transforms/filterScoredLabels.js +3 -2
- package/dist/src/embedFactory.d.ts.map +1 -1
- package/dist/src/embedFactory.js +2 -0
- package/dist/src/genomeSpy/viewContextFactory.d.ts.map +1 -1
- package/dist/src/genomeSpy/viewContextFactory.js +1 -0
- package/dist/src/genomeSpyBase.d.ts +6 -0
- package/dist/src/genomeSpyBase.d.ts.map +1 -1
- package/dist/src/genomeSpyBase.js +15 -1
- package/dist/src/gl/webGLHelper.d.ts +5 -2
- package/dist/src/gl/webGLHelper.d.ts.map +1 -1
- package/dist/src/gl/webGLHelper.js +20 -3
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/marks/__snapshots__/shaderSnapshot.test.js.snap +1084 -2
- package/dist/src/marks/link.vertex.glsl.js +1 -1
- package/dist/src/marks/mark.d.ts.map +1 -1
- package/dist/src/marks/mark.js +0 -6
- package/dist/src/marks/rect.vertex.glsl.js +1 -1
- package/dist/src/minimal.d.ts +1 -0
- package/dist/src/minimal.d.ts.map +1 -1
- package/dist/src/minimal.js +6 -4
- package/dist/src/paramRuntime/embedParamApi.d.ts +26 -0
- package/dist/src/paramRuntime/embedParamApi.d.ts.map +1 -0
- package/dist/src/paramRuntime/embedParamApi.js +133 -0
- package/dist/src/scale/scale.js +10 -2
- package/dist/src/scales/domainPlanner.js +1 -1
- package/dist/src/scales/scaleInteractionController.d.ts +8 -4
- package/dist/src/scales/scaleInteractionController.d.ts.map +1 -1
- package/dist/src/scales/scaleInteractionController.js +55 -7
- package/dist/src/scales/scaleResolution.d.ts +3 -3
- package/dist/src/scales/scaleResolution.d.ts.map +1 -1
- package/dist/src/scales/scaleResolution.js +14 -7
- package/dist/src/scales/selectionDomainUtils.d.ts +10 -0
- package/dist/src/scales/selectionDomainUtils.d.ts.map +1 -1
- package/dist/src/scales/selectionDomainUtils.js +32 -3
- package/dist/src/selection/index.d.ts +8 -0
- package/dist/src/selection/index.d.ts.map +1 -0
- package/dist/src/selection/index.js +12 -0
- package/dist/src/spec/channel.d.ts +30 -0
- package/dist/src/spec/data.d.ts +40 -0
- package/dist/src/spec/parameter.d.ts +6 -0
- package/dist/src/spec/transform.d.ts +6 -0
- package/dist/src/styles/genome-spy.css +8 -0
- package/dist/src/styles/genome-spy.css.d.ts +1 -1
- package/dist/src/styles/genome-spy.css.d.ts.map +1 -1
- package/dist/src/styles/genome-spy.css.js +8 -0
- package/dist/src/types/embedApi.d.ts +54 -0
- package/dist/src/types/scaleResolutionApi.d.ts +28 -1
- package/dist/src/types/viewContext.d.ts +11 -0
- package/dist/src/utils/ui/tooltip.d.ts.map +1 -1
- package/dist/src/utils/ui/tooltip.js +22 -0
- package/dist/src/view/axisGridView.d.ts.map +1 -1
- package/dist/src/view/axisGridView.js +2 -1
- package/dist/src/view/axisView.d.ts.map +1 -1
- package/dist/src/view/axisView.js +2 -1
- package/dist/src/view/facetView.d.ts.map +1 -1
- package/dist/src/view/facetView.js +2 -1
- package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
- package/dist/src/view/gridView/gridChild.js +9 -1
- package/dist/src/view/gridView/gridView.d.ts.map +1 -1
- package/dist/src/view/gridView/gridView.js +198 -32
- package/dist/src/view/gridView/scrollbar.d.ts.map +1 -1
- package/dist/src/view/gridView/scrollbar.js +5 -1
- package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
- package/dist/src/view/gridView/selectionRect.js +5 -1
- package/dist/src/view/gridView/separatorView.d.ts.map +1 -1
- package/dist/src/view/gridView/separatorView.js +5 -1
- package/dist/src/view/testUtils.d.ts +30 -3
- package/dist/src/view/testUtils.d.ts.map +1 -1
- package/dist/src/view/testUtils.js +51 -2
- package/dist/src/view/viewSelectors.d.ts +38 -10
- package/dist/src/view/viewSelectors.d.ts.map +1 -1
- package/dist/src/view/viewSelectors.js +67 -2
- package/dist/src/view/viewUtilTypes.d.ts +15 -0
- package/dist/src/view/viewUtils.d.ts.map +1 -1
- package/dist/src/view/viewUtils.js +10 -0
- package/package.json +3 -3
- package/dist/bundle/browser-BTgw5ieH.js +0 -126
- package/dist/bundle/esm-DtE8VqAv.js +0 -1015
- /package/dist/bundle/{esm-BDFRLEuD.js → esm-C49STiCR.js} +0 -0
- /package/dist/bundle/{esm-CGX-qz1d.js → esm-CuVa5T98.js} +0 -0
package/dist/src/embedFactory.js
CHANGED
|
@@ -79,6 +79,8 @@ export function createEmbed(GenomeSpy) {
|
|
|
79
79
|
return genomeSpy.getNamedScaleResolutions().get(name);
|
|
80
80
|
},
|
|
81
81
|
|
|
82
|
+
getParam: genomeSpy.getParam.bind(genomeSpy),
|
|
83
|
+
|
|
82
84
|
awaitVisibleLazyData:
|
|
83
85
|
genomeSpy.awaitVisibleLazyData.bind(genomeSpy),
|
|
84
86
|
getRenderedBounds: genomeSpy.getRenderedBounds.bind(genomeSpy),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewContextFactory.d.ts","sourceRoot":"","sources":["../../../src/genomeSpy/viewContextFactory.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;GAUG;AACH,2CANW,OAAO,CAAC,WAAW,CAAC,GAAG;IAC7B,6BAA6B,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,iBAAiB,EAAE,QAAQ,GAAG,OAAO,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,OAAO,0BAA0B,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,iBAAiB,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,iBAAiB,EAAE,QAAQ,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,iBAAiB,EAAE,OAAO,CAAC,CAAA;IACrb,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,GACS,WAAW,
|
|
1
|
+
{"version":3,"file":"viewContextFactory.d.ts","sourceRoot":"","sources":["../../../src/genomeSpy/viewContextFactory.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;GAUG;AACH,2CANW,OAAO,CAAC,WAAW,CAAC,GAAG;IAC7B,6BAA6B,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,iBAAiB,EAAE,QAAQ,GAAG,OAAO,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,OAAO,0BAA0B,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,iBAAiB,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,iBAAiB,EAAE,QAAQ,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,iBAAiB,EAAE,OAAO,CAAC,CAAA;IACrb,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,GACS,WAAW,CAyEvB;0BArFY,OAAO,yBAAyB,EAAE,OAAO"}
|
|
@@ -53,6 +53,12 @@ export default class GenomeSpy {
|
|
|
53
53
|
* @param {any[]} data
|
|
54
54
|
*/
|
|
55
55
|
updateNamedData(name: string, data: any[]): void;
|
|
56
|
+
/**
|
|
57
|
+
* Returns a handle for a named parameter.
|
|
58
|
+
*
|
|
59
|
+
* @param {string} name
|
|
60
|
+
*/
|
|
61
|
+
getParam(name: string): import("./types/embedApi.js").ParamApi<import("./types/embedApi.js").ParamValue>;
|
|
56
62
|
/**
|
|
57
63
|
* @param {string} type
|
|
58
64
|
* @param {(event: any) => void} listener
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genomeSpyBase.d.ts","sourceRoot":"","sources":["../../src/genomeSpyBase.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"genomeSpyBase.d.ts","sourceRoot":"","sources":["../../src/genomeSpyBase.js"],"names":[],"mappings":"AA+CA;;;GAGG;AAEH;IAoBI;;;;;OAKG;IAEH;;;;;OAKG;IACH,uBAJW,WAAW,qDAEX,OAAO,qBAAqB,EAAE,YAAY,EA0CpD;IAvCG,uBAA0B;IAC1B,oDAAsB;IAItB,sCAAsC;IACtC,wCAAgB;IAEhB,yBAAoC;IAEpC,4CAA4C;IAC5C,oBADW,CAAC,CAAS,IAAM,EAAN,MAAM,KAAE,MAAM,EAAE,CAAC,EAAE,CACZ;IAE5B,mBAAoD;IAEpD,0BAA0B;IAC1B,aADW,WAAW,CACM;IAE5B;;;;;OAKG;IACH,yBAFU,CAAC,IAAI,qEAAM,KAAK,OAAO,CAE8B;IAE/D,oFAAoF;IACpF,iBADW,MAAM,CAAC,MAAM,EAAE,OAAO,6BAA6B,EAAE,cAAc,CAAC,CAK9E;IAED,mBAAmB;IACnB,8EAAyB;IAIzB,YAAkC;IAatC;;;OAGG;IACH,oCAFW,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,EAAE,QAIjC;IAED;;OAEG;IACH,+BAFW,MAAM,YAShB;IAED;;;;OAIG;IACH,sBAHW,MAAM,QACN,GAAG,EAAE,QAYf;IAED;;;;OAIG;IACH,eAFW,MAAM,oFAIhB;IAED;;;OAGG;IACH,uBAHW,MAAM,YACN,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,QAI9B;IAED;;;OAGG;IACH,0BAHW,MAAM,YACN,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,QAI9B;IAED;;;;;OAKG;IACH,gBAHW,kBAAkB,YAClB,GAAG,QAMb;IAmEG,iDAAsB;IAQ1B;;OAEG;IACH,gBAqBC;IA0ND;;;OAGG;IACH,UAFa,OAAO,CAAC,OAAO,CAAC,CAyC5B;IAED,2CAiBC;IAED;;;;;OAKG;IACH,8BAFW,WAAW,iBAerB;IAED;;;;;;;OAOG;IACH,cAFa,CAAC,SAFH,CAAC,cACD,CAAS,IAAC,EAAD,CAAC,KAAE,OAAO,CAAC,MAAM,GAAG,WAAW,GAAG,OAAO,KAAK,EAAE,cAAc,CAAC,QAKlF;IAED;;;;;;;;OAQG;IACH,4BANW,MAAM,kBACN,MAAM,qBACN,MAAM,eACN,MAAM,UAuBhB;IAED;;;MAEC;IAED;eACwB,MAAM,GAAG,SAAS;gBAAU,MAAM,GAAG,SAAS;MAcrE;IAED,sBAGC;IAED,kBAEC;IAED,iCAEC;IAED,oEAYC;IAED,uFAWC;;CACJ;;;;iCAzpBY,eAAe,GAAG,QAAQ,GAAG,gBAAgB,GAAG,kBAAkB;4BAvBnC,uBAAuB;qBAP9C,qBAAqB;wBAElB,yBAAyB;qBAL5B,oBAAoB"}
|
|
@@ -31,6 +31,7 @@ import { createViewContext } from "./genomeSpy/viewContextFactory.js";
|
|
|
31
31
|
import { prepareViewHierarchy } from "./genomeSpy/headlessBootstrap.js";
|
|
32
32
|
import { exportCanvas } from "./genomeSpy/canvasExport.js";
|
|
33
33
|
import { validateSelectorConstraints } from "./view/viewSelectors.js";
|
|
34
|
+
import { resolveEmbedParam } from "./paramRuntime/embedParamApi.js";
|
|
34
35
|
import SingleAxisWindowedSource from "./data/sources/lazy/singleAxisWindowedSource.js";
|
|
35
36
|
import { ensureAssembliesForView } from "./genome/assemblyPreflight.js";
|
|
36
37
|
import { resolveRootGenomeConfig } from "./genome/rootGenomeConfig.js";
|
|
@@ -171,6 +172,15 @@ export default class GenomeSpy {
|
|
|
171
172
|
this.animator.requestRender();
|
|
172
173
|
}
|
|
173
174
|
|
|
175
|
+
/**
|
|
176
|
+
* Returns a handle for a named parameter.
|
|
177
|
+
*
|
|
178
|
+
* @param {string} name
|
|
179
|
+
*/
|
|
180
|
+
getParam(name) {
|
|
181
|
+
return resolveEmbedParam(this.viewRoot, name);
|
|
182
|
+
}
|
|
183
|
+
|
|
174
184
|
/**
|
|
175
185
|
* @param {string} type
|
|
176
186
|
* @param {(event: any) => void} listener
|
|
@@ -256,7 +266,10 @@ export default class GenomeSpy {
|
|
|
256
266
|
this.viewRoot
|
|
257
267
|
? calculateCanvasSize(this.viewRoot)
|
|
258
268
|
: { width: undefined, height: undefined },
|
|
259
|
-
{ powerPreference: this.options.powerPreference ?? "default" }
|
|
269
|
+
{ powerPreference: this.options.powerPreference ?? "default" },
|
|
270
|
+
// Physical backing-store changes do not affect layout, but they
|
|
271
|
+
// clear the canvas and require repainting the existing render batch.
|
|
272
|
+
() => this.#renderCoordinator?.renderAll()
|
|
260
273
|
);
|
|
261
274
|
|
|
262
275
|
canvasWrapper.appendChild(loadingIndicatorsElement);
|
|
@@ -357,6 +370,7 @@ export default class GenomeSpy {
|
|
|
357
370
|
this.#extraBroadcastListeners.add(type, listener),
|
|
358
371
|
removeBroadcastListener: (type, listener) =>
|
|
359
372
|
this.#extraBroadcastListeners.remove(type, listener),
|
|
373
|
+
renderImmediately: this.renderAll.bind(this),
|
|
360
374
|
isViewConfiguredVisible: this.viewVisibilityPredicate,
|
|
361
375
|
isViewSpec: (spec) => this.viewFactory.isViewSpec(spec),
|
|
362
376
|
getBaseConfig: () => baseConfig,
|
|
@@ -40,11 +40,12 @@ export default class WebGLHelper {
|
|
|
40
40
|
* A function that returns the content size. If a dimension is undefined,
|
|
41
41
|
* the canvas fills the container, otherwise the canvas is adjusted to the content size.
|
|
42
42
|
* @param {WebGLContextAttributes} [webglContextAttributes]
|
|
43
|
+
* @param {() => void} [onCanvasResize]
|
|
43
44
|
*/
|
|
44
45
|
constructor(container: HTMLElement, sizeSource?: () => {
|
|
45
46
|
width: number;
|
|
46
47
|
height: number;
|
|
47
|
-
}, webglContextAttributes?: WebGLContextAttributes);
|
|
48
|
+
}, webglContextAttributes?: WebGLContextAttributes, onCanvasResize?: () => void);
|
|
48
49
|
/**
|
|
49
50
|
* @type {CanvasSizeHelper}
|
|
50
51
|
*/
|
|
@@ -58,6 +59,8 @@ export default class WebGLHelper {
|
|
|
58
59
|
physicalWidth: number;
|
|
59
60
|
physicalHeight: number;
|
|
60
61
|
} | undefined;
|
|
62
|
+
/** @type {() => void} */
|
|
63
|
+
_onCanvasResize: () => void;
|
|
61
64
|
/** @type {Map<string, WebGLShader>} */
|
|
62
65
|
_shaderCache: Map<string, WebGLShader>;
|
|
63
66
|
/** @type {WeakMap<import("../types/encoder.js").VegaScale, WebGLTexture>} */
|
|
@@ -79,7 +82,7 @@ export default class WebGLHelper {
|
|
|
79
82
|
* @param {string | string[]} glsl
|
|
80
83
|
*/
|
|
81
84
|
compileShader(type: number, glsl: string | string[]): WebGLShader;
|
|
82
|
-
adjustGl():
|
|
85
|
+
adjustGl(): boolean;
|
|
83
86
|
finalize(): void;
|
|
84
87
|
/**
|
|
85
88
|
* Returns the canvas size in true display pixels
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webGLHelper.d.ts","sourceRoot":"","sources":["../../../src/gl/webGLHelper.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webGLHelper.d.ts","sourceRoot":"","sources":["../../../src/gl/webGLHelper.js"],"names":[],"mappings":"AA0cA;;;;GAIG;AACH,kCAJW,sBAAsB,gBACtB,WAAW,kBACX,WAAW;;;;;;EA8CrB;AAED;;;;;GAKG;AACH,0CALW,qBAAqB,WACrB,IAAI,CAAC,OAAO,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,OAC7C,MAAM,EAAE,GAAG,eAAe,YAC1B,YAAY,gBAYtB;AAED;;;;;;GAMG;AACH,qCALW,sBAAsB,mBACtB,OAAO,SAAS,EAAE,eAAe,KACjC,MAAM,KACN,MAAM,2BAWhB;AAED;;;;;GAKG;AACH,yCAJW,sBAAsB,mBACtB,OAAO,SAAS,EAAE,eAAe,SACjC,MAAM,UA4BhB;AA9hBD;IACI;;;;;;;;OAQG;IACH,uBAPW,WAAW,eACX,MAAM;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,2BAGrC,sBAAsB,mBACtB,MAAM,IAAI,EAoHpB;IArGG;;OAEG;IACH,mBAFU,gBAAgB,CAEQ;IAElC;;OAEG;IACH,oBAFU;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAEjF;IAEnC,yBAAyB;IACzB,iBADW,MAAM,IAAI,CAC8B;IAEnD,uCAAuC;IACvC,cADW,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CACN;IAE7B,6EAA6E;IAC7E,eADW,OAAO,CAAC,OAAO,qBAAqB,EAAE,SAAS,EAAE,YAAY,CAAC,CACvC;IAElC;;OAEG;IACH,mBAFU,OAAO,CAAC,OAAO,4BAA4B,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAEnD;IA8CtC,0BAAoB;IACpB,2BAAY;IAGZ,oDAAoD;IACpD,2BADW,OAAO,SAAS,EAAE,iBAAiB,EAAE,CAQ/C;IACD,sDAGC;IAmBL,uBAGC;IAED;;;;;OAKG;IACH,oBAHW,MAAM,QACN,MAAM,GAAG,MAAM,EAAE,eA2B3B;IAED,oBAkCC;IAED,iBAGC;IAED;;;;OAIG;IACH,oCAFW;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;;;MAI3C;IAED;;;;OAIG;IACH,kCAFW;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,UAI3C;IAED;;;OAGG;IACH;;;MAEC;IAED;;;;;;;;;OASG;IACH,+BAHW,OAAO,8BAA8B,EAAE,OAAO,WAC9C,OAAO,QA2GjB;IAED;;OAEG;IACH,kCAFW,OAAO,4BAA4B,EAAE,mBAAmB,0BAwClE;CACJ;6BAxY4B,uBAAuB"}
|
|
@@ -41,8 +41,14 @@ export default class WebGLHelper {
|
|
|
41
41
|
* A function that returns the content size. If a dimension is undefined,
|
|
42
42
|
* the canvas fills the container, otherwise the canvas is adjusted to the content size.
|
|
43
43
|
* @param {WebGLContextAttributes} [webglContextAttributes]
|
|
44
|
+
* @param {() => void} [onCanvasResize]
|
|
44
45
|
*/
|
|
45
|
-
constructor(
|
|
46
|
+
constructor(
|
|
47
|
+
container,
|
|
48
|
+
sizeSource,
|
|
49
|
+
webglContextAttributes = {},
|
|
50
|
+
onCanvasResize
|
|
51
|
+
) {
|
|
46
52
|
const resolvedSizeSource =
|
|
47
53
|
sizeSource ??
|
|
48
54
|
(() => ({
|
|
@@ -60,6 +66,9 @@ export default class WebGLHelper {
|
|
|
60
66
|
*/
|
|
61
67
|
this._appliedCanvasSize = undefined;
|
|
62
68
|
|
|
69
|
+
/** @type {() => void} */
|
|
70
|
+
this._onCanvasResize = onCanvasResize ?? (() => {});
|
|
71
|
+
|
|
63
72
|
/** @type {Map<string, WebGLShader>} */
|
|
64
73
|
this._shaderCache = new Map();
|
|
65
74
|
|
|
@@ -138,7 +147,13 @@ export default class WebGLHelper {
|
|
|
138
147
|
container,
|
|
139
148
|
canvas,
|
|
140
149
|
resolvedSizeSource,
|
|
141
|
-
() =>
|
|
150
|
+
() => {
|
|
151
|
+
// Assigning canvas.width/height clears the WebGL drawing buffer.
|
|
152
|
+
// The observer may fire after layout/render, so repaint immediately.
|
|
153
|
+
if (this.adjustGl()) {
|
|
154
|
+
this._onCanvasResize();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
142
157
|
);
|
|
143
158
|
|
|
144
159
|
this.adjustGl();
|
|
@@ -193,7 +208,7 @@ export default class WebGLHelper {
|
|
|
193
208
|
this._appliedCanvasSize.physicalWidth == physicalSize.width &&
|
|
194
209
|
this._appliedCanvasSize.physicalHeight == physicalSize.height
|
|
195
210
|
) {
|
|
196
|
-
return;
|
|
211
|
+
return false;
|
|
197
212
|
}
|
|
198
213
|
|
|
199
214
|
this.canvas.style.width = `${logicalSize.width}px`;
|
|
@@ -214,6 +229,8 @@ export default class WebGLHelper {
|
|
|
214
229
|
physicalWidth: physicalSize.width,
|
|
215
230
|
physicalHeight: physicalSize.height,
|
|
216
231
|
};
|
|
232
|
+
|
|
233
|
+
return true;
|
|
217
234
|
}
|
|
218
235
|
|
|
219
236
|
finalize() {
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export const embed: (el: HTMLElement | string, spec: import("./spec/root.js").RootSpec | string, options?: import("./types/embedApi.js").EmbedOptions) => Promise<import("./types/embedApi.js").EmbedResult>;
|
|
2
|
+
export { intervalSelection } from "./selection/index.js";
|
|
2
3
|
import GenomeSpy from "./genomeSpy.js";
|
|
3
4
|
import { html } from "lit";
|
|
4
5
|
import icon from "./img/bowtie.svg";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"AAWA,6MAA4C
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"AAWA,6MAA4C;;sBAPtB,gBAAgB;qBAJjB,KAAK;iBAKT,kBAAkB;oBACf,6BAA6B;yBACX,mBAAmB"}
|
package/dist/src/index.js
CHANGED