wuepgg3-track 2.1.5 → 3.0.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.
Files changed (45) hide show
  1. package/dist/{SharedSystems-DtNL-LrX.mjs → SharedSystems-lo30UJjL.mjs} +3 -3
  2. package/dist/{WebGLRenderer-DlWk4aSQ.mjs → WebGLRenderer-Dg7VLLw-.mjs} +18 -16
  3. package/dist/{WebGPURenderer-DlIhGb58.mjs → WebGPURenderer-FuA3tJ-C.mjs} +33 -30
  4. package/dist/{browserAll-Ch9OEf2Q.mjs → browserAll-DHo9VyBB.mjs} +10 -9
  5. package/dist/{colorToUniform-DLzITdSX.mjs → colorToUniform-BgG3nLnP.mjs} +26 -26
  6. package/dist/components/GenomeView/TrackComponents/DynseqComponents/DynseqTrackComponents.d.ts +0 -8
  7. package/dist/components/GenomeView/TrackComponents/GroupedTrackManager.d.ts +0 -3
  8. package/dist/components/GenomeView/TrackComponents/InteractionComponents/ArcDisplay.d.ts +1 -0
  9. package/dist/components/GenomeView/TrackComponents/InteractionComponents/CubicCurveDisplay.d.ts +1 -0
  10. package/dist/components/GenomeView/TrackComponents/InteractionComponents/SquareDisplay.d.ts +1 -0
  11. package/dist/components/GenomeView/TrackComponents/MethylcComponents/MethylCTrackComputation.d.ts +1 -7
  12. package/dist/components/GenomeView/TrackComponents/QBedComponents/QBedTrackComponents.d.ts +1 -1
  13. package/dist/components/GenomeView/TrackComponents/bedComponents/FiberTrackComponent.d.ts +5 -2
  14. package/dist/components/GenomeView/TrackComponents/commonComponents/numerical/MatplotTrackComponent.d.ts +2 -1
  15. package/dist/components/GenomeView/TrackComponents/commonComponents/numerical/NumericalAggregator.d.ts +1 -2
  16. package/dist/components/GenomeView/TrackComponents/commonComponents/numerical/NumericalTrack.d.ts +1 -1
  17. package/dist/components/GenomeView/TrackComponents/commonComponents/stats/BoxplotTrackComponents.d.ts +0 -12
  18. package/dist/components/GenomeView/TrackComponents/displayModeComponentMap.d.ts +1 -0
  19. package/dist/getRemoteData/BigSourceWorkerGmod.d.ts +5 -3
  20. package/dist/{index-DY2k589f.mjs → index-3ZU44zAW.mjs} +46243 -48121
  21. package/dist/index.es.js +44 -43
  22. package/dist/index.umd.js +252 -257
  23. package/dist/{init-CW9ApwVm.mjs → init-DTztoKjk.mjs} +4 -2
  24. package/dist/models/FeatureAggregator.d.ts +16 -1
  25. package/dist/models/FeatureArranger.d.ts +8 -18
  26. package/dist/models/Rmskv2Feature.d.ts +32 -0
  27. package/dist/models/getXSpan/FeaturePlacer.d.ts +48 -8
  28. package/dist/style.css +1 -1
  29. package/dist/track-container/index.d.ts +1 -1
  30. package/dist/trackConfigs/config-menu-models.tsx/Rmskv2TrackConfig.d.ts +4 -0
  31. package/dist/trackConfigs/config-menu-models.tsx/getTrackConfig.d.ts +2 -0
  32. package/dist/types/track-container.d.ts +3 -0
  33. package/dist/webworkerAll-BIMQLOM-.mjs +2 -0
  34. package/package.json +1 -1
  35. package/dist/assets/fetchDataWorker-B2Xfx9L6.js +0 -59
  36. package/dist/assets/fetchGenomeAlignWorker-CsrbJZgd.js +0 -72
  37. package/dist/getRemoteData/BigSourceWorker.d.ts +0 -47
  38. package/dist/getRemoteData/RepeatSource.d.ts +0 -8
  39. package/dist/getRemoteData/vendor/bbi-js/main/bigwig.d.ts +0 -1
  40. package/dist/getRemoteData/vendor/bbi-js/utils/bin.d.ts +0 -12
  41. package/dist/getRemoteData/vendor/bbi-js/utils/das.d.ts +0 -6
  42. package/dist/getRemoteData/vendor/bbi-js/utils/jszlib.d.ts +0 -1
  43. package/dist/getRemoteData/vendor/bbi-js/utils/sha1.d.ts +0 -1
  44. package/dist/getRemoteData/vendor/bbi-js/utils/spans.d.ts +0 -13
  45. package/dist/webworkerAll-CItaxILk.mjs +0 -2
