@vitessce/scatterplot-embedding 4.0.8 → 4.0.10

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-Cf5zo2l6.js";
1
+ import { D, E } from "./index-DoXbfOn2.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-Cf5zo2l6.js";
1
+ import { B as BaseDecoder } from "./index-DoXbfOn2.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-Cf5zo2l6.js";
2
+ import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-DoXbfOn2.js";
3
3
  const LercParameters = {
4
4
  AddCompression: 1
5
5
  };
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-Cf5zo2l6.js";
1
+ import { B as BaseDecoder } from "./index-DoXbfOn2.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-Cf5zo2l6.js";
1
+ import { B as BaseDecoder } from "./index-DoXbfOn2.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-Cf5zo2l6.js";
1
+ import { B as BaseDecoder } from "./index-DoXbfOn2.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-Cf5zo2l6.js";
1
+ import { B as BaseDecoder } from "./index-DoXbfOn2.js";
2
2
  class WebImageDecoder extends BaseDecoder {
3
3
  constructor() {
4
4
  super();
@@ -1,10 +1,9 @@
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.
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`.
5
6
  * @param {string} props.theme The current theme name.
6
- * @param {object} props.coordinationScopes The mapping from coordination types to coordination
7
- * scopes.
8
7
  * @param {function} props.removeGridComponent The callback function to pass to TitleInfo,
9
8
  * to call when the component has been removed from the grid.
10
9
  * @param {string} props.title An override value for the component title.
@@ -14,7 +13,6 @@
14
13
  export function EmbeddingScatterplotSubscriber(props: {
15
14
  uuid: number;
16
15
  theme: string;
17
- coordinationScopes: object;
18
16
  removeGridComponent: Function;
19
17
  title: string;
20
18
  averageFillDensity: number;
@@ -1 +1 @@
1
- {"version":3,"file":"EmbeddingScatterplotSubscriber.d.ts","sourceRoot":"","sources":["../src/EmbeddingScatterplotSubscriber.js"],"names":[],"mappings":"AA6CA;;;;;;;;;;;;GAYG;AACH,sDAVG;IAAsB,IAAI,EAAlB,MAAM;IACQ,KAAK,EAAnB,MAAM;IACQ,kBAAkB,EAAhC,MAAM;IAEU,mBAAmB;IAErB,KAAK,EAAnB,MAAM;IACQ,kBAAkB,EAAhC,MAAM;CAEhB,OAooBA"}
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"}
@@ -3,7 +3,7 @@ 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, useFeatureSelection, useObsFeatureMatrixIndices, useFeatureLabelsData, useMultiObsLabels, useSampleSetsData, useSampleEdgesData, useCoordination, useLoaders, useSetComponentHover, useSetComponentViewInfo, useInitialCoordination, useExpandedFeatureLabelsMap, useCoordinationScopes, } from '@vitessce/vit-s';
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';
7
7
  import { setObsSelection, mergeObsSets, getCellSetPolygons, treeToColorIndicesArray, colorIndicesFromCodes, getObsIndexMap, stratifyArrays, } from '@vitessce/sets-utils';
8
8
  import { pluralize as plur, commaNumber, aggregateFeatureArrays } from '@vitessce/utils';
9
9
  import { Scatterplot, ScatterplotTooltipSubscriber, ScatterplotOptions, getPointSizeDevicePixels, getPointOpacity, } from '@vitessce/scatterplot';
@@ -14,10 +14,9 @@ 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.
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`.
18
19
  * @param {string} props.theme The current theme name.
19
- * @param {object} props.coordinationScopes The mapping from coordination types to coordination
20
- * scopes.
21
20
  * @param {function} props.removeGridComponent The callback function to pass to TitleInfo,
22
21
  * to call when the component has been removed from the grid.
23
22
  * @param {string} props.title An override value for the component title.
@@ -25,7 +24,7 @@ const DEFAULT_FEATURE_AGGREGATION_STRATEGY = 'first';
25
24
  * when using dynamic opacity mode.
26
25
  */
27
26
  export function EmbeddingScatterplotSubscriber(props) {
28
- const { uuid, coordinationScopes: coordinationScopesRaw, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, observationsLabelOverride, title: titleOverride, helpText = ViewHelpMapping.SCATTERPLOT,
27
+ const { uuid, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, observationsLabelOverride, title: titleOverride, helpText = ViewHelpMapping.SCATTERPLOT,
29
28
  // Average fill density for dynamic opacity calculation.
30
29
  averageFillDensity,
31
30
  // For the dual scatterplot:
@@ -33,12 +32,23 @@ export function EmbeddingScatterplotSubscriber(props) {
33
32
  // Circle scale factor:
34
33
  circleScaleFactor = 0.8, } = props;
35
34
  const loaders = useLoaders();
36
- const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
35
+ // useViewMapping looks up this view's coordination mapping directly from the
36
+ // view config (by uuid), after accounting for meta-coordination, so there is
37
+ // no need for a `coordinationScopes` prop to be threaded down from a parent.
38
+ // coordinationValues are values which this view defines directly, which take
39
+ // precedence over values obtained via coordinationScopes.
40
+ const [
41
+ // eslint-disable-next-line no-unused-vars
42
+ coordinationScopes, _coordinationScopesBy, coordinationValues,] = useViewMapping(uuid);
37
43
  const setComponentHover = useSetComponentHover();
38
44
  const setComponentViewInfo = useSetComponentViewInfo(uuid);
45
+ // Merge the coordination values that the current annotation frame defines for this view
46
+ // into the coordination space, whenever the frame changes. The story itself is read-only.
47
+ // TODO: handle the rendering of alternative views/layouts (in vit-s?)
48
+ useAnnotationFrameCoordination(uuid, coordinationScopes, coordinationValues);
39
49
  // Get "props" from the coordination space.
40
- 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, }, { 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, }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.SCATTERPLOT], coordinationScopes);
41
- const { embeddingZoom: initialZoom, embeddingTargetX: initialTargetX, embeddingTargetY: initialTargetY, } = useInitialCoordination(COMPONENT_COORDINATION_TYPES[ViewType.SCATTERPLOT], coordinationScopes);
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);
51
+ const { embeddingZoom: initialZoom, embeddingTargetX: initialTargetX, embeddingTargetY: initialTargetY, } = useInitialCoordination(COMPONENT_COORDINATION_TYPES[ViewType.SCATTERPLOT], coordinationScopes, coordinationValues);
42
52
  const observationsLabel = observationsLabelOverride || obsType;
43
53
  const sampleSetSelection = (sampleSetSelectionFromProps
44
54
  || sampleSetSelectionFromCoordination);
@@ -46,6 +56,11 @@ export function EmbeddingScatterplotSubscriber(props) {
46
56
  ?? DEFAULT_FEATURE_AGGREGATION_STRATEGY;
47
57
  const [width, height, deckRef] = useDeckCanvasSize();
48
58
  const title = titleOverride || `Scatterplot (${mapping})`;
59
+ // The loaded story is only used to initialize the annotationStory
60
+ // coordination value (when it is currently null), so the data is not needed here.
61
+ // Note that this hook appears after the useCoordination for annotationStory above,
62
+ // but hopefully that does not cause any issues.
63
+ const [, annotationStoryStatus, annotationStoryUrls, annotationStoryError,] = useAnnotationStoryData(loaders, dataset, false, { setAnnotationStory }, { annotationStory }, {});
49
64
  const [
50
65
  // eslint-disable-next-line no-unused-vars
51
66
  obsLabelsTypes, obsLabelsData, obsLabelsStatus, obsLabelsUrls, obsLabelsErrors,] = useMultiObsLabels(coordinationScopes, obsType, loaders, dataset);
@@ -70,10 +85,12 @@ export function EmbeddingScatterplotSubscriber(props) {
70
85
  featureLabelsError,
71
86
  sampleSetsError,
72
87
  sampleEdgesError,
88
+ annotationStoryError,
73
89
  ];
74
90
  const isReady = useReady([
75
91
  obsEmbeddingStatus,
76
92
  obsSetsStatus,
93
+ annotationStoryStatus,
77
94
  featureSelectionStatus,
78
95
  featureLabelsStatus,
79
96
  expandedFeatureLabelsStatus,
@@ -88,6 +105,7 @@ export function EmbeddingScatterplotSubscriber(props) {
88
105
  featureLabelsUrls,
89
106
  sampleSetsUrl,
90
107
  sampleEdgesUrl,
108
+ annotationStoryUrls,
91
109
  ]);
92
110
  const [dynamicCellRadius, setDynamicCellRadius] = useState(cellRadiusFixed);
93
111
  const [isSelectionPending, setIsSelectionPending] = useState(false);
@@ -342,7 +360,9 @@ export function EmbeddingScatterplotSubscriber(props) {
342
360
  }, updateViewInfo: setComponentViewInfo, getExpressionValue: getExpressionValue, getCellIsSelected: getCellIsSelected, obsSetSelection: deferredCellSetSelection, sampleSetSelection: deferredSampleSetSelection,
343
361
  // InternMap data structures where keys are
344
362
  // obsSet -> sampleSet -> arrayKey -> [].
345
- stratifiedData: stratifiedData, obsSetColor: deferredCellSetColor, sampleSetColor: sampleSetColor, contourThresholds: contourThresholds, contourColorEncoding: contourColorEncoding, contourColor: contourColor, contoursFilled: embeddingContoursFilled, embeddingPointsVisible: embeddingPointsVisible, embeddingContoursVisible: embeddingContoursVisible, circleInfo: circleInfo, featureSelection: geneSelection }), 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,
363
+ stratifiedData: stratifiedData, obsSetColor: deferredCellSetColor, sampleSetColor: sampleSetColor, contourThresholds: contourThresholds, contourColorEncoding: contourColorEncoding, contourColor: contourColor, contoursFilled: embeddingContoursFilled, embeddingPointsVisible: embeddingPointsVisible, embeddingContoursVisible: embeddingContoursVisible, circleInfo: circleInfo, featureSelection: geneSelection,
364
+ // 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,
346
366
  // Contour percentile legend
347
367
  pointsVisible: embeddingPointsVisible, contoursVisible: embeddingContoursVisible, contoursFilled: embeddingContoursFilled, contourPercentiles: contourPercentiles || DEFAULT_CONTOUR_PERCENTILES, contourThresholds: contourThresholds, featureAggregationStrategy: featureAggregationStrategyToUse })] }));
348
368
  }
@@ -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":";AAAA,OAAO,KAAK,EAAE,EACZ,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAC5D,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,SAAS,EACT,QAAQ,EAAE,OAAO,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,8BAA8B,EAC9B,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAC1E,qBAAqB,EAAE,cAAc,EAAE,cAAc,GACtD,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,WAAW,EAAE,4BAA4B,EAAE,kBAAkB,EAC7D,wBAAwB,EACxB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACvG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,oCAAoC,GAAG,OAAO,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAAK;IAClD,MAAM,EACJ,IAAI,EACJ,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,EACL,yBAAyB,EACzB,KAAK,EAAE,aAAa,EACpB,QAAQ,GAAG,eAAe,CAAC,WAAW;IACtC,wDAAwD;IACxD,kBAAkB;IAClB,4BAA4B;IAC5B,kBAAkB,EAAE,2BAA2B;IAC/C,uBAAuB;IACvB,iBAAiB,GAAG,GAAG,GACxB,GAAG,KAAK,CAAC;IAEV,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,0DAA0D;IAC1D,MAAM;IACJ,0CAA0C;IAC1C,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAC9D,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IACjD,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE3D,wFAAwF;IACxF,0FAA0F;IAC1F,sEAAsE;IACtE,8BAA8B,CAAC,IAAI,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IAE7E,2CAA2C;IAC3C,MAAM,CAAC,EACL,OAAO,EACP,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,aAAa,EAAE,IAAI,EACnB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,EACzB,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,aAAa,EAC/B,eAAe,EAAE,gBAAgB,EACjC,WAAW,EAAE,YAAY,EACzB,gBAAgB,EAAE,iBAAiB,EACnC,iBAAiB,EAAE,kBAAkB,EACrC,8BAA8B,EAAE,sBAAsB,EACtD,4BAA4B,EAAE,oBAAoB,EAClD,wBAAwB,EAAE,gBAAgB,EAC1C,kBAAkB,EAAE,eAAe,EACnC,sBAAsB,EAAE,cAAc,EACtC,mBAAmB,EAAE,gBAAgB,EACrC,uBAAuB,EAAE,eAAe,EACxC,oBAAoB,EAAE,sBAAsB,EAC5C,yBAAyB,EAAE,2BAA2B,EACtD,eAAe,EACf,kBAAkB,EAAE,kCAAkC,EACtD,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAAE,kBAAkB,EAC/C,oBAAoB,EACpB,YAAY,EACZ,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,GACnB,EAAE,EACD,gBAAgB,EAAE,OAAO,EACzB,mBAAmB,EAAE,UAAU,EAC/B,mBAAmB,EAAE,UAAU,EAC/B,mBAAmB,EAAE,UAAU,EAC/B,YAAY,EAAE,aAAa,EAC3B,kBAAkB,EAAE,mBAAmB,EACvC,eAAe,EAAE,gBAAgB,EACjC,cAAc,EAAE,eAAe,EAC/B,mBAAmB,EAAE,oBAAoB,EACzC,oBAAoB,EAAE,qBAAqB,EAC3C,iCAAiC,EAAE,yBAAyB,EAC5D,+BAA+B,EAAE,uBAAuB,EACxD,2BAA2B,EAAE,mBAAmB,EAChD,qBAAqB,EAAE,kBAAkB,EACzC,yBAAyB,EAAE,iBAAiB,EAC5C,sBAAsB,EAAE,mBAAmB,EAC3C,0BAA0B,EAAE,kBAAkB,EAC9C,uBAAuB,EAAE,yBAAyB,EAClD,4BAA4B,EAAE,8BAA8B,EAC5D,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,8BAA8B,EAAE,qBAAqB,EACrD,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,GACnB,CAAC,GAAG,eAAe,CAClB,4BAA4B,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,EACtE,kBAAkB,EAAE,IAAI,CACzB,CAAC;IAEF,MAAM,EACJ,aAAa,EAAE,WAAW,EAC1B,gBAAgB,EAAE,cAAc,EAChC,gBAAgB,EAAE,cAAc,GACjC,GAAG,sBAAsB,CACxB,4BAA4B,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,EACtE,kBAAkB,CACnB,CAAC;IAEF,MAAM,iBAAiB,GAAG,yBAAyB,IAAI,OAAO,CAAC;IAC/D,MAAM,kBAAkB,GAAG,CACzB,2BAA2B;WACxB,kCAAkC,CACtC,CAAC;IAEF,MAAM,+BAA+B,GAAG,0BAA0B;WAC7D,oCAAoC,CAAC;IAE1C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,iBAAiB,EAAE,CAAC;IAErD,MAAM,KAAK,GAAG,aAAa,IAAI,gBAAgB,OAAO,GAAG,CAAC;IAG1D,kEAAkE;IAClE,kFAAkF;IAClF,mFAAmF;IACnF,gDAAgD;IAChD,MAAM,CACJ,AADK,EACH,qBAAqB,EAAE,mBAAmB,EAAE,oBAAoB,EACnE,GAAG,sBAAsB,CACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EACvB,EAAE,kBAAkB,EAAE,EACtB,EAAE,eAAe,EAAE,EACnB,EAAE,CACH,CAAC;IAEF,MAAM;IACJ,0CAA0C;IAC1C,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAC/E,GAAG,iBAAiB,CACnB,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAC9C,CAAC;IAEF,8CAA8C;IAC9C,MAAM,CACJ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,EAC7C,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAClB,GAAG,mBAAmB,CACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAC9B,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CACpC,CAAC;IACF,MAAM,UAAU,GAAG,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC;IAClD,MAAM,CACJ,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,EACxD,aAAa,EAAE,WAAW,EAAE,YAAY,EACzC,GAAG,cAAc,CAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EACvB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,eAAe,EAAE,EAC5E,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,EAChE,EAAE,OAAO,EAAE,CACZ,CAAC;IACF,MAAM;IACJ,0CAA0C;IAC1C,cAAc,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EACvF,GAAG,mBAAmB,CACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EACtC,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAC3C,CAAC;IACF,MAAM,CACJ,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EACzF,GAAG,0BAA0B,CAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EACvB,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAC3C,CAAC;IACF,MAAM,CACJ,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,EAC1C,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EACnB,GAAG,oBAAoB,CACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAC/B,EAAE,WAAW,EAAE,CAChB,CAAC;IACF,MAAM,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,GAAG,2BAA2B,CACjF,WAAW,EAAE,oBAAoB,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAChE,CAAC;IAEF,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,CAAC,GAAG,iBAAiB,CAC1F,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAC/B,EAAE,UAAU,EAAE,CACf,CAAC;IAEF,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,CAAC,GAAG,kBAAkB,CAC/F,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAC/B,EAAE,OAAO,EAAE,UAAU,EAAE,CACxB,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,GAAG,eAAe;QAClB,iBAAiB;QACjB,YAAY;QACZ,GAAG,sBAAsB;QACzB,kBAAkB;QAClB,kBAAkB;QAClB,eAAe;QACf,gBAAgB;QAChB,oBAAoB;KACrB,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC;QACvB,kBAAkB;QAClB,aAAa;QACb,qBAAqB;QACrB,sBAAsB;QACtB,mBAAmB;QACnB,2BAA2B;QAC3B,mBAAmB;QACnB,gBAAgB;QAChB,iBAAiB;KAClB,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,OAAO,CAAC;QACnB,gBAAgB;QAChB,WAAW;QACX,iBAAiB;QACjB,iBAAiB;QACjB,aAAa;QACb,cAAc;QACd,mBAAmB;KACpB,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC5E,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAE/E,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAC/C,QAAQ,EAAE,kBAAkB,CAC7B,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEnC,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7C,eAAe,CACb,CAAC,EAAE,kBAAkB,EAAE,YAAY,EACnC,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,EAC3D,oBAAoB,CACrB,CAAC;IACJ,CAAC,EAAE,CAAC,kBAAkB,EAAE,YAAY,EAAE,oBAAoB;QACxD,qBAAqB,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEhE,4EAA4E;IAC5E,gFAAgF;IAChF,6EAA6E;IAC7E,gFAAgF;IAChF,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACpE,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,0BAA0B,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IAExE,mFAAmF;IACnF,gFAAgF;IAChF,kEAAkE;IAClE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,0EAA0E;IAC1E,CAAC,cAAc,IAAI,cAAc,CAAC,QAAQ,KAAK,iBAAiB;WAC3D,qBAAqB,CAAC;YACvB,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,QAAQ,EAAE,iBAAiB;YAC3B,iBAAiB,EAAE,wBAAwB;YAC3C,YAAY,EAAE,oBAAoB;YAClC,KAAK;SACN,CAAC,CAAC;WACF,uBAAuB,CACxB,cAAc,EAAE,wBAAwB,EAAE,oBAAoB,EAC9D,iBAAiB,EAAE,KAAK,CACzB,CACF,EAAE,CAAC,cAAc,EAAE,wBAAwB,EAAE,oBAAoB;QAChE,iBAAiB,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAE7C,oFAAoF;IACpF,8CAA8C;IAC9C,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,oBAAoB,IAAI,sBAAsB,CAAC;eAC/C,CAAC,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;eACxD,cAAc,EAAE,IAAI,EAAE,MAAM;eAC5B,YAAY;eACZ,iBAAiB;eACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;YAClC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;gBAC5C,QAAQ,EAAE,iBAAiB;gBAC3B,YAAY;gBACZ,QAAQ,EAAE,cAAc;gBACxB,gBAAgB,EAAE,wBAAwB;gBAC1C,YAAY,EAAE,oBAAoB;gBAClC,KAAK;aACN,CAAC,CAAC;YACH,sBAAsB,CACpB,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CAAC,CACpE,CAAC;YACF,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QACD,OAAO,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,IAAI,EAAE,CAAC;IACvE,CAAC,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,KAAK;QAC1E,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,wBAAwB;QACzE,oBAAoB,CAAC,CAAC,CAAC;IAGzB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE;QAChE,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACzB,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,sCAAsC;IACtC,6CAA6C;IAC7C,mDAAmD;IACnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YACxC,MAAM,qBAAqB,GAAG,wBAAwB,CACpD,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CACvE,CAAC;YACF,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;YAE5C,MAAM,oBAAoB,GAAG,eAAe,CAC1C,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,CAClE,CAAC;YACF,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;YAE5C,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBAC7E,yDAAyD;gBACzD,iDAAiD;gBACjD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;gBAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;gBAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;gBACrE,MAAM,iBAAiB,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC;gBACvF,MAAM,uBAAuB,GAAG,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;gBACpF,IAAI,iBAAiB,IAAI,uBAAuB,EAAE,CAAC;oBACjD,UAAU,CAAC,UAAU,CAAC,CAAC;oBACvB,wFAAwF;oBACxF,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC;oBACxB,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnB,CAAC;gBACD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAChF,CAAC;iBAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,6CAA6C;gBAC7C,gDAAgD;gBAChD,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;QAC5C,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEzF,MAAM,UAAU,GAAG,aAAa,CAC9B,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,CACpE,CAAC;IAEF,2EAA2E;IAC3E,gFAAgF;IAChF,uEAAuE;IACvE,MAAM,gBAAgB,GAAG,CAAC,CAAC,wBAAwB,IAAI,cAAc,CAAC,CAAC;IACvE,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC3D,CAAC,gBAAgB,IAAI,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAC5E,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAE3F,oFAAoF;IACpF,8CAA8C;IAC9C,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5C,IAAI,+BAA+B,IAAI,IAAI,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3F,MAAM,UAAU,GAAG,sBAAsB,CAAC,cAAc,EAAE,+BAA+B,CAAC,CAAC;YAC3F,wEAAwE;YACxE,OAAO,CAAC,UAAU,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC,EAAE,CAAC,cAAc,EAAE,+BAA+B,CAAC,CAAC,CAAC;IAEtD,MAAM,EACJ,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,GAC3B,GAAG,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;IAEvD,kEAAkE;IAClE,iEAAiE;IACjE,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;QAClD,gBAAgB,EAAE,iBAAiB;QACnC,cAAc;QACd,cAAc,EAAE,mBAAmB;KACpC,CAAC,CAAC;IAEH,oEAAoE;IACpE,iEAAiE;IACjE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,8EAA8E;IAC9E,sCAAsC;IACtC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,CAAC,kBAAkB,IAAI,2BAA2B,CAAC;iBACnE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;iBAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9B,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC;IAExC,2DAA2D;IAC3D,iDAAiD;IACjD,kDAAkD;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG;YACb,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3B,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;SAC5B,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACtI,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,0CAA0C;QAC1C,2CAA2C;QAC3C,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC;QAC/D,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACvD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO;YACL,MAAM;YACN,MAAM;YACN,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,SAAS;SACjB,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE1E,iEAAiE;IACjE,sEAAsE;IACtE,iEAAiE;IACjE,yEAAyE;IACzE,6DAA6D;IAC7D,0EAA0E;IAC1E,uDAAuD;IACvD,qDAAqD;IACrD,MAAM,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE;QACjE,4DAA4D;QAC5D,IAAI,YAAY,EAAE,IAAI,IAAI,iBAAiB,IAAI,cAAc;eACxD,iBAAiB,KAAK,cAAc,EAAE,CAAC;YAC1C,iEAAiE;YACjE,2CAA2C;YAC3C,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;YACtD,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAE5E,MAAM,iBAAiB,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC9D,MAAM,gBAAgB,GAAG;gBACvB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACjE,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aAClE,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACxC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,iBAAiB,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,CAAC,iBAAiB,EAAE,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,6EAA6E;QAC7E,OAAO,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC;IAEtD,2DAA2D;IAC3D,+EAA+E;IAC/E,6EAA6E;IAC7E,0EAA0E;IAC1E,0BAA0B;IAC1B,MAAM,sBAAsB,GAAG,wBAAwB,IAAI,CAAC,sBAAsB,CAAC;IACnF,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE;QACzD,IAAI,sBAAsB,IAAI,oBAAoB,EAAE,IAAI,EAAE,CAAC;YACzD,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,cAAc,CAC9C,WAAW,EACX,UAAU,EAAE,0BAA0B,EACtC,qBAAqB,EAAE,cAAc,EAAE,wBAAwB,EAAE;gBAC/D,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3E,EAAE,+BAA+B;YAClC,0EAA0E;YAC1E,EAAE,cAAc,EAAE,CACnB,CAAC;YACF,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,oBAAoB;QACrE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,0BAA0B;QACxE,wBAAwB,EAAE,cAAc,EAAE,+BAA+B;QACzE,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QACjD,OAAO,CAAC,OAAO,CAAC,CAAC;QACjB,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,+EAA+E;IAC/E,MAAM,cAAc,GAAG,sBAAsB;QAC3C,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,CAAC,mBAAmB,IAAI,UAAU,CAAC,CAAC;IAExC,OAAO,CACL,MAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,EAAE,EACjF,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,EAC5C,mBAAmB,EAAE,mBAAmB,EACxC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,IAAI,CAAC,kBAAkB,EACvC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CACP,KAAC,kBAAkB,IACjB,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,eAAe,EAC3B,aAAa,EAAE,kBAAkB,EACjC,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,gBAAgB,EAC7B,cAAc,EAAE,mBAAmB,EACnC,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,uBAAuB,EAAE,uBAAuB,EAChD,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,sBAAsB,EAAE,sBAAsB,EAC9C,yBAAyB,EAAE,yBAAyB,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,oBAAoB,EAAE,oBAAoB,EAC1C,sBAAsB,EAAE,sBAAsB,EAC9C,yBAAyB,EAAE,yBAAyB,EACpD,2BAA2B,EAAE,2BAA2B,EACxD,8BAA8B,EAAE,8BAA8B,EAC9D,sBAAsB,EAAE,sBAAsB,EAC9C,yBAAyB,EAAE,yBAAyB,EACpD,wBAAwB,EAAE,wBAAwB,EAClD,2BAA2B,EAAE,2BAA2B,EACxD,uBAAuB,EAAE,uBAAuB,EAChD,0BAA0B,EAAE,0BAA0B,EACtD,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,EAC5C,yBAAyB,EAAE,2BAA2B,EACtD,oBAAoB,EAAE,oBAAoB,EAC1C,uBAAuB,EAAE,uBAAuB,EAChD,0BAA0B,EAAE,0BAA0B,EACtD,6BAA6B,EAAE,6BAA6B,GAC5D,CACH,aAED,KAAC,WAAW,IACV,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,qBAAqB,EACtC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EACxD,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,EAAE,oBAAoB,EAC1C,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,oBAAoB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,sBAAsB,EAAE,sBAAsB,EAC9C,2BAA2B,EAAE,2BAA2B,EACxD,iBAAiB,EAAE,GAAG,EAAE;oBACtB,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC,EACD,cAAc,EAAE,oBAAoB,EACpC,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,EAEpC,eAAe,EAAE,wBAAwB,EACzC,kBAAkB,EAAE,0BAA0B;gBAC9C,2CAA2C;gBAC3C,yCAAyC;gBACzC,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,oBAAoB,EACjC,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,iBAAiB,EACpC,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,uBAAuB,EACvC,sBAAsB,EAAE,sBAAsB,EAC9C,wBAAwB,EAAE,wBAAwB,EAElD,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,aAAa;gBAE/B,mBAAmB;gBACnB,gBAAgB,EAAE,gBAAgB,EAClC,wBAAwB,EAAE,wBAAwB,EAClD,sBAAsB,EAAE,sBAAsB,EAC9C,4BAA4B,EAAE,4BAA4B,EAC1D,kBAAkB,EAAE,kBAAkB,GACtC,EACD,eAAe,IAAI,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CACpC,KAAC,4BAA4B,IAC3B,UAAU,EAAE,IAAI,EAChB,YAAY,EAAE,aAAa,EAC3B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,MAAM,IACL,OAAO,QACP,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,iBAAiB,EACnC,gBAAgB,EAAE,aAAa,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,EAAE,sBAAsB,EAC5C,yBAAyB,EAAE,2BAA2B,EACtD,4BAA4B,EAAE,8BAA8B,EAC5D,eAAe,EAAE,gBAAgB,EACjC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,iBAAiB;gBAC1B,4BAA4B;gBAC5B,aAAa,EAAE,sBAAsB,EACrC,eAAe,EAAE,wBAAwB,EACzC,cAAc,EAAE,uBAAuB,EACvC,kBAAkB,EAAE,kBAAkB,IAAI,2BAA2B,EACrE,iBAAiB,EAAE,iBAAiB,EACpC,0BAA0B,EAAE,+BAA+B,GAC3D,IAEQ,CACb,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/scatterplot-embedding",
3
- "version": "4.0.8",
3
+ "version": "4.0.10",
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/styles": "4.0.8",
24
- "@vitessce/constants-internal": "4.0.8",
25
- "@vitessce/scatterplot": "4.0.8",
26
- "@vitessce/sets-utils": "4.0.8",
27
- "@vitessce/vit-s": "4.0.8",
28
- "@vitessce/legend": "4.0.8",
29
- "@vitessce/utils": "4.0.8"
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"
30
30
  },
31
31
  "devDependencies": {
32
32
  "react": "19.2.6",
@@ -13,6 +13,8 @@ import {
13
13
  useGetObsInfo,
14
14
  useObsEmbeddingData,
15
15
  useObsSetsData,
16
+ useAnnotationStoryData,
17
+ useAnnotationFrameCoordination,
16
18
  useFeatureSelection,
17
19
  useObsFeatureMatrixIndices,
18
20
  useFeatureLabelsData,
@@ -25,7 +27,7 @@ import {
25
27
  useSetComponentViewInfo,
26
28
  useInitialCoordination,
27
29
  useExpandedFeatureLabelsMap,
28
- useCoordinationScopes,
30
+ useViewMapping,
29
31
  } from '@vitessce/vit-s';
30
32
  import {
31
33
  setObsSelection, mergeObsSets, getCellSetPolygons, treeToColorIndicesArray,
@@ -46,10 +48,9 @@ const DEFAULT_FEATURE_AGGREGATION_STRATEGY = 'first';
46
48
  /**
47
49
  * A subscriber component for the scatterplot.
48
50
  * @param {object} props
49
- * @param {number} props.uuid The unique identifier for this component.
51
+ * @param {number} props.uuid The unique identifier for this component, also used as its
52
+ * view uid for looking up its coordination mapping via `useViewMapping`.
50
53
  * @param {string} props.theme The current theme name.
51
- * @param {object} props.coordinationScopes The mapping from coordination types to coordination
52
- * scopes.
53
54
  * @param {function} props.removeGridComponent The callback function to pass to TitleInfo,
54
55
  * to call when the component has been removed from the grid.
55
56
  * @param {string} props.title An override value for the component title.
@@ -59,7 +60,6 @@ const DEFAULT_FEATURE_AGGREGATION_STRATEGY = 'first';
59
60
  export function EmbeddingScatterplotSubscriber(props) {
60
61
  const {
61
62
  uuid,
62
- coordinationScopes: coordinationScopesRaw,
63
63
  closeButtonVisible,
64
64
  downloadButtonVisible,
65
65
  removeGridComponent,
@@ -76,10 +76,23 @@ export function EmbeddingScatterplotSubscriber(props) {
76
76
  } = props;
77
77
 
78
78
  const loaders = useLoaders();
79
- const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
79
+ // useViewMapping looks up this view's coordination mapping directly from the
80
+ // view config (by uuid), after accounting for meta-coordination, so there is
81
+ // no need for a `coordinationScopes` prop to be threaded down from a parent.
82
+ // coordinationValues are values which this view defines directly, which take
83
+ // precedence over values obtained via coordinationScopes.
84
+ const [
85
+ // eslint-disable-next-line no-unused-vars
86
+ coordinationScopes, _coordinationScopesBy, coordinationValues,
87
+ ] = useViewMapping(uuid);
80
88
  const setComponentHover = useSetComponentHover();
81
89
  const setComponentViewInfo = useSetComponentViewInfo(uuid);
82
90
 
91
+ // Merge the coordination values that the current annotation frame defines for this view
92
+ // into the coordination space, whenever the frame changes. The story itself is read-only.
93
+ // TODO: handle the rendering of alternative views/layouts (in vit-s?)
94
+ useAnnotationFrameCoordination(uuid, coordinationScopes, coordinationValues);
95
+
83
96
  // Get "props" from the coordination space.
84
97
  const [{
85
98
  dataset,
@@ -118,6 +131,12 @@ export function EmbeddingScatterplotSubscriber(props) {
118
131
  contourColorEncoding,
119
132
  contourColor,
120
133
  featureAggregationStrategy,
134
+ annotationStory,
135
+ annotationShapes,
136
+ annotationOverlayVisible,
137
+ annotationSemanticZoom,
138
+ annotationTransitionDuration,
139
+ annotationEditable,
121
140
  }, {
122
141
  setEmbeddingZoom: setZoom,
123
142
  setEmbeddingTargetX: setTargetX,
@@ -145,7 +164,11 @@ export function EmbeddingScatterplotSubscriber(props) {
145
164
  setEmbeddingContourPercentiles: setContourPercentiles,
146
165
  setContourColorEncoding,
147
166
  setFeatureAggregationStrategy,
148
- }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType.SCATTERPLOT], coordinationScopes);
167
+ setAnnotationStory,
168
+ }] = useCoordination(
169
+ COMPONENT_COORDINATION_TYPES[ViewType.SCATTERPLOT], coordinationScopes,
170
+ coordinationValues, uuid,
171
+ );
149
172
 
150
173
  const {
151
174
  embeddingZoom: initialZoom,
@@ -153,6 +176,7 @@ export function EmbeddingScatterplotSubscriber(props) {
153
176
  embeddingTargetY: initialTargetY,
154
177
  } = useInitialCoordination(
155
178
  COMPONENT_COORDINATION_TYPES[ViewType.SCATTERPLOT], coordinationScopes,
179
+ coordinationValues,
156
180
  );
157
181
 
158
182
  const observationsLabel = observationsLabelOverride || obsType;
@@ -168,6 +192,20 @@ export function EmbeddingScatterplotSubscriber(props) {
168
192
 
169
193
  const title = titleOverride || `Scatterplot (${mapping})`;
170
194
 
195
+
196
+ // The loaded story is only used to initialize the annotationStory
197
+ // coordination value (when it is currently null), so the data is not needed here.
198
+ // Note that this hook appears after the useCoordination for annotationStory above,
199
+ // but hopefully that does not cause any issues.
200
+ const [
201
+ , annotationStoryStatus, annotationStoryUrls, annotationStoryError,
202
+ ] = useAnnotationStoryData(
203
+ loaders, dataset, false,
204
+ { setAnnotationStory },
205
+ { annotationStory },
206
+ {},
207
+ );
208
+
171
209
  const [
172
210
  // eslint-disable-next-line no-unused-vars
173
211
  obsLabelsTypes, obsLabelsData, obsLabelsStatus, obsLabelsUrls, obsLabelsErrors,
@@ -240,11 +278,13 @@ export function EmbeddingScatterplotSubscriber(props) {
240
278
  featureLabelsError,
241
279
  sampleSetsError,
242
280
  sampleEdgesError,
281
+ annotationStoryError,
243
282
  ];
244
283
 
245
284
  const isReady = useReady([
246
285
  obsEmbeddingStatus,
247
286
  obsSetsStatus,
287
+ annotationStoryStatus,
248
288
  featureSelectionStatus,
249
289
  featureLabelsStatus,
250
290
  expandedFeatureLabelsStatus,
@@ -259,6 +299,7 @@ export function EmbeddingScatterplotSubscriber(props) {
259
299
  featureLabelsUrls,
260
300
  sampleSetsUrl,
261
301
  sampleEdgesUrl,
302
+ annotationStoryUrls,
262
303
  ]);
263
304
 
264
305
  const [dynamicCellRadius, setDynamicCellRadius] = useState(cellRadiusFixed);
@@ -663,6 +704,13 @@ export function EmbeddingScatterplotSubscriber(props) {
663
704
 
664
705
  circleInfo={circleInfo}
665
706
  featureSelection={geneSelection}
707
+
708
+ // Annotation stuff
709
+ annotationShapes={annotationShapes}
710
+ annotationOverlayVisible={annotationOverlayVisible}
711
+ annotationSemanticZoom={annotationSemanticZoom}
712
+ annotationTransitionDuration={annotationTransitionDuration}
713
+ annotationEditable={annotationEditable}
666
714
  />
667
715
  {tooltipsVisible && width && height ? (
668
716
  <ScatterplotTooltipSubscriber
@@ -697,6 +745,7 @@ export function EmbeddingScatterplotSubscriber(props) {
697
745
  contourThresholds={contourThresholds}
698
746
  featureAggregationStrategy={featureAggregationStrategyToUse}
699
747
  />
748
+
700
749
  </TitleInfo>
701
750
  );
702
751
  }