@vitessce/all 3.8.3 → 3.8.5

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-BNUI-w49.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-diSsBj8e.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-BNUI-w49.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-diSsBj8e.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-BNUI-w49.js";
2
+ import { aW as BaseDecoder } from "./index-diSsBj8e.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-BNUI-w49.js";
4
+ import { aZ as commonjsGlobal$1, a_ as requireObjectAssign, aF as getDefaultExportFromCjs$1, a$ as earcut } from "./index-diSsBj8e.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-BNUI-w49.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-diSsBj8e.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-CeIrm0B5.js";
3
+ import { u as useThree, a as useFrame, O as OrbitControls, C as Canvas } from "./OrbitControls-CRmdQgxj.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-BNUI-w49.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-diSsBj8e.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-CeIrm0B5.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-CRmdQgxj.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-C8Q3aJRr.js"), []);
5030
+ } = suspend(async () => import("./troika-three-text.esm-C4ffdO6D.js"), []);
5031
5031
  const invalidate = useThree(({
5032
5032
  invalidate: invalidate2
5033
5033
  }) => invalidate2);
@@ -10157,6 +10157,7 @@ const COMPONENT_COORDINATION_TYPES = {
10157
10157
  CoordinationType$1.FEATURE_SELECTION,
10158
10158
  CoordinationType$1.FEATURE_VALUE_COLORMAP,
10159
10159
  CoordinationType$1.FEATURE_VALUE_COLORMAP_RANGE,
10160
+ CoordinationType$1.FEATURE_AGGREGATION_STRATEGY,
10160
10161
  // TODO: CoordinationType.FEATURE_COLOR_ENCODING,
10161
10162
  // TODO: CoordinationType.ADDITIONAL_FEATURE_SETS,
10162
10163
  CoordinationType$1.TOOLTIPS_VISIBLE,
@@ -10838,7 +10839,10 @@ const spatialdataZarrSchema = z.object({
10838
10839
  obsSets: obsSetsSpatialdataSchema,
10839
10840
  obsEmbedding: obsEmbeddingSpatialdataSchemaConvenience,
10840
10841
  // TODO: obsLabels
10841
- // TODO: featureLabels
10842
+ featureLabels: z.union([
10843
+ annDataFeatureLabels,
10844
+ z.array(annDataConvenienceFeatureLabelsItem)
10845
+ ]),
10842
10846
  // TODO: allow specifying tablePath and region at the top-level here.
10843
10847
  coordinateSystem: z.string().optional().describe("The name of a coordinate transformation output used to transform all elements which lack a per-element coordinateSystem property.")
10844
10848
  }).partial();
@@ -209319,22 +209323,22 @@ async function getDecoder(fileDirectory) {
209319
209323
  const Decoder = await importFn();
209320
209324
  return new Decoder(fileDirectory);
209321
209325
  }
209322
- addDecoder([void 0, 1], () => import("./raw-CDmwxpDL.js").then((m2) => m2.default));
209323
- addDecoder(5, () => import("./lzw-BlOU-CBg.js").then((m2) => m2.default));
209326
+ addDecoder([void 0, 1], () => import("./raw-DLW6Ob0W.js").then((m2) => m2.default));
209327
+ addDecoder(5, () => import("./lzw-CVivhiK8.js").then((m2) => m2.default));
209324
209328
  addDecoder(6, () => {
209325
209329
  throw new Error("old style JPEG compression is not supported.");
209326
209330
  });
209327
- addDecoder(7, () => import("./jpeg-BB_ilRwM.js").then((m2) => m2.default));
209328
- addDecoder([8, 32946], () => import("./deflate-BmPQfLH1.js").then((m2) => m2.default));
209329
- addDecoder(32773, () => import("./packbits-BkMUG84m.js").then((m2) => m2.default));
209331
+ addDecoder(7, () => import("./jpeg-CP3ptIzO.js").then((m2) => m2.default));
209332
+ addDecoder([8, 32946], () => import("./deflate-CMHXRV2s.js").then((m2) => m2.default));
209333
+ addDecoder(32773, () => import("./packbits-CSpmt53h.js").then((m2) => m2.default));
209330
209334
  addDecoder(
209331
209335
  34887,
209332
- () => import("./lerc-STi5EC9q.js").then(async (m2) => {
209336
+ () => import("./lerc-DSNwBQly.js").then(async (m2) => {
209333
209337
  await m2.zstd.init();
209334
209338
  return m2;
209335
209339
  }).then((m2) => m2.default)
209336
209340
  );
209337
- addDecoder(50001, () => import("./webimage-C4EDX2gd.js").then((m2) => m2.default));
209341
+ addDecoder(50001, () => import("./webimage-TKddjYdZ.js").then((m2) => m2.default));
209338
209342
  function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
209339
209343
  return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
209340
209344
  }
@@ -231708,7 +231712,9 @@ function EmbeddingScatterplotSubscriber(props) {
231708
231712
  // Average fill density for dynamic opacity calculation.
231709
231713
  averageFillDensity,
231710
231714
  // For the dual scatterplot:
231711
- sampleSetSelection: sampleSetSelectionFromProps
231715
+ sampleSetSelection: sampleSetSelectionFromProps,
231716
+ // Circle scale factor:
231717
+ circleScaleFactor = 0.8
231712
231718
  } = props;
231713
231719
  const loaders = useLoaders();
231714
231720
  const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
@@ -231913,7 +231919,7 @@ function EmbeddingScatterplotSubscriber(props) {
231913
231919
  return null;
231914
231920
  }
231915
231921
  const size2 = Math.max(xRange, yRange);
231916
- const radius2 = size2 * Math.sqrt(2) / 2 * 0.8;
231922
+ const radius2 = size2 * Math.sqrt(2) / 2 * circleScaleFactor;
231917
231923
  const numPoints = 96;
231918
231924
  const options = { steps: numPoints, units: "degrees" };
231919
231925
  const circlePolygon = circle$5(center2, radius2, options);
@@ -231923,7 +231929,7 @@ function EmbeddingScatterplotSubscriber(props) {
231923
231929
  polygon: circlePolygon,
231924
231930
  steps: numPoints
231925
231931
  };
231926
- }, [originalViewState, width2, height2, xRange, yRange]);
231932
+ }, [originalViewState, width2, height2, xRange, yRange, circleScaleFactor]);
231927
231933
  const [alignedEmbeddingIndex, alignedEmbeddingData] = useMemo$1(() => {
231928
231934
  if (obsEmbedding?.data && obsEmbeddingIndex && matrixObsIndex) {
231929
231935
  const matrixIndexMap = new Map(matrixObsIndex.map((key2, i2) => [key2, i2]));
@@ -253030,12 +253036,12 @@ class ErrorBoundary extends React__default.Component {
253030
253036
  }
253031
253037
  }
253032
253038
  const LazySpatialThree = React__default.lazy(async () => {
253033
- const { SpatialWrapper: SpatialWrapper2 } = await import("./index-BR7YdakD.js");
253039
+ const { SpatialWrapper: SpatialWrapper2 } = await import("./index-De5hOIAN.js");
253034
253040
  return { default: SpatialWrapper2 };
253035
253041
  });
253036
253042
  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 }) }) }) }));
