@vitessce/all 3.8.6 → 3.8.7

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 { aF as getDefaultExportFromCjs, aG as Raycaster, W as OrthographicCamera, K as PerspectiveCamera, av as Scene, aH as PCFSoftShadowMap, aI as VSMShadowMap, aJ as PCFShadowMap, aK as BasicShadowMap, aL as NoToneMapping, aM as ACESFilmicToneMapping, e as Vector3, V as Vector2, aN as Clock, aO as WebGLRenderer, aP as Camera, x as BufferGeometry, r as Material, aQ as Layers, a1 as Texture, aC as RGBAFormat, ay as UnsignedByteType, C as Color, aj as _extends, aR as THREE, aS as EventDispatcher, aT as MOUSE, aU as TOUCH, aV as Spherical, Q as Quaternion, an as Ray, ak as Plane } from "./index-Z-pD1WnL.js";
1
+ import { aF as getDefaultExportFromCjs, aG as Raycaster, W as OrthographicCamera, K as PerspectiveCamera, av as Scene, aH as PCFSoftShadowMap, aI as VSMShadowMap, aJ as PCFShadowMap, aK as BasicShadowMap, aL as NoToneMapping, aM as ACESFilmicToneMapping, e as Vector3, V as Vector2, aN as Clock, aO as WebGLRenderer, aP as Camera, x as BufferGeometry, r as Material, aQ as Layers, a1 as Texture, aC as RGBAFormat, ay as UnsignedByteType, C as Color, aj as _extends, aR as THREE, aS as EventDispatcher, aT as MOUSE, aU as TOUCH, aV as Spherical, Q as Quaternion, an as Ray, ak as Plane } from "./index-TF8hfyKX.js";
2
2
  import * as React from "react";
3
3
  import React__default, { useReducer, useRef, useEffect, useLayoutEffect, useDebugValue, useState, useMemo } from "react";
4
4
  var constants = { exports: {} };
@@ -1,4 +1,4 @@
1
- import { aF as getDefaultExportFromCjs, b0 as requireAssign, b1 as require_export, b2 as require_core, b3 as require_fails, b4 as require_toObject, b5 as require_objectKeys, b6 as require_cof, b7 as require_wks, b8 as require_iterators, b9 as requireWeb_dom_iterable, ba as requireEs6_string_iterator, bb as require_anObject, bc as require_hide, bd as require_ctx, be as require_toLength, bf as require_global, bg as require_objectDp, bh as require_descriptors, bi as require_isObject, bj as require_objectCreate, bk as require_iterDefine, bl as require_iterStep, bm as require_meta, bn as require_isArray, bo as require_iobject, bp as require_setToStringTag, bq as require_aFunction, br as requireIterator, bs as require_propertyDesc, aZ as commonjsGlobal, bt as requireEs6_symbol, bu as requireDefineProperty, bv as require_toIobject, bw as require_objectGopd, bx as require_html, by as require_domCreate, bz as require_library, bA as requireSymbol, bB as require_objectPie, bC as require_has, bD as require_redefine, bE as require_objectAssign, bF as diffCameraState, ao as jsxRuntimeExports } from "./index-Z-pD1WnL.js";
1
+ import { aF as getDefaultExportFromCjs, b0 as requireAssign, b1 as require_export, b2 as require_core, b3 as require_fails, b4 as require_toObject, b5 as require_objectKeys, b6 as require_cof, b7 as require_wks, b8 as require_iterators, b9 as requireWeb_dom_iterable, ba as requireEs6_string_iterator, bb as require_anObject, bc as require_hide, bd as require_ctx, be as require_toLength, bf as require_global, bg as require_objectDp, bh as require_descriptors, bi as require_isObject, bj as require_objectCreate, bk as require_iterDefine, bl as require_iterStep, bm as require_meta, bn as require_isArray, bo as require_iobject, bp as require_setToStringTag, bq as require_aFunction, br as requireIterator, bs as require_propertyDesc, aZ as commonjsGlobal, bt as requireEs6_symbol, bu as requireDefineProperty, bv as require_toIobject, bw as require_objectGopd, bx as require_html, by as require_domCreate, bz as require_library, bA as requireSymbol, bB as require_objectPie, bC as require_has, bD as require_redefine, bE as require_objectAssign, bF as diffCameraState, ao as jsxRuntimeExports } from "./index-TF8hfyKX.js";
2
2
  import React__default from "react";
3
3
  var assignExports = requireAssign();
4
4
  const _Object$assign = /* @__PURE__ */ getDefaultExportFromCjs(assignExports);
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-SxljTded.js";
2
- import { aW as BaseDecoder } from "./index-Z-pD1WnL.js";
2
+ import { aW as BaseDecoder } from "./index-TF8hfyKX.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 { aZ as commonjsGlobal$1, a_ as requireObjectAssign, aF as getDefaultExportFromCjs$1, a$ as earcut } from "./index-Z-pD1WnL.js";
4
+ import { aZ as commonjsGlobal$1, a_ as requireObjectAssign, aF as getDefaultExportFromCjs$1, a$ as earcut } from "./index-TF8hfyKX.js";
5
5
  var promise = {};
6
6
  var hasRequiredPromise;
