@niivue/niivue 1.0.0-rc.21 → 1.0.0-rc.22

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/README.md CHANGED
@@ -87,10 +87,13 @@ Add a `<canvas>` to your page and attach NiiVue to it:
87
87
 
88
88
  ### Backend-specific distributions
89
89
 
90
- By default, `@niivue/niivue` includes both backends (WebGPU + WebGL2 fallback):
90
+ By default, `@niivue/niivue` includes both backends and renders with WebGL2. Opt in to WebGPU with the `backend` option; if WebGPU is unavailable or fails to initialize, it falls back to WebGL2:
91
91
 
92
92
  ```js
93
93
  import NiiVue from '@niivue/niivue'
94
+
95
+ const nv = new NiiVue() // WebGL2
96
+ const nvGpu = new NiiVue({ backend: 'webgpu' }) // WebGPU, WebGL2 fallback
94
97
  ```
95
98
 
96
99
  You can also import backend-only builds to reduce package size:
package/dist/NVTypes.d.ts CHANGED
@@ -1024,6 +1024,7 @@ export type GraphConfig = {
1024
1024
  export type NiiVueOptions = {
1025
1025
  instances?: NVInstance[];
1026
1026
  globalCamera?: NVGlobalCamera;
1027
+ /** Rendering backend. Defaults to 'webgl2' ('webgpu' in the WebGPU-only build). */
1027
1028
  backend?: BackendType;
1028
1029
  isAntiAlias?: boolean;
1029
1030
  devicePixelRatio?: number;
@@ -39806,7 +39806,7 @@ async function $b(t, e, n = null) {
39806
39806
  ), s ?? new Error("NiiVue: failed to initialize a graphics backend");
39807
39807
  return t.opts.thumbnail && (t.model.ui.isThumbnailVisible = !0, t.model.ui.thumbnailUrl = t.opts.thumbnail, await o.loadThumbnail(t.model.ui.thumbnailUrl)), t.opts.isInteractionEnabled !== !1 && Ob(t), t.opts.isInteractionEnabled !== !1 && Nb(t), Bb(t), o.resize(), t.emit("viewAttached", {
39808
39808
  canvas: t.canvas,
39809
- backend: t.opts.backend ?? "webgpu"
39809
+ backend: t.opts.backend ?? "webgl2"
39810
39810
  }), t;
39811
39811
  }
39812
39812
  function Ha(t, e) {
@@ -39828,7 +39828,7 @@ function Wb(t) {
39828
39828
  const n = e.parentNode;
39829
39829
  if (!n) return;
39830
39830
  const i = e.cloneNode(!1);
39831
- n.replaceChild(i, e), wh.set(i, t.opts.backend ?? "webgpu"), t.canvas = i;
39831
+ n.replaceChild(i, e), wh.set(i, t.opts.backend ?? "webgl2"), t.canvas = i;
39832
39832
  const r = en.get(e);
39833
39833
  if (r) {
39834
39834
  for (const o of r)
@@ -39843,7 +39843,7 @@ async function Hb(t, e = !1) {
39843
39843
  const n = t.opts.backend === "webgl2" ? new ub(t.canvas, t.model, t.opts) : new bb(t.canvas, t.model, t.opts);
39844
39844
  await n.init(), t.view = n, t._wireViewHooks(), t.opts.thumbnail && t.model.ui.isThumbnailVisible && await t.view.loadThumbnail(t.opts.thumbnail), t.opts.isInteractionEnabled !== !1 && Ob(t), t.opts.isInteractionEnabled !== !1 && Nb(t), Bb(t), await t._rebuildViewResources(), t.model.drawingVolume && t.refreshDrawing(), t.restoreSlidePlaneView(), t.view.resize(), t.drawScene(), t.emit("viewAttached", {
39845
39845
  canvas: t.canvas,
39846
- backend: t.opts.backend ?? "webgpu"
39846
+ backend: t.opts.backend ?? "webgl2"
39847
39847
  });
39848
39848
  }
39849
39849
  async function ok(t, e = {}) {
@@ -43819,7 +43819,7 @@ let BU = class extends EventTarget {
43819
43819
  for (const o of this._overlayRenderers)
43820
43820
  o.drawOverlay(s);
43821
43821
  }, B.setLogLevel(e.logLevel ?? "info"), this.activeClipPlaneIndex = 0, this.currentClipPlaneIndex = 0;
43822
- const r = e.backend ?? "webgpu";
43822
+ const r = e.backend ?? "webgl2";
43823
43823
  if (this.opts = {
43824
43824
  backend: r,
43825
43825
  isAntiAlias: e.isAntiAlias ?? !0,
@@ -49167,7 +49167,7 @@ async function qU(t, e = {}) {
49167
49167
  persist: i > 0 ? !1 : e.persist
49168
49168
  });
49169
49169
  if (i === 0) return r;
49170
- const s = cO(e.persist, i), { OmeZarrChunkWorkerPool: o } = await import("./omeZarrChunkWorkerPool-DcJBdCFl.js"), a = new o(t, e, {
49170
+ const s = cO(e.persist, i), { OmeZarrChunkWorkerPool: o } = await import("./omeZarrChunkWorkerPool-IMBVj7ja.js"), a = new o(t, e, {
49171
49171
  size: i,
49172
49172
  cacheBytesPerWorker: Math.floor(n / i),
49173
49173
  persistPerWorker: s
package/dist/niivue.js CHANGED
@@ -1,7 +1,7 @@
1
- import { N as e, v as s } from "./fetchOmeZarrChunkedSource-CIkXzcEM.js";
2
- import { B as t, a as m, C as f, D as u, b as c, G as d, L as p, M as C, c as A, d as h, e as E, f as S, g as T, h as R, i as O, j as _, O as M, k as N, l as P, m as V, n as b, o as D, P as L, p as g, q as Z, r as k, s as B, t as I, S as x, u as y, w as v, x as F, V as G, y as w, z as H, A as Y, E as U, F as z, H as W, I as K, J as j, K as J, Q as X, R as $, T as q, U as Q, W as aa, X as ea, Y as sa, Z as ra, _ as oa, $ as la, a0 as ia, a1 as na, a2 as ta, a3 as ma, a4 as fa, a5 as ua, a6 as ca, a7 as da, a8 as pa, a9 as Ca, aa as Aa, ab as ha, ac as Ea, ad as Sa, ae as Ta, af as Ra, ag as Oa, ah as _a, ai as Ma, aj as Na, ak as Pa, al as Va, am as ba, an as Da, ao as La, ap as ga, aq as Za, ar as ka, as as Ba, at as Ia, au as xa, av as ya, aw as va, ax as Fa, ay as Ga, az as wa, aA as Ha, aB as Ya, aC as Ua, aD as za, aE as Wa, aF as Ka, aG as ja, aH as Ja, aI as Xa, aJ as $a, aK as qa, aL as Qa, aM as ae, aN as ee, aO as se, aP as re, aQ as oe, aR as le, aS as ie, aT as ne, aU as te, aV as me, aW as fe, aX as ue, aY as ce, aZ as de, a_ as pe, a$ as Ce, b0 as Ae, b1 as he, b2 as Ee, b3 as Se, b4 as Te, b5 as Re, b6 as Oe, b7 as _e, b8 as Me, b9 as Ne, ba as Pe, bb as Ve, bc as be, bd as De, be as Le, bf as ge } from "./fetchOmeZarrChunkedSource-CIkXzcEM.js";
3
- import { S as ke } from "./slide-oBdx2X1m.js";
4
- import { S as Ie } from "./slide-4q4P_FGk.js";
1
+ import { N as e, v as s } from "./fetchOmeZarrChunkedSource-Cdzev_44.js";
2
+ import { B as t, a as m, C as f, D as u, b as c, G as d, L as p, M as C, c as A, d as h, e as E, f as S, g as T, h as R, i as O, j as _, O as M, k as N, l as P, m as V, n as b, o as D, P as L, p as g, q as Z, r as k, s as B, t as I, S as x, u as y, w as v, x as F, V as G, y as w, z as H, A as Y, E as U, F as z, H as W, I as K, J as j, K as J, Q as X, R as $, T as q, U as Q, W as aa, X as ea, Y as sa, Z as ra, _ as oa, $ as la, a0 as ia, a1 as na, a2 as ta, a3 as ma, a4 as fa, a5 as ua, a6 as ca, a7 as da, a8 as pa, a9 as Ca, aa as Aa, ab as ha, ac as Ea, ad as Sa, ae as Ta, af as Ra, ag as Oa, ah as _a, ai as Ma, aj as Na, ak as Pa, al as Va, am as ba, an as Da, ao as La, ap as ga, aq as Za, ar as ka, as as Ba, at as Ia, au as xa, av as ya, aw as va, ax as Fa, ay as Ga, az as wa, aA as Ha, aB as Ya, aC as Ua, aD as za, aE as Wa, aF as Ka, aG as ja, aH as Ja, aI as Xa, aJ as $a, aK as qa, aL as Qa, aM as ae, aN as ee, aO as se, aP as re, aQ as oe, aR as le, aS as ie, aT as ne, aU as te, aV as me, aW as fe, aX as ue, aY as ce, aZ as de, a_ as pe, a$ as Ce, b0 as Ae, b1 as he, b2 as Ee, b3 as Se, b4 as Te, b5 as Re, b6 as Oe, b7 as _e, b8 as Me, b9 as Ne, ba as Pe, bb as Ve, bc as be, bd as De, be as Le, bf as ge } from "./fetchOmeZarrChunkedSource-Cdzev_44.js";
3
+ import { S as ke } from "./slide-CozKX1Nh.js";
4
+ import { S as Ie } from "./slide-BGeB2Q2c.js";
5
5
  class l extends e {
6
6
  constructor(a = {}) {
7
7
  super(a, s, "both"), this.enforceBackendAvailability();
@@ -1,6 +1,6 @@
1
- import { bj as o, bk as h, bl as A, bt as l, bn as u, bo as m, bp as d, bq as w, br as C, bs as R, N as T } from "./fetchOmeZarrChunkedSource-CIkXzcEM.js";
2
- import { B as P, a as M, C as N, D, b as k, G as L, L as y, M as B, c as I, d as x, e as Z, f as G, g as H, h as z, i as F, j as U, O as Y, k as W, l as j, m as q, n as K, o as J, P as X, p as $, q as Q, r as aa, s as ea, t as sa, S as ia, u as na, w as oa, x as ta, V as ra, y as la, z as ua, A as ma, E as da, F as fa, H as ba, I as pa, J as ca, K as ha, Q as Aa, R as wa, T as Ca, U as Ra, W as Ta, X as Ea, Y as Sa, Z as va, _ as _a, $ as Va, a0 as ga, a1 as Oa, a2 as Pa, a3 as Ma, a4 as Na, a5 as Da, a6 as ka, a7 as La, a8 as ya, a9 as Ba, aa as Ia, ab as xa, ac as Za, ad as Ga, ae as Ha, af as za, ag as Fa, ah as Ua, ai as Ya, aj as Wa, ak as ja, al as qa, am as Ka, an as Ja, ao as Xa, ap as $a, aq as Qa, ar as ae, as as ee, at as se, au as ie, av as ne, aw as oe, ax as te, ay as re, az as le, aA as ue, aB as me, aC as de, aD as fe, aE as be, aF as pe, aG as ce, aH as he, aI as Ae, aJ as we, aK as Ce, aL as Re, aM as Te, aN as Ee, aO as Se, aP as ve, aQ as _e, aR as Ve, aS as ge, aT as Oe, aU as Pe, aV as Me, aW as Ne, aX as De, aY as ke, aZ as Le, a_ as ye, a$ as Be, b0 as Ie, b1 as xe, b2 as Ze, b3 as Ge, b4 as He, b5 as ze, b6 as Fe, b7 as Ue, b8 as Ye, b9 as We, ba as je, bb as qe, bc as Ke, bd as Je, be as Xe, bf as $e } from "./fetchOmeZarrChunkedSource-CIkXzcEM.js";
3
- import { S as as } from "./slide-oBdx2X1m.js";
1
+ import { bj as o, bk as h, bl as A, bt as l, bn as u, bo as m, bp as d, bq as w, br as C, bs as R, N as T } from "./fetchOmeZarrChunkedSource-Cdzev_44.js";
2
+ import { B as P, a as M, C as N, D, b as k, G as L, L as y, M as B, c as I, d as x, e as Z, f as G, g as H, h as z, i as F, j as U, O as Y, k as W, l as j, m as q, n as K, o as J, P as X, p as $, q as Q, r as aa, s as ea, t as sa, S as ia, u as na, w as oa, x as ta, V as ra, y as la, z as ua, A as ma, E as da, F as fa, H as ba, I as pa, J as ca, K as ha, Q as Aa, R as wa, T as Ca, U as Ra, W as Ta, X as Ea, Y as Sa, Z as va, _ as _a, $ as Va, a0 as ga, a1 as Oa, a2 as Pa, a3 as Ma, a4 as Na, a5 as Da, a6 as ka, a7 as La, a8 as ya, a9 as Ba, aa as Ia, ab as xa, ac as Za, ad as Ga, ae as Ha, af as za, ag as Fa, ah as Ua, ai as Ya, aj as Wa, ak as ja, al as qa, am as Ka, an as Ja, ao as Xa, ap as $a, aq as Qa, ar as ae, as as ee, at as se, au as ie, av as ne, aw as oe, ax as te, ay as re, az as le, aA as ue, aB as me, aC as de, aD as fe, aE as be, aF as pe, aG as ce, aH as he, aI as Ae, aJ as we, aK as Ce, aL as Re, aM as Te, aN as Ee, aO as Se, aP as ve, aQ as _e, aR as Ve, aS as ge, aT as Oe, aU as Pe, aV as Me, aW as Ne, aX as De, aY as ke, aZ as Le, a_ as ye, a$ as Be, b0 as Ie, b1 as xe, b2 as Ze, b3 as Ge, b4 as He, b5 as ze, b6 as Fe, b7 as Ue, b8 as Ye, b9 as We, ba as je, bb as qe, bc as Ke, bd as Je, be as Xe, bf as $e } from "./fetchOmeZarrChunkedSource-Cdzev_44.js";
3
+ import { S as as } from "./slide-CozKX1Nh.js";
4
4
  async function E(a, e, i = null) {
5
5
  return await f(
6
6
  a,
@@ -1,6 +1,6 @@
1
- import { bj as o, bk as h, bl as A, bm as l, bn as u, bo as m, bp as d, bq as w, br as C, bs as R, N as T } from "./fetchOmeZarrChunkedSource-CIkXzcEM.js";
2
- import { B as O, a as M, C as N, D, b as k, G as L, L as y, M as B, c as I, d as x, e as Z, f as G, g as H, h as U, i as z, j as F, O as Y, k as W, l as j, m as q, n as K, o as J, P as X, p as $, q as Q, r as aa, s as ea, t as sa, S as ia, u as na, w as oa, x as ra, V as ta, y as la, z as ua, A as ma, E as da, F as fa, H as pa, I as ba, J as ca, K as ha, Q as Aa, R as wa, T as Ca, U as Ra, W as Ta, X as Ea, Y as Sa, Z as va, _ as _a, $ as Pa, a0 as Va, a1 as ga, a2 as Oa, a3 as Ma, a4 as Na, a5 as Da, a6 as ka, a7 as La, a8 as ya, a9 as Ba, aa as Ia, ab as xa, ac as Za, ad as Ga, ae as Ha, af as Ua, ag as za, ah as Fa, ai as Ya, aj as Wa, ak as ja, al as qa, am as Ka, an as Ja, ao as Xa, ap as $a, aq as Qa, ar as ae, as as ee, at as se, au as ie, av as ne, aw as oe, ax as re, ay as te, az as le, aA as ue, aB as me, aC as de, aD as fe, aE as pe, aF as be, aG as ce, aH as he, aI as Ae, aJ as we, aK as Ce, aL as Re, aM as Te, aN as Ee, aO as Se, aP as ve, aQ as _e, aR as Pe, aS as Ve, aT as ge, aU as Oe, aV as Me, aW as Ne, aX as De, aY as ke, aZ as Le, a_ as ye, a$ as Be, b0 as Ie, b1 as xe, b2 as Ze, b3 as Ge, b4 as He, b5 as Ue, b6 as ze, b7 as Fe, b8 as Ye, b9 as We, ba as je, bb as qe, bc as Ke, bd as Je, be as Xe, bf as $e } from "./fetchOmeZarrChunkedSource-CIkXzcEM.js";
3
- import { S as as } from "./slide-4q4P_FGk.js";
1
+ import { bj as o, bk as h, bl as A, bm as l, bn as u, bo as m, bp as d, bq as w, br as C, bs as R, N as T } from "./fetchOmeZarrChunkedSource-Cdzev_44.js";
2
+ import { B as O, a as M, C as N, D, b as k, G as L, L as y, M as B, c as I, d as x, e as Z, f as G, g as H, h as U, i as z, j as F, O as Y, k as W, l as j, m as q, n as K, o as J, P as X, p as $, q as Q, r as aa, s as ea, t as sa, S as ia, u as na, w as oa, x as ra, V as ta, y as la, z as ua, A as ma, E as da, F as fa, H as pa, I as ba, J as ca, K as ha, Q as Aa, R as wa, T as Ca, U as Ra, W as Ta, X as Ea, Y as Sa, Z as va, _ as _a, $ as Pa, a0 as Va, a1 as ga, a2 as Oa, a3 as Ma, a4 as Na, a5 as Da, a6 as ka, a7 as La, a8 as ya, a9 as Ba, aa as Ia, ab as xa, ac as Za, ad as Ga, ae as Ha, af as Ua, ag as za, ah as Fa, ai as Ya, aj as Wa, ak as ja, al as qa, am as Ka, an as Ja, ao as Xa, ap as $a, aq as Qa, ar as ae, as as ee, at as se, au as ie, av as ne, aw as oe, ax as re, ay as te, az as le, aA as ue, aB as me, aC as de, aD as fe, aE as pe, aF as be, aG as ce, aH as he, aI as Ae, aJ as we, aK as Ce, aL as Re, aM as Te, aN as Ee, aO as Se, aP as ve, aQ as _e, aR as Pe, aS as Ve, aT as ge, aU as Oe, aV as Me, aW as Ne, aX as De, aY as ke, aZ as Le, a_ as ye, a$ as Be, b0 as Ie, b1 as xe, b2 as Ze, b3 as Ge, b4 as He, b5 as Ue, b6 as ze, b7 as Fe, b8 as Ye, b9 as We, ba as je, bb as qe, bc as Ke, bd as Je, be as Xe, bf as $e } from "./fetchOmeZarrChunkedSource-Cdzev_44.js";
3
+ import { S as as } from "./slide-BGeB2Q2c.js";
4
4
  async function E(a, e, i = null) {
5
5
  return await f(
6
6
  a,
@@ -63,7 +63,11 @@ const v = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
63
63
  }, Symbol.toStringTag, { value: "Module" }));
64
64
  class P extends T {
65
65
  constructor(e = {}) {
66
- super(e, v, "webgpu"), this.enforceBackendAvailability();
66
+ super(
67
+ { ...e, backend: e.backend ?? "webgpu" },
68
+ v,
69
+ "webgpu"
70
+ ), this.enforceBackendAvailability();
67
71
  }
68
72
  }
69
73
  export {