253037
253043
  const LazySpatialAccelerated = React__default.lazy(async () => {
253038
- const { SpatialWrapper: SpatialWrapper2 } = await import("./index-BWxI6QUS.js");
253044
+ const { SpatialWrapper: SpatialWrapper2 } = await import("./index-CoLUuXiI.js");
253039
253045
  return { default: SpatialWrapper2 };
253040
253046
  });
253041
253047
  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 }) }) }) }));
@@ -266236,7 +266242,7 @@ function HiglassGlobalStyles(props) {
266236
266242
  }
266237
266243
  register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
266238
266244
  const LazyHiGlassComponent = React__default.lazy(async () => {
266239
- const { HiGlassComponent } = await import("./higlass-CHvsEtQd.js");
266245
+ const { HiGlassComponent } = await import("./higlass-DOnQ6srf.js");
266240
266246
  return { default: HiGlassComponent };
266241
266247
  });
266242
266248
  const HG_SIZE = 800;
@@ -269183,7 +269189,7 @@ function NeuroglancerGlobalStyles(props) {
269183
269189
  const { classes: classes2 } = props;
269184
269190
  return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
269185
269191
  }
269186
- const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-BoUKguqy.js"));
269192
+ const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-DLpKRSC5.js"));
269187
269193
  function createWorker() {
269188
269194
  return new WorkerFactory();
269189
269195
  }
@@ -299436,6 +299442,7 @@ accessor$1(() => 0, [], "zero");
299436
299442
  accessor$1(() => 1, [], "one");
299437
299443
  accessor$1(() => true, [], "true");
299438
299444
  accessor$1(() => false, [], "false");
