@vitessce/all 3.9.8 → 3.9.9

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 { aG as getDefaultExportFromCjs, aH as Raycaster, W as OrthographicCamera, K as PerspectiveCamera, av as Scene, aI as PCFSoftShadowMap, aJ as VSMShadowMap, aK as PCFShadowMap, aL as BasicShadowMap, aM as NoToneMapping, aN as ACESFilmicToneMapping, e as Vector3, V as Vector2, aO as Clock, aP as WebGLRenderer, aQ as Camera, x as BufferGeometry, r as Material, aR as Layers, a1 as Texture, aC as RGBAFormat, ay as UnsignedByteType, C as Color, aj as _extends, aS as THREE, aT as EventDispatcher, aU as MOUSE, aV as TOUCH, aW as Spherical, Q as Quaternion, an as Ray, ak as Plane } from "./index-gbtRLRj5.js";
1
+ import { aG as getDefaultExportFromCjs, aH as Raycaster, W as OrthographicCamera, K as PerspectiveCamera, av as Scene, aI as PCFSoftShadowMap, aJ as VSMShadowMap, aK as PCFShadowMap, aL as BasicShadowMap, aM as NoToneMapping, aN as ACESFilmicToneMapping, e as Vector3, V as Vector2, aO as Clock, aP as WebGLRenderer, aQ as Camera, x as BufferGeometry, r as Material, aR as Layers, a1 as Texture, aC as RGBAFormat, ay as UnsignedByteType, C as Color, aj as _extends, aS as THREE, aT as EventDispatcher, aU as MOUSE, aV as TOUCH, aW as Spherical, Q as Quaternion, an as Ray, ak as Plane } from "./index-DyvHlPKD.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 { aG as getDefaultExportFromCjs, b1 as requireAssign, b2 as require_export, b3 as require_core, b4 as require_fails, b5 as require_toObject, b6 as require_objectKeys, b7 as require_cof, b8 as require_wks, b9 as require_iterators, ba as requireWeb_dom_iterable, bb as requireEs6_string_iterator, bc as require_anObject, bd as require_hide, be as require_ctx, bf as require_toLength, bg as require_global, bh as require_objectDp, bi as require_descriptors, bj as require_isObject, bk as require_objectCreate, bl as require_iterDefine, bm as require_iterStep, bn as require_meta, bo as require_isArray, bp as require_iobject, bq as require_setToStringTag, br as require_aFunction, bs as requireIterator, bt as require_propertyDesc, a_ as commonjsGlobal, bu as requireEs6_symbol, bv as requireDefineProperty, bw as require_toIobject, bx as require_objectGopd, by as require_html, bz as require_domCreate, bA as require_library, bB as requireSymbol, bC as require_objectPie, bD as require_has, bE as require_redefine, bF as require_objectAssign, bG as diffCameraState, ao as jsxRuntimeExports } from "./index-gbtRLRj5.js";
1
+ import { aG as getDefaultExportFromCjs, b1 as requireAssign, b2 as require_export, b3 as require_core, b4 as require_fails, b5 as require_toObject, b6 as require_objectKeys, b7 as require_cof, b8 as require_wks, b9 as require_iterators, ba as requireWeb_dom_iterable, bb as requireEs6_string_iterator, bc as require_anObject, bd as require_hide, be as require_ctx, bf as require_toLength, bg as require_global, bh as require_objectDp, bi as require_descriptors, bj as require_isObject, bk as require_objectCreate, bl as require_iterDefine, bm as require_iterStep, bn as require_meta, bo as require_isArray, bp as require_iobject, bq as require_setToStringTag, br as require_aFunction, bs as requireIterator, bt as require_propertyDesc, a_ as commonjsGlobal, bu as requireEs6_symbol, bv as requireDefineProperty, bw as require_toIobject, bx as require_objectGopd, by as require_html, bz as require_domCreate, bA as require_library, bB as requireSymbol, bC as require_objectPie, bD as require_has, bE as require_redefine, bF as require_objectAssign, bG as diffCameraState, ao as jsxRuntimeExports } from "./index-DyvHlPKD.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 { aX as BaseDecoder } from "./index-gbtRLRj5.js";
2
+ import { aX as BaseDecoder } from "./index-DyvHlPKD.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 { a_ as commonjsGlobal$1, a$ as requireObjectAssign, aG as getDefaultExportFromCjs$1, b0 as earcut } from "./index-gbtRLRj5.js";
4
+ import { a_ as commonjsGlobal$1, a$ as requireObjectAssign, aG as getDefaultExportFromCjs$1, b0 as earcut } from "./index-DyvHlPKD.js";
5
5
  var promise = {};
