@vitessce/all 3.9.9 → 3.9.11

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-DyvHlPKD.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-CoPFL-Jj.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-DyvHlPKD.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-CoPFL-Jj.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-DyvHlPKD.js";
2
+ import { aX as BaseDecoder } from "./index-CoPFL-Jj.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-DyvHlPKD.js";
4
+ import { a_ as commonjsGlobal$1, a$ as requireObjectAssign, aG as getDefaultExportFromCjs$1, b0 as earcut } from "./index-CoPFL-Jj.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, aE as useEventCallback, ao as jsxRuntimeExports, aF as GLSL3, am as BackSide } from "./index-DyvHlPKD.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-CoPFL-Jj.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-22a8bk04.js";
3
+ import { u as useThree, a as useFrame, O as OrbitControls, C as Canvas } from "./OrbitControls-DSciBy3x.js";
4
4
  const LogLevel = {
5
5
  INFO: "info",
6
6
  WARN: "warn",
@@ -9263,6 +9263,7 @@ const FileType$1 = {
9263
9263
  OBS_LABELS_MUDATA_ZARR: "obsLabels.mudata.zarr",
9264
9264
  FEATURE_LABELS_MUDATA_ZARR: "featureLabels.mudata.zarr",
9265
9265
  GENOMIC_PROFILES_ZARR: "genomic-profiles.zarr",
9266
+ GENOMIC_PROFILES_ZARR_ZIP: "genomic-profiles.zarr.zip",
9266
9267
  NEIGHBORHOODS_JSON: "neighborhoods.json",
9267
9268
  // OME-TIFF
9268
9269
  IMAGE_OME_TIFF: "image.ome-tiff",
@@ -9557,6 +9558,7 @@ const ViewHelpMapping = {
9557
9558
  [FileType$1.OBS_LABELS_MOLECULES_JSON]: DataType$3.OBS_LABELS,
9558
9559
  // For old file types
9559
9560
  [FileType$1.GENOMIC_PROFILES_ZARR]: DataType$3.GENOMIC_PROFILES,
9561
+ [FileType$1.GENOMIC_PROFILES_ZARR_ZIP]: DataType$3.GENOMIC_PROFILES,
9560
9562
  [FileType$1.NEIGHBORHOODS_JSON]: DataType$3.NEIGHBORHOODS
9561
9563
  });
9562
9564
  ({
@@ -9721,6 +9723,10 @@ const ALT_ZARR_STORE_TYPES = {
9721
9723
  },
9722
9724
  [FileType$1.OBS_EMBEDDING_SPATIALDATA_ZARR]: {
9723
9725
  zip: FileType$1.OBS_EMBEDDING_SPATIALDATA_ZARR_ZIP
9726
+ },
9727
+ // For genomic profiles:
9728
+ [FileType$1.GENOMIC_PROFILES_ZARR]: {
9729
+ zip: FileType$1.GENOMIC_PROFILES_ZARR_ZIP
9724
9730
  }
9725
9731
  };
9726
9732
  [
@@ -210359,22 +210365,22 @@ async function getDecoder(fileDirectory) {
210359
210365
  const Decoder = await importFn();
210360
210366
  return new Decoder(fileDirectory);
210361
210367
  }
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));
210368
+ addDecoder([void 0, 1], () => import("./raw-B0bXY73t.js").then((m2) => m2.default));
210369
+ addDecoder(5, () => import("./lzw-BDf8r2uF.js").then((m2) => m2.default));
210364
210370
  addDecoder(6, () => {
210365
210371
  throw new Error("old style JPEG compression is not supported.");
210366
210372
  });
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));
210373
+ addDecoder(7, () => import("./jpeg-ZD-cMTI7.js").then((m2) => m2.default));
210374
+ addDecoder([8, 32946], () => import("./deflate-BlzReVld.js").then((m2) => m2.default));
210375
+ addDecoder(32773, () => import("./packbits-BiHBxbwP.js").then((m2) => m2.default));
210370
210376
  addDecoder(
210371
210377
  34887,
210372
- () => import("./lerc-BKoJuTs1.js").then(async (m2) => {
210378
+ () => import("./lerc-D5-B9wm5.js").then(async (m2) => {
210373
210379
  await m2.zstd.init();
210374
210380
  return m2;
210375
210381
  }).then((m2) => m2.default)
210376
210382
  );
210377
- addDecoder(50001, () => import("./webimage-CVAiK7LB.js").then((m2) => m2.default));
210383
+ addDecoder(50001, () => import("./webimage-k_GfzbL-.js").then((m2) => m2.default));
210378
210384
  function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
210379
210385
  return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
210380
210386
  }
@@ -254873,12 +254879,12 @@ class ErrorBoundary extends React__default.Component {
254873
254879
  }
254874
254880
  }