7
7
  function requirePromise() {
@@ -1,6 +1,6 @@
1
- import { aw as log, ax as isEqual, ar as Data3DTexture, as as RedFormat, ay as UnsignedByteType, l as LinearFilter, az as RedIntegerFormat, aA as UnsignedIntType, m as NearestFilter, e as Vector3, V as Vector2, ag as Vector4, ae as UniformsUtils, aq as CoordinationType, aB as WebGLMultipleRenderTargets, aC as RGBAFormat, av as Scene, W as OrthographicCamera, ad as ShaderMaterial, z as Mesh, aD as PlaneGeometry, ao as jsxRuntimeExports, aE as GLSL3, am as BackSide } from "./index-Z-pD1WnL.js";
1
+ import { aw as log, ax as isEqual, ar as Data3DTexture, as as RedFormat, ay as UnsignedByteType, l as LinearFilter, az as RedIntegerFormat, aA as UnsignedIntType, m as NearestFilter, e as Vector3, V as Vector2, ag as Vector4, ae as UniformsUtils, aq as CoordinationType, aB as WebGLMultipleRenderTargets, aC as RGBAFormat, av as Scene, W as OrthographicCamera, ad as ShaderMaterial, z as Mesh, aD as PlaneGeometry, ao as jsxRuntimeExports, aE as GLSL3, am as BackSide } from "./index-TF8hfyKX.js";
2
2
  import { useRef, useState, useMemo, useEffect, useCallback } from "react";
3
- import { u as useThree, a as useFrame, O as OrbitControls, C as Canvas } from "./OrbitControls-blC-_luf.js";
3
+ import { u as useThree, a as useFrame, O as OrbitControls, C as Canvas } from "./OrbitControls-BihamWQc.js";
4
4
  const LogLevel = {
5
5
  INFO: "info",
6
6
  WARN: "warn",
@@ -1,7 +1,7 @@
1
- import { G as Group, M as Matrix4, T as TrianglesDrawMode, a as TriangleFanDrawMode, b as TriangleStripDrawMode, R as REVISION, L as Loader, c as LoaderUtils, F as FileLoader, d as MeshPhysicalMaterial, V as Vector2, C as Color, S as SpotLight, P as PointLight, D as DirectionalLight, e as Vector3, I as InstancedMesh, Q as Quaternion, O as Object3D, f as TextureLoader, g as ImageBitmapLoader, B as BufferAttribute, h as InterleavedBuffer, i as LinearMipmapLinearFilter, N as NearestMipmapLinearFilter, j as LinearMipmapNearestFilter, k as NearestMipmapNearestFilter, l as LinearFilter, m as NearestFilter, n as RepeatWrapping, o as MirroredRepeatWrapping, p as ClampToEdgeWrapping, q as PointsMaterial, r as Material, s as LineBasicMaterial, t as MeshStandardMaterial, u as DoubleSide, v as MeshBasicMaterial, w as PropertyBinding, x as BufferGeometry, y as SkinnedMesh, z as Mesh, A as LineSegments, E as Line$1, H as LineLoop, J as Points, K as PerspectiveCamera, U as MathUtils, W as OrthographicCamera, X as Skeleton, Y as InterpolateDiscrete, Z as InterpolateLinear, _ as AnimationClip, $ as Bone, a0 as InterleavedBufferAttribute, a1 as Texture, a2 as VectorKeyframeTrack, a3 as QuaternionKeyframeTrack, a4 as NumberKeyframeTrack, a5 as FrontSide, a6 as Interpolant, a7 as Box3, a8 as Sphere, a9 as InstancedBufferGeometry, aa as Float32BufferAttribute, ab as InstancedInterleavedBuffer, ac as WireframeGeometry, ad as ShaderMaterial, ae as UniformsUtils, af as UniformsLib, ag as Vector4, ah as Line3, ai as SphereGeometry, aj as _extends, ak as Plane, al as Triangle, am as BackSide, an as Ray$1, ao as jsxRuntimeExports, ap as Matrix3, aq as CoordinationType, ar as Data3DTexture, as as RedFormat, at as FloatType, au as getImageSize, av as Scene } from "./index-Z-pD1WnL.js";
1
+ import { G as Group, M as Matrix4, T as TrianglesDrawMode, a as TriangleFanDrawMode, b as TriangleStripDrawMode, R as REVISION, L as Loader, c as LoaderUtils, F as FileLoader, d as MeshPhysicalMaterial, V as Vector2, C as Color, S as SpotLight, P as PointLight, D as DirectionalLight, e as Vector3, I as InstancedMesh, Q as Quaternion, O as Object3D, f as TextureLoader, g as ImageBitmapLoader, B as BufferAttribute, h as InterleavedBuffer, i as LinearMipmapLinearFilter, N as NearestMipmapLinearFilter, j as LinearMipmapNearestFilter, k as NearestMipmapNearestFilter, l as LinearFilter, m as NearestFilter, n as RepeatWrapping, o as MirroredRepeatWrapping, p as ClampToEdgeWrapping, q as PointsMaterial, r as Material, s as LineBasicMaterial, t as MeshStandardMaterial, u as DoubleSide, v as MeshBasicMaterial, w as PropertyBinding, x as BufferGeometry, y as SkinnedMesh, z as Mesh, A as LineSegments, E as Line$1, H as LineLoop, J as Points, K as PerspectiveCamera, U as MathUtils, W as OrthographicCamera, X as Skeleton, Y as InterpolateDiscrete, Z as InterpolateLinear, _ as AnimationClip, $ as Bone, a0 as InterleavedBufferAttribute, a1 as Texture, a2 as VectorKeyframeTrack, a3 as QuaternionKeyframeTrack, a4 as NumberKeyframeTrack, a5 as FrontSide, a6 as Interpolant, a7 as Box3, a8 as Sphere, a9 as InstancedBufferGeometry, aa as Float32BufferAttribute, ab as InstancedInterleavedBuffer, ac as WireframeGeometry, ad as ShaderMaterial, ae as UniformsUtils, af as UniformsLib, ag as Vector4, ah as Line3, ai as SphereGeometry, aj as _extends, ak as Plane, al as Triangle, am as BackSide, an as Ray$1, ao as jsxRuntimeExports, ap as Matrix3, aq as CoordinationType, ar as Data3DTexture, as as RedFormat, at as FloatType, au as getImageSize, av as Scene } from "./index-TF8hfyKX.js";
2
2
  import * as React from "react";
3
3
  import { useRef, useEffect, useState, forwardRef } from "react";
4
- import { u as useThree, a as useFrame, c as create, e as extend, b as createPortal, O as OrbitControls, C as Canvas } from "./OrbitControls-blC-_luf.js";
4
+ import { u as useThree, a as useFrame, c as create, e as extend, b as createPortal, O as OrbitControls, C as Canvas } from "./OrbitControls-BihamWQc.js";
5
5
  const isPromise = (promise) => typeof promise === "object" && typeof promise.then === "function";
6
6
  const globalCache = [];
7
7
  function shallowEqualArrays(arrA, arrB, equal = (a, b) => a === b) {
@@ -5027,7 +5027,7 @@ const Text = /* @__PURE__ */ React.forwardRef(({
5027
5027
  const {
5028
5028
  Text: TextMeshImpl,
5029
5029
  preloadFont
5030
- } = suspend(async () => import("./troika-three-text.esm-BsP89YlX.js"), []);
5030
+ } = suspend(async () => import("./troika-three-text.esm-CSvaWiu2.js"), []);
5031
5031
  const invalidate = useThree(({
5032
5032
  invalidate: invalidate2
5033
5033
  }) => invalidate2);
@@ -209323,22 +209323,22 @@ async function getDecoder(fileDirectory) {
209323
209323
  const Decoder = await importFn();
209324
209324
  return new Decoder(fileDirectory);
209325
209325
  }
209326
- addDecoder([void 0, 1], () => import("./raw-CRt4_45v.js").then((m2) => m2.default));
209327
- addDecoder(5, () => import("./lzw-CE0HuE9L.js").then((m2) => m2.default));
209326
+ addDecoder([void 0, 1], () => import("./raw-awn9z18M.js").then((m2) => m2.default));
209327
+ addDecoder(5, () => import("./lzw-BCI0B7dw.js").then((m2) => m2.default));
209328
209328
  addDecoder(6, () => {
209329
209329
  throw new Error("old style JPEG compression is not supported.");
209330
209330
  });
209331
- addDecoder(7, () => import("./jpeg-DdeYvQ7M.js").then((m2) => m2.default));
209332
- addDecoder([8, 32946], () => import("./deflate-CsetZFHb.js").then((m2) => m2.default));
209333
- addDecoder(32773, () => import("./packbits-z6O-xEjB.js").then((m2) => m2.default));
209331
+ addDecoder(7, () => import("./jpeg-CjgDlwi_.js").then((m2) => m2.default));
209332
+ addDecoder([8, 32946], () => import("./deflate-YfGOvzab.js").then((m2) => m2.default));
209333
+ addDecoder(32773, () => import("./packbits-DYn86_iq.js").then((m2) => m2.default));
209334
209334
  addDecoder(
209335
209335
  34887,
209336
- () => import("./lerc-D1O_lzXu.js").then(async (m2) => {
209336
+ () => import("./lerc-CL4MdbCg.js").then(async (m2) => {
209337
209337
  await m2.zstd.init();
209338
209338
  return m2;
209339
209339
  }).then((m2) => m2.default)
209340
209340
  );
209341
- addDecoder(50001, () => import("./webimage-CLacHpNV.js").then((m2) => m2.default));
209341
+ addDecoder(50001, () => import("./webimage-Bo4F4TPe.js").then((m2) => m2.default));
209342
209342
  function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
209343
209343
  return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
209344
209344
  }
@@ -227465,11 +227465,11 @@ function TooltipContent(props) {
227465
227465
  return jsxRuntimeExports.jsx("table", { children: jsxRuntimeExports.jsx("tbody", { children: Object.entries(mappedInfo).map(([key2, value2]) => jsxRuntimeExports.jsxs("tr", { children: [jsxRuntimeExports.jsx("th", { children: key2 }), jsxRuntimeExports.jsx("td", { children: value2 })] }, key2)) }) });
227466
227466
  }
227467
227467
  function ScatterplotTooltipSubscriber(props) {
227468
- const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo, featureType, featureLabelsMap } = props;
227468
+ const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo: getObsInfo2, featureType, featureLabelsMap } = props;
227469
227469
  const sourceUuid = useComponentHover();
227470
227470
  const viewInfo = useComponentViewInfo(parentUuid);
227471
- const [cellInfo, x2, y2] = obsHighlight && getObsInfo ? [
227472
- getObsInfo(obsHighlight),
227471
+ const [cellInfo, x2, y2] = obsHighlight && getObsInfo2 ? [
227472
+ getObsInfo2(obsHighlight),
227473
227473
  ...viewInfo && viewInfo.projectFromId ? viewInfo.projectFromId(obsHighlight) : [null, null]
227474
227474
  ] : [null, null, null];
227475
227475
  return cellInfo ? jsxRuntimeExports.jsx(Tooltip2D, { x: x2, y: y2, parentUuid, sourceUuid, parentWidth: width2, parentHeight: height2, children: jsxRuntimeExports.jsx(TooltipContent, { info: cellInfo, featureType, featureLabelsMap }) }) : null;
@@ -231881,7 +231881,7 @@ function EmbeddingScatterplotSubscriber(props) {
231881
231881
  initialTargetY,
231882
231882
  averageFillDensity
231883
231883
  ]);
231884
- const getObsInfo = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
231884
+ const getObsInfo2 = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
231885
231885
  const cellSelectionSet = useMemo$1(() => new Set(cellSelection), [cellSelection]);
231886
231886
  const getCellIsSelected = useCallback((object2, { index: index2 }) => (cellSelectionSet || /* @__PURE__ */ new Set([])).has(obsEmbeddingIndex[index2]) ? 1 : 0, [cellSelectionSet, obsEmbeddingIndex]);
231887
231887
  const cellRadius = cellRadiusMode === "manual" ? cellRadiusFixed : dynamicCellRadius;
@@ -232038,7 +232038,7 @@ function EmbeddingScatterplotSubscriber(props) {
232038
232038
  embeddingContoursVisible,
232039
232039
  circleInfo,
232040
232040
  featureSelection: geneSelection
232041
- }), tooltipsVisible && width2 && height2 ? jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid2, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo, featureType, featureLabelsMap }) : null, jsxRuntimeExports.jsx(Legend, {
232041
+ }), tooltipsVisible && width2 && height2 ? jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid2, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo: getObsInfo2, featureType, featureLabelsMap }) : null, jsxRuntimeExports.jsx(Legend, {
232042
232042
  visible: true,
232043
232043
  theme,
232044
232044
  featureType,
@@ -232318,7 +232318,7 @@ function GatingSubscriber(props) {
232318
232318
  matrixObsIndex: obsIndex,
232319
232319
  expressionData: uint8ExpressionData
232320
232320
  });
232321
- const getObsInfo = useCallback((obsId) => {
232321
+ const getObsInfo2 = useCallback((obsId) => {
232322
232322
  const selectedTransformName = VALUE_TRANSFORM_OPTIONS.find((o2) => o2.value === featureValueTransform)?.name;
232323
232323
  const genePrefix = featureValueTransform ? `${selectedTransformName} ` : "";
232324
232324
  const obsIdx = obsIndex?.indexOf(obsId);
@@ -232349,7 +232349,7 @@ function GatingSubscriber(props) {
232349
232349
  setZoom(null);
232350
232350
  }, gatingFeatureValueTransformCoefficient: featureValueTransformCoefficient, setGatingFeatureValueTransformCoefficient: setFeatureValueTransformCoefficient, geneSelectOptions: featureIndex, transformOptions: VALUE_TRANSFORM_OPTIONS }) }), children: [jsxRuntimeExports.jsx(EmptyMessage, { visible: !(gatingFeatureSelectionX && gatingFeatureSelectionY), message: `Select two ${pluralize(featureType, 2)} in the plot settings.` }), jsxRuntimeExports.jsx(ScatterplotWrapper, { ref: deckRef, uuid: uuid2, theme, hideTools: !(gatingFeatureSelectionX && gatingFeatureSelectionY), hideRecenter: !(gatingFeatureSelectionX && gatingFeatureSelectionY), viewState: { zoom: zoom2, target: [targetX2, targetY2, targetZ] }, setViewState, originalViewState, obsEmbeddingIndex: obsIndex, obsEmbedding: obsXY, cellFilter, cellSelection, cellHighlight, cellColors, cellSetPolygons, cellSetLabelSize, cellSetLabelsVisible, cellSetPolygonsVisible, setCellFilter, setCellSelection: setCellSelectionProp, setCellHighlight, cellRadius, cellOpacity, cellColorEncoding, geneExpressionColormap, geneExpressionColormapRange, setComponentHover: () => {
232351
232351
  setComponentHover(uuid2);
232352
- }, updateViewInfo: setComponentViewInfo, getExpressionValue, getCellIsSelected, embeddingPointsVisible: true }), !disableTooltip && jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid2, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo })] });
232352
+ }, updateViewInfo: setComponentViewInfo, getExpressionValue, getCellIsSelected, embeddingPointsVisible: true }), !disableTooltip && jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid2, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo: getObsInfo2 })] });
232353
232353
  }