6
6
  var hasRequiredPromise;
7
7
  function requirePromise() {
@@ -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-gbtRLRj5.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-DyvHlPKD.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-BSs_Q5On.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-22a8bk04.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-DK1u2spU.js"), []);
5030
+ } = suspend(async () => import("./troika-three-text.esm-CVOtVmFe.js"), []);
5031
5031
  const invalidate = useThree(({
5032
5032
  invalidate: invalidate2
5033
5033
  }) => invalidate2);
@@ -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, aE as useEventCallback, ao as jsxRuntimeExports, aF as GLSL3, am as BackSide } from "./index-gbtRLRj5.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, aE as useEventCallback, ao as jsxRuntimeExports, aF as GLSL3, am as BackSide } from "./index-DyvHlPKD.js";
2
2
  import { useRef, useState, useMemo, useEffect, Suspense } from "react";
3
- import { u as useThree, a as useFrame, O as OrbitControls, C as Canvas } from "./OrbitControls-BSs_Q5On.js";
3
+ import { u as useThree, a as useFrame, O as OrbitControls, C as Canvas } from "./OrbitControls-22a8bk04.js";
4
4
  const LogLevel = {
5
5
  INFO: "info",
6
6
  WARN: "warn",
@@ -210359,22 +210359,22 @@ async function getDecoder(fileDirectory) {
210359
210359
  const Decoder = await importFn();
210360
210360
  return new Decoder(fileDirectory);
210361
210361
  }
210362
- addDecoder([void 0, 1], () => import("./raw-BDQB9cuz.js").then((m2) => m2.default));
210363
- addDecoder(5, () => import("./lzw-oMC0dlgC.js").then((m2) => m2.default));
210362
+ addDecoder([void 0, 1], () => import("./raw-Q9iDQlA8.js").then((m2) => m2.default));
210363
+ addDecoder(5, () => import("./lzw-Cbew-c41.js").then((m2) => m2.default));
210364
210364
  addDecoder(6, () => {
210365
210365
  throw new Error("old style JPEG compression is not supported.");
210366
210366
  });
210367
- addDecoder(7, () => import("./jpeg-C7Mxa_R_.js").then((m2) => m2.default));
210368
- addDecoder([8, 32946], () => import("./deflate-CsmxXIPT.js").then((m2) => m2.default));
210369
- addDecoder(32773, () => import("./packbits-C-3XoOot.js").then((m2) => m2.default));
210367
+ addDecoder(7, () => import("./jpeg-CIYI21V8.js").then((m2) => m2.default));
210368
+ addDecoder([8, 32946], () => import("./deflate-LlDFQTvY.js").then((m2) => m2.default));
210369
+ addDecoder(32773, () => import("./packbits-QQ3Kq95W.js").then((m2) => m2.default));
210370
210370
  addDecoder(
210371
210371
  34887,
210372
- () => import("./lerc-DbIzGgSj.js").then(async (m2) => {
210372
+ () => import("./lerc-BKoJuTs1.js").then(async (m2) => {
210373
210373
  await m2.zstd.init();
210374
210374
  return m2;
210375
210375
  }).then((m2) => m2.default)
210376
210376
  );
210377
- addDecoder(50001, () => import("./webimage-DhNmlhtK.js").then((m2) => m2.default));
210377
+ addDecoder(50001, () => import("./webimage-CVAiK7LB.js").then((m2) => m2.default));
210378
210378
  function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
210379
210379
  return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
210380
210380
  }
@@ -254873,12 +254873,12 @@ class ErrorBoundary extends React__default.Component {
254873
254873
  }
254874
254874
  }
254875
254875
  const LazySpatialThree = React__default.lazy(async () => {
254876
- const { SpatialWrapper: SpatialWrapper2 } = await import("./index-BstOXuv0.js");
254876
+ const { SpatialWrapper: SpatialWrapper2 } = await import("./index-CAfSSaWL.js");
254877
254877
  return { default: SpatialWrapper2 };
254878
254878
  });
254879
254879
  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 }) }) }) }));