254875
254881
  const LazySpatialThree = React__default.lazy(async () => {
254876
- const { SpatialWrapper: SpatialWrapper2 } = await import("./index-CAfSSaWL.js");
254882
+ const { SpatialWrapper: SpatialWrapper2 } = await import("./index-D6qJZY8C.js");
254877
254883
  return { default: SpatialWrapper2 };
254878
254884
  });
254879
254885
  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
254886
  const LazySpatialAccelerated = React__default.lazy(async () => {
254881
- const { SpatialWrapper: SpatialWrapper2 } = await import("./index-DpX5nUsD.js");
254887
+ const { SpatialWrapper: SpatialWrapper2 } = await import("./index-BMOfsV8_.js");
254882
254888
  return { default: SpatialWrapper2 };
254883
254889
  });
254884
254890
  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 }) }) }) }));
@@ -268585,7 +268591,7 @@ function HiglassGlobalStyles(props) {
268585
268591
  }
268586
268592
  register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
268587
268593
  const LazyHiGlassComponent = React__default.lazy(async () => {
268588
- const { HiGlassComponent } = await import("./higlass-BsC0wgvT.js");
268594
+ const { HiGlassComponent } = await import("./higlass-BNmPmXUj.js");
268589
268595
  return { default: HiGlassComponent };
268590
268596
  });
268591
268597
  const HG_SIZE = 800;
@@ -271533,7 +271539,7 @@ function NeuroglancerGlobalStyles(props) {
271533
271539
  const { classes: classes2 } = props;
271534
271540
  return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
271535
271541
  }
271536
- const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-R9DY-SSe.js"));
271542
+ const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-YYn0SUi6.js"));
271537
271543
  function createWorker() {
271538
271544
  const worker = new WorkerFactory$1();
271539
271545
  worker.AsyncComputationWorker = WorkerFactory;
@@ -357257,7 +357263,9 @@ class OmeAutoConfig extends AbstractAutoConfig {
357257
357263
  // TODO: how to handle h5ad-based AnnData (since needs reference JSON file).
357258
357264
  // Perhaps just assume one H5AD+one JSON (or .ref.json) file correspond to each other?
357259
357265
  [FileType$1.SPATIALDATA_ZARR]: [".sd.zarr", ".sdata.zarr", ".spatialdata.zarr"],
357260
- [FileType$1.SPATIALDATA_ZARR_ZIP]: [".sd.zarr.zip", ".sdata.zarr.zip", ".spatialdata.zarr.zip"]
357266
+ [FileType$1.SPATIALDATA_ZARR_ZIP]: [".sd.zarr.zip", ".sdata.zarr.zip", ".spatialdata.zarr.zip"],
357267
+ [FileType$1.GENOMIC_PROFILES_ZARR]: [".multivec.zarr"],
357268
+ [FileType$1.GENOMIC_PROFILES_ZARR_ZIP]: [".multivec.zarr.zip"]
357261
357269
  });
357262
357270
  ({
357263
357271
  // OME-TIFF
@@ -357283,7 +357291,9 @@ class OmeAutoConfig extends AbstractAutoConfig {
357283
357291
  FileType$1.IMAGE_OME_ZARR,
357284
357292
  FileType$1.IMAGE_OME_ZARR_ZIP,
357285
357293
  FileType$1.OBS_SEGMENTATIONS_OME_ZARR,
357286
- FileType$1.OBS_SEGMENTATIONS_OME_ZARR_ZIP
357294
+ FileType$1.OBS_SEGMENTATIONS_OME_ZARR_ZIP,
357295
+ FileType$1.GENOMIC_PROFILES_ZARR,
357296
+ FileType$1.GENOMIC_PROFILES_ZARR_ZIP
357287
357297
  ];
357288
357298
  class ObsSpotsCsvLoader extends CsvLoader {
357289
357299
  loadFromCache(data2) {
@@ -359377,16 +359387,25 @@ let FeatureStatsAnndataLoader$1 = class FeatureStatsAnndataLoader extends Abstra
359377
359387
  return this.dataSource.loadDataFrameIndex(dfPath);
359378
359388
  }
359379
359389
  async loadDataFrame(dfPath) {
359380
- const [featureId2, featureFoldChange, featureSignificance] = await Promise.all([
359381
- this.loadFeatureNames(dfPath),
359382
- this.loadFoldChanges(dfPath),
359383
- this.loadSignificances(dfPath)
359384
- ]);
359385
- return {
359386
- featureId: featureId2,
359387
- featureFoldChange,
359388
- featureSignificance
359389
- };
359390
+ try {
359391
+ const [featureId2, featureFoldChange, featureSignificance] = await Promise.all([
359392
+ this.loadFeatureNames(dfPath),
359393
+ this.loadFoldChanges(dfPath),
359394
+ this.loadSignificances(dfPath)
359395
+ ]);
359396
+ return {
359397
+ featureId: featureId2,
359398
+ featureFoldChange,
359399
+ featureSignificance
359400
+ };
359401
+ } catch (e3) {
359402
+ log$b.warn("Dataframe not found at", dfPath);
359403
+ return {
359404
+ featureId: [],
359405
+ featureFoldChange: [],
359406
+ featureSignificance: []
359407
+ };
359408
+ }
359390
359409
  }
359391
359410
  /**
359392
359411
  *
@@ -359413,7 +359432,7 @@ let FeatureStatsAnndataLoader$1 = class FeatureStatsAnndataLoader extends Abstra
359413
359432
  * @returns {Promise<LoaderResult<FeatureStatsData>>}
359414
359433
  */
359415
359434
  async loadMulti(volcanoOptions) {
359416
- const { analysisType: targetAnalysisType = "rank_genes_groups" } = this.options;
359435
+ const { analysisType: targetAnalysisType = "pydeseq2" } = this.options;
359417
359436
  const { sampleSetSelection, obsSetSelection } = volcanoOptions || {};
359418
359437
  const rawObsSetSelection = obsSetSelection;
359419
359438
  const rawSampleSetSelection = sampleSetSelection;
@@ -360391,7 +360410,7 @@ class SpatialDataObsSpotsLoader extends AbstractTwoStepLoader {
360391
360410
  const formatVersion = await this.dataSource.getShapesFormatVersion(path2);
360392
360411
  if (formatVersion === "0.1") {
360393
360412
  locations = await this.dataSource.loadNumericForDims(getCoordsPath(path2), [0, 1]);
360394
- } else if (formatVersion === "0.2") {
360413
+ } else if (formatVersion === "0.2" || formatVersion === "0.3") {
360395
360414
  locations = await this.dataSource.loadCircleShapes(getGeometryPath$1(path2));
360396
360415
  }
360397
360416
  this.locations = locations;
@@ -360654,9 +360673,7 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
360654
360673
  this.dataSource.supportsLoadPointsInRect(path2, featureIndexColumnName, mortonCodeColumn)
360655
360674
  ]);
360656
360675
  const isSupportedVersion = formatVersion === "0.1" || formatVersion === "0.2";
360657
- const boundingBox = zattrs?.bounding_box;
360658
- const hasBoundingBox2D = typeof boundingBox?.x_max === "number" && typeof boundingBox?.x_min === "number" && typeof boundingBox?.y_max === "number" && typeof boundingBox?.y_min === "number";
360659
- return isSupportedVersion && hasBoundingBox2D && hasRequiredColumnsAndRowGroupSize;
360676
+ return isSupportedVersion && hasRequiredColumnsAndRowGroupSize;
360660
360677
  }
360661
360678
  async load() {
360662
360679
  const [modelMatrix2, supportsTiling] = await Promise.all([
@@ -360694,7 +360711,7 @@ class SpatialDataObsPointsLoader extends AbstractTwoStepLoader {
360694
360711
  featureIds,
360695
360712
  obsPointsModelMatrix: modelMatrix2,
360696
360713
  // Return 'tiled' if the morton_code_2d column
360697
- // and bounding_box metadata are present,
360714
+ // is present,
360698
360715
  // and the row group size is small enough.
360699
360716
  // Otherwise, return 'full'.
360700
360717
  obsPointsTilingType: supportsTiling ? "tiled" : "full",
@@ -370203,6 +370220,7 @@ function sdataMortonQueryRectAux(boundingBox, origRect) {
370203
370220
  const mortonIntervals = zcoverRectangle(normRect[0][0], normRect[0][1], normRect[1][0], normRect[1][1], 16, null, true);
370204
370221
  return mortonIntervals;
370205
370222
  }
370223
+ const MORTON_CODE_EXTREME_VALUE_INDICATOR = 0;
370206
370224
  async function getParquetModule() {
370207
370225
  const module2 = await import(
370208
370226
  /* webpackIgnore: true */
@@ -370328,22 +370346,22 @@ async function _loadParquetMetadataByPart({ queryClient, store }, parquetPath) {
370328
370346
  } catch (error2) {
370329
370347
  if (error2.message.includes("Failed to load parquet footerLength")) {
370330
370348
  numParts = partIndex;
370349
+ log$b.info(`Found ${numParts} parts for parquet path ${parquetPath}; An above "Failed to load parquet footerLength" error is expected for the subsequent part.`);
370331
370350
  }
370332
370351
  }
370333
370352
  } while (numParts === void 0);
370353
+ const numRows = allMetadata.map((part) => part.metadata.fileMetadata().numRows());
370354
+ const numRowGroups = allMetadata.map((part) => part.metadata.numRowGroups());
370355
+ const numRowsPerGroup = allMetadata.map((part) => part.metadata.rowGroup(0).numRows());
370334
370356
  const metadata2 = {
370335
- numRows: 0,
370336
- numRowGroups: 0,
370337
- numRowsPerGroup: 0,
370338
- schema: null
370339
- };
370340
- if (allMetadata.length > 0) {
370341
- const firstPart = allMetadata[0];
370342
- metadata2.numRows = allMetadata.reduce((sum2, part) => sum2 + part.metadata.fileMetadata().numRows(), 0);
370343
- metadata2.numRowGroups = allMetadata.reduce((sum2, part) => sum2 + part.metadata.numRowGroups(), 0);
370344
- metadata2.numRowsPerGroup = firstPart.metadata.rowGroup(0).numRows();
370345
- metadata2.schema = firstPart.schema.schema;
370346
- }
370357
+ totalNumRows: numRows.reduce((a2, b2) => a2 + b2, 0),
370358
+ totalNumRowGroups: numRowGroups.reduce((a2, b2) => a2 + b2, 0),
370359
+ // Array of count per part (length equal to numParts).
370360
+ numRowsByPart: numRows,
370361
+ numRowGroupsByPart: numRowGroups,
370362
+ numRowsPerGroupByPart: numRowsPerGroup,
370363
+ schema: allMetadata?.[0]?.schema?.schema
370364
+ };
370347
370365
  const result = {
370348
370366
  ...metadata2,
370349
370367
  // TODO: extract metadata per part and rowGroup into plain objects that match the hyparquet parquetMetadata() return value?
@@ -370367,8 +370385,8 @@ async function _loadParquetRowGroupByGroupIndex({ queryClient, store }, parquetP
370367
370385
  const store2 = ctx.meta?.store;
370368
370386
  const { readParquetRowGroup } = await _getParquetModule({ queryClient: queryClient2 });
370369
370387
  const allMetadata = await _loadParquetMetadataByPart({ queryClient: queryClient2, store: store2 }, parquetPath);
370370
- if (rowGroupIndex < 0 || rowGroupIndex >= allMetadata.numRowGroups) {
370371
- throw new Error(`Row group index ${rowGroupIndex} is out of bounds for parquet table with ${allMetadata.numRowGroups} row groups.`);
370388
+ if (rowGroupIndex < 0 || rowGroupIndex >= allMetadata.totalNumRowGroups) {
370389
+ throw new Error(`Row group index ${rowGroupIndex} is out of bounds for parquet table with ${allMetadata.totalNumRowGroups} row groups.`);
370372
370390
  }
370373
370391
  let partIndex;
370374
370392
  let cumulativeRowGroups = 0;
@@ -370478,9 +370496,9 @@ async function _bisectRowGroupsRight({ queryClient, store }, parquetPath, column
370478
370496
  );
370479
370497
  const store2 = ctx.meta?.store;
370480
370498
  const allMetadata = await _loadParquetMetadataByPart({ queryClient: queryClient2, store: store2 }, parquetPath);
370481
- const { numRowGroups } = allMetadata;
370499
+ const { totalNumRowGroups } = allMetadata;
370482
370500
  let lo = 0;
370483
- let hi = numRowGroups;
370501
+ let hi = totalNumRowGroups;
370484
370502
  while (lo < hi) {
370485
370503
  const cachedInRange = await getCachedInRange(queryClient2, parquetPath, columnName, lo, hi);
370486
370504
  const betterLo = cachedInRange.slice().reverse().find((c2) => c2.index > lo && targetValue >= c2.max);
@@ -370883,11 +370901,12 @@ class SpatialDataTableSource extends AnnDataSource {
370883
370901
  const { queryClient } = this;
370884
370902
  const { store } = this.storeRoot;
370885
370903
  const allMetadata = await _loadParquetMetadataByPart({ queryClient, store }, parquetPath);
370886
- const { numRowsPerGroup } = allMetadata;
370887
- const numRowsTotal = allMetadata.numRows;
370888
- if (numRowsPerGroup >= 1e5) {
370904
+ const { numRowsPerGroupByPart } = allMetadata;
370905
+ const numRowsTotal = allMetadata.totalNumRows;
370906
+ const maxNumRowsPerGroup = Math.max(...numRowsPerGroupByPart);
370907
+ if (maxNumRowsPerGroup >= 1e5) {
370889
370908
  if (numRowsTotal > 5e6) {
370890
- throw new Error(`The Parquet table at ${parquetPath} has ${numRowsTotal} total rows, which necessitates tiled loading, but it was not possible because the row group size is too large (${numRowsPerGroup}). See the Vitessce documentation at Data Troubleshooting -> Points for more details.`);
370909
+ throw new Error(`The Parquet table at ${parquetPath} has ${numRowsTotal} total rows, which necessitates tiled loading, but it was not possible because the row group size is too large (${maxNumRowsPerGroup}). See the Vitessce documentation at Data Troubleshooting -> Points for more details.`);
370891
370910
  }
370892
370911
  return false;
370893
370912
  }
@@ -370911,7 +370930,7 @@ class SpatialDataTableSource extends AnnDataSource {
370911
370930
  * @param {string[]|undefined} columns An optional list of column names to load.
370912
370931
  * @returns
370913
370932
  */
370914
- async loadParquetTableInRect(parquetPath, tileBbox, allPointsBbox, signal, featureIndexColumnName, mortonCodeColumn) {
370933
+ async loadParquetTableInRect(parquetPath, tileBbox, signal, featureIndexColumnName, mortonCodeColumn) {
370915
370934
  const { queryClient } = this;
370916
370935
  const { store } = this.storeRoot;
370917
370936
  const mortonCodeColumnName = mortonCodeColumn ?? "morton_code_2d";
@@ -370936,15 +370955,46 @@ class SpatialDataTableSource extends AnnDataSource {
370936
370955
  } else {
370937
370956
  tileBboxes = [tileBbox];
370938
370957
  }
370958
+ const firstRowGroupTable = await _loadParquetRowGroupByGroupIndex({ queryClient, store }, parquetPath, 0);
370959
+ const xColumnForBoundingBox = firstRowGroupTable.getChild("x");
370960
+ const yColumnForBoundingBox = firstRowGroupTable.getChild("y");
370961
+ const mortonCodeColumnForBoundingBox = firstRowGroupTable.getChild(mortonCodeColumnName);
370962
+ const boundingBoxMaxNumRows = Math.min(4, firstRowGroupTable.numRows);
370963
+ const firstMortonCodes = range$e(boundingBoxMaxNumRows).map((i2) => mortonCodeColumnForBoundingBox.get(i2));
370964
+ const boundingBoxNumRows = firstMortonCodes.filter((code2) => code2 === MORTON_CODE_EXTREME_VALUE_INDICATOR).length;
370965
+ const boundingBoxXValues = range$e(boundingBoxNumRows).map((i2) => xColumnForBoundingBox.get(i2));
370966
+ const boundingBoxYValues = range$e(boundingBoxNumRows).map((i2) => yColumnForBoundingBox.get(i2));
370967
+ const xMin = Math.min(...boundingBoxXValues);
370968
+ const xMax = Math.max(...boundingBoxXValues);
370969
+ const yMin = Math.min(...boundingBoxYValues);
370970
+ const yMax = Math.max(...boundingBoxYValues);
370971
+ const allPointsBbox = {
370972
+ x_min: xMin,
370973
+ x_max: xMax,
370974
+ y_min: yMin,
370975
+ y_max: yMax
370976
+ };
370939
370977
  const rowGroupIndicesPerTile = await Promise.all(tileBboxes.map(async (subTileBbox) => _rectToRowGroupIndices({ queryClient, store }, parquetPath, subTileBbox, allPointsBbox, mortonCodeColumnName)));
370940
370978
  const uniqueCoveredRowGroupIndices = Array.from(new Set(rowGroupIndicesPerTile.flat())).toSorted((a2, b2) => a2 - b2);
370941
370979
  const allMetadata = await _loadParquetMetadataByPart({ queryClient, store }, parquetPath);
370942
- const { numRowsPerGroup } = allMetadata;
370943
- const numRowGroups = uniqueCoveredRowGroupIndices.length;
370944
- const totalNumRows = numRowsPerGroup * numRowGroups;
370945
- const xArr = new Float32Array(totalNumRows);
370946
- const yArr = new Float32Array(totalNumRows);
370947
- const featureIndexArr = new Uint32Array(totalNumRows);
370980
+ const { numRowsPerGroupByPart, numRowGroupsByPart } = allMetadata;
370981
+ const rowGroupIToNumRows = (rowGroupI) => {
370982
+ let currPartIndex = 0;
370983
+ let prevTotalRowGroupCount = 0;
370984
+ for (let partIndex = 0; partIndex < numRowGroupsByPart.length; partIndex++) {
370985
+ const numRowGroupsInPart = numRowGroupsByPart[partIndex];
370986
+ if (prevTotalRowGroupCount <= rowGroupI && rowGroupI < prevTotalRowGroupCount + numRowGroupsInPart) {
370987
+ currPartIndex = partIndex;
370988
+ break;
370989
+ }
370990
+ prevTotalRowGroupCount += numRowGroupsInPart;
370991
+ }
370992
+ return numRowsPerGroupByPart[currPartIndex];
370993
+ };
370994
+ const totalNumRowsToLoad = uniqueCoveredRowGroupIndices.reduce((acc, rowGroupI) => acc + rowGroupIToNumRows(rowGroupI), 0);
370995
+ const xArr = new Float32Array(totalNumRowsToLoad);
370996
+ const yArr = new Float32Array(totalNumRowsToLoad);
370997
+ const featureIndexArr = new Uint32Array(totalNumRowsToLoad);
370948
370998
  const rowGroupTables = await Promise.all(uniqueCoveredRowGroupIndices.map(async (rowGroupIndex) => _loadParquetRowGroupByGroupIndex({ queryClient, store }, parquetPath, rowGroupIndex)));
370949
370999
  let rowOffset = 0;
370950
371000
  rowGroupTables.forEach((table2) => {
@@ -370957,7 +371007,7 @@ class SpatialDataTableSource extends AnnDataSource {
370957
371007
  xArr.set(xColumn.toArray(), rowOffset);
370958
371008
  yArr.set(yColumn.toArray(), rowOffset);
370959
371009
  featureIndexArr.set(featureIndexColumn.toArray(), rowOffset);
370960
- rowOffset += numRowsPerGroup;
371010
+ rowOffset += table2.numRows;
370961
371011
  });
370962
371012
  return {
370963
371013
  data: {
@@ -370965,7 +371015,7 @@ class SpatialDataTableSource extends AnnDataSource {
370965
371015
  y: yArr,
370966
371016
  featureIndices: featureIndexArr
370967
371017
  },
370968
- shape: [3, totalNumRows]
371018
+ shape: [3, totalNumRowsToLoad]
370969
371019
  };
370970
371020
  }
370971
371021
  }
@@ -376841,14 +376891,14 @@ class SpatialDataShapesSource extends SpatialDataTableSource {
376841
376891
  /**
376842
376892
  *
376843
376893
  * @param {string} path A path to within shapes.
376844
- * @returns {Promise<"0.1"|"0.2">} The format version.
376894
+ * @returns {Promise<"0.1"|"0.2"|"0.3">} The format version.
376845
376895
  */
376846
376896
  async getShapesFormatVersion(path2) {
376847
376897
  const zattrs = await this.loadSpatialDataElementAttrs(path2);
376848
376898
  const formatVersion = zattrs.spatialdata_attrs.version;
376849
376899
  const geos = zattrs.spatialdata_attrs.geos || {};
376850
376900
  const encodingType = zattrs["encoding-type"];
376851
- if (encodingType !== "ngff:shapes" || !(formatVersion === "0.1" && (geos.name === "POINT" && geos.type === 0) || formatVersion === "0.2")) {
376901
+ if (encodingType !== "ngff:shapes" || !(formatVersion === "0.1" && (geos.name === "POINT" && geos.type === 0) || formatVersion === "0.2" || formatVersion === "0.3")) {
376852
376902
  throw new Error(`Unexpected encoding type or version for shapes spatialdata_attrs: ${encodingType} ${formatVersion}`);
376853
376903
  }
376854
376904
  return formatVersion;
@@ -377160,16 +377210,11 @@ class SpatialDataPointsSource extends SpatialDataTableSource {
377160
377210
  const zattrs = await this.loadSpatialDataElementAttrs(elementPath);
377161
377211
  const {
377162
377212
  // axes,
377163
- spatialdata_attrs: spatialDataAttrs,
377164
- // The bounding box (extent) of all points.
377165
- // Required for un-normalization from uints back to floats.
377166
- // TODO: decide whether these will be stored here or somewhere else.
377167
- // Reference: https://github.com/vitessce/vitessce-python/pull/476#issuecomment-3362656956
377168
- bounding_box: allPointsBbox
377213
+ spatialdata_attrs: spatialDataAttrs
377169
377214
  } = zattrs;
377170
377215
  const { feature_key: featureKey } = spatialDataAttrs;
377171
377216
  const featureIndexColumnName = featureIndexColumnNameFromOptions ?? `${featureKey}_codes`;
377172
- return this.loadParquetTableInRect(parquetPath, tileBbox, allPointsBbox, signal, featureIndexColumnName, mortonCodeColumn);
377217
+ return this.loadParquetTableInRect(parquetPath, tileBbox, signal, featureIndexColumnName, mortonCodeColumn);
377173
377218
  }
377174
377219
  async supportsLoadPointsInRect(elementPath, featureIndexColumnName, mortonCodeColumn) {
377175
377220
  const parquetPath = getParquetPath(elementPath);
@@ -382727,7 +382772,8 @@ const baseFileTypes = [
382727
382772
  makeFileType(FileType$1.OBS_LOCATIONS_MOLECULES_JSON, DataType$3.OBS_LOCATIONS, MoleculesJsonAsObsLocationsLoader, JsonSource, z.null()),
382728
382773
  makeFileType(FileType$1.OBS_LABELS_MOLECULES_JSON, DataType$3.OBS_LABELS, MoleculesJsonAsObsLabelsLoader, JsonSource, z.null()),
382729
382774
  makeFileType(FileType$1.NEIGHBORHOODS_JSON, DataType$3.NEIGHBORHOODS, JsonLoader, JsonSource, z.null()),
382730
- makeFileType(FileType$1.GENOMIC_PROFILES_ZARR, DataType$3.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null())
382775
+ makeFileType(FileType$1.GENOMIC_PROFILES_ZARR, DataType$3.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null()),
382776
+ makeFileType(FileType$1.GENOMIC_PROFILES_ZARR_ZIP, DataType$3.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null())
382731
382777
  ];
382732
382778
  const baseJointFileTypes = [
382733
382779
  new PluginJointFileType(FileType$1.ANNDATA_ZARR, expandAnndataZarr, anndataZarrSchema),
@@ -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-DyvHlPKD.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-CoPFL-Jj.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-22a8bk04.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-DSciBy3x.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-CVOtVmFe.js"), []);
5030
+ } = suspend(async () => import("./troika-three-text.esm-U6CVqbh4.js"), []);
5031
5031
  const invalidate = useThree(({
5032
5032
  invalidate: invalidate2
5033
5033
  }) => invalidate2);
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { bR, bP, bN, bQ, bO, bM, bS } from "./index-DyvHlPKD.js";
1
+ import { bR, bP, bN, bQ, bO, bM, bS } from "./index-CoPFL-Jj.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-DyvHlPKD.js";
1
+ import { aX as BaseDecoder } from "./index-CoPFL-Jj.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-DyvHlPKD.js";
2
+ import { aG as getDefaultExportFromCjs, aX as BaseDecoder, aY as LercParameters, aZ as LercAddCompression } from "./index-CoPFL-Jj.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-DyvHlPKD.js";
1
+ import { aX as BaseDecoder } from "./index-CoPFL-Jj.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-DyvHlPKD.js";
1
+ import { aX as BaseDecoder } from "./index-CoPFL-Jj.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-DyvHlPKD.js";
1
+ import { aX as BaseDecoder } from "./index-CoPFL-Jj.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-DyvHlPKD.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-CoPFL-Jj.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-DyvHlPKD.js";
1
+ import { aX as BaseDecoder } from "./index-CoPFL-Jj.js";
2
2
  class WebImageDecoder extends BaseDecoder {
3
3
  constructor() {
4
4
  super();
@@ -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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"}
@@ -177,6 +177,7 @@ export const baseFileTypes = [
177
177
  makeFileType(FileType.OBS_LABELS_MOLECULES_JSON, DataType.OBS_LABELS, MoleculesJsonAsObsLabelsLoader, JsonSource, z.null()),
178
178
  makeFileType(FileType.NEIGHBORHOODS_JSON, DataType.NEIGHBORHOODS, JsonLoader, JsonSource, z.null()),
179
179
  makeFileType(FileType.GENOMIC_PROFILES_ZARR, DataType.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null()),
180
+ makeFileType(FileType.GENOMIC_PROFILES_ZARR_ZIP, DataType.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null()),
180
181
  ];
181
182
  export const baseJointFileTypes = [
182
183
  new PluginJointFileType(FileType.ANNDATA_ZARR, expandAnndataZarr, anndataZarrSchema),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/all",
3
- "version": "3.9.9",
3
+ "version": "3.9.11",
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.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"
20
+ "@vitessce/styles": "3.9.11",
21
+ "@vitessce/error": "3.9.11",
22
+ "@vitessce/csv": "3.9.11",
23
+ "@vitessce/feature-list": "3.9.11",
24
+ "@vitessce/abstract": "3.9.11",
25
+ "@vitessce/genomic-profiles": "3.9.11",
26
+ "@vitessce/constants-internal": "3.9.11",
27
+ "@vitessce/heatmap": "3.9.11",
28
+ "@vitessce/glb": "3.9.11",
29
+ "@vitessce/json": "3.9.11",
30
+ "@vitessce/layer-controller": "3.9.11",
31
+ "@vitessce/description": "3.9.11",
32
+ "@vitessce/layer-controller-beta": "3.9.11",
33
+ "@vitessce/link-controller": "3.9.11",
34
+ "@vitessce/ome-tiff": "3.9.11",
35
+ "@vitessce/obs-sets-manager": "3.9.11",
36
+ "@vitessce/plugins": "3.9.11",
37
+ "@vitessce/scatterplot-embedding": "3.9.11",
38
+ "@vitessce/scatterplot-gating": "3.9.11",
39
+ "@vitessce/spatial": "3.9.11",
40
+ "@vitessce/schemas": "3.9.11",
41
+ "@vitessce/spatial-beta": "3.9.11",
42
+ "@vitessce/statistical-plots": "3.9.11",
43
+ "@vitessce/status": "3.9.11",
44
+ "@vitessce/zarr": "3.9.11",
45
+ "@vitessce/globals": "3.9.11",
46
+ "@vitessce/vit-s": "3.9.11",
47
+ "@vitessce/spatial-zarr": "3.9.11",
48
+ "@vitessce/spatial-three": "3.9.11",
49
+ "@vitessce/spatial-accelerated": "3.9.11",
50
+ "@vitessce/neuroglancer": "3.9.11",
51
+ "@vitessce/biomarker-select": "3.9.11"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/react": "^18.0.28",
@@ -366,6 +366,7 @@ export const baseFileTypes = [
366
366
  makeFileType(FileType.OBS_LABELS_MOLECULES_JSON, DataType.OBS_LABELS, MoleculesJsonAsObsLabelsLoader, JsonSource, z.null()),
367
367
  makeFileType(FileType.NEIGHBORHOODS_JSON, DataType.NEIGHBORHOODS, JsonLoader, JsonSource, z.null()),
368
368
  makeFileType(FileType.GENOMIC_PROFILES_ZARR, DataType.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null()),
369
+ makeFileType(FileType.GENOMIC_PROFILES_ZARR_ZIP, DataType.GENOMIC_PROFILES, GenomicProfilesZarrLoader, ZarrDataSource, z.null()),
369
370
  ];
370
371
 
371
372
  export const baseJointFileTypes = [