232354
232354
  var DEFAULT_CONFIG = {
232355
232355
  // minimum relative difference between two compared values,
@@ -251422,8 +251422,8 @@ function SpatialOptions(props) {
251422
251422
  return `${labelPrefix} for spatial gene expression colormap range`;
251423
251423
  }, id: `gene-expression-colormap-range-${spatialOptionsId}`, valueLabelDisplay: "auto", step: 5e-3, min: 0, max: 1 }) })] })] }) : null] });
251424
251424
  }
251425
- function SpatialTooltipSubscriber(props) {
251426
- const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo, hoverData, hoverCoord, hoverMode, useHoverInfoForTooltip, getObsIdFromHoverData, featureType, featureLabelsMap } = props;
251425
+ function SpatialTooltipSubscriber$1(props) {
251426
+ const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo: getObsInfo2, hoverData, hoverCoord, hoverMode, useHoverInfoForTooltip, getObsIdFromHoverData, featureType, featureLabelsMap } = props;
251427
251427
  const sourceUuid = useComponentHover();
251428
251428
  const viewInfo = useComponentViewInfo(parentUuid);
251429
251429
  let [cellInfo, x2, y2] = [null, null, null];
@@ -251431,7 +251431,7 @@ function SpatialTooltipSubscriber(props) {
251431
251431
  const obsId = getObsIdFromHoverData(hoverData);
251432
251432
  if (obsId) {
251433
251433
  [cellInfo, x2, y2] = [
251434
- getObsInfo(obsId, hoverMode),
251434
+ getObsInfo2(obsId, hoverMode),
251435
251435
  ...hoverCoord || [null, null]
251436
251436
  ];
251437
251437
  }
@@ -251439,14 +251439,14 @@ function SpatialTooltipSubscriber(props) {
251439
251439
  const obsId = getObsIdFromHoverData(hoverData);
251440
251440
  if (obsId) {
251441
251441
  [cellInfo, x2, y2] = [
251442
- getObsInfo(obsId, hoverMode),
251442
+ getObsInfo2(obsId, hoverMode),
251443
251443
  ...hoverCoord || [null, null]
251444
251444
  ];
251445
251445
  }
251446
- } else if (!useHoverInfoForTooltip && getObsInfo && obsHighlight) {
251446
+ } else if (!useHoverInfoForTooltip && getObsInfo2 && obsHighlight) {
251447
251447
  const obsId = obsHighlight;
251448
251448
  [cellInfo, x2, y2] = [
251449
- getObsInfo(obsId, hoverMode),
251449
+ getObsInfo2(obsId, hoverMode),
251450
251450
  ...viewInfo && viewInfo.projectFromId ? viewInfo.projectFromId(obsId) : [null, null]
251451
251451
  ];
251452
251452
  }
@@ -251620,7 +251620,7 @@ function SpatialSubscriber$1(props) {
251620
251620
  matrixObsIndex
251621
251621
  ]);