@@ -1,5 +1,5 @@
1
- import { u as Ee, m as ae, M as v, G as De, a as Oe, v as ne, E as u, e as D, x as S, y as Fe, z as O, F as b, R as F, H as ie, I as Le, t as m, c as f, j as B, w as L, J as Y, K as He, d as J, B as k, k as U, L as ze, N as M, l as T, O as w, Q as We, b as Ve, V as oe, W as le, X as ue, Y as de, C as P, Z as Ne, _ as A, $ as X, D as H, a0 as je, P as $e, h as qe, T as Q, a1 as Z, a2 as Ke, a3 as Ye, a4 as Je } from "./index-DY2k589f.mjs";
2
- import { F as Xe, S as Qe, B as ce, c as Ze } from "./colorToUniform-DLzITdSX.mjs";
1
+ import { u as Ee, m as ae, M as v, G as De, a as Oe, v as ne, E as u, e as D, x as S, y as Fe, z as O, F as b, R as F, H as ie, I as Le, t as m, c as f, j as B, w as L, J as Y, K as He, d as J, B as k, k as U, L as ze, N as M, l as T, O as w, Q as We, b as Ve, V as oe, W as le, X as ue, Y as de, C as P, Z as Ne, _ as A, $ as X, D as H, a0 as je, P as $e, h as qe, T as Q, a1 as Z, a2 as Ke, a3 as Ye, a4 as Je } from "./index-3ZU44zAW.mjs";
2
+ import { F as Xe, S as Qe, B as ce, c as Ze } from "./colorToUniform-BgG3nLnP.mjs";
3
3
  var et = `in vec2 vMaskCoord;
4
4
  in vec2 vTextureCoord;
5
5
 
@@ -1269,7 +1269,7 @@ class Ot extends Ve {
1269
1269
  * @param destroyBuffer - Should the underlying buffer be destroyed as well?
1270
1270
  */
1271
1271
  destroy(e = !1) {
1272
- this.destroyed = !0, e && this.buffer.destroy(), this.emit("change", this), this.buffer = null;
1272
+ this.destroyed = !0, e && this.buffer.destroy(), this.emit("change", this), this.buffer = null, this.removeAllListeners();
1273
1273
  }
1274
1274
  }
1275
1275
  class be {
@@ -1,6 +1,6 @@
1
- import { E as d, B, w as m, D as S, J as K, a as Be, S as U, t as b, a5 as Ae, l as $, a6 as Ne, c as p, O as H, k as A, j as N, m as F, M as z, a7 as Y, a8 as ye, a9 as Ce, aa as q, ab as Ie, A as De, R as Ge, e as T } from "./index-DY2k589f.mjs";
2
- import { S as O, b as Z } from "./colorToUniform-DLzITdSX.mjs";
3
- import { e as Ue, G as Fe, c as Oe, b as Pe, U as Me, R as Le, B as J, d as y, f as He, S as we, a as Ve } from "./SharedSystems-DtNL-LrX.mjs";
1
+ import { E as d, B, w as m, D as S, J as K, a as Be, S as U, t as b, a5 as Ae, l as $, a6 as Ne, c as p, O as H, k as A, j as N, m as F, M as z, a7 as Y, a8 as ye, a9 as Ce, aa as q, ab as De, A as Ie, R as Ge, e as T } from "./index-3ZU44zAW.mjs";
2
+ import { S as O, b as Z } from "./colorToUniform-BgG3nLnP.mjs";
3
+ import { e as Ue, G as Fe, c as Oe, b as Pe, U as Me, R as Le, B as J, d as y, f as He, S as we, a as Ve } from "./SharedSystems-lo30UJjL.mjs";
4
4
  class Q {
5
5
  constructor() {
6
6
  this._tempState = O.for2d(), this._didUploadHash = {};
@@ -45,7 +45,7 @@ class ee {
45
45
  }
46
46
  /** @ignore */
47
47
  destroy() {
48
- this._renderer = null, this._gl = null, this._gpuBuffers = null, this._boundBufferBases = null;
48
+ this.destroyAll(), this._renderer = null, this._gl = null, this._gpuBuffers = {}, this._boundBufferBases = {};
49
49
  }
50
50
  /** Sets up the renderer context and necessary buffers. */
51
51
  contextChange() {
@@ -124,7 +124,7 @@ class ee {
124
124
  destroyAll() {
125
125
  const e = this._gl;
126
126
  for (const r in this._gpuBuffers)
127
- e.deleteBuffer(this._gpuBuffers[r].buffer);
127
+ this._gpuBuffers[r] && e.deleteBuffer(this._gpuBuffers[r].buffer);
128
128
  this._gpuBuffers = /* @__PURE__ */ Object.create(null);
129
129
  }
130
130
  /**
@@ -133,8 +133,10 @@ class ee {
133
133
  * @param {boolean} [contextLost=false] - If context was lost, we suppress deleteVertexArray
134
134
  */
135
135
  onBufferDestroy(e, r) {
136
+ if (!this._gpuBuffers[e.uid])
137
+ return;
136
138
  const s = this._gpuBuffers[e.uid], n = this._gl;
137
- r || n.deleteBuffer(s.buffer), this._gpuBuffers[e.uid] = null;
139
+ r || n.deleteBuffer(s.buffer), e.off("destroy", this.onBufferDestroy, this), this._gpuBuffers[e.uid] = null;
138
140
  }
139
141
  /**
140
142
  * creates and attaches a GLBuffer object tied to the current context.
@@ -362,7 +364,7 @@ P.defaultOptions = {
362
364
  multiView: !1
363
365
  };
364
366
  let Xe = P;
365
- var D = /* @__PURE__ */ ((t) => (t[t.RGBA = 6408] = "RGBA", t[t.RGB = 6407] = "RGB", t[t.RG = 33319] = "RG", t[t.RED = 6403] = "RED", t[t.RGBA_INTEGER = 36249] = "RGBA_INTEGER", t[t.RGB_INTEGER = 36248] = "RGB_INTEGER", t[t.RG_INTEGER = 33320] = "RG_INTEGER", t[t.RED_INTEGER = 36244] = "RED_INTEGER", t[t.ALPHA = 6406] = "ALPHA", t[t.LUMINANCE = 6409] = "LUMINANCE", t[t.LUMINANCE_ALPHA = 6410] = "LUMINANCE_ALPHA", t[t.DEPTH_COMPONENT = 6402] = "DEPTH_COMPONENT", t[t.DEPTH_STENCIL = 34041] = "DEPTH_STENCIL", t))(D || {}), re = /* @__PURE__ */ ((t) => (t[t.TEXTURE_2D = 3553] = "TEXTURE_2D", t[t.TEXTURE_CUBE_MAP = 34067] = "TEXTURE_CUBE_MAP", t[t.TEXTURE_2D_ARRAY = 35866] = "TEXTURE_2D_ARRAY", t[t.TEXTURE_CUBE_MAP_POSITIVE_X = 34069] = "TEXTURE_CUBE_MAP_POSITIVE_X", t[t.TEXTURE_CUBE_MAP_NEGATIVE_X = 34070] = "TEXTURE_CUBE_MAP_NEGATIVE_X", t[t.TEXTURE_CUBE_MAP_POSITIVE_Y = 34071] = "TEXTURE_CUBE_MAP_POSITIVE_Y", t[t.TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072] = "TEXTURE_CUBE_MAP_NEGATIVE_Y", t[t.TEXTURE_CUBE_MAP_POSITIVE_Z = 34073] = "TEXTURE_CUBE_MAP_POSITIVE_Z", t[t.TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074] = "TEXTURE_CUBE_MAP_NEGATIVE_Z", t))(re || {}), h = /* @__PURE__ */ ((t) => (t[t.UNSIGNED_BYTE = 5121] = "UNSIGNED_BYTE", t[t.UNSIGNED_SHORT = 5123] = "UNSIGNED_SHORT", t[t.UNSIGNED_SHORT_5_6_5 = 33635] = "UNSIGNED_SHORT_5_6_5", t[t.UNSIGNED_SHORT_4_4_4_4 = 32819] = "UNSIGNED_SHORT_4_4_4_4", t[t.UNSIGNED_SHORT_5_5_5_1 = 32820] = "UNSIGNED_SHORT_5_5_5_1", t[t.UNSIGNED_INT = 5125] = "UNSIGNED_INT", t[t.UNSIGNED_INT_10F_11F_11F_REV = 35899] = "UNSIGNED_INT_10F_11F_11F_REV", t[t.UNSIGNED_INT_2_10_10_10_REV = 33640] = "UNSIGNED_INT_2_10_10_10_REV", t[t.UNSIGNED_INT_24_8 = 34042] = "UNSIGNED_INT_24_8", t[t.UNSIGNED_INT_5_9_9_9_REV = 35902] = "UNSIGNED_INT_5_9_9_9_REV", t[t.BYTE = 5120] = "BYTE", t[t.SHORT = 5122] = "SHORT", t[t.INT = 5124] = "INT", t[t.FLOAT = 5126] = "FLOAT", t[t.FLOAT_32_UNSIGNED_INT_24_8_REV = 36269] = "FLOAT_32_UNSIGNED_INT_24_8_REV", t[t.HALF_FLOAT = 36193] = "HALF_FLOAT", t))(h || {});
367
+ var I = /* @__PURE__ */ ((t) => (t[t.RGBA = 6408] = "RGBA", t[t.RGB = 6407] = "RGB", t[t.RG = 33319] = "RG", t[t.RED = 6403] = "RED", t[t.RGBA_INTEGER = 36249] = "RGBA_INTEGER", t[t.RGB_INTEGER = 36248] = "RGB_INTEGER", t[t.RG_INTEGER = 33320] = "RG_INTEGER", t[t.RED_INTEGER = 36244] = "RED_INTEGER", t[t.ALPHA = 6406] = "ALPHA", t[t.LUMINANCE = 6409] = "LUMINANCE", t[t.LUMINANCE_ALPHA = 6410] = "LUMINANCE_ALPHA", t[t.DEPTH_COMPONENT = 6402] = "DEPTH_COMPONENT", t[t.DEPTH_STENCIL = 34041] = "DEPTH_STENCIL", t))(I || {}), re = /* @__PURE__ */ ((t) => (t[t.TEXTURE_2D = 3553] = "TEXTURE_2D", t[t.TEXTURE_CUBE_MAP = 34067] = "TEXTURE_CUBE_MAP", t[t.TEXTURE_2D_ARRAY = 35866] = "TEXTURE_2D_ARRAY", t[t.TEXTURE_CUBE_MAP_POSITIVE_X = 34069] = "TEXTURE_CUBE_MAP_POSITIVE_X", t[t.TEXTURE_CUBE_MAP_NEGATIVE_X = 34070] = "TEXTURE_CUBE_MAP_NEGATIVE_X", t[t.TEXTURE_CUBE_MAP_POSITIVE_Y = 34071] = "TEXTURE_CUBE_MAP_POSITIVE_Y", t[t.TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072] = "TEXTURE_CUBE_MAP_NEGATIVE_Y", t[t.TEXTURE_CUBE_MAP_POSITIVE_Z = 34073] = "TEXTURE_CUBE_MAP_POSITIVE_Z", t[t.TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074] = "TEXTURE_CUBE_MAP_NEGATIVE_Z", t))(re || {}), h = /* @__PURE__ */ ((t) => (t[t.UNSIGNED_BYTE = 5121] = "UNSIGNED_BYTE", t[t.UNSIGNED_SHORT = 5123] = "UNSIGNED_SHORT", t[t.UNSIGNED_SHORT_5_6_5 = 33635] = "UNSIGNED_SHORT_5_6_5", t[t.UNSIGNED_SHORT_4_4_4_4 = 32819] = "UNSIGNED_SHORT_4_4_4_4", t[t.UNSIGNED_SHORT_5_5_5_1 = 32820] = "UNSIGNED_SHORT_5_5_5_1", t[t.UNSIGNED_INT = 5125] = "UNSIGNED_INT", t[t.UNSIGNED_INT_10F_11F_11F_REV = 35899] = "UNSIGNED_INT_10F_11F_11F_REV", t[t.UNSIGNED_INT_2_10_10_10_REV = 33640] = "UNSIGNED_INT_2_10_10_10_REV", t[t.UNSIGNED_INT_24_8 = 34042] = "UNSIGNED_INT_24_8", t[t.UNSIGNED_INT_5_9_9_9_REV = 35902] = "UNSIGNED_INT_5_9_9_9_REV", t[t.BYTE = 5120] = "BYTE", t[t.SHORT = 5122] = "SHORT", t[t.INT = 5124] = "INT", t[t.FLOAT = 5126] = "FLOAT", t[t.FLOAT_32_UNSIGNED_INT_24_8_REV = 36269] = "FLOAT_32_UNSIGNED_INT_24_8_REV", t[t.HALF_FLOAT = 36193] = "HALF_FLOAT", t))(h || {});
366
368
  const w = {
367
369
  uint8x2: h.UNSIGNED_BYTE,
368
370
  uint8x4: h.UNSIGNED_BYTE,
@@ -592,7 +594,7 @@ class se {
592
594
  this.gl.bindVertexArray(null), this._activeVao = null, this._activeGeometry = null;
593
595
  }
594
596
  destroy() {
595
- this._renderer = null, this.gl = null, this._activeVao = null, this._activeGeometry = null, this._geometryVaoHash = null;
597
+ this._renderer = null, this.gl = null, this._activeVao = null, this._activeGeometry = null, this._geometryVaoHash = {};
596
598
  }
597
599
  }
598
600
  se.extension = {
@@ -1885,7 +1887,7 @@ Ee.extension = {
1885
1887
  let St = Ee;
1886
1888
  class pt {
1887
1889
  constructor(e) {
1888
- this.target = re.TEXTURE_2D, this.texture = e, this.width = -1, this.height = -1, this.type = h.UNSIGNED_BYTE, this.internalFormat = D.RGBA, this.format = D.RGBA, this.samplerType = 0;
1890
+ this.target = re.TEXTURE_2D, this.texture = e, this.width = -1, this.height = -1, this.type = h.UNSIGNED_BYTE, this.internalFormat = I.RGBA, this.format = I.RGBA, this.samplerType = 0;
1889
1891
  }
1890
1892
  }
1891
1893
  const gt = {
@@ -2089,7 +2091,7 @@ const gt = {
2089
2091
  linear: 9986,
2090
2092
  nearest: 9984
2091
2093
  }
2092
- }, I = {
2094
+ }, D = {
2093
2095
  "clamp-to-edge": 33071,
2094
2096
  repeat: 10497,
2095
2097
  "mirror-repeat": 33648
@@ -2106,7 +2108,7 @@ const gt = {
2106
2108
  function j(t, e, r, s, n, i, a, o) {
2107
2109
  const c = i;
2108
2110
  if (!o || t.addressModeU !== "repeat" || t.addressModeV !== "repeat" || t.addressModeW !== "repeat") {
2109
- const u = I[a ? "clamp-to-edge" : t.addressModeU], _ = I[a ? "clamp-to-edge" : t.addressModeV], f = I[a ? "clamp-to-edge" : t.addressModeW];
2111
+ const u = D[a ? "clamp-to-edge" : t.addressModeU], _ = D[a ? "clamp-to-edge" : t.addressModeV], f = D[a ? "clamp-to-edge" : t.addressModeW];
2110
2112
  e[n](c, e.TEXTURE_WRAP_S, u), e[n](c, e.TEXTURE_WRAP_T, _), e.TEXTURE_WRAP_R && e[n](c, e.TEXTURE_WRAP_R, f);
2111
2113
  }
2112
2114
  if ((!o || t.magFilter !== "linear") && e[n](c, e.TEXTURE_MAG_FILTER, W[t.magFilter]), r) {
@@ -2526,7 +2528,7 @@ class pe {
2526
2528
  glProgram: n,
2527
2529
  resources: {
2528
2530
  localUniforms: r,
2529
- batchSamplers: Ie(s)
2531
+ batchSamplers: De(s)
2530
2532
  }
2531
2533
  });
2532
2534
  }
@@ -2605,7 +2607,7 @@ ge.extension = {
2605
2607
  ],
2606
2608
  name: "mesh"
2607
2609
  };
2608
- const It = [
2610
+ const Dt = [
2609
2611
  ...we,
2610
2612
  _e,
2611
2613
  $e,
@@ -2621,12 +2623,12 @@ const It = [
2621
2623
  St,
2622
2624
  ce,
2623
2625
  ie
2624
- ], Dt = [...Ve], Gt = [Q, ge, pe], Re = [], xe = [], Te = [];
2626
+ ], It = [...Ve], Gt = [Q, ge, pe], Re = [], xe = [], Te = [];
2625
2627
  T.handleByNamedList(d.WebGLSystem, Re);
2626
2628
  T.handleByNamedList(d.WebGLPipes, xe);
2627
2629
  T.handleByNamedList(d.WebGLPipesAdaptor, Te);
2628
- T.add(...It, ...Dt, ...Gt);
2629
- class Pt extends De {
2630
+ T.add(...Dt, ...It, ...Gt);
2631
+ class Pt extends Ie {
2630
2632
  constructor() {
2631
2633
  const e = {
2632
2634
  name: "webgl",
@@ -1,6 +1,6 @@
1
- import { g as E, E as p, f as ae, D as B, c as C, B as T, d as ue, h as L, i as M, w as v, j as y, k as ce, l as de, m as A, n as w, M as k, o as D, p as he, q as pe, s as H, S as z, t as R, A as le, R as fe, e as S } from "./index-DY2k589f.mjs";
2
- import { S as F, l as ge, a as me } from "./colorToUniform-DLzITdSX.mjs";
3
- import { c as _e, u as be, U as ye, B as xe, G as Ge, e as Be, R as Se, t as Pe, S as Te, a as Ce } from "./SharedSystems-DtNL-LrX.mjs";
1
+ import { g as E, E as p, f as ae, D as S, c as C, B as T, d as ue, h as A, i as M, w as v, j as y, k as ce, l as de, m as L, n as w, M as k, o as D, p as he, q as pe, s as H, S as z, t as R, A as le, R as fe, e as B } from "./index-3ZU44zAW.mjs";
2
+ import { S as F, l as ge, a as me } from "./colorToUniform-BgG3nLnP.mjs";
3
+ import { c as _e, u as be, U as ye, B as xe, G as Ge, e as Se, R as Be, t as Pe, S as Te, a as Ce } from "./SharedSystems-lo30UJjL.mjs";
4
4
  const x = F.for2d();
5
5
  class O {
6
6
  start(e, t, r) {
@@ -113,7 +113,7 @@ I.extension = {
113
113
  };
114
114
  class W {
115
115
  constructor(e) {
116
- this._gpuBuffers = /* @__PURE__ */ Object.create(null), this._managedBuffers = [], e.renderableGC.addManagedHash(this, "_gpuBuffers");
116
+ this._gpuBuffers = /* @__PURE__ */ Object.create(null), e.renderableGC.addManagedHash(this, "_gpuBuffers");
117
117
  }
118
118
  contextChange(e) {
119
119
  this._gpu = e;
@@ -134,12 +134,13 @@ class W {
134
134
  }
135
135
  /** dispose all WebGL resources of all managed buffers */
136
136
  destroyAll() {
137
- for (const e in this._gpuBuffers)
138
- this._gpuBuffers[e].destroy();
137
+ var e;
138
+ for (const t in this._gpuBuffers)
139
+ (e = this._gpuBuffers[t]) == null || e.destroy();
139
140
  this._gpuBuffers = {};
140
141
  }
141
142
  createGPUBuffer(e) {
142
- this._gpuBuffers[e.uid] || (e.on("update", this.updateBuffer, this), e.on("change", this.onBufferChange, this), e.on("destroy", this.onBufferDestroy, this), this._managedBuffers.push(e));
143
+ this._gpuBuffers[e.uid] || (e.on("update", this.updateBuffer, this), e.on("change", this.onBufferChange, this), e.on("destroy", this.onBufferDestroy, this));
143
144
  const t = this._gpu.device.createBuffer(e.descriptor);
144
145
  return e._updateID = 0, e.data && (ae(e.data.buffer, t.getMappedRange()), t.unmap()), this._gpuBuffers[e.uid] = t, t;
145
146
  }
@@ -151,13 +152,15 @@ class W {
151
152
  * @param buffer - buffer with data
152
153
  */
153
154
  onBufferDestroy(e) {
154
- this._managedBuffers.splice(this._managedBuffers.indexOf(e), 1), this._destroyBuffer(e);
155
+ this._destroyBuffer(e);
155
156
  }
156
157
  destroy() {
157
- this._managedBuffers.forEach((e) => this._destroyBuffer(e)), this._managedBuffers = null, this._gpuBuffers = null;
158
+ this.destroyAll(), this._gpuBuffers = {};
158
159
  }
159
160
  _destroyBuffer(e) {
160
- this._gpuBuffers[e.uid].destroy(), e.off("update", this.updateBuffer, this), e.off("change", this.onBufferChange, this), e.off("destroy", this.onBufferDestroy, this), this._gpuBuffers[e.uid] = null;
161
+ if (e.off("update", this.updateBuffer, this), e.off("change", this.onBufferChange, this), e.off("destroy", this.onBufferDestroy, this), !this._gpuBuffers[e.uid])
162
+ return;
163
+ this._gpuBuffers[e.uid].destroy(), this._gpuBuffers[e.uid] = null;
161
164
  }
162
165
  }
163
166
  W.extension = {
@@ -236,7 +239,7 @@ class U {
236
239
  * @returns {WebGLRenderingContext} the WebGL context
237
240
  */
238
241
  async _createDeviceAndAdaptor(e) {
239
- const t = await B.get().getNavigator().gpu.requestAdapter({
242
+ const t = await S.get().getNavigator().gpu.requestAdapter({
240
243
  powerPreference: e.powerPreference,
241
244
  forceFallbackAdapter: e.forceFallbackAdapter
242
245
  }), r = [
@@ -575,7 +578,7 @@ class Y {
575
578
  }
576
579
  _getBindGroup(e) {
577
580
  if (!this._bindGroups[e]) {
578
- const t = new L({
581
+ const t = new A({
579
582
  0: this._getBufferResource(e)
580
583
  });
581
584
  this._bindGroups[e] = t;
@@ -627,7 +630,7 @@ const Re = {
627
630
  function Ee(a, e, t, r, s) {
628
631
  return a << 24 | e << 16 | t << 10 | r << 5 | s;
629
632
  }
630
- function Le(a, e, t, r) {
633
+ function Ae(a, e, t, r) {
631
634
  return t << 6 | a << 3 | r << 1 | e;
632
635
  }
633
636
  class $ {
@@ -654,7 +657,7 @@ class $ {
654
657
  s.setPipeline(i);
655
658
  }
656
659
  getPipeline(e, t, r, s) {
657
- e._layoutKey || (Be(e, t.attributeData), this._generateBufferKey(e)), s || (s = e.topology);
660
+ e._layoutKey || (Se(e, t.attributeData), this._generateBufferKey(e)), s || (s = e.topology);
658
661
  const i = Ee(
659
662
  e._layoutKey,
660
663
  t._layoutKey,
@@ -776,7 +779,7 @@ class $ {
776
779
  }), this._bufferLayoutsCache[r] = s, s;
777
780
  }
778
781
  _updatePipeHash() {
779
- const e = Le(
782
+ const e = Ae(
780
783
  this._stencilMode,
781
784
  this._multisampleCount,
782
785
  this._colorMask,
@@ -792,7 +795,7 @@ $.extension = {
792
795
  type: [p.WebGPUSystem],
793
796
  name: "pipeline"
794
797
  };
795
- class Ae {
798
+ class Le {
796
799
  constructor() {
797
800
  this.contexts = [], this.msaaTextures = [], this.msaaSamples = 1;
798
801
  }
@@ -890,7 +893,7 @@ class ke {
890
893
  }
891
894
  initGpuRenderTarget(e) {
892
895
  e.isRoot = !0;
893
- const t = new Ae();
896
+ const t = new Le();
894
897
  return e.colorTextures.forEach((r, s) => {
895
898
  if (r instanceof ce) {
896
899
  const i = r.resource.getContext(
@@ -941,7 +944,7 @@ class ke {
941
944
  });
942
945
  }
943
946
  }
944
- class X extends Se {
947
+ class X extends Be {
945
948
  constructor(e) {
946
949
  super(e), this.adaptor = new ke(), this.adaptor.init(e, this);
947
950
  }
@@ -1162,7 +1165,7 @@ const De = {
1162
1165
  {
1163
1166
  offset: 0,
1164
1167
  rowsPerImage: a.pixelHeight,
1165
- bytesPerRow: a.pixelHeight * i
1168
+ bytesPerRow: a.pixelWidth * i
1166
1169
  },
1167
1170
  {
1168
1171
  width: a.pixelWidth,
@@ -1211,7 +1214,7 @@ const De = {
1211
1214
  if (!r)
1212
1215
  return;
1213
1216
  if (globalThis.HTMLImageElement && r instanceof HTMLImageElement) {
1214
- const o = B.get().createCanvas(r.width, r.height);
1217
+ const o = S.get().createCanvas(r.width, r.height);
1215
1218
  o.getContext("2d").drawImage(r, 0, 0, r.width, r.height), a.resource = o, v("ImageSource: Image element passed, converting to canvas and replacing resource.");
1216
1219
  }
1217
1220
  const s = Math.min(e.width, a.resourceWidth || a.pixelWidth), i = Math.min(e.height, a.resourceHeight || a.pixelHeight), n = a.alphaMode === "premultiply-alpha-on-upload";
@@ -1437,10 +1440,10 @@ class te {
1437
1440
  }
1438
1441
  _createTextureBindGroup(e) {
1439
1442
  const t = e.source;
1440
- return this._bindGroupHash[e.uid] = new L({
1443
+ return this._bindGroupHash[e.uid] = new A({
1441
1444
  0: t,
1442
1445
  1: t.style,
1443
- 2: new A({
1446
+ 2: new L({
1444
1447
  uTextureMatrix: { type: "mat3x3<f32>", value: e.textureMatrix.mapCoord }
1445
1448
  })
1446
1449
  }), this._bindGroupHash[e.uid];
@@ -1453,13 +1456,13 @@ class te {
1453
1456
  return this._textureViewHash[e.uid] = this.getGpuSource(e).createView(), this._textureViewHash[e.uid];
1454
1457
  }
1455
1458
  generateCanvas(e) {
1456
- const t = this._renderer, r = t.gpu.device.createCommandEncoder(), s = B.get().createCanvas();
1459
+ const t = this._renderer, r = t.gpu.device.createCommandEncoder(), s = S.get().createCanvas();
1457
1460
  s.width = e.source.pixelWidth, s.height = e.source.pixelHeight;
1458
1461
  const i = s.getContext("webgpu");
1459
1462
  return i.configure({
1460
1463
  device: t.gpu.device,
1461
1464
  usage: GPUTextureUsage.COPY_DST | GPUTextureUsage.COPY_SRC,
1462
- format: B.get().getNavigator().gpu.getPreferredCanvasFormat(),
1465
+ format: S.get().getNavigator().gpu.getPreferredCanvasFormat(),
1463
1466
  alphaMode: "premultiplied"
1464
1467
  }), r.copyTextureToTexture({
1465
1468
  texture: t.texture.getGpuSource(e.source),
@@ -1486,7 +1489,7 @@ class te {
1486
1489
  const t = Number(e), r = this._bindGroupHash[t];
1487
1490
  r == null || r.destroy(), this._bindGroupHash[t] = null;
1488
1491
  }
1489
- this._gpu = null, this._mipmapGenerator = null, this._gpuSources = null, this._bindGroupHash = null, this._textureViewHash = null, this._gpuSamplers = null;
1492
+ this._renderer = null, this._gpu = null, this._mipmapGenerator = null, this._gpuSources = null, this._bindGroupHash = null, this._textureViewHash = null, this._gpuSamplers = null;
1490
1493
  }
1491
1494
  }
1492
1495
  te.extension = {
@@ -1500,7 +1503,7 @@ class re {
1500
1503
  this._maxTextures = 0;
1501
1504
  }
1502
1505
  contextChange(e) {
1503
- const t = new A({
1506
+ const t = new L({
1504
1507
  uTransformMatrix: { value: new k(), type: "mat3x3<f32>" },
1505
1508
  uColor: { value: new Float32Array([1, 1, 1, 1]), type: "vec4<f32>" },
1506
1509
  uRound: { value: 0, type: "f32" }
@@ -1634,10 +1637,10 @@ const Ie = [
1634
1637
  K,
1635
1638
  I
1636
1639
  ], We = [...Ce, Y], Ve = [O, se, re], ie = [], ne = [], oe = [];
1637
- S.handleByNamedList(p.WebGPUSystem, ie);
1638
- S.handleByNamedList(p.WebGPUPipes, ne);
1639
- S.handleByNamedList(p.WebGPUPipesAdaptor, oe);
1640
- S.add(...Ie, ...We, ...Ve);
1640
+ B.handleByNamedList(p.WebGPUSystem, ie);
1641
+ B.handleByNamedList(p.WebGPUPipes, ne);
1642
+ B.handleByNamedList(p.WebGPUPipesAdaptor, oe);
1643
+ B.add(...Ie, ...We, ...Ve);
1641
1644
  class qe extends le {
1642
1645
  constructor() {
1643
1646
  const e = {
@@ -1,5 +1,5 @@
1
- import { T as A, U as Z, P as g, r as te, E as b, b as ie, w as y, e as w, C as V } from "./index-DY2k589f.mjs";
2
- import "./init-CW9ApwVm.mjs";
1
+ import { T as A, U as Z, P as g, r as te, E as b, b as ie, w as y, e as w, C as V } from "./index-3ZU44zAW.mjs";
2
+ import "./init-DTztoKjk.mjs";
3
3
  class q {
4
4
  constructor(e) {
5
5
  this._lastTransform = "", this._observer = null, this._tickerAttached = !1, this.updateTranslation = () => {
@@ -312,15 +312,16 @@ const se = G.default ?? G, oe = se(globalThis.navigator), re = 9, W = 100, ae =
312
312
  * @private
313
313
  */
314
314
  _deactivate() {
315
+ var e, t;
315
316
  if (!(!this._isActive || this._isMobileAccessibility)) {
316
317
  this._isActive = !1, globalThis.document.removeEventListener("mousemove", this._boundOnMouseMove, !0), this._activateOnTab && globalThis.addEventListener("keydown", this._boundOnKeyDown, !1), this._renderer.runners.postrender.remove(this);
317
- for (const e of this._children)
318
- e._accessibleDiv && e._accessibleDiv.parentNode && (e._accessibleDiv.parentNode.removeChild(e._accessibleDiv), e._accessibleDiv = null), e._accessibleActive = !1;
319
- for (const e in this._pools)
320
- this._pools[e].forEach((i) => {
321
- i.parentNode && i.parentNode.removeChild(i);
322
- }), delete this._pools[e];
323
- this._div && this._div.parentNode && this._div.parentNode.removeChild(this._div), this._pools = {}, this._children = [];
318
+ for (const i of this._children)
319
+ (e = i._accessibleDiv) != null && e.parentNode && (i._accessibleDiv.parentNode.removeChild(i._accessibleDiv), i._accessibleDiv = null), i._accessibleActive = !1;
320
+ for (const i in this._pools)
321
+ this._pools[i].forEach((s) => {
322
+ s.parentNode && s.parentNode.removeChild(s);
323
+ }), delete this._pools[i];
324
+ (t = this._div) != null && t.parentNode && this._div.parentNode.removeChild(this._div), this._pools = {}, this._children = [];
324
325
  }
325
326
  }
326
327
  /**
@@ -1,5 +1,5 @@
1
- import { S as M, G as x, a as F } from "./index-DY2k589f.mjs";
2
- const _ = {
1
+ import { S as M, G as x, a as F } from "./index-3ZU44zAW.mjs";
2
+ const T = {
3
3
  normal: 0,
4
4
  add: 1,
5
5
  multiply: 2,
@@ -11,7 +11,7 @@ const _ = {
11
11
  "screen-npm": 8,
12
12
  min: 9,
13
13
  max: 10
14
- }, r = 0, a = 1, n = 2, l = 3, d = 4, u = 5, c = class p {
14
+ }, o = 0, a = 1, n = 2, l = 3, d = 4, u = 5, c = class b {
15
15
  constructor() {
16
16
  this.data = 0, this.blendMode = "normal", this.polygonOffset = 0, this.blend = !0, this.depthMask = !0;
17
17
  }
@@ -20,10 +20,10 @@ const _ = {
20
20
  * @default true
21
21
  */
22
22
  get blend() {
23
- return !!(this.data & 1 << r);
23
+ return !!(this.data & 1 << o);
24
24
  }
25
25
  set blend(t) {
26
- !!(this.data & 1 << r) !== t && (this.data ^= 1 << r);
26
+ !!(this.data & 1 << o) !== t && (this.data ^= 1 << o);
27
27
  }
28
28
  /**
29
29
  * Activates adding an offset to depth values of polygon's fragments
@@ -95,7 +95,7 @@ const _ = {
95
95
  return this._blendMode;
96
96
  }
97
97
  set blendMode(t) {
98
- this.blend = t !== "none", this._blendMode = t, this._blendModeId = _[t] || 0;
98
+ this.blend = t !== "none", this._blendMode = t, this._blendModeId = T[t] || 0;
99
99
  }
100
100
  /**
101
101
  * The polygon offset. Setting this property to anything other than 0 will automatically enable polygon offset fill.
@@ -115,18 +115,18 @@ const _ = {
115
115
  * @returns a new State with values set for 2d rendering
116
116
  */
117
117
  static for2d() {
118
- const t = new p();
118
+ const t = new b();
119
119
  return t.depthTest = !1, t.blend = !0, t;
120
120
  }
121
121
  };
122
122
  c.default2d = c.for2d();
123
- let y = c;
124
- const b = class f extends M {
123
+ let _ = c;
124
+ const p = class f extends M {
125
125
  /**
126
126
  * @param options - The optional parameters of this filter.
127
127
  */
128
128
  constructor(t) {
129
- t = { ...f.defaultOptions, ...t }, super(t), this.enabled = !0, this._state = y.for2d(), this.blendMode = t.blendMode, this.padding = t.padding, typeof t.antialias == "boolean" ? this.antialias = t.antialias ? "on" : "off" : this.antialias = t.antialias, this.resolution = t.resolution, this.blendRequired = t.blendRequired, this.clipToViewport = t.clipToViewport, this.addResource("uTexture", 0, 1);
129
+ t = { ...f.defaultOptions, ...t }, super(t), this.enabled = !0, this._state = _.for2d(), this.blendMode = t.blendMode, this.padding = t.padding, typeof t.antialias == "boolean" ? this.antialias = t.antialias ? "on" : "off" : this.antialias = t.antialias, this.resolution = t.resolution, this.blendRequired = t.blendRequired, this.clipToViewport = t.clipToViewport, this.addResource("uTexture", 0, 1), t.blendRequired && this.addResource("uBackTexture", 0, 3);
130
130
  }
131
131
  /**
132
132
  * Applies the filter
@@ -135,8 +135,8 @@ const b = class f extends M {
135
135
  * @param output - The target to output to.
136
136
  * @param clearMode - Should the output be cleared before rendering to it
137
137
  */
138
- apply(t, e, s, o) {
139
- t.applyFilter(this, e, s, o);
138
+ apply(t, e, i, r) {
139
+ t.applyFilter(this, e, i, r);
140
140
  }
141
141
  /**
142
142
  * Get the blend mode of the filter.
@@ -155,16 +155,16 @@ const b = class f extends M {
155
155
  * @returns A shiny new PixiJS filter!
156
156
  */
157
157
  static from(t) {
158
- const { gpu: e, gl: s, ...o } = t;
158
+ const { gpu: e, gl: i, ...r } = t;
159
159
  let m, g;
160
- return e && (m = x.from(e)), s && (g = F.from(s)), new f({
160
+ return e && (m = x.from(e)), i && (g = F.from(i)), new f({
161
161
  gpuProgram: m,
162
162
  glProgram: g,
163
- ...o
163
+ ...r
164
164
  });
165
165
  }
166
166
  };
167
- b.defaultOptions = {
167
+ p.defaultOptions = {
168
168
  blendMode: "normal",
169
169
  resolution: 1,
170
170
  padding: 0,
@@ -172,7 +172,7 @@ b.defaultOptions = {
172
172
  blendRequired: !1,
173
173
  clipToViewport: !0
174
174
  };
175
- let S = b;
175
+ let S = p;
176
176
  const h = {
177
177
  name: "local-uniform-bit",
178
178
  vertex: {
@@ -206,14 +206,14 @@ const h = {
206
206
  `