299445
+ /* @__PURE__ */ new Set([...Object.getOwnPropertyNames(Object.prototype).filter((name2) => typeof Object.prototype[name2] === "function"), "__proto__"]);
299439
299446
  var isArray$2 = Array.isArray;
299440
299447
  function peek$2(array2) {
299441
299448
  return array2[array2.length - 1];
@@ -301718,8 +301725,7 @@ function splitAccessPath(p) {
301718
301725
  for (i2 = j = 0; j < n3; ++j) {
301719
301726
  c2 = p[j];
301720
301727
  if (c2 === "\\") {
301721
- s2 += p.substring(i2, j);
301722
- s2 += p.substring(++j, ++j);
301728
+ s2 += p.substring(i2, j++);
301723
301729
  i2 = j;
301724
301730
  } else if (c2 === q) {
301725
301731
  push2();
@@ -301777,7 +301783,8 @@ const Error$1 = 1;
301777
301783
  const Warn = 2;
301778
301784
  const Info2 = 3;
301779
301785
  const Debug = 4;
301780
- function logger(_, method2, handler = log$1$1) {
301786
+ function logger(_, method2) {
301787
+ let handler = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : log$1$1;
301781
301788
  let level = _ || None$2;
301782
301789
  return {
301783
301790
  level(_2) {
@@ -301811,7 +301818,10 @@ function isObject$2(_) {
301811
301818
  return _ === Object(_);
301812
301819
  }
301813
301820
  const isLegalKey = (key2) => key2 !== "__proto__";
301814
- function mergeConfig(...configs) {
301821
+ function mergeConfig() {
301822
+ for (var _len = arguments.length, configs = new Array(_len), _key = 0; _key < _len; _key++) {
301823
+ configs[_key] = arguments[_key];
301824
+ }
301815
301825
  return configs.reduce((out, source2) => {
301816
301826
  for (const key2 in source2) {
301817
301827
  if (key2 === "signals") {
@@ -302049,9 +302059,8 @@ function extentIndex(array2, f2) {
302049
302059
  }
302050
302060
  return [u2, v];
302051
302061
  }
302052
- const hop = Object.prototype.hasOwnProperty;
302053
302062
  function has$1(object2, property2) {
302054
- return hop.call(object2, property2);
302063
+ return Object.hasOwn(object2, property2);
302055
302064
  }
302056
302065
  const NULL = {};
302057
302066
  function fastmap(input) {
@@ -353835,7 +353844,7 @@ const initialState$1 = {
353835
353844
  };
353836
353845
  const pageSizeOptions$1 = [10];
353837
353846
  function FeatureStatsTable(props) {
353838
- const { obsType, featureType, obsSetsColumnNameMappingReversed, sampleSetsColumnNameMappingReversed, sampleSetSelection, data: data2, setFeatureSelection, featurePointSignificanceThreshold, featurePointFoldChangeThreshold } = props;
353847
+ const { obsType, featureType, obsSetsColumnNameMappingReversed, sampleSetsColumnNameMappingReversed, sampleSetSelection, data: data2, setFeatureSelection, setFeatureAggregationStrategy, featurePointSignificanceThreshold, featurePointFoldChangeThreshold } = props;
353839
353848
  const [
353840
353849
  // eslint-disable-next-line no-unused-vars
353841
353850
  computedData,
@@ -353895,6 +353904,7 @@ function FeatureStatsTable(props) {
353895
353904
  }, [filteredData, obsSetsColumnNameMappingReversed]);
353896
353905
  const onSelectionModelChange = useCallback((rowIds) => {
353897
353906
  const featureIds = Array.from(rowIds.ids).map((rowId) => rowId.split(ROW_ID_DELIMITER)[0]);
353907
+ setFeatureAggregationStrategy(null);
353898
353908
  setFeatureSelection(featureIds);
353899
353909
  }, []);
353900
353910
  const rowSelectionModel = useMemo$1(() => ({ ids: /* @__PURE__ */ new Set([]), type: "include" }), []);
@@ -353918,7 +353928,7 @@ function FeatureStatsTableSubscriber(props) {
353918
353928
  const { title: title2 = "Differential Expression Results", coordinationScopes: coordinationScopesRaw, removeGridComponent, theme, helpText = ViewHelpMapping.FEATURE_STATS_TABLE } = props;
353919
353929
  const loaders = useLoaders();
353920
353930
  const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
353921
- const [{ dataset, obsType, sampleType, featureType, featureValueType, obsFilter: cellFilter, obsHighlight: cellHighlight, obsSetSelection, obsSetColor, obsColorEncoding: cellColorEncoding, additionalObsSets: additionalCellSets, featurePointSignificanceThreshold, featurePointFoldChangeThreshold, featureValueTransform, featureValueTransformCoefficient, gatingFeatureSelectionX, gatingFeatureSelectionY, featureSelection, sampleSetSelection, sampleSetColor }, { setObsFilter: setCellFilter, setObsSetSelection, setObsHighlight: setCellHighlight, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setAdditionalObsSets: setAdditionalCellSets, setFeaturePointSignificanceThreshold, setFeaturePointFoldChangeThreshold, setFeatureValueTransform, setFeatureValueTransformCoefficient, setGatingFeatureSelectionX, setGatingFeatureSelectionY, setFeatureSelection, setSampleSetSelection, setSampleSetColor }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.FEATURE_STATS_TABLE], coordinationScopes);
353931
+ const [{ dataset, obsType, sampleType, featureType, featureValueType, obsFilter: cellFilter, obsHighlight: cellHighlight, obsSetSelection, obsSetColor, obsColorEncoding: cellColorEncoding, additionalObsSets: additionalCellSets, featurePointSignificanceThreshold, featurePointFoldChangeThreshold, featureValueTransform, featureValueTransformCoefficient, featureAggregationStrategy, gatingFeatureSelectionX, gatingFeatureSelectionY, featureSelection, sampleSetSelection, sampleSetColor }, { setObsFilter: setCellFilter, setObsSetSelection, setObsHighlight: setCellHighlight, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setAdditionalObsSets: setAdditionalCellSets, setFeaturePointSignificanceThreshold, setFeaturePointFoldChangeThreshold, setFeatureValueTransform, setFeatureValueTransformCoefficient, setFeatureAggregationStrategy, setGatingFeatureSelectionX, setGatingFeatureSelectionY, setFeatureSelection, setSampleSetSelection, setSampleSetColor }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.FEATURE_STATS_TABLE], coordinationScopes);
353922
353932
  const obsSetsLoader = useMatchingLoader(loaders, dataset, DataType$3.OBS_SETS, { obsType });
353923
353933
  const sampleSetsLoader = useMatchingLoader(loaders, dataset, DataType$3.SAMPLE_SETS, { sampleType });
353924
353934
  const obsSetsColumnNameMapping = useColumnNameMapping(obsSetsLoader);
@@ -353941,7 +353951,7 @@ function FeatureStatsTableSubscriber(props) {
353941
353951
  const isReady = useReady([
353942
353952
  featureStatsStatus
353943
353953
  ]);
353944
- return jsxRuntimeExports.jsx(TitleInfo, { title: title2, removeGridComponent, theme, isReady, helpText, errors, withPadding: false, children: featureStats ? jsxRuntimeExports.jsx(FeatureStatsTable, { theme, obsType, featureType, obsSetsColumnNameMapping, obsSetsColumnNameMappingReversed, sampleSetsColumnNameMapping, sampleSetsColumnNameMappingReversed, sampleSetSelection, obsSetSelection, obsSetColor, sampleSetColor, data: featureStats, featureSelection, setFeatureSelection, featurePointSignificanceThreshold, featurePointFoldChangeThreshold }) : jsxRuntimeExports.jsxs("p", { style: { padding: "12px" }, children: ["Select at least one ", obsType, " set."] }) });
353954
+ return jsxRuntimeExports.jsx(TitleInfo, { title: title2, removeGridComponent, theme, isReady, helpText, errors, withPadding: false, children: featureStats ? jsxRuntimeExports.jsx(FeatureStatsTable, { theme, obsType, featureType, obsSetsColumnNameMapping, obsSetsColumnNameMappingReversed, sampleSetsColumnNameMapping, sampleSetsColumnNameMappingReversed, sampleSetSelection, obsSetSelection, obsSetColor, sampleSetColor, data: featureStats, featureSelection, setFeatureSelection, setFeatureAggregationStrategy, featurePointSignificanceThreshold, featurePointFoldChangeThreshold }) : jsxRuntimeExports.jsxs("p", { style: { padding: "12px" }, children: ["Select at least one ", obsType, " set."] }) });
353945
353955
  }
353946
353956
  class CsvSource {
353947
353957
  constructor({ url, requestInit: requestInit2 }) {
@@ -357446,6 +357456,13 @@ class SpatialDataObsEmbeddingLoader extends ObsEmbeddingAnndataLoader {
357446
357456
  this.tablePath = this.options.tablePath;
357447
357457
  }
357448
357458
  }
357459
+ class SpatialDataFeatureLabelsLoader extends FeatureLabelsAnndataLoader {
357460
+ constructor(dataSource, params2) {
357461
+ super(dataSource, params2);
357462
+ this.region = this.options.region;
357463
+ this.tablePath = this.options.tablePath;
357464
+ }
357465
+ }
357449
357466
  class PrecomputedMeshSource {
357450
357467
  constructor({ url, requestInit: requestInit2 }) {
357451
357468
  this.url = url;
@@ -378792,7 +378809,20 @@ function expandSpatialdataZarr(fileDef) {
378792
378809
  // TODO: obsPoints?
378793
378810
  // TODO: obsLocations?
378794
378811
  // TODO: obsLabels
378795
- // TODO: featureLabels
378812
+ // featureLabels
378813
+ ...options.featureLabels ? [{
378814
+ ...baseFileDef,
378815
+ fileType: getFileType(FileType$1.FEATURE_LABELS_SPATIALDATA_ZARR),
378816
+ options: {
378817
+ ...options.featureLabels,
378818
+ tablePath: options.tablePath,
378819
+ region: options.region
378820
+ },
378821
+ coordinationValues: {
378822
+ ...extraCoordinationValues,
378823
+ featureType: baseFileDef.coordinationValues.featureType
378824
+ }
378825
+ }] : [],
378796
378826
  // obsEmbedding
378797
378827
  // eslint-disable-next-line no-nested-ternary
378798
378828
  ...options.obsEmbedding ? Array.isArray(options.obsEmbedding) ? options.obsEmbedding.map((oe) => ({
@@ -379245,7 +379275,7 @@ const baseFileTypes = [
379245
379275
  ...makeZarrFileTypes(FileType$1.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR, DataType$3.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, SpatialDataTableSource, obsFeatureMatrixSpatialdataSchema),
379246
379276
  ...makeZarrFileTypes(FileType$1.OBS_SETS_SPATIALDATA_ZARR, DataType$3.OBS_SETS, SpatialDataObsSetsLoader, SpatialDataTableSource, obsSetsSpatialdataSchema),
379247
379277
  ...makeZarrFileTypes(FileType$1.OBS_EMBEDDING_SPATIALDATA_ZARR, DataType$3.OBS_EMBEDDING, SpatialDataObsEmbeddingLoader, SpatialDataTableSource, obsEmbeddingSpatialdataSchema),
379248
- ...makeZarrFileTypes(FileType$1.FEATURE_LABELS_SPATIALDATA_ZARR, DataType$3.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
379278
+ ...makeZarrFileTypes(FileType$1.FEATURE_LABELS_SPATIALDATA_ZARR, DataType$3.FEATURE_LABELS, SpatialDataFeatureLabelsLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
379249
379279
  makeFileType(FileType$1.OBS_SEGMENTATIONS_GLB, DataType$3.OBS_SEGMENTATIONS, GlbDataLoader, GlbSource, meshGlbSchema),
379250
379280
  makeFileType(FileType$1.OBS_SEGMENTATIONS_NG_PRECOMPUTED, DataType$3.OBS_SEGMENTATIONS, PrecomputedMeshDataLoader, PrecomputedMeshSource, ngSchema),
379251
379281
  // All legacy file types
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { bQ, bO, bM, bP, bN, bL, bR } from "./index-BNUI-w49.js";
1
+ import { bQ, bO, bM, bP, bN, bL, bR } from "./index-diSsBj8e.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-BNUI-w49.js";
1
+ import { aW as BaseDecoder } from "./index-diSsBj8e.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-BNUI-w49.js";
2
+ import { aF as getDefaultExportFromCjs, aW as BaseDecoder, aX as LercParameters, aY as LercAddCompression } from "./index-diSsBj8e.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-BNUI-w49.js";
1
+ import { aW as BaseDecoder } from "./index-diSsBj8e.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-BNUI-w49.js";
1
+ import { aW as BaseDecoder } from "./index-diSsBj8e.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-BNUI-w49.js";
1
+ import { aW as BaseDecoder } from "./index-diSsBj8e.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-BNUI-w49.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-diSsBj8e.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-BNUI-w49.js";
1
+ import { aW as BaseDecoder } from "./index-diSsBj8e.js";
2
2
  class WebImageDecoder extends BaseDecoder {
3
3
  constructor() {
4
4
  super();
@@ -363,6 +363,22 @@ export declare const baseJointFileTypes: (PluginJointFileType<z.ZodObject<{
363
363
  embeddingType: string;
364
364
  dims?: number[] | undefined;
365
365
  }>, "many">]>>;
366
+ featureLabels: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
367
+ path: z.ZodString;
368
+ }, "strip", z.ZodTypeAny, {
369
+ path: string;
370
+ }, {
371
+ path: string;
372
+ }>, z.ZodArray<z.ZodObject<{
373
+ path: z.ZodString;
374
+ featureLabelsType: z.ZodString;
375
+ }, "strip", z.ZodTypeAny, {
376
+ path: string;
377
+ featureLabelsType: string;
378
+ }, {
379
+ path: string;
380
+ featureLabelsType: string;
381
+ }>, "many">]>>;
366
382
  coordinateSystem: z.ZodOptional<z.ZodOptional<z.ZodString>>;
367
383
  }, "strip", z.ZodTypeAny, {
368
384
  image?: {
@@ -408,6 +424,12 @@ export declare const baseJointFileTypes: (PluginJointFileType<z.ZodObject<{
408
424
  embeddingType: string;
409
425
  dims?: number[] | undefined;
410
426
  }[] | undefined;
427
+ featureLabels?: {
428
+ path: string;
429
+ } | {
430
+ path: string;
431
+ featureLabelsType: string;
432
+ }[] | undefined;
411
433
  coordinateSystem?: string | undefined;
412
434
  }, {
413
435
  image?: {
@@ -453,6 +475,12 @@ export declare const baseJointFileTypes: (PluginJointFileType<z.ZodObject<{
453
475
  embeddingType: string;
454
476
  dims?: number[] | undefined;
455
477
  }[] | undefined;
478
+ featureLabels?: {
479
+ path: string;
480
+ } | {
481
+ path: string;
482
+ featureLabelsType: string;
483
+ }[] | undefined;
456
484
  coordinateSystem?: string | undefined;
457
485
  }>> | PluginJointFileType<z.ZodObject<{
458
486
  xy: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"base-plugins.d.ts","sourceRoot":"","sources":["../src/base-plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-plugins.d.ts","sourceRoot":"","sources":["../src/base-plugins.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ import {
37
37
  // OME
38
38
  OmeZarrLoader, OmeZarrAsObsSegmentationsLoader,
39
39
  // SpatialData
40
- SpatialDataTableSource, SpatialDataShapesSource, SpatialDataPointsSource, SpatialDataImageLoader, SpatialDataLabelsLoader, SpatialDataObsSpotsLoader, SpatialDataObsPointsLoader, SpatialDataObsSegmentationsLoader, SpatialDataObsSetsLoader, SpatialDataObsEmbeddingLoader,
40
+ SpatialDataTableSource, SpatialDataShapesSource, SpatialDataPointsSource, SpatialDataImageLoader, SpatialDataLabelsLoader, SpatialDataObsSpotsLoader, SpatialDataObsPointsLoader, SpatialDataObsSegmentationsLoader, SpatialDataObsSetsLoader, SpatialDataObsEmbeddingLoader, SpatialDataFeatureLabelsLoader,
41
41
  // NG precomputed
42
42
  NgPrecomputedMeshSource, NgPrecomputedMeshLoader, } from '@vitessce/spatial-zarr';
43
43
  import { OmeTiffAsObsSegmentationsLoader, OmeTiffLoader, OmeTiffSource, } from '@vitessce/ome-tiff';
@@ -157,7 +157,7 @@ export const baseFileTypes = [
157
157
  ...makeZarrFileTypes(FileType.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, SpatialDataTableSource, obsFeatureMatrixSpatialdataSchema),
158
158
  ...makeZarrFileTypes(FileType.OBS_SETS_SPATIALDATA_ZARR, DataType.OBS_SETS, SpatialDataObsSetsLoader, SpatialDataTableSource, obsSetsSpatialdataSchema),
159
159
  ...makeZarrFileTypes(FileType.OBS_EMBEDDING_SPATIALDATA_ZARR, DataType.OBS_EMBEDDING, SpatialDataObsEmbeddingLoader, SpatialDataTableSource, obsEmbeddingSpatialdataSchema),
160
- ...makeZarrFileTypes(FileType.FEATURE_LABELS_SPATIALDATA_ZARR, DataType.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
160
+ ...makeZarrFileTypes(FileType.FEATURE_LABELS_SPATIALDATA_ZARR, DataType.FEATURE_LABELS, SpatialDataFeatureLabelsLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
161
161
  makeFileType(FileType.OBS_SEGMENTATIONS_GLB, DataType.OBS_SEGMENTATIONS, GlbLoader, GlbSource, meshGlbSchema),
162
162
  makeFileType(FileType.OBS_SEGMENTATIONS_NG_PRECOMPUTED, DataType.OBS_SEGMENTATIONS, NgPrecomputedMeshLoader, NgPrecomputedMeshSource, ngSchema),
163
163
  // All legacy file types
@@ -1 +1 @@
1
- {"version":3,"file":"joint-file-types.d.ts","sourceRoot":"","sources":["../src/joint-file-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA6B7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,SAsO7E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,SAoJjF"}
1
+ {"version":3,"file":"joint-file-types.d.ts","sourceRoot":"","sources":["../src/joint-file-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA6B7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,SAsO7E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,SAiKjF"}
@@ -303,7 +303,20 @@ export function expandSpatialdataZarr(fileDef) {
303
303
  // TODO: obsPoints?
304
304
  // TODO: obsLocations?
305
305
  // TODO: obsLabels
306
- // TODO: featureLabels
306
+ // featureLabels
307
+ ...(options.featureLabels ? [{
308
+ ...baseFileDef,
309
+ fileType: getFileType(FileType.FEATURE_LABELS_SPATIALDATA_ZARR),
310
+ options: {
311
+ ...options.featureLabels,
312
+ tablePath: options.tablePath,
313
+ region: options.region,
314
+ },
315
+ coordinationValues: {
316
+ ...extraCoordinationValues,
317
+ featureType: baseFileDef.coordinationValues.featureType,
318
+ },
319
+ }] : []),
307
320
  // obsEmbedding
308
321
  // eslint-disable-next-line no-nested-ternary
309
322
  ...(options.obsEmbedding ? (Array.isArray(options.obsEmbedding) ? options.obsEmbedding.map((oe) => ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/all",
3
- "version": "3.8.3",
3
+ "version": "3.8.5",
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.3",
21
- "@vitessce/constants-internal": "3.8.3",
22
- "@vitessce/abstract": "3.8.3",
23
- "@vitessce/error": "3.8.3",
24
- "@vitessce/csv": "3.8.3",
25
- "@vitessce/description": "3.8.3",
26
- "@vitessce/feature-list": "3.8.3",
27
- "@vitessce/genomic-profiles": "3.8.3",
28
- "@vitessce/heatmap": "3.8.3",
29
- "@vitessce/glb": "3.8.3",
30
- "@vitessce/json": "3.8.3",
31
- "@vitessce/layer-controller": "3.8.3",
32
- "@vitessce/layer-controller-beta": "3.8.3",
33
- "@vitessce/link-controller": "3.8.3",
34
- "@vitessce/obs-sets-manager": "3.8.3",
35
- "@vitessce/ome-tiff": "3.8.3",
36
- "@vitessce/plugins": "3.8.3",
37
- "@vitessce/scatterplot-embedding": "3.8.3",
38
- "@vitessce/scatterplot-gating": "3.8.3",
39
- "@vitessce/schemas": "3.8.3",
40
- "@vitessce/spatial": "3.8.3",
41
- "@vitessce/spatial-beta": "3.8.3",
42
- "@vitessce/statistical-plots": "3.8.3",
43
- "@vitessce/status": "3.8.3",
44
- "@vitessce/vit-s": "3.8.3",
45
- "@vitessce/zarr": "3.8.3",
46
- "@vitessce/globals": "3.8.3",
47
- "@vitessce/spatial-zarr": "3.8.3",
48
- "@vitessce/spatial-three": "3.8.3",
49
- "@vitessce/spatial-accelerated": "3.8.3",
50
- "@vitessce/biomarker-select": "3.8.3",
51
- "@vitessce/neuroglancer": "3.8.3"
20
+ "@vitessce/styles": "3.8.5",
21
+ "@vitessce/constants-internal": "3.8.5",
22
+ "@vitessce/abstract": "3.8.5",
23
+ "@vitessce/error": "3.8.5",
24
+ "@vitessce/csv": "3.8.5",
25
+ "@vitessce/description": "3.8.5",
26
+ "@vitessce/feature-list": "3.8.5",
27
+ "@vitessce/genomic-profiles": "3.8.5",
28
+ "@vitessce/heatmap": "3.8.5",
29
+ "@vitessce/glb": "3.8.5",
30
+ "@vitessce/json": "3.8.5",
31
+ "@vitessce/layer-controller": "3.8.5",
32
+ "@vitessce/layer-controller-beta": "3.8.5",
33
+ "@vitessce/link-controller": "3.8.5",
34
+ "@vitessce/obs-sets-manager": "3.8.5",
35
+ "@vitessce/ome-tiff": "3.8.5",
36
+ "@vitessce/plugins": "3.8.5",
37
+ "@vitessce/scatterplot-embedding": "3.8.5",
38
+ "@vitessce/scatterplot-gating": "3.8.5",
39
+ "@vitessce/schemas": "3.8.5",
40
+ "@vitessce/spatial": "3.8.5",
41
+ "@vitessce/spatial-beta": "3.8.5",
42
+ "@vitessce/statistical-plots": "3.8.5",
43
+ "@vitessce/status": "3.8.5",
44
+ "@vitessce/vit-s": "3.8.5",
45
+ "@vitessce/zarr": "3.8.5",
46
+ "@vitessce/globals": "3.8.5",
47
+ "@vitessce/spatial-zarr": "3.8.5",
48
+ "@vitessce/spatial-three": "3.8.5",
49
+ "@vitessce/spatial-accelerated": "3.8.5",
50
+ "@vitessce/biomarker-select": "3.8.5",
51
+ "@vitessce/neuroglancer": "3.8.5"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/react": "^18.0.28",
@@ -181,6 +181,7 @@ import {
181
181
  SpatialDataObsSegmentationsLoader,
182
182
  SpatialDataObsSetsLoader,
183
183
  SpatialDataObsEmbeddingLoader,
184
+ SpatialDataFeatureLabelsLoader,
184
185
  // NG precomputed
185
186
  NgPrecomputedMeshSource,
186
187
  NgPrecomputedMeshLoader,
@@ -340,7 +341,7 @@ export const baseFileTypes = [
340
341
  ...makeZarrFileTypes(FileType.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, SpatialDataTableSource, obsFeatureMatrixSpatialdataSchema),
341
342
  ...makeZarrFileTypes(FileType.OBS_SETS_SPATIALDATA_ZARR, DataType.OBS_SETS, SpatialDataObsSetsLoader, SpatialDataTableSource, obsSetsSpatialdataSchema),
342
343
  ...makeZarrFileTypes(FileType.OBS_EMBEDDING_SPATIALDATA_ZARR, DataType.OBS_EMBEDDING, SpatialDataObsEmbeddingLoader, SpatialDataTableSource, obsEmbeddingSpatialdataSchema),
343
- ...makeZarrFileTypes(FileType.FEATURE_LABELS_SPATIALDATA_ZARR, DataType.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
344
+ ...makeZarrFileTypes(FileType.FEATURE_LABELS_SPATIALDATA_ZARR, DataType.FEATURE_LABELS, SpatialDataFeatureLabelsLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
344
345
 
345
346
  makeFileType(FileType.OBS_SEGMENTATIONS_GLB, DataType.OBS_SEGMENTATIONS, GlbLoader, GlbSource, meshGlbSchema),
346
347
  makeFileType(FileType.OBS_SEGMENTATIONS_NG_PRECOMPUTED, DataType.OBS_SEGMENTATIONS, NgPrecomputedMeshLoader, NgPrecomputedMeshSource, ngSchema),
@@ -322,7 +322,20 @@ export function expandSpatialdataZarr(fileDef: z.infer<typeof latestFileDefSchem
322
322
  // TODO: obsPoints?
323
323
  // TODO: obsLocations?
324
324
  // TODO: obsLabels
325
- // TODO: featureLabels
325
+ // featureLabels
326
+ ...(options.featureLabels ? [{
327
+ ...baseFileDef,
328
+ fileType: getFileType(FileType.FEATURE_LABELS_SPATIALDATA_ZARR),
329
+ options: {
330
+ ...options.featureLabels,
331
+ tablePath: options.tablePath,
332
+ region: options.region,
333
+ },
334
+ coordinationValues: {
335
+ ...extraCoordinationValues,
336
+ featureType: baseFileDef.coordinationValues.featureType,
337
+ },
338
+ }] : []),
326
339
  // obsEmbedding
327
340
  // eslint-disable-next-line no-nested-ternary
328
341
  ...(options.obsEmbedding ? (