@openbraininstitute/morphoviewer 0.26.2 → 0.26.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/button-reset-camera/button-reset-camera.js +2 -2
- package/dist/components/button-reset-camera/button-reset-camera.module.css +10 -0
- package/dist/components/controls-layout/controls-layout.js +1 -1
- package/dist/components/controls-layout/controls-layout.module.css +53 -0
- package/dist/components/morpho-viewer-octree/morpho-viewer-octree.js +1 -1
- package/dist/components/morpho-viewer-octree/morpho-viewer-octree.module.css +70 -0
- package/dist/components/morpho-viewer-octree/painter/manager.d.ts.map +1 -1
- package/dist/components/morpho-viewer-octree/painter/manager.js +9 -4
- package/dist/components/morpho-viewer-octree/types.d.ts +2 -1
- package/dist/components/morpho-viewer-octree/types.d.ts.map +1 -1
- package/dist/components/morpho-viewer-scalebar/morpho-viewer-scalebar.js +1 -1
- package/dist/components/morpho-viewer-scalebar/morpho-viewer-scalebar.module.css +13 -0
- package/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.js +1 -1
- package/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.module.css +25 -0
- package/dist/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.js +2 -2
- package/dist/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.module.css +115 -0
- package/dist/components/morpho-viewer-simul/components/hint/hint.js +1 -1
- package/dist/components/morpho-viewer-simul/components/hint/hint.module.css +23 -0
- package/dist/components/morpho-viewer-simul/components/legend-overlay/legend-overlay.js +1 -1
- package/dist/components/morpho-viewer-simul/components/legend-overlay/legend-overlay.module.css +5 -0
- package/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.d.ts +1 -1
- package/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.js +2 -2
- package/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.module.css +20 -0
- package/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/play-button.js +3 -3
- package/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/play-button.module.css +21 -0
- package/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.d.ts +1 -1
- package/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.js +1 -1
- package/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.module.css +52 -0
- package/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/speed-combo.js +1 -1
- package/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/speed-combo.module.css +69 -0
- package/dist/components/morpho-viewer-simul/components/spiking-controller/spiking-controller.js +1 -1
- package/dist/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.js +3 -3
- package/dist/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.module.css +60 -0
- package/dist/components/morpho-viewer-simul/morpho-viewer-simul.js +1 -1
- package/dist/components/morpho-viewer-simul/morpho-viewer-simul.module.css +94 -0
- package/dist/components/morpho-viewer-simul/painter/manager.js +1 -1
- package/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/cursor.js +1 -1
- package/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/fill.js +1 -1
- package/dist/components/morpho-viewer-simul/painter/painters/overlay/overlay.js +1 -1
- package/dist/components/morpho-viewer-simul/painter/painters/overlay/ticks.d.ts +1 -1
- package/dist/components/morpho-viewer-simul/painter/painters/spiking/spiking.js +1 -1
- package/dist/components/morpho-viewer-simul/painter/structure.d.ts.map +1 -1
- package/dist/components/morpho-viewer-simul/painter/structure.js +43 -20
- package/dist/components/morpho-viewer-simul/painter/tree.d.ts.map +1 -1
- package/dist/components/morpho-viewer-simul/painter/tree.js +17 -22
- package/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.js +1 -1
- package/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.module.css +63 -0
- package/dist/components/morpho-viewer-small-circuit/painter/manager.js +3 -3
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.js +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.js +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.js +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/ambient-occlusion.d.ts.map +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/ambient-occlusion.js +11 -28
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/proximity.d.ts +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/proximity.d.ts.map +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/proximity.js +3 -2
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/rays.d.ts +3 -0
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/rays.d.ts.map +1 -0
- package/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/rays.js +24 -0
- package/dist/components/morpho-viewer-somas-only/manager/manager.d.ts +5 -0
- package/dist/components/morpho-viewer-somas-only/manager/manager.d.ts.map +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/manager.js +41 -4
- package/dist/components/morpho-viewer-somas-only/manager/painter-cell-infos.js +1 -1
- package/dist/components/morpho-viewer-somas-only/morpho-viewer-somas-only.js +1 -1
- package/dist/components/morpho-viewer-somas-only/morpho-viewer-somas-only.module.css +15 -0
- package/dist/components/morpho-viewer-spinner/morpho-viewer-spinner.js +2 -2
- package/dist/components/morpho-viewer-spinner/morpho-viewer-spinner.module.css +31 -0
- package/dist/components/tooltip/tooltip.js +1 -1
- package/dist/components/tooltip/tooltip.module.css +74 -0
- package/dist/icons/icon.module.css +19 -0
- package/dist/icons/spinner.js +1 -1
- package/dist/morphology/painter/factory.js +1 -1
- package/dist/morphology/painter/nodes.d.ts +1 -1
- package/dist/morphology/painter/nodes.js +1 -1
- package/dist/morphology/painter/painter.d.ts +1 -1
- package/dist/morphology/painter/segments.js +1 -1
- package/dist/morphology/painter/textures.d.ts +1 -1
- package/dist/package.json +9 -5
- package/dist/parser/swc.d.ts +1 -1
- package/dist/parser/swc.js +1 -1
- package/dist/tools/morphology-to-tree.d.ts +2 -2
- package/dist/tools/morphology-to-tree.js +1 -1
- package/dist/tools/swc-to-tree.d.ts +1 -1
- package/dist/tools/swc-to-tree.js +1 -1
- package/package.json +8 -4
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
.speedCombo {
|
|
2
|
+
position: absolute;
|
|
3
|
+
left: 0;
|
|
4
|
+
bottom: calc(48px + 32px);
|
|
5
|
+
width: 48px;
|
|
6
|
+
height: auto;
|
|
7
|
+
display: grid;
|
|
8
|
+
place-items: center;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
button.speedComboButton {
|
|
12
|
+
display: inline-block;
|
|
13
|
+
font: inherit;
|
|
14
|
+
font-size: 80%;
|
|
15
|
+
border: none;
|
|
16
|
+
color: #000;
|
|
17
|
+
background: #fff;
|
|
18
|
+
border-radius: 99vmax;
|
|
19
|
+
width: auto;
|
|
20
|
+
text-align: center;
|
|
21
|
+
|
|
22
|
+
&:hover {
|
|
23
|
+
background: #adf;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
div.dialog {
|
|
28
|
+
backdrop-filter: brightness(0.333);
|
|
29
|
+
position: absolute;
|
|
30
|
+
left: 0;
|
|
31
|
+
top: 0;
|
|
32
|
+
width: 100%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
opacity: 0;
|
|
35
|
+
pointer-events: none;
|
|
36
|
+
transition: all 0.2s;
|
|
37
|
+
z-index: 9999;
|
|
38
|
+
|
|
39
|
+
&.open {
|
|
40
|
+
opacity: 1;
|
|
41
|
+
pointer-events: all;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
> div.column {
|
|
45
|
+
display: flex;
|
|
46
|
+
flex-wrap: nowrap;
|
|
47
|
+
flex-direction: column;
|
|
48
|
+
justify-content: flex-start;
|
|
49
|
+
align-items: flex-start;
|
|
50
|
+
gap: 0.5em;
|
|
51
|
+
border: none;
|
|
52
|
+
background: #0005;
|
|
53
|
+
position: absolute;
|
|
54
|
+
top: auto;
|
|
55
|
+
left: 0;
|
|
56
|
+
bottom: calc(80px + 32px);
|
|
57
|
+
padding: 8px;
|
|
58
|
+
margin: 0;
|
|
59
|
+
|
|
60
|
+
> div.row {
|
|
61
|
+
display: flex;
|
|
62
|
+
flex-wrap: nowrap;
|
|
63
|
+
flex-direction: row;
|
|
64
|
+
justify-content: flex-start;
|
|
65
|
+
align-items: center;
|
|
66
|
+
gap: 0.5em;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
package/dist/components/morpho-viewer-simul/components/spiking-controller/spiking-controller.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEventValue } from "
|
|
2
|
+
import { useEventValue } from "./../../../../utils";
|
|
3
3
|
import PlayButton from "./play-button";
|
|
4
4
|
import SimulCombo from "./simul-combo";
|
|
5
5
|
import { SpeedCombo } from "./speed-combo";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { classNames, useEventValue } from "
|
|
2
|
+
import { classNames, useEventValue } from "./../../../../utils";
|
|
3
3
|
import styles from "./zoom-slider.module.css";
|
|
4
|
-
import { IconZoomOut } from "
|
|
5
|
-
import { IconZoomIn } from "
|
|
4
|
+
import { IconZoomOut } from "./../../../icons/zoom-out";
|
|
5
|
+
import { IconZoomIn } from "./../../../icons/zoom-in";
|
|
6
6
|
export default function ZoomSlider({ className, painterManager }) {
|
|
7
7
|
const zoom = useEventValue(1, painterManager.eventZoom);
|
|
8
8
|
return (_jsxs("div", { className: classNames(className, styles.zoomSlider), children: [_jsx("button", { type: "button", onClick: painterManager.zoomOut, children: _jsx(IconZoomOut, {}) }), _jsx("input", { type: "range", value: zoom, onInput: (evt) => {
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
.zoomSlider {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-wrap: nowrap;
|
|
4
|
+
flex-direction: row;
|
|
5
|
+
justify-content: flex-start;
|
|
6
|
+
align-items: center;
|
|
7
|
+
gap: 0.5em;
|
|
8
|
+
width: 50%;
|
|
9
|
+
z-index: 9;
|
|
10
|
+
|
|
11
|
+
> * {
|
|
12
|
+
flex: 1 1 auto;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
> button {
|
|
16
|
+
flex: 0 0 auto;
|
|
17
|
+
display: grid;
|
|
18
|
+
place-items: center;
|
|
19
|
+
width: 1.5em;
|
|
20
|
+
height: 1.5em;
|
|
21
|
+
border-radius: 0.25em;
|
|
22
|
+
cursor: pointer;
|
|
23
|
+
background-color: #adf0;
|
|
24
|
+
transition: all 0.3s;
|
|
25
|
+
|
|
26
|
+
&:hover {
|
|
27
|
+
background-color: #adf;
|
|
28
|
+
color: #000;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
> :global(.ant-slider) {
|
|
33
|
+
> :global(.ant-slider-rail) {
|
|
34
|
+
background-color: #fff7;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
--color-input-range: #adf;
|
|
39
|
+
|
|
40
|
+
/* input[type="range"]::-webkit-slider-thumb {
|
|
41
|
+
background: var(--color-input-range);
|
|
42
|
+
cursor: pointer;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
input[type="range"]::-moz-range-thumb {
|
|
46
|
+
background: var(--color-input-range);
|
|
47
|
+
cursor: pointer;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
input[type="range"]::-ms-thumb {
|
|
51
|
+
background: var(--color-input-range);
|
|
52
|
+
cursor: pointer;
|
|
53
|
+
} */
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@container (width < 600px) {
|
|
57
|
+
.zoomSlider > input {
|
|
58
|
+
display: none;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { tgdFullscreenToggle } from "@tolokoban/tgd";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import { useDebugMode } from "
|
|
4
|
+
import { useDebugMode } from "./../../utils";
|
|
5
5
|
import { ButtonCameraReset } from "../button-reset-camera";
|
|
6
6
|
import { IconClose } from "../icons/close";
|
|
7
7
|
import { IconCopy } from "../icons/copy";
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
.main {
|
|
2
|
+
position: absolute;
|
|
3
|
+
left: 0;
|
|
4
|
+
top: 0;
|
|
5
|
+
width: 100%;
|
|
6
|
+
height: 100%;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
|
|
9
|
+
background-color: #000;
|
|
10
|
+
color: #fff;
|
|
11
|
+
|
|
12
|
+
> canvas {
|
|
13
|
+
position: absolute;
|
|
14
|
+
left: 0;
|
|
15
|
+
top: 0;
|
|
16
|
+
width: 100%;
|
|
17
|
+
height: 100%;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.loading {
|
|
21
|
+
position: absolute;
|
|
22
|
+
left: 0;
|
|
23
|
+
top: 0;
|
|
24
|
+
width: 100%;
|
|
25
|
+
height: 100%;
|
|
26
|
+
display: grid;
|
|
27
|
+
place-content: center;
|
|
28
|
+
font-size: 1000%;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
> header {
|
|
32
|
+
top: 0;
|
|
33
|
+
bottom: auto;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
> footer {
|
|
37
|
+
top: auto;
|
|
38
|
+
bottom: 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
> header,
|
|
42
|
+
> footer {
|
|
43
|
+
container-type: inline-size;
|
|
44
|
+
position: absolute;
|
|
45
|
+
left: 0;
|
|
46
|
+
width: 100%;
|
|
47
|
+
box-sizing: border-box;
|
|
48
|
+
padding: 1em;
|
|
49
|
+
margin: 0;
|
|
50
|
+
display: flex;
|
|
51
|
+
flex-wrap: nowrap;
|
|
52
|
+
flex-direction: row;
|
|
53
|
+
justify-content: space-between;
|
|
54
|
+
align-items: center;
|
|
55
|
+
gap: 0;
|
|
56
|
+
|
|
57
|
+
> div.flex {
|
|
58
|
+
display: flex;
|
|
59
|
+
flex-wrap: nowrap;
|
|
60
|
+
flex-direction: row;
|
|
61
|
+
justify-content: flex-start;
|
|
62
|
+
align-items: center;
|
|
63
|
+
gap: 0.5em;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
button {
|
|
67
|
+
font: inherit;
|
|
68
|
+
width: 2.5em;
|
|
69
|
+
height: 2.5em;
|
|
70
|
+
display: grid;
|
|
71
|
+
place-items: center;
|
|
72
|
+
flex: 0 0 auto;
|
|
73
|
+
cursor: pointer;
|
|
74
|
+
color: #fff;
|
|
75
|
+
border: 2px solid #000;
|
|
76
|
+
border-radius: 2px;
|
|
77
|
+
background: #3a3a3a;
|
|
78
|
+
margin: 0;
|
|
79
|
+
box-sizing: border-box;
|
|
80
|
+
transition: all 0.3s;
|
|
81
|
+
|
|
82
|
+
&:hover {
|
|
83
|
+
background-color: #adf;
|
|
84
|
+
color: #000;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.zoomSlider {
|
|
89
|
+
color: #fff;
|
|
90
|
+
flex: 0 0 auto;
|
|
91
|
+
width: 240px;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { TgdColor, TgdContext, TgdControllerCameraOrbit, TgdEvent, TgdMat4, TgdVec3, tgdCalcMapRange, } from "@tolokoban/tgd";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import { useEventValue } from "
|
|
4
|
+
import { useEventValue } from "./../../../utils";
|
|
5
5
|
import { makeCamera } from "./camera";
|
|
6
6
|
import { Initializer } from "./initializer";
|
|
7
7
|
import { computeSectionOffset } from "./math";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TgdPainter, TgdPainterGroup, TgdPainterIcon, } from "@tolokoban/tgd";
|
|
2
2
|
import { PainterCursorFill } from "./fill";
|
|
3
3
|
import { makeTexture } from "./texture";
|
|
4
|
-
import { TIMELINE_HEIGHT, TIMELINE_MARGIN } from "
|
|
4
|
+
import { TIMELINE_HEIGHT, TIMELINE_MARGIN } from "./../../../../contants";
|
|
5
5
|
export class PainterCursor extends TgdPainter {
|
|
6
6
|
constructor(context, spikingManager) {
|
|
7
7
|
super();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TgdPainter, TgdPainterProgram, TgdUniformBufferObject, TgdVec2, } from "@tolokoban/tgd";
|
|
2
|
-
import { TIMELINE_MARGIN, TIMELINE_HEIGHT } from "
|
|
2
|
+
import { TIMELINE_MARGIN, TIMELINE_HEIGHT } from "./../../../../contants";
|
|
3
3
|
export class PainterCursorFill extends TgdPainter {
|
|
4
4
|
constructor(context, spikingManager) {
|
|
5
5
|
super();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TgdColor, TgdPainterGroup, TgdPainterOverlay, TgdTexture2D, tgdCalcClamp, tgdCanvasCreate, tgdCanvasCreateWithContext2D, } from "@tolokoban/tgd";
|
|
2
|
-
import { TIMELINE_HEIGHT, TIMELINE_MARGIN } from "
|
|
2
|
+
import { TIMELINE_HEIGHT, TIMELINE_MARGIN } from "./../../../contants";
|
|
3
3
|
import { PainterCursor } from "./cursor";
|
|
4
4
|
import { FramebufferTicks } from "./ticks";
|
|
5
5
|
export class PainterSpikingOverlay extends TgdPainterGroup {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TgdContext, TgdEvent, TgdPainterFramebuffer, TgdPainterProgram, TgdTexture2D } from "@tolokoban/tgd";
|
|
2
|
-
import { MorphoViewerSpikeRecord } from "
|
|
2
|
+
import { MorphoViewerSpikeRecord } from "../../../types/public";
|
|
3
3
|
export interface FramebufferTicksOptions {
|
|
4
4
|
texture: TgdTexture2D;
|
|
5
5
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { tgdCalcMix, TgdFilterBlur, TgdMaterialSolid, TgdPainterClear, TgdPainterFilter, TgdPainterFramebuffer, TgdPainterGroup, TgdPainterSegmentsMorphing, TgdPainterState, TgdTexture2D, } from "@tolokoban/tgd";
|
|
2
|
-
import { SPIKING_BLUR_SIZE, SPIKING_COLOR, SPIKING_COLOR_MIX, SPIKING_RADIUS_MULTIPLIER, } from "
|
|
2
|
+
import { SPIKING_BLUR_SIZE, SPIKING_COLOR, SPIKING_COLOR_MIX, SPIKING_RADIUS_MULTIPLIER, } from "./../../../contants";
|
|
3
3
|
export class PainterSpiking extends TgdPainterGroup {
|
|
4
4
|
constructor(context, data, spikingManager) {
|
|
5
5
|
super({ name: "PainterSpiking" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-simul/painter/structure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAgB,MAAM,gBAAgB,CAAC;AAEjF,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,YAAY,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAMlB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,YAAY,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,qBAAa,SAAS;IACpB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,EAAE,aAAa,CAAC;IAKpC,SAAgB,aAAa,iBAAwB;IACrD,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/C,SAAgB,oBAAoB,EAAE,OAAO,CAAC;IAE9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAI7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsC;IACzE,OAAO,CAAC,mBAAmB,CAAkB;gBAEjC,UAAU,EAAE,gBAAgB;IAmBxC,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,wBAAwB;IAKhC,IAAI,kBAAkB,YAErB;IAED,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-simul/painter/structure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAgB,MAAM,gBAAgB,CAAC;AAEjF,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,wBAAwB,EACzB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,YAAY,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAMlB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,YAAY,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,qBAAa,SAAS;IACpB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,EAAE,aAAa,CAAC;IAKpC,SAAgB,aAAa,iBAAwB;IACrD,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/C,SAAgB,oBAAoB,EAAE,OAAO,CAAC;IAE9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;IAI7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsC;IACzE,OAAO,CAAC,mBAAmB,CAAkB;gBAEjC,UAAU,EAAE,gBAAgB;IAmBxC,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,wBAAwB;IAKhC,IAAI,kBAAkB,YAErB;IAED,OAAO,CAAC,cAAc;IA0DtB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE;IAI1D,2BAA2B,CACzB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb;QAAE,OAAO,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA8BpD,IAAI,MAAM,WAET;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAOjC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI;IAI9D,OAAO,CAAC,aAAa;CAgCtB"}
|
|
@@ -56,27 +56,50 @@ export class Structure {
|
|
|
56
56
|
}
|
|
57
57
|
registerBranch(parent, node, distanceFromSoma) {
|
|
58
58
|
var _a;
|
|
59
|
-
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
]
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
59
|
+
const alreadyProcessedNodes = new Map();
|
|
60
|
+
const fringe = [
|
|
61
|
+
{
|
|
62
|
+
parent,
|
|
63
|
+
node,
|
|
64
|
+
distanceFromSoma,
|
|
65
|
+
},
|
|
66
|
+
];
|
|
67
|
+
while (fringe.length > 0) {
|
|
68
|
+
const item = fringe.shift();
|
|
69
|
+
if (!item)
|
|
70
|
+
return;
|
|
71
|
+
const { parent, node, distanceFromSoma } = item;
|
|
72
|
+
if (alreadyProcessedNodes.get(node) === parent)
|
|
73
|
+
continue;
|
|
74
|
+
alreadyProcessedNodes.set(node, parent);
|
|
75
|
+
node.distanceFromSoma = distanceFromSoma;
|
|
76
|
+
const { type } = node;
|
|
77
|
+
if ([
|
|
78
|
+
MorphoViewerTreeItemType.Soma,
|
|
79
|
+
MorphoViewerTreeItemType.Dendrite,
|
|
80
|
+
MorphoViewerTreeItemType.ApicalDendrite,
|
|
81
|
+
MorphoViewerTreeItemType.BasalDendrite,
|
|
82
|
+
].includes(type)) {
|
|
83
|
+
this.bboxDendrites.addSphere(node.x, node.y, node.z, node.radius);
|
|
84
|
+
if (type === MorphoViewerTreeItemType.Soma) {
|
|
85
|
+
this.bboxSoma.addSphere(node.x, node.y, node.z, node.radius);
|
|
86
|
+
}
|
|
70
87
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
88
|
+
if (parent) {
|
|
89
|
+
if (node.type === MorphoViewerTreeItemType.ApicalDendrite) {
|
|
90
|
+
this._hasApicalDendrites = true;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
for (const child of (_a = node.children) !== null && _a !== void 0 ? _a : []) {
|
|
94
|
+
fringe.push({
|
|
95
|
+
parent: node,
|
|
96
|
+
node: child,
|
|
97
|
+
distanceFromSoma: distanceFromSoma +
|
|
98
|
+
(parent
|
|
99
|
+
? computeDistance([parent.x, parent.y, parent.z], [node.x, node.y, node.z])
|
|
100
|
+
: 0),
|
|
101
|
+
});
|
|
75
102
|
}
|
|
76
|
-
}
|
|
77
|
-
for (const child of (_a = node.children) !== null && _a !== void 0 ? _a : []) {
|
|
78
|
-
this.registerBranch(node, child, distanceFromSoma +
|
|
79
|
-
(parent ? computeDistance([parent.x, parent.y, parent.z], [node.x, node.y, node.z]) : 0));
|
|
80
103
|
}
|
|
81
104
|
}
|
|
82
105
|
getSegmentsOfSection(sectionName) {
|
|
@@ -172,4 +195,4 @@ function adjustParentRadius(parent, node) {
|
|
|
172
195
|
}
|
|
173
196
|
return Math.max(parent.radius * 0.5, node.radius);
|
|
174
197
|
}
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zaW11bC9wYWludGVyL3N0cnVjdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLGNBQWMsRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRixPQUFPLEVBR0wsd0JBQXdCLEdBQ3pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBb0NqRSxNQUFNLE9BQU8sU0FBUztJQXNCcEIsWUFBWSxVQUE0Qjs7UUFmeEIsa0JBQWEsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBTXBDLFNBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBSTVCLGFBQVEsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2hDLFVBQUssR0FBb0IsRUFBRSxDQUFDO1FBQzVCLHVCQUFrQixHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO1FBQ2pFLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUczQyxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQUEsVUFBVSxDQUFDLG9CQUFvQixtQ0FBSSxLQUFLLENBQUM7UUFDckUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFFBQVE7WUFBRSxN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
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zaW11bC9wYWludGVyL3N0cnVjdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLGNBQWMsRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRixPQUFPLEVBR0wsd0JBQXdCLEdBQ3pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBb0NqRSxNQUFNLE9BQU8sU0FBUztJQXNCcEIsWUFBWSxVQUE0Qjs7UUFmeEIsa0JBQWEsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBTXBDLFNBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBSTVCLGFBQVEsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2hDLFVBQUssR0FBb0IsRUFBRSxDQUFDO1FBQzVCLHVCQUFrQixHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO1FBQ2pFLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUczQyxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQUEsVUFBVSxDQUFDLG9CQUFvQixtQ0FBSSxLQUFLLENBQUM7UUFDckUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFFBQVE7WUFBRSxN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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-simul/painter/tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,aAAa,CAyB1F;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,SAAI,QAWvD;AAOD,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,SAAI,QAa7D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,SAAK,EAAE,OAAO,SAAK,QAW3E;AAQD,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-simul/painter/tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,aAAa,CAyB1F;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,SAAI,QAWvD;AAOD,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,SAAI,QAa7D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,SAAK,EAAE,OAAO,SAAK,QAW3E;AAQD,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,QA8BtE"}
|
|
@@ -67,30 +67,25 @@ export function computeRanks(item, rankMin = -1, rankMax = +1) {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
export function addLiaisons(root, items) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (distance > 1e-12) {
|
|
83
|
-
console.log(root.name, "->", child.name, Math.sqrt(distance), liaison);
|
|
70
|
+
const fringe = [root];
|
|
71
|
+
while (fringe.length > 0) {
|
|
72
|
+
const root = fringe.shift();
|
|
73
|
+
if (!root)
|
|
74
|
+
continue;
|
|
75
|
+
if (root.children.length > 1) {
|
|
76
|
+
for (let index = 0; index < root.children.length; index++) {
|
|
77
|
+
const child = root.children[index];
|
|
78
|
+
const liaison = Object.assign(Object.assign({}, child), { name: `${root.name} > ${child.name}`, type: MorphoViewerTreeItemType.Liaison, index: root.index, start: [...root.end], end: [...child.start], radiusStart: 1e-3, radiusEnd: 1e-3, children: [child] });
|
|
79
|
+
items.push(liaison);
|
|
80
|
+
root.children[index] = liaison;
|
|
81
|
+
fringe.push(child);
|
|
84
82
|
}
|
|
85
|
-
items.push(liaison);
|
|
86
|
-
root.children[index] = liaison;
|
|
87
|
-
addLiaisons(child, items);
|
|
88
83
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
84
|
+
else {
|
|
85
|
+
for (const child of root.children) {
|
|
86
|
+
fringe.push(child);
|
|
87
|
+
}
|
|
93
88
|
}
|
|
94
89
|
}
|
|
95
90
|
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc2ltdWwvcGFpbnRlci90cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSTNELE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBc0IsRUFBRSxJQUEwQjtJQUN6RSxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztJQUM3QyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUs7UUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekQsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsU0FBUztRQUUxQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTTtZQUFFLFNBQVM7UUFFdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLHdCQUF3QixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FB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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { tgdFullscreenToggle } from "@tolokoban/tgd";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import { classNames } from "
|
|
4
|
+
import { classNames } from "./../../utils";
|
|
5
5
|
import { ControlsLayout } from "../controls-layout";
|
|
6
6
|
import MorphoViewerScalebar from "../morpho-viewer-scalebar";
|
|
7
7
|
import { usePainterManager } from "./painter";
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
.morphoViewerSmallCircuit {
|
|
2
|
+
position: relative;
|
|
3
|
+
left: 0;
|
|
4
|
+
top: 0;
|
|
5
|
+
width: 100%;
|
|
6
|
+
height: 100%;
|
|
7
|
+
color: #fff;
|
|
8
|
+
|
|
9
|
+
>canvas.webgl {
|
|
10
|
+
position: absolute;
|
|
11
|
+
left: 0;
|
|
12
|
+
top: 0;
|
|
13
|
+
width: 100%;
|
|
14
|
+
height: 100%;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
>header {
|
|
18
|
+
position: absolute;
|
|
19
|
+
left: 0;
|
|
20
|
+
top: 0;
|
|
21
|
+
width: 100%;
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
padding: 1em;
|
|
24
|
+
margin: 0;
|
|
25
|
+
display: flex;
|
|
26
|
+
flex-wrap: nowrap;
|
|
27
|
+
flex-direction: row;
|
|
28
|
+
justify-content: space-between;
|
|
29
|
+
align-items: center;
|
|
30
|
+
gap: 2em;
|
|
31
|
+
|
|
32
|
+
>div.flex {
|
|
33
|
+
display: flex;
|
|
34
|
+
flex-wrap: nowrap;
|
|
35
|
+
flex-direction: row;
|
|
36
|
+
justify-content: flex-start;
|
|
37
|
+
align-items: center;
|
|
38
|
+
gap: 0.5em;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
button {
|
|
42
|
+
font: inherit;
|
|
43
|
+
width: 2.5em;
|
|
44
|
+
height: 2.5em;
|
|
45
|
+
display: grid;
|
|
46
|
+
place-items: center;
|
|
47
|
+
flex: 0 0 auto;
|
|
48
|
+
cursor: pointer;
|
|
49
|
+
color: #fff;
|
|
50
|
+
border: 2px solid #000;
|
|
51
|
+
border-radius: 2px;
|
|
52
|
+
background: #3a3a3a;
|
|
53
|
+
margin: 0;
|
|
54
|
+
box-sizing: border-box;
|
|
55
|
+
transition: all 0.3s;
|
|
56
|
+
|
|
57
|
+
&:hover {
|
|
58
|
+
background-color: #adf;
|
|
59
|
+
color: #000;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { TgdBoundingBox, TgdCameraOrthographic, TgdColor, TgdContext, TgdEvent, TgdPainterClear, TgdPainterGroup, TgdPainterState, TgdValueWaitable, } from "@tolokoban/tgd";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import { watchSpacePerPixel } from "
|
|
4
|
-
import { PainterGizmo } from "
|
|
5
|
-
import { CacheLRU } from "
|
|
3
|
+
import { watchSpacePerPixel } from "./../../../behaviors";
|
|
4
|
+
import { PainterGizmo } from "./../../../painters/gizmo";
|
|
5
|
+
import { CacheLRU } from "./../../../tools/cache-lru";
|
|
6
6
|
import { CameraManager } from "./camera";
|
|
7
7
|
import { OffscreenPainter } from "./offscreen-painter";
|
|
8
8
|
import { PainterCell } from "./painter-cell";
|
package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TgdContext } from "@tolokoban/tgd";
|
|
2
|
-
import type { CacheLRU } from "
|
|
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[];
|
package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TgdContext, TgdPainterClear, TgdPainterGroup, TgdPainterState, webglPresetDepth, } from "@tolokoban/tgd";
|
|
2
|
-
import { vec3ToInt16 } from "
|
|
2
|
+
import { vec3ToInt16 } from "./../../../../utils";
|
|
3
3
|
import { PainterCell } from "../painter-cell";
|
|
4
4
|
const FIRST_INDEX = 1;
|
|
5
5
|
export class OffscreenPainter {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TgdBoundingBox, type TgdContext, type TgdMaterial, TgdPainterNode } from "@tolokoban/tgd";
|
|
2
|
-
import { type MorphoViewerTree } from "
|
|
2
|
+
import { type MorphoViewerTree } from "../../../../morpho-viewer-simul";
|
|
3
3
|
export declare function createCellFromTree(context: TgdContext, material: TgdMaterial, tree: MorphoViewerTree, forSelection: boolean): {
|
|
4
4
|
bbox: TgdBoundingBox;
|
|
5
5
|
node: TgdPainterNode;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TgdBoundingBox, TgdPainterNode, TgdPainterSegments, TgdPainterSegmentsData, } from "@tolokoban/tgd";
|
|
2
|
-
import { MorphoViewerTreeItemType, } from "
|
|
2
|
+
import { MorphoViewerTreeItemType, } from "./../../../../morpho-viewer-simul";
|
|
3
3
|
export function createCellFromTree(context, material, tree, forSelection) {
|
|
4
4
|
const segmentsSoma = new TgdPainterSegmentsData();
|
|
5
5
|
const segmentsNeurites = new TgdPainterSegmentsData();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { TgdBoundingBox, TgdColor, TgdGeometrySphereIco, TgdLight, TgdMaterialDiffuse, TgdMaterialFlat, TgdMaterialFlatTexture, TgdPainterGroup, TgdPainterMesh, TgdQuat, TgdTexture2D, TgdVec4, tgdCanvasCreateFill, tgdCanvasCreatePalette, } from "@tolokoban/tgd";
|
|
3
|
-
import { int16ToVec3 } from "
|
|
3
|
+
import { int16ToVec3 } from "./../../../../utils";
|
|
4
4
|
import { createCellFromTree } from "./factory/tree";
|
|
5
5
|
export class PainterCell extends TgdPainterGroup {
|
|
6
6
|
constructor(context, options) {
|