254880
254880
  const LazySpatialAccelerated = React__default.lazy(async () => {
254881
- const { SpatialWrapper: SpatialWrapper2 } = await import("./index-BPsHPaJT.js");
254881
+ const { SpatialWrapper: SpatialWrapper2 } = await import("./index-DpX5nUsD.js");
254882
254882
  return { default: SpatialWrapper2 };
254883
254883
  });
254884
254884
  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 }) }) }) }));
@@ -264751,7 +264751,7 @@ function PointLayerController(props) {
264751
264751
  const [coloringTabIndex, setColoringTabIndex] = useState(0);
264752
264752
  const { featureIndex } = pointMatrixIndicesData || {};
264753
264753
  const hasSelectedFeatures = Array.isArray(featureSelection) && featureSelection.length > 0;
264754
- return jsxRuntimeExports.jsxs(Grid$1, { className: lcClasses.layerControllerGrid, children: [jsxRuntimeExports.jsxs(Paper, { elevation: 4, className: lcClasses.layerControllerRoot, children: [jsxRuntimeExports.jsxs(Grid$1, { container: true, direction: "row", justifyContent: "space-between", children: [jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(Button, { onClick: handleVisibleChange, className: menuClasses.imageLayerVisibleButton, "aria-label": "Toggle layer visibility", children: jsxRuntimeExports.jsx(Visibility, {}) }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(ChannelColorPickerMenu, { theme, color: color2, setColor: setColor2, palette, isStaticColor, isColormap, featureValueColormap, visible }) }), jsxRuntimeExports.jsx(Grid$1, { size: 6, children: jsxRuntimeExports.jsx(Typography, { className: menuClasses.imageLayerName, children: label2 }) }), jsxRuntimeExports.jsx(Grid$1, { size: 2, children: jsxRuntimeExports.jsx(Slider, { value: opacity2, min: 0, max: 1, step: 1e-3, onChange: handleOpacityChange, className: menuClasses.imageLayerOpacitySlider, orientation: "horizontal", "aria-label": `Adjust opacity for layer ${label2}` }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(PointLayerEllipsisMenu, { featureSelection, obsColorEncoding, setObsColorEncoding, featureValueColormapRange, setFeatureValueColormapRange, tooltipsVisible, setTooltipsVisible, tooltipCrosshairsVisible, setTooltipCrosshairsVisible, legendVisible, setLegendVisible, featureFilterMode, setFeatureFilterMode }) }), jsxRuntimeExports.jsxs(Grid$1, { size: 1, container: true, direction: "row", children: [jsxRuntimeExports.jsx(SvgPoints, { className: classes2.layerTypePointIcon }), null] })] }), loadingDoneFraction < 1 ? jsxRuntimeExports.jsx(Grid$1, { size: 12, container: true, direction: "column", justifyContent: "space-between", className: classes2.pointFeatureControllerGrid, children: jsxRuntimeExports.jsx(LinearProgress, { variant: loadingDoneFraction === 0 ? "indeterminate" : "determinate", value: loadingDoneFraction * 100 }) }) : null, null] }), hasSelectedFeatures ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [featureSelection.map((featureName) => jsxRuntimeExports.jsx(LayerPerFeatureController, { theme, featureName, featureColor, setFeatureColor, spatialLayerColor, featureIndex, featureValueColormap, featureSelection, setFeatureSelection, obsColorEncoding, loadingDoneFraction, opacity: opacity2, handleOpacityChange }, featureName)), jsxRuntimeExports.jsx(Grid$1, { className: lcClasses.layerControllerGrid, children: jsxRuntimeExports.jsx(Paper, { elevation: 2, className: lcClasses.layerControllerSubRow, children: jsxRuntimeExports.jsxs(Grid$1, { container: true, direction: "row", justifyContent: "space-between", children: [jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(Button, { onClick: () => setFeatureFilterMode(featureFilterMode === "featureSelection" ? null : "featureSelection"), className: menuClasses.imageLayerVisibleButton, "aria-label": "Toggle visibility of unselected points", children: featureFilterMode === "featureSelection" ? jsxRuntimeExports.jsx(VisibilityOffIcon, {}) : jsxRuntimeExports.jsx(VisibilityIcon, {}) }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(ChannelColorPickerMenu, { theme, color: getDefaultColor("dark"), setColor: null, isStaticColor: true, isColormap: false, visible: true }) }), jsxRuntimeExports.jsx(Grid$1, { size: 6, children: jsxRuntimeExports.jsx(Typography, { className: menuClasses.imageLayerName, children: "Unselected" }) }), jsxRuntimeExports.jsx(Grid$1, { size: 2, sx: { paddingRight: "12px", overflow: "visible" }, children: jsxRuntimeExports.jsx(Slider, { value: opacity2, min: 0, max: 1, step: 1e-3, onChange: handleOpacityChange, className: menuClasses.imageLayerOpacitySlider, orientation: "horizontal", "aria-label": "Adjust opacity for unselected layer" }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(SvgPoints, { className: classes2.layerTypePointIcon }) })] }) }) })] }) : null] });
264754
+ return jsxRuntimeExports.jsxs(Grid$1, { className: lcClasses.layerControllerGrid, children: [jsxRuntimeExports.jsxs(Paper, { elevation: 4, className: lcClasses.layerControllerRoot, children: [jsxRuntimeExports.jsxs(Grid$1, { container: true, direction: "row", justifyContent: "space-between", children: [jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(Button, { onClick: handleVisibleChange, className: menuClasses.imageLayerVisibleButton, "aria-label": "Toggle layer visibility", children: jsxRuntimeExports.jsx(Visibility, {}) }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(ChannelColorPickerMenu, { theme, color: color2, setColor: setColor2, palette, isStaticColor, isColormap, featureValueColormap, visible }) }), jsxRuntimeExports.jsx(Grid$1, { size: 6, children: jsxRuntimeExports.jsx(Typography, { className: menuClasses.imageLayerName, children: label2 }) }), jsxRuntimeExports.jsx(Grid$1, { size: 2, children: jsxRuntimeExports.jsx(Slider, { value: opacity2, min: 0, max: 1, step: 1e-3, onChange: handleOpacityChange, className: menuClasses.imageLayerOpacitySlider, orientation: "horizontal", "aria-label": `Adjust opacity for layer ${label2}` }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(PointLayerEllipsisMenu, { featureSelection, obsColorEncoding, setObsColorEncoding, featureValueColormapRange, setFeatureValueColormapRange, tooltipsVisible, setTooltipsVisible, tooltipCrosshairsVisible, setTooltipCrosshairsVisible, legendVisible, setLegendVisible, featureFilterMode, setFeatureFilterMode }) }), jsxRuntimeExports.jsxs(Grid$1, { size: 1, container: true, direction: "row", children: [jsxRuntimeExports.jsx(SvgPoints, { className: classes2.layerTypePointIcon }), null] })] }), loadingDoneFraction < 1 ? jsxRuntimeExports.jsx(Grid$1, { size: 12, container: true, direction: "column", justifyContent: "space-between", className: classes2.pointFeatureControllerGrid, children: jsxRuntimeExports.jsx(LinearProgress, { variant: loadingDoneFraction === 0 ? "indeterminate" : "determinate", value: loadingDoneFraction * 100 }) }) : null, null] }), layerPerFeatureForPoints && hasSelectedFeatures ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [featureSelection.map((featureName) => jsxRuntimeExports.jsx(LayerPerFeatureController, { theme, featureName, featureColor, setFeatureColor, spatialLayerColor, featureIndex, featureValueColormap, featureSelection, setFeatureSelection, obsColorEncoding, loadingDoneFraction, opacity: opacity2, handleOpacityChange }, featureName)), jsxRuntimeExports.jsx(Grid$1, { className: lcClasses.layerControllerGrid, children: jsxRuntimeExports.jsx(Paper, { elevation: 2, className: lcClasses.layerControllerSubRow, children: jsxRuntimeExports.jsxs(Grid$1, { container: true, direction: "row", justifyContent: "space-between", children: [jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(Button, { onClick: () => setFeatureFilterMode(featureFilterMode === "featureSelection" ? null : "featureSelection"), className: menuClasses.imageLayerVisibleButton, "aria-label": "Toggle visibility of unselected points", children: featureFilterMode === "featureSelection" ? jsxRuntimeExports.jsx(VisibilityOffIcon, {}) : jsxRuntimeExports.jsx(VisibilityIcon, {}) }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(ChannelColorPickerMenu, { theme, color: getDefaultColor("dark"), setColor: null, isStaticColor: true, isColormap: false, visible: true }) }), jsxRuntimeExports.jsx(Grid$1, { size: 6, children: jsxRuntimeExports.jsx(Typography, { className: menuClasses.imageLayerName, children: "Unselected" }) }), jsxRuntimeExports.jsx(Grid$1, { size: 2, sx: { paddingRight: "12px", overflow: "visible" }, children: jsxRuntimeExports.jsx(Slider, { value: opacity2, min: 0, max: 1, step: 1e-3, onChange: handleOpacityChange, className: menuClasses.imageLayerOpacitySlider, orientation: "horizontal", "aria-label": "Adjust opacity for unselected layer" }) }), jsxRuntimeExports.jsx(Grid$1, { size: 1, children: jsxRuntimeExports.jsx(SvgPoints, { className: classes2.layerTypePointIcon }) })] }) }) })] }) : null] });
264755
264755
  }
