@openbraininstitute/morphoviewer 0.24.16 → 0.24.20
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/README.md +16 -5
- package/lib/dist/components/morpho-viewer-octree/painter/manager.d.ts +8 -1
- package/lib/dist/components/morpho-viewer-octree/painter/manager.d.ts.map +1 -1
- package/lib/dist/components/morpho-viewer-octree/painter/manager.js +47 -11
- package/lib/dist/components/morpho-viewer-octree/types.d.ts +2 -1
- package/lib/dist/components/morpho-viewer-octree/types.d.ts.map +1 -1
- package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.d.ts.map +1 -1
- package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.js +2 -2
- package/lib/dist/components/morpho-viewer-small-circuit/painter/camera.js +2 -2
- package/lib/dist/components/morpho-viewer-small-circuit/painter/index.d.ts +1 -1
- package/lib/dist/components/morpho-viewer-small-circuit/painter/index.d.ts.map +1 -1
- package/lib/dist/components/morpho-viewer-small-circuit/painter/index.js +2 -2
- package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts +6 -1
- package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts.map +1 -1
- package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.js +42 -11
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts +5 -2
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts.map +1 -1
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.js +31 -19
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts +2 -1
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts.map +1 -1
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.js +29 -7
- package/lib/dist/components/morpho-viewer-small-circuit/types.d.ts +1 -0
- package/lib/dist/components/morpho-viewer-small-circuit/types.d.ts.map +1 -1
- package/lib/dist/package.json +91 -78
- package/lib/dist/utils.js +2 -2
- package/package.json +7 -4
package/README.md
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
# @
|
|
2
|
-
|
|
3
|
-
<p align="center">
|
|
4
|
-
<a href="https://www.epfl.ch/research/domains/bluebrain/">Blue Brain Project</a>
|
|
5
|
-
</p>
|
|
1
|
+
# @openbraininstitute/morphoviewer
|
|
6
2
|
|
|
7
3
|
[See it in action](https://openbraininstitute.github.io/morphoviewer/).
|
|
8
4
|
|
|
@@ -33,3 +29,18 @@ The development of this software was supported by funding to the Blue Brain Proj
|
|
|
33
29
|
|
|
34
30
|
Copyright (c) 2024 Blue Brain Project/EPFL
|
|
35
31
|
Copyright (c) 2025 Open Brain Institute
|
|
32
|
+
|
|
33
|
+
## Release notes
|
|
34
|
+
|
|
35
|
+
### v0.24.20
|
|
36
|
+
|
|
37
|
+
- Add optional `gizmo` prop to `MorphoViewerOctree` for displaying an axes orientation controller
|
|
38
|
+
- Accepts `boolean` or a `Partial<TgdPainterGizmoOptions>` object (`alignX`, `alignY`, `size`, `margin`)
|
|
39
|
+
- Dynamically updates gizmo position, size, and visibility at runtime
|
|
40
|
+
- Add `GizmoSettings` panel in the doc app for interactive gizmo configuration
|
|
41
|
+
- Add nested route `/morpho-viewer-octree/gizmo-settings` in the doc app
|
|
42
|
+
- Upgrade `@tolokoban/tgd` dependency from `^2.0.126` to `^2.0.130` to fix a bug in Gizmo resizing
|
|
43
|
+
|
|
44
|
+
### v0.24.18
|
|
45
|
+
|
|
46
|
+
- Add Tauri-based testing tool (`tst/`) for checking LOD blocks bounding boxes
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type TgdPainterGizmoOptions } from "@tolokoban/tgd";
|
|
1
2
|
import type { MorphoViewerOctreeProps } from "../types";
|
|
2
3
|
export declare class OctreeManager {
|
|
3
4
|
loadInfo: MorphoViewerOctreeProps["loadInfo"] | null;
|
|
@@ -6,12 +7,18 @@ export declare class OctreeManager {
|
|
|
6
7
|
private _canvas;
|
|
7
8
|
private context;
|
|
8
9
|
private readonly group;
|
|
10
|
+
private readonly groupGizmo;
|
|
9
11
|
private promisedInfo;
|
|
10
12
|
private readonly availableBlocks;
|
|
11
13
|
private readonly material;
|
|
12
14
|
private orbit;
|
|
13
15
|
private initialCameraState;
|
|
14
16
|
private animations;
|
|
17
|
+
private _gizmo;
|
|
18
|
+
private painterGizmo;
|
|
19
|
+
constructor();
|
|
20
|
+
get gizmo(): false | TgdPainterGizmoOptions;
|
|
21
|
+
set gizmo(gizmo: boolean | Partial<TgdPainterGizmoOptions> | undefined);
|
|
15
22
|
resetCamera(): void;
|
|
16
23
|
get meshId(): string;
|
|
17
24
|
set meshId(meshId: string);
|
|
@@ -19,5 +26,5 @@ export declare class OctreeManager {
|
|
|
19
26
|
set canvas(canvas: HTMLCanvasElement | null);
|
|
20
27
|
private readonly resetMeshLoading;
|
|
21
28
|
}
|
|
22
|
-
export declare function useOctreeManager({ meshId, loadInfo, loadBlock, }: MorphoViewerOctreeProps): OctreeManager;
|
|
29
|
+
export declare function useOctreeManager({ meshId, loadInfo, loadBlock, gizmo, }: MorphoViewerOctreeProps): OctreeManager;
|
|
23
30
|
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-octree/painter/manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-octree/painter/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,sBAAsB,EAU5B,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAQxD,qBAAa,aAAa;IACjB,QAAQ,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAQ;IAC5D,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAQ;IAErE,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+C;IAC1E,OAAO,CAAC,YAAY,CAAgE;IACpF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGtB;IACH,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,kBAAkB,CAM6C;IACvE,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,YAAY,CAAgC;;IAMpD,IAAI,KAAK,IAAI,KAAK,GAAG,sBAAsB,CAE1C;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC,GAAG,SAAS,EAuBrE;IAED,WAAW;IAgBX,IAAI,MAAM,IAGS,MAAM,CADxB;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAMxB;IAED,IAAI,MAAM,IAAI,iBAAiB,GAAG,IAAI,CAErC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAgC1C;IAED,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAsE/B;CACH;AAoBD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE,uBAAuB,GAAG,aAAa,CAazC"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { TgdContext, TgdControllerCameraOrbit, TgdDataGlb, TgdGeometryBox, TgdMaterialDiffuse, TgdPainterClear, TgdPainterGroup, TgdPainterLOD, TgdPainterMesh, TgdPainterMeshGltf, TgdPainterState, TgdQuat, TgdVec3, tgdActionCreateCameraInterpolation, tgdEasingFunctionInOutQuad, } from "@tolokoban/tgd";
|
|
2
|
+
import { TgdContext, TgdControllerCameraOrbit, TgdDataGlb, TgdGeometryBox, TgdMaterialDiffuse, TgdPainterClear, TgdPainterGizmo, TgdPainterGroup, TgdPainterLOD, TgdPainterMesh, TgdPainterMeshGltf, TgdPainterState, TgdQuat, TgdVec3, tgdActionCreateCameraInterpolation, tgdEasingFunctionInOutQuad, } from "@tolokoban/tgd";
|
|
3
3
|
import React from "react";
|
|
4
4
|
import { morphoViewerOctreeBlockToId } from "../tools.js";
|
|
5
5
|
import { makeCamera } from "./camera.js";
|
|
6
|
+
const DEFAULT_GIZMO_PROPS = {
|
|
7
|
+
alignX: +1,
|
|
8
|
+
alignY: -1,
|
|
9
|
+
size: 128,
|
|
10
|
+
margin: 8,
|
|
11
|
+
};
|
|
6
12
|
export class OctreeManager {
|
|
7
13
|
constructor() {
|
|
8
14
|
this.loadInfo = null;
|
|
@@ -11,6 +17,7 @@ export class OctreeManager {
|
|
|
11
17
|
this._canvas = null;
|
|
12
18
|
this.context = null;
|
|
13
19
|
this.group = new TgdPainterGroup({ name: "Group" });
|
|
20
|
+
this.groupGizmo = new TgdPainterGroup({ name: "GroupGizmo" });
|
|
14
21
|
this.promisedInfo = null;
|
|
15
22
|
this.availableBlocks = new Set();
|
|
16
23
|
this.material = new TgdMaterialDiffuse({
|
|
@@ -20,6 +27,8 @@ export class OctreeManager {
|
|
|
20
27
|
this.orbit = null;
|
|
21
28
|
this.initialCameraState = { width: 1, height: 1, near: 1, far: 10, position: new TgdVec3() };
|
|
22
29
|
this.animations = [];
|
|
30
|
+
this._gizmo = false;
|
|
31
|
+
this.painterGizmo = null;
|
|
23
32
|
this.resetMeshLoading = () => __awaiter(this, void 0, void 0, function* () {
|
|
24
33
|
var _a, _b;
|
|
25
34
|
const { loadInfo } = this;
|
|
@@ -88,6 +97,32 @@ export class OctreeManager {
|
|
|
88
97
|
group.add(lod);
|
|
89
98
|
context.paint();
|
|
90
99
|
});
|
|
100
|
+
this.groupGizmo.active = !!this._gizmo;
|
|
101
|
+
}
|
|
102
|
+
get gizmo() {
|
|
103
|
+
return this._gizmo;
|
|
104
|
+
}
|
|
105
|
+
set gizmo(gizmo) {
|
|
106
|
+
if (this._gizmo === gizmo)
|
|
107
|
+
return;
|
|
108
|
+
if (gizmo === true) {
|
|
109
|
+
this._gizmo = DEFAULT_GIZMO_PROPS;
|
|
110
|
+
}
|
|
111
|
+
else if (gizmo === false) {
|
|
112
|
+
this._gizmo = false;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this._gizmo = Object.assign(Object.assign({}, DEFAULT_GIZMO_PROPS), gizmo);
|
|
116
|
+
}
|
|
117
|
+
this.groupGizmo.active = !!this._gizmo;
|
|
118
|
+
if (this.painterGizmo) {
|
|
119
|
+
const { alignX, alignY, size, margin } = this._gizmo === false ? DEFAULT_GIZMO_PROPS : this._gizmo;
|
|
120
|
+
console.log("🐞 [manager@87] this._gizmo =", this._gizmo);
|
|
121
|
+
this.painterGizmo.alignX = alignX;
|
|
122
|
+
this.painterGizmo.alignY = alignY;
|
|
123
|
+
this.painterGizmo.size = size;
|
|
124
|
+
this.painterGizmo.margin = margin;
|
|
125
|
+
}
|
|
91
126
|
}
|
|
92
127
|
resetCamera() {
|
|
93
128
|
const { context } = this;
|
|
@@ -126,16 +161,12 @@ export class OctreeManager {
|
|
|
126
161
|
(_b = this.orbit) === null || _b === void 0 ? void 0 : _b.detach();
|
|
127
162
|
if (!canvas)
|
|
128
163
|
return;
|
|
129
|
-
const context =
|
|
164
|
+
const context = new TgdContext(canvas, {
|
|
130
165
|
antialias: true,
|
|
131
166
|
alpha: false,
|
|
132
167
|
depth: true,
|
|
133
|
-
}));
|
|
134
|
-
context.inputs.pointer.eventTapMultiple.addListener(() => {
|
|
135
|
-
const zoom = context.camera.zoom;
|
|
136
|
-
console.log("🐞 [manager@102] zoom =", zoom);
|
|
137
|
-
context.paint();
|
|
138
168
|
});
|
|
169
|
+
this.context = context;
|
|
139
170
|
context.add(new TgdPainterClear(context, {
|
|
140
171
|
color: [0, 0, 0, 1],
|
|
141
172
|
depth: 1,
|
|
@@ -143,7 +174,11 @@ export class OctreeManager {
|
|
|
143
174
|
depth: "less",
|
|
144
175
|
cull: "back",
|
|
145
176
|
children: [this.group],
|
|
146
|
-
}));
|
|
177
|
+
}), this.groupGizmo);
|
|
178
|
+
this.groupGizmo.removeAll();
|
|
179
|
+
const painterGizmo = new TgdPainterGizmo(context, DEFAULT_GIZMO_PROPS);
|
|
180
|
+
this.painterGizmo = painterGizmo;
|
|
181
|
+
this.groupGizmo.add(painterGizmo);
|
|
147
182
|
this.group.removeAll();
|
|
148
183
|
this.resetMeshLoading();
|
|
149
184
|
}
|
|
@@ -163,7 +198,7 @@ function makeDebugMesh(context, bbox, material) {
|
|
|
163
198
|
material,
|
|
164
199
|
});
|
|
165
200
|
}
|
|
166
|
-
export function useOctreeManager({ meshId, loadInfo, loadBlock, }) {
|
|
201
|
+
export function useOctreeManager({ meshId, loadInfo, loadBlock, gizmo, }) {
|
|
167
202
|
const ref = React.useRef(null);
|
|
168
203
|
if (!ref.current)
|
|
169
204
|
ref.current = new OctreeManager();
|
|
@@ -174,7 +209,8 @@ export function useOctreeManager({ meshId, loadInfo, loadBlock, }) {
|
|
|
174
209
|
manager.loadInfo = loadInfo;
|
|
175
210
|
manager.loadBlock = loadBlock;
|
|
176
211
|
manager.meshId = meshId;
|
|
177
|
-
|
|
212
|
+
manager.gizmo = gizmo !== null && gizmo !== void 0 ? gizmo : false;
|
|
213
|
+
}, [meshId, loadInfo, loadBlock, gizmo]);
|
|
178
214
|
return ref.current;
|
|
179
215
|
}
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItb2N0cmVlL3BhaW50ZXIvbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUlMLFVBQVUsRUFDVix3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLGNBQWMsRUFFZCxrQkFBa0IsRUFFbEIsZUFBZSxFQUNmLGVBQWUsRUFDZixhQUFhLEVBQ2IsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsT0FBTyxFQUNQLE9BQU8sRUFDUCxrQ0FBa0MsRUFDbEMsMEJBQTBCLEdBQzNCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRDLE1BQU0sT0FBTyxhQUFhO0lBQTFCO1FBQ1MsYUFBUSxHQUErQyxJQUFJLENBQUM7UUFDNUQsY0FBUyxHQUFnRCxJQUFJLENBQUM7UUFFN0QsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQTZCLElBQUksQ0FBQztRQUN6QyxZQUFPLEdBQXNCLElBQUksQ0FBQztRQUN6QixVQUFLLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RCxpQkFBWSxHQUEyRCxJQUFJLENBQUM7UUFDbkUsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxJQUFJLGtCQUFrQixDQUFDO1lBQ2pELGtCQUFrQixFQUFFLElBQUk7WUFDeEIsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQzFCLENBQUMsQ0FBQztRQUNLLFVBQUss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
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItb2N0cmVlL3BhaW50ZXIvbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdMLFVBQVUsRUFDVix3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLGNBQWMsRUFFZCxrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGVBQWUsRUFFZixlQUFlLEVBQ2YsYUFBYSxFQUNiLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLE9BQU8sRUFDUCxPQUFPLEVBQ1Asa0NBQWtDLEVBQ2xDLDBCQUEwQixHQUMzQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUl0QyxNQUFNLG1CQUFtQixHQUEyQjtJQUNsRCxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNWLElBQUksRUFBRSxHQUFHO0lBQ1QsTUFBTSxFQUFFLENBQUM7Q0FDVixDQUFDO0FBQ0YsTUFBTSxPQUFPLGFBQWE7SUEyQnhCO1FBMUJPLGFBQVEsR0FBK0MsSUFBSSxDQUFDO1FBQzVELGNBQVMsR0FBZ0QsSUFBSSxDQUFDO1FBRTdELFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsWUFBTyxHQUE2QixJQUFJLENBQUM7UUFDekMsWUFBTyxHQUFzQixJQUFJLENBQUM7UUFDekIsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDL0MsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDbEUs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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ArrayNumber3 } from "@tolokoban/tgd";
|
|
1
|
+
import type { ArrayNumber3, TgdPainterGizmoOptions } from "@tolokoban/tgd";
|
|
2
2
|
export type MorphoViewerOctreeMeshType = {
|
|
3
3
|
type: "glb";
|
|
4
4
|
data: ArrayBuffer;
|
|
@@ -15,5 +15,6 @@ export interface MorphoViewerOctreeProps {
|
|
|
15
15
|
meshId: string;
|
|
16
16
|
loadInfo(meshId: string): Promise<MorphoViewerOctreeInfo | null>;
|
|
17
17
|
loadBlock(meshId: string, blockId: string): Promise<MorphoViewerOctreeMeshType | null>;
|
|
18
|
+
gizmo?: boolean | TgdPainterGizmoOptions;
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-octree/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-octree/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAmB,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE5F,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE;QACJ,GAAG,EAAE,YAAY,CAAC;QAClB,GAAG,EAAE,YAAY,CAAC;KACnB,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAKjE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;IAWvF,KAAK,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;CAC1C"}
|
package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"morpho-viewer-small-circuit.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"morpho-viewer-small-circuit.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,GAAG,CAAC;AA0CvD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,2CAmC5E"}
|
|
@@ -5,7 +5,7 @@ import { classNames } from "./../../utils.js";
|
|
|
5
5
|
import { ButtonCameraReset } from "../button-reset-camera/index.js";
|
|
6
6
|
import { IconClose } from "../icons/close.js";
|
|
7
7
|
import { IconFullscreen } from "../icons/fullscreen.js";
|
|
8
|
-
import { usePainterManager } from "./painter/
|
|
8
|
+
import { usePainterManager } from "./painter/index.js";
|
|
9
9
|
import styles from "./morpho-viewer-small-circuit.module.css";
|
|
10
10
|
export function MorphoViewerSmallCircuit(props) {
|
|
11
11
|
var _a;
|
|
@@ -29,4 +29,4 @@ const Canvas = React.memo(({ painterManager }) => {
|
|
|
29
29
|
};
|
|
30
30
|
} }, "canvas"));
|
|
31
31
|
});
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0L21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUF1QixpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVuRSxPQUFPLE1BQU0sTUFBTSwwQ0FBMEMsQ0FBQztBQXVDOUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEtBQW9DOztJQUMzRSxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUF3QixJQUFJLENBQUMsQ0FBQztJQUN0RCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsRUFBRTtRQUNsQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUVqQixtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUM7SUFFRixPQUFPLENBQ0wsZUFDRSxHQUFHLEVBQUUsR0FBRyxFQUNSLFNBQVMsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsd0JBQXdCLENBQUMsRUFDdkUsS0FBSyxFQUFFO1lBQ0wsVUFBVSxFQUFFLE1BQUEsS0FBSyxDQUFDLGVBQWUsbUNBQUksTUFBTTtTQUM1QyxhQUVELEtBQUMsTUFBTSxJQUFDLGNBQWMsRUFBRSxPQUFPLEdBQUksRUFDbkMsNkJBQ0UsZUFBTyxFQUNQLEtBQUMsaUJBQWlCLElBQUMsY0FBYyxFQUFFLE9BQU8sR0FBSSxFQUM5QyxlQUFLLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxhQUN6QixpQkFBUSxJQUFJLEVBQUMsUUFBUSxFQUFDLE9BQU8sRUFBRSxzQkFBc0IsWUFDbkQsS0FBQyxjQUFjLEtBQUcsR0FDWCxFQUNSLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FDaEIsaUJBQVEsSUFBSSxFQUFDLFFBQVEsRUFBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sWUFDMUMsS0FBQyxTQUFTLEtBQUcsR0FDTixDQUNWLElBQ0csSUFDQyxJQUNMLENBQ1AsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQXNDLEVBQUUsRUFBRTtJQUNuRixPQUFPLENBQ0wsaUJBRUUsR0FBRyxFQUFFLENBQUMsTUFBZ0MsRUFBRSxFQUFFO1lBQ3hDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQy9CLE9BQU8sR0FBRyxFQUFFO2dCQUNWLGNBQWMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQy9CLENBQUMsQ0FBQztRQUNKLENBQUMsSUFORyxRQUFRLENBT1osQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TgdControllerCameraOrbit, tgdActionCreateCameraInterpolation, tgdEasingFunctionInOutCubic, } from "@tolokoban/tgd";
|
|
2
|
-
const ZOOM_MIN = 0.
|
|
3
|
-
const ZOOM_MAX =
|
|
2
|
+
const ZOOM_MIN = 0.5;
|
|
3
|
+
const ZOOM_MAX = 20;
|
|
4
4
|
export class CameraManager {
|
|
5
5
|
constructor(context, eventRestingPosition) {
|
|
6
6
|
this.context = context;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { PainterManager, usePainterManager } from "./manager";
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-small-circuit/painter/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-small-circuit/painter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export { PainterManager, usePainterManager } from "./manager.js";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNtYWxsLWNpcmN1aXQvcGFpbnRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sV0FBVyxDQUFDIn0=
|
|
@@ -4,6 +4,7 @@ export declare class PainterManager {
|
|
|
4
4
|
readonly eventRestingPosition: TgdEvent<boolean>;
|
|
5
5
|
readonly eventCellHover: TgdEvent<MorphoViewerSmallCircuitCell | undefined>;
|
|
6
6
|
readonly eventCellClick: TgdEvent<MorphoViewerSmallCircuitCell | undefined>;
|
|
7
|
+
onLoadProgress?(progress: number): void;
|
|
7
8
|
private readonly viewportMatchingScale;
|
|
8
9
|
private _canvas;
|
|
9
10
|
private _background;
|
|
@@ -19,6 +20,8 @@ export declare class PainterManager {
|
|
|
19
20
|
private readonly cellsForHighights;
|
|
20
21
|
private readonly groupHighlithedCells;
|
|
21
22
|
private loadCell;
|
|
23
|
+
private cellCountTotal;
|
|
24
|
+
private cellCountLoaded;
|
|
22
25
|
private framebufferCircuit;
|
|
23
26
|
private textureFramebufferCircuit;
|
|
24
27
|
private framebufferHighlightedCells;
|
|
@@ -27,9 +30,11 @@ export declare class PainterManager {
|
|
|
27
30
|
private textureFramebufferBlur;
|
|
28
31
|
private loadedCells;
|
|
29
32
|
private circuitSignature;
|
|
33
|
+
private bbox;
|
|
30
34
|
readonly cameraReset: () => void | undefined;
|
|
31
35
|
setCircuit(circuit: MorphoViewerSmallCircuitCell[], loadCell: (id: string) => Promise<MorphoViewerSmallCircuitCellData | null>): void;
|
|
32
36
|
private updateCircuit;
|
|
37
|
+
private adaptCameraFromBBox;
|
|
33
38
|
get highlightedCellIds(): string[] | undefined;
|
|
34
39
|
set highlightedCellIds(value: string[] | undefined);
|
|
35
40
|
private updateHightedCells;
|
|
@@ -45,5 +50,5 @@ export declare class PainterManager {
|
|
|
45
50
|
private readonly handlePointerTap;
|
|
46
51
|
private delete;
|
|
47
52
|
}
|
|
48
|
-
export declare function usePainterManager({ backgroundColor, circuit, loadCell, onCellHover, onCellClick, highlightedCellIds, }: MorphoViewerSmallCircuitProps): PainterManager;
|
|
53
|
+
export declare function usePainterManager({ backgroundColor, circuit, loadCell, onCellHover, onCellClick, highlightedCellIds, onLoadProgress, }: MorphoViewerSmallCircuitProps): PainterManager;
|
|
49
54
|
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-small-circuit/painter/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,QAAQ,EAcT,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-small-circuit/painter/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,QAAQ,EAcT,MAAM,gBAAgB,CAAC;AASxB,OAAO,KAAK,EACV,4BAA4B,EAC5B,gCAAgC,EAChC,6BAA6B,EAC9B,MAAM,IAAI,CAAC;AAMZ,qBAAa,cAAc;IACzB,SAAgB,oBAAoB,oBAA2B;IAC/D,SAAgB,cAAc,qDAA4D;IAC1F,SAAgB,cAAc,qDAA4D;IAOnF,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAM9C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAO;IAC7C,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4B;IAC5D,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8C;IACzE,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IACpE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAElC;IACH,OAAO,CAAC,QAAQ,CACT;IAIP,OAAO,CAAC,cAAc,CAAK;IAK3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,yBAAyB,CAA6B;IAC9D,OAAO,CAAC,2BAA2B,CAA4B;IAC/D,OAAO,CAAC,kCAAkC,CAA6B;IACvE,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,sBAAsB,CAA6B;IAC3D,OAAO,CAAC,WAAW,CAAsE;IACzF,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,IAAI,CAAwB;IAEpC,QAAQ,CAAC,WAAW,yBAA2C;IAE/D,UAAU,CACR,OAAO,EAAE,4BAA4B,EAAE,EACvC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC;IAqB5E,OAAO,CAAC,aAAa;IAqDrB,OAAO,CAAC,mBAAmB;IAoB3B,IAAW,kBAAkB,IAGQ,MAAM,EAAE,GAAG,SAAS,CADxD;IACD,IAAW,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAKxD;IAED,OAAO,CAAC,kBAAkB;IAmB1B,IAAI,UAAU,IAGQ,MAAM,CAD3B;IACD,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAU3B;IAED,IAAI,MAAM,IAGS,iBAAiB,GAAG,IAAI,CAD1C;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAgD1C;IAED,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,iCAAiC;IAkBzC,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CASjC;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAM/B;IAEF,OAAO,CAAC,MAAM;CAsBf;AAED,wBAAgB,iBAAiB,CAAC,EAChC,eAAe,EACf,OAAO,EACP,QAAQ,EACR,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,cAAc,GACf,EAAE,6BAA6B,kBAmC/B"}
|
|
@@ -3,7 +3,7 @@ import React from "react";
|
|
|
3
3
|
import { CacheLRU } from "./../../../tools/cache-lru.js";
|
|
4
4
|
import { CameraManager } from "./camera.js";
|
|
5
5
|
import { OffscreenPainter } from "./offscreen-painter/index.js";
|
|
6
|
-
import { PainterCell } from "./painter-cell/
|
|
6
|
+
import { PainterCell } from "./painter-cell/index.js";
|
|
7
7
|
export class PainterManager {
|
|
8
8
|
constructor() {
|
|
9
9
|
this.eventRestingPosition = new TgdEvent();
|
|
@@ -26,6 +26,8 @@ export class PainterManager {
|
|
|
26
26
|
name: "groupHighlisthedCells",
|
|
27
27
|
});
|
|
28
28
|
this.loadCell = null;
|
|
29
|
+
this.cellCountTotal = 0;
|
|
30
|
+
this.cellCountLoaded = 0;
|
|
29
31
|
this.framebufferCircuit = null;
|
|
30
32
|
this.textureFramebufferCircuit = null;
|
|
31
33
|
this.framebufferHighlightedCells = null;
|
|
@@ -34,6 +36,7 @@ export class PainterManager {
|
|
|
34
36
|
this.textureFramebufferBlur = null;
|
|
35
37
|
this.loadedCells = new CacheLRU(24);
|
|
36
38
|
this.circuitSignature = "";
|
|
39
|
+
this.bbox = new TgdBoundingBox();
|
|
37
40
|
this.cameraReset = () => { var _a; return (_a = this.cameraManager) === null || _a === void 0 ? void 0 : _a.resetCamera(); };
|
|
38
41
|
this.handlePointerHover = (evt) => {
|
|
39
42
|
const { offscreen } = this;
|
|
@@ -74,12 +77,16 @@ export class PainterManager {
|
|
|
74
77
|
this.updateCircuit();
|
|
75
78
|
}
|
|
76
79
|
updateCircuit() {
|
|
80
|
+
var _a;
|
|
77
81
|
const { context } = this;
|
|
78
82
|
if (!context)
|
|
79
83
|
return;
|
|
80
84
|
const { loadCell, loadedCells } = this;
|
|
81
85
|
if (!loadCell)
|
|
82
86
|
return;
|
|
87
|
+
(_a = this.onLoadProgress) === null || _a === void 0 ? void 0 : _a.call(this, 0);
|
|
88
|
+
this.cellCountTotal = this.circuit.length;
|
|
89
|
+
this.cellCountLoaded = 0;
|
|
83
90
|
const camera = new TgdCameraPerspective({
|
|
84
91
|
zoom: 1,
|
|
85
92
|
});
|
|
@@ -88,17 +95,27 @@ export class PainterManager {
|
|
|
88
95
|
loadCell,
|
|
89
96
|
loadedCells,
|
|
90
97
|
});
|
|
91
|
-
const bbox = new TgdBoundingBox();
|
|
92
98
|
const { cellsForHighights: highlightingCells } = this;
|
|
93
99
|
highlightingCells.clear();
|
|
94
100
|
this.groupHighlithedCells.removeAll(false);
|
|
101
|
+
this.bbox = new TgdBoundingBox();
|
|
95
102
|
for (const cell of this.circuit) {
|
|
96
103
|
const [x, y, z] = cell.center;
|
|
97
|
-
|
|
104
|
+
const r = cell.somaRadius;
|
|
105
|
+
this.bbox.addSphere(x, y, z, r * 5);
|
|
98
106
|
const painterCell = new PainterCell(context, {
|
|
99
107
|
cell,
|
|
100
108
|
loadCell,
|
|
101
109
|
matrerial: "full",
|
|
110
|
+
onCellLoaded: (bbox) => {
|
|
111
|
+
var _a;
|
|
112
|
+
if (bbox) {
|
|
113
|
+
this.bbox.addBBox(bbox);
|
|
114
|
+
this.adaptCameraFromBBox();
|
|
115
|
+
}
|
|
116
|
+
this.cellCountLoaded++;
|
|
117
|
+
(_a = this.onLoadProgress) === null || _a === void 0 ? void 0 : _a.call(this, this.cellCountLoaded / this.cellCountTotal);
|
|
118
|
+
},
|
|
102
119
|
});
|
|
103
120
|
this.groupCells.add(painterCell);
|
|
104
121
|
const highlightedCell = new PainterCell(context, {
|
|
@@ -108,6 +125,17 @@ export class PainterManager {
|
|
|
108
125
|
});
|
|
109
126
|
highlightingCells.set(cell.id, highlightedCell);
|
|
110
127
|
}
|
|
128
|
+
this.updateHightedCells();
|
|
129
|
+
context.camera = camera;
|
|
130
|
+
this.adaptCameraFromBBox();
|
|
131
|
+
context.paint();
|
|
132
|
+
}
|
|
133
|
+
adaptCameraFromBBox() {
|
|
134
|
+
const { context } = this;
|
|
135
|
+
if (!context)
|
|
136
|
+
return;
|
|
137
|
+
const { bbox } = this;
|
|
138
|
+
const { camera } = context;
|
|
111
139
|
const bboxW = Math.abs(bbox.max[0] - bbox.min[0]);
|
|
112
140
|
const bboxH = Math.abs(bbox.max[1] - bbox.min[1]);
|
|
113
141
|
camera.transfo.position = bbox.center;
|
|
@@ -115,14 +143,11 @@ export class PainterManager {
|
|
|
115
143
|
camera.fitSpaceAtTarget(bboxW * scale, bboxH * scale);
|
|
116
144
|
camera.near = 1;
|
|
117
145
|
camera.far = camera.transfo.distance * 2;
|
|
118
|
-
camera.zoom =
|
|
146
|
+
camera.zoom = 2;
|
|
119
147
|
const { cameraManager } = this;
|
|
120
148
|
if (cameraManager) {
|
|
121
149
|
cameraManager.target = camera.getCurrentState();
|
|
122
150
|
}
|
|
123
|
-
this.updateHightedCells();
|
|
124
|
-
context.paint();
|
|
125
|
-
context.camera = camera;
|
|
126
151
|
}
|
|
127
152
|
get highlightedCellIds() {
|
|
128
153
|
return this._highlightedCellIds;
|
|
@@ -183,7 +208,7 @@ export class PainterManager {
|
|
|
183
208
|
context.inputs.pointer.eventTap.addListener(this.handlePointerTap);
|
|
184
209
|
this.context = context;
|
|
185
210
|
this.cameraManager = new CameraManager(context, this.eventRestingPosition);
|
|
186
|
-
const clear =
|
|
211
|
+
const clear = new TgdPainterClear(context, {
|
|
187
212
|
color: [
|
|
188
213
|
this.backgroundColor.R,
|
|
189
214
|
this.backgroundColor.G,
|
|
@@ -191,13 +216,16 @@ export class PainterManager {
|
|
|
191
216
|
this.backgroundColor.A,
|
|
192
217
|
],
|
|
193
218
|
depth: 1,
|
|
194
|
-
})
|
|
219
|
+
});
|
|
220
|
+
this.painterClear = clear;
|
|
195
221
|
context.add(clear, new TgdPainterState(context, {
|
|
196
222
|
depth: "less",
|
|
223
|
+
cull: "back",
|
|
197
224
|
children: [this.groupCells],
|
|
198
225
|
}), new TgdPainterClear(context, { depth: 1 }), new TgdPainterState(context, {
|
|
199
226
|
depth: "less",
|
|
200
227
|
blend: "add",
|
|
228
|
+
cull: "back",
|
|
201
229
|
children: [this.groupHighlithedCells],
|
|
202
230
|
}));
|
|
203
231
|
this.updateCircuit();
|
|
@@ -311,12 +339,15 @@ export class PainterManager {
|
|
|
311
339
|
}
|
|
312
340
|
}
|
|
313
341
|
}
|
|
314
|
-
export function usePainterManager({ backgroundColor, circuit, loadCell, onCellHover, onCellClick, highlightedCellIds, }) {
|
|
342
|
+
export function usePainterManager({ backgroundColor, circuit, loadCell, onCellHover, onCellClick, highlightedCellIds, onLoadProgress, }) {
|
|
315
343
|
const ref = React.useRef(null);
|
|
316
344
|
if (!ref.current) {
|
|
317
345
|
ref.current = new PainterManager();
|
|
318
346
|
}
|
|
319
347
|
const manager = ref.current;
|
|
348
|
+
React.useEffect(() => {
|
|
349
|
+
manager.onLoadProgress = onLoadProgress;
|
|
350
|
+
}, [onLoadProgress, manager]);
|
|
320
351
|
React.useEffect(() => {
|
|
321
352
|
manager.background = backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : "#000";
|
|
322
353
|
}, [backgroundColor, manager]);
|
|
@@ -344,4 +375,4 @@ export function usePainterManager({ backgroundColor, circuit, loadCell, onCellHo
|
|
|
344
375
|
}, [onCellClick, manager]);
|
|
345
376
|
return ref.current;
|
|
346
377
|
}
|
|
347
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC9wYWludGVyL21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLFVBQVUsRUFDVixRQUFRLEVBQ1IsYUFBYSxFQUliLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIscUNBQXFDLEVBQ3JDLGVBQWUsRUFDZixhQUFhLEVBQ2IsZUFBZSxFQUNmLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQU03QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU0xRCxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNrQix5QkFBb0IsR0FBRyxJQUFJLFFBQVEsRUFBVyxDQUFDO1FBQy9DLG1CQUFjLEdBQUcsSUFBSSxRQUFRLEVBQTRDLENBQUM7UUFDMUUsbUJBQWMsR0FBRyxJQUFJLFFBQVEsRUFBNEMsQ0FBQztRQU16RSwwQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDckMsWUFBTyxHQUE2QixJQUFJLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFDWixvQkFBZSxHQUFHLElBQUksUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BELFlBQU8sR0FBc0IsSUFBSSxDQUFDO1FBQ2xDLGtCQUFhLEdB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
|
|
378
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC9wYWludGVyL21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLFVBQVUsRUFDVixRQUFRLEVBQ1IsYUFBYSxFQUliLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIscUNBQXFDLEVBQ3JDLGVBQWUsRUFDZixhQUFhLEVBQ2IsZUFBZSxFQUNmLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVk3QyxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNrQix5QkFBb0IsR0FBRyxJQUFJLFFBQVEsRUFBVyxDQUFDO1FBQy9DLG1CQUFjLEdBQUcsSUFBSSxRQUFRLEVBQTRDLENBQUM7UUFDMUUsbUJBQWMsR0FBRyxJQUFJLFFBQVEsRUFBNEMsQ0FBQztRQWF6RSwwQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDckMsWUFBTyxHQUE2QixJQUFJLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFDWixvQkFBZSxHQUFHLElBQUksUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BELFlBQU8sR0FBc0IsSUFBSSxDQUFDO1FBQ2xDLGtCQUFhLEdBQXlCLElBQUksQ0FBQztRQUMzQyxpQkFBWSxHQUEyQixJQUFJLENBQUM7UUFDNUMsY0FBUyxHQUE0QixJQUFJLENBQUM7UUFDMUMsd0JBQW1CLEdBQWEsRUFBRSxDQUFDO1FBQ25DLGtCQUFhLEdBQXVCLEVBQUUsQ0FBQztRQUM5QixlQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNqRSxZQUFPLEdBQW1DLEVBQUUsQ0FBQztRQUNwQyxzQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBdUIsQ0FBQztRQUNuRCx5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBQztZQUMxRCxJQUFJLEVBQUUsdUJBQXVCO1NBQzlCLENBQUMsQ0FBQztRQUNLLGFBQVEsR0FDZCxJQUFJLENBQUM7UUFJQyxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUtuQixvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNwQix1QkFBa0IsR0FBdUIsSUFBSSxDQUFDO1FBQzlDLDhCQUF5QixHQUF3QixJQUFJLENBQUM7UUFDdEQsZ0NBQTJCLEdBQXVCLElBQUksQ0FBQztRQUN2RCx1Q0FBa0MsR0FBd0IsSUFBSSxDQUFDO1FBQy9ELG9CQUFlLEdBQXVCLElBQUksQ0FBQztRQUMzQywyQkFBc0IsR0FBd0IsSUFBSSxDQUFDO1FBQ25ELGdCQUFXLEdBQUcsSUFBSSxRQUFRLENBQW1ELEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixTQUFJLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUUzQixnQkFBVyxHQUFHLEdBQUcsRUFBRSxXQUFDLE9BQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxXQUFXLEVBQUUsQ0FBQSxFQUFBLENBQUM7UUFnUzlDLHVCQUFrQixHQUFHLENBQUMsR0FBNkIsRUFBRSxFQUFFO1lBQ3RFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLFNBQVM7Z0JBQUUsT0FBTztZQUV2QixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxFQUFFLE1BQUssSUFBSSxDQUFDLGFBQWE7Z0JBQUUsT0FBTztZQUU1QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDO1FBRWUscUJBQWdCLEdBQUcsQ0FBQyxHQUE0QixFQUFFLEVBQUU7WUFDbkUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUztnQkFBRSxPQUFPO1lBRXZCLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxJQUFJO2dCQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQztJQXdCSixDQUFDO0lBdlVDLFVBQVUsQ0FDUixPQUF1QyxFQUN2QyxRQUEwRTtRQUUxRSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssT0FBTztZQUFFLE9BQU87UUFFckMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRTtZQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4QyxJQUFJLE1BQU07Z0JBQUUsT0FBTyxNQUFNLENBQUM7WUFFMUIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNsQyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLGFBQWE7O1FBQ25CLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUV0QixNQUFBLElBQUksQ0FBQyxjQUFjLHFEQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDekIsTUFBTSxNQUFNLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQztZQUN0QyxJQUFJLEVBQUUsQ0FBQztTQUNSLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7WUFDN0MsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFFBQVE7WUFDUixXQUFXO1NBQ1osQ0FBQyxDQUFDO1FBQ0gsTUFBTSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3RELGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2pDLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDOUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFO2dCQUMzQyxJQUFJO2dCQUNKLFFBQVE7Z0JBQ1IsU0FBUyxFQUFFLE1BQU07Z0JBQ2pCLFlBQVksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFOztvQkFDckIsSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDeEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7b0JBQzdCLENBQUM7b0JBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUN2QixNQUFBLElBQUksQ0FBQyxjQUFjLHFEQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNwRSxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDakMsTUFBTSxlQUFlLEdBQUcsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFO2dCQUMvQyxJQUFJO2dCQUNKLFFBQVE7Z0JBQ1IsU0FBUyxFQUFFLE1BQU07YUFDbEIsQ0FBQyxDQUFDO1lBQ0gsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDdEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN0QyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDaEIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixhQUFhLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFXLGtCQUFrQixDQUFDLEtBQTJCO1FBQ3ZELElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxtQkFBbUI7WUFBRSxPQUFPO1FBRS9DLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjs7UUFDeEIsTUFBTSxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLElBQUksQ0FBQztRQUN0RixvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMzQixNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwQyxDQUFDO1FBQ0gsQ0FBQztRQUNELEtBQUssTUFBTSxFQUFFLElBQUksa0JBQWtCLGFBQWxCLGtCQUFrQixjQUFsQixrQkFBa0IsR0FBSSxFQUFFLEVBQUUsQ0FBQztZQUMxQyxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQztRQUNELE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ2hDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ25DLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDckMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUNwQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFnQztRQUN6QyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssTUFBTTtZQUFFLE9BQU87UUFFcEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFFcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RSxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sS0FBSyxHQUFHLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRTtZQUN6QyxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ3ZCO1lBQ0QsS0FBSyxFQUFFLENBQUM7U0FDVCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQVExQixPQUFPLENBQUMsR0FBRyxDQUNULEtBQUssRUFDTCxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUU7WUFDM0IsS0FBSyxFQUFFLE1BQU07WUFDYixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDNUIsQ0FBQyxFQUVGLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUMxQyxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUU7WUFDM0IsS0FBSyxFQUFFLE1BQU07WUFDYixLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1NBQ3RDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxPQUFtQixFQUFFLEtBQXNCO1FBQ3pFLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxxQ0FBcUMsQ0FBQyxPQUFPLEVBQUU7WUFDM0UsYUFBYSxFQUFFLElBQUksQ0FBQyx5QkFBeUI7WUFDN0MsV0FBVyxFQUFFLElBQUk7WUFDakIsUUFBUSxFQUFFO2dCQUNSLEtBQUs7Z0JBQ0wsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFO29CQUMzQixLQUFLLEVBQUUsZ0JBQWdCLENBQUMsSUFBSTtvQkFDNUIsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztpQkFDNUIsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsa0JBQWdDLENBQUM7SUFDL0MsQ0FBQztJQUVPLGlDQUFpQyxDQUFDLE9BQW1CO1FBQzNELE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxHQUFHLElBQUksQ0FBQztRQUN2QyxJQUFJLENBQUMsa0NBQWtDLEdBQUcsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUkscUNBQXFDLENBQUMsT0FBTyxFQUFFO1lBQ3BGLHFCQUFxQjtZQUNyQixhQUFhLEVBQUUsSUFBSSxDQUFDLGtDQUFrQztZQUN0RCxXQUFXLEVBQUUsSUFBSTtZQUNqQixRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUU7b0JBQzNCLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJO29CQUM1QixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7aUJBQ3RDLENBQUM7YUFDSDtTQUNGLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLDJCQUF5QyxDQUFDO0lBQ3hELENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxPQUFtQjtRQUMvQyxNQUFNLEVBQUUsa0NBQWtDLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDcEQsSUFBSSxDQUFDLGtDQUFrQztZQUNyQyxNQUFNLElBQUksS0FBSyxDQUNiLHdGQUF3RixDQUN6RixDQUFDO1FBRUosTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUkscUNBQXFDLENBQUMsT0FBTyxFQUFFO1lBQ3hFLHFCQUFxQjtZQUNyQixhQUFhLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtZQUMxQyxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDckQsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFO29CQUMzQixLQUFLLEVBQUUsZ0JBQWdCLENBQUMsR0FBRztvQkFDM0IsUUFBUSxFQUFFO3dCQUNSLElBQUksZ0JBQWdCLENBQUMsT0FBTyxFQUFFOzRCQUM1QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxPQUFPLEVBQUUsa0NBQWtDOzRCQUMzQyxPQUFPLEVBQUU7Z0NBQ1AsSUFBSSxhQUFhLENBQUM7b0NBQ2hCLElBQUk7b0NBQ0osU0FBUyxFQUFFLENBQUM7aUNBQ2IsQ0FBQztnQ0FDRixJQUFJLGFBQWEsQ0FBQztvQ0FDaEIsSUFBSTtvQ0FDSixTQUFTLEVBQUUsRUFBRTtpQ0FDZCxDQUFDOzZCQUNIO3lCQUNGLENBQUM7cUJBQ0g7aUJBQ0YsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsZUFBNkIsQ0FBQztJQUM1QyxDQUFDO0lBRU8sU0FBUyxDQUFDLE9BQW1CO1FBQ25DLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDckQsSUFBSSxDQUFDLGtCQUFrQjtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGVBQWU7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO1FBRXRGLE9BQU8sSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFO1lBQ2xDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHO1lBQzNCLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHO1lBQzNCLFFBQVEsRUFBRTtnQkFDUixJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUU7b0JBQ3pCLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxhQUFhO29CQUMxQyxRQUFRLEVBQUUsZUFBZSxDQUFDLGFBQWE7b0JBQ3ZDLFFBQVEsRUFBRSxHQUFHO2lCQUNkLENBQUM7YUFDSDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFxQk8sTUFBTTs7UUFDWixNQUFBLElBQUksQ0FBQyx5QkFBeUIsMENBQUUsTUFBTSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztRQUN0QyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixNQUFBLElBQUksQ0FBQyxlQUFlLDBDQUFFLE1BQU0sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLE1BQUEsSUFBSSxDQUFDLDJCQUEyQiwwQ0FBRSxNQUFNLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsTUFBTSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxNQUFNLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVCLE1BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsTUFBTSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEVBQ2hDLGVBQWUsRUFDZixPQUFPLEVBQ1AsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLGNBQWMsR0FDZ0I7SUFDOUIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBd0IsSUFBSSxDQUFDLENBQUM7SUFDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFDNUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsT0FBTyxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDMUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsT0FBTyxDQUFDLFVBQVUsR0FBRyxlQUFlLGFBQWYsZUFBZSxjQUFmLGVBQWUsR0FBSSxNQUFNLENBQUM7SUFDakQsQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ25CLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUNsRCxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ25CLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTztRQUV6QixPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxPQUFPLEdBQUcsRUFBRTtZQUNWLE9BQU8sQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQztJQUNKLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNCLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ25CLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTztRQUV6QixPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxPQUFPLEdBQUcsRUFBRTtZQUNWLE9BQU8sQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQztJQUNKLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQztBQUNyQixDQUFDIn0=
|
package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import { type TgdContext, type TgdMaterial, TgdPainterNode } from "@tolokoban/tgd";
|
|
1
|
+
import { TgdBoundingBox, type TgdContext, type TgdMaterial, TgdPainterNode } from "@tolokoban/tgd";
|
|
2
2
|
import { type MorphoViewerTree } from "../../../../morpho-viewer-simul";
|
|
3
|
-
export declare function createCellFromTree(context: TgdContext, material: TgdMaterial, tree: MorphoViewerTree, forSelection: boolean):
|
|
3
|
+
export declare function createCellFromTree(context: TgdContext, material: TgdMaterial, tree: MorphoViewerTree, forSelection: boolean): {
|
|
4
|
+
bbox: TgdBoundingBox;
|
|
5
|
+
node: TgdPainterNode;
|
|
6
|
+
};
|
|
4
7
|
//# sourceMappingURL=tree.d.ts.map
|
package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,cAAc,EAGf,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,cAAc,EAGf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,kCAAkC,CAAC;AAE1C,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,gBAAgB,EACtB,YAAY,EAAE,OAAO,GACpB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAmChD"}
|
package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TgdPainterNode, TgdPainterSegments, TgdPainterSegmentsData, } from "@tolokoban/tgd";
|
|
1
|
+
import { TgdBoundingBox, TgdPainterNode, TgdPainterSegments, TgdPainterSegmentsData, } from "@tolokoban/tgd";
|
|
2
2
|
import { MorphoViewerTreeItemType, } from "./../../../../morpho-viewer-simul/index.js";
|
|
3
3
|
export function createCellFromTree(context, material, tree, forSelection) {
|
|
4
4
|
const segmentsSoma = new TgdPainterSegmentsData();
|
|
@@ -6,23 +6,35 @@ export function createCellFromTree(context, material, tree, forSelection) {
|
|
|
6
6
|
for (const item of tree.roots) {
|
|
7
7
|
fillSegments(undefined, item, segmentsSoma, segmentsNeurites);
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
9
|
+
const bbox = new TgdBoundingBox();
|
|
10
|
+
for (const segments of [segmentsSoma, segmentsNeurites]) {
|
|
11
|
+
for (let i = 0; i < segments.count; i++) {
|
|
12
|
+
const [x0, y0, z0, r0] = segmentsNeurites.getXYZR0(i);
|
|
13
|
+
bbox.addSphere(x0, y0, z0, r0 * 2);
|
|
14
|
+
const [x1, y1, z1, r1] = segmentsNeurites.getXYZR1(i);
|
|
15
|
+
bbox.addSphere(x1, y1, z1, r1 * 2);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
bbox,
|
|
20
|
+
node: new TgdPainterNode({
|
|
21
|
+
children: [
|
|
22
|
+
new TgdPainterSegments(context, {
|
|
23
|
+
roundness: forSelection ? 5 : 12,
|
|
24
|
+
radiusMultiplier: forSelection ? 1.1 : 1,
|
|
25
|
+
material,
|
|
26
|
+
dataset: segmentsSoma.makeDataset(),
|
|
27
|
+
}),
|
|
28
|
+
new TgdPainterSegments(context, {
|
|
29
|
+
roundness: forSelection ? 3 : 5,
|
|
30
|
+
minRadius: 2,
|
|
31
|
+
radiusMultiplier: forSelection ? 1.6 : 1,
|
|
32
|
+
material,
|
|
33
|
+
dataset: segmentsNeurites.makeDataset(),
|
|
34
|
+
}),
|
|
35
|
+
],
|
|
36
|
+
}),
|
|
37
|
+
};
|
|
26
38
|
}
|
|
27
39
|
function fillSegments(parent, item, segmentsSoma, segmentsNeurites) {
|
|
28
40
|
var _a;
|
|
@@ -39,4 +51,4 @@ function fillSegments(parent, item, segmentsSoma, segmentsNeurites) {
|
|
|
39
51
|
fillSegments(item, child, segmentsSoma, segmentsNeurites);
|
|
40
52
|
}
|
|
41
53
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC9wYWludGVyL3BhaW50ZXItY2VsbC9mYWN0b3J5L3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFHZCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLHNCQUFzQixHQUN2QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFHTCx3QkFBd0IsR0FDekIsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxQyxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE9BQW1CLEVBQ25CLFFBQXFCLEVBQ3JCLElBQXNCLEVBQ3RCLFlBQXFCO0lBRXJCLE1BQU0sWUFBWSxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztJQUNsRCxNQUFNLGdCQUFnQixHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztJQUN0RCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztJQUNsQyxLQUFLLE1BQU0sUUFBUSxJQUFJLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztRQUN4RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FB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
|
package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { type TgdContext, TgdPainterGroup } from "@tolokoban/tgd";
|
|
1
|
+
import { TgdBoundingBox, type TgdContext, TgdPainterGroup } from "@tolokoban/tgd";
|
|
2
2
|
import type { MorphoViewerSmallCircuitCell, MorphoViewerSmallCircuitCellData } from "../../types";
|
|
3
3
|
export interface PainterCellOptions {
|
|
4
4
|
matrerial?: PainterCellMaterialName;
|
|
5
5
|
cell: MorphoViewerSmallCircuitCell;
|
|
6
6
|
loadCell(id: string): Promise<MorphoViewerSmallCircuitCellData | null>;
|
|
7
|
+
onCellLoaded?(bbox: TgdBoundingBox | null): void;
|
|
7
8
|
}
|
|
8
9
|
export type PainterCellMaterialName = "full" | "flat" | number;
|
|
9
10
|
export declare class PainterCell extends TgdPainterGroup {
|
package/lib/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,
|
|
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,EAEL,cAAc,EAEd,KAAK,UAAU,EAOf,eAAe,EAKhB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAElG,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,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;CAClD;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/D,qBAAa,WAAY,SAAQ,eAAe;IAK5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,MAAM,CAAS;gBAGJ,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,kBAAkB;IAyC9C,IAAI,KAAK,IAGQ,OAAO,CADvB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAUvB;YAEa,QAAQ;CA4BvB"}
|
package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { TgdColor, TgdGeometrySphereIco, TgdLight, TgdMaterialDiffuse, TgdMaterialFlat, TgdMaterialSolid, TgdPainterGroup, TgdPainterMesh, TgdQuat, TgdVec4, } from "@tolokoban/tgd";
|
|
2
|
+
import { TgdBoundingBox, TgdColor, TgdGeometrySphereIco, TgdLight, TgdMaterialDiffuse, TgdMaterialFlat, TgdMaterialSolid, TgdPainterGroup, TgdPainterMesh, TgdQuat, TgdVec4, } from "@tolokoban/tgd";
|
|
3
3
|
import { int16ToVec3 } from "./../../../../utils.js";
|
|
4
4
|
import { createCellFromTree } from "./factory/tree.js";
|
|
5
5
|
export class PainterCell extends TgdPainterGroup {
|
|
@@ -63,23 +63,25 @@ export class PainterCell extends TgdPainterGroup {
|
|
|
63
63
|
loadCell() {
|
|
64
64
|
return __awaiter(this, void 0, void 0, function* () {
|
|
65
65
|
const { context, material } = this;
|
|
66
|
-
const { cell, loadCell } = this.options;
|
|
66
|
+
const { cell, loadCell, onCellLoaded } = this.options;
|
|
67
67
|
try {
|
|
68
68
|
const [path] = cell.id.split("?");
|
|
69
69
|
const data = yield loadCell(path);
|
|
70
70
|
if (isCellAsTree(data)) {
|
|
71
|
-
const
|
|
71
|
+
const { node, bbox } = createCellFromTree(context, material, data.data, typeof this.options.matrerial === "number");
|
|
72
72
|
const [x, y, z] = cell.center;
|
|
73
73
|
const quat = new TgdQuat(cell.orientation);
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
node.transfo.setPosition(x, y, z);
|
|
75
|
+
node.transfo.orientation = quat;
|
|
76
|
+
onCellLoaded === null || onCellLoaded === void 0 ? void 0 : onCellLoaded(applyTransfoToBBox(node.transfo, bbox));
|
|
76
77
|
this.removeAll();
|
|
77
|
-
this.add(
|
|
78
|
+
this.add(node);
|
|
78
79
|
context.paint();
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
catch (error) {
|
|
82
83
|
console.error(`Error loading cell "${cell.id}":`, error);
|
|
84
|
+
onCellLoaded === null || onCellLoaded === void 0 ? void 0 : onCellLoaded(null);
|
|
83
85
|
}
|
|
84
86
|
});
|
|
85
87
|
}
|
|
@@ -102,4 +104,24 @@ function ensureCellHasColor(cell) {
|
|
|
102
104
|
}
|
|
103
105
|
return [color.R, color.G, color.B, color.A];
|
|
104
106
|
}
|
|
105
|
-
|
|
107
|
+
function applyTransfoToBBox(transfo, bbox) {
|
|
108
|
+
const { matrix } = transfo;
|
|
109
|
+
const [x0, y0, z0] = bbox.min;
|
|
110
|
+
const [x1, y1, z1] = bbox.max;
|
|
111
|
+
const points = [
|
|
112
|
+
new TgdVec4(x0, y0, z0, 1),
|
|
113
|
+
new TgdVec4(x0, y0, z1, 1),
|
|
114
|
+
new TgdVec4(x0, y1, z0, 1),
|
|
115
|
+
new TgdVec4(x0, y1, z1, 1),
|
|
116
|
+
new TgdVec4(x1, y0, z0, 1),
|
|
117
|
+
new TgdVec4(x1, y0, z1, 1),
|
|
118
|
+
new TgdVec4(x1, y1, z0, 1),
|
|
119
|
+
new TgdVec4(x1, y1, z1, 1),
|
|
120
|
+
].map((vec) => vec.applyMatrix(matrix));
|
|
121
|
+
const transformedBBox = new TgdBoundingBox();
|
|
122
|
+
for (const [x, y, z] of points) {
|
|
123
|
+
transformedBBox.addPoint(x, y, z);
|
|
124
|
+
}
|
|
125
|
+
return transformedBBox;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnRlci1jZWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0L3BhaW50ZXIvcGFpbnRlci1jZWxsL3BhaW50ZXItY2VsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLGNBQWMsRUFDZCxRQUFRLEVBRVIsb0JBQW9CLEVBQ3BCLFFBQVEsRUFFUixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsY0FBYyxFQUNkLE9BQU8sRUFFUCxPQUFPLEdBQ1IsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXRDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBa0JwRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQWU7SUFJOUMsWUFDbUIsT0FBbUIsRUFDbkIsT0FBMkI7O1FBRTVDLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxRQUFRLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1NBQ2hDLENBQUMsQ0FBQztRQUxjLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFKdEMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQVNyQixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLElBQUksb0JBQW9CLENBQUM7WUFDeEMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN2QixZQUFZLEVBQUUsQ0FBQztTQUNoQixDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxNQUFNLFlBQVksR0FBRyxNQUFBLE9B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
|
|
@@ -19,5 +19,6 @@ export interface MorphoViewerSmallCircuitProps {
|
|
|
19
19
|
onCellClick?(cell: MorphoViewerSmallCircuitCell | undefined): void;
|
|
20
20
|
onClose?(): void;
|
|
21
21
|
loadCell(id: string): Promise<MorphoViewerSmallCircuitCellData | null>;
|
|
22
|
+
onLoadProgress?(progress: number): void;
|
|
22
23
|
}
|
|
23
24
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-small-circuit/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,6BAA6B;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,CAAC,CAAC,IAAI,EAAE,4BAA4B,GAAG,SAAS,GAAG,IAAI,CAAC;IACnE,WAAW,CAAC,CAAC,IAAI,EAAE,4BAA4B,GAAG,SAAS,GAAG,IAAI,CAAC;IACnE,OAAO,CAAC,IAAI,IAAI,CAAC;IAKjB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-small-circuit/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,6BAA6B;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,CAAC,CAAC,IAAI,EAAE,4BAA4B,GAAG,SAAS,GAAG,IAAI,CAAC;IACnE,WAAW,CAAC,CAAC,IAAI,EAAE,4BAA4B,GAAG,SAAS,GAAG,IAAI,CAAC;IACnE,OAAO,CAAC,IAAI,IAAI,CAAC;IAKjB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;IAOvE,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC"}
|
package/lib/dist/package.json
CHANGED
|
@@ -1,83 +1,96 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"license": "ISC",
|
|
24
|
-
"devDependencies": {
|
|
25
|
-
"@biomejs/biome": "^2.4.4",
|
|
26
|
-
"@types/jest": "^30.0.0",
|
|
27
|
-
"@types/react": "^19.2.14",
|
|
28
|
-
"@typescript-eslint/eslint-plugin": "^8.55.0",
|
|
29
|
-
"@typescript-eslint/parser": "^8.55.0",
|
|
30
|
-
"babel-jest": "^30.2.0",
|
|
31
|
-
"build-typescript-library": "^0.10.0",
|
|
32
|
-
"jest": "^30.2.0",
|
|
33
|
-
"jest-environment-jsdom": "^30.2.0",
|
|
34
|
-
"oxfmt": "^0.46.0",
|
|
35
|
-
"oxlint": "^1.61.0",
|
|
36
|
-
"ts-jest": "^29.4.6",
|
|
37
|
-
"ts-loader": "^9.5.4",
|
|
38
|
-
"ts-patch": "^3.2.1",
|
|
39
|
-
"typedoc": "^0.28.16",
|
|
40
|
-
"typescript": "^5.9.3",
|
|
41
|
-
"typescript-eslint": "^8.55.0",
|
|
42
|
-
"typescript-transform-paths": "^3.5.1"
|
|
43
|
-
},
|
|
44
|
-
"jest": {
|
|
45
|
-
"testEnvironment": "jsdom",
|
|
46
|
-
"moduleFileExtensions": ["tsx", "ts", "js", "jsx", "wasm"],
|
|
47
|
-
"transform": {
|
|
48
|
-
"^.+\\.tsx?$": "ts-jest"
|
|
2
|
+
"name": "@openbraininstitute/morphoviewer",
|
|
3
|
+
"version": "0.24.20",
|
|
4
|
+
"description": "Class to display SWC files in 3D on a canvas",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"typings": "./dist/index.d.ts",
|
|
8
|
+
"types": "./dist",
|
|
9
|
+
"files": [
|
|
10
|
+
"./dist"
|
|
11
|
+
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"clean": "rm -rf ./dist .tsbuildinfo",
|
|
14
|
+
"doc": "typedoc --watch",
|
|
15
|
+
"prebuild": "npm run clean",
|
|
16
|
+
"build": "build-typescript-library .",
|
|
17
|
+
"prestart": "npm run clean",
|
|
18
|
+
"start": "build-typescript-library --watch .",
|
|
19
|
+
"format": "biome format --write src/",
|
|
20
|
+
"lint": "biome check src/",
|
|
21
|
+
"test": "jest",
|
|
22
|
+
"test:watch": "jest --watch"
|
|
49
23
|
},
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
24
|
+
"keywords": [
|
|
25
|
+
"SWC",
|
|
26
|
+
"morphology",
|
|
27
|
+
"OBI",
|
|
28
|
+
"webgl2",
|
|
29
|
+
"BBP"
|
|
30
|
+
],
|
|
31
|
+
"author": "Fabien PETITJEAN <fabien.petitjean@epfl.ch>",
|
|
32
|
+
"license": "ISC",
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@tolokoban/tgd": "^2.0.130",
|
|
35
|
+
"fflate": "^0.8.2",
|
|
36
|
+
"tslib": "^2.8.1"
|
|
53
37
|
},
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@types/jest": "^30.0.0",
|
|
40
|
+
"@types/react": "^19.2.14",
|
|
41
|
+
"babel-jest": "^30.3.0",
|
|
42
|
+
"build-typescript-library": "^0.10.0",
|
|
43
|
+
"jest": "^30.3.0",
|
|
44
|
+
"jest-environment-jsdom": "^30.3.0",
|
|
45
|
+
"ts-jest": "^29.4.9",
|
|
46
|
+
"ts-loader": "^9.5.7",
|
|
47
|
+
"ts-patch": "^3.3.0",
|
|
48
|
+
"typedoc": "^0.28.19",
|
|
49
|
+
"typescript": "^5.9.3",
|
|
50
|
+
"typescript-transform-paths": "^3.5.6"
|
|
61
51
|
},
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
"
|
|
72
|
-
|
|
52
|
+
"jest": {
|
|
53
|
+
"testEnvironment": "jsdom",
|
|
54
|
+
"moduleFileExtensions": [
|
|
55
|
+
"tsx",
|
|
56
|
+
"ts",
|
|
57
|
+
"js",
|
|
58
|
+
"jsx",
|
|
59
|
+
"wasm"
|
|
60
|
+
],
|
|
61
|
+
"transform": {
|
|
62
|
+
"^.+\\.tsx?$": "ts-jest"
|
|
63
|
+
},
|
|
64
|
+
"testMatch": [
|
|
65
|
+
"**/*.(test|spec).(ts|tsx)"
|
|
66
|
+
],
|
|
67
|
+
"globals": {
|
|
68
|
+
"ENV_VARIABLES": {}
|
|
69
|
+
},
|
|
70
|
+
"moduleNameMapper": {
|
|
71
|
+
"^@tgd/(.*)$": "<rootDir>/src/tgd/$1",
|
|
72
|
+
"^@tgd": "<rootDir>/src/tgd",
|
|
73
|
+
"^@/(.*)$": "<rootDir>/src/$1",
|
|
74
|
+
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/mocks.js",
|
|
75
|
+
"\\.(css|less)$": "<rootDir>/__mocks__/mocks.js",
|
|
76
|
+
"\\.(py|sh|txt|bin)$": "<rootDir>/__mocks__/mocks.js"
|
|
77
|
+
},
|
|
78
|
+
"verbose": true,
|
|
79
|
+
"collectCoverage": true,
|
|
80
|
+
"coverageReporters": [
|
|
81
|
+
"lcov"
|
|
82
|
+
],
|
|
83
|
+
"coverageDirectory": "test-coverage",
|
|
84
|
+
"coverageThreshold": {
|
|
85
|
+
"global": {
|
|
86
|
+
"branches": 0,
|
|
87
|
+
"functions": 0,
|
|
88
|
+
"lines": 0,
|
|
89
|
+
"statements": 0
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"peerDependencies": {
|
|
94
|
+
"react": "^19.2.5"
|
|
73
95
|
}
|
|
74
|
-
|
|
75
|
-
"peerDependencies": {
|
|
76
|
-
"react": "^19.2.4"
|
|
77
|
-
},
|
|
78
|
-
"dependencies": {
|
|
79
|
-
"@tolokoban/tgd": "^2.0.124",
|
|
80
|
-
"fflate": "^0.8.2",
|
|
81
|
-
"tslib": "^2.8.1"
|
|
82
|
-
}
|
|
83
|
-
}
|
|
96
|
+
}
|
package/lib/dist/utils.js
CHANGED
|
@@ -48,9 +48,9 @@ export function vec3ToInt16(vec3) {
|
|
|
48
48
|
export function useDebugMode() {
|
|
49
49
|
const [debugMode, setDebugMode] = React.useState(false);
|
|
50
50
|
React.useEffect(() => {
|
|
51
|
-
const item = globalThis.localStorage.getItem("@
|
|
51
|
+
const item = globalThis.localStorage.getItem("@openbraininstitute/morphoviewer:debug");
|
|
52
52
|
setDebugMode(!!item && item.length > 0);
|
|
53
53
|
}, []);
|
|
54
54
|
return debugMode;
|
|
55
55
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBVzFCLE1BQU0sVUFBVSxhQUFhLENBQUksWUFBZSxFQUFFLEtBQTZCO0lBQzdFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBSSxZQUFZLENBQUMsQ0FBQztJQUMxRCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNuQixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFFbkIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixPQUFPLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNaLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQzNCLFlBQWUsRUFDZixLQUF5QztJQUV6QyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUksWUFBWSxDQUFDLENBQUM7SUFDMUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBRW5CLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsT0FBTyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDWixPQUFPO1FBQ0wsS0FBSztRQUNMLENBQUMsR0FBTSxFQUFFLEVBQUU7WUFDVCxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBRyxJQUFlO0lBQzNDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFGLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxLQUFhO0lBQ2xDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUM3QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ1IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDUixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDN0IsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBYTtJQUN2QyxPQUFPLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQWU7SUFDNUMsT0FBTyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsdUJBQXVCLENBQUM7QUFDdkUsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBa0I7SUFDNUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVk7SUFDMUIsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ25CLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFDdkYsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDUCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openbraininstitute/morphoviewer",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.20",
|
|
4
4
|
"description": "Class to display SWC morphology files in 3D",
|
|
5
5
|
"main": "./lib/dist/index.js",
|
|
6
6
|
"module": "./lib/dist/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"webgl2"
|
|
21
21
|
],
|
|
22
22
|
"scripts": {
|
|
23
|
-
"clean": "rm -rf dist node_modules package-lock.json lib/node_modules lib/package-lock.json doc/node_modules doc/package-lock.json && npm run version",
|
|
23
|
+
"clean": "rm -rf dist node_modules package-lock.json lib/node_modules lib/package-lock.json lib/dist doc/node_modules doc/package-lock.json doc/dist doc/public/docs && npm run version",
|
|
24
24
|
"prebuild": "npm run version",
|
|
25
25
|
"build": "cd lib && npm install && npm run build && cd .. && npm pack",
|
|
26
26
|
"minor": "npm version minor -no-git-tag-version --force && node version.mjs",
|
|
@@ -34,8 +34,11 @@
|
|
|
34
34
|
"react": "^19.2.4"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@tolokoban/tgd": "^2.0.
|
|
37
|
+
"@tolokoban/tgd": "^2.0.126",
|
|
38
38
|
"fflate": "^0.8.2",
|
|
39
39
|
"tslib": "^2.8.1"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@biomejs/biome": "^2.4.13"
|
|
40
43
|
}
|
|
41
|
-
}
|
|
44
|
+
}
|