251622
251622
  const cellSelection = useMemo$1(() => Array.from(cellColors.keys()), [cellColors]);
251623
- const getObsInfo = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
251623
+ const getObsInfo2 = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
251624
251624
  const getTooltipObsInfo = useCallback((tooltipObsId, tooltipObsType) => {
251625
251625
  if (tooltipObsType === HOVER_MODE.MOLECULE_LAYER) {
251626
251626
  return {
@@ -251628,8 +251628,8 @@ function SpatialSubscriber$1(props) {
251628
251628
  "Molecule Name": obsLocationsLabels[tooltipObsId]
251629
251629
  };
251630
251630
  }
251631
- return getObsInfo(tooltipObsId);
251632
- }, [getObsInfo, obsLocationsLabels]);
251631
+ return getObsInfo2(tooltipObsId);
251632
+ }, [getObsInfo2, obsLocationsLabels]);
251633
251633
  const [hoverData, setHoverData] = useState(null);
251634
251634
  const [hoverCoord, setHoverCoord] = useState(null);
251635
251635
  const [hoverMode, setHoverMode] = useState(null);
@@ -251757,7 +251757,7 @@ function SpatialSubscriber$1(props) {
251757
251757
  orbitAxis
251758
251758
  }, setViewState, originalViewState, imageLayerDefs: imageLayers, obsSegmentationsLayerDefs: cellsLayer, obsLocationsLayerDefs: moleculesLayer, neighborhoodLayerDefs: neighborhoodsLayer, obsLocationsIndex, obsSegmentationsIndex, obsLocations, obsLocationsLabels, obsLocationsFeatureIndex, hasSegmentations: hasSegmentationsData, obsSegmentations, obsSegmentationsType, obsCentroids, obsCentroidsIndex, cellFilter, cellSelection, cellHighlight, cellColors, neighborhoods, imageLayerLoaders: resolutionFilteredImageLayerLoaders, setCellFilter, setCellSelection: setCellSelectionProp, setCellHighlight, setHoverInfo, setMoleculeHighlight, setComponentHover: () => {
251759
251759
  setComponentHover(uuid2);
251760
- }, updateViewInfo: setComponentViewInfo, imageLayerCallbacks, segmentationLayerCallbacks, spatialAxisFixed, geneExpressionColormap, geneExpressionColormapRange, expressionData: shiftedExpressionDataForBitmask, cellColorEncoding, getExpressionValue, theme, useFullResolutionImage, photometricInterpretation }), tooltipsVisible && jsxRuntimeExports.jsx(SpatialTooltipSubscriber, { parentUuid: uuid2, obsHighlight: cellHighlight || moleculeHighlight, width: width2, height: height2, getObsInfo: getTooltipObsInfo, useHoverInfoForTooltip, hoverData, hoverCoord, hoverMode, getObsIdFromHoverData, featureType, featureLabelsMap }), jsxRuntimeExports.jsx(Legend, {
251760
+ }, updateViewInfo: setComponentViewInfo, imageLayerCallbacks, segmentationLayerCallbacks, spatialAxisFixed, geneExpressionColormap, geneExpressionColormapRange, expressionData: shiftedExpressionDataForBitmask, cellColorEncoding, getExpressionValue, theme, useFullResolutionImage, photometricInterpretation }), tooltipsVisible && jsxRuntimeExports.jsx(SpatialTooltipSubscriber$1, { parentUuid: uuid2, obsHighlight: cellHighlight || moleculeHighlight, width: width2, height: height2, getObsInfo: getTooltipObsInfo, useHoverInfoForTooltip, hoverData, hoverCoord, hoverMode, getObsIdFromHoverData, featureType, featureLabelsMap }), jsxRuntimeExports.jsx(Legend, {
251761
251761
  visible: true,
251762
251762
  // Fix to dark theme due to black background of spatial plot.
251763
251763
  theme: "dark",
@@ -253018,6 +253018,117 @@ class Spatial2 extends AbstractSpatialOrScatterplot {
253018
253018
  }
253019
253019
  }
253020
253020
  const SpatialWrapper = forwardRef$1((props, deckRef) => jsxRuntimeExports.jsx(Spatial2, { ...props, deckRef }));
253021
+ function TooltipChild(props) {
253022
+ const { x: x2, y: y2, parentUuid, sourceUuid, width: width2, height: height2, info: info2, tooltipsVisible, tooltipCrosshairsVisible, featureType, featureLabelsMap } = props;
253023
+ const visible = parentUuid === sourceUuid ? tooltipsVisible : tooltipCrosshairsVisible;
253024
+ return visible ? jsxRuntimeExports.jsx(Tooltip2D, { x: x2, y: y2, parentUuid, sourceUuid, parentWidth: width2, parentHeight: height2, children: jsxRuntimeExports.jsx(TooltipContent, { info: info2, featureType, featureLabelsMap }) }) : null;
253025
+ }
253026
+ function getXY(obsHighlight, viewInfo, obsIndex, obsLocations, useHoverInfoForTooltip, projectedHoverCoord) {
253027
+ const hasObsCoordinates = useHoverInfoForTooltip ? true : obsIndex && obsLocations;
253028
+ if (!hasObsCoordinates)
253029
+ return null;
253030
+ const obsI = obsIndex?.indexOf(obsHighlight);
253031
+ if (obsI < 0)
253032
+ return null;
253033
+ if (useHoverInfoForTooltip) {
253034
+ return [projectedHoverCoord?.[0], projectedHoverCoord?.[1]];
253035
+ }
253036
+ const obsCoord = [obsLocations?.data[0][obsI] || 0, obsLocations?.data[1][obsI] || 0, 0];
253037
+ const projectedObsCoord = viewInfo?.project(obsCoord);
253038
+ return [projectedObsCoord?.[0], projectedObsCoord?.[1]];
253039
+ }
253040
+ function getObsInfo(obsSetsData, obsType, obsId) {
253041
+ let result = {
253042
+ [`${capitalize$3(obsType)} ID`]: obsId
253043
+ };
253044
+ if (obsSetsData?.obsSetsMembership) {
253045
+ const obsMembership = obsSetsData.obsSetsMembership.get(obsId) || [];
253046
+ if (obsMembership) {
253047
+ result = {
253048
+ ...result,
253049
+ ...Object.fromEntries(obsMembership.flatMap((path2) => path2.slice(1).map((pathEl, elLevel) => [
253050
+ `${path2[0]}${path2.length > 2 ? ` L${elLevel + 1}` : ""}`,
253051
+ pathEl
253052
+ ])))
253053
+ };
253054
+ }
253055
+ }
253056
+ return result;
253057
+ }
253058
+ function SpatialTooltipSubscriber(props) {
253059
+ const {
253060
+ parentUuid,
253061
+ width: width2,
253062
+ height: height2,
253063
+ hoverCoord,
253064
+ featureType,
253065
+ featureLabelsMap,
253066
+ // Points
253067
+ obsPoints,
253068
+ pointLayerScopes,
253069
+ pointLayerCoordination,
253070
+ // Spots
253071
+ obsSpots,
253072
+ spotLayerScopes,
253073
+ spotLayerCoordination,
253074
+ // Segmentations
253075
+ obsSegmentationsLocations,
253076
+ segmentationLayerScopes,
253077
+ segmentationChannelScopesByLayer,
253078
+ segmentationChannelCoordination,
253079
+ obsSegmentationsSetsData,
253080
+ // Images
253081
+ imageLayerScopes,
253082
+ imageLayerCoordination
253083
+ } = props;
253084
+ const sourceUuid = useComponentHover();
253085
+ const viewInfo = useComponentViewInfo(parentUuid);
253086
+ const useHoverInfoForTooltip = sourceUuid === parentUuid && hoverCoord;
253087
+ const projectedHoverCoord = useHoverInfoForTooltip ? viewInfo?.project(hoverCoord) : null;
253088
+ let yOffset = -30;
253089
+ return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [projectedHoverCoord && imageLayerScopes?.map((layerScope) => {
253090
+ const { pixelHighlight, tooltipsVisible, spatialLayerVisible } = imageLayerCoordination?.[0]?.[layerScope] || {};
253091
+ return tooltipsVisible && pixelHighlight && spatialLayerVisible ? jsxRuntimeExports.jsx(TooltipChild, { parentUuid, sourceUuid, width: width2, height: height2, info: {
253092
+ "Pixel Value": JSON.stringify(pixelHighlight)
253093
+ }, x: projectedHoverCoord?.[0], y: projectedHoverCoord?.[1] + (yOffset += 30), featureType, featureLabelsMap }, layerScope) : null;
253094
+ }), segmentationLayerScopes?.flatMap((layerScope) => segmentationChannelScopesByLayer?.[layerScope]?.map((channelScope) => {
253095
+ const { obsType, obsHighlight, tooltipsVisible, tooltipCrosshairsVisible, spatialChannelVisible } = segmentationChannelCoordination?.[0]?.[layerScope]?.[channelScope] || {};
253096
+ const obsSetsData = obsSegmentationsSetsData?.[layerScope]?.[channelScope];
253097
+ const obsInfo = getObsInfo(obsSetsData, obsType, obsHighlight);
253098
+ if (!obsHighlight || !spatialChannelVisible || !tooltipsVisible && !tooltipCrosshairsVisible)
253099
+ return null;
253100
+ const { obsIndex, obsLocations } = obsSegmentationsLocations?.[layerScope]?.[channelScope] || {};
253101
+ const xy = getXY(obsHighlight, viewInfo, obsIndex, obsLocations, useHoverInfoForTooltip, projectedHoverCoord);
253102
+ if (!xy)
253103
+ return null;
253104
+ const [x2, y2] = xy;
253105
+ return jsxRuntimeExports.jsx(TooltipChild, { parentUuid, sourceUuid, tooltipsVisible, tooltipCrosshairsVisible, width: width2, height: height2, info: obsInfo, x: x2, y: y2 + (yOffset += 20 + 15 * Object.keys(obsInfo).length), featureType, featureLabelsMap }, `${layerScope}-${channelScope}`);
253106
+ })), spotLayerScopes?.map((layerScope) => {
253107
+ const { obsType, obsHighlight, tooltipsVisible, tooltipCrosshairsVisible, spatialLayerVisible } = spotLayerCoordination?.[0]?.[layerScope] || {};
253108
+ if (!obsHighlight || !spatialLayerVisible || !tooltipsVisible && !tooltipCrosshairsVisible)
253109
+ return null;
253110
+ const { obsIndex, obsSpots: obsLocations } = obsSpots?.[layerScope] || {};
253111
+ const xy = getXY(obsHighlight, viewInfo, obsIndex, obsLocations, useHoverInfoForTooltip, projectedHoverCoord);
253112
+ if (!xy)
253113
+ return null;
253114
+ const [x2, y2] = xy;
253115
+ return jsxRuntimeExports.jsx(TooltipChild, { parentUuid, sourceUuid, tooltipsVisible, tooltipCrosshairsVisible, width: width2, height: height2, info: {
253116
+ [`${capitalize$3(obsType)} ID`]: obsHighlight
253117
+ }, x: x2, y: y2 + (yOffset += 30), featureType, featureLabelsMap }, layerScope);
253118
+ }), pointLayerScopes?.map((layerScope) => {
253119
+ const { obsType, obsHighlight, tooltipsVisible, tooltipCrosshairsVisible, spatialLayerVisible } = pointLayerCoordination?.[0]?.[layerScope] || {};
253120
+ if (!obsHighlight || !spatialLayerVisible || !tooltipsVisible && !tooltipCrosshairsVisible)
253121
+ return null;
253122
+ const { obsIndex, obsPoints: obsLocations } = obsPoints?.[layerScope] || {};
253123
+ const xy = getXY(obsHighlight, viewInfo, obsIndex, obsLocations, useHoverInfoForTooltip, projectedHoverCoord);
253124
+ if (!xy)
253125
+ return null;
253126
+ const [x2, y2] = xy;
253127
+ return jsxRuntimeExports.jsx(TooltipChild, { parentUuid, sourceUuid, tooltipsVisible, tooltipCrosshairsVisible, width: width2, height: height2, info: {
253128
+ [`${capitalize$3(obsType)} ID`]: obsHighlight
253129
+ }, x: x2, y: y2 + (yOffset += 30), featureType, featureLabelsMap }, layerScope);
253130
+ })] });
253131
+ }
253021
253132
  class ErrorBoundary extends React__default.Component {
253022
253133
  constructor(props) {
253023
253134
  super(props);
@@ -253036,12 +253147,12 @@ class ErrorBoundary extends React__default.Component {
253036
253147
  }
253037
253148
  }
253038
253149
  const LazySpatialThree = React__default.lazy(async () => {
253039
- const { SpatialWrapper: SpatialWrapper2 } = await import("./index-VG1RjUEu.js");
253150
+ const { SpatialWrapper: SpatialWrapper2 } = await import("./index-S_FSh1nk.js");
253040
253151
  return { default: SpatialWrapper2 };
253041
253152
  });
253042
253153
  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 }) }) }) }));
