@openbraininstitute/morphoviewer 0.25.1 → 0.25.3
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 +13 -0
- package/lib/dist/abstract-canvas.d.ts.map +1 -1
- package/lib/dist/abstract-canvas.js +1 -2
- package/lib/dist/components/button-reset-camera/button-reset-camera.d.ts.map +1 -1
- package/lib/dist/components/button-reset-camera/button-reset-camera.js +1 -1
- package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/offscreen-painter.d.ts.map +1 -1
- package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/offscreen-painter.js +1 -1
- package/lib/dist/components/morpho-viewer-small-circuit/painter/camera.d.ts.map +1 -1
- package/lib/dist/components/morpho-viewer-small-circuit/painter/camera.js +1 -1
- package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts +9 -11
- 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 +176 -196
- package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts +2 -1
- package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts.map +1 -1
- package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.js +8 -1
- 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 +20 -19
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts +4 -0
- 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 +28 -14
- 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/morphology/morphology-canvas.d.ts.map +1 -1
- package/lib/dist/morphology/morphology-canvas.js +2 -2
- package/lib/dist/morphology/painter/painter.d.ts.map +1 -1
- package/lib/dist/morphology/painter/painter.js +3 -4
- package/lib/dist/nrrd/index.d.ts.map +1 -1
- package/lib/dist/nrrd/index.js +3 -4
- package/lib/dist/package.json +7 -7
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TgdBoundingBox,
|
|
1
|
+
import { TgdBoundingBox, TgdCameraOrthographic, TgdColor, TgdContext, TgdEvent, TgdPainterClear, TgdPainterGizmo, TgdPainterGroup, TgdPainterState, TgdValueWaitable, } from "@tolokoban/tgd";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { watchSpacePerPixel } from "./../../../behaviors/index.js";
|
|
4
4
|
import { CacheLRU } from "./../../../tools/cache-lru.js";
|
|
@@ -21,7 +21,7 @@ export class PainterManager {
|
|
|
21
21
|
this._canvas = null;
|
|
22
22
|
this._background = "#000";
|
|
23
23
|
this.backgroundColor = new TgdColor(0, 0, 0, 1);
|
|
24
|
-
this.context =
|
|
24
|
+
this.context = new TgdValueWaitable();
|
|
25
25
|
this.cameraManager = null;
|
|
26
26
|
this.painterClear = null;
|
|
27
27
|
this.offscreen = null;
|
|
@@ -39,16 +39,133 @@ export class PainterManager {
|
|
|
39
39
|
this.framebufferCircuit = null;
|
|
40
40
|
this.textureFramebufferCircuit = null;
|
|
41
41
|
this.framebufferHighlightedCells = null;
|
|
42
|
-
this.textureFramebufferHighlightedCells = null;
|
|
43
42
|
this.framebufferBlur = null;
|
|
44
|
-
this.
|
|
45
|
-
this.loadedCells = new CacheLRU(24);
|
|
43
|
+
this.loadedCellsCache = new CacheLRU(24);
|
|
46
44
|
this.circuitSignature = "";
|
|
47
45
|
this.bbox = new TgdBoundingBox();
|
|
48
46
|
this._gizmo = false;
|
|
49
47
|
this.painterGizmo = null;
|
|
50
48
|
this.groupGizmo = new TgdPainterGroup({ name: "GroupGizmo" });
|
|
49
|
+
this._verbose = false;
|
|
51
50
|
this.cameraReset = () => { var _a; return (_a = this.cameraManager) === null || _a === void 0 ? void 0 : _a.resetCamera(); };
|
|
51
|
+
this.updateCircuit = () => {
|
|
52
|
+
var _a, _b;
|
|
53
|
+
const context = this.context.value;
|
|
54
|
+
if (!context)
|
|
55
|
+
return;
|
|
56
|
+
const { loadCell, loadedCellsCache: loadedCells } = this;
|
|
57
|
+
if (!loadCell) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
this.groupCells.removeAll();
|
|
62
|
+
(_a = this.onLoadProgress) === null || _a === void 0 ? void 0 : _a.call(this, 0);
|
|
63
|
+
this.cellCountTotal = this.circuit.length;
|
|
64
|
+
this.cellCountLoaded = 0;
|
|
65
|
+
(_b = this.offscreen) === null || _b === void 0 ? void 0 : _b.delete();
|
|
66
|
+
this.offscreen = new OffscreenPainter(context, {
|
|
67
|
+
circuit: this.circuit,
|
|
68
|
+
loadCell,
|
|
69
|
+
loadedCells,
|
|
70
|
+
});
|
|
71
|
+
const { cellsForHighights: highlightingCells } = this;
|
|
72
|
+
highlightingCells.clear();
|
|
73
|
+
this.groupHighlithedCells.removeAll(false);
|
|
74
|
+
this.bbox = new TgdBoundingBox();
|
|
75
|
+
for (const cell of this.circuit) {
|
|
76
|
+
const [x, y, z] = cell.center;
|
|
77
|
+
const r = cell.somaRadius;
|
|
78
|
+
this.bbox.addSphere(x, y, z, r * 5);
|
|
79
|
+
const painterCell = new PainterCell(context, {
|
|
80
|
+
cell,
|
|
81
|
+
loadCell,
|
|
82
|
+
matrerial: "full",
|
|
83
|
+
onCellLoaded: (bbox) => {
|
|
84
|
+
var _a;
|
|
85
|
+
if (bbox) {
|
|
86
|
+
this.bbox.addBBox(bbox);
|
|
87
|
+
}
|
|
88
|
+
this.adaptCameraFromBBox();
|
|
89
|
+
this.cellCountLoaded++;
|
|
90
|
+
(_a = this.onLoadProgress) === null || _a === void 0 ? void 0 : _a.call(this, this.cellCountLoaded / this.cellCountTotal);
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
this.groupCells.add(painterCell);
|
|
94
|
+
const highlightedCell = new PainterCell(context, {
|
|
95
|
+
cell,
|
|
96
|
+
loadCell,
|
|
97
|
+
matrerial: "flat",
|
|
98
|
+
});
|
|
99
|
+
highlightingCells.set(cell.id, highlightedCell);
|
|
100
|
+
}
|
|
101
|
+
this.updateHightedCells();
|
|
102
|
+
this.adaptCameraFromBBox();
|
|
103
|
+
context.paint();
|
|
104
|
+
}
|
|
105
|
+
catch (ex) {
|
|
106
|
+
console.error("Unable ton update circuit:", ex);
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
this.adaptCameraFromBBox = () => {
|
|
110
|
+
try {
|
|
111
|
+
const context = this.context.value;
|
|
112
|
+
if (!context)
|
|
113
|
+
return;
|
|
114
|
+
const { bbox } = this;
|
|
115
|
+
if (bbox.min[0] > bbox.max[0])
|
|
116
|
+
return;
|
|
117
|
+
const { camera } = context;
|
|
118
|
+
if (camera.screenWidth < 1 || camera.screenHeight < 1) {
|
|
119
|
+
const listener = () => {
|
|
120
|
+
context.eventPaint.addListener(listener);
|
|
121
|
+
this.adaptCameraFromBBox();
|
|
122
|
+
};
|
|
123
|
+
context.eventPaint.addListener(listener);
|
|
124
|
+
context.paint();
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const bboxW = Math.abs(bbox.max[0] - bbox.min[0]);
|
|
128
|
+
const bboxH = Math.abs(bbox.max[1] - bbox.min[1]);
|
|
129
|
+
const bboxD = Math.abs(bbox.max[2] - bbox.min[2]);
|
|
130
|
+
const bboxRadius = Math.max(bboxW, bboxH, bboxD);
|
|
131
|
+
camera.transfo.position = bbox.center;
|
|
132
|
+
const scale = 1.1;
|
|
133
|
+
camera.fitSpaceAtTarget(bboxW * scale, bboxH * scale);
|
|
134
|
+
camera.transfo.distance = bboxRadius * scale;
|
|
135
|
+
camera.near = 1;
|
|
136
|
+
camera.far = camera.transfo.distance * 2;
|
|
137
|
+
camera.zoom = 2;
|
|
138
|
+
if (!this.cameraManager) {
|
|
139
|
+
this.cameraManager = new CameraManager(context, this.eventRestingPosition);
|
|
140
|
+
}
|
|
141
|
+
this.cameraManager.target = camera.getCurrentState();
|
|
142
|
+
context.paint();
|
|
143
|
+
}
|
|
144
|
+
catch (ex) {
|
|
145
|
+
console.error("Unable to adapt camera to bbox:", ex);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
this.debug = () => {
|
|
149
|
+
const context = this.context.value;
|
|
150
|
+
const camera = context === null || context === void 0 ? void 0 : context.camera;
|
|
151
|
+
console.log("🐞 [manager@357] this.bbox =", this.bbox);
|
|
152
|
+
if (camera) {
|
|
153
|
+
console.log([
|
|
154
|
+
`near: ${camera.near}`,
|
|
155
|
+
`far: ${camera.far}`,
|
|
156
|
+
`zoom: ${camera.zoom}`,
|
|
157
|
+
`screenWidth: ${camera.screenWidth}`,
|
|
158
|
+
`screenHeight: ${camera.screenHeight}`,
|
|
159
|
+
`spaceWidthAtTarget: ${camera.spaceWidthAtTarget}`,
|
|
160
|
+
`spaceHeightAtTarget: ${camera.spaceHeightAtTarget}`,
|
|
161
|
+
`distance: ${camera.transfo.distance}`,
|
|
162
|
+
`position: ${camera.transfo.position}`,
|
|
163
|
+
].join("\n"));
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
console.log("NO CAMERA!!!");
|
|
167
|
+
}
|
|
168
|
+
};
|
|
52
169
|
this.handlePointerHover = (evt) => {
|
|
53
170
|
const { offscreen } = this;
|
|
54
171
|
if (!offscreen)
|
|
@@ -68,6 +185,16 @@ export class PainterManager {
|
|
|
68
185
|
this.eventCellClick.dispatch(cell);
|
|
69
186
|
};
|
|
70
187
|
}
|
|
188
|
+
get verbose() {
|
|
189
|
+
return this._verbose;
|
|
190
|
+
}
|
|
191
|
+
set verbose(verbose) {
|
|
192
|
+
if (this._verbose === verbose)
|
|
193
|
+
return;
|
|
194
|
+
this._verbose = verbose;
|
|
195
|
+
if (this.context.value)
|
|
196
|
+
this.context.value.verbose = verbose;
|
|
197
|
+
}
|
|
71
198
|
get gizmo() {
|
|
72
199
|
return this._gizmo;
|
|
73
200
|
}
|
|
@@ -93,96 +220,30 @@ export class PainterManager {
|
|
|
93
220
|
}
|
|
94
221
|
}
|
|
95
222
|
setCircuit(circuit, loadCell) {
|
|
96
|
-
|
|
223
|
+
var _a;
|
|
224
|
+
if (this.circuit === circuit) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
if (circuit.length === 0) {
|
|
228
|
+
this.loadedCellsCache.clear();
|
|
97
229
|
return;
|
|
230
|
+
}
|
|
98
231
|
const signature = circuit.map((item) => item.id).join("\n");
|
|
99
232
|
if (this.circuitSignature !== signature) {
|
|
100
233
|
this.circuitSignature = signature;
|
|
101
|
-
this.
|
|
234
|
+
this.loadedCellsCache.clear();
|
|
102
235
|
}
|
|
103
236
|
this.circuit = circuit;
|
|
104
237
|
this.loadCell = (id) => {
|
|
105
|
-
const cached = this.
|
|
238
|
+
const cached = this.loadedCellsCache.get(id);
|
|
106
239
|
if (cached)
|
|
107
240
|
return cached;
|
|
108
241
|
const promise = loadCell(id);
|
|
109
|
-
this.
|
|
242
|
+
this.loadedCellsCache.set(id, promise);
|
|
110
243
|
return promise;
|
|
111
244
|
};
|
|
112
|
-
this.updateCircuit();
|
|
113
|
-
}
|
|
114
|
-
updateCircuit() {
|
|
115
|
-
var _a;
|
|
116
|
-
const { context } = this;
|
|
117
|
-
if (!context)
|
|
118
|
-
return;
|
|
119
|
-
const { loadCell, loadedCells } = this;
|
|
120
|
-
if (!loadCell)
|
|
121
|
-
return;
|
|
122
245
|
(_a = this.onLoadProgress) === null || _a === void 0 ? void 0 : _a.call(this, 0);
|
|
123
|
-
this.
|
|
124
|
-
this.cellCountLoaded = 0;
|
|
125
|
-
const camera = new TgdCameraPerspective({
|
|
126
|
-
zoom: 1,
|
|
127
|
-
});
|
|
128
|
-
this.offscreen = new OffscreenPainter(context, {
|
|
129
|
-
circuit: this.circuit,
|
|
130
|
-
loadCell,
|
|
131
|
-
loadedCells,
|
|
132
|
-
});
|
|
133
|
-
const { cellsForHighights: highlightingCells } = this;
|
|
134
|
-
highlightingCells.clear();
|
|
135
|
-
this.groupHighlithedCells.removeAll(false);
|
|
136
|
-
this.bbox = new TgdBoundingBox();
|
|
137
|
-
for (const cell of this.circuit) {
|
|
138
|
-
const [x, y, z] = cell.center;
|
|
139
|
-
const r = cell.somaRadius;
|
|
140
|
-
this.bbox.addSphere(x, y, z, r * 5);
|
|
141
|
-
const painterCell = new PainterCell(context, {
|
|
142
|
-
cell,
|
|
143
|
-
loadCell,
|
|
144
|
-
matrerial: "full",
|
|
145
|
-
onCellLoaded: (bbox) => {
|
|
146
|
-
var _a;
|
|
147
|
-
if (bbox) {
|
|
148
|
-
this.bbox.addBBox(bbox);
|
|
149
|
-
this.adaptCameraFromBBox();
|
|
150
|
-
}
|
|
151
|
-
this.cellCountLoaded++;
|
|
152
|
-
(_a = this.onLoadProgress) === null || _a === void 0 ? void 0 : _a.call(this, this.cellCountLoaded / this.cellCountTotal);
|
|
153
|
-
},
|
|
154
|
-
});
|
|
155
|
-
this.groupCells.add(painterCell);
|
|
156
|
-
const highlightedCell = new PainterCell(context, {
|
|
157
|
-
cell,
|
|
158
|
-
loadCell,
|
|
159
|
-
matrerial: "flat",
|
|
160
|
-
});
|
|
161
|
-
highlightingCells.set(cell.id, highlightedCell);
|
|
162
|
-
}
|
|
163
|
-
this.updateHightedCells();
|
|
164
|
-
context.camera = camera;
|
|
165
|
-
this.adaptCameraFromBBox();
|
|
166
|
-
context.paint();
|
|
167
|
-
}
|
|
168
|
-
adaptCameraFromBBox() {
|
|
169
|
-
const { context } = this;
|
|
170
|
-
if (!context)
|
|
171
|
-
return;
|
|
172
|
-
const { bbox } = this;
|
|
173
|
-
const { camera } = context;
|
|
174
|
-
const bboxW = Math.abs(bbox.max[0] - bbox.min[0]);
|
|
175
|
-
const bboxH = Math.abs(bbox.max[1] - bbox.min[1]);
|
|
176
|
-
camera.transfo.position = bbox.center;
|
|
177
|
-
const scale = 2;
|
|
178
|
-
camera.fitSpaceAtTarget(bboxW * scale, bboxH * scale);
|
|
179
|
-
camera.near = 1;
|
|
180
|
-
camera.far = camera.transfo.distance * 2;
|
|
181
|
-
camera.zoom = 2;
|
|
182
|
-
const { cameraManager } = this;
|
|
183
|
-
if (cameraManager) {
|
|
184
|
-
cameraManager.target = camera.getCurrentState();
|
|
185
|
-
}
|
|
246
|
+
this.context.waitUntiDefined().then(this.updateCircuit);
|
|
186
247
|
}
|
|
187
248
|
get highlightedCellIds() {
|
|
188
249
|
return this._highlightedCellIds;
|
|
@@ -210,7 +271,7 @@ export class PainterManager {
|
|
|
210
271
|
painter.black = false;
|
|
211
272
|
}
|
|
212
273
|
}
|
|
213
|
-
(_a = this.context) === null || _a === void 0 ? void 0 : _a.paint();
|
|
274
|
+
(_a = this.context.value) === null || _a === void 0 ? void 0 : _a.paint();
|
|
214
275
|
}
|
|
215
276
|
get background() {
|
|
216
277
|
return this._background;
|
|
@@ -218,33 +279,46 @@ export class PainterManager {
|
|
|
218
279
|
set background(color) {
|
|
219
280
|
this._background = color;
|
|
220
281
|
this.backgroundColor.parse(color);
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
clear
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
282
|
+
this.context.waitUntiDefined().then(() => {
|
|
283
|
+
const clear = this.painterClear;
|
|
284
|
+
if (clear) {
|
|
285
|
+
clear.red = this.backgroundColor.R;
|
|
286
|
+
clear.green = this.backgroundColor.G;
|
|
287
|
+
clear.blue = this.backgroundColor.B;
|
|
288
|
+
clear.alpha = this.backgroundColor.A;
|
|
289
|
+
}
|
|
290
|
+
});
|
|
228
291
|
}
|
|
229
292
|
get canvas() {
|
|
230
293
|
return this._canvas;
|
|
231
294
|
}
|
|
232
295
|
set canvas(canvas) {
|
|
233
|
-
if (this._canvas === canvas)
|
|
296
|
+
if (this._canvas === canvas) {
|
|
234
297
|
return;
|
|
298
|
+
}
|
|
235
299
|
if (this.context) {
|
|
236
300
|
this.delete();
|
|
237
301
|
}
|
|
238
302
|
this._canvas = canvas;
|
|
239
303
|
if (!canvas)
|
|
240
304
|
return;
|
|
241
|
-
const context = new TgdContext(canvas, {
|
|
305
|
+
const context = new TgdContext(canvas, {
|
|
306
|
+
antialias: true,
|
|
307
|
+
alpha: false,
|
|
308
|
+
verbose: this.verbose,
|
|
309
|
+
name: "RenderingContext",
|
|
310
|
+
});
|
|
311
|
+
this.context.value = context;
|
|
312
|
+
context.camera = new TgdCameraOrthographic({
|
|
313
|
+
zoom: 1,
|
|
314
|
+
});
|
|
242
315
|
watchSpacePerPixel(context, this.eventScalebar);
|
|
243
316
|
context.inputs.pointer.eventHover.addListener(this.handlePointerHover);
|
|
244
317
|
context.inputs.pointer.eventTap.addListener(this.handlePointerTap);
|
|
245
|
-
this.
|
|
318
|
+
context.inputs.pointer.eventTapMultiple.addListener(this.debug);
|
|
246
319
|
this.cameraManager = new CameraManager(context, this.eventRestingPosition);
|
|
247
320
|
const clear = new TgdPainterClear(context, {
|
|
321
|
+
name: "Clear background and depth",
|
|
248
322
|
color: [
|
|
249
323
|
this.backgroundColor.R,
|
|
250
324
|
this.backgroundColor.G,
|
|
@@ -262,98 +336,7 @@ export class PainterManager {
|
|
|
262
336
|
depth: "less",
|
|
263
337
|
cull: "back",
|
|
264
338
|
children: [this.groupCells],
|
|
265
|
-
}), new TgdPainterClear(context, { depth: 1 }), new TgdPainterState(context, {
|
|
266
|
-
depth: "less",
|
|
267
|
-
blend: "add",
|
|
268
|
-
cull: "back",
|
|
269
|
-
children: [this.groupHighlithedCells],
|
|
270
339
|
}), this.groupGizmo);
|
|
271
|
-
this.updateCircuit();
|
|
272
|
-
}
|
|
273
|
-
createramebufferCircuit(context, clear) {
|
|
274
|
-
this.textureFramebufferCircuit = new TgdTexture2D(context);
|
|
275
|
-
this.framebufferCircuit = new TgdPainterFramebufferWithAntiAliasing(context, {
|
|
276
|
-
textureColor0: this.textureFramebufferCircuit,
|
|
277
|
-
depthBuffer: true,
|
|
278
|
-
children: [
|
|
279
|
-
clear,
|
|
280
|
-
new TgdPainterState(context, {
|
|
281
|
-
depth: webglPresetDepth.less,
|
|
282
|
-
children: [this.groupCells],
|
|
283
|
-
}),
|
|
284
|
-
],
|
|
285
|
-
});
|
|
286
|
-
return this.framebufferCircuit;
|
|
287
|
-
}
|
|
288
|
-
createFramebufferHighlightedCells(context) {
|
|
289
|
-
const { viewportMatchingScale } = this;
|
|
290
|
-
this.textureFramebufferHighlightedCells = new TgdTexture2D(context);
|
|
291
|
-
this.framebufferHighlightedCells = new TgdPainterFramebufferWithAntiAliasing(context, {
|
|
292
|
-
viewportMatchingScale,
|
|
293
|
-
textureColor0: this.textureFramebufferHighlightedCells,
|
|
294
|
-
depthBuffer: true,
|
|
295
|
-
children: [
|
|
296
|
-
new TgdPainterClear(context, { depth: 1, color: [0, 0, 0, 1] }),
|
|
297
|
-
new TgdPainterState(context, {
|
|
298
|
-
depth: webglPresetDepth.less,
|
|
299
|
-
children: [this.groupHighlithedCells],
|
|
300
|
-
}),
|
|
301
|
-
],
|
|
302
|
-
});
|
|
303
|
-
return this.framebufferHighlightedCells;
|
|
304
|
-
}
|
|
305
|
-
createFramebufferBlur(context) {
|
|
306
|
-
const { textureFramebufferHighlightedCells } = this;
|
|
307
|
-
if (!textureFramebufferHighlightedCells)
|
|
308
|
-
throw new Error("You must call createFramebufferHighlightedCells() before this createFramebufferBlur()!");
|
|
309
|
-
const { viewportMatchingScale } = this;
|
|
310
|
-
const size = 3;
|
|
311
|
-
this.textureFramebufferBlur = new TgdTexture2D(context);
|
|
312
|
-
this.framebufferBlur = new TgdPainterFramebufferWithAntiAliasing(context, {
|
|
313
|
-
viewportMatchingScale,
|
|
314
|
-
textureColor0: this.textureFramebufferBlur,
|
|
315
|
-
children: [
|
|
316
|
-
new TgdPainterClear(context, { color: [0, 0, 0, 1] }),
|
|
317
|
-
new TgdPainterState(context, {
|
|
318
|
-
depth: webglPresetDepth.off,
|
|
319
|
-
children: [
|
|
320
|
-
new TgdPainterFilter(context, {
|
|
321
|
-
flipY: true,
|
|
322
|
-
texture: textureFramebufferHighlightedCells,
|
|
323
|
-
filters: [
|
|
324
|
-
new TgdFilterBlur({
|
|
325
|
-
size,
|
|
326
|
-
direction: 0,
|
|
327
|
-
}),
|
|
328
|
-
new TgdFilterBlur({
|
|
329
|
-
size,
|
|
330
|
-
direction: 90,
|
|
331
|
-
}),
|
|
332
|
-
],
|
|
333
|
-
}),
|
|
334
|
-
],
|
|
335
|
-
}),
|
|
336
|
-
],
|
|
337
|
-
});
|
|
338
|
-
return this.framebufferBlur;
|
|
339
|
-
}
|
|
340
|
-
createMix(context) {
|
|
341
|
-
const { framebufferCircuit, framebufferBlur } = this;
|
|
342
|
-
if (!framebufferCircuit)
|
|
343
|
-
throw new Error("Framebuffer for circuit must be created before calling createMix()!");
|
|
344
|
-
if (!framebufferBlur)
|
|
345
|
-
throw new Error("Framebuffer for blur must be created before calling createMix()!");
|
|
346
|
-
return new TgdPainterState(context, {
|
|
347
|
-
depth: webglPresetDepth.off,
|
|
348
|
-
blend: webglPresetBlend.off,
|
|
349
|
-
children: [
|
|
350
|
-
new TgdPainterMix(context, {
|
|
351
|
-
texture1: framebufferCircuit.textureColor0,
|
|
352
|
-
texture2: framebufferBlur.textureColor0,
|
|
353
|
-
strength: 1.5,
|
|
354
|
-
}),
|
|
355
|
-
],
|
|
356
|
-
});
|
|
357
340
|
}
|
|
358
341
|
delete() {
|
|
359
342
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
@@ -372,14 +355,14 @@ export class PainterManager {
|
|
|
372
355
|
this.groupCells.removeAll();
|
|
373
356
|
(_g = this.painterClear) === null || _g === void 0 ? void 0 : _g.delete();
|
|
374
357
|
this.painterClear = null;
|
|
375
|
-
if (this.context) {
|
|
376
|
-
this.context.inputs.pointer.eventHover.removeListener(this.handlePointerHover);
|
|
377
|
-
this.context.delete();
|
|
378
|
-
this.context =
|
|
358
|
+
if (this.context.value) {
|
|
359
|
+
this.context.value.inputs.pointer.eventHover.removeListener(this.handlePointerHover);
|
|
360
|
+
this.context.value.delete();
|
|
361
|
+
this.context.value = undefined;
|
|
379
362
|
}
|
|
380
363
|
}
|
|
381
364
|
}
|
|
382
|
-
export function usePainterManager({ backgroundColor, circuit, loadCell, onCellHover, onCellClick, highlightedCellIds, onLoadProgress, gizmo, }) {
|
|
365
|
+
export function usePainterManager({ backgroundColor, circuit, loadCell, onCellHover, onCellClick, highlightedCellIds, onLoadProgress, gizmo, verbose, }) {
|
|
383
366
|
const [, setSpacePerPixel] = React.useState(-1);
|
|
384
367
|
const ref = React.useRef(null);
|
|
385
368
|
if (!ref.current) {
|
|
@@ -388,14 +371,11 @@ export function usePainterManager({ backgroundColor, circuit, loadCell, onCellHo
|
|
|
388
371
|
const manager = ref.current;
|
|
389
372
|
React.useEffect(() => {
|
|
390
373
|
manager.eventScalebar.addListener(setSpacePerPixel);
|
|
391
|
-
return () => manager.eventScalebar.removeListener(setSpacePerPixel);
|
|
392
|
-
}, [manager]);
|
|
393
|
-
React.useEffect(() => {
|
|
394
374
|
manager.onLoadProgress = onLoadProgress;
|
|
395
|
-
|
|
396
|
-
React.useEffect(() => {
|
|
375
|
+
manager.verbose = verbose !== null && verbose !== void 0 ? verbose : false;
|
|
397
376
|
manager.background = backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : "#000";
|
|
398
|
-
|
|
377
|
+
return () => manager.eventScalebar.removeListener(setSpacePerPixel);
|
|
378
|
+
}, [onLoadProgress, manager, verbose, backgroundColor]);
|
|
399
379
|
React.useEffect(() => {
|
|
400
380
|
manager.setCircuit(circuit, loadCell);
|
|
401
381
|
}, [circuit, loadCell, manager]);
|
|
@@ -423,4 +403,4 @@ export function usePainterManager({ backgroundColor, circuit, loadCell, onCellHo
|
|
|
423
403
|
}, [gizmo, manager]);
|
|
424
404
|
return ref.current;
|
|
425
405
|
}
|
|
426
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC9wYWludGVyL21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLFVBQVUsRUFDVixRQUFRLEVBQ1IsYUFBYSxFQUliLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIscUNBQXFDLEVBQ3JDLGVBQWUsRUFFZixlQUFlLEVBQ2YsYUFBYSxFQUNiLGVBQWUsRUFDZixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGdCQUFnQixHQUNuQixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUV6QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRTVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBYTVDLE1BQU0sbUJBQW1CLEdBQTJCO0lBQ2hELE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxFQUFFLEdBQUc7SUFDVCxNQUFNLEVBQUUsQ0FBQztDQUNaLENBQUE7QUFFRCxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNvQix5QkFBb0IsR0FBRyxJQUFJLFFBQVEsRUFBVyxDQUFDO1FBQy9DLG1CQUFjLEdBQUcsSUFBSSxRQUFRLEVBQTRDLENBQUM7UUFDMUUsbUJBQWMsR0FBRyxJQUFJLFFBQVEsRUFBNEMsQ0FBQztRQUkxRSxrQkFBYSxHQUFHLElBQUks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
|
|
406
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC9wYWludGVyL21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIsUUFBUSxFQUNSLFVBQVUsRUFDVixRQUFRLEVBR1IsZUFBZSxFQUNmLGVBQWUsRUFFZixlQUFlLEVBQ2YsZUFBZSxFQUVmLGdCQUFnQixHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYTdDLE1BQU0sbUJBQW1CLEdBQTJCO0lBQ2xELE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxFQUFFLEdBQUc7SUFDVCxNQUFNLEVBQUUsQ0FBQztDQUNWLENBQUM7QUFFRixNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNrQix5QkFBb0IsR0FBRyxJQUFJLFFBQVEsRUFBVyxDQUFDO1FBQy9DLG1CQUFjLEdBQUcsSUFBSSxRQUFRLEVBQTRDLENBQUM7UUFDMUUsbUJBQWMsR0FBRyxJQUFJLFFBQVEsRUFBNEMsQ0FBQztRQUkxRSxrQkFBYSxHQUFHLElBQUksUUFBUSxFQUFVLENBQUM7UUFhdEMsMEJBQXFCLEdBQUcsR0FBRyxDQUFDO1FBQ3JDLFlBQU8sR0FBNkIsSUFBSSxDQUFD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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TgdContext } from "@tolokoban/tgd";
|
|
2
|
-
import { CacheLRU } from "../../../../tools/cache-lru";
|
|
2
|
+
import type { CacheLRU } from "../../../../tools/cache-lru";
|
|
3
3
|
import type { MorphoViewerSmallCircuitCell, MorphoViewerSmallCircuitCellData } from "../../types";
|
|
4
4
|
export interface OffscreenPainterOptions {
|
|
5
5
|
circuit: MorphoViewerSmallCircuitCell[];
|
|
@@ -14,6 +14,7 @@ export declare class OffscreenPainter {
|
|
|
14
14
|
private readonly offscreenContext;
|
|
15
15
|
private readonly group;
|
|
16
16
|
private readonly circuit;
|
|
17
|
+
private isDeleted;
|
|
17
18
|
constructor(onscreenContext: TgdContext, options: OffscreenPainterOptions);
|
|
18
19
|
getItemAt(xScreen: number, yScreen: number): MorphoViewerSmallCircuitCell | undefined;
|
|
19
20
|
private readonly paint;
|
|
@@ -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;AAMxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAElG,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;IAC3E,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC,CAAC;CACzE;AAID,qBAAa,gBAAgB;IAWzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAV3B,GAAG,SAAK;IACf,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;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD,OAAO,CAAC,SAAS,CAAS;gBAGP,eAAe,EAAE,UAAU,EAC5C,OAAO,EAAE,uBAAuB;IAkClC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS;IAUrF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAWpB;IAEF,MAAM;CAKP"}
|
|
@@ -8,7 +8,10 @@ export class OffscreenPainter {
|
|
|
8
8
|
this.mix = 0;
|
|
9
9
|
this.offscreenCanvas = new OffscreenCanvas(1, 1);
|
|
10
10
|
this.group = new TgdPainterGroup();
|
|
11
|
+
this.isDeleted = false;
|
|
11
12
|
this.paint = () => {
|
|
13
|
+
if (this.isDeleted)
|
|
14
|
+
return;
|
|
12
15
|
const { onscreenContext, offscreenContext, offscreenCanvas } = this;
|
|
13
16
|
offscreenContext.camera = onscreenContext.camera;
|
|
14
17
|
const { canvas } = onscreenContext;
|
|
@@ -25,6 +28,7 @@ export class OffscreenPainter {
|
|
|
25
28
|
antialias: false,
|
|
26
29
|
alpha: false,
|
|
27
30
|
depth: true,
|
|
31
|
+
name: "OffscreenPainter",
|
|
28
32
|
});
|
|
29
33
|
this.context = context;
|
|
30
34
|
context.camera = onscreenContext.camera;
|
|
@@ -47,6 +51,8 @@ export class OffscreenPainter {
|
|
|
47
51
|
}
|
|
48
52
|
getItemAt(xScreen, yScreen) {
|
|
49
53
|
var _a;
|
|
54
|
+
if (this.isDeleted)
|
|
55
|
+
return;
|
|
50
56
|
const { circuit, offscreenContext: context } = this;
|
|
51
57
|
const [R, G, B] = context.readPixel(xScreen, yScreen);
|
|
52
58
|
const divider = 1 / 0xff;
|
|
@@ -56,6 +62,7 @@ export class OffscreenPainter {
|
|
|
56
62
|
delete() {
|
|
57
63
|
this.onscreenContext.eventPaint.removeListener(this.paint);
|
|
58
64
|
this.offscreenContext.delete();
|
|
65
|
+
this.isDeleted = true;
|
|
59
66
|
}
|
|
60
67
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2Zmc2NyZWVuLXBhaW50ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNtYWxsLWNpcmN1aXQvcGFpbnRlci9vZmZzY3JlZW4tcGFpbnRlci9vZmZzY3JlZW4tcGFpbnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLGVBQWUsRUFDZixlQUFlLEVBQ2YsZUFBZSxFQUNmLGdCQUFnQixHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBVzlDLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztBQUV0QixNQUFNLE9BQU8sZ0JBQWdCO0lBVTNCLFlBQ21CLGVBQTJCLEVBQzVDLE9BQWdDO1FBRGYsb0JBQWUsR0FBZixlQUFlLENBQVk7UUFWdkMsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUdFLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVDLFVBQUssR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBRXZDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFnRFQsVUFBSyxHQUFHLEdBQUcsRUFBRTtZQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTO2dCQUFFLE9BQU87WUFFM0IsTUFBTSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDcEUsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDakQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLGVBQWUsQ0FBQztZQUNuQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcs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
|
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,
|
|
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,EAEL,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,CAoChD"}
|