@vitessce/all 3.6.10 → 3.6.12

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.
@@ -1,4 +1,4 @@
1
- import { g as getDefaultExportFromCjs, aV as requireAssign, aW as require_export, aX as require_core, aY as require_fails, aZ as require_toObject, a_ as require_objectKeys, a$ as require_cof, b0 as require_wks, b1 as require_iterators, b2 as requireWeb_dom_iterable, b3 as requireEs6_string_iterator, b4 as require_anObject, b5 as require_hide, b6 as require_ctx, b7 as require_toLength, b8 as require_global, b9 as require_objectDp, ba as require_descriptors, bb as require_isObject, bc as require_objectCreate, bd as require_iterDefine, be as require_iterStep, bf as require_meta, bg as require_isArray, bh as require_iobject, bi as require_setToStringTag, bj as require_aFunction, bk as requireIterator, bl as require_propertyDesc, aS as commonjsGlobal, bm as requireEs6_symbol, bn as requireDefineProperty, bo as require_toIobject, bp as require_objectGopd, bq as require_html, br as require_domCreate, bs as require_library, bt as requireSymbol, bu as require_objectPie, bv as require_has, bw as require_redefine, bx as require_objectAssign, by as getAugmentedNamespace, bz as requirePropTypes, aI as jsxRuntimeExports } from "./index-DaWuEqkA.js";
1
+ import { g as getDefaultExportFromCjs, aV as requireAssign, aW as require_export, aX as require_core, aY as require_fails, aZ as require_toObject, a_ as require_objectKeys, a$ as require_cof, b0 as require_wks, b1 as require_iterators, b2 as requireWeb_dom_iterable, b3 as requireEs6_string_iterator, b4 as require_anObject, b5 as require_hide, b6 as require_ctx, b7 as require_toLength, b8 as require_global, b9 as require_objectDp, ba as require_descriptors, bb as require_isObject, bc as require_objectCreate, bd as require_iterDefine, be as require_iterStep, bf as require_meta, bg as require_isArray, bh as require_iobject, bi as require_setToStringTag, bj as require_aFunction, bk as requireIterator, bl as require_propertyDesc, aS as commonjsGlobal, bm as requireEs6_symbol, bn as requireDefineProperty, bo as require_toIobject, bp as require_objectGopd, bq as require_html, br as require_domCreate, bs as require_library, bt as requireSymbol, bu as require_objectPie, bv as require_has, bw as require_redefine, bx as require_objectAssign, by as getAugmentedNamespace, bz as requirePropTypes, aI as jsxRuntimeExports } from "./index-C4jXHZ0b.js";
2
2
  import React__default from "react";
3
3
  var lib = {};
4
4
  var assignExports = requireAssign();
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-SxljTded.js";
2
- import { aP as BaseDecoder } from "./index-DaWuEqkA.js";
2
+ import { aP as BaseDecoder } from "./index-C4jXHZ0b.js";
3
3
  class DeflateDecoder extends BaseDecoder {
4
4
  decodeBlock(buffer) {
5
5
  return inflate_1(new Uint8Array(buffer)).buffer;
@@ -1,7 +1,7 @@
1
1
  import * as React$7 from "react";
2
2
  import React__default, { isValidElement, PureComponent, Component, createElement, createContext, createRef } from "react";
3
3
  import ReactDOM__default, { findDOMNode as findDOMNode$1 } from "react-dom";
4
- import { aS as commonjsGlobal$1, aT as requireObjectAssign, g as getDefaultExportFromCjs$1, aU as earcut } from "./index-DaWuEqkA.js";
4
+ import { aS as commonjsGlobal$1, aT as requireObjectAssign, g as getDefaultExportFromCjs$1, aU as earcut } from "./index-C4jXHZ0b.js";
5
5
  var promise = {};
6
6
  var hasRequiredPromise;
7
7
  function requirePromise() {
@@ -207897,7 +207897,8 @@ const PIXELATED_TEXTURE_PARAMETERS = {
207897
207897
  const GLSL_COLORMAPS = [
207898
207898
  "plasma",
207899
207899
  "viridis",
207900
- "jet"
207900
+ "jet",
207901
+ "greys"
207901
207902
  ];
207902
207903
  const GLSL_COLORMAP_DEFAULT = "plasma";
207903
207904
  const COLORMAP_SHADER_PLACEHOLDER = "COLORMAP_FUNC";
@@ -209668,22 +209669,22 @@ async function getDecoder(fileDirectory) {
209668
209669
  const Decoder = await importFn();
209669
209670
  return new Decoder(fileDirectory);
209670
209671
  }
209671
- addDecoder([void 0, 1], () => import("./raw-fCTZmYt9.js").then((m2) => m2.default));
209672
- addDecoder(5, () => import("./lzw-BMACI29v.js").then((m2) => m2.default));
209672
+ addDecoder([void 0, 1], () => import("./raw-3qJospDt.js").then((m2) => m2.default));
209673
+ addDecoder(5, () => import("./lzw-BwTxxip3.js").then((m2) => m2.default));
209673
209674
  addDecoder(6, () => {
209674
209675
  throw new Error("old style JPEG compression is not supported.");
209675
209676
  });
209676
- addDecoder(7, () => import("./jpeg-ChPg2CE2.js").then((m2) => m2.default));
209677
- addDecoder([8, 32946], () => import("./deflate-BvInAYNe.js").then((m2) => m2.default));
209678
- addDecoder(32773, () => import("./packbits-IhnVESwp.js").then((m2) => m2.default));
209677
+ addDecoder(7, () => import("./jpeg-Co9uTOBm.js").then((m2) => m2.default));
209678
+ addDecoder([8, 32946], () => import("./deflate-m7-w-RAu.js").then((m2) => m2.default));
209679
+ addDecoder(32773, () => import("./packbits-1Z8M_gwl.js").then((m2) => m2.default));
209679
209680
  addDecoder(
209680
209681
  34887,
209681
- () => import("./lerc-C2XErs4B.js").then(async (m2) => {
209682
+ () => import("./lerc-CAmIGmmt.js").then(async (m2) => {
209682
209683
  await m2.zstd.init();
209683
209684
  return m2;
209684
209685
  }).then((m2) => m2.default)
209685
209686
  );
209686
- addDecoder(50001, () => import("./webimage-z9CP0_uw.js").then((m2) => m2.default));
209687
+ addDecoder(50001, () => import("./webimage-BF_dP3bA.js").then((m2) => m2.default));
209687
209688
  function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
209688
209689
  return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
209689
209690
  }
@@ -231817,6 +231818,9 @@ function Legend(props) {
231817
231818
  featureSelectionLabelRawStr = featureSelectionLabelRaw == null ? void 0 : featureSelectionLabelRaw[0];
231818
231819
  } else if (featureAggregationStrategy === "last") {
231819
231820
  featureSelectionLabelRawStr = featureSelectionLabelRaw == null ? void 0 : featureSelectionLabelRaw.at(-1);
231821
+ } else if (typeof featureAggregationStrategy === "number") {
231822
+ const i2 = featureAggregationStrategy;
231823
+ featureSelectionLabelRawStr = featureSelectionLabelRaw == null ? void 0 : featureSelectionLabelRaw[i2];
231820
231824
  } else if (featureAggregationStrategy === "sum") {
231821
231825
  featureSelectionLabelRawStr = "Sum of features";
231822
231826
  } else if (featureAggregationStrategy === "mean") {
@@ -232231,7 +232235,7 @@ function EmbeddingScatterplotSubscriber(props) {
232231
232235
  return [1, 10, 100];
232232
232236
  }, [contourPercentiles, sortedWeights]);
232233
232237
  const circleInfo = useMemo$1(() => {
232234
- if (!originalViewState || !width2 || !height2) {
232238
+ if (!originalViewState || !width2 || !height2 || !xRange || !yRange) {
232235
232239
  return null;
232236
232240
  }
232237
232241
  const center2 = [
@@ -232242,7 +232246,8 @@ function EmbeddingScatterplotSubscriber(props) {
232242
232246
  if (!(typeof scaleFactor === "number" && typeof center2[0] === "number" && typeof center2[1] === "number") || Number.isNaN(scaleFactor)) {
232243
232247
  return null;
232244
232248
  }
232245
- const radius2 = Math.min(width2, height2) / 2 / scaleFactor;
232249
+ const size2 = Math.max(xRange, yRange);
232250
+ const radius2 = size2 * Math.sqrt(2) / 2 * 0.8;
232246
232251
  const numPoints = 96;
232247
232252
  const options = { steps: numPoints, units: "degrees" };
232248
232253
  const circlePolygon = circle$5(center2, radius2, options);
@@ -232252,7 +232257,7 @@ function EmbeddingScatterplotSubscriber(props) {
232252
232257
  polygon: circlePolygon,
232253
232258
  steps: numPoints
232254
232259
  };
232255
- }, [originalViewState, width2, height2]);
232260
+ }, [originalViewState, width2, height2, xRange, yRange]);
232256
232261
  const [alignedEmbeddingIndex, alignedEmbeddingData] = useMemo$1(() => {
232257
232262
  if ((obsEmbedding == null ? void 0 : obsEmbedding.data) && obsEmbeddingIndex && matrixObsIndex) {
232258
232263
  const matrixIndexMap = new Map(matrixObsIndex.map((key2, i2) => [key2, i2]));
@@ -247588,6 +247593,61 @@ function abbreviateNumber(value2) {
247588
247593
  return naive;
247589
247594
  return value2.toExponential(0);
247590
247595
  }
247596
+ class DAG {
247597
+ /**
247598
+ * DAG constructor.
247599
+ * @param {{ from: string, to: string, attributes: any}[]} edges
247600
+ */
247601
+ constructor(edges) {
247602
+ this.graph = /* @__PURE__ */ new Map();
247603
+ this.edgeData = new InternMap$1([], JSON.stringify);
247604
+ edges.forEach((edge) => {
247605
+ const { from: from2, to } = edge;
247606
+ if (!this.graph.has(from2)) {
247607
+ this.graph.set(from2, []);
247608
+ }
247609
+ this.graph.get(from2).push(to);
247610
+ this.edgeData.set([from2, to], edge.attributes);
247611
+ });
247612
+ }
247613
+ /**
247614
+ * Find a path from start to end using DFS.
247615
+ * @param {string} start
247616
+ * @param {string} end
247617
+ * @returns {{ from: string, to: string, attributes: any }[] | null} Returns
247618
+ * the path as an array of edges or null if no path exists.
247619
+ */
247620
+ findPath(start2, end2) {
247621
+ const path2 = [];
247622
+ const visited = /* @__PURE__ */ new Set();
247623
+ const dfs = (node2) => {
247624
+ if (node2 === end2) {
247625
+ return true;
247626
+ }
247627
+ visited.add(node2);
247628
+ const neighbors = this.graph.get(node2) || [];
247629
+ for (const neighbor of neighbors) {
247630
+ if (!visited.has(neighbor)) {
247631
+ path2.push([node2, neighbor]);
247632
+ if (dfs(neighbor)) {
247633
+ return true;
247634
+ }
247635
+ path2.pop();
247636
+ }
247637
+ }
247638
+ return false;
247639
+ };
247640
+ const found = dfs(start2);
247641
+ if (found) {
247642
+ return path2.map(([from2, to]) => ({
247643
+ from: from2,
247644
+ to,
247645
+ attributes: this.edgeData.get([from2, to])
247646
+ }));
247647
+ }
247648
+ return null;
247649
+ }
247650
+ }
247591
247651
  function getSourceFromLoader(loader2, level) {
247592
247652
  const { data: data2 } = loader2;
247593
247653
  const source2 = Array.isArray(data2) ? data2[data2.length - 1] : data2;
@@ -247899,8 +247959,14 @@ function coordinateTransformationsToMatrix(coordinateTransformations, axes) {
247899
247959
  }
247900
247960
  } else if (spatialOutputAxes.length === 2) {
247901
247961
  const nextMat = new Matrix4$1().fromArray([
247902
- ...filteredAffine[0],
247903
- ...filteredAffine[1],
247962
+ filteredAffine[0][0],
247963
+ filteredAffine[0][1],
247964
+ 0,
247965
+ filteredAffine[0][2],
247966
+ filteredAffine[1][0],
247967
+ filteredAffine[1][1],
247968
+ 0,
247969
+ filteredAffine[1][2],
247904
247970
  0,
247905
247971
  0,
247906
247972
  1,
@@ -247916,6 +247982,7 @@ function coordinateTransformationsToMatrix(coordinateTransformations, axes) {
247916
247982
  const swapMat = new Matrix4$1().fromArray(swapMatNested.flat());
247917
247983
  mat = mat.multiplyLeft(swapMat);
247918
247984
  }
247985
+ mat = mat.transpose();
247919
247986
  } else {
247920
247987
  throw new Error("Affine transformation must have 2 or 3 rows.");
247921
247988
  }
@@ -247942,6 +248009,9 @@ function coordinateTransformationsToMatrix(coordinateTransformations, axes) {
247942
248009
  }
247943
248010
  });
247944
248011
  }
248012
+ if (mat.some((value2) => Number.isNaN(value2))) {
248013
+ throw new Error("Matrix contains NaN values");
248014
+ }
247945
248015
  return mat;
247946
248016
  }
247947
248017
  function hexToRgb(hex2) {
@@ -247960,6 +248030,9 @@ function normalizeAxes(axes) {
247960
248030
  return axisInfo;
247961
248031
  });
247962
248032
  }
248033
+ function getIntrinsicCoordinateSystem(normAxes) {
248034
+ return normAxes.map((axis2) => axis2.name).join("");
248035
+ }
247963
248036
  function normalizeCoordinateTransformations(coordinateTransformations, datasets) {
247964
248037
  var _a3;
247965
248038
  let result = [];
@@ -247967,35 +248040,13 @@ function normalizeCoordinateTransformations(coordinateTransformations, datasets)
247967
248040
  result = coordinateTransformations.flatMap((transform3) => {
247968
248041
  if (transform3.input && transform3.output) {
247969
248042
  const { type: type2 } = transform3;
247970
- if (type2 === "translation") {
247971
- return {
247972
- type: type2,
247973
- translation: transform3.translation
247974
- };
247975
- }
247976
- if (type2 === "scale") {
247977
- return {
247978
- type: type2,
247979
- scale: transform3.scale
247980
- };
247981
- }
247982
- if (type2 === "affine") {
247983
- return {
247984
- type: type2,
247985
- affine: transform3.affine,
247986
- // Affine transformations can potentially swap axes,
247987
- // so we need to include the input and output axes.
247988
- input: transform3.input,
247989
- output: transform3.output
247990
- };
247991
- }
247992
- if (type2 === "identity") {
247993
- return { type: type2 };
247994
- }
247995
248043
  if (type2 === "sequence") {
247996
- return normalizeCoordinateTransformations(transform3.transformations, datasets);
248044
+ return normalizeCoordinateTransformations(transform3.transformations, null);
248045
+ }
248046
+ if (type2 === "affine" || type2 === "translation" || type2 === "scale" || type2 === "identity") {
248047
+ return transform3;
247997
248048
  }
247998
- log$b.warn(`Coordinate transformation type "${type2}" is not supported.`);
248049
+ log$b.error(`Coordinate transformation type "${type2}" is not supported.`);
247999
248050
  }
248000
248051
  return transform3;
248001
248052
  });
@@ -248008,6 +248059,27 @@ function normalizeCoordinateTransformations(coordinateTransformations, datasets)
248008
248059
  }
248009
248060
  return result;
248010
248061
  }
248062
+ function coordinateTransformationsToMatrixForSpatialData(ngffMetadata, targetCoordinateSystem) {
248063
+ const { datasets, coordinateTransformations, axes } = ngffMetadata;
248064
+ const normAxes = normalizeAxes(axes);
248065
+ const intrinsicCoordinateSystem = getIntrinsicCoordinateSystem(normAxes);
248066
+ const edges = coordinateTransformations.map((ct) => ({
248067
+ from: ct.input.name,
248068
+ to: ct.output.name,
248069
+ attributes: ct
248070
+ }));
248071
+ const dag = new DAG(edges);
248072
+ const ctPath = dag.findPath(intrinsicCoordinateSystem, targetCoordinateSystem);
248073
+ if (!ctPath) {
248074
+ if (!coordinateTransformations.find((ct) => ct.output.name === targetCoordinateSystem)) {
248075
+ throw new Error(`No coordinate transformation found with output.name "${targetCoordinateSystem}".`);
248076
+ }
248077
+ throw new Error(`No path found from "${intrinsicCoordinateSystem}" to "${targetCoordinateSystem}".`);
248078
+ }
248079
+ const filteredTransformations = ctPath.map((ctEdge) => ctEdge.attributes);
248080
+ const normalizedTransformations = normalizeCoordinateTransformations(filteredTransformations, datasets);
248081
+ return coordinateTransformationsToMatrix(normalizedTransformations, normAxes);
248082
+ }
248011
248083
  class NodeNotFoundError extends Error {
248012
248084
  constructor(context2, options = {}) {
248013
248085
  super(`Node not found: ${context2}`, options);
@@ -253488,7 +253560,7 @@ class ErrorBoundary extends React__default.Component {
253488
253560
  }
253489
253561
  }
253490
253562
  const LazySpatialThree = React__default.lazy(async () => {
253491
- const { SpatialWrapper: SpatialWrapper2 } = await import("./index-CTf4FMp2.js");
253563
+ const { SpatialWrapper: SpatialWrapper2 } = await import("./index-D1PvvaWO.js");
253492
253564
  return { default: SpatialWrapper2 };
253493
253565
  });
253494
253566
  const SpatialThreeAdapter = React__default.forwardRef((props, ref2) => jsxRuntimeExports.jsx("div", { ref: ref2, style: { width: "100%", height: "100%" }, children: jsxRuntimeExports.jsx(ErrorBoundary, { children: jsxRuntimeExports.jsx(Suspense, { fallback: jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: jsxRuntimeExports.jsx(LazySpatialThree, { ...props }) }) }) }));
@@ -265329,7 +265401,7 @@ function HiglassGlobalStyles(props) {
265329
265401
  }
265330
265402
  register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
265331
265403
  const LazyHiGlassComponent = React__default.lazy(async () => {
265332
- const { HiGlassComponent } = await import("./higlass-CgAQbB3K.js");
265404
+ const { HiGlassComponent } = await import("./higlass-BzR8ZcgQ.js");
265333
265405
  return { default: HiGlassComponent };
265334
265406
  });
265335
265407
  const HG_SIZE = 800;
@@ -268273,7 +268345,7 @@ function NeuroglancerGlobalStyles(props) {
268273
268345
  const { classes: classes2 } = props;
268274
268346
  return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
268275
268347
  }
268276
- const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-DXQIZ-nA.js"));
268348
+ const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-ClJTnYLU.js"));
268277
268349
  function createWorker() {
268278
268350
  return new WorkerFactory();
268279
268351
  }
@@ -321761,26 +321833,7 @@ function ExpressionHistogramSubscriber(props) {
321761
321833
  return jsxRuntimeExports.jsx(TitleInfo, { title: `Histogram${firstGeneSelected ? ` (${firstGeneSelected})` : ""}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, helpText, errors, children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes2.vegaContainer, children: jsxRuntimeExports.jsx(ExpressionHistogram, { geneSelection, obsType, featureType, featureValueType, onSelect, data: data2, theme, width: width2, height: height2 }) }) });
321762
321834
  }
321763
321835
  function DotPlot(props) {
321764
- const {
321765
- isStratified,
321766
- transpose: transpose2,
321767
- data: rawData,
321768
- theme,
321769
- width: width2,
321770
- height: height2,
321771
- marginRight,
321772
- marginBottom,
321773
- obsType,
321774
- sampleType,
321775
- keyLength = 36,
321776
- featureType,
321777
- featureValueType,
321778
- featureValueTransformName,
321779
- // TODO: re-enable featureValueColormap coordination
321780
- // featureValueColormap,
321781
- obsSetSelection,
321782
- obsSetColor
321783
- } = props;
321836
+ const { isStratified, transpose: transpose2, data: rawData, theme, width: width2, height: height2, marginRight, marginBottom, obsType, sampleType, keyLength = 36, featureType, featureValueType, featureValueTransformName, featureValueColormap, obsSetSelection, obsSetColor, onDotSelect } = props;
321784
321837
  const vegaContainerRef = useRef();
321785
321838
  const data2 = rawData.map((d) => ({
321786
321839
  ...d,
@@ -321818,6 +321871,26 @@ function DotPlot(props) {
321818
321871
  // Reference: https://vega.github.io/vega-lite/docs/mark.html
321819
321872
  opacity: 1
321820
321873
  },
321874
+ params: [
321875
+ {
321876
+ name: "dot_select",
321877
+ select: {
321878
+ type: "point",
321879
+ on: "click[event.shiftKey === false]",
321880
+ fields: ["feature"],
321881
+ empty: "none"
321882
+ }
321883
+ },
321884
+ {
321885
+ name: "shift_dot_select",
321886
+ select: {
321887
+ type: "point",
321888
+ on: "click[event.shiftKey]",
321889
+ fields: ["feature"],
321890
+ empty: "none"
321891
+ }
321892
+ }
321893
+ ],
321821
321894
  encoding: {
321822
321895
  [transpose2 ? "y" : "x"]: {
321823
321896
  field: "keyFeature",
@@ -321839,8 +321912,7 @@ function DotPlot(props) {
321839
321912
  type: "quantitative",
321840
321913
  title: meanTransform,
321841
321914
  scale: {
321842
- // scheme: featureValueColormap,
321843
- scheme: "greys"
321915
+ scheme: featureValueColormap
321844
321916
  },
321845
321917
  legend: {
321846
321918
  direction: "horizontal",
@@ -321882,6 +321954,14 @@ function DotPlot(props) {
321882
321954
  } : {}
321883
321955
  }
321884
321956
  };
321957
+ const handleSignal = (name2, value2) => {
321958
+ if (name2 === "dot_select") {
321959
+ onDotSelect(value2.feature);
321960
+ } else if (name2 === "shift_dot_select") {
321961
+ onDotSelect(value2.feature, true);
321962
+ }
321963
+ };
321964
+ const signalListeners = { dot_select: handleSignal, shift_dot_select: handleSignal };
321885
321965
  const getTooltipText = useCallback((item) => ({
321886
321966
  [`${capitalize$3(featureType)}`]: item.datum.feature,
321887
321967
  [`${capitalize$3(obsType)} Set`]: item.datum.group,
@@ -321906,7 +321986,7 @@ function DotPlot(props) {
321906
321986
  useEffect(() => {
321907
321987
  setVegaRenderIncrement((prev2) => prev2 + 1);
321908
321988
  }, [rawData]);
321909
- return jsxRuntimeExports.jsx("div", { ref: vegaContainerRef, children: jsxRuntimeExports.jsx(VegaPlot, { data: data2, spec, onNewView, getTooltipText, renderer: "svg" }) });
321989
+ return jsxRuntimeExports.jsx("div", { ref: vegaContainerRef, children: jsxRuntimeExports.jsx(VegaPlot, { data: data2, spec, onNewView, signalListeners, getTooltipText, renderer: "svg" }) });
321910
321990
  }
321911
321991
  function useExpressionSummaries(sampleEdges, sampleSets, sampleSetSelection, expressionData, obsIndex, cellSets, additionalCellSets, geneSelection, cellSetSelection, cellSetColor, featureValueTransform, featureValueTransformCoefficient, posThreshold, featureLabelsMap) {
321912
321992
  const mergedCellSets = useMemo$1(() => mergeObsSets(cellSets, additionalCellSets), [cellSets, additionalCellSets]);
@@ -321962,7 +322042,24 @@ function DotPlotSubscriber(props) {
321962
322042
  const { coordinationScopes, removeGridComponent, theme, title: title2 = "Dot Plot", transpose: transpose2 = true, helpText = ViewHelpMapping.DOT_PLOT } = props;
321963
322043
  const { classes: classes2 } = useStyles$3();
321964
322044
  const loaders = useLoaders();
321965
- const [{ dataset, obsType, featureType, featureValueType, featureSelection: geneSelection, featureValueTransform, featureValueTransformCoefficient, featureValuePositivityThreshold: posThreshold, featureValueColormap, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, additionalObsSets: additionalCellSets, sampleType, sampleSetSelection }, { setFeatureValueTransform, setFeatureValueTransformCoefficient, setFeatureValuePositivityThreshold: setPosThreshold, setFeatureValueColormap }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.DOT_PLOT], coordinationScopes);
322045
+ const [{
322046
+ dataset,
322047
+ obsType,
322048
+ featureType,
322049
+ featureValueType,
322050
+ featureSelection: geneSelection,
322051
+ featureValueTransform,
322052
+ featureValueTransformCoefficient,
322053
+ featureValuePositivityThreshold: posThreshold,
322054
+ featureValueColormap,
322055
+ obsSetSelection: cellSetSelection,
322056
+ obsSetColor: cellSetColor,
322057
+ additionalObsSets: additionalCellSets,
322058
+ sampleType,
322059
+ sampleSetSelection,
322060
+ // eslint-disable-next-line no-unused-vars
322061
+ featureAggregationStrategy
322062
+ }, { setFeatureValueTransform, setFeatureValueTransformCoefficient, setFeatureValuePositivityThreshold: setPosThreshold, setFeatureValueColormap, setFeatureAggregationStrategy }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.DOT_PLOT], coordinationScopes);
321966
322063
  const [width2, height2, containerRef] = useGridItemSize();
321967
322064
  const transformOptions = VALUE_TRANSFORM_OPTIONS;
321968
322065
  const isStratified = Array.isArray(sampleSetSelection) && sampleSetSelection.length > 1;
@@ -322003,7 +322100,13 @@ function DotPlotSubscriber(props) {
322003
322100
  ]);
322004
322101
  const [resultArr, meanExpressionMax] = useExpressionSummaries(sampleEdges, sampleSets, sampleSetSelection, expressionData, obsIndex, cellSets, additionalCellSets, geneSelection, cellSetSelection, cellSetColor, featureValueTransform, featureValueTransformCoefficient, posThreshold, featureLabelsMap);
322005
322102
  const selectedTransformName = (_a3 = transformOptions.find((o2) => o2.value === featureValueTransform)) == null ? void 0 : _a3.name;
322006
- return jsxRuntimeExports.jsx(TitleInfo, { title: title2, removeGridComponent, urls: urls2, theme, isReady, helpText, errors, options: jsxRuntimeExports.jsx(CellSetExpressionPlotOptions, { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions, featureValuePositivityThreshold: posThreshold, setFeatureValuePositivityThreshold: setPosThreshold, featureValueColormap, setFeatureValueColormap }), children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes2.vegaContainer, children: resultArr ? jsxRuntimeExports.jsx(DotPlot, { isStratified, transpose: transpose2, domainMax: meanExpressionMax, data: resultArr, theme, width: width2, height: height2, obsType, sampleType, featureType, featureValueType, featureValueTransformName: selectedTransformName, featureValueColormap, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor }) : jsxRuntimeExports.jsxs("span", { children: ["Select at least one ", featureType, "."] }) }) });
322103
+ const onDotSelect = useCallback((featureName, isShiftDown = false) => {
322104
+ const featureI = geneSelection.indexOf(featureName == null ? void 0 : featureName[0]);
322105
+ if (featureI >= 0) {
322106
+ setFeatureAggregationStrategy(featureI);
322107
+ }
322108
+ }, [setFeatureAggregationStrategy, geneSelection]);
322109
+ return jsxRuntimeExports.jsx(TitleInfo, { title: title2, removeGridComponent, urls: urls2, theme, isReady, helpText, errors, options: jsxRuntimeExports.jsx(CellSetExpressionPlotOptions, { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions, featureValuePositivityThreshold: posThreshold, setFeatureValuePositivityThreshold: setPosThreshold, featureValueColormap, setFeatureValueColormap }), children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes2.vegaContainer, children: resultArr ? jsxRuntimeExports.jsx(DotPlot, { isStratified, transpose: transpose2, domainMax: meanExpressionMax, data: resultArr, theme, width: width2, height: height2, obsType, sampleType, featureType, featureValueType, featureValueTransformName: selectedTransformName, featureValueColormap, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, onDotSelect }) : jsxRuntimeExports.jsxs("span", { children: ["Select at least one ", featureType, "."] }) }) });
322007
322110
  }
322008
322111
  const scaleBand = scale$6("band");
322009
322112
  const OBS_KEY = "obsId";
@@ -325787,13 +325890,22 @@ class ImageWrapper {
325787
325890
  return this.modelMatrix;
325788
325891
  }
325789
325892
  _getModelMatrix() {
325790
- const { coordinateTransformations: coordinateTransformationsFromOptions } = this.options;
325893
+ const { coordinateSystem = "global", coordinateTransformations: coordinateTransformationsFromOptions } = this.options;
325791
325894
  if ("multiscales" in this.vivLoader.metadata) {
325792
325895
  const { multiscales: [{ datasets, coordinateTransformations: coordinateTransformationsFromFile, axes }] } = this.vivLoader.metadata;
325793
325896
  const ngffAxes = getNgffAxes(axes);
325794
325897
  const transformMatrixFromOptions = coordinateTransformationsToMatrix(coordinateTransformationsFromOptions, ngffAxes);
325795
- const normCoordinateTransformationsFromFile = normalizeCoordinateTransformations(coordinateTransformationsFromFile, datasets);
325796
- const transformMatrixFromFile = coordinateTransformationsToMatrix(normCoordinateTransformationsFromFile, ngffAxes);
325898
+ let transformMatrixFromFile;
325899
+ if ("spatialdata_attrs" in this.vivLoader.metadata) {
325900
+ transformMatrixFromFile = coordinateTransformationsToMatrixForSpatialData(
325901
+ // Pass the first multiscales element.
325902
+ this.vivLoader.metadata.multiscales[0],
325903
+ coordinateSystem
325904
+ );
325905
+ } else {
325906
+ const normCoordinateTransformationsFromFile = normalizeCoordinateTransformations(coordinateTransformationsFromFile, datasets);
325907
+ transformMatrixFromFile = coordinateTransformationsToMatrix(normCoordinateTransformationsFromFile, ngffAxes);
325908
+ }
325797
325909
  const transformMatrix = transformMatrixFromFile.multiplyLeft(transformMatrixFromOptions);
325798
325910
  return transformMatrix;
325799
325911
  }
@@ -326285,16 +326397,7 @@ class SpatialDataLabelsLoader extends SpatialDataImageLoader {
326285
326397
  return result;
326286
326398
  }
326287
326399
  }
326288
- function getCoordsPath(path2) {
326289
- return `${path2}/coords`;
326290
- }
326291
- function getRadiusPath(path2) {
326292
- return `${path2}/radius`;
326293
- }
326294
- function getGeometryPath$1(path2) {
326295
- return `${path2}/geometry`;
326296
- }
326297
- const DEFAULT_AXES$1 = [
326400
+ const OLD_SHAPES_DEFAULT_AXES = [
326298
326401
  {
326299
326402
  name: "x",
326300
326403
  type: "space",
@@ -326306,7 +326409,7 @@ const DEFAULT_AXES$1 = [
326306
326409
  unit: "unit"
326307
326410
  }
326308
326411
  ];
326309
- const DEFAULT_COORDINATE_TRANSFORMATIONS$1 = [
326412
+ const OLD_SHAPES_DEFAULT_COORDINATE_TRANSFORMATIONS = [
326310
326413
  {
326311
326414
  input: {
326312
326415
  axes: [
@@ -326341,6 +326444,15 @@ const DEFAULT_COORDINATE_TRANSFORMATIONS$1 = [
326341
326444
  type: "identity"
326342
326445
  }
326343
326446
  ];
326447
+ function getCoordsPath(path2) {
326448
+ return `${path2}/coords`;
326449
+ }
326450
+ function getRadiusPath(path2) {
326451
+ return `${path2}/radius`;
326452
+ }
326453
+ function getGeometryPath$1(path2) {
326454
+ return `${path2}/geometry`;
326455
+ }
326344
326456
  class SpatialDataObsSpotsLoader extends AbstractTwoStepLoader {
326345
326457
  async loadModelMatrix() {
326346
326458
  const { path: path2, coordinateSystem = "global" } = this.options;
@@ -326348,12 +326460,9 @@ class SpatialDataObsSpotsLoader extends AbstractTwoStepLoader {
326348
326460
  return this.modelMatrix;
326349
326461
  }
326350
326462
  const zattrs = await this.dataSource.loadSpatialDataElementAttrs(path2);
326351
- const coordinateTransformationsFromFile = ((zattrs == null ? void 0 : zattrs.coordinateTransformations) || DEFAULT_COORDINATE_TRANSFORMATIONS$1).filter(({ input: { name: inputName }, output: { name: outputName } }) => inputName === "xy" && outputName === coordinateSystem);
326352
- const axes = (zattrs == null ? void 0 : zattrs.axes) ?? DEFAULT_AXES$1;
326353
- const normAxes = normalizeAxes(axes);
326354
- const normCoordinateTransformationsFromFile = normalizeCoordinateTransformations(coordinateTransformationsFromFile, null);
326355
- const transformMatrixFromFile = coordinateTransformationsToMatrix(normCoordinateTransformationsFromFile, normAxes);
326356
- this.modelMatrix = transformMatrixFromFile;
326463
+ const coordinateTransformations = (zattrs == null ? void 0 : zattrs.coordinateTransformations) ?? OLD_SHAPES_DEFAULT_COORDINATE_TRANSFORMATIONS;
326464
+ const axes = (zattrs == null ? void 0 : zattrs.axes) ?? OLD_SHAPES_DEFAULT_AXES;
326465
+ this.modelMatrix = coordinateTransformationsToMatrixForSpatialData({ axes, coordinateTransformations }, coordinateSystem);
326357
326466
  return this.modelMatrix;
326358
326467
  }
326359
326468
  /**
@@ -326452,53 +326561,6 @@ class SpatialDataObsSpotsLoader extends AbstractTwoStepLoader {
326452
326561
  function getGeometryPath(path2) {
326453
326562
  return `${path2}/geometry`;
326454
326563
  }
326455
- const DEFAULT_AXES = [
326456
- {
326457
- name: "x",
326458
- type: "space",
326459
- unit: "unit"
326460
- },
326461
- {
326462
- name: "y",
326463
- type: "space",
326464
- unit: "unit"
326465
- }
326466
- ];
326467
- const DEFAULT_COORDINATE_TRANSFORMATIONS = [
326468
- {
326469
- input: {
326470
- axes: [
326471
- {
326472
- name: "x",
326473
- type: "space",
326474
- unit: "unit"
326475
- },
326476
- {
326477
- name: "y",
326478
- type: "space",
326479
- unit: "unit"
326480
- }
326481
- ],
326482
- name: "xy"
326483
- },
326484
- output: {
326485
- axes: [
326486
- {
326487
- name: "x",
326488
- type: "space",
326489
- unit: "unit"
326490
- },
326491
- {
326492
- name: "y",
326493
- type: "space",
326494
- unit: "unit"
326495
- }
326496
- ],
326497
- name: "global"
326498
- },
326499
- type: "identity"
326500
- }
326501
- ];
326502
326564
  class SpatialDataObsSegmentationsLoader extends AbstractTwoStepLoader {
326503
326565
  async loadModelMatrix() {
326504
326566
  const { path: path2, coordinateSystem = "global" } = this.options;
@@ -326506,12 +326568,9 @@ class SpatialDataObsSegmentationsLoader extends AbstractTwoStepLoader {
326506
326568
  return this.modelMatrix;
326507
326569
  }
326508
326570
  const zattrs = await this.dataSource.loadSpatialDataElementAttrs(path2);
326509
- const coordinateTransformationsFromFile = ((zattrs == null ? void 0 : zattrs.coordinateTransformations) ?? DEFAULT_COORDINATE_TRANSFORMATIONS).filter(({ input: { name: inputName }, output: { name: outputName } }) => inputName === "xy" && outputName === coordinateSystem);
326510
- const axes = (zattrs == null ? void 0 : zattrs.axes) ?? DEFAULT_AXES;
326511
- const normAxes = normalizeAxes(axes);
326512
- const normCoordinateTransformationsFromFile = normalizeCoordinateTransformations(coordinateTransformationsFromFile, null);
326513
- const transformMatrixFromFile = coordinateTransformationsToMatrix(normCoordinateTransformationsFromFile, normAxes);
326514
- this.modelMatrix = transformMatrixFromFile;
326571
+ const coordinateTransformations = (zattrs == null ? void 0 : zattrs.coordinateTransformations) ?? OLD_SHAPES_DEFAULT_COORDINATE_TRANSFORMATIONS;
326572
+ const axes = (zattrs == null ? void 0 : zattrs.axes) ?? OLD_SHAPES_DEFAULT_AXES;
326573
+ this.modelMatrix = coordinateTransformationsToMatrixForSpatialData({ axes, coordinateTransformations }, coordinateSystem);
326515
326574
  return this.modelMatrix;
326516
326575
  }
326517
326576
  /**
@@ -326588,11 +326647,7 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
326588
326647
  if (!coordinateTransformations) {
326589
326648
  throw new Error("The coordinate transformations metadata must be defined for point elements.");
326590
326649
  }
326591
- const normAxes = normalizeAxes(axes);
326592
- const coordinateTransformationsFromFile = coordinateTransformations.filter(({ input: { name: inputName }, output: { name: outputName } }) => inputName === "xyz" && outputName === coordinateSystem);
326593
- const normCoordinateTransformationsFromFile = normalizeCoordinateTransformations(coordinateTransformationsFromFile, null);
326594
- const transformMatrixFromFile = coordinateTransformationsToMatrix(normCoordinateTransformationsFromFile, normAxes);
326595
- this.modelMatrix = transformMatrixFromFile;
326650
+ this.modelMatrix = coordinateTransformationsToMatrixForSpatialData({ axes, coordinateTransformations }, coordinateSystem);
326596
326651
  return this.modelMatrix;
326597
326652
  }
326598
326653
  /**
@@ -336224,7 +336279,7 @@ class SpatialDataTableSource extends AnnDataSource {
336224
336279
  const schemaBytes = await this.loadParquetSchemaBytes(parquetPath);
336225
336280
  if (schemaBytes) {
336226
336281
  const wasmSchema = readSchema(schemaBytes);
336227
- const arrowTableForSchema = tableFromIPC(wasmSchema.intoIPCStream());
336282
+ const arrowTableForSchema = await tableFromIPC(wasmSchema.intoIPCStream());
336228
336283
  indexColumnName = tableToIndexColumnName(arrowTableForSchema);
336229
336284
  }
336230
336285
  } catch (e3) {
@@ -336240,14 +336295,14 @@ class SpatialDataTableSource extends AnnDataSource {
336240
336295
  }
336241
336296
  if (columns2 && !indexColumnName) {
336242
336297
  const wasmSchema = readSchema(parquetBytes);
336243
- const arrowTableForSchema = tableFromIPC(wasmSchema.intoIPCStream());
336298
+ const arrowTableForSchema = await tableFromIPC(wasmSchema.intoIPCStream());
336244
336299
  indexColumnName = tableToIndexColumnName(arrowTableForSchema);
336245
336300
  }
336246
336301
  if (options.columns && indexColumnName) {
336247
336302
  options.columns = [...options.columns, indexColumnName];
336248
336303
  }
336249
336304
  const wasmTable = readParquet(parquetBytes, options);
336250
- const arrowTable = tableFromIPC(wasmTable.intoIPCStream());
336305
+ const arrowTable = await tableFromIPC(wasmTable.intoIPCStream());
336251
336306
  return arrowTable;
336252
336307
  }
336253
336308
  // TABLE-SPECIFIC METHODS
@@ -1,4 +1,4 @@
1
- import { g as getDefaultExportFromCjs, R as Raycaster, O as OrthographicCamera, P as PerspectiveCamera, S as Scene, a as PCFSoftShadowMap, V as VSMShadowMap, b as PCFShadowMap, B as BasicShadowMap, N as NoToneMapping, A as ACESFilmicToneMapping, c as Vector3, d as Vector2, C as Clock, W as WebGLRenderer, e as Camera, f as BufferGeometry, M as Material, L as Layers, T as Texture, h as RGBAFormat, U as UnsignedByteType, i as Color, _ as _extends, j as THREE, G as Group, k as Matrix4, l as TrianglesDrawMode, m as TriangleFanDrawMode, n as TriangleStripDrawMode, o as REVISION, E as EventDispatcher, p as MOUSE, q as TOUCH, r as Spherical, Q as Quaternion, s as Ray$1, t as Plane, u as Loader, v as LoaderUtils, F as FileLoader, w as MeshPhysicalMaterial, x as SpotLight, y as PointLight, D as DirectionalLight, I as InstancedMesh, z as Object3D, H as TextureLoader, J as ImageBitmapLoader, K as BufferAttribute, X as InterleavedBuffer, Y as LinearMipmapLinearFilter, Z as NearestMipmapLinearFilter, $ as LinearMipmapNearestFilter, a0 as NearestMipmapNearestFilter, a1 as LinearFilter, a2 as NearestFilter, a3 as RepeatWrapping, a4 as MirroredRepeatWrapping, a5 as ClampToEdgeWrapping, a6 as PointsMaterial, a7 as LineBasicMaterial, a8 as MeshStandardMaterial, a9 as DoubleSide, aa as MeshBasicMaterial, ab as PropertyBinding, ac as SkinnedMesh, ad as Mesh, ae as LineSegments, af as Line$1, ag as LineLoop, ah as Points, ai as MathUtils, aj as Skeleton, ak as InterpolateDiscrete, al as InterpolateLinear, am as AnimationClip, an as Bone, ao as InterleavedBufferAttribute, ap as VectorKeyframeTrack, aq as QuaternionKeyframeTrack, ar as NumberKeyframeTrack, as as FrontSide, at as Interpolant, au as Box3, av as Sphere, aw as InstancedBufferGeometry, ax as Float32BufferAttribute, ay as InstancedInterleavedBuffer, az as WireframeGeometry, aA as ShaderMaterial, aB as UniformsUtils, aC as UniformsLib, aD as Vector4, aE as Line3, aF as SphereGeometry, aG as Triangle, aH as BackSide, aI as jsxRuntimeExports, aJ as Matrix3, aK as CoordinationType, aL as Data3DTexture, aM as RedFormat, aN as FloatType, aO as getImageSize } from "./index-DaWuEqkA.js";
1
+ import { g as getDefaultExportFromCjs, R as Raycaster, O as OrthographicCamera, P as PerspectiveCamera, S as Scene, a as PCFSoftShadowMap, V as VSMShadowMap, b as PCFShadowMap, B as BasicShadowMap, N as NoToneMapping, A as ACESFilmicToneMapping, c as Vector3, d as Vector2, C as Clock, W as WebGLRenderer, e as Camera, f as BufferGeometry, M as Material, L as Layers, T as Texture, h as RGBAFormat, U as UnsignedByteType, i as Color, _ as _extends, j as THREE, G as Group, k as Matrix4, l as TrianglesDrawMode, m as TriangleFanDrawMode, n as TriangleStripDrawMode, o as REVISION, E as EventDispatcher, p as MOUSE, q as TOUCH, r as Spherical, Q as Quaternion, s as Ray$1, t as Plane, u as Loader, v as LoaderUtils, F as FileLoader, w as MeshPhysicalMaterial, x as SpotLight, y as PointLight, D as DirectionalLight, I as InstancedMesh, z as Object3D, H as TextureLoader, J as ImageBitmapLoader, K as BufferAttribute, X as InterleavedBuffer, Y as LinearMipmapLinearFilter, Z as NearestMipmapLinearFilter, $ as LinearMipmapNearestFilter, a0 as NearestMipmapNearestFilter, a1 as LinearFilter, a2 as NearestFilter, a3 as RepeatWrapping, a4 as MirroredRepeatWrapping, a5 as ClampToEdgeWrapping, a6 as PointsMaterial, a7 as LineBasicMaterial, a8 as MeshStandardMaterial, a9 as DoubleSide, aa as MeshBasicMaterial, ab as PropertyBinding, ac as SkinnedMesh, ad as Mesh, ae as LineSegments, af as Line$1, ag as LineLoop, ah as Points, ai as MathUtils, aj as Skeleton, ak as InterpolateDiscrete, al as InterpolateLinear, am as AnimationClip, an as Bone, ao as InterleavedBufferAttribute, ap as VectorKeyframeTrack, aq as QuaternionKeyframeTrack, ar as NumberKeyframeTrack, as as FrontSide, at as Interpolant, au as Box3, av as Sphere, aw as InstancedBufferGeometry, ax as Float32BufferAttribute, ay as InstancedInterleavedBuffer, az as WireframeGeometry, aA as ShaderMaterial, aB as UniformsUtils, aC as UniformsLib, aD as Vector4, aE as Line3, aF as SphereGeometry, aG as Triangle, aH as BackSide, aI as jsxRuntimeExports, aJ as Matrix3, aK as CoordinationType, aL as Data3DTexture, aM as RedFormat, aN as FloatType, aO as getImageSize } from "./index-C4jXHZ0b.js";
2
2
  import * as React from "react";
3
3
  import React__default, { useReducer, useRef, useEffect, useLayoutEffect, useDebugValue, useState, useMemo, forwardRef } from "react";
4
4
  var constants = { exports: {} };
@@ -23637,7 +23637,7 @@ const Text = /* @__PURE__ */ React.forwardRef(({
23637
23637
  const {
23638
23638
  Text: TextMeshImpl,
23639
23639
  preloadFont
23640
- } = suspend(async () => import("./troika-three-text.esm-DE8UoVN4.js"), []);
23640
+ } = suspend(async () => import("./troika-three-text.esm-DxxlvoUc.js"), []);
23641
23641
  const invalidate2 = useThree(({
23642
23642
  invalidate: invalidate3
23643
23643
  }) => invalidate3);
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { bL, bJ, bH, bK, bI, bG, bM } from "./index-DaWuEqkA.js";
1
+ import { bL, bJ, bH, bK, bI, bG, bM } from "./index-C4jXHZ0b.js";
2
2
  import { useComplexCoordination, useComplexCoordinationSecondary, useCoordination, useCoordinationScopes, useCoordinationScopesBy, useGridItemSize, useMultiCoordinationScopesNonNull, useMultiCoordinationScopesSecondaryNonNull, usePageModeView } from "@vitessce/vit-s";
3
3
  export {
4
4
  bL as PluginAsyncFunction,
@@ -1,4 +1,4 @@
1
- import { aP as BaseDecoder } from "./index-DaWuEqkA.js";
1
+ import { aP as BaseDecoder } from "./index-C4jXHZ0b.js";
2
2
  const dctZigZag = new Int32Array([
3
3
  0,
4
4
  1,
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-SxljTded.js";
2
- import { g as getDefaultExportFromCjs, aP as BaseDecoder, aQ as LercParameters, aR as LercAddCompression } from "./index-DaWuEqkA.js";
2
+ import { g as getDefaultExportFromCjs, aP as BaseDecoder, aQ as LercParameters, aR as LercAddCompression } from "./index-C4jXHZ0b.js";
3
3
  var LercDecode = { exports: {} };
4
4
  var hasRequiredLercDecode;
5
5
  function requireLercDecode() {
@@ -1,4 +1,4 @@
1
- import { aP as BaseDecoder } from "./index-DaWuEqkA.js";
1
+ import { aP as BaseDecoder } from "./index-C4jXHZ0b.js";
2
2
  const MIN_BITS = 9;
3
3
  const CLEAR_CODE = 256;
4
4
  const EOI_CODE = 257;
@@ -1,4 +1,4 @@
1
- import { aP as BaseDecoder } from "./index-DaWuEqkA.js";
1
+ import { aP as BaseDecoder } from "./index-C4jXHZ0b.js";
2
2
  class PackbitsDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  const dataView = new DataView(buffer);
@@ -1,4 +1,4 @@
1
- import { aP as BaseDecoder } from "./index-DaWuEqkA.js";
1
+ import { aP as BaseDecoder } from "./index-C4jXHZ0b.js";
2
2
  class RawDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  return buffer;
@@ -1,4 +1,4 @@
1
- import { bA as MeshDistanceMaterial, bB as MeshDepthMaterial, bC as RGBADepthPacking, aB as UniformsUtils, bD as ShaderChunk, aw as InstancedBufferGeometry, av as Sphere, au as Box3, aH as BackSide, a9 as DoubleSide, ad as Mesh, as as FrontSide, aa as MeshBasicMaterial, i as Color, c as Vector3, k as Matrix4, d as Vector2, aJ as Matrix3, aD as Vector4, T as Texture, a1 as LinearFilter, bE as PlaneGeometry, f as BufferGeometry, ax as Float32BufferAttribute, bF as InstancedBufferAttribute } from "./index-DaWuEqkA.js";
1
+ import { bA as MeshDistanceMaterial, bB as MeshDepthMaterial, bC as RGBADepthPacking, aB as UniformsUtils, bD as ShaderChunk, aw as InstancedBufferGeometry, av as Sphere, au as Box3, aH as BackSide, a9 as DoubleSide, ad as Mesh, as as FrontSide, aa as MeshBasicMaterial, i as Color, c as Vector3, k as Matrix4, d as Vector2, aJ as Matrix3, aD as Vector4, T as Texture, a1 as LinearFilter, bE as PlaneGeometry, f as BufferGeometry, ax as Float32BufferAttribute, bF as InstancedBufferAttribute } from "./index-C4jXHZ0b.js";
2
2
  function workerBootstrap() {
3
3
  var modules = /* @__PURE__ */ Object.create(null);
4
4
  function registerModule(ref, callback) {
@@ -1,4 +1,4 @@
1
- import { aP as BaseDecoder } from "./index-DaWuEqkA.js";
1
+ import { aP as BaseDecoder } from "./index-C4jXHZ0b.js";
2
2
  class WebImageDecoder extends BaseDecoder {
3
3
  constructor() {
4
4
  super();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/all",
3
- "version": "3.6.10",
3
+ "version": "3.6.12",
4
4
  "author": "HIDIVE Lab at HMS",
5
5
  "homepage": "http://vitessce.io",
6
6
  "repository": {
@@ -17,37 +17,37 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "zod": "^3.21.4",
20
- "@vitessce/styles": "3.6.10",
21
- "@vitessce/constants-internal": "3.6.10",
22
- "@vitessce/abstract": "3.6.10",
23
- "@vitessce/error": "3.6.10",
24
- "@vitessce/csv": "3.6.10",
25
- "@vitessce/description": "3.6.10",
26
- "@vitessce/feature-list": "3.6.10",
27
- "@vitessce/genomic-profiles": "3.6.10",
28
- "@vitessce/heatmap": "3.6.10",
29
- "@vitessce/glb": "3.6.10",
30
- "@vitessce/json": "3.6.10",
31
- "@vitessce/layer-controller": "3.6.10",
32
- "@vitessce/layer-controller-beta": "3.6.10",
33
- "@vitessce/link-controller": "3.6.10",
34
- "@vitessce/obs-sets-manager": "3.6.10",
35
- "@vitessce/ome-tiff": "3.6.10",
36
- "@vitessce/plugins": "3.6.10",
37
- "@vitessce/scatterplot-embedding": "3.6.10",
38
- "@vitessce/scatterplot-gating": "3.6.10",
39
- "@vitessce/schemas": "3.6.10",
40
- "@vitessce/spatial": "3.6.10",
41
- "@vitessce/spatial-beta": "3.6.10",
42
- "@vitessce/statistical-plots": "3.6.10",
43
- "@vitessce/status": "3.6.10",
44
- "@vitessce/vit-s": "3.6.10",
45
- "@vitessce/zarr": "3.6.10",
46
- "@vitessce/globals": "3.6.10",
47
- "@vitessce/spatial-zarr": "3.6.10",
48
- "@vitessce/spatial-three": "3.6.10",
49
- "@vitessce/biomarker-select": "3.6.10",
50
- "@vitessce/neuroglancer": "3.6.10"
20
+ "@vitessce/styles": "3.6.12",
21
+ "@vitessce/constants-internal": "3.6.12",
22
+ "@vitessce/abstract": "3.6.12",
23
+ "@vitessce/error": "3.6.12",
24
+ "@vitessce/csv": "3.6.12",
25
+ "@vitessce/description": "3.6.12",
26
+ "@vitessce/feature-list": "3.6.12",
27
+ "@vitessce/genomic-profiles": "3.6.12",
28
+ "@vitessce/heatmap": "3.6.12",
29
+ "@vitessce/glb": "3.6.12",
30
+ "@vitessce/json": "3.6.12",
31
+ "@vitessce/layer-controller": "3.6.12",
32
+ "@vitessce/layer-controller-beta": "3.6.12",
33
+ "@vitessce/link-controller": "3.6.12",
34
+ "@vitessce/obs-sets-manager": "3.6.12",
35
+ "@vitessce/ome-tiff": "3.6.12",
36
+ "@vitessce/plugins": "3.6.12",
37
+ "@vitessce/scatterplot-embedding": "3.6.12",
38
+ "@vitessce/scatterplot-gating": "3.6.12",
39
+ "@vitessce/schemas": "3.6.12",
40
+ "@vitessce/spatial": "3.6.12",
41
+ "@vitessce/spatial-beta": "3.6.12",
42
+ "@vitessce/statistical-plots": "3.6.12",
43
+ "@vitessce/status": "3.6.12",
44
+ "@vitessce/vit-s": "3.6.12",
45
+ "@vitessce/zarr": "3.6.12",
46
+ "@vitessce/globals": "3.6.12",
47
+ "@vitessce/spatial-zarr": "3.6.12",
48
+ "@vitessce/spatial-three": "3.6.12",
49
+ "@vitessce/biomarker-select": "3.6.12",
50
+ "@vitessce/neuroglancer": "3.6.12"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/react": "^18.0.28",