253043
253154
  const LazySpatialAccelerated = React__default.lazy(async () => {
253044
- const { SpatialWrapper: SpatialWrapper2 } = await import("./index-CHxaVZhJ.js");
253155
+ const { SpatialWrapper: SpatialWrapper2 } = await import("./index-BAP2AnIF.js");
253045
253156
  return { default: SpatialWrapper2 };
253046
253157
  });
253047
253158
  const SpatialAcceleratedAdapter = 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(LazySpatialAccelerated, { ...props }) }) }) }));
@@ -253530,7 +253641,29 @@ function SpatialSubscriber(props) {
253530
253641
  target: [targetX2, targetY2, targetZ],
253531
253642
  rotationX,
253532
253643
  rotationOrbit
253533
- } : DEFAULT_VIEW_STATE, orbitAxis, spatialAxisFixed, setViewState: isValidViewState ? setViewState : SET_VIEW_STATE_NOOP, originalViewState, spatialRenderingMode, updateViewInfo: setComponentViewInfo, delegateHover, obsPoints: obsPointsData, pointLayerScopes, pointLayerCoordination, pointMultiObsLabels: pointMultiObsLabelsData, obsSpots: obsSpotsData, spotLayerScopes, spotLayerCoordination, obsSpotsSets: obsSpotsSetsData, spotMatrixIndices: spotMultiIndicesData, spotMultiExpressionData: spotMultiExpressionNormData, segmentationLayerScopes, segmentationLayerCoordination, segmentationChannelScopesByLayer, segmentationChannelCoordination, obsSegmentations: obsSegmentationsData, obsSegmentationsLocations: obsSegmentationsLocationsData, obsSegmentationsSets: obsSegmentationsSetsData, segmentationMatrixIndices: segmentationMultiIndicesData, segmentationMultiExpressionData: segmentationMultiExpressionNormData, bitmaskValueIsIndex, images: imageData, imageLayerScopes, imageLayerCoordination, imageChannelScopesByLayer, imageChannelCoordination }), jsxRuntimeExports.jsx(
253644
+ } : DEFAULT_VIEW_STATE, orbitAxis, spatialAxisFixed, setViewState: isValidViewState ? setViewState : SET_VIEW_STATE_NOOP, originalViewState, spatialRenderingMode, updateViewInfo: setComponentViewInfo, delegateHover, obsPoints: obsPointsData, pointLayerScopes, pointLayerCoordination, pointMultiObsLabels: pointMultiObsLabelsData, obsSpots: obsSpotsData, spotLayerScopes, spotLayerCoordination, obsSpotsSets: obsSpotsSetsData, spotMatrixIndices: spotMultiIndicesData, spotMultiExpressionData: spotMultiExpressionNormData, segmentationLayerScopes, segmentationLayerCoordination, segmentationChannelScopesByLayer, segmentationChannelCoordination, obsSegmentations: obsSegmentationsData, obsSegmentationsLocations: obsSegmentationsLocationsData, obsSegmentationsSets: obsSegmentationsSetsData, segmentationMatrixIndices: segmentationMultiIndicesData, segmentationMultiExpressionData: segmentationMultiExpressionNormData, bitmaskValueIsIndex, images: imageData, imageLayerScopes, imageLayerCoordination, imageChannelScopesByLayer, imageChannelCoordination }), !disableTooltip && jsxRuntimeExports.jsx(SpatialTooltipSubscriber, {
253645
+ parentUuid: uuid2,
253646
+ width: width2,
253647
+ height: height2,
253648
+ hoverCoord,
253649
+ // Points
253650
+ obsPoints: obsPointsData,
253651
+ pointLayerScopes,
253652
+ pointLayerCoordination,
253653
+ // Spots
253654
+ obsSpots: obsSpotsData,
253655
+ spotLayerScopes,
253656
+ spotLayerCoordination,
253657
+ // Segmentations
253658
+ obsSegmentationsLocations: obsSegmentationsLocationsData,
253659
+ segmentationLayerScopes,
253660
+ segmentationChannelScopesByLayer,
253661
+ segmentationChannelCoordination,
253662
+ obsSegmentationsSetsData,
253663
+ // Images
253664
+ imageLayerScopes,
253665
+ imageLayerCoordination
253666
+ }), jsxRuntimeExports.jsx(
253534
253667
  MultiLegend,
253535
253668
  {
253536
253669
  // Fix to dark theme due to black background of spatial plot.
@@ -254365,11 +254498,11 @@ const Heatmap$1 = forwardRef$1((props, deckRef) => {
254365
254498
  });
254366
254499
  Heatmap$1.displayName = "Heatmap";
254367
254500
  function HeatmapTooltipSubscriber(props) {
254368
- const { parentUuid, width: width2, height: height2, transpose: transpose2, getObsInfo, getFeatureInfo, obsHighlight, featureHighlight, featureType, featureLabelsMap } = props;
254501
+ const { parentUuid, width: width2, height: height2, transpose: transpose2, getObsInfo: getObsInfo2, getFeatureInfo, obsHighlight, featureHighlight, featureType, featureLabelsMap } = props;
254369
254502
  const sourceUuid = useComponentHover();
254370
254503
  const viewInfo = useComponentViewInfo(parentUuid);
254371
- const [cellInfo, cellCoord] = obsHighlight && getObsInfo ? [
254372
- getObsInfo(obsHighlight),
254504
+ const [cellInfo, cellCoord] = obsHighlight && getObsInfo2 ? [
254505
+ getObsInfo2(obsHighlight),
254373
254506
  viewInfo && viewInfo.projectFromId ? viewInfo.projectFromId(obsHighlight, null)[transpose2 ? 0 : 1] : null
254374
254507
  ] : [null, null];
254375
254508
  const [geneInfo, geneCoord] = featureHighlight && getFeatureInfo ? [
@@ -254477,7 +254610,7 @@ function HeatmapSubscriber(props) {
254477
254610
  cellSetSelection,
254478
254611
  obsIndex
254479
254612
  ]);
254480
- const getObsInfo = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
254613
+ const getObsInfo2 = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
254481
254614
  const getObsMembership = useGetObsMembership(obsSetsMembership);
254482
254615
  const getFeatureInfo = useCallback((featureId2) => {
254483
254616
  if (featureId2) {
@@ -254517,7 +254650,7 @@ function HeatmapSubscriber(props) {
254517
254650
  setTargetY(target2[1]);
254518
254651
  }, colormapRange: geneExpressionColormapRange, setColormapRange: setGeneExpressionColormapRange, height: height2, width: width2, theme, uuid: uuid2, uint8ObsFeatureMatrix: uint8ObsFeatureMatrix?.data, cellColors, colormap: geneExpressionColormap, setIsRendering, setCellHighlight, setGeneHighlight, featureLabelsMap, obsIndex, featureIndex, setTrackHighlight, setComponentHover: () => {
254519
254652
  setComponentHover(uuid2);
254520
- }, updateViewInfo: setComponentViewInfo, observationsTitle, variablesTitle, variablesDashes: false, observationsDashes: false, cellColorLabels, useDevicePixels: true, onHeatmapClick, setColorEncoding: setHoveredColorEncoding }), tooltipsVisible && jsxRuntimeExports.jsx(HeatmapTooltipSubscriber, { parentUuid: uuid2, width: width2, height: height2, transpose: transpose2, getObsInfo, getFeatureInfo, obsHighlight: cellHighlight, featureHighlight: geneHighlight, featureType, featureLabelsMap }), jsxRuntimeExports.jsx(Legend, { visible: true, theme, featureType, featureValueType, obsColorEncoding: "geneExpression", considerSelections: false, featureSelection: geneSelection, obsSetSelection: cellSetSelection, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, extent: obsFeatureMatrixExtent })] });
254653
+ }, updateViewInfo: setComponentViewInfo, observationsTitle, variablesTitle, variablesDashes: false, observationsDashes: false, cellColorLabels, useDevicePixels: true, onHeatmapClick, setColorEncoding: setHoveredColorEncoding }), tooltipsVisible && jsxRuntimeExports.jsx(HeatmapTooltipSubscriber, { parentUuid: uuid2, width: width2, height: height2, transpose: transpose2, getObsInfo: getObsInfo2, getFeatureInfo, obsHighlight: cellHighlight, featureHighlight: geneHighlight, featureType, featureLabelsMap }), jsxRuntimeExports.jsx(Legend, { visible: true, theme, featureType, featureValueType, obsColorEncoding: "geneExpression", considerSelections: false, featureSelection: geneSelection, obsSetSelection: cellSetSelection, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, extent: obsFeatureMatrixExtent })] });
254521
254654
  }