207
207
  )
208
208
  }
209
- }, P = {
209
+ }, k = {
210
210
  ...h,
211
211
  vertex: {
212
212
  ...h.vertex,
213
213
  // replace the group!
214
214
  header: h.vertex.header.replace("group(1)", "group(2)")
215
215
  }
216
- }, k = {
216
+ }, P = {
217
217
  name: "local-uniform-bit",
218
218
  vertex: {
219
219
  header: (
@@ -259,16 +259,16 @@ class w {
259
259
  destroy() {
260
260
  }
261
261
  }
262
- function U(i, t, e) {
263
- const s = (i >> 24 & 255) / 255;
264
- t[e++] = (i & 255) / 255 * s, t[e++] = (i >> 8 & 255) / 255 * s, t[e++] = (i >> 16 & 255) / 255 * s, t[e++] = s;
262
+ function R(s, t, e) {
263
+ const i = (s >> 24 & 255) / 255;
264
+ t[e++] = (s & 255) / 255 * i, t[e++] = (s >> 8 & 255) / 255 * i, t[e++] = (s >> 16 & 255) / 255 * i, t[e++] = i;
265
265
  }
266
266
  export {
267
267
  w as B,
268
268
  S as F,
269
- y as S,
269
+ _ as S,
270
270
  h as a,
271
- k as b,
272
- U as c,
273
- P as l
271
+ P as b,
272
+ R as c,
273
+ k as l
274
274
  };
@@ -39,13 +39,6 @@ interface DynseqTrackProps {
39
39
  xvaluesData: any;
40
40
  }
41
41
  declare class DynseqTrackComponents extends PureComponent<DynseqTrackProps> {
42
- static propTypes: {
43
- data: any;
44
- unit: any;
45
- options: any;
46
- isLoading: any;
47
- error: any;
48
- };
49
42
  xToValue: Array<any> | null;
50
43
  xToValue2: Array<any> | null;
51
44
  allValues: Array<any>;
@@ -53,7 +46,6 @@ declare class DynseqTrackComponents extends PureComponent<DynseqTrackProps> {
53
46
  scales: any;
54
47
  hasReverse: boolean;
55
48
  constructor(props: DynseqTrackProps);
56
- aggregateFeatures: (data: any[], viewRegion: any, width: number, aggregatorId: string) => any;
57
49
  computeScales: (xToValue: number[], xToValue2: number[], height: number) => {
58
50
  valueToHeight: import("d3-scale").ScaleLinear<number, number, never>;
59
51
  valueToY: import("d3-scale").ScaleLinear<number, number, never>;
@@ -33,9 +33,6 @@ export declare class GroupedTrackManager {
33
33
  * @returns list of groups found in the track list, their data, and their original indicies
34
34
  */
35
35
  aggregator: NumericalAggregator;
36
- dynseqAggregator: (data: any[], viewRegion: any, width: number, aggregatorId: string) => any;
37
- aggregateRecords: (data: any[], viewRegion: any, width: number) => any;
38
- aggregateFeaturesMatplot: (data: any, viewRegion: any, width: any, aggregatorId: any) => any;
39
36
  constructor();
40
37
  getGroupScale(tracks: TrackModel[], trackData: any, width: number, viewWindow: OpenInterval, dataIdx: number, trackFetchedDataCache: any): {
41
38
  [groupId: number]: {
@@ -21,6 +21,7 @@ interface ArcDisplayProps {
21
21
  isThereG3dTrack?: boolean;
22
22
  clampHeight?: boolean;
23
23
  options?: any;
24
+ legend?: any;
24
25
  }
25
26
  export declare class ArcDisplay extends React.PureComponent<ArcDisplayProps, {}> {
26
27
  arcData: any[];
@@ -14,6 +14,7 @@ interface CubicCurveDisplayProps {
14
14
  forceSvg?: boolean;
15
15
  bothAnchorsInView?: boolean;
16
16
  options?: any;
17
+ legend?: any;
17
18
  }
18
19
  export declare class CubicCurveDisplay extends React.PureComponent<CubicCurveDisplayProps, {}> {
19
20
  renderCurve: (placedInteraction: PlacedInteraction, index: number) => any;
@@ -12,6 +12,7 @@ interface SquareDisplayProps {
12
12
  color2?: string;
13
13
  forceSvg?: boolean;
14
14
  bothAnchorsInView?: boolean;
15
+ legend?: any;
15
16
  options: any;
16
17
  }
17
18
  export declare class SquareDisplay extends React.PureComponent<SquareDisplayProps, {}> {
@@ -50,16 +50,10 @@ interface MethylCTrackProps {
50
50
  xvaluesData?: any;
51
51
  }
52
52
  declare class MethylCTrack extends PureComponent<MethylCTrackProps> {
53
- static propTypes: {
54
- data: any;
55
- options: any;
56
- isLoading: any;
57
- error: any;
58
- };
59
53
  aggregatedRecords: any[];
60
54
  scales: any;
61
55
  constructor(props: MethylCTrackProps);
62
- aggregateRecords: (data: any[], viewRegion: any, width: number) => any;
56
+ aggregateRecords: (data: any[], viewRegion: any, width: number) => any[];
63
57
  computeScales: (xMap: any[], height: number, maxMethyl: number) => {
64
58
  methylToY: import("d3-scale").ScaleLinear<number, number, never>;
65
59
  depthToY: import("d3-scale").ScaleLinear<number, number, never>;
@@ -57,7 +57,7 @@ declare class QBedTrackComponents extends React.PureComponent<QBedTrackProps> {
57
57
  private xToValue;
58
58
  private scales;
59
59
  constructor(props: QBedTrackProps);
60
- aggregateFeatures(data: Array<any>, viewRegion: any, width: number): any;
60
+ aggregateFeatures(data: Array<any>, viewRegion: any, width: number): [any[], any[]];
61
61
  computeScales(xToValue: any, height: number): {
62
62
  valueToY: import("d3-scale").ScaleLinear<number, number, never>;
63
63
  min: number;
@@ -1,11 +1,10 @@
1
1
  import React from "react";
2
- import { PropsFromTrackContainer } from "../commonComponents/Track";
3
2
  import { Fiber } from "../../../../models/Feature";
4
3
  import OpenInterval from "../../../../models/OpenInterval";
5
4
  import DisplayedRegionModel from "../../../../models/DisplayedRegionModel";
6
5
  import { FiberDisplayModes } from "../../../../trackConfigs/config-menu-models.tsx/DisplayModes";
7
6
  export declare const FIBER_DENSITY_CUTOFF_LENGTH = 300000;
8
- interface FiberTrackProps extends PropsFromTrackContainer {
7
+ interface FiberTrackProps {
9
8
  data: Fiber[];
10
9
  options: {
11
10
  color?: string;
@@ -24,7 +23,11 @@ interface FiberTrackProps extends PropsFromTrackContainer {
24
23
  getAnnotationTrack: any;
25
24
  trackState: any;
26
25
  renderTooltip: any;
26
+ width: number;
27
+ trackModel: any;
28
+ viewWindow: OpenInterval;
27
29
  svgHeight: any;
30
+ isLoading: boolean;
28
31
  updatedLegend: any;
29
32
  getGenePadding: any;
30
33
  getHeight: any;
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import { ScaleChoices } from "../../../../../models/ScaleChoices";
3
3
  import Feature from "../../../../../models/Feature";
4
+ import { NumericalAggregator } from "./NumericalAggregator";
4
5
  export declare const DEFAULT_OPTIONS: {
5
6
  aggregateMethod: string;
6
7
  height: number;
@@ -46,8 +47,8 @@ declare class MatplotTrackComponent extends React.PureComponent<MatplotTrackProp
46
47
  };
47
48
  xToValue: any;
48
49
  scales: any;
50
+ aggregator: NumericalAggregator;
49
51
  constructor(props: any);
50
- aggregateFeatures(data: any, viewRegion: any, width: any, aggregatorId: any): any;
51
52
  computeScales(xToValue: any, height: any): {
52
53
  valueToY: import("d3-scale").ScaleLinear<number, number, never>;
53
54
  min: any;