@vitessce/scatterplot-embedding 4.0.10 → 4.1.1

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.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { D, E } from "./index-DoXbfOn2.js";
1
+ import { D, E } from "./index-DT4WpL6f.js";
2
2
  export {
3
3
  D as DualEmbeddingScatterplotSubscriber,
4
4
  E as EmbeddingScatterplotSubscriber
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-DoXbfOn2.js";
1
+ import { B as BaseDecoder } from "./index-DT4WpL6f.js";
2
2
  const dctZigZag = new Int32Array([
3
3
  0,
4
4
  1,
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-SxljTded.js";
2
- import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-DoXbfOn2.js";
2
+ import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-DT4WpL6f.js";
3
3
  const LercParameters = {
4
4
  AddCompression: 1
5
5
  };
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-DoXbfOn2.js";
1
+ import { B as BaseDecoder } from "./index-DT4WpL6f.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 { B as BaseDecoder } from "./index-DoXbfOn2.js";
1
+ import { B as BaseDecoder } from "./index-DT4WpL6f.js";
2
2
  class PackbitsDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  const dataView = new DataView(buffer);
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-DoXbfOn2.js";
1
+ import { B as BaseDecoder } from "./index-DT4WpL6f.js";
2
2
  class RawDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  return buffer;
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-DoXbfOn2.js";
1
+ import { B as BaseDecoder } from "./index-DT4WpL6f.js";
2
2
  class WebImageDecoder extends BaseDecoder {
3
3
  constructor() {
4
4
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"DualEmbeddingScatterplotSubscriber.d.ts","sourceRoot":"","sources":["../src/DualEmbeddingScatterplotSubscriber.js"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;GAeG;AACH,0DAVG;IAAsB,IAAI,EAAlB,MAAM;IACQ,KAAK,EAAnB,MAAM;IACQ,kBAAkB,EAAhC,MAAM;IAEU,mBAAmB;IAErB,KAAK,EAAnB,MAAM;IACQ,kBAAkB,EAAhC,MAAM;CAEhB,OAqDA"}
1
+ {"version":3,"file":"DualEmbeddingScatterplotSubscriber.d.ts","sourceRoot":"","sources":["../src/DualEmbeddingScatterplotSubscriber.js"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;GAeG;AACH,0DAVG;IAAsB,IAAI,EAAlB,MAAM;IACQ,KAAK,EAAnB,MAAM;IACQ,kBAAkB,EAAhC,MAAM;IAEU,mBAAmB;IAErB,KAAK,EAAnB,MAAM;IACQ,kBAAkB,EAAhC,MAAM;CAEhB,OAuDA"}
@@ -31,8 +31,8 @@ export function DualEmbeddingScatterplotSubscriber(props) {
31
31
  const ctrlSampleSetSelection = useMemo(() => (sampleSetSelection?.[1]
32
32
  ? [sampleSetSelection[1]]
33
33
  : null), [sampleSetSelection]);
34
- return (_jsxs("div", { style: { width: '100%', height: '100%', display: 'flex', flexDirection: 'row' }, children: [_jsx("div", { style: { width: isCaseCtrl ? '50%' : '100%', display: 'flex', flexDirection: 'column' }, children: _jsx(EmbeddingScatterplotSubscriber, { ...props, uuid: `${uuid}-case`, title: (isCaseCtrl
34
+ return (_jsxs("div", { style: { width: '100%', height: '100%', display: 'flex', flexDirection: 'row' }, children: [_jsx("div", { style: { width: isCaseCtrl ? '50%' : '100%', display: 'flex', flexDirection: 'column' }, children: _jsx(EmbeddingScatterplotSubscriber, { ...props, uuid: `${uuid}-case`, viewUid: uuid, title: (isCaseCtrl
35
35
  ? `Scatterplot (${embeddingType}), ${caseSampleSetSelection?.[0]?.at(-1)}`
36
- : null), sampleSetSelection: caseSampleSetSelection }) }), isCaseCtrl ? (_jsx("div", { style: { width: '50%', display: 'flex', flexDirection: 'column' }, children: _jsx(EmbeddingScatterplotSubscriber, { ...props, uuid: `${uuid}-ctrl`, title: `Scatterplot (${embeddingType}), ${ctrlSampleSetSelection?.[0]?.at(-1)}`, sampleSetSelection: ctrlSampleSetSelection }) })) : null] }));
36
+ : null), sampleSetSelection: caseSampleSetSelection }) }), isCaseCtrl ? (_jsx("div", { style: { width: '50%', display: 'flex', flexDirection: 'column' }, children: _jsx(EmbeddingScatterplotSubscriber, { ...props, uuid: `${uuid}-ctrl`, viewUid: uuid, title: `Scatterplot (${embeddingType}), ${ctrlSampleSetSelection?.[0]?.at(-1)}`, sampleSetSelection: ctrlSampleSetSelection }) })) : null] }));
37
37
  }
38
38
  //# sourceMappingURL=DualEmbeddingScatterplotSubscriber.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DualEmbeddingScatterplotSubscriber.js","sourceRoot":"","sources":["../src/DualEmbeddingScatterplotSubscriber.js"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAGrF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kCAAkC,CAAC,KAAK;IACtD,MAAM,EACJ,IAAI,EACJ,kBAAkB,EAAE,qBAAqB,GAC1C,GAAG,KAAK,CAAC;IAEV,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;IAExE,2CAA2C;IAC3C,MAAM,CAAC,EACL,aAAa,EACb,kBAAkB,GACnB,CAAC,GAAG,eAAe,CAAC,4BAA4B,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAElG,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;IAExF,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAC3C,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,IAAI,CACT,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACzB,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAC3C,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,IAAI,CACT,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzB,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,aAClF,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,YAC1F,KAAC,8BAA8B,OACzB,KAAK,EACT,IAAI,EAAE,GAAG,IAAI,OAAO,EACpB,KAAK,EAAE,CAAC,UAAU;wBAChB,CAAC,CAAC,gBAAgB,aAAa,MAAM,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC1E,CAAC,CAAC,IAAI,CACP,EACD,kBAAkB,EAAE,sBAAsB,GAC1C,GACE,EACL,UAAU,CAAC,CAAC,CAAC,CACZ,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,YACpE,KAAC,8BAA8B,OACzB,KAAK,EACT,IAAI,EAAE,GAAG,IAAI,OAAO,EACpB,KAAK,EAAE,gBAAgB,aAAa,MAAM,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAC/E,kBAAkB,EAAE,sBAAsB,GAC1C,GACE,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"DualEmbeddingScatterplotSubscriber.js","sourceRoot":"","sources":["../src/DualEmbeddingScatterplotSubscriber.js"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAGrF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kCAAkC,CAAC,KAAK;IACtD,MAAM,EACJ,IAAI,EACJ,kBAAkB,EAAE,qBAAqB,GAC1C,GAAG,KAAK,CAAC;IAEV,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;IAExE,2CAA2C;IAC3C,MAAM,CAAC,EACL,aAAa,EACb,kBAAkB,GACnB,CAAC,GAAG,eAAe,CAAC,4BAA4B,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAElG,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;IAExF,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAC3C,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,IAAI,CACT,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACzB,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAC3C,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,IAAI,CACT,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzB,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,aAClF,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,YAC1F,KAAC,8BAA8B,OACzB,KAAK,EACT,IAAI,EAAE,GAAG,IAAI,OAAO,EACpB,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,CAAC,UAAU;wBAChB,CAAC,CAAC,gBAAgB,aAAa,MAAM,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC1E,CAAC,CAAC,IAAI,CACP,EACD,kBAAkB,EAAE,sBAAsB,GAC1C,GACE,EACL,UAAU,CAAC,CAAC,CAAC,CACZ,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,YACpE,KAAC,8BAA8B,OACzB,KAAK,EACT,IAAI,EAAE,GAAG,IAAI,OAAO,EACpB,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,gBAAgB,aAAa,MAAM,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAC/E,kBAAkB,EAAE,sBAAsB,GAC1C,GACE,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
@@ -1,8 +1,11 @@
1
1
  /**
2
2
  * A subscriber component for the scatterplot.
3
3
  * @param {object} props
4
- * @param {number} props.uuid The unique identifier for this component, also used as its
5
- * view uid for looking up its coordination mapping via `useViewMapping`.
4
+ * @param {number} props.uuid The unique identifier for this component.
5
+ * @param {string} props.viewUid The uid of the corresponding view in the view config layout,
6
+ * used for looking up its coordination mapping via `useViewMapping`.
7
+ * Optional, defaults to `uuid`. Differs from `uuid` when rendered by a parent
8
+ * (e.g., the dual scatterplot) that renders multiple child scatterplots for one view.
6
9
  * @param {string} props.theme The current theme name.
7
10
  * @param {function} props.removeGridComponent The callback function to pass to TitleInfo,
8
11
  * to call when the component has been removed from the grid.
@@ -12,6 +15,7 @@
12
15
  */
13
16
  export function EmbeddingScatterplotSubscriber(props: {
14
17
  uuid: number;
18
+ viewUid: string;
15
19
  theme: string;
16
20
  removeGridComponent: Function;
17
21
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"EmbeddingScatterplotSubscriber.d.ts","sourceRoot":"","sources":["../src/EmbeddingScatterplotSubscriber.js"],"names":[],"mappings":"AA+CA;;;;;;;;;;;GAWG;AACH,sDATG;IAAsB,IAAI,EAAlB,MAAM;IAEQ,KAAK,EAAnB,MAAM;IACU,mBAAmB;IAErB,KAAK,EAAnB,MAAM;IACQ,kBAAkB,EAAhC,MAAM;CAEhB,OAorBA"}
1
+ {"version":3,"file":"EmbeddingScatterplotSubscriber.d.ts","sourceRoot":"","sources":["../src/EmbeddingScatterplotSubscriber.js"],"names":[],"mappings":"AAqDA;;;;;;;;;;;;;;GAcG;AACH,sDAZG;IAAsB,IAAI,EAAlB,MAAM;IACQ,OAAO,EAArB,MAAM;IAIQ,KAAK,EAAnB,MAAM;IACU,mBAAmB;IAErB,KAAK,EAAnB,MAAM;IACQ,kBAAkB,EAAhC,MAAM;CAEhB,OAqtBA"}
@@ -3,19 +3,22 @@ import React, { useState, useEffect, useCallback, useMemo, useDeferredValue, } f
3
3
  import { extent, quantileSorted } from 'd3-array';
4
4
  import { isEqual } from 'lodash-es';
5
5
  import { circle } from '@turf/circle';
6
- import { TitleInfo, useReady, useUrls, useDeckCanvasSize, useUint8FeatureSelection, useExpressionValueGetter, useGetObsInfo, useObsEmbeddingData, useObsSetsData, useAnnotationStoryData, useAnnotationFrameCoordination, useFeatureSelection, useObsFeatureMatrixIndices, useFeatureLabelsData, useMultiObsLabels, useSampleSetsData, useSampleEdgesData, useCoordination, useLoaders, useSetComponentHover, useSetComponentViewInfo, useInitialCoordination, useExpandedFeatureLabelsMap, useViewMapping, } from '@vitessce/vit-s';
6
+ import { TitleInfo, useReady, useUrls, useDeckCanvasSize, useUint8FeatureSelection, useExpressionValueGetter, useGetObsInfo, useObsEmbeddingData, useObsSetsData, useAnnotationStoryData, useAnnotationFrameCoordination, useAnnotationEditingForView, useFeatureSelection, useObsFeatureMatrixIndices, useFeatureLabelsData, useMultiObsLabels, useSampleSetsData, useSampleEdgesData, useCoordination, useLoaders, useSetComponentHover, useSetComponentViewInfo, useInitialCoordination, useExpandedFeatureLabelsMap, useViewMapping, } from '@vitessce/vit-s';
7
7
  import { setObsSelection, mergeObsSets, getCellSetPolygons, treeToColorIndicesArray, colorIndicesFromCodes, getObsIndexMap, stratifyArrays, } from '@vitessce/sets-utils';
8
- import { pluralize as plur, commaNumber, aggregateFeatureArrays } from '@vitessce/utils';
9
- import { Scatterplot, ScatterplotTooltipSubscriber, ScatterplotOptions, getPointSizeDevicePixels, getPointOpacity, } from '@vitessce/scatterplot';
8
+ import { pluralize as plur, commaNumber, aggregateFeatureArrays, getAnnotationFrameCoordinationValues, } from '@vitessce/utils';
9
+ import { Scatterplot, ScatterplotTooltipSubscriber, ScatterplotOptions, getPointSizeDevicePixels, getPointOpacity, useAnnotationFrameTransition, } from '@vitessce/scatterplot';
10
10
  import { Legend } from '@vitessce/legend';
11
- import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
11
+ import { ViewType, CoordinationType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping, } from '@vitessce/constants-internal';
12
12
  import { DEFAULT_CONTOUR_PERCENTILES } from './constants.js';
13
13
  const DEFAULT_FEATURE_AGGREGATION_STRATEGY = 'first';
14
14
  /**
15
15
  * A subscriber component for the scatterplot.
16
16
  * @param {object} props
17
- * @param {number} props.uuid The unique identifier for this component, also used as its
18
- * view uid for looking up its coordination mapping via `useViewMapping`.
17
+ * @param {number} props.uuid The unique identifier for this component.
18
+ * @param {string} props.viewUid The uid of the corresponding view in the view config layout,
19
+ * used for looking up its coordination mapping via `useViewMapping`.
20
+ * Optional, defaults to `uuid`. Differs from `uuid` when rendered by a parent
21
+ * (e.g., the dual scatterplot) that renders multiple child scatterplots for one view.
19
22
  * @param {string} props.theme The current theme name.
20
23
  * @param {function} props.removeGridComponent The callback function to pass to TitleInfo,
21
24
  * to call when the component has been removed from the grid.
@@ -24,13 +27,16 @@ const DEFAULT_FEATURE_AGGREGATION_STRATEGY = 'first';
24
27
  * when using dynamic opacity mode.
25
28
  */
26
29
  export function EmbeddingScatterplotSubscriber(props) {
27
- const { uuid, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, observationsLabelOverride, title: titleOverride, helpText = ViewHelpMapping.SCATTERPLOT,
30
+ const { uuid, viewUid: viewUidFromProps, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, observationsLabelOverride, title: titleOverride, helpText = ViewHelpMapping.SCATTERPLOT,
28
31
  // Average fill density for dynamic opacity calculation.
29
32
  averageFillDensity,
30
33
  // For the dual scatterplot:
31
34
  sampleSetSelection: sampleSetSelectionFromProps,
32
35
  // Circle scale factor:
33
- circleScaleFactor = 0.8, } = props;
36
+ circleScaleFactor = 0.8,
37
+ // Passed down from the ancestor <Vitessce/> or <VitS/> component.
38
+ areAnnotationsEditable, } = props;
39
+ const viewUid = viewUidFromProps ?? uuid;
34
40
  const loaders = useLoaders();
35
41
  // useViewMapping looks up this view's coordination mapping directly from the
36
42
  // view config (by uuid), after accounting for meta-coordination, so there is
@@ -39,15 +45,18 @@ export function EmbeddingScatterplotSubscriber(props) {
39
45
  // precedence over values obtained via coordinationScopes.
40
46
  const [
41
47
  // eslint-disable-next-line no-unused-vars
42
- coordinationScopes, _coordinationScopesBy, coordinationValues,] = useViewMapping(uuid);
48
+ coordinationScopes, _coordinationScopesBy, coordinationValues,] = useViewMapping(viewUid);
43
49
  const setComponentHover = useSetComponentHover();
44
50
  const setComponentViewInfo = useSetComponentViewInfo(uuid);
45
51
  // Merge the coordination values that the current annotation frame defines for this view
46
52
  // into the coordination space, whenever the frame changes. The story itself is read-only.
47
53
  // TODO: handle the rendering of alternative views/layouts (in vit-s?)
48
- useAnnotationFrameCoordination(uuid, coordinationScopes, coordinationValues);
54
+ useAnnotationFrameCoordination(viewUid, coordinationScopes, coordinationValues);
49
55
  // Get "props" from the coordination space.
50
- const [{ dataset, obsType, featureType, featureValueType, sampleType, embeddingZoom: zoom, embeddingTargetX: targetX, embeddingTargetY: targetY, embeddingTargetZ: targetZ, embeddingType: mapping, obsFilter: cellFilter, obsHighlight: cellHighlight, featureSelection: geneSelection, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, obsColorEncoding: cellColorEncoding, additionalObsSets: additionalCellSets, embeddingObsSetPolygonsVisible: cellSetPolygonsVisible, embeddingObsSetLabelsVisible: cellSetLabelsVisible, embeddingObsSetLabelSize: cellSetLabelSize, embeddingObsRadius: cellRadiusFixed, embeddingObsRadiusMode: cellRadiusMode, embeddingObsOpacity: cellOpacityFixed, embeddingObsOpacityMode: cellOpacityMode, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, tooltipsVisible, sampleSetSelection: sampleSetSelectionFromCoordination, sampleSetColor, embeddingPointsVisible, embeddingContoursVisible, embeddingContoursFilled, embeddingContourPercentiles: contourPercentiles, contourColorEncoding, contourColor, featureAggregationStrategy, annotationStory, annotationShapes, annotationOverlayVisible, annotationSemanticZoom, annotationTransitionDuration, annotationEditable, }, { setEmbeddingZoom: setZoom, setEmbeddingTargetX: setTargetX, setEmbeddingTargetY: setTargetY, setEmbeddingTargetZ: setTargetZ, setObsFilter: setCellFilter, setObsSetSelection: setCellSetSelection, setObsHighlight: setCellHighlight, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setAdditionalObsSets: setAdditionalCellSets, setEmbeddingObsSetPolygonsVisible: setCellSetPolygonsVisible, setEmbeddingObsSetLabelsVisible: setCellSetLabelsVisible, setEmbeddingObsSetLabelSize: setCellSetLabelSize, setEmbeddingObsRadius: setCellRadiusFixed, setEmbeddingObsRadiusMode: setCellRadiusMode, setEmbeddingObsOpacity: setCellOpacityFixed, setEmbeddingObsOpacityMode: setCellOpacityMode, setFeatureValueColormap: setGeneExpressionColormap, setFeatureValueColormapRange: setGeneExpressionColormapRange, setTooltipsVisible, setEmbeddingPointsVisible, setEmbeddingContoursVisible, setEmbeddingContoursFilled, setEmbeddingContourPercentiles: setContourPercentiles, setContourColorEncoding, setFeatureAggregationStrategy, setAnnotationStory, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.SCATTERPLOT], coordinationScopes, coordinationValues, uuid);
56
+ const [{ dataset, obsType, featureType, featureValueType, sampleType, embeddingZoom: zoom, embeddingTargetX: targetX, embeddingTargetY: targetY, embeddingTargetZ: targetZ, embeddingType: mapping, obsFilter: cellFilter, obsHighlight: cellHighlight, featureSelection: geneSelection, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, obsColorEncoding: cellColorEncoding, additionalObsSets: additionalCellSets, embeddingObsSetPolygonsVisible: cellSetPolygonsVisible, embeddingObsSetLabelsVisible: cellSetLabelsVisible, embeddingObsSetLabelSize: cellSetLabelSize, embeddingObsRadius: cellRadiusFixed, embeddingObsRadiusMode: cellRadiusMode, embeddingObsOpacity: cellOpacityFixed, embeddingObsOpacityMode: cellOpacityMode, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, tooltipsVisible, tooltipObsSetsMode, sampleSetSelection: sampleSetSelectionFromCoordination, sampleSetColor, embeddingPointsVisible, embeddingContoursVisible, embeddingContoursFilled, embeddingContourPercentiles: contourPercentiles, contourColorEncoding, contourColor, featureAggregationStrategy, annotationStory, annotationShapes, annotationOverlayVisible, annotationSemanticZoom, annotationTransitionDuration, annotationEditable, annotationFrameIndex, }, { setEmbeddingZoom: setZoom, setEmbeddingTargetX: setTargetX, setEmbeddingTargetY: setTargetY, setEmbeddingTargetZ: setTargetZ, setObsFilter: setCellFilter, setObsSetSelection: setCellSetSelection, setObsHighlight: setCellHighlight, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setAdditionalObsSets: setAdditionalCellSets, setEmbeddingObsSetPolygonsVisible: setCellSetPolygonsVisible, setEmbeddingObsSetLabelsVisible: setCellSetLabelsVisible, setEmbeddingObsSetLabelSize: setCellSetLabelSize, setEmbeddingObsRadius: setCellRadiusFixed, setEmbeddingObsRadiusMode: setCellRadiusMode, setEmbeddingObsOpacity: setCellOpacityFixed, setEmbeddingObsOpacityMode: setCellOpacityMode, setFeatureValueColormap: setGeneExpressionColormap, setFeatureValueColormapRange: setGeneExpressionColormapRange, setTooltipsVisible, setEmbeddingPointsVisible, setEmbeddingContoursVisible, setEmbeddingContoursFilled, setEmbeddingContourPercentiles: setContourPercentiles, setContourColorEncoding, setFeatureAggregationStrategy, setAnnotationStory, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.SCATTERPLOT], coordinationScopes, coordinationValues, viewUid);
57
+ // Props for drawing annotation shapes in this view (while authoring the story
58
+ // via the annotation controller), and for highlighting the selected shape.
59
+ const annotationEditingProps = useAnnotationEditingForView(viewUid, Boolean(areAnnotationsEditable && annotationEditable && typeof annotationFrameIndex === 'number'));
51
60
  const { embeddingZoom: initialZoom, embeddingTargetX: initialTargetX, embeddingTargetY: initialTargetY, } = useInitialCoordination(COMPONENT_COORDINATION_TYPES[ViewType.SCATTERPLOT], coordinationScopes, coordinationValues);
52
61
  const observationsLabel = observationsLabelOverride || obsType;
53
62
  const sampleSetSelection = (sampleSetSelectionFromProps
@@ -124,6 +133,10 @@ export function EmbeddingScatterplotSubscriber(props) {
124
133
  // cached results and cost nothing in that first commit.
125
134
  const deferredCellSetSelection = useDeferredValue(cellSetSelection);
126
135
  const deferredCellSetColor = useDeferredValue(cellSetColor);
136
+ // A lasso selection made while coloring by feature values also switches the
137
+ // encoding to set selection. Defer it with the selection and colors, so the
138
+ // points do not first show the previous selection's colors for every cell.
139
+ const deferredCellColorEncoding = useDeferredValue(cellColorEncoding);
127
140
  const deferredSampleSetSelection = useDeferredValue(sampleSetSelection);
128
141
  // Positional rather than keyed by observation ID: at atlas scale an ID-keyed color
129
142
  // Map costs one string hash lookup per point per render, plus a per-observation
@@ -215,7 +228,7 @@ export function EmbeddingScatterplotSubscriber(props) {
215
228
  // eslint-disable-next-line react-hooks/exhaustive-deps
216
229
  }, [xRange, yRange, xExtent, yExtent, numCells,
217
230
  width, height, initialZoom, zoom, initialTargetX, initialTargetY, averageFillDensity]);
218
- const getObsInfo = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
231
+ const getObsInfo = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership, cellSetSelection, tooltipObsSetsMode);
219
232
  // With no set selection every observation counts as selected, matching the
220
233
  // behavior of the ID-keyed color map this replaced. Uses the deferred selection
221
234
  // so that it stays consistent with obsColorIndices within each commit.
@@ -345,6 +358,13 @@ export function EmbeddingScatterplotSubscriber(props) {
345
358
  deferredCellSetSelection, mergedCellSets, featureAggregationStrategyToUse,
346
359
  obsSetsColumns,
347
360
  ]);
361
+ // Animate the 2D zoom/target when they change due to the current annotation frame.
362
+ const annotationFrameCoordinationValues = getAnnotationFrameCoordinationValues(annotationStory, annotationFrameIndex, viewUid);
363
+ const annotationTransitionProps = useAnnotationFrameTransition({ zoom, targetX, targetY }, {
364
+ zoom: annotationFrameCoordinationValues?.[CoordinationType.EMBEDDING_ZOOM],
365
+ targetX: annotationFrameCoordinationValues?.[CoordinationType.EMBEDDING_TARGET_X],
366
+ targetY: annotationFrameCoordinationValues?.[CoordinationType.EMBEDDING_TARGET_Y],
367
+ }, annotationTransitionDuration);
348
368
  const setViewState = ({ zoom: newZoom, target }) => {
349
369
  setZoom(newZoom);
350
370
  setTargetX(target[0]);
@@ -355,14 +375,14 @@ export function EmbeddingScatterplotSubscriber(props) {
355
375
  const cellCountToUse = embeddingPointsVisible
356
376
  ? cellsCount
357
377
  : (stratifiedDataCount ?? cellsCount);
358
- return (_jsxs(TitleInfo, { title: title, info: `${commaNumber(cellCountToUse)} ${plur(observationsLabel, cellCountToUse)}`, closeButtonVisible: closeButtonVisible, downloadButtonVisible: downloadButtonVisible, removeGridComponent: removeGridComponent, urls: urls, theme: theme, isReady: isReady && !isSelectionPending, helpText: helpText, errors: errors, options: (_jsx(ScatterplotOptions, { observationsLabel: observationsLabel, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode: cellRadiusMode, setCellRadiusMode: setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode: cellOpacityMode, setCellOpacityMode: setCellOpacityMode, cellSetLabelsVisible: cellSetLabelsVisible, setCellSetLabelsVisible: setCellSetLabelsVisible, tooltipsVisible: tooltipsVisible, setTooltipsVisible: setTooltipsVisible, cellSetLabelSize: cellSetLabelSize, setCellSetLabelSize: setCellSetLabelSize, cellSetPolygonsVisible: cellSetPolygonsVisible, setCellSetPolygonsVisible: setCellSetPolygonsVisible, cellColorEncoding: cellColorEncoding, setCellColorEncoding: setCellColorEncoding, geneExpressionColormap: geneExpressionColormap, setGeneExpressionColormap: setGeneExpressionColormap, geneExpressionColormapRange: geneExpressionColormapRange, setGeneExpressionColormapRange: setGeneExpressionColormapRange, embeddingPointsVisible: embeddingPointsVisible, setEmbeddingPointsVisible: setEmbeddingPointsVisible, embeddingContoursVisible: embeddingContoursVisible, setEmbeddingContoursVisible: setEmbeddingContoursVisible, embeddingContoursFilled: embeddingContoursFilled, setEmbeddingContoursFilled: setEmbeddingContoursFilled, contourPercentiles: contourPercentiles, setContourPercentiles: setContourPercentiles, defaultContourPercentiles: DEFAULT_CONTOUR_PERCENTILES, contourColorEncoding: contourColorEncoding, setContourColorEncoding: setContourColorEncoding, featureAggregationStrategy: featureAggregationStrategy, setFeatureAggregationStrategy: setFeatureAggregationStrategy })), children: [_jsx(Scatterplot, { ref: deckRef, uuid: uuid, onSelectionBusy: setIsSelectionPending, theme: theme, viewState: { zoom, target: [targetX, targetY, targetZ] }, setViewState: setViewState, originalViewState: originalViewState, obsEmbeddingIndex: obsEmbeddingIndex, obsEmbedding: obsEmbedding, cellFilter: cellFilter, cellHighlight: cellHighlight, obsColorIndices: obsColorIndices, cellSetPolygons: cellSetPolygons, cellSetLabelSize: cellSetLabelSize, cellSetLabelsVisible: cellSetLabelsVisible, cellSetPolygonsVisible: cellSetPolygonsVisible, setCellFilter: setCellFilter, setCellSelection: setCellSelectionProp, setCellHighlight: setCellHighlight, cellRadius: cellRadius, cellOpacity: cellOpacity, cellColorEncoding: cellColorEncoding, geneExpressionColormap: geneExpressionColormap, geneExpressionColormapRange: geneExpressionColormapRange, setComponentHover: () => {
378
+ return (_jsxs(TitleInfo, { title: title, info: `${commaNumber(cellCountToUse)} ${plur(observationsLabel, cellCountToUse)}`, closeButtonVisible: closeButtonVisible, downloadButtonVisible: downloadButtonVisible, removeGridComponent: removeGridComponent, urls: urls, theme: theme, isReady: isReady && !isSelectionPending, helpText: helpText, errors: errors, options: (_jsx(ScatterplotOptions, { observationsLabel: observationsLabel, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode: cellRadiusMode, setCellRadiusMode: setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode: cellOpacityMode, setCellOpacityMode: setCellOpacityMode, cellSetLabelsVisible: cellSetLabelsVisible, setCellSetLabelsVisible: setCellSetLabelsVisible, tooltipsVisible: tooltipsVisible, setTooltipsVisible: setTooltipsVisible, cellSetLabelSize: cellSetLabelSize, setCellSetLabelSize: setCellSetLabelSize, cellSetPolygonsVisible: cellSetPolygonsVisible, setCellSetPolygonsVisible: setCellSetPolygonsVisible, cellColorEncoding: cellColorEncoding, setCellColorEncoding: setCellColorEncoding, geneExpressionColormap: geneExpressionColormap, setGeneExpressionColormap: setGeneExpressionColormap, geneExpressionColormapRange: geneExpressionColormapRange, setGeneExpressionColormapRange: setGeneExpressionColormapRange, embeddingPointsVisible: embeddingPointsVisible, setEmbeddingPointsVisible: setEmbeddingPointsVisible, embeddingContoursVisible: embeddingContoursVisible, setEmbeddingContoursVisible: setEmbeddingContoursVisible, embeddingContoursFilled: embeddingContoursFilled, setEmbeddingContoursFilled: setEmbeddingContoursFilled, contourPercentiles: contourPercentiles, setContourPercentiles: setContourPercentiles, defaultContourPercentiles: DEFAULT_CONTOUR_PERCENTILES, contourColorEncoding: contourColorEncoding, setContourColorEncoding: setContourColorEncoding, featureAggregationStrategy: featureAggregationStrategy, setFeatureAggregationStrategy: setFeatureAggregationStrategy })), children: [_jsx(Scatterplot, { ref: deckRef, uuid: uuid, onSelectionBusy: setIsSelectionPending, theme: theme, viewState: { zoom, target: [targetX, targetY, targetZ], ...annotationTransitionProps }, setViewState: setViewState, originalViewState: originalViewState, obsEmbeddingIndex: obsEmbeddingIndex, obsEmbedding: obsEmbedding, cellFilter: cellFilter, cellHighlight: cellHighlight, obsColorIndices: obsColorIndices, cellSetPolygons: cellSetPolygons, cellSetLabelSize: cellSetLabelSize, cellSetLabelsVisible: cellSetLabelsVisible, cellSetPolygonsVisible: cellSetPolygonsVisible, setCellFilter: setCellFilter, setCellSelection: setCellSelectionProp, setCellHighlight: setCellHighlight, cellRadius: cellRadius, cellOpacity: cellOpacity, cellColorEncoding: deferredCellColorEncoding, geneExpressionColormap: geneExpressionColormap, geneExpressionColormapRange: geneExpressionColormapRange, setComponentHover: () => {
359
379
  setComponentHover(uuid);
360
380
  }, updateViewInfo: setComponentViewInfo, getExpressionValue: getExpressionValue, getCellIsSelected: getCellIsSelected, obsSetSelection: deferredCellSetSelection, sampleSetSelection: deferredSampleSetSelection,
361
381
  // InternMap data structures where keys are
362
382
  // obsSet -> sampleSet -> arrayKey -> [].
363
383
  stratifiedData: stratifiedData, obsSetColor: deferredCellSetColor, sampleSetColor: sampleSetColor, contourThresholds: contourThresholds, contourColorEncoding: contourColorEncoding, contourColor: contourColor, contoursFilled: embeddingContoursFilled, embeddingPointsVisible: embeddingPointsVisible, embeddingContoursVisible: embeddingContoursVisible, circleInfo: circleInfo, featureSelection: geneSelection,
364
384
  // Annotation stuff
365
- annotationShapes: annotationShapes, annotationOverlayVisible: annotationOverlayVisible, annotationSemanticZoom: annotationSemanticZoom, annotationTransitionDuration: annotationTransitionDuration, annotationEditable: annotationEditable }), tooltipsVisible && width && height ? (_jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid, obsHighlight: cellHighlight, width: width, height: height, getObsInfo: getObsInfo, featureType: featureType, featureLabelsMap: featureLabelsMap })) : null, _jsx(Legend, { visible: true, theme: theme, featureType: featureType, featureValueType: featureValueType, obsColorEncoding: cellColorEncoding, featureSelection: geneSelection, featureLabelsMap: featureLabelsMap, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, setFeatureValueColormapRange: setGeneExpressionColormapRange, obsSetSelection: cellSetSelection, extent: expressionExtents, missing: expressionMissing,
385
+ annotationShapes: annotationShapes, annotationOverlayVisible: annotationOverlayVisible, annotationSemanticZoom: annotationSemanticZoom, annotationTransitionDuration: annotationTransitionDuration, annotationEditable: annotationEditable, ...annotationEditingProps }), tooltipsVisible && width && height ? (_jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid, obsHighlight: cellHighlight, width: width, height: height, getObsInfo: getObsInfo, featureType: featureType, featureLabelsMap: featureLabelsMap })) : null, _jsx(Legend, { visible: true, theme: theme, featureType: featureType, featureValueType: featureValueType, obsColorEncoding: deferredCellColorEncoding, featureSelection: geneSelection, featureLabelsMap: featureLabelsMap, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, setFeatureValueColormapRange: setGeneExpressionColormapRange, obsSetSelection: cellSetSelection, extent: expressionExtents, missing: expressionMissing,
366
386
  // Contour percentile legend
367
387
  pointsVisible: embeddingPointsVisible, contoursVisible: embeddingContoursVisible, contoursFilled: embeddingContoursFilled, contourPercentiles: contourPercentiles || DEFAULT_CONTOUR_PERCENTILES, contourThresholds: contourThresholds, featureAggregationStrategy: featureAggregationStrategyToUse })] }));
368
388
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EmbeddingScatterplotSubscriber.js","sourceRoot":"","sources":["../src/EmbeddingScatterplotSubscriber.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EmbeddingScatterplotSubscriber.js","sourceRoot":"","sources":["../src/EmbeddingScatterplotSubscriber.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EmbeddingScatterplotSubscriber.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbeddingScatterplotSubscriber.test.d.ts","sourceRoot":"","sources":["../src/EmbeddingScatterplotSubscriber.test.jsx"],"names":[],"mappings":""}
@@ -0,0 +1,103 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { it, expect, vi } from 'vitest';
4
+ import { render, act } from '@testing-library/react';
5
+ import { Scatterplot } from '@vitessce/scatterplot';
6
+ import { EmbeddingScatterplotSubscriber } from './EmbeddingScatterplotSubscriber.js';
7
+ const state = vi.hoisted(() => ({
8
+ values: {}, setters: {}, index: [], embedding: null, sets: null,
9
+ }));
10
+ vi.mock('@vitessce/vit-s', () => ({
11
+ TitleInfo: ({ children }) => children,
12
+ useReady: () => true,
13
+ useUrls: () => [],
14
+ useDeckCanvasSize: () => [0, 0, null],
15
+ useUint8FeatureSelection: () => ({}),
16
+ useExpressionValueGetter: () => () => 0,
17
+ useGetObsInfo: () => () => ({}),
18
+ useObsEmbeddingData: () => [{ obsIndex: state.index, obsEmbedding: state.embedding }, 'success', [], null],
19
+ useObsSetsData: () => [{ obsSets: state.sets }, 'success', [], null],
20
+ useAnnotationStoryData: () => [{}, 'success', [], null],
21
+ useAnnotationFrameCoordination: () => { },
22
+ useAnnotationEditingForView: () => ({}),
23
+ useFeatureSelection: () => [null, [], 'success', []],
24
+ useObsFeatureMatrixIndices: () => [{ obsIndex: state.index }, 'success', [], null],
25
+ useFeatureLabelsData: () => [{}, 'success', [], null],
26
+ useMultiObsLabels: () => [[], [], [], [], []],
27
+ useSampleSetsData: () => [{}, 'success', [], null],
28
+ useSampleEdgesData: () => [{}, 'success', [], null],
29
+ useCoordination: () => [state.values, state.setters],
30
+ useLoaders: () => ({}),
31
+ useSetComponentHover: () => () => { },
32
+ useSetComponentViewInfo: () => () => { },
33
+ useInitialCoordination: () => ({ embeddingZoom: 0, embeddingTargetX: 0, embeddingTargetY: 0 }),
34
+ useExpandedFeatureLabelsMap: () => [null, 'success'],
35
+ useViewMapping: () => [{}, {}, {}],
36
+ }));
37
+ vi.mock('@vitessce/scatterplot', () => ({
38
+ Scatterplot: vi.fn(() => null),
39
+ ScatterplotTooltipSubscriber: () => null,
40
+ ScatterplotOptions: () => null,
41
+ getPointSizeDevicePixels: () => 1,
42
+ getPointOpacity: () => 1,
43
+ useAnnotationFrameTransition: () => ({}),
44
+ }));
45
+ vi.mock('@vitessce/legend', () => ({ Legend: () => null }));
46
+ it('switches from feature value coloring to a lasso selection without showing the previous selection', () => {
47
+ state.index = Array.from({ length: 1000 }, (_, i) => `cell-${i}`);
48
+ state.embedding = {
49
+ shape: [2, state.index.length],
50
+ data: [
51
+ Float32Array.from(state.index, (_, i) => i % 32),
52
+ Float32Array.from(state.index, (_, i) => Math.floor(i / 32)),
53
+ ],
54
+ };
55
+ state.sets = {
56
+ version: '0.1.3',
57
+ tree: [{
58
+ name: 'Types',
59
+ children: [{ name: 'All', set: state.index.map(id => [id, null]) }],
60
+ }],
61
+ };
62
+ // Coloring by feature values, with a previous set selection still stored.
63
+ state.values = {
64
+ dataset: 'A',
65
+ obsType: 'cell',
66
+ embeddingType: 'UMAP',
67
+ embeddingZoom: 0,
68
+ embeddingTargetX: 0,
69
+ embeddingTargetY: 0,
70
+ embeddingPointsVisible: true,
71
+ embeddingContoursVisible: false,
72
+ obsSetSelection: [['Types', 'All']],
73
+ additionalObsSets: null,
74
+ obsSetColor: [{ path: ['Types', 'All'], color: [0, 0, 255] }],
75
+ obsColorEncoding: 'geneSelection',
76
+ };
77
+ state.setters = Object.fromEntries([
78
+ 'AdditionalObsSets', 'ObsSetSelection', 'ObsSetColor', 'ObsColorEncoding',
79
+ ].map(name => [`set${name}`, (value) => {
80
+ state.values = { ...state.values, [name[0].toLowerCase() + name.slice(1)]: value };
81
+ }]));
82
+ const props = { uuid: 'umap', theme: 'dark' };
83
+ const { rerender } = render(_jsx(EmbeddingScatterplotSubscriber, { ...props }));
84
+ const initialColorIndices = Scatterplot.mock.lastCall[0].obsColorIndices;
85
+ const currentSelect = Scatterplot.mock.lastCall[0].setCellSelection;
86
+ Scatterplot.mockClear();
87
+ act(() => {
88
+ // The same callback the selection layer calls after its hit test.
89
+ currentSelect(state.index.slice(0, 600));
90
+ rerender(_jsx(EmbeddingScatterplotSubscriber, { ...props }));
91
+ });
92
+ const lastPlot = Scatterplot.mock.lastCall[0];
93
+ expect(lastPlot.cellColorEncoding).toEqual('cellSetSelection');
94
+ expect(lastPlot.obsColorIndices).not.toBe(initialColorIndices);
95
+ // Set selection coloring is only shown together with the new colors. Showing
96
+ // it with the previous colors would color every cell by the previous selection.
97
+ Scatterplot.mock.calls.forEach(([plot]) => {
98
+ if (plot.cellColorEncoding === 'cellSetSelection') {
99
+ expect(plot.obsSetSelection).toEqual(state.values.obsSetSelection);
100
+ }
101
+ });
102
+ });
103
+ //# sourceMappingURL=EmbeddingScatterplotSubscriber.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmbeddingScatterplotSubscriber.test.js","sourceRoot":"","sources":["../src/EmbeddingScatterplotSubscriber.test.jsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAChE,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ;IACrC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;IACpB,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;IACjB,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;IACrC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IACpC,wBAAwB,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,aAAa,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IAC/B,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC;IAC1G,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC;IACpE,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC;IACvD,8BAA8B,EAAE,GAAG,EAAE,GAAE,CAAC;IACxC,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IACvC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;IACpD,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC;IAClF,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC;IACrD,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC7C,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC;IAClD,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC;IACnD,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;IACpD,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IACtB,oBAAoB,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;IACpC,uBAAuB,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;IACvC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;IAC9F,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC;IACpD,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;CACnC,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IAC9B,4BAA4B,EAAE,GAAG,EAAE,CAAC,IAAI;IACxC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI;IAC9B,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,4BAA4B,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAE5D,EAAE,CAAC,kGAAkG,EAAE,GAAG,EAAE;IAC1G,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClE,KAAK,CAAC,SAAS,GAAG;QAChB,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9B,IAAI,EAAE;YACJ,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YAChD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SAC7D;KACF,CAAC;IACF,KAAK,CAAC,IAAI,GAAG;QACX,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,CAAC;gBACL,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC;KACH,CAAC;IACF,0EAA0E;IAC1E,KAAK,CAAC,MAAM,GAAG;QACb,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,MAAM;QACrB,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC;QACnB,sBAAsB,EAAE,IAAI;QAC5B,wBAAwB,EAAE,KAAK;QAC/B,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnC,iBAAiB,EAAE,IAAI;QACvB,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAC7D,gBAAgB,EAAE,eAAe;KAClC,CAAC;IACF,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;QACjC,mBAAmB,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB;KAC1E,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACrF,CAAC,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAC,8BAA8B,OAAK,KAAK,GAAI,CAAC,CAAC;IAC3E,MAAM,mBAAmB,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IACzE,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACpE,WAAW,CAAC,SAAS,EAAE,CAAC;IAExB,GAAG,CAAC,GAAG,EAAE;QACP,kEAAkE;QAClE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACzC,QAAQ,CAAC,KAAC,8BAA8B,OAAK,KAAK,GAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/D,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC/D,6EAA6E;IAC7E,gFAAgF;IAChF,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;QACxC,IAAI,IAAI,CAAC,iBAAiB,KAAK,kBAAkB,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/scatterplot-embedding",
3
- "version": "4.0.10",
3
+ "version": "4.1.1",
4
4
  "author": "HIDIVE Lab at HMS",
5
5
  "homepage": "http://vitessce.io",
6
6
  "repository": {
@@ -20,13 +20,13 @@
20
20
  "lodash-es": "^4.17.21",
21
21
  "react-aria": "^3.47.0",
22
22
  "@turf/circle": "^7.2.0",
23
- "@vitessce/constants-internal": "4.0.10",
24
- "@vitessce/styles": "4.0.10",
25
- "@vitessce/legend": "4.0.10",
26
- "@vitessce/scatterplot": "4.0.10",
27
- "@vitessce/utils": "4.0.10",
28
- "@vitessce/vit-s": "4.0.10",
29
- "@vitessce/sets-utils": "4.0.10"
23
+ "@vitessce/styles": "4.1.1",
24
+ "@vitessce/constants-internal": "4.1.1",
25
+ "@vitessce/legend": "4.1.1",
26
+ "@vitessce/scatterplot": "4.1.1",
27
+ "@vitessce/vit-s": "4.1.1",
28
+ "@vitessce/utils": "4.1.1",
29
+ "@vitessce/sets-utils": "4.1.1"
30
30
  },
31
31
  "devDependencies": {
32
32
  "react": "19.2.6",
@@ -56,6 +56,7 @@ export function DualEmbeddingScatterplotSubscriber(props) {
56
56
  <EmbeddingScatterplotSubscriber
57
57
  {...props}
58
58
  uuid={`${uuid}-case`}
59
+ viewUid={uuid}
59
60
  title={(isCaseCtrl
60
61
  ? `Scatterplot (${embeddingType}), ${caseSampleSetSelection?.[0]?.at(-1)}`
61
62
  : null
@@ -68,6 +69,7 @@ export function DualEmbeddingScatterplotSubscriber(props) {
68
69
  <EmbeddingScatterplotSubscriber
69
70
  {...props}
70
71
  uuid={`${uuid}-ctrl`}
72
+ viewUid={uuid}
71
73
  title={`Scatterplot (${embeddingType}), ${ctrlSampleSetSelection?.[0]?.at(-1)}`}
72
74
  sampleSetSelection={ctrlSampleSetSelection}
73
75
  />