254522
254655
  function _classCallCheck(a2, n3) {
254523
254656
  if (!(a2 instanceof n3)) throw new TypeError("Cannot call a class as a function");
@@ -266159,7 +266292,7 @@ function HiglassGlobalStyles(props) {
266159
266292
  }
266160
266293
  register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
266161
266294
  const LazyHiGlassComponent = React__default.lazy(async () => {
266162
- const { HiGlassComponent } = await import("./higlass-BYlgWL_Y.js");
266295
+ const { HiGlassComponent } = await import("./higlass-n5FnMrCn.js");
266163
266296
  return { default: HiGlassComponent };
266164
266297
  });
266165
266298
  const HG_SIZE = 800;
@@ -269106,7 +269239,7 @@ function NeuroglancerGlobalStyles(props) {
269106
269239
  const { classes: classes2 } = props;
269107
269240
  return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
269108
269241
  }
269109
- const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-BV_821il.js"));
269242
+ const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-Cd-eoVyU.js"));
269110
269243
  function createWorker() {
269111
269244
  return new WorkerFactory();
269112
269245
  }
@@ -373108,6 +373241,36 @@ function getDataView(source2) {
373108
373241
  }
373109
373242
  return null;
373110
373243
  }
373244
+ function toFloat32Array(input) {
373245
+ if (input instanceof Float32Array) {
373246
+ return input;
373247
+ }
373248
+ if (input instanceof BigInt64Array) {
373249
+ const floats = new Float32Array(input.length);
373250
+ for (let i2 = 0; i2 < input.length; i2++) {
373251
+ floats[i2] = Number(input[i2]);
373252
+ }
373253
+ return floats;
373254
+ }
373255
+ if (input instanceof Float64Array) {
373256
+ return new Float32Array(input);
373257
+ }
373258
+ if (input instanceof Array) {
373259
+ return new Float32Array(input);
373260
+ }
373261
+ log$b.warn("toFloat32Array expected Float32Array, Float64Array, BigInt64Array, or Array input");
373262
+ return new Float32Array(input);
373263
+ }
373264
+ function downcastIfBigIntArray(input) {
373265
+ if (input instanceof BigInt64Array) {
373266
+ const downcasted = new Int32Array(input.length);
373267
+ for (let i2 = 0; i2 < input.length; i2++) {
373268
+ downcasted[i2] = Number(input[i2]);
373269
+ }
373270
+ return downcasted;
373271
+ }
373272
+ return input;
373273
+ }
373111
373274
  const shapesElementRegex = /^shapes\/([^/]*)$/;
373112
373275
  const shapesSubElementRegex = /^shapes\/([^/]*)\/(.*)$/;
373113
373276
  function getShapesElementPath(arrPath) {
@@ -373133,26 +373296,6 @@ function getParquetPath$1(arrPath) {
373133
373296
  }
373134
373297
  throw new Error(`Cannot determine parquet path for shapes array path: ${arrPath}`);
373135
373298
  }
373136
- function toFloat32Array(input) {
373137
- if (input instanceof Float32Array) {
373138
- return input;
373139
- }
373140
- if (input instanceof BigInt64Array) {
373141
- const floats = new Float32Array(input.length);
373142
- for (let i2 = 0; i2 < input.length; i2++) {
373143
- floats[i2] = Number(input[i2]);
373144
- }
373145
- return floats;
373146
- }
373147
- if (input instanceof Float64Array) {
373148
- return new Float32Array(input);
373149
- }
373150
- if (input instanceof Array) {
373151
- return new Float32Array(input);
373152
- }
373153
- log$b.warn("toFloat32Array expected Float32Array, Float64Array, BigInt64Array, or Array input");
373154
- return new Float32Array(input);
373155
- }
373156
373299
  class SpatialDataShapesSource extends SpatialDataTableSource {
373157
373300
  /**
373158
373301
  *
@@ -373240,11 +373383,17 @@ class SpatialDataShapesSource extends SpatialDataTableSource {
373240
373383
  _decodeWkbColumnFlat(geometryColumn) {
373241
373384
  const wkb = new WKB();
373242
373385
  const arr = geometryColumn.toArray();
373243
- return arr.map((geom) => (
373244
- /** @type {[number, number]} */
373245
- /** @type {any} */
373246
- wkb.readGeometry(geom).getFlatCoordinates()
373247
- ));
373386
+ return arr.map((geom) => {
373387
+ const coords = (
373388
+ /** @type {any} */
373389
+ wkb.readGeometry(geom).getFlatCoordinates()
373390
+ );
373391
+ const downcastedCoords = (
373392
+ /** @type {[number, number]} */
373393
+ coords.map((coord) => Number(coord))
373394
+ );
373395
+ return downcastedCoords;
373396
+ });
373248
373397
  }
373249
373398
  /**
373250
373399
  * Helper to decode WKB geometry column as nested coordinates (for polygons).
@@ -373261,7 +373410,12 @@ class SpatialDataShapesSource extends SpatialDataTableSource {
373261
373410
  /** @type {any} */
373262
373411
  wkb.readGeometry(geom).getCoordinates()
373263
373412
  );
373264
- return coords[0];
373413
+ const firstPolygon = coords[0];
373414
+ for (let i2 = 0; i2 < firstPolygon.length; i2++) {
373415
+ firstPolygon[i2] = /** @type {[number, number]} */
373416
+ firstPolygon[i2].map((coord) => Number(coord));
373417
+ }
373418
+ return firstPolygon;
373265
373419
  });
373266
373420
  }
373267
373421
  /**
@@ -373421,7 +373575,7 @@ class SpatialDataPointsSource extends SpatialDataTableSource {
373421
373575
  if (!column2) {
373422
373576
  throw new Error(`Column "${name2}" not found in the arrow table.`);
373423
373577
  }
373424
- return column2.toArray();
373578
+ return downcastIfBigIntArray(column2.toArray());
373425
373579
  });
373426
373580
  return {
373427
373581
  shape: [axisColumnArrs.length, arrowTable.numRows],
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { bQ, bO, bM, bP, bN, bL, bR } from "./index-Z-pD1WnL.js";
1
+ import { bQ, bO, bM, bP, bN, bL, bR } from "./index-TF8hfyKX.js";
2
2
  import { useComplexCoordination, useComplexCoordinationSecondary, useCoordination, useCoordinationScopes, useCoordinationScopesBy, useGridItemSize, useMultiCoordinationScopesNonNull, useMultiCoordinationScopesSecondaryNonNull, usePageModeView } from "@vitessce/vit-s";
3
3
  export {
4
4
  bQ as PluginAsyncFunction,
@@ -1,4 +1,4 @@
1
- import { aW as BaseDecoder } from "./index-Z-pD1WnL.js";
1
+ import { aW as BaseDecoder } from "./index-TF8hfyKX.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 { aF as getDefaultExportFromCjs, aW as BaseDecoder, aX as LercParameters, aY as LercAddCompression } from "./index-Z-pD1WnL.js";
2
+ import { aF as getDefaultExportFromCjs, aW as BaseDecoder, aX as LercParameters, aY as LercAddCompression } from "./index-TF8hfyKX.js";
3
3
  var LercDecode = { exports: {} };
4
4
  var hasRequiredLercDecode;
5
5
  function requireLercDecode() {
@@ -1,4 +1,4 @@
1
- import { aW as BaseDecoder } from "./index-Z-pD1WnL.js";
1
+ import { aW as BaseDecoder } from "./index-TF8hfyKX.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 { aW as BaseDecoder } from "./index-Z-pD1WnL.js";
1
+ import { aW as BaseDecoder } from "./index-TF8hfyKX.js";
2
2
  class PackbitsDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  const dataView = new DataView(buffer);
@@ -1,4 +1,4 @@
1
- import { aW as BaseDecoder } from "./index-Z-pD1WnL.js";
1
+ import { aW as BaseDecoder } from "./index-TF8hfyKX.js";
2
2
  class RawDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  return buffer;
@@ -1,4 +1,4 @@
1
- import { bG as MeshDistanceMaterial, bH as MeshDepthMaterial, bI as RGBADepthPacking, ae as UniformsUtils, bJ as ShaderChunk, a9 as InstancedBufferGeometry, a8 as Sphere, a7 as Box3, am as BackSide, u as DoubleSide, z as Mesh, a5 as FrontSide, v as MeshBasicMaterial, C as Color, e as Vector3, M as Matrix4, V as Vector2, ap as Matrix3, ag as Vector4, a1 as Texture, l as LinearFilter, aD as PlaneGeometry, x as BufferGeometry, aa as Float32BufferAttribute, bK as InstancedBufferAttribute } from "./index-Z-pD1WnL.js";
1
+ import { bG as MeshDistanceMaterial, bH as MeshDepthMaterial, bI as RGBADepthPacking, ae as UniformsUtils, bJ as ShaderChunk, a9 as InstancedBufferGeometry, a8 as Sphere, a7 as Box3, am as BackSide, u as DoubleSide, z as Mesh, a5 as FrontSide, v as MeshBasicMaterial, C as Color, e as Vector3, M as Matrix4, V as Vector2, ap as Matrix3, ag as Vector4, a1 as Texture, l as LinearFilter, aD as PlaneGeometry, x as BufferGeometry, aa as Float32BufferAttribute, bK as InstancedBufferAttribute } from "./index-TF8hfyKX.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 { aW as BaseDecoder } from "./index-Z-pD1WnL.js";
1
+ import { aW as BaseDecoder } from "./index-TF8hfyKX.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.8.6",
3
+ "version": "3.8.7",
4
4
  "author": "HIDIVE Lab at HMS",
5
5
  "homepage": "http://vitessce.io",
6
6
  "repository": {
@@ -17,38 +17,38 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "zod": "^3.21.4",
20
- "@vitessce/styles": "3.8.6",
21
- "@vitessce/constants-internal": "3.8.6",
22
- "@vitessce/abstract": "3.8.6",
23
- "@vitessce/error": "3.8.6",
24
- "@vitessce/csv": "3.8.6",
25
- "@vitessce/description": "3.8.6",
26
- "@vitessce/feature-list": "3.8.6",
27
- "@vitessce/genomic-profiles": "3.8.6",
28
- "@vitessce/heatmap": "3.8.6",
29
- "@vitessce/glb": "3.8.6",
30
- "@vitessce/json": "3.8.6",
31
- "@vitessce/layer-controller": "3.8.6",
32
- "@vitessce/layer-controller-beta": "3.8.6",
33
- "@vitessce/link-controller": "3.8.6",
34
- "@vitessce/obs-sets-manager": "3.8.6",
35
- "@vitessce/ome-tiff": "3.8.6",
36
- "@vitessce/plugins": "3.8.6",
37
- "@vitessce/scatterplot-embedding": "3.8.6",
38
- "@vitessce/scatterplot-gating": "3.8.6",
39
- "@vitessce/schemas": "3.8.6",
40
- "@vitessce/spatial": "3.8.6",
41
- "@vitessce/spatial-beta": "3.8.6",
42
- "@vitessce/statistical-plots": "3.8.6",
43
- "@vitessce/status": "3.8.6",
44
- "@vitessce/vit-s": "3.8.6",
45
- "@vitessce/zarr": "3.8.6",
46
- "@vitessce/globals": "3.8.6",
47
- "@vitessce/spatial-zarr": "3.8.6",
48
- "@vitessce/spatial-three": "3.8.6",
49
- "@vitessce/spatial-accelerated": "3.8.6",
50
- "@vitessce/biomarker-select": "3.8.6",
51
- "@vitessce/neuroglancer": "3.8.6"
20
+ "@vitessce/styles": "3.8.7",
21
+ "@vitessce/constants-internal": "3.8.7",
22
+ "@vitessce/abstract": "3.8.7",
23
+ "@vitessce/error": "3.8.7",
24
+ "@vitessce/csv": "3.8.7",
25
+ "@vitessce/description": "3.8.7",
26
+ "@vitessce/feature-list": "3.8.7",
27
+ "@vitessce/genomic-profiles": "3.8.7",
28
+ "@vitessce/heatmap": "3.8.7",
29
+ "@vitessce/glb": "3.8.7",
30
+ "@vitessce/json": "3.8.7",
31
+ "@vitessce/layer-controller": "3.8.7",
32
+ "@vitessce/layer-controller-beta": "3.8.7",
33
+ "@vitessce/link-controller": "3.8.7",
34
+ "@vitessce/obs-sets-manager": "3.8.7",
35
+ "@vitessce/ome-tiff": "3.8.7",
36
+ "@vitessce/plugins": "3.8.7",
37
+ "@vitessce/scatterplot-embedding": "3.8.7",
38
+ "@vitessce/scatterplot-gating": "3.8.7",
39
+ "@vitessce/schemas": "3.8.7",
40
+ "@vitessce/spatial": "3.8.7",
41
+ "@vitessce/spatial-beta": "3.8.7",
42
+ "@vitessce/statistical-plots": "3.8.7",
43
+ "@vitessce/status": "3.8.7",
44
+ "@vitessce/vit-s": "3.8.7",
45
+ "@vitessce/zarr": "3.8.7",
46
+ "@vitessce/globals": "3.8.7",
47
+ "@vitessce/spatial-zarr": "3.8.7",
48
+ "@vitessce/spatial-three": "3.8.7",
49
+ "@vitessce/spatial-accelerated": "3.8.7",
50
+ "@vitessce/biomarker-select": "3.8.7",
51
+ "@vitessce/neuroglancer": "3.8.7"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/react": "^18.0.28",