264756
264756
  const useStyles$d = makeStyles()(() => ({
264757
264757
  layerTypeSegmentationIcon: {
@@ -268585,7 +268585,7 @@ function HiglassGlobalStyles(props) {
268585
268585
  }
268586
268586
  register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
268587
268587
  const LazyHiGlassComponent = React__default.lazy(async () => {
268588
- const { HiGlassComponent } = await import("./higlass-wSBrpMhX.js");
268588
+ const { HiGlassComponent } = await import("./higlass-BsC0wgvT.js");
268589
268589
  return { default: HiGlassComponent };
268590
268590
  });
268591
268591
  const HG_SIZE = 800;
@@ -271533,7 +271533,7 @@ function NeuroglancerGlobalStyles(props) {
271533
271533
  const { classes: classes2 } = props;
271534
271534
  return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
271535
271535
  }
271536
- const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-x4EMSEcX.js"));
271536
+ const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-R9DY-SSe.js"));
271537
271537
  function createWorker() {
271538
271538
  const worker = new WorkerFactory$1();
271539
271539
  worker.AsyncComputationWorker = WorkerFactory;
@@ -358199,11 +358199,21 @@ class AnnDataSource extends ZarrDataSource {
358199
358199
  categoriesValues = await this.getFlatArrDecompressed(`${prefix2}/${categories}`);
358200
358200
  }
358201
358201
  } else if (encodingType === "categorical") {
358202
- const { dtype } = await open$1(storeRoot.resolve(`${path2}/categories`), { kind: "array" });
358203
- if (dtype === "v2:object" || dtype === "|O") {
358202
+ const categoriesZattrs = await this.getJson(`${path2}/categories/.zattrs`);
358203
+ const categoriesEncodingType = categoriesZattrs?.["encoding-type"];
358204
+ if (categoriesEncodingType === "nullable-string-array") {
358205
+ categoriesValues = await this.getFlatArrDecompressed(`${path2}/categories/values`);
358206
+ } else if (categoriesEncodingType === "string-array") {
358204
358207
  categoriesValues = await this.getFlatArrDecompressed(`${path2}/categories`);
358208
+ } else {
358209
+ const { dtype } = await open$1(storeRoot.resolve(`${path2}/categories`), { kind: "array" });
358210
+ if (dtype === "v2:object" || dtype === "|O") {
358211
+ categoriesValues = await this.getFlatArrDecompressed(`${path2}/categories`);
358212
+ }
358205
358213
  }
358206
358214
  codesPath = `${path2}/codes`;
358215
+ } else if (encodingType === "nullable-string-array") {
358216
+ return this.getFlatArrDecompressed(`${path2}/values`);
358207
358217
  } else if (encodingType === "string-array") {
358208
358218
  return this.getFlatArrDecompressed(path2);
358209
358219
  } else {
@@ -360580,7 +360590,7 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
360580
360590
  }
360581
360591
  let locations;
360582
360592
  const formatVersion = await this.dataSource.getPointsFormatVersion(path2);
360583
- if (formatVersion === "0.1") {
360593
+ if (formatVersion === "0.1" || formatVersion === "0.2") {
360584
360594
  locations = await this.dataSource.loadPoints(path2);
360585
360595
  } else {
360586
360596
  throw new UnknownSpatialDataFormatError("Only points format version 0.1 is supported.");
@@ -360599,7 +360609,7 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
360599
360609
  }
360600
360610
  let locationsFeatureIndex;
360601
360611
  const formatVersion = await this.dataSource.getPointsFormatVersion(path2);
360602
- if (formatVersion === "0.1") {
360612
+ if (formatVersion === "0.1" || formatVersion === "0.2") {
360603
360613
  locationsFeatureIndex = await this.dataSource.loadPointsFeatureIds(path2);
360604
360614
  } else {
360605
360615
  throw new UnknownSpatialDataFormatError("Only points format version 0.1 is supported.");
@@ -360611,7 +360621,7 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
360611
360621
  const { path: path2, featureIndexColumn, mortonCodeColumn } = this.options;
360612
360622
  let locations;
360613
360623
  const formatVersion = await this.dataSource.getPointsFormatVersion(path2);
360614
- if (formatVersion === "0.1") {
360624
+ if (formatVersion === "0.1" || formatVersion === "0.2") {
360615
360625
  locations = await this.dataSource.loadPointsInRect(path2, bounds2, signal, featureIndexColumn, mortonCodeColumn);
360616
360626
  } else {
360617
360627
  throw new UnknownSpatialDataFormatError("Only points format version 0.1 is supported.");
@@ -360643,7 +360653,7 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
360643
360653
  // and for the presence of morton_code_2d and feature_index columns.
360644
360654
  this.dataSource.supportsLoadPointsInRect(path2, featureIndexColumnName, mortonCodeColumn)
360645
360655
  ]);
360646
- const isSupportedVersion = formatVersion === "0.1";
360656
+ const isSupportedVersion = formatVersion === "0.1" || formatVersion === "0.2";
360647
360657
  const boundingBox = zattrs?.bounding_box;
360648
360658
  const hasBoundingBox2D = typeof boundingBox?.x_max === "number" && typeof boundingBox?.x_min === "number" && typeof boundingBox?.y_max === "number" && typeof boundingBox?.y_min === "number";
360649
360659
  return isSupportedVersion && hasBoundingBox2D && hasRequiredColumnsAndRowGroupSize;
@@ -370271,7 +370281,7 @@ async function _loadParquetSchemaBytes({ queryClient, store }, parquetPath, part
370271
370281
  if (!tailBytes || tailBytes.length < TAIL_LENGTH) {
370272
370282
  throw new Error(`Failed to load parquet footerLength for ${partZeroPath}`);
370273
370283
  }
370274
- const footerLength = new DataView(tailBytes.buffer).getInt32(0, true);
370284
+ const footerLength = new DataView(tailBytes.buffer, tailBytes.byteOffset, tailBytes.byteLength).getInt32(0, true);
370275
370285
  const magic = new TextDecoder().decode(tailBytes.slice(4, 8));
370276
370286
  if (magic !== "PAR1") {
370277
370287
  throw new Error("Invalid Parquet file: missing PAR1 magic number");
@@ -377047,7 +377057,7 @@ class SpatialDataPointsSource extends SpatialDataTableSource {
377047
377057
  const zattrs = await this.loadSpatialDataElementAttrs(path2);
377048
377058
  const formatVersion = zattrs.spatialdata_attrs.version;
377049
377059
  const encodingType = zattrs["encoding-type"];
377050
- if (encodingType === "ngff:points" && !(formatVersion === "0.1")) {
377060
+ if (encodingType === "ngff:points" && !(formatVersion === "0.1" || formatVersion === "0.2")) {
377051
377061
  throw new Error(`Unexpected version for points spatialdata_attrs: ${formatVersion}`);
377052
377062
  }
377053
377063
  return formatVersion;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { bR, bP, bN, bQ, bO, bM, bS } from "./index-gbtRLRj5.js";
1
+ import { bR, bP, bN, bQ, bO, bM, bS } from "./index-DyvHlPKD.js";
2
2
  import { useComplexCoordination, useComplexCoordinationSecondary, useCoordination, useCoordinationScopes, useCoordinationScopesBy, useGridItemSize, useMultiCoordinationScopesNonNull, useMultiCoordinationScopesSecondaryNonNull, usePageModeView } from "@vitessce/vit-s";
3
3
  export {
4
4
  bR as PluginAsyncFunction,
@@ -1,4 +1,4 @@
1
- import { aX as BaseDecoder } from "./index-gbtRLRj5.js";
1
+ import { aX as BaseDecoder } from "./index-DyvHlPKD.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 { aG as getDefaultExportFromCjs, aX as BaseDecoder, aY as LercParameters, aZ as LercAddCompression } from "./index-gbtRLRj5.js";
2
+ import { aG as getDefaultExportFromCjs, aX as BaseDecoder, aY as LercParameters, aZ as LercAddCompression } from "./index-DyvHlPKD.js";
3
3
  var LercDecode = { exports: {} };
4
4
  var hasRequiredLercDecode;
5
5
  function requireLercDecode() {
@@ -1,4 +1,4 @@
1
- import { aX as BaseDecoder } from "./index-gbtRLRj5.js";
1
+ import { aX as BaseDecoder } from "./index-DyvHlPKD.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 { aX as BaseDecoder } from "./index-gbtRLRj5.js";
1
+ import { aX as BaseDecoder } from "./index-DyvHlPKD.js";
2
2
  class PackbitsDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  const dataView = new DataView(buffer);
@@ -1,4 +1,4 @@
1
- import { aX as BaseDecoder } from "./index-gbtRLRj5.js";
1
+ import { aX as BaseDecoder } from "./index-DyvHlPKD.js";
2
2
  class RawDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  return buffer;
@@ -1,4 +1,4 @@
1
- import { bH as MeshDistanceMaterial, bI as MeshDepthMaterial, bJ as RGBADepthPacking, ae as UniformsUtils, bK 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, bL as InstancedBufferAttribute } from "./index-gbtRLRj5.js";
1
+ import { bH as MeshDistanceMaterial, bI as MeshDepthMaterial, bJ as RGBADepthPacking, ae as UniformsUtils, bK 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, bL as InstancedBufferAttribute } from "./index-DyvHlPKD.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 { aX as BaseDecoder } from "./index-gbtRLRj5.js";
1
+ import { aX as BaseDecoder } from "./index-DyvHlPKD.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.9.8",
3
+ "version": "3.9.9",
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.9.8",
21
- "@vitessce/error": "3.9.8",
22
- "@vitessce/constants-internal": "3.9.8",
23
- "@vitessce/csv": "3.9.8",
24
- "@vitessce/description": "3.9.8",
25
- "@vitessce/abstract": "3.9.8",
26
- "@vitessce/feature-list": "3.9.8",
27
- "@vitessce/genomic-profiles": "3.9.8",
28
- "@vitessce/heatmap": "3.9.8",
29
- "@vitessce/glb": "3.9.8",
30
- "@vitessce/json": "3.9.8",
31
- "@vitessce/layer-controller": "3.9.8",
32
- "@vitessce/layer-controller-beta": "3.9.8",
33
- "@vitessce/link-controller": "3.9.8",
34
- "@vitessce/obs-sets-manager": "3.9.8",
35
- "@vitessce/ome-tiff": "3.9.8",
36
- "@vitessce/plugins": "3.9.8",
37
- "@vitessce/scatterplot-embedding": "3.9.8",
38
- "@vitessce/scatterplot-gating": "3.9.8",
39
- "@vitessce/schemas": "3.9.8",
40
- "@vitessce/spatial": "3.9.8",
41
- "@vitessce/status": "3.9.8",
42
- "@vitessce/vit-s": "3.9.8",
43
- "@vitessce/spatial-beta": "3.9.8",
44
- "@vitessce/zarr": "3.9.8",
45
- "@vitessce/statistical-plots": "3.9.8",
46
- "@vitessce/globals": "3.9.8",
47
- "@vitessce/spatial-zarr": "3.9.8",
48
- "@vitessce/spatial-three": "3.9.8",
49
- "@vitessce/spatial-accelerated": "3.9.8",
50
- "@vitessce/neuroglancer": "3.9.8",
51
- "@vitessce/biomarker-select": "3.9.8"
20
+ "@vitessce/styles": "3.9.9",
21
+ "@vitessce/constants-internal": "3.9.9",
22
+ "@vitessce/abstract": "3.9.9",
23
+ "@vitessce/error": "3.9.9",
24
+ "@vitessce/description": "3.9.9",
25
+ "@vitessce/genomic-profiles": "3.9.9",
26
+ "@vitessce/feature-list": "3.9.9",
27
+ "@vitessce/heatmap": "3.9.9",
28
+ "@vitessce/glb": "3.9.9",
29
+ "@vitessce/json": "3.9.9",
30
+ "@vitessce/layer-controller": "3.9.9",
31
+ "@vitessce/link-controller": "3.9.9",
32
+ "@vitessce/csv": "3.9.9",
33
+ "@vitessce/obs-sets-manager": "3.9.9",
34
+ "@vitessce/ome-tiff": "3.9.9",
35
+ "@vitessce/layer-controller-beta": "3.9.9",
36
+ "@vitessce/plugins": "3.9.9",
37
+ "@vitessce/scatterplot-embedding": "3.9.9",
38
+ "@vitessce/spatial-beta": "3.9.9",
39
+ "@vitessce/schemas": "3.9.9",
40
+ "@vitessce/spatial": "3.9.9",
41
+ "@vitessce/statistical-plots": "3.9.9",
42
+ "@vitessce/status": "3.9.9",
43
+ "@vitessce/vit-s": "3.9.9",
44
+ "@vitessce/zarr": "3.9.9",
45
+ "@vitessce/scatterplot-gating": "3.9.9",
46
+ "@vitessce/globals": "3.9.9",
47
+ "@vitessce/spatial-three": "3.9.9",
48
+ "@vitessce/spatial-zarr": "3.9.9",
49
+ "@vitessce/spatial-accelerated": "3.9.9",
50
+ "@vitessce/biomarker-select": "3.9.9",
51
+ "@vitessce/neuroglancer": "3.9.9"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/react": "^18.0.28",