@openbraininstitute/morphoviewer 0.35.2 → 0.36.0
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/behaviors/index.d.ts +1 -0
- package/dist/behaviors/index.d.ts.map +1 -1
- package/dist/behaviors/index.js +2 -1
- package/dist/behaviors/tap-guard.d.ts +17 -0
- package/dist/behaviors/tap-guard.d.ts.map +1 -0
- package/dist/behaviors/tap-guard.js +60 -0
- package/dist/components/morpho-viewer-small-circuit/painter/cached-cell-loader.d.ts +6 -0
- package/dist/components/morpho-viewer-small-circuit/painter/cached-cell-loader.d.ts.map +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/cached-cell-loader.js +12 -0
- package/dist/components/morpho-viewer-small-circuit/painter/dedupe-by-id.d.ts +3 -0
- package/dist/components/morpho-viewer-small-circuit/painter/dedupe-by-id.d.ts.map +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/dedupe-by-id.js +14 -0
- package/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts +4 -2
- package/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/manager.js +115 -59
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts +8 -1
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.js +57 -21
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.d.ts +3 -0
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.js +28 -6
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts +3 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.js +42 -28
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell-somas/index.d.ts +5 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell-somas/index.d.ts.map +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell-somas/index.js +4 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell-somas/painter-cell-somas-id.d.ts +12 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell-somas/painter-cell-somas-id.d.ts.map +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell-somas/painter-cell-somas-id.js +79 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell-somas/painter-cell-somas.d.ts +19 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell-somas/painter-cell-somas.d.ts.map +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell-somas/painter-cell-somas.js +55 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell-somas/soma-cloud-data.d.ts +9 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell-somas/soma-cloud-data.d.ts.map +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell-somas/soma-cloud-data.js +34 -0
- package/dist/components/morpho-viewer-small-circuit/painter/same-cell.d.ts +3 -0
- package/dist/components/morpho-viewer-small-circuit/painter/same-cell.d.ts.map +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/same-cell.js +15 -0
- package/dist/components/morpho-viewer-small-circuit/types.d.ts +1 -0
- package/dist/components/morpho-viewer-small-circuit/types.d.ts.map +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/ambient-occlusion.d.ts +19 -4
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/ambient-occlusion.d.ts.map +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/ambient-occlusion.js +43 -19
- package/dist/components/morpho-viewer-somas-only/manager/manager.d.ts +23 -4
- package/dist/components/morpho-viewer-somas-only/manager/manager.d.ts.map +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/manager.js +149 -29
- package/dist/components/morpho-viewer-somas-only/manager/painter-cell-infos.d.ts +12 -3
- package/dist/components/morpho-viewer-somas-only/manager/painter-cell-infos.d.ts.map +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/painter-cell-infos.js +168 -76
- package/dist/components/morpho-viewer-somas-only/manager/painter-soma-cloud.d.ts +4 -2
- package/dist/components/morpho-viewer-somas-only/manager/painter-soma-cloud.d.ts.map +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/painter-soma-cloud.js +33 -22
- package/dist/components/morpho-viewer-somas-only/manager/soma-picker.d.ts +15 -0
- package/dist/components/morpho-viewer-somas-only/manager/soma-picker.d.ts.map +1 -0
- package/dist/components/morpho-viewer-somas-only/manager/soma-picker.js +184 -0
- package/dist/components/morpho-viewer-somas-only/types.d.ts +8 -1
- package/dist/components/morpho-viewer-somas-only/types.d.ts.map +1 -1
- package/dist/morphology-picking/index.d.ts +1 -0
- package/dist/morphology-picking/index.d.ts.map +1 -1
- package/dist/morphology-picking/index.js +2 -1
- package/dist/morphology-picking/pick-color-codec.d.ts +4 -0
- package/dist/morphology-picking/pick-color-codec.d.ts.map +1 -0
- package/dist/morphology-picking/pick-color-codec.js +14 -0
- package/dist/package.json +1 -1
- package/dist/painters/overlay-interaction.d.ts +2 -0
- package/dist/painters/overlay-interaction.d.ts.map +1 -1
- package/dist/painters/overlay-interaction.js +11 -1
- package/dist/utils.d.ts +0 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -19
- package/package.json +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/still-pointer.d.ts +0 -9
- package/dist/components/morpho-viewer-small-circuit/painter/still-pointer.d.ts.map +0 -1
- package/dist/components/morpho-viewer-small-circuit/painter/still-pointer.js +0 -9
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/rays.d.ts +0 -3
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/rays.d.ts.map +0 -1
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/rays.js +0 -24
package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { TgdContext } from "@tolokoban/tgd";
|
|
2
2
|
import type { MorphoViewerSmallCircuitCell, MorphoViewerSmallCircuitCellData } from "../../types";
|
|
3
|
+
import type { SomaCloudData } from "../painter-cell-somas";
|
|
3
4
|
export interface OffscreenPainterOptions {
|
|
4
5
|
circuit: MorphoViewerSmallCircuitCell[];
|
|
5
6
|
loadCell: (id: string) => Promise<MorphoViewerSmallCircuitCellData | null>;
|
|
7
|
+
somas: SomaCloudData;
|
|
6
8
|
dendrogramMix?: number;
|
|
7
9
|
}
|
|
8
10
|
export declare class OffscreenPainter {
|
|
@@ -13,9 +15,14 @@ export declare class OffscreenPainter {
|
|
|
13
15
|
private readonly offscreenContext;
|
|
14
16
|
private readonly group;
|
|
15
17
|
private readonly meshes;
|
|
16
|
-
private readonly
|
|
18
|
+
private readonly cellByIndex;
|
|
19
|
+
private readonly freeIndices;
|
|
20
|
+
private cloud;
|
|
21
|
+
private cloudCells;
|
|
22
|
+
private mix;
|
|
17
23
|
private isDeleted;
|
|
18
24
|
constructor(onscreenContext: TgdContext, options: OffscreenPainterOptions);
|
|
25
|
+
setCircuit(circuit: MorphoViewerSmallCircuitCell[], loadCell: (id: string) => Promise<MorphoViewerSmallCircuitCellData | null>, somas: SomaCloudData): void;
|
|
19
26
|
set dendrogramMix(mix: number);
|
|
20
27
|
getItemAt(xScreen: number, yScreen: number): MorphoViewerSmallCircuitCell | undefined;
|
|
21
28
|
getItemNear(xScreen: number, yScreen: number, radiusInPixels: number): MorphoViewerSmallCircuitCell | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offscreen-painter.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAKX,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"offscreen-painter.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAKX,MAAM,gBAAgB,CAAC;AAQxB,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;IAE3E,KAAK,EAAE,aAAa,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAUD,qBAAa,gBAAgB;IAsCzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IArClC,SAAgB,OAAO,EAAE,UAAU,CAAC;IAS7B,iBAAiB,SAA8B;IAEtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAE/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6D;IAQpF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoD;IAChF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAO5C,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,SAAS,CAAS;gBAGP,eAAe,EAAE,UAAU,EAC5C,OAAO,EAAE,uBAAuB;IAoClC,UAAU,CACR,OAAO,EAAE,4BAA4B,EAAE,EACvC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,EAC1E,KAAK,EAAE,aAAa;IAyDtB,IAAI,aAAa,CAAC,GAAG,EAAE,MAAM,EAG5B;IAED,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS;IAmBrF,WAAW,CACT,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,4BAA4B,GAAG,SAAS;IAc3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CASpB;IAEF,MAAM;CAKP"}
|
package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { TgdContext, TgdPainterClear, TgdPainterGroup, TgdPainterState, webglPresetDepth, } from "@tolokoban/tgd";
|
|
2
|
-
import { spiralPixelOffsets } from "./../../../../morphology-picking";
|
|
3
|
-
import { vec3ToInt16 } from "./../../../../utils";
|
|
2
|
+
import { decodePickColor, spiralPixelOffsets } from "./../../../../morphology-picking";
|
|
4
3
|
import { PainterCellId } from "../painter-cell";
|
|
4
|
+
import { CLOUD_FIRST_INDEX, PainterCellSomasId } from "../painter-cell-somas";
|
|
5
|
+
import { isSameCell } from "../same-cell";
|
|
5
6
|
const FIRST_INDEX = 1;
|
|
6
7
|
const DEFAULT_RESOLUTION_DIVIDER = 4;
|
|
7
8
|
export class OffscreenPainter {
|
|
@@ -11,7 +12,12 @@ export class OffscreenPainter {
|
|
|
11
12
|
this.resolutionDivider = DEFAULT_RESOLUTION_DIVIDER;
|
|
12
13
|
this.offscreenCanvas = new OffscreenCanvas(1, 1);
|
|
13
14
|
this.group = new TgdPainterGroup();
|
|
14
|
-
this.meshes =
|
|
15
|
+
this.meshes = new Map();
|
|
16
|
+
this.cellByIndex = [];
|
|
17
|
+
this.freeIndices = [];
|
|
18
|
+
this.cloud = null;
|
|
19
|
+
this.cloudCells = [];
|
|
20
|
+
this.mix = 0;
|
|
15
21
|
this.isDeleted = false;
|
|
16
22
|
this.paint = () => {
|
|
17
23
|
if (this.isDeleted)
|
|
@@ -23,7 +29,6 @@ export class OffscreenPainter {
|
|
|
23
29
|
offscreenCanvas.height = Math.ceil(canvas.height / this.resolutionDivider);
|
|
24
30
|
offscreenContext.paint();
|
|
25
31
|
};
|
|
26
|
-
this.circuit = options.circuit;
|
|
27
32
|
onscreenContext.eventPaint.addListener(this.paint);
|
|
28
33
|
const context = new TgdContext(this.offscreenCanvas, {
|
|
29
34
|
preserveDrawingBuffer: true,
|
|
@@ -39,33 +44,64 @@ export class OffscreenPainter {
|
|
|
39
44
|
depth: webglPresetDepth.less,
|
|
40
45
|
children: [this.group],
|
|
41
46
|
}));
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
this.mix = (_a = options.dendrogramMix) !== null && _a !== void 0 ? _a : 0;
|
|
48
|
+
this.setCircuit(options.circuit, options.loadCell, options.somas);
|
|
49
|
+
}
|
|
50
|
+
setCircuit(circuit, loadCell, somas) {
|
|
51
|
+
var _a, _b, _c;
|
|
52
|
+
const kept = new Map(this.meshes);
|
|
53
|
+
this.meshes.clear();
|
|
54
|
+
this.group.removeAll(false);
|
|
55
|
+
for (const cell of circuit) {
|
|
56
|
+
if (cell.somaOnly)
|
|
57
|
+
continue;
|
|
58
|
+
const previous = kept.get(cell.id);
|
|
59
|
+
kept.delete(cell.id);
|
|
60
|
+
if (previous && isSameCell(previous.mesh.cell, cell)) {
|
|
61
|
+
this.cellByIndex[previous.index - FIRST_INDEX] = cell;
|
|
62
|
+
this.meshes.set(cell.id, previous);
|
|
63
|
+
this.group.add(previous.mesh);
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
previous === null || previous === void 0 ? void 0 : previous.mesh.delete();
|
|
67
|
+
const index = (_b = (_a = previous === null || previous === void 0 ? void 0 : previous.index) !== null && _a !== void 0 ? _a : this.freeIndices.pop()) !== null && _b !== void 0 ? _b : this.cellByIndex.length + FIRST_INDEX;
|
|
68
|
+
const mesh = new PainterCellId(this.context, { cell, loadCell, id: index });
|
|
69
|
+
mesh.dendrogramMix = this.mix;
|
|
70
|
+
this.cellByIndex[index - FIRST_INDEX] = cell;
|
|
71
|
+
this.meshes.set(cell.id, { mesh, index });
|
|
50
72
|
this.group.add(mesh);
|
|
51
|
-
|
|
52
|
-
|
|
73
|
+
}
|
|
74
|
+
for (const { mesh, index } of kept.values()) {
|
|
75
|
+
mesh.delete();
|
|
76
|
+
this.cellByIndex[index - FIRST_INDEX] = undefined;
|
|
77
|
+
this.freeIndices.push(index);
|
|
78
|
+
}
|
|
79
|
+
(_c = this.cloud) === null || _c === void 0 ? void 0 : _c.delete();
|
|
80
|
+
this.cloud = null;
|
|
81
|
+
this.cloudCells = somas.cells;
|
|
82
|
+
if (somas.cells.length > 0) {
|
|
83
|
+
const cloud = new PainterCellSomasId(this.context, somas.dataPoint);
|
|
84
|
+
this.cloud = cloud;
|
|
85
|
+
this.group.add(cloud);
|
|
53
86
|
}
|
|
54
87
|
this.paint();
|
|
55
88
|
}
|
|
56
89
|
set dendrogramMix(mix) {
|
|
57
|
-
|
|
90
|
+
this.mix = mix;
|
|
91
|
+
for (const { mesh } of this.meshes.values())
|
|
58
92
|
mesh.dendrogramMix = mix;
|
|
59
93
|
}
|
|
60
94
|
getItemAt(xScreen, yScreen) {
|
|
61
95
|
var _a;
|
|
62
96
|
if (this.isDeleted)
|
|
63
97
|
return;
|
|
64
|
-
const {
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return
|
|
98
|
+
const { cellByIndex, offscreenContext: context } = this;
|
|
99
|
+
const index = decodePickColor(context.readPixel(xScreen, yScreen));
|
|
100
|
+
if (index === null)
|
|
101
|
+
return;
|
|
102
|
+
return index >= CLOUD_FIRST_INDEX
|
|
103
|
+
? this.cloudCells[index - CLOUD_FIRST_INDEX]
|
|
104
|
+
: ((_a = cellByIndex[index - FIRST_INDEX]) !== null && _a !== void 0 ? _a : undefined);
|
|
69
105
|
}
|
|
70
106
|
getItemNear(xScreen, yScreen, radiusInPixels) {
|
|
71
107
|
if (this.isDeleted)
|
|
@@ -86,4 +122,4 @@ export class OffscreenPainter {
|
|
|
86
122
|
this.isDeleted = true;
|
|
87
123
|
}
|
|
88
124
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2Zmc2NyZWVuLXBhaW50ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNtYWxsLWNpcmN1aXQvcGFpbnRlci9vZmZzY3JlZW4tcGFpbnRlci9vZmZzY3JlZW4tcGFpbnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLGVBQWUsRUFDZixlQUFlLEVBQ2YsZUFBZSxFQUNmLGdCQUFnQixHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQWMxQyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7QUFNdEIsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLENBQUM7QUFFckMsTUFBTSxPQUFPLGdCQUFnQjtJQXFDM0IsWUFDbUIsZUFBMkIsRUFDNUMsT0FBZ0M7O1FBRGYsb0JBQWUsR0FBZixlQUFlLENBQVk7UUE1QnZDLHNCQUFpQixHQUFHLDBCQUEwQixDQUFDO1FBRXJDLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVDLFVBQUssR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBRTlCLFdBQU0sR0FBRyxJQUFJLEdBQUcsRUFBa0QsQ0FBQztRQVFuRSxnQkFBVyxHQUFpRCxFQUFFLENBQUM7UUFDL0QsZ0JBQVcsR0FBYSxFQUFFLENBQUM7UUFPcEMsVUFBSyxHQUE4QixJQUFJLENBQUM7UUFDeEMsZUFBVSxHQUFtQyxFQUFFLENBQUM7UUFD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
|
|
@@ -14,8 +14,11 @@ export declare class SegmentOffscreenPainter {
|
|
|
14
14
|
private readonly offscreenContext;
|
|
15
15
|
private readonly group;
|
|
16
16
|
private readonly cellPainters;
|
|
17
|
+
private readonly onCellLoaded?;
|
|
18
|
+
private mix;
|
|
17
19
|
private isDeleted;
|
|
18
20
|
constructor(onscreenContext: TgdContext, options: SegmentOffscreenPainterOptions);
|
|
21
|
+
setCircuit(circuit: MorphoViewerSmallCircuitCell[], loadCell: (id: string) => Promise<MorphoViewerSmallCircuitCellData | null>): void;
|
|
19
22
|
set dendrogramMix(mix: number);
|
|
20
23
|
getSections(cell: MorphoViewerSmallCircuitCell): CellSectionIndex | null;
|
|
21
24
|
getSegmentNear(cell: MorphoViewerSmallCircuitCell, xScreen: number, yScreen: number, radiusInPixels: number): CellSegment | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segment-offscreen-painter.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAKX,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"segment-offscreen-painter.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAKX,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAa3F,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;IAO3E,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,uBAAuB;IAchC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAblC,SAAgB,OAAO,EAAE,UAAU,CAAC;IAEpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAE/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAa;IAE3C,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAAS;gBAGP,eAAe,EAAE,UAAU,EAC5C,OAAO,EAAE,8BAA8B;IAkCzC,UAAU,CACR,OAAO,EAAE,4BAA4B,EAAE,EACvC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC;IA0C5E,IAAI,aAAa,CAAC,GAAG,EAAE,MAAM,EAG5B;IAGD,WAAW,CAAC,IAAI,EAAE,4BAA4B,GAAG,gBAAgB,GAAG,IAAI;IAWxE,cAAc,CACZ,IAAI,EAAE,4BAA4B,EAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,WAAW,GAAG,SAAS;IAa1B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CASpB;IAEF,MAAM;CAUP"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TgdContext, TgdPainterClear, TgdPainterGroup, TgdPainterState, webglPresetDepth, } from "@tolokoban/tgd";
|
|
2
2
|
import { decodeSegmentIndex, spiralPixelOffsets } from "./../../../../morphology-picking";
|
|
3
3
|
import { PainterCell } from "../painter-cell";
|
|
4
|
+
import { isSameCell } from "../same-cell";
|
|
4
5
|
const RESOLUTION_DIVIDER = 2;
|
|
5
6
|
export class SegmentOffscreenPainter {
|
|
6
7
|
constructor(onscreenContext, options) {
|
|
@@ -20,6 +21,8 @@ export class SegmentOffscreenPainter {
|
|
|
20
21
|
offscreenCanvas.height = Math.ceil(canvas.height / RESOLUTION_DIVIDER);
|
|
21
22
|
offscreenContext.paint();
|
|
22
23
|
};
|
|
24
|
+
this.onCellLoaded = options.onCellLoaded;
|
|
25
|
+
this.mix = (_a = options.dendrogramMix) !== null && _a !== void 0 ? _a : 0;
|
|
23
26
|
onscreenContext.eventPaint.addListener(this.paint);
|
|
24
27
|
const context = new TgdContext(this.offscreenCanvas, {
|
|
25
28
|
preserveDrawingBuffer: true,
|
|
@@ -35,20 +38,39 @@ export class SegmentOffscreenPainter {
|
|
|
35
38
|
depth: webglPresetDepth.less,
|
|
36
39
|
children: [this.group],
|
|
37
40
|
}));
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
this.setCircuit(options.circuit, options.loadCell);
|
|
42
|
+
}
|
|
43
|
+
setCircuit(circuit, loadCell) {
|
|
44
|
+
const kept = new Map(this.cellPainters);
|
|
45
|
+
this.cellPainters.clear();
|
|
46
|
+
this.group.removeAll(false);
|
|
47
|
+
for (const cell of circuit) {
|
|
48
|
+
if (cell.somaOnly)
|
|
49
|
+
continue;
|
|
50
|
+
const previous = kept.get(cell.id);
|
|
51
|
+
kept.delete(cell.id);
|
|
52
|
+
if (previous && isSameCell(previous.cell, cell)) {
|
|
53
|
+
this.cellPainters.set(cell.id, previous);
|
|
54
|
+
this.group.add(previous);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
previous === null || previous === void 0 ? void 0 : previous.delete();
|
|
58
|
+
const painter = new PainterCell(this.context, {
|
|
40
59
|
cell,
|
|
41
|
-
loadCell
|
|
60
|
+
loadCell,
|
|
42
61
|
material: "segment",
|
|
43
|
-
onCellLoaded: () => { var _a; return (_a =
|
|
62
|
+
onCellLoaded: () => { var _a; return (_a = this.onCellLoaded) === null || _a === void 0 ? void 0 : _a.call(this); },
|
|
44
63
|
});
|
|
45
|
-
painter.dendrogramMix =
|
|
64
|
+
painter.dendrogramMix = this.mix;
|
|
46
65
|
this.cellPainters.set(cell.id, painter);
|
|
47
66
|
this.group.add(painter);
|
|
48
67
|
}
|
|
68
|
+
for (const painter of kept.values())
|
|
69
|
+
painter.delete();
|
|
49
70
|
this.paint();
|
|
50
71
|
}
|
|
51
72
|
set dendrogramMix(mix) {
|
|
73
|
+
this.mix = mix;
|
|
52
74
|
for (const painter of this.cellPainters.values())
|
|
53
75
|
painter.dendrogramMix = mix;
|
|
54
76
|
}
|
|
@@ -89,4 +111,4 @@ export class SegmentOffscreenPainter {
|
|
|
89
111
|
this.isDeleted = true;
|
|
90
112
|
}
|
|
91
113
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC1vZmZzY3JlZW4tcGFpbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC9wYWludGVyL29mZnNjcmVlbi1wYWludGVyL3NlZ21lbnQtb2Zmc2NyZWVuLXBhaW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixlQUFlLEVBQ2YsZUFBZSxFQUNmLGVBQWUsRUFDZixnQkFBZ0IsR0FDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQWMxQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztBQWdCN0IsTUFBTSxPQUFPLHVCQUF1QjtJQWFsQyxZQUNtQixlQUEyQixFQUM1QyxPQUF1Qzs7UUFEdEIsb0JBQWUsR0FBZixlQUFlLENBQVk7UUFYN0Isb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFNUMsVUFBSyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFFOUIsaUJBQVksR0FBRyxJQUFJLEdBQUcsRUFBdUIsQ0FBQztRQUl2RCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBcUlULFVBQUssR0FBRyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxJQUFJLENBQUMsU0FBUztnQkFBRSxPQUFPO1lBRTNCLE1BQU0sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3BFLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO1lBQ2pELE1BQU0s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
|
|
@@ -18,11 +18,14 @@ export declare class PainterCell extends TgdPainterGroup {
|
|
|
18
18
|
private readonly material;
|
|
19
19
|
private readonly texturePalette;
|
|
20
20
|
private _isDeleted;
|
|
21
|
+
private _isLoaded;
|
|
21
22
|
private _bbox;
|
|
22
23
|
private _sections;
|
|
23
24
|
private _dendrogramMix;
|
|
24
25
|
private applyDendrogramMix;
|
|
25
26
|
constructor(context: TgdContext, options: PainterCellOptions);
|
|
27
|
+
get cell(): MorphoViewerSmallCircuitCell;
|
|
28
|
+
get isLoaded(): boolean;
|
|
26
29
|
get bbox(): Readonly<TgdBoundingBox>;
|
|
27
30
|
get sections(): CellSectionIndex | null;
|
|
28
31
|
get dendrogramMix(): number;
|
package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"painter-cell.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,KAAK,UAAU,EAOf,eAAe,EAOhB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"painter-cell.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,KAAK,UAAU,EAOf,eAAe,EAOhB,MAAM,gBAAgB,CAAC;AASxB,OAAO,KAAK,EACV,4BAA4B,EAC5B,gCAAgC,EAEjC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,IAAI,EAAE,4BAA4B,CAAC;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;IAKvE,YAAY,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;IAEjD,OAAO,CAAC,EAAE,MAAM,CAAC;IAQjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAMD,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAO3E,qBAAa,WAAY,SAAQ,eAAe;aAa5B,OAAO,EAAE,UAAU;IACnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB;IAbhD,OAAO,CAAC,MAAM,CAAC,EAAE,CAAK;IAEtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,kBAAkB,CAAwC;gBAGhD,OAAO,EAAE,UAAU,EAChB,OAAO,EAAE,kBAAkB;IAyEhD,IAAI,IAAI,IAAI,4BAA4B,CAEvC;IAQD,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,IAAI,IAAI,QAAQ,CAAC,cAAc,CAAC,CAEnC;IAQD,IAAI,QAAQ,IAAI,gBAAgB,GAAG,IAAI,CAEtC;IAGD,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,aAAa,CAAC,GAAG,EAAE,MAAM,EAG5B;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IACD,OAAO,KAAK,SAAS,QAIpB;IASD,IAAI,SAAS,IAAI,MAAM,CAGtB;IACD,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,EAK9B;IAED,IAAI,OAAO,IAAI,MAAM,CAMpB;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAK1B;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;YAM1B,QAAQ;IA6DtB,MAAM,IAAI,IAAI;CAOf"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { TgdBoundingBox, TgdColor, TgdGeometrySphereIco, TgdLight, TgdMaterialFlat, TgdPainterGroup, TgdPainterMesh, TgdQuat, TgdTexture2D, TgdVec4, tgdCanvasCreatePalette, } from "@tolokoban/tgd";
|
|
3
3
|
import { MorphoViewerTreeItemType } from "./../../../morpho-viewer-simul";
|
|
4
|
-
import { MaterialSegmentIndex } from "./../../../../morphology-picking";
|
|
5
|
-
import { int16ToVec3 } from "./../../../../utils";
|
|
4
|
+
import { encodePickColor, MaterialSegmentIndex } from "./../../../../morphology-picking";
|
|
6
5
|
import { createCellFromTree } from "./factory/tree";
|
|
7
6
|
import { MaterialDiffuseAlpha } from "./material-diffuse-alpha";
|
|
8
7
|
import { MaterialFlatTextureIntensity } from "./material-flat-texture-intensity";
|
|
@@ -18,6 +17,7 @@ export class PainterCell extends TgdPainterGroup {
|
|
|
18
17
|
this.context = context;
|
|
19
18
|
this.options = options;
|
|
20
19
|
this._isDeleted = false;
|
|
20
|
+
this._isLoaded = false;
|
|
21
21
|
this._bbox = new TgdBoundingBox();
|
|
22
22
|
this._sections = null;
|
|
23
23
|
this._dendrogramMix = 0;
|
|
@@ -35,7 +35,11 @@ export class PainterCell extends TgdPainterGroup {
|
|
|
35
35
|
lockLightsToCamera: true,
|
|
36
36
|
opacity: (_c = options.opacity) !== null && _c !== void 0 ? _c : 1,
|
|
37
37
|
ambient: new TgdLight({
|
|
38
|
-
color: [0.
|
|
38
|
+
color: [0.5, 0.5, 0.5, 1],
|
|
39
|
+
}),
|
|
40
|
+
light: new TgdLight({
|
|
41
|
+
direction: [-0.3, 0.3, -1],
|
|
42
|
+
color: [0.5, 0.5, 0.5, 1],
|
|
39
43
|
}),
|
|
40
44
|
});
|
|
41
45
|
break;
|
|
@@ -47,7 +51,7 @@ export class PainterCell extends TgdPainterGroup {
|
|
|
47
51
|
break;
|
|
48
52
|
default:
|
|
49
53
|
this.material = new TgdMaterialFlat({
|
|
50
|
-
color: [...
|
|
54
|
+
color: [...encodePickColor(materialType), 1],
|
|
51
55
|
});
|
|
52
56
|
break;
|
|
53
57
|
}
|
|
@@ -62,7 +66,14 @@ export class PainterCell extends TgdPainterGroup {
|
|
|
62
66
|
material: this.material,
|
|
63
67
|
});
|
|
64
68
|
this.add(mesh);
|
|
65
|
-
|
|
69
|
+
if (!cell.somaOnly)
|
|
70
|
+
this.loadCell();
|
|
71
|
+
}
|
|
72
|
+
get cell() {
|
|
73
|
+
return this.options.cell;
|
|
74
|
+
}
|
|
75
|
+
get isLoaded() {
|
|
76
|
+
return this._isLoaded;
|
|
66
77
|
}
|
|
67
78
|
get bbox() {
|
|
68
79
|
return this._bbox;
|
|
@@ -120,41 +131,44 @@ export class PainterCell extends TgdPainterGroup {
|
|
|
120
131
|
const { context, material } = this;
|
|
121
132
|
const { cell, loadCell, onCellLoaded } = this.options;
|
|
122
133
|
try {
|
|
123
|
-
const
|
|
124
|
-
const data = yield loadCell(path);
|
|
134
|
+
const data = yield loadCell(cell.id);
|
|
125
135
|
if (this.isDeleted)
|
|
126
136
|
return;
|
|
127
|
-
if (isCellAsTree(data)) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
context.paint();
|
|
137
|
+
if (!isCellAsTree(data)) {
|
|
138
|
+
this._isLoaded = true;
|
|
139
|
+
onCellLoaded === null || onCellLoaded === void 0 ? void 0 : onCellLoaded(null);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const { node, bbox, sections, setDendrogramMix } = createCellFromTree(context, material, data.data, isSelectionMaterial((_a = this.options.material) !== null && _a !== void 0 ? _a : "full"), (_b = this.options.somaAsSphere) !== null && _b !== void 0 ? _b : false);
|
|
143
|
+
this._sections = sections;
|
|
144
|
+
this.applyDendrogramMix = setDendrogramMix;
|
|
145
|
+
setDendrogramMix(this._dendrogramMix);
|
|
146
|
+
const [x, y, z] = cell.center;
|
|
147
|
+
const quat = new TgdQuat(cell.orientation);
|
|
148
|
+
node.transfo.setPosition(x, y, z);
|
|
149
|
+
node.transfo.orientation = quat;
|
|
150
|
+
const [sx, sy, sz] = computeSomaCenter(data, node.transfo);
|
|
151
|
+
const transformedBBox = recenterBBox(applyTransfoToBBox(node.transfo, bbox), sx, sy, sz);
|
|
152
|
+
this.removeAll();
|
|
153
|
+
this.add(node);
|
|
154
|
+
if (transformedBBox) {
|
|
155
|
+
this._bbox = transformedBBox;
|
|
147
156
|
}
|
|
157
|
+
this._isLoaded = true;
|
|
158
|
+
onCellLoaded === null || onCellLoaded === void 0 ? void 0 : onCellLoaded(transformedBBox);
|
|
159
|
+
context.paint();
|
|
148
160
|
}
|
|
149
161
|
catch (error) {
|
|
150
162
|
if (this.isDeleted || this.context.isDeleted)
|
|
151
163
|
return;
|
|
152
164
|
console.error(`Error loading cell "${cell.id}":`, error);
|
|
165
|
+
this._isLoaded = true;
|
|
153
166
|
onCellLoaded === null || onCellLoaded === void 0 ? void 0 : onCellLoaded(null);
|
|
154
167
|
}
|
|
155
168
|
});
|
|
156
169
|
}
|
|
157
170
|
delete() {
|
|
171
|
+
super.delete();
|
|
158
172
|
this.texturePalette.delete();
|
|
159
173
|
this.isDeleted = true;
|
|
160
174
|
}
|
|
@@ -265,4 +279,4 @@ function computeSomaCenter(data, transfo) {
|
|
|
265
279
|
}
|
|
266
280
|
return center;
|
|
267
281
|
}
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnRlci1jZWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0L3BhaW50ZXIvcGFpbnRlci1jZWxsL3BhaW50ZXItY2VsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxRQUFRLEVBRVIsb0JBQW9CLEVBQ3BCLFFBQVEsRUFFUixlQUFlLEVBR2YsZUFBZSxFQUNmLGNBQWMsRUFDZCxPQUFPLEVBQ1AsWUFBWSxFQUVaLE9BQU8sRUFDUCxzQkFBc0IsR0FDdkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQXlCLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQXNDakYsU0FBUyxtQkFBbUIsQ0FBQyxRQUFpQztJQUM1RCxPQUFPLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLEtBQUssU0FBUyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQWU7SUFXOUMsWUFDa0IsT0FBbUIsRUFDaEIsT0FBMkI7O1FBRTlDLEtBQUssQ0FBQztZQUNKLElBQUksRUFDRixNQUFBLE9BQU8sQ0FBQyxJQUFJLG1DQUNaLGlCQUFpQixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxXQUFXLENBQUMsRUFBRSxFQUFFLEtBQUssT0FBTyxPQUFPLENBQUMsUUFBUSxL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
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnRlci1jZWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0L3BhaW50ZXIvcGFpbnRlci1jZWxsL3BhaW50ZXItY2VsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxRQUFRLEVBRVIsb0JBQW9CLEVBQ3BCLFFBQVEsRUFFUixlQUFlLEVBR2YsZUFBZSxFQUNmLGNBQWMsRUFDZCxPQUFPLEVBQ1AsWUFBWSxFQUVaLE9BQU8sRUFDUCxzQkFBc0IsR0FDdkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQXlCLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBc0NqRixTQUFTLG1CQUFtQixDQUFDLFFBQWlDO0lBQzVELE9BQU8sT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLFFBQVEsS0FBSyxTQUFTLENBQUM7QUFDaEUsQ0FBQztBQUVELE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBZTtJQVk5QyxZQUNrQixPQUFtQixFQUNoQixPQUEyQjs7UUFFOUMsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUNGLE1BQUEsT0FBTyxDQUFDLElBQUksbUNBQ1osaUJBQWlCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRztTQUNuSixDQUFDLENBQUM7UUFQYSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBVHhDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixVQUFLLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUM3QixjQUFTLEdBQTRCLElBQUksQ0FBQztRQUMxQyxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUNuQix1QkFBa0IsR0FBbUMsSUFBSSxDQUFDO1FBV2hFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDekIsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO1FBQzlCLE1BQU0sWUFBWSxHQUFHLE1BQUEsT0FBTyxDQUFDLFFBQVEsbUNBQUksTUFBTSxDQUFDO1FBQ2hELFFBQVEsWUFBWSxFQUFFLENBQUM7WUFFckIsS0FBSyxNQUFNO2dCQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQztvQkFDdkMsS0FBSyxFQUFFLE9BQU87b0JBQ2Qsa0JBQWtCLEVBQUUsSUFBSTtvQkFDeEIsT0FBTyxFQUFFLE1BQUEsT0FBTyxDQUFDLE9BQU8sbUNBQUksQ0FBQztvQkFRN0IsT0FBTyxFQUFFLElBQUksUUFBUSxDQUFDO3dCQUNwQixLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7cUJBQzFCLENBQUM7b0JBQ0YsS0FBSyxFQUFFLElBQUksUUFBUSxDQUFDO3dCQUNsQixTQUFTLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7d0JBQzFCLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztxQkFDMUIsQ0FBQztpQkFDSCxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUVSLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksNEJBQTRCLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUM5RCxNQUFNO1lBRVIsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO2dCQUMzQyxNQUFNO1lBRVI7Z0JBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQztvQkFDbEMsS0FBSyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUM3QyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtRQUNWLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLG9CQUFvQixDQUFDO1lBQ3hDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDdkIsWUFBWSxFQUFFLENBQUM7U0FDaEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQ3ZDLElBQUksRUFBRSxlQUFlLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ3RDLFFBQVE7WUFDUixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUdmLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBUUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBUUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQVFELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBR0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxHQUFXOztRQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQztRQUMxQixNQUFBLElBQUksQ0FBQyxrQkFBa0IscURBQUcsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBWSxTQUFTLENBQUMsU0FBa0I7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVM7WUFBRSxPQUFPO1FBRTFDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFTRCxJQUFJLFNBQVM7UUFDWCxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzFCLE9BQU8sUUFBUSxZQUFZLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLFNBQWlCO1FBQzdCLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxRQUFRLFlBQVksNEJBQTRCLEVBQUUsQ0FBQztZQUNyRCxRQUFRLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxRQUFRLFlBQVksb0JBQW9CLEVBQUUsQ0FBQztZQUM3QyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE9BQWU7UUFDekIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLFFBQVEsWUFBWSxvQkFBb0IsRUFBRSxDQUFDO1lBQzdDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQy9CLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUVuQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRWEsUUFBUTs7O1lBQ3BCLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ25DLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFFdEQsSUFBSSxDQUFDO2dCQUlILE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFLckMsSUFBSSxJQUFJLENBQUMsU0FBUztvQkFBRSxPQUFPO2dCQUszQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO29CQUN0QixZQUFZLGFBQVosWUFBWSx1QkFBWixZQUFZLENBQUcsSUFBSSxDQUFDLENBQUM7b0JBQ3JCLE9BQU87Z0JBQ1QsQ0FBQztnQkFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxrQkFBa0IsQ0FDbkUsT0FBTyxFQUNQLFFBQVEsRUFDUixJQUFJLENBQUMsSUFBSSxFQUNULG1CQUFtQixDQUFDLE1BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLG1DQUFJLE1BQU0sQ0FBQyxFQUNwRCxNQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxtQ0FBSSxLQUFLLENBQ25DLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztnQkFFM0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUN0QyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztnQkFDaEMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDM0QsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDekYsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNmLElBQUksZUFBZSxFQUFFLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDO2dCQUMvQixDQUFDO2dCQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixZQUFZLGFBQVosWUFBWSx1QkFBWixZQUFZLENBQUcsZUFBZSxDQUFDLENBQUM7Z0JBQ2hDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFJZixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTO29CQUFFLE9BQU87Z0JBRXJELE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRyxJQUFJLENBQUMsQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQztLQUFBO0lBRUQsTUFBTTtRQUdKLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQzs7QUE5T2MsY0FBRSxHQUFHLENBQUMsQUFBSixDQUFLO0FBaVB4QixTQUFTLFlBQVksQ0FDbkIsSUFBNkM7SUFFN0MsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU07UUFBRSxPQUFPLEtBQUssQ0FBQztJQUVoRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUMzQixPQUFtQixFQUNuQixLQUE0QztJQUU1QyxNQUFNLE1BQU0sR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxNQUFNLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQztRQUNwQyxNQUFNLENBQUMsSUFBSTtRQUNYLE1BQU0sQ0FBQyxJQUFJO1FBQ1gsTUFBTSxDQUFDLGFBQWE7UUFDcEIsTUFBTSxDQUFDLGNBQWM7UUFDckIsTUFBTSxDQUFDLE1BQU07UUFDYixNQUFNLENBQUMsT0FBTztLQUNmLENBQUMsQ0FBQztJQUNILE1BQU0sT0FBTyxHQUFHLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRTtRQUN4QyxNQUFNLEVBQUU7WUFDTixTQUFTLEVBQUUsU0FBUztZQUNwQixTQUFTLEVBQUUsU0FBUztTQUNyQjtLQUNGLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQUMsS0FBNEM7SUFDM0UsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pFLE9BQU87WUFDTCxjQUFjLEVBQUUsV0FBVztZQUMzQixJQUFJLEVBQUUsV0FBVztZQUNqQixhQUFhLEVBQUUsV0FBVztZQUMxQixNQUFNLEVBQUUsV0FBVztZQUNuQixJQUFJLEVBQUUsV0FBVztZQUNqQixPQUFPLEVBQUUsV0FBVztTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTztZQUNMLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLElBQUksRUFBRSxLQUFLO1lBQ1gsYUFBYSxFQUFFLEtBQUs7WUFDcEIsTUFBTSxFQUFFLEtBQUs7WUFDYixJQUFJLEVBQUUsS0FBSztZQUNYLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLE9BQW1CLEVBQUUsSUFBb0I7SUFDbkUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUMzQixNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQzlCLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDOUIsTUFBTSxNQUFNLEdBQWM7UUFDeEIsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxQixJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUIsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxQixJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUIsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztLQUMzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7SUFDN0MsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUMvQixlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxJQUEyQixFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztJQUNoRixJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRXZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDL0MsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxJQUFzQyxFQUFFLE9BQW9CO0lBQ3JGLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNWLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLE9BQU8sTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNO1FBRWpCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyx3QkFBd0IsQ0FBQyxJQUFJO1lBQUUsU0FBUztRQUUxRCxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNaLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ1osQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDWixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCxJQUFJLEtBQUssS0FBSyxDQUFDO1FBQUUsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUN4RCxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNiLElBQUksT0FBTyxFQUFFLENBQUM7UUFDWixNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyJ9
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { PainterCellSomas } from "./painter-cell-somas";
|
|
2
|
+
export { CLOUD_FIRST_INDEX, PainterCellSomasId } from "./painter-cell-somas-id";
|
|
3
|
+
export { buildSomaCloudData } from "./soma-cloud-data";
|
|
4
|
+
export type { SomaCloudData } from "./soma-cloud-data";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell-somas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { PainterCellSomas } from "./painter-cell-somas";
|
|
2
|
+
export { CLOUD_FIRST_INDEX, PainterCellSomasId } from "./painter-cell-somas-id";
|
|
3
|
+
export { buildSomaCloudData } from "./soma-cloud-data";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNtYWxsLWNpcmN1aXQvcGFpbnRlci9wYWludGVyLWNlbGwtc29tYXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUMifQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type TgdContext, TgdPainter } from "@tolokoban/tgd";
|
|
2
|
+
export declare const CLOUD_FIRST_INDEX: number;
|
|
3
|
+
export declare class PainterCellSomasId extends TgdPainter {
|
|
4
|
+
readonly context: TgdContext;
|
|
5
|
+
private readonly count;
|
|
6
|
+
private readonly program;
|
|
7
|
+
private readonly vao;
|
|
8
|
+
constructor(context: TgdContext, dataPoint: Float32Array);
|
|
9
|
+
paint(): void;
|
|
10
|
+
delete(): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=painter-cell-somas-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"painter-cell-somas-id.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell-somas/painter-cell-somas-id.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,UAAU,EAEf,UAAU,EAKX,MAAM,gBAAgB,CAAC;AAWxB,eAAO,MAAM,iBAAiB,QAAU,CAAC;AAczC,qBAAa,kBAAmB,SAAQ,UAAU;aAM9B,OAAO,EAAE,UAAU;IALrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;gBAGnB,OAAO,EAAE,UAAU,EAEnC,SAAS,EAAE,YAAY;IAYzB,KAAK;IAYL,MAAM;CAIP"}
|