@genome-spy/app 1.0.0 → 1.1.1

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 (39) hide show
  1. package/dist/SharedReadCache-Ey5QIiPM.js +207 -0
  2. package/dist/{agentApi-Z65dw-sD.js → agentApi-sPuuT0KS.js} +3573 -3485
  3. package/dist/agentApi.es.js +1550 -1461
  4. package/dist/agentShared.es.js +2 -2
  5. package/dist/{canvas2d-t_N10CeW.js → canvas2d-MXaFeZnP.js} +4 -4
  6. package/dist/{canvas2d-DiPQvNtZ.js → canvas2d-iDK4BC5j.js} +4 -4
  7. package/dist/{debug-CVAlrcZt.js → debug-BlqDxTw3.js} +2 -2
  8. package/dist/{debug-DP4WzTNo.js → debug-DbigmdrK.js} +2 -2
  9. package/dist/esm-C-6g-SkZ.js +791 -0
  10. package/dist/{esm-L53qjcYH.js → esm-CJeszW-t.js} +344 -250
  11. package/dist/esm-CjkeZi__.js +238 -0
  12. package/dist/index.es.js +2896 -2896
  13. package/dist/index.js +303 -304
  14. package/dist/{order-R043xTpC.js → order-B4uR9Q04.js} +1 -1
  15. package/dist/{order-BkYCnwD7.js → order-BSPy5DI8.js} +1 -1
  16. package/dist/{rasterExport-C_FcNBkC.js → rasterExport-B62RmAK1.js} +3 -3
  17. package/dist/{rasterExport-Z7gs5346.js → rasterExport-DQH3hVg_.js} +3 -3
  18. package/dist/{rasterization-_-9JmSas.js → rasterization-B05bDo5e.js} +15 -18
  19. package/dist/rasterization-CFogVB3B.js +50 -0
  20. package/dist/{renderCanvas2D-IM-A9DYG.js → renderCanvas2D-Bdv-B4wj.js} +15 -15
  21. package/dist/{renderCanvas2D-DK1c9TFK.js → renderCanvas2D-ChdoHGrU.js} +15 -15
  22. package/dist/scalePosition-ByvlXaML.js +11 -0
  23. package/dist/schema.json +7 -0
  24. package/dist/{svg-PabUdcDi.js → svg-DHsq1RpV.js} +13 -13
  25. package/dist/{svg-DW3tfUmm.js → svg-N3tj05-e.js} +13 -13
  26. package/dist/{svgRasterizer-B6YtWLJs.js → svgRasterizer-CYVDlt5z.js} +2 -2
  27. package/dist/{svgRasterizer-BEVDyyS3.js → svgRasterizer-CvCBlxLj.js} +2 -2
  28. package/dist/{viewIdentityRegistry-BW415b3o.js → viewIdentityRegistry-BDKkEjXl.js} +1 -1
  29. package/dist/{viewIdentityRegistry-_F0E7nkA.js → viewIdentityRegistry-BIYd4TE0.js} +1 -1
  30. package/dist/{viewSelectors-KtD-QSN0.js → viewSelectors-DDLW-byr.js} +80 -50
  31. package/dist/{viewSelectors-DYz-PhTO.js → viewSelectors-j-F9XwsE.js} +80 -50
  32. package/dist/{viewUtils-BZGPseMx.js → viewUtils-JX6CMEYH.js} +1212 -1211
  33. package/dist/{webgl-BKSGqHaz.js → webgl-DdmOwEH0.js} +107 -86
  34. package/dist/{webgl-tdKf9SlZ.js → webgl-Dw8xqZpX.js} +107 -86
  35. package/package.json +7 -9
  36. package/LICENSE +0 -21
  37. package/dist/AbortablePromiseCache-BTmAcN-t.js +0 -96
  38. package/dist/esm-BiqrFjMh.js +0 -443
  39. package/dist/esm-DtNElqRr.js +0 -462
@@ -1,5 +1,5 @@
1
1
  import { $t as e, Ft as t, St as n, mt as r, un as i } from "./clipOptions-Cba4I0AO.js";
2
- import { i as a } from "./rasterization-_-9JmSas.js";
2
+ import { t as a } from "./scalePosition-ByvlXaML.js";
3
3
  import { t as o } from "./rectangle-DE98gIxF.js";
4
4
  //#region ../core/src/rendering/immediate/markData.js
5
5
  var s = [], c = class {
@@ -1,5 +1,5 @@
1
1
  import { $ as e, Jt as t, b as n, nn as r, pn as i } from "./clipOptions-B5PibDq3.js";
2
- import { i as a } from "./rasterization-_-9JmSas.js";
2
+ import { a } from "./rasterization-B05bDo5e.js";
3
3
  import { t as o } from "./rectangle-DE98gIxF.js";
4
4
  //#region ../core/src/rendering/immediate/markData.js
5
5
  var s = [], c = class {
@@ -1,8 +1,8 @@
1
- import { t as e } from "./rasterization-_-9JmSas.js";
1
+ import { t as e } from "./rasterization-B05bDo5e.js";
2
2
  import { t } from "./rectangle-DE98gIxF.js";
3
3
  import { t as n } from "./layoutResult-D50MSHXR.js";
4
- import { r } from "./order-BkYCnwD7.js";
5
- import { t as i } from "./renderCanvas2D-DK1c9TFK.js";
4
+ import { r } from "./order-BSPy5DI8.js";
5
+ import { t as i } from "./renderCanvas2D-ChdoHGrU.js";
6
6
  //#region ../core/src/rendering/canvas2d/rasterExport.js
7
7
  async function a(e) {
8
8
  let t = e.mimeType ?? "image/png";
@@ -1,8 +1,8 @@
1
- import { t as e } from "./rasterization-_-9JmSas.js";
1
+ import { t as e } from "./rasterization-CFogVB3B.js";
2
2
  import { t } from "./rectangle-DE98gIxF.js";
3
3
  import { t as n } from "./layoutResult-D50MSHXR.js";
4
- import { r } from "./order-R043xTpC.js";
5
- import { t as i } from "./renderCanvas2D-IM-A9DYG.js";
4
+ import { r } from "./order-B4uR9Q04.js";
5
+ import { t as i } from "./renderCanvas2D-Bdv-B4wj.js";
6
6
  //#region ../core/src/rendering/canvas2d/rasterExport.js
7
7
  async function a(e) {
8
8
  let t = e.mimeType ?? "image/png";
@@ -1,8 +1,5 @@
1
- //#region ../core/src/rendering/renderingModuleRegistry.js
2
- var e = {};
3
- //#endregion
4
1
  //#region ../core/src/scales/scalePosition.js
5
- function t(e, t = .5) {
2
+ function e(e, t = .5) {
6
3
  if (e.type == "band" || e.type == "point") return e.bandwidth() * t;
7
4
  if (e.type == "index" || e.type == "locus") {
8
5
  let n = e;
@@ -11,46 +8,46 @@ function t(e, t = .5) {
11
8
  return 0;
12
9
  }
13
10
  //#endregion
14
- //#region ../core/src/rendering/rasterization.js
15
- var n = class extends Error {
11
+ //#region ../core/src/rendering/renderingModuleRegistry.js
12
+ var t = {}, n = class extends Error {
16
13
  constructor(e, t) {
17
14
  super(e, t), this.name = "RasterizationUnavailableError";
18
15
  }
19
16
  };
20
- async function r(t, r) {
21
- if (t.exportRaster) try {
22
- return await t.exportRaster(r);
17
+ async function r(e, r) {
18
+ if (e.exportRaster) try {
19
+ return await e.exportRaster(r);
23
20
  } catch (e) {
24
21
  if (!(e instanceof n)) throw e;
25
22
  }
26
- if (!e.canvasRasterExport) throw a();
23
+ if (!t.canvasRasterExport) throw a();
27
24
  let i;
28
25
  try {
29
- i = await e.canvasRasterExport();
26
+ i = await t.canvasRasterExport();
30
27
  } catch (e) {
31
28
  throw a(e);
32
29
  }
33
30
  try {
34
31
  return await i.exportRaster({
35
32
  ...r,
36
- liveSize: t.surface.getLogicalCanvasSize(),
37
- liveDevicePixelRatio: t.surface.getDevicePixelRatio()
33
+ liveSize: e.surface.getLogicalCanvasSize(),
34
+ liveDevicePixelRatio: e.surface.getDevicePixelRatio()
38
35
  });
39
36
  } catch (e) {
40
37
  throw e instanceof n ? a(e) : e;
41
38
  }
42
39
  }
43
- async function i(t, r) {
44
- if (t.rasterizeSvgRuns) try {
45
- await t.rasterizeSvgRuns(r);
40
+ async function i(e, r) {
41
+ if (e.rasterizeSvgRuns) try {
42
+ await e.rasterizeSvgRuns(r);
46
43
  return;
47
44
  } catch (e) {
48
45
  if (!(e instanceof n)) throw e;
49
46
  }
50
- if (!e.canvasSvgRasterizer) throw new n("No raster backend supports selective SVG rasterization. Import \"@genome-spy/core/rendering/canvas.js\" to enable the Canvas2D fallback.");
47
+ if (!t.canvasSvgRasterizer) throw new n("No raster backend supports selective SVG rasterization. Import \"@genome-spy/core/rendering/canvas.js\" to enable the Canvas2D fallback.");
51
48
  let i;
52
49
  try {
53
- i = await e.canvasSvgRasterizer();
50
+ i = await t.canvasSvgRasterizer();
54
51
  } catch (e) {
55
52
  throw new n("No raster backend supports selective SVG rasterization.", { cause: e });
56
53
  }
@@ -0,0 +1,50 @@
1
+ //#region ../core/src/rendering/renderingModuleRegistry.js
2
+ var e = {}, t = class extends Error {
3
+ constructor(e, t) {
4
+ super(e, t), this.name = "RasterizationUnavailableError";
5
+ }
6
+ };
7
+ async function n(n, r) {
8
+ if (n.exportRaster) try {
9
+ return await n.exportRaster(r);
10
+ } catch (e) {
11
+ if (!(e instanceof t)) throw e;
12
+ }
13
+ if (!e.canvasRasterExport) throw i();
14
+ let a;
15
+ try {
16
+ a = await e.canvasRasterExport();
17
+ } catch (e) {
18
+ throw i(e);
19
+ }
20
+ try {
21
+ return await a.exportRaster({
22
+ ...r,
23
+ liveSize: n.surface.getLogicalCanvasSize(),
24
+ liveDevicePixelRatio: n.surface.getDevicePixelRatio()
25
+ });
26
+ } catch (e) {
27
+ throw e instanceof t ? i(e) : e;
28
+ }
29
+ }
30
+ async function r(n, r) {
31
+ if (n.rasterizeSvgRuns) try {
32
+ await n.rasterizeSvgRuns(r);
33
+ return;
34
+ } catch (e) {
35
+ if (!(e instanceof t)) throw e;
36
+ }
37
+ if (!e.canvasSvgRasterizer) throw new t("No raster backend supports selective SVG rasterization. Import \"@genome-spy/core/rendering/canvas.js\" to enable the Canvas2D fallback.");
38
+ let i;
39
+ try {
40
+ i = await e.canvasSvgRasterizer();
41
+ } catch (e) {
42
+ throw new t("No raster backend supports selective SVG rasterization.", { cause: e });
43
+ }
44
+ await i.createCanvas2DSvgRasterizer()(r);
45
+ }
46
+ function i(e) {
47
+ return new t("Raster export is unsupported because no raster rendering backend is available. Import \"@genome-spy/core/rendering/canvas.js\" to enable the Canvas2D fallback.", { cause: e });
48
+ }
49
+ //#endregion
50
+ export { e as i, n, r, t };
@@ -2,7 +2,7 @@ import { Gt as e, a as t, o as n, s as r, u as i } from "./clipOptions-Cba4I0AO.
2
2
  import { t as a } from "./warning-CpIIpk8e.js";
3
3
  import { n as o } from "./layoutResult-D50MSHXR.js";
4
4
  import { n as s } from "./performanceProfiler-CPLEjApa.js";
5
- import { A as c, E as l, F as u, I as d, M as f, N as p, S as m, _ as h, a as g, b as _, c as v, d as y, f as b, g as x, h as S, i as C, j as w, k as T, l as ee, m as E, p as D, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "./order-R043xTpC.js";
5
+ import { A as c, E as l, F as u, I as d, M as f, N as p, S as m, _ as h, a as g, b as _, c as v, d as y, f as b, g as x, h as S, i as C, j as w, k as T, l as ee, m as E, p as D, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "./order-B4uR9Q04.js";
6
6
  //#region ../core/src/rendering/canvas2d/renderers/arrow.js
7
7
  function F(e, t) {
8
8
  let n = e, r = t.context, i = n.encoders, a = m(n);
@@ -25,21 +25,21 @@ function F(e, t) {
25
25
  //#endregion
26
26
  //#region ../core/src/rendering/canvas2d/renderers/link.js
27
27
  function I(t, n) {
28
- let r = t, i = n.context, a = r.encoders, o = h(r), s = N(r, o.shape, n.secondOrderPass);
28
+ let r = t, i = n.context, a = 1 / n.devicePixelRatio, o = r.encoders, s = h(r), u = N(r, s.shape, n.secondOrderPass);
29
29
  i.lineCap = "butt";
30
- let u;
31
- return j(r, o, n, (t) => {
32
- let r = c(a.color(t.datum)), o = l(a.opacity, t.datum) * n.viewOpacity;
33
- if (r == "none" || o <= 0 || t.strokeWidth <= 0) return;
34
- let d = s && _(t.points[0], t.points[3], s);
35
- if (d) {
36
- let { normalX: t, normalY: n, offset: a, start: o, end: s } = d, c = i.createLinearGradient(t * (a - s), n * (a - s), t * (a + s), n * (a + s)), l = e(r), f = l.opacity;
37
- for (let e of P(o, s)) l.opacity = f * e.opacity, c.addColorStop(e.offset, l.formatRgb());
38
- i.strokeStyle = c, u = void 0;
39
- } else u != r && (i.strokeStyle = r, u = r);
40
- i.globalAlpha = o, i.lineWidth = t.strokeWidth;
41
- let [f, p, m, h] = t.points;
42
- i.beginPath(), i.moveTo(f[0], f[1]), i.bezierCurveTo(p[0], p[1], m[0], m[1], h[0], h[1]), i.stroke();
30
+ let d;
31
+ return j(r, s, n, (t) => {
32
+ let r = c(o.color(t.datum)), s = l(o.opacity, t.datum) * n.viewOpacity;
33
+ if (r == "none" || s <= 0 || t.strokeWidth <= 0) return;
34
+ let f = u && _(t.points[0], t.points[3], u);
35
+ if (f) {
36
+ let { normalX: t, normalY: n, offset: a, start: o, end: s } = f, c = i.createLinearGradient(t * (a - s), n * (a - s), t * (a + s), n * (a + s)), l = e(r), u = l.opacity;
37
+ for (let e of P(o, s)) l.opacity = u * e.opacity, c.addColorStop(e.offset, l.formatRgb());
38
+ i.strokeStyle = c, d = void 0;
39
+ } else d != r && (i.strokeStyle = r, d = r);
40
+ i.globalAlpha = s * Math.min(t.strokeWidth / a, 1), i.lineWidth = Math.max(t.strokeWidth, a);
41
+ let [p, m, h, g] = t.points;
42
+ i.beginPath(), i.moveTo(p[0], p[1]), i.bezierCurveTo(m[0], m[1], h[0], h[1], g[0], g[1]), i.stroke();
43
43
  });
44
44
  }
45
45
  //#endregion
@@ -2,7 +2,7 @@ import { Kt as e, a as t, m as n, o as r, s as i } from "./clipOptions-B5PibDq3.
2
2
  import { t as a } from "./warning-CpIIpk8e.js";
3
3
  import { n as o } from "./performanceProfiler-CPLEjApa.js";
4
4
  import { n as s } from "./layoutResult-D50MSHXR.js";
5
- import { A as c, E as l, F as u, I as d, M as f, N as p, S as m, _ as h, a as g, b as _, c as v, d as y, f as b, g as x, h as S, i as C, j as w, k as T, l as ee, m as E, p as D, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "./order-BkYCnwD7.js";
5
+ import { A as c, E as l, F as u, I as d, M as f, N as p, S as m, _ as h, a as g, b as _, c as v, d as y, f as b, g as x, h as S, i as C, j as w, k as T, l as ee, m as E, p as D, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "./order-BSPy5DI8.js";
6
6
  //#region ../core/src/rendering/canvas2d/renderers/arrow.js
7
7
  function F(e, t) {
8
8
  let n = e, r = t.context, i = n.encoders, a = m(n);
@@ -25,21 +25,21 @@ function F(e, t) {
25
25
  //#endregion
26
26
  //#region ../core/src/rendering/canvas2d/renderers/link.js
27
27
  function I(e, t) {
28
- let r = e, i = t.context, a = r.encoders, o = h(r), s = N(r, o.shape, t.secondOrderPass);
28
+ let r = e, i = t.context, a = 1 / t.devicePixelRatio, o = r.encoders, s = h(r), u = N(r, s.shape, t.secondOrderPass);
29
29
  i.lineCap = "butt";
30
- let u;
31
- return j(r, o, t, (e) => {
32
- let r = c(a.color(e.datum)), o = l(a.opacity, e.datum) * t.viewOpacity;
33
- if (r == "none" || o <= 0 || e.strokeWidth <= 0) return;
34
- let d = s && _(e.points[0], e.points[3], s);
35
- if (d) {
36
- let { normalX: e, normalY: t, offset: a, start: o, end: s } = d, c = i.createLinearGradient(e * (a - s), t * (a - s), e * (a + s), t * (a + s)), l = n(r), f = l.opacity;
37
- for (let e of P(o, s)) l.opacity = f * e.opacity, c.addColorStop(e.offset, l.formatRgb());
38
- i.strokeStyle = c, u = void 0;
39
- } else u != r && (i.strokeStyle = r, u = r);
40
- i.globalAlpha = o, i.lineWidth = e.strokeWidth;
41
- let [f, p, m, h] = e.points;
42
- i.beginPath(), i.moveTo(f[0], f[1]), i.bezierCurveTo(p[0], p[1], m[0], m[1], h[0], h[1]), i.stroke();
30
+ let d;
31
+ return j(r, s, t, (e) => {
32
+ let r = c(o.color(e.datum)), s = l(o.opacity, e.datum) * t.viewOpacity;
33
+ if (r == "none" || s <= 0 || e.strokeWidth <= 0) return;
34
+ let f = u && _(e.points[0], e.points[3], u);
35
+ if (f) {
36
+ let { normalX: e, normalY: t, offset: a, start: o, end: s } = f, c = i.createLinearGradient(e * (a - s), t * (a - s), e * (a + s), t * (a + s)), l = n(r), u = l.opacity;
37
+ for (let e of P(o, s)) l.opacity = u * e.opacity, c.addColorStop(e.offset, l.formatRgb());
38
+ i.strokeStyle = c, d = void 0;
39
+ } else d != r && (i.strokeStyle = r, d = r);
40
+ i.globalAlpha = s * Math.min(e.strokeWidth / a, 1), i.lineWidth = Math.max(e.strokeWidth, a);
41
+ let [p, m, h, g] = e.points;
42
+ i.beginPath(), i.moveTo(p[0], p[1]), i.bezierCurveTo(m[0], m[1], h[0], h[1], g[0], g[1]), i.stroke();
43
43
  });
44
44
  }
45
45
  //#endregion
@@ -0,0 +1,11 @@
1
+ //#region ../core/src/scales/scalePosition.js
2
+ function e(e, t = .5) {
3
+ if (e.type == "band" || e.type == "point") return e.bandwidth() * t;
4
+ if (e.type == "index" || e.type == "locus") {
5
+ let n = e;
6
+ return Math.sign(n.step()) * n.bandwidth() * t;
7
+ }
8
+ return 0;
9
+ }
10
+ //#endregion
11
+ export { e as t };
package/dist/schema.json CHANGED
@@ -17894,6 +17894,13 @@
17894
17894
  "$ref": "#/definitions/IndexUrlSourceRef",
17895
17895
  "description": "URL of the index file. When `url` is a template, this can be an index URL template using the same placeholder and values.\n\n__Default value:__ `url` + `\".bai\"`."
17896
17896
  },
17897
+ "tags": {
17898
+ "description": "SAM auxiliary tags to expose on each read, for example `[\"HP\", \"CB\"]`. Each tag is available as a field named `tag_` followed by the tag name, for example `tag_HP`. The field is `undefined` when a read lacks the tag. Tags that are not listed are not decoded.",
17899
+ "items": {
17900
+ "type": "string"
17901
+ },
17902
+ "type": "array"
17903
+ },
17897
17904
  "type": {
17898
17905
  "const": "bam",
17899
17906
  "type": "string"
@@ -1,10 +1,10 @@
1
1
  import { Kt as e, o as t, s as n } from "./clipOptions-B5PibDq3.js";
2
2
  import { v as r } from "./vega-scale-Ctz_wa3z.js";
3
- import { x as i } from "./viewSelectors-KtD-QSN0.js";
4
- import { t as a } from "./rasterization-_-9JmSas.js";
3
+ import { x as i } from "./viewSelectors-DDLW-byr.js";
4
+ import { t as a } from "./rasterization-B05bDo5e.js";
5
5
  import { t as o } from "./rectangle-DE98gIxF.js";
6
6
  import { n as s, t as c } from "./layoutResult-D50MSHXR.js";
7
- import { A as l, D as u, E as d, F as f, I as p, M as m, N as h, O as g, P as _, S as v, _ as y, a as b, b as x, c as S, d as C, f as w, g as T, h as E, i as D, j as O, k, l as A, m as ee, n as te, o as ne, p as j, r as re, s as ie, t as ae, u as oe, v as se, w as ce, x as le, y as ue } from "./order-BkYCnwD7.js";
7
+ import { A as l, D as u, E as d, F as f, I as p, M as m, N as h, O as g, P as _, S as v, _ as y, a as b, b as x, c as S, d as C, f as w, g as T, h as E, i as D, j as O, k, l as A, m as ee, n as te, o as ne, p as j, r as re, s as ie, t as ae, u as oe, v as se, w as ce, x as le, y as ue } from "./order-BSPy5DI8.js";
8
8
  import { n as M, t as N } from "./svgNumber-DNxESJQB.js";
9
9
  //#region ../core/src/rendering/svg/svgElement.js
10
10
  var P = "http://www.w3.org/2000/svg";
@@ -72,22 +72,20 @@ function pe(e) {
72
72
  //#endregion
73
73
  //#region ../core/src/rendering/svg/renderers/link.js
74
74
  function me(e, t) {
75
- let n = e, r = y(n), { coords: i, data: a, group: o, viewOpacity: s, visibleBounds: c } = t, u = n.encoders, d = le(n, r.shape, t.secondOrderPass), f = I(o, {
75
+ let n = e, r = y(n), { coords: i, data: a, group: o, viewOpacity: s, visibleBounds: c } = t, u = n.encoders, f = le(n, r.shape, t.secondOrderPass), p = .5, m = u.opacity.constant && u.size.constant, h = (e) => d(u.opacity, e) * s * Math.max(0, Math.min(d(u.size, e) / p, 1));
76
+ m && o.setAttribute("stroke-opacity", "" + h({}));
77
+ let g = I(o, {
76
78
  stroke: {
77
79
  encoder: u.color,
78
80
  transform: l
79
81
  },
80
- "stroke-opacity": {
81
- encoder: u.opacity,
82
- transform: (e) => +e * s
83
- },
84
82
  "stroke-width": {
85
83
  encoder: u.size,
86
- transform: (e) => N(+e)
84
+ transform: (e) => N(Math.max(+e, p))
87
85
  }
88
86
  });
89
87
  o.setAttribute("fill", "none"), o.setAttribute("stroke-linecap", "butt");
90
- let p = o, m;
88
+ let _ = o, v;
91
89
  return se(n, r, {
92
90
  coords: i,
93
91
  data: a,
@@ -95,12 +93,14 @@ function me(e, t) {
95
93
  }, ({ datum: e, points: n }) => {
96
94
  let [r, i, a, s] = n;
97
95
  if (t.countOnly) return;
98
- let c = f(e), l = d ? t.getLinkArcFadeMaskUrl({
96
+ let c = g(e);
97
+ m || (c["stroke-opacity"] = h(e));
98
+ let l = f ? t.getLinkArcFadeMaskUrl({
99
99
  p1: r,
100
100
  p4: s,
101
- distances: d
101
+ distances: f
102
102
  }) : void 0;
103
- l !== m && (m = l, p = l ? F("g", { mask: l }) : o, l && o.appendChild(p)), p.appendChild(F("path", {
103
+ l !== v && (v = l, _ = l ? F("g", { mask: l }) : o, l && o.appendChild(_)), _.appendChild(F("path", {
104
104
  d: `M ${R(r)} C ${R(i)} ${R(a)} ${R(s)}`,
105
105
  ...c
106
106
  }));
@@ -1,10 +1,10 @@
1
1
  import { o as e, s as t, u as n } from "./clipOptions-Cba4I0AO.js";
2
- import { b as r } from "./viewSelectors-DYz-PhTO.js";
2
+ import { b as r } from "./viewSelectors-j-F9XwsE.js";
3
3
  import { v as i } from "./vega-scale-Byaw1K8O.js";
4
- import { t as a } from "./rasterization-_-9JmSas.js";
4
+ import { t as a } from "./rasterization-CFogVB3B.js";
5
5
  import { t as o } from "./rectangle-DE98gIxF.js";
6
6
  import { n as s, t as c } from "./layoutResult-D50MSHXR.js";
7
- import { A as l, D as u, E as d, F as f, I as p, M as m, N as h, O as g, P as _, S as v, _ as y, a as b, b as x, c as S, d as C, f as w, g as T, h as E, i as D, j as O, k, l as A, m as ee, n as te, o as ne, p as j, r as re, s as ie, t as ae, u as oe, v as se, w as ce, x as le, y as ue } from "./order-R043xTpC.js";
7
+ import { A as l, D as u, E as d, F as f, I as p, M as m, N as h, O as g, P as _, S as v, _ as y, a as b, b as x, c as S, d as C, f as w, g as T, h as E, i as D, j as O, k, l as A, m as ee, n as te, o as ne, p as j, r as re, s as ie, t as ae, u as oe, v as se, w as ce, x as le, y as ue } from "./order-B4uR9Q04.js";
8
8
  import { n as M, t as N } from "./svgNumber-DNxESJQB.js";
9
9
  //#region ../core/src/rendering/svg/svgElement.js
10
10
  var P = "http://www.w3.org/2000/svg";
@@ -72,22 +72,20 @@ function pe(e) {
72
72
  //#endregion
73
73
  //#region ../core/src/rendering/svg/renderers/link.js
74
74
  function me(e, t) {
75
- let n = e, r = y(n), { coords: i, data: a, group: o, viewOpacity: s, visibleBounds: c } = t, u = n.encoders, d = le(n, r.shape, t.secondOrderPass), f = I(o, {
75
+ let n = e, r = y(n), { coords: i, data: a, group: o, viewOpacity: s, visibleBounds: c } = t, u = n.encoders, f = le(n, r.shape, t.secondOrderPass), p = .5, m = u.opacity.constant && u.size.constant, h = (e) => d(u.opacity, e) * s * Math.max(0, Math.min(d(u.size, e) / p, 1));
76
+ m && o.setAttribute("stroke-opacity", "" + h({}));
77
+ let g = I(o, {
76
78
  stroke: {
77
79
  encoder: u.color,
78
80
  transform: l
79
81
  },
80
- "stroke-opacity": {
81
- encoder: u.opacity,
82
- transform: (e) => +e * s
83
- },
84
82
  "stroke-width": {
85
83
  encoder: u.size,
86
- transform: (e) => N(+e)
84
+ transform: (e) => N(Math.max(+e, p))
87
85
  }
88
86
  });
89
87
  o.setAttribute("fill", "none"), o.setAttribute("stroke-linecap", "butt");
90
- let p = o, m;
88
+ let _ = o, v;
91
89
  return se(n, r, {
92
90
  coords: i,
93
91
  data: a,
@@ -95,12 +93,14 @@ function me(e, t) {
95
93
  }, ({ datum: e, points: n }) => {
96
94
  let [r, i, a, s] = n;
97
95
  if (t.countOnly) return;
98
- let c = f(e), l = d ? t.getLinkArcFadeMaskUrl({
96
+ let c = g(e);
97
+ m || (c["stroke-opacity"] = h(e));
98
+ let l = f ? t.getLinkArcFadeMaskUrl({
99
99
  p1: r,
100
100
  p4: s,
101
- distances: d
101
+ distances: f
102
102
  }) : void 0;
103
- l !== m && (m = l, p = l ? F("g", { mask: l }) : o, l && o.appendChild(p)), p.appendChild(F("path", {
103
+ l !== v && (v = l, _ = l ? F("g", { mask: l }) : o, l && o.appendChild(_)), _.appendChild(F("path", {
104
104
  d: `M ${R(r)} C ${R(i)} ${R(a)} ${R(s)}`,
105
105
  ...c
106
106
  }));
@@ -1,7 +1,7 @@
1
- import { t as e } from "./rasterization-_-9JmSas.js";
1
+ import { t as e } from "./rasterization-CFogVB3B.js";
2
2
  import { t } from "./rectangle-DE98gIxF.js";
3
3
  import { t as n } from "./layoutResult-D50MSHXR.js";
4
- import { t as r } from "./renderCanvas2D-DK1c9TFK.js";
4
+ import { t as r } from "./renderCanvas2D-Bdv-B4wj.js";
5
5
  import { n as i, t as a } from "./rasterImage-B4rPLaW9.js";
6
6
  //#region ../core/src/rendering/canvas2d/svgRasterizer.js
7
7
  function o() {
@@ -1,7 +1,7 @@
1
- import { t as e } from "./rasterization-_-9JmSas.js";
1
+ import { t as e } from "./rasterization-B05bDo5e.js";
2
2
  import { t } from "./rectangle-DE98gIxF.js";
3
3
  import { t as n } from "./layoutResult-D50MSHXR.js";
4
- import { t as r } from "./renderCanvas2D-IM-A9DYG.js";
4
+ import { t as r } from "./renderCanvas2D-ChdoHGrU.js";
5
5
  import { n as i, t as a } from "./rasterImage-B4rPLaW9.js";
6
6
  //#region ../core/src/rendering/canvas2d/svgRasterizer.js
7
7
  function o() {
@@ -1,4 +1,4 @@
1
- import { v as e, y as t } from "./viewSelectors-KtD-QSN0.js";
1
+ import { v as e, y as t } from "./viewSelectors-DDLW-byr.js";
2
2
  //#region ../core/src/encoder/metadataChannels.js
3
3
  function n(e) {
4
4
  return i(e?.key, "key");
@@ -1,4 +1,4 @@
1
- import { _ as e, v as t } from "./viewSelectors-DYz-PhTO.js";
1
+ import { _ as e, v as t } from "./viewSelectors-j-F9XwsE.js";
2
2
  //#region ../core/src/view/containerView.js
3
3
  var n = class n extends t {
4
4
  #e = /* @__PURE__ */ new Map();