@openbraininstitute/morphoviewer 0.0.1 → 0.24.18
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/LICENSE +201 -0
- package/README.md +37 -0
- package/lib/dist/abstract-canvas.d.ts +37 -0
- package/lib/dist/abstract-canvas.d.ts.map +1 -0
- package/lib/dist/abstract-canvas.js +131 -0
- package/lib/dist/colors.d.ts +34 -0
- package/lib/dist/colors.d.ts.map +1 -0
- package/lib/dist/colors.js +125 -0
- package/lib/dist/components/button-reset-camera/button-reset-camera.d.ts +10 -0
- package/lib/dist/components/button-reset-camera/button-reset-camera.d.ts.map +1 -0
- package/lib/dist/components/button-reset-camera/button-reset-camera.js +10 -0
- package/lib/dist/components/button-reset-camera/button-reset-camera.module.css +10 -0
- package/lib/dist/components/button-reset-camera/index.d.ts +2 -0
- package/lib/dist/components/button-reset-camera/index.d.ts.map +1 -0
- package/lib/dist/components/button-reset-camera/index.js +2 -0
- package/lib/dist/components/icons/3d.d.ts +8 -0
- package/lib/dist/components/icons/3d.d.ts.map +1 -0
- package/lib/dist/components/icons/3d.js +5 -0
- package/lib/dist/components/icons/center.d.ts +8 -0
- package/lib/dist/components/icons/center.d.ts.map +1 -0
- package/lib/dist/components/icons/center.js +5 -0
- package/lib/dist/components/icons/close.d.ts +8 -0
- package/lib/dist/components/icons/close.d.ts.map +1 -0
- package/lib/dist/components/icons/close.js +5 -0
- package/lib/dist/components/icons/copy.d.ts +2 -0
- package/lib/dist/components/icons/copy.d.ts.map +1 -0
- package/lib/dist/components/icons/copy.js +5 -0
- package/lib/dist/components/icons/dendrogram-circular.d.ts +2 -0
- package/lib/dist/components/icons/dendrogram-circular.d.ts.map +1 -0
- package/lib/dist/components/icons/dendrogram-circular.js +5 -0
- package/lib/dist/components/icons/dendrogram-straight.d.ts +2 -0
- package/lib/dist/components/icons/dendrogram-straight.d.ts.map +1 -0
- package/lib/dist/components/icons/dendrogram-straight.js +5 -0
- package/lib/dist/components/icons/fullscreen.d.ts +8 -0
- package/lib/dist/components/icons/fullscreen.d.ts.map +1 -0
- package/lib/dist/components/icons/fullscreen.js +5 -0
- package/lib/dist/components/icons/minimize.d.ts +8 -0
- package/lib/dist/components/icons/minimize.d.ts.map +1 -0
- package/lib/dist/components/icons/minimize.js +5 -0
- package/lib/dist/components/icons/pause.d.ts +8 -0
- package/lib/dist/components/icons/pause.d.ts.map +1 -0
- package/lib/dist/components/icons/pause.js +5 -0
- package/lib/dist/components/icons/play.d.ts +8 -0
- package/lib/dist/components/icons/play.d.ts.map +1 -0
- package/lib/dist/components/icons/play.js +5 -0
- package/lib/dist/components/icons/zoom-in.d.ts +8 -0
- package/lib/dist/components/icons/zoom-in.d.ts.map +1 -0
- package/lib/dist/components/icons/zoom-in.js +5 -0
- package/lib/dist/components/icons/zoom-out.d.ts +8 -0
- package/lib/dist/components/icons/zoom-out.d.ts.map +1 -0
- package/lib/dist/components/icons/zoom-out.js +5 -0
- package/lib/dist/components/morpho-viewer-octree/index.d.ts +4 -0
- package/lib/dist/components/morpho-viewer-octree/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-octree/index.js +3 -0
- package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.d.ts +3 -0
- package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.js +31 -0
- package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.module.css +70 -0
- package/lib/dist/components/morpho-viewer-octree/painter/camera.d.ts +12 -0
- package/lib/dist/components/morpho-viewer-octree/painter/camera.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-octree/painter/camera.js +23 -0
- package/lib/dist/components/morpho-viewer-octree/painter/manager.d.ts +23 -0
- package/lib/dist/components/morpho-viewer-octree/painter/manager.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-octree/painter/manager.js +180 -0
- package/lib/dist/components/morpho-viewer-octree/tools.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-octree/tools.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-octree/tools.js +9 -0
- package/lib/dist/components/morpho-viewer-octree/types.d.ts +19 -0
- package/lib/dist/components/morpho-viewer-octree/types.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-octree/types.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/colors.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/colors.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/colors.js +24 -0
- package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.d.ts +7 -0
- package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.js +12 -0
- package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.module.css +25 -0
- package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.d.ts +6 -0
- package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.js +50 -0
- package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.module.css +115 -0
- package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/hooks.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/hooks.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/hooks.js +12 -0
- package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/hint/hint.d.ts +8 -0
- package/lib/dist/components/morpho-viewer-simul/components/hint/hint.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/hint/hint.js +57 -0
- package/lib/dist/components/morpho-viewer-simul/components/hint/hint.module.css +23 -0
- package/lib/dist/components/morpho-viewer-simul/components/hint/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/hint/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/hint/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-overlay.d.ts +5 -0
- package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-overlay.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-overlay.js +34 -0
- package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-overlay.module.css +5 -0
- package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-painter.d.ts +19 -0
- package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-painter.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-painter.js +209 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.d.ts +6 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.js +21 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.module.css +20 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/play-button.d.ts +6 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/play-button.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/play-button.js +12 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/play-button.module.css +21 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.d.ts +8 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.js +19 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.module.css +52 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/speed-combo.d.ts +6 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/speed-combo.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/speed-combo.js +20 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/speed-combo.module.css +69 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/spiking-controller.d.ts +6 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/spiking-controller.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/spiking-controller.js +13 -0
- package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.d.ts +7 -0
- package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.js +13 -0
- package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.module.css +60 -0
- package/lib/dist/components/morpho-viewer-simul/contants.d.ts +9 -0
- package/lib/dist/components/morpho-viewer-simul/contants.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/contants.js +9 -0
- package/lib/dist/components/morpho-viewer-simul/hooks.d.ts +9 -0
- package/lib/dist/components/morpho-viewer-simul/hooks.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/hooks.js +34 -0
- package/lib/dist/components/morpho-viewer-simul/index.d.ts +3 -0
- package/lib/dist/components/morpho-viewer-simul/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/index.js +3 -0
- package/lib/dist/components/morpho-viewer-simul/morpho-viewer-simul.d.ts +3 -0
- package/lib/dist/components/morpho-viewer-simul/morpho-viewer-simul.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/morpho-viewer-simul.js +42 -0
- package/lib/dist/components/morpho-viewer-simul/morpho-viewer-simul.module.css +94 -0
- package/lib/dist/components/morpho-viewer-simul/painter/camera.d.ts +18 -0
- package/lib/dist/components/morpho-viewer-simul/painter/camera.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/camera.js +17 -0
- package/lib/dist/components/morpho-viewer-simul/painter/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/initializer.d.ts +14 -0
- package/lib/dist/components/morpho-viewer-simul/painter/initializer.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/initializer.js +35 -0
- package/lib/dist/components/morpho-viewer-simul/painter/manager.d.ts +99 -0
- package/lib/dist/components/morpho-viewer-simul/painter/manager.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/manager.js +566 -0
- package/lib/dist/components/morpho-viewer-simul/painter/math.d.ts +4 -0
- package/lib/dist/components/morpho-viewer-simul/painter/math.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/math.js +33 -0
- package/lib/dist/components/morpho-viewer-simul/painter/morphology-data.d.ts +12 -0
- package/lib/dist/components/morpho-viewer-simul/painter/morphology-data.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/morphology-data.js +40 -0
- package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/material-index.d.ts +5 -0
- package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/material-index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/material-index.js +14 -0
- package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/offscreen-painter.d.ts +23 -0
- package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/offscreen-painter.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/offscreen-painter.js +84 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/contants.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/contants.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/contants.js +12 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/highlight.d.ts +6 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/highlight.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/highlight.js +29 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/cursor.d.ts +12 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/cursor.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/cursor.js +34 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/fill.d.ts +15 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/fill.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/fill.js +85 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/texture.d.ts +3 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/texture.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/texture.js +20 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/overlay.d.ts +20 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/overlay.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/overlay.js +114 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/ticks.d.ts +24 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/ticks.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/ticks.js +127 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/painter.d.ts +28 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/painter.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/painter.js +136 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/index.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/spiking.d.ts +26 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/spiking.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/spiking.js +116 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/synapses.d.ts +12 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/synapses.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/painters/synapses.js +87 -0
- package/lib/dist/components/morpho-viewer-simul/painter/segments.d.ts +5 -0
- package/lib/dist/components/morpho-viewer-simul/painter/segments.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/segments.js +58 -0
- package/lib/dist/components/morpho-viewer-simul/painter/soma.d.ts +9 -0
- package/lib/dist/components/morpho-viewer-simul/painter/soma.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/soma.js +44 -0
- package/lib/dist/components/morpho-viewer-simul/painter/spiking-manager.d.ts +44 -0
- package/lib/dist/components/morpho-viewer-simul/painter/spiking-manager.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/spiking-manager.js +164 -0
- package/lib/dist/components/morpho-viewer-simul/painter/structure.d.ts +59 -0
- package/lib/dist/components/morpho-viewer-simul/painter/structure.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/structure.js +175 -0
- package/lib/dist/components/morpho-viewer-simul/painter/transition.d.ts +41 -0
- package/lib/dist/components/morpho-viewer-simul/painter/transition.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/transition.js +152 -0
- package/lib/dist/components/morpho-viewer-simul/painter/tree.d.ts +7 -0
- package/lib/dist/components/morpho-viewer-simul/painter/tree.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/painter/tree.js +96 -0
- package/lib/dist/components/morpho-viewer-simul/types/private.d.ts +33 -0
- package/lib/dist/components/morpho-viewer-simul/types/private.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/types/private.js +2 -0
- package/lib/dist/components/morpho-viewer-simul/types/public.d.ts +91 -0
- package/lib/dist/components/morpho-viewer-simul/types/public.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/types/public.js +13 -0
- package/lib/dist/components/morpho-viewer-simul/utils.d.ts +4 -0
- package/lib/dist/components/morpho-viewer-simul/utils.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-simul/utils.js +25 -0
- package/lib/dist/components/morpho-viewer-small-circuit/index.d.ts +3 -0
- package/lib/dist/components/morpho-viewer-small-circuit/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-small-circuit/index.js +3 -0
- package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.d.ts +3 -0
- package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.js +32 -0
- package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.module.css +63 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/camera.d.ts +13 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/camera.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/camera.js +39 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/index.js +2 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts +54 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.js +378 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/index.js +2 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts +22 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.js +61 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts +7 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.js +54 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/index.d.ts +2 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/index.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/index.js +2 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts +20 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.js +127 -0
- package/lib/dist/components/morpho-viewer-small-circuit/types.d.ts +24 -0
- package/lib/dist/components/morpho-viewer-small-circuit/types.d.ts.map +1 -0
- package/lib/dist/components/morpho-viewer-small-circuit/types.js +2 -0
- package/lib/dist/components/tooltip/index.d.ts +2 -0
- package/lib/dist/components/tooltip/index.d.ts.map +1 -0
- package/lib/dist/components/tooltip/index.js +2 -0
- package/lib/dist/components/tooltip/tooltip.d.ts +14 -0
- package/lib/dist/components/tooltip/tooltip.d.ts.map +1 -0
- package/lib/dist/components/tooltip/tooltip.js +10 -0
- package/lib/dist/components/tooltip/tooltip.module.css +74 -0
- package/lib/dist/gizmo/gizmo-canvas.d.ts +17 -0
- package/lib/dist/gizmo/gizmo-canvas.d.ts.map +1 -0
- package/lib/dist/gizmo/gizmo-canvas.js +98 -0
- package/lib/dist/gizmo/index.d.ts +2 -0
- package/lib/dist/gizmo/index.d.ts.map +1 -0
- package/lib/dist/gizmo/index.js +2 -0
- package/lib/dist/gizmo/painter/shader.frag.d.ts +2 -0
- package/lib/dist/gizmo/painter/shader.frag.d.ts.map +1 -0
- package/lib/dist/gizmo/painter/shader.frag.js +19 -0
- package/lib/dist/gizmo/painter/shader.vert.d.ts +2 -0
- package/lib/dist/gizmo/painter/shader.vert.d.ts.map +1 -0
- package/lib/dist/gizmo/painter/shader.vert.js +26 -0
- package/lib/dist/gizmo/painter/tips.d.ts +13 -0
- package/lib/dist/gizmo/painter/tips.d.ts.map +1 -0
- package/lib/dist/gizmo/painter/tips.js +85 -0
- package/lib/dist/index.d.ts +16 -0
- package/lib/dist/index.d.ts.map +1 -0
- package/lib/dist/index.js +14 -0
- package/lib/dist/morphology/morphology-canvas.d.ts +64 -0
- package/lib/dist/morphology/morphology-canvas.d.ts.map +1 -0
- package/lib/dist/morphology/morphology-canvas.js +275 -0
- package/lib/dist/morphology/painter/factory.d.ts +7 -0
- package/lib/dist/morphology/painter/factory.d.ts.map +1 -0
- package/lib/dist/morphology/painter/factory.js +22 -0
- package/lib/dist/morphology/painter/index.d.ts +2 -0
- package/lib/dist/morphology/painter/index.d.ts.map +1 -0
- package/lib/dist/morphology/painter/index.js +2 -0
- package/lib/dist/morphology/painter/nodes.d.ts +21 -0
- package/lib/dist/morphology/painter/nodes.d.ts.map +1 -0
- package/lib/dist/morphology/painter/nodes.js +134 -0
- package/lib/dist/morphology/painter/painter.d.ts +31 -0
- package/lib/dist/morphology/painter/painter.d.ts.map +1 -0
- package/lib/dist/morphology/painter/painter.js +104 -0
- package/lib/dist/morphology/painter/segments.d.ts +23 -0
- package/lib/dist/morphology/painter/segments.d.ts.map +1 -0
- package/lib/dist/morphology/painter/segments.js +96 -0
- package/lib/dist/morphology/painter/textures.d.ts +10 -0
- package/lib/dist/morphology/painter/textures.d.ts.map +1 -0
- package/lib/dist/morphology/painter/textures.js +53 -0
- package/lib/dist/nrrd/get-header-length.d.ts +2 -0
- package/lib/dist/nrrd/get-header-length.d.ts.map +1 -0
- package/lib/dist/nrrd/get-header-length.js +48 -0
- package/lib/dist/nrrd/header.d.ts +28 -0
- package/lib/dist/nrrd/header.d.ts.map +1 -0
- package/lib/dist/nrrd/header.js +122 -0
- package/lib/dist/nrrd/index.d.ts +3 -0
- package/lib/dist/nrrd/index.d.ts.map +1 -0
- package/lib/dist/nrrd/index.js +33 -0
- package/lib/dist/nrrd/volume.d.ts +29 -0
- package/lib/dist/nrrd/volume.d.ts.map +1 -0
- package/lib/dist/nrrd/volume.js +129 -0
- package/lib/dist/package.json +96 -0
- package/lib/dist/parser/for-each-line.d.ts +2 -0
- package/lib/dist/parser/for-each-line.d.ts.map +1 -0
- package/lib/dist/parser/for-each-line.js +14 -0
- package/lib/dist/parser/swc.d.ts +14 -0
- package/lib/dist/parser/swc.d.ts.map +1 -0
- package/lib/dist/parser/swc.js +49 -0
- package/lib/dist/scalebar.d.ts +11 -0
- package/lib/dist/scalebar.d.ts.map +1 -0
- package/lib/dist/scalebar.js +25 -0
- package/lib/dist/tools/cache-lru.d.ts +18 -0
- package/lib/dist/tools/cache-lru.d.ts.map +1 -0
- package/lib/dist/tools/cache-lru.js +53 -0
- package/lib/dist/tools/morphology-to-tree.d.ts +4 -0
- package/lib/dist/tools/morphology-to-tree.d.ts.map +1 -0
- package/lib/dist/tools/morphology-to-tree.js +89 -0
- package/lib/dist/types.d.ts +9 -0
- package/lib/dist/types.d.ts.map +1 -0
- package/lib/dist/types.js +9 -0
- package/lib/dist/utils.d.ts +16 -0
- package/lib/dist/utils.d.ts.map +1 -0
- package/lib/dist/utils.js +56 -0
- package/package.json +43 -15
- package/package.json~ +0 -16
|
@@ -0,0 +1,180 @@
|
|
|
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";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { morphoViewerOctreeBlockToId } from "../tools.js";
|
|
5
|
+
import { makeCamera } from "./camera.js";
|
|
6
|
+
export class OctreeManager {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.loadInfo = null;
|
|
9
|
+
this.loadBlock = null;
|
|
10
|
+
this._meshId = "";
|
|
11
|
+
this._canvas = null;
|
|
12
|
+
this.context = null;
|
|
13
|
+
this.group = new TgdPainterGroup({ name: "Group" });
|
|
14
|
+
this.promisedInfo = null;
|
|
15
|
+
this.availableBlocks = new Set();
|
|
16
|
+
this.material = new TgdMaterialDiffuse({
|
|
17
|
+
lockLightsToCamera: true,
|
|
18
|
+
color: [0.8, 0.7, 0.4, 1],
|
|
19
|
+
});
|
|
20
|
+
this.orbit = null;
|
|
21
|
+
this.initialCameraState = { width: 1, height: 1, near: 1, far: 10, position: new TgdVec3() };
|
|
22
|
+
this.animations = [];
|
|
23
|
+
this.resetMeshLoading = () => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
const { loadInfo } = this;
|
|
26
|
+
if (!loadInfo)
|
|
27
|
+
return;
|
|
28
|
+
const { group } = this;
|
|
29
|
+
const promisedInfo = (_a = this.promisedInfo) !== null && _a !== void 0 ? _a : loadInfo(this.meshId);
|
|
30
|
+
this.promisedInfo = promisedInfo;
|
|
31
|
+
const { context } = this;
|
|
32
|
+
if (!context)
|
|
33
|
+
return;
|
|
34
|
+
const info = yield promisedInfo;
|
|
35
|
+
if (!info)
|
|
36
|
+
return;
|
|
37
|
+
const { camera, width, height } = makeCamera(info.bbox);
|
|
38
|
+
console.log("🐞 [manager@128] camera.near, camera.far =", camera.near, camera.far);
|
|
39
|
+
context.camera = camera;
|
|
40
|
+
this.initialCameraState = {
|
|
41
|
+
width,
|
|
42
|
+
height,
|
|
43
|
+
position: new TgdVec3(camera.transfo.position),
|
|
44
|
+
near: camera.near,
|
|
45
|
+
far: camera.far,
|
|
46
|
+
};
|
|
47
|
+
(_b = this.orbit) === null || _b === void 0 ? void 0 : _b.detach();
|
|
48
|
+
this.orbit = new TgdControllerCameraOrbit(context, {
|
|
49
|
+
inertiaOrbit: 1000,
|
|
50
|
+
onZoomRequest: (event) => {
|
|
51
|
+
console.log("🐞 [manager@142] event.zoom =", event.zoom);
|
|
52
|
+
console.log("🐞 [manager@143] camera.zoom =", camera.zoom);
|
|
53
|
+
return true;
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
this.availableBlocks.clear();
|
|
57
|
+
for (const blockId of info.blockIds) {
|
|
58
|
+
this.availableBlocks.add(blockId);
|
|
59
|
+
}
|
|
60
|
+
const lod = new TgdPainterLOD(context, {
|
|
61
|
+
bbox: info.bbox,
|
|
62
|
+
subdivisions: 4,
|
|
63
|
+
surfaceThreshold: 1,
|
|
64
|
+
factory: (x, y, z, level) => __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
const { loadBlock, context } = this;
|
|
66
|
+
if (!loadBlock || !context)
|
|
67
|
+
return null;
|
|
68
|
+
const blockId = morphoViewerOctreeBlockToId(x, y, z, level);
|
|
69
|
+
if (!this.availableBlocks.has(blockId)) {
|
|
70
|
+
console.log(`Block "${blockId}" is not available!`);
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
const block = yield loadBlock(this.meshId, blockId);
|
|
74
|
+
if ((block === null || block === void 0 ? void 0 : block.type) === "glb") {
|
|
75
|
+
const asset = yield TgdDataGlb.parse(block.data);
|
|
76
|
+
const mesh = new TgdPainterMeshGltf(context, {
|
|
77
|
+
asset,
|
|
78
|
+
material: this.material,
|
|
79
|
+
});
|
|
80
|
+
const bbox = mesh.computeBoundingBox();
|
|
81
|
+
console.log("🐞 [manager@130] bbox =", bbox);
|
|
82
|
+
return mesh;
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
85
|
+
}),
|
|
86
|
+
});
|
|
87
|
+
group.removeAll();
|
|
88
|
+
group.add(lod);
|
|
89
|
+
context.paint();
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
resetCamera() {
|
|
93
|
+
const { context } = this;
|
|
94
|
+
if (!context)
|
|
95
|
+
return;
|
|
96
|
+
context.animCancelArray(this.animations);
|
|
97
|
+
this.animations = context.animSchedule({
|
|
98
|
+
duration: 0.3,
|
|
99
|
+
easingFunction: tgdEasingFunctionInOutQuad,
|
|
100
|
+
action: tgdActionCreateCameraInterpolation(context.camera, {
|
|
101
|
+
zoom: 1,
|
|
102
|
+
position: this.initialCameraState.position,
|
|
103
|
+
orientation: new TgdQuat(),
|
|
104
|
+
}),
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
get meshId() {
|
|
108
|
+
return this._meshId;
|
|
109
|
+
}
|
|
110
|
+
set meshId(meshId) {
|
|
111
|
+
if (this._meshId === meshId)
|
|
112
|
+
return;
|
|
113
|
+
this._meshId = meshId;
|
|
114
|
+
this.promisedInfo = null;
|
|
115
|
+
this.resetMeshLoading();
|
|
116
|
+
}
|
|
117
|
+
get canvas() {
|
|
118
|
+
return this._canvas;
|
|
119
|
+
}
|
|
120
|
+
set canvas(canvas) {
|
|
121
|
+
var _a, _b;
|
|
122
|
+
if (this._canvas === canvas)
|
|
123
|
+
return;
|
|
124
|
+
this._canvas = canvas;
|
|
125
|
+
(_a = this.context) === null || _a === void 0 ? void 0 : _a.delete();
|
|
126
|
+
(_b = this.orbit) === null || _b === void 0 ? void 0 : _b.detach();
|
|
127
|
+
if (!canvas)
|
|
128
|
+
return;
|
|
129
|
+
const context = (this.context = new TgdContext(canvas, {
|
|
130
|
+
antialias: true,
|
|
131
|
+
alpha: false,
|
|
132
|
+
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
|
+
});
|
|
139
|
+
context.add(new TgdPainterClear(context, {
|
|
140
|
+
color: [0, 0, 0, 1],
|
|
141
|
+
depth: 1,
|
|
142
|
+
}), new TgdPainterState(context, {
|
|
143
|
+
depth: "less",
|
|
144
|
+
cull: "back",
|
|
145
|
+
children: [this.group],
|
|
146
|
+
}));
|
|
147
|
+
this.group.removeAll();
|
|
148
|
+
this.resetMeshLoading();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function makeDebugMesh(context, bbox, material) {
|
|
152
|
+
const vecMin = new TgdVec3(bbox.min);
|
|
153
|
+
const vecMax = new TgdVec3(bbox.max);
|
|
154
|
+
const vecDim = new TgdVec3(vecMax).subtract(vecMin);
|
|
155
|
+
const center = new TgdVec3(vecMax).add(vecMin).scale(0.5);
|
|
156
|
+
return new TgdPainterMesh(context, {
|
|
157
|
+
geometry: new TgdGeometryBox({
|
|
158
|
+
center,
|
|
159
|
+
sizeX: vecDim.x,
|
|
160
|
+
sizeY: vecDim.y,
|
|
161
|
+
sizeZ: vecDim.z,
|
|
162
|
+
}),
|
|
163
|
+
material,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
export function useOctreeManager({ meshId, loadInfo, loadBlock, }) {
|
|
167
|
+
const ref = React.useRef(null);
|
|
168
|
+
if (!ref.current)
|
|
169
|
+
ref.current = new OctreeManager();
|
|
170
|
+
React.useEffect(() => {
|
|
171
|
+
const manager = ref.current;
|
|
172
|
+
if (!manager)
|
|
173
|
+
return;
|
|
174
|
+
manager.loadInfo = loadInfo;
|
|
175
|
+
manager.loadBlock = loadBlock;
|
|
176
|
+
manager.meshId = meshId;
|
|
177
|
+
}, [meshId, loadInfo, loadBlock]);
|
|
178
|
+
return ref.current;
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItb2N0cmVlL3BhaW50ZXIvbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUlMLFVBQVUsRUFDVix3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLGNBQWMsRUFFZCxrQkFBa0IsRUFFbEIsZUFBZSxFQUNmLGVBQWUsRUFDZixhQUFhLEVBQ2IsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsT0FBTyxFQUNQLE9BQU8sRUFDUCxrQ0FBa0MsRUFDbEMsMEJBQTBCLEdBQzNCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRDLE1BQU0sT0FBTyxhQUFhO0lBQTFCO1FBQ1MsYUFBUSxHQUErQyxJQUFJLENBQUM7UUFDNUQsY0FBUyxHQUFnRCxJQUFJLENBQUM7UUFFN0QsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQTZCLElBQUksQ0FBQztRQUN6QyxZQUFPLEdBQXNCLElBQUksQ0FBQztRQUN6QixVQUFLLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RCxpQkFBWSxHQUEyRCxJQUFJLENBQUM7UUFDbkUsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxJQUFJLGtCQUFrQixDQUFDO1lBQ2pELGtCQUFrQixFQUFFLElBQUk7WUFDeEIsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQzFCLENBQUMsQ0FBQztRQUNLLFVBQUss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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-octree/tools.ts"],"names":[],"mappings":"AAAA,wBAAgB,2BAA2B,CACzC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,GACZ,MAAM,CAIR"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function morphoViewerOctreeBlockToId(x, y, z, level) {
|
|
2
|
+
if (level < 1)
|
|
3
|
+
return "0";
|
|
4
|
+
return `${toBin(x, level)}${toBin(y, level)}${toBin(z, level)}`;
|
|
5
|
+
}
|
|
6
|
+
function toBin(value, level) {
|
|
7
|
+
return value.toString(2).padStart(level, "0");
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLW9jdHJlZS90b29scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLENBQVMsRUFDVCxDQUFTLEVBQ1QsQ0FBUyxFQUNULEtBQWE7SUFFYixJQUFJLEtBQUssR0FBRyxDQUFDO1FBQUUsT0FBTyxHQUFHLENBQUM7SUFFMUIsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7QUFDbEUsQ0FBQztBQUVELFNBQVMsS0FBSyxDQUFDLEtBQWEsRUFBRSxLQUFhO0lBQ3pDLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ2hELENBQUMifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ArrayNumber3 } from "@tolokoban/tgd";
|
|
2
|
+
export type MorphoViewerOctreeMeshType = {
|
|
3
|
+
type: "glb";
|
|
4
|
+
data: ArrayBuffer;
|
|
5
|
+
};
|
|
6
|
+
export interface MorphoViewerOctreeInfo {
|
|
7
|
+
bbox: {
|
|
8
|
+
min: ArrayNumber3;
|
|
9
|
+
max: ArrayNumber3;
|
|
10
|
+
};
|
|
11
|
+
blockIds: string[];
|
|
12
|
+
}
|
|
13
|
+
export interface MorphoViewerOctreeProps {
|
|
14
|
+
className?: string;
|
|
15
|
+
meshId: string;
|
|
16
|
+
loadInfo(meshId: string): Promise<MorphoViewerOctreeInfo | null>;
|
|
17
|
+
loadBlock(meshId: string, blockId: string): Promise<MorphoViewerOctreeMeshType | null>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +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;AAEnD,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;CACxF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-simul/colors.ts"],"names":[],"mappings":"AAAA,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,UAEzD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export function getColorFromGeneratedPalette(index) {
|
|
2
|
+
return SimulationColors[index % SimulationColors.length];
|
|
3
|
+
}
|
|
4
|
+
const SimulationColors = [
|
|
5
|
+
"#32C14E",
|
|
6
|
+
"#8AB5FF",
|
|
7
|
+
"#DC51FF",
|
|
8
|
+
"#B3A26E",
|
|
9
|
+
"#F02124",
|
|
10
|
+
"#32D4C1",
|
|
11
|
+
"#814BFF",
|
|
12
|
+
"#E3F750",
|
|
13
|
+
"#D653C5",
|
|
14
|
+
"#AD7A14",
|
|
15
|
+
"#87BB74",
|
|
16
|
+
"#DFC6AE",
|
|
17
|
+
"#5778FF",
|
|
18
|
+
"#81ADE0",
|
|
19
|
+
"#99FF80",
|
|
20
|
+
"#FFCF30",
|
|
21
|
+
"#5193BA",
|
|
22
|
+
"#DD63CF",
|
|
23
|
+
];
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zaW11bC9jb2xvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLDRCQUE0QixDQUFDLEtBQWE7SUFDeEQsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELE1BQU0sZ0JBQWdCLEdBQUc7SUFDdkIsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULFNBQVM7SUFDVCxTQUFTO0NBQ1YsQ0FBQyJ9
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PainterManager } from "../../painter";
|
|
2
|
+
export interface ModeSelectorProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
painterManager: PainterManager;
|
|
5
|
+
}
|
|
6
|
+
export default function ModeSelector({ className, painterManager }: ModeSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=ModeSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModeSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,iBAAiB,2CAsBpF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { classNames } from "./../../../../utils.js";
|
|
4
|
+
import { Icon3D } from "../../../icons/3d.js";
|
|
5
|
+
import { IconDendrogramStraight } from "../../../icons/dendrogram-straight.js";
|
|
6
|
+
import styles from "./ModeSelector.module.css";
|
|
7
|
+
export default function ModeSelector({ className, painterManager }) {
|
|
8
|
+
const [mode, setMode] = React.useState(painterManager.mode);
|
|
9
|
+
React.useMemo(() => (painterManager.mode = mode), [painterManager, mode]);
|
|
10
|
+
return (_jsxs("div", { className: classNames(className, styles.modeSelector), children: [_jsx("button", { type: "button", className: classNames(styles.button, mode === "3d" && styles.selected), onClick: () => setMode("3d"), children: _jsx(Icon3D, {}) }), _jsx("button", { type: "button", className: classNames(styles.button, mode === "dendrogram" && styles.selected), onClick: () => setMode("dendrogram"), children: _jsx(IconDendrogramStraight, {}) })] }));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZVNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zaW11bC9jb21wb25lbnRzL01vZGVTZWxlY3Rvci9Nb2RlU2VsZWN0b3IudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJNUUsT0FBTyxNQUFNLE1BQU0sMkJBQTJCLENBQUM7QUFPL0MsTUFBTSxDQUFDLE9BQU8sVUFBVSxZQUFZLENBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFxQjtJQUNuRixNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQXdCLENBQUMsQ0FBQztJQUNoRixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRTFFLE9BQU8sQ0FDTCxlQUFLLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFDeEQsaUJBQ0UsSUFBSSxFQUFDLFFBQVEsRUFDYixTQUFTLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ3RFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBRTVCLEtBQUMsTUFBTSxLQUFHLEdBQ0gsRUFDVCxpQkFDRSxJQUFJLEVBQUMsUUFBUSxFQUNiLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEtBQUssWUFBWSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFDOUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFFcEMsS0FBQyxzQkFBc0IsS0FBRyxHQUNuQixJQUNMLENBQ1AsQ0FBQztBQUNKLENBQUMifQ==
|
package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.module.css
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
div.modeSelector {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-wrap: nowrap;
|
|
4
|
+
flex-direction: row;
|
|
5
|
+
justify-content: flex-start;
|
|
6
|
+
align-items: stretch;
|
|
7
|
+
gap: 2px;
|
|
8
|
+
|
|
9
|
+
> button.button {
|
|
10
|
+
border-radius: 0;
|
|
11
|
+
|
|
12
|
+
&.selected {
|
|
13
|
+
background-color: #adf;
|
|
14
|
+
color: #000;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&:first-child {
|
|
18
|
+
border-radius: 8px 0 0 8px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&:last-child {
|
|
22
|
+
border-radius: 0 8px 8px 0;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-simul/components/ModeSelector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { default } from "./ModeSelector.js";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL2NvbXBvbmVudHMvTW9kZVNlbGVjdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQyJ9
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MorphoViewerSimulContentProps } from "../../types/private";
|
|
2
|
+
export interface AddRecordingDialogProps extends MorphoViewerSimulContentProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
}
|
|
5
|
+
export default function AddRecordingDialog(props: AddRecordingDialogProps): import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
//# sourceMappingURL=add-recording-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-recording-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAIzE,MAAM,WAAW,uBAAwB,SAAQ,6BAA6B;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,kDA0ExE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { IconClose } from "./../../../icons/close.js";
|
|
4
|
+
import { classNames, useEventValue } from "./../../../../utils.js";
|
|
5
|
+
import { useRecordingsAndInjection } from "../../hooks.js";
|
|
6
|
+
import { HintContent } from "../hint/index.js";
|
|
7
|
+
import { useEscapeHandler } from "./hooks.js";
|
|
8
|
+
import styles from "./add-recording-dialog.module.css";
|
|
9
|
+
export default function AddRecordingDialog(props) {
|
|
10
|
+
const { className, painterManager } = props;
|
|
11
|
+
const data = useRecordingsAndInjection(props);
|
|
12
|
+
const [open, setOpen] = React.useState(false);
|
|
13
|
+
const { offset, item, y } = useEventValue({
|
|
14
|
+
x: 0,
|
|
15
|
+
y: 0,
|
|
16
|
+
item: null,
|
|
17
|
+
offset: 0,
|
|
18
|
+
}, painterManager.eventTap);
|
|
19
|
+
React.useEffect(() => {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
if (item) {
|
|
22
|
+
(_a = props.onSegmentClick) === null || _a === void 0 ? void 0 : _a.call(props, {
|
|
23
|
+
segment: item.node,
|
|
24
|
+
parent: (_b = item.parent) === null || _b === void 0 ? void 0 : _b.node,
|
|
25
|
+
});
|
|
26
|
+
setOpen(true);
|
|
27
|
+
}
|
|
28
|
+
}, [item]);
|
|
29
|
+
const handleClose = () => setOpen(false);
|
|
30
|
+
const handleMoveInjection = () => {
|
|
31
|
+
handleClose();
|
|
32
|
+
if (item) {
|
|
33
|
+
data.moveInjection(item.sectionName);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const handleAddRecording = () => {
|
|
37
|
+
handleClose();
|
|
38
|
+
if (item) {
|
|
39
|
+
data.addRecording(item.sectionName, offset);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
useEscapeHandler(handleClose);
|
|
43
|
+
if (!item)
|
|
44
|
+
return null;
|
|
45
|
+
return (_jsx("div", { className: classNames(className, styles.addRecordingDialog, open && styles.open), title: `y = ${y}`, onClick: handleClose, role: "alertdialog", children: _jsxs("div", { className: y < 0 ? styles.top : styles.bottom, onClick: (evt) => {
|
|
46
|
+
evt.preventDefault();
|
|
47
|
+
evt.stopPropagation();
|
|
48
|
+
}, role: "dialog", children: [_jsxs("header", { children: [_jsxs("h2", { children: [item.sectionName, "[", item.segmentIndex, "] ", _jsxs("small", { children: ["(", offset.toFixed(2), ")"] })] }), _jsxs("button", { type: "button", onClick: handleClose, children: [_jsx(IconClose, {}), _jsx("div", { children: "Cancel" })] })] }), _jsx(HintContent, { painterManager: painterManager }), _jsxs("div", { className: styles.buttons, children: [_jsx("button", { type: "button", onClick: handleMoveInjection, children: "Move injection here" }), _jsx("button", { type: "button", onClick: handleAddRecording, children: "Add recording" })] })] }) }));
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXJlY29yZGluZy1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL2NvbXBvbmVudHMvYWRkLXJlY29yZGluZy1kaWFsb2cvYWRkLXJlY29yZGluZy1kaWFsb2cudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXBELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUkzQyxPQUFPLE1BQU0sTUFBTSxtQ0FBbUMsQ0FBQztBQU12RCxNQUFNLENBQUMsT0FBTyxVQUFVLGtCQUFrQixDQUFDLEtBQThCO0lBQ3ZFLE1BQU0sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQzVDLE1BQU0sSUFBSSxHQUFHLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxhQUFhLENBQ3ZDO1FBQ0UsQ0FBQyxFQUFFLENBQUM7UUFDSixDQUFDLEVBQUUsQ0FBQztRQUNKLElBQUksRUFBRSxJQUFJO1FBQ1YsTUFBTSxFQUFFLENBQUM7S0FDVixFQUNELGNBQWMsQ0FBQyxRQUFRLENBQ3hCLENBQUM7SUFDRixLQUFLLENB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
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
.addRecordingDialog {
|
|
2
|
+
position: absolute;
|
|
3
|
+
left: 0;
|
|
4
|
+
top: 0;
|
|
5
|
+
width: 100%;
|
|
6
|
+
height: 100%;
|
|
7
|
+
display: grid;
|
|
8
|
+
place-items: center;
|
|
9
|
+
background-color: #0001;
|
|
10
|
+
z-index: 10;
|
|
11
|
+
opacity: 0;
|
|
12
|
+
pointer-events: none;
|
|
13
|
+
transition: all 0.3s;
|
|
14
|
+
|
|
15
|
+
&.open {
|
|
16
|
+
opacity: 1;
|
|
17
|
+
pointer-events: all;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
> div {
|
|
21
|
+
background-color: #3333;
|
|
22
|
+
backdrop-filter: blur(4px);
|
|
23
|
+
color: #fff;
|
|
24
|
+
padding: 1em;
|
|
25
|
+
border-radius: 0.5em;
|
|
26
|
+
border: 2px solid #fff4;
|
|
27
|
+
transition: all 0.3s;
|
|
28
|
+
margin: 4px;
|
|
29
|
+
|
|
30
|
+
&.top {
|
|
31
|
+
place-self: start center;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&.bottom {
|
|
35
|
+
place-self: end center;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
> header {
|
|
39
|
+
width: 100%;
|
|
40
|
+
display: flex;
|
|
41
|
+
flex-wrap: nowrap;
|
|
42
|
+
flex-direction: row;
|
|
43
|
+
justify-content: space-between;
|
|
44
|
+
align-items: center;
|
|
45
|
+
gap: 1em;
|
|
46
|
+
margin-top: -0.5em;
|
|
47
|
+
|
|
48
|
+
> h2 {
|
|
49
|
+
font-size: 150%;
|
|
50
|
+
flex: 1 1 auto;
|
|
51
|
+
margin: 0;
|
|
52
|
+
|
|
53
|
+
> small {
|
|
54
|
+
font-weight: normal;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
> button {
|
|
59
|
+
flex: 0 0 auto;
|
|
60
|
+
white-space: nowrap;
|
|
61
|
+
font: inherit;
|
|
62
|
+
font-weight: bold;
|
|
63
|
+
color: #7bf;
|
|
64
|
+
background: none;
|
|
65
|
+
border: none;
|
|
66
|
+
display: flex;
|
|
67
|
+
flex-wrap: nowrap;
|
|
68
|
+
flex-direction: row;
|
|
69
|
+
justify-content: flex-start;
|
|
70
|
+
align-items: center;
|
|
71
|
+
gap: 0.5em;
|
|
72
|
+
|
|
73
|
+
&:hover {
|
|
74
|
+
text-decoration: underline;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
hr {
|
|
80
|
+
margin: 2em 0;
|
|
81
|
+
width: 100%;
|
|
82
|
+
height: 1px;
|
|
83
|
+
border: none;
|
|
84
|
+
background: linear-gradient(to right, transparent, currentColor, transparent);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.buttons {
|
|
88
|
+
display: grid;
|
|
89
|
+
grid-template-columns: 1fr 1fr;
|
|
90
|
+
gap: 1em;
|
|
91
|
+
|
|
92
|
+
> button {
|
|
93
|
+
font: inherit;
|
|
94
|
+
border: none;
|
|
95
|
+
font-weight: bolder;
|
|
96
|
+
text-align: center;
|
|
97
|
+
display: grid;
|
|
98
|
+
place-items: center;
|
|
99
|
+
height: 2.5em;
|
|
100
|
+
border-radius: 99vmax;
|
|
101
|
+
background-color: #05a;
|
|
102
|
+
border: 1px solid #fff7;
|
|
103
|
+
color: #fffe;
|
|
104
|
+
padding: 0 1em;
|
|
105
|
+
box-shadow: 0 0.125em 0.25em #000;
|
|
106
|
+
transition: all 0.3s;
|
|
107
|
+
|
|
108
|
+
&:hover,
|
|
109
|
+
&:active {
|
|
110
|
+
filter: brightness(120%);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/hooks.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-simul/components/add-recording-dialog/hooks.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,QAQpD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export function useEscapeHandler(callback) {
|
|
3
|
+
React.useEffect(() => {
|
|
4
|
+
const listener = (evt) => {
|
|
5
|
+
if (evt.key === "Escape")
|
|
6
|
+
callback();
|
|
7
|
+
};
|
|
8
|
+
globalThis.document.addEventListener("keydown", listener);
|
|
9
|
+
return () => globalThis.document.removeEventListener("keydown", listener);
|
|
10
|
+
}, [callback]);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL2NvbXBvbmVudHMvYWRkLXJlY29yZGluZy1kaWFsb2cvaG9va3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxRQUFvQjtJQUNuRCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNuQixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWtCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssUUFBUTtnQkFBRSxRQUFRLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUM7UUFDRixVQUFVLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxRCxPQUFPLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyJ9
|
package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-simul/components/add-recording-dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { default } from "./add-recording-dialog.js";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL2NvbXBvbmVudHMvYWRkLXJlY29yZGluZy1kaWFsb2cvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PainterManager } from "../../painter";
|
|
2
|
+
export interface HintProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
painterManager: PainterManager;
|
|
5
|
+
}
|
|
6
|
+
export declare function HintPanel({ className, painterManager }: HintProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
+
export declare function HintContent({ className, painterManager }: HintProps): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
+
//# sourceMappingURL=hint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hint.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-simul/components/hint/hint.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAKpD,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,SAAS,kDAiBjE;AAED,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,SAAS,kDA0BnE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { classNames, useEventValue } from "./../../../../utils.js";
|
|
3
|
+
import { MorphoViewerTreeItemType } from "../../types/public.js";
|
|
4
|
+
import styles from "./hint.module.css";
|
|
5
|
+
export function HintPanel({ className, painterManager }) {
|
|
6
|
+
const hovered = useEventValue({ x: 0, y: 0, item: null, offset: 0 }, painterManager.eventHover);
|
|
7
|
+
const visible = useEventValue(false, painterManager.eventHintVisible);
|
|
8
|
+
if (!visible || !hovered.item) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
return (_jsx("div", { className: classNames(className, styles.hintPanel), style: hovered.y > 0 ? { bottom: "1em" } : { top: "4em" }, children: _jsx(HintContent, { painterManager: painterManager }) }, "hint"));
|
|
12
|
+
}
|
|
13
|
+
export function HintContent({ className, painterManager }) {
|
|
14
|
+
const hovered = painterManager.hoverItem;
|
|
15
|
+
if (!hovered.item) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const { item, offset } = hovered;
|
|
19
|
+
return (_jsxs("div", { className: classNames(className, styles.hintContent), children: [_jsx("div", { children: "Section list:" }), _jsx("div", { children: resolveSectionList(hovered.item) }), _jsx("div", { children: "Section:" }), _jsx("div", { children: resolveSectionName(hovered.item) }), _jsx("div", { children: "Section index:" }), _jsx("div", { children: item.sectionIndex }), _jsx("div", { children: "Segment index:" }), _jsx("div", { children: item.segmentIndex }), _jsx("div", { children: "Number of segments:" }), _jsx("div", { children: item.segmentsCount }), _jsx("div", { children: "Offset:" }), _jsx("div", { children: offset.toFixed(3) }), _jsx("div", { children: "Distance from soma:" }), _jsxs("div", { children: [(item.distanceFromSoma + offset * item.sectionLength).toFixed(2), " \u00B5m"] })] }));
|
|
20
|
+
}
|
|
21
|
+
function resolveSectionName(item) {
|
|
22
|
+
switch (item.type) {
|
|
23
|
+
case MorphoViewerTreeItemType.Axon:
|
|
24
|
+
return "Axon";
|
|
25
|
+
case MorphoViewerTreeItemType.Soma:
|
|
26
|
+
return "Soma";
|
|
27
|
+
case MorphoViewerTreeItemType.Dendrite:
|
|
28
|
+
return "Dendrite";
|
|
29
|
+
case MorphoViewerTreeItemType.BasalDendrite:
|
|
30
|
+
return "Basal Dendrite";
|
|
31
|
+
case MorphoViewerTreeItemType.ApicalDendrite:
|
|
32
|
+
return "Apical dendrite";
|
|
33
|
+
case MorphoViewerTreeItemType.Myelin:
|
|
34
|
+
return "Myelin";
|
|
35
|
+
default:
|
|
36
|
+
return "Unknown";
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function resolveSectionList(item) {
|
|
40
|
+
switch (item.type) {
|
|
41
|
+
case MorphoViewerTreeItemType.Axon:
|
|
42
|
+
return "Axonal";
|
|
43
|
+
case MorphoViewerTreeItemType.Soma:
|
|
44
|
+
return "Somatic";
|
|
45
|
+
case MorphoViewerTreeItemType.Dendrite:
|
|
46
|
+
return "Basal";
|
|
47
|
+
case MorphoViewerTreeItemType.BasalDendrite:
|
|
48
|
+
return "Basal";
|
|
49
|
+
case MorphoViewerTreeItemType.ApicalDendrite:
|
|
50
|
+
return "Apical";
|
|
51
|
+
case MorphoViewerTreeItemType.Myelin:
|
|
52
|
+
return "Myelinated";
|
|
53
|
+
default:
|
|
54
|
+
return resolveSectionName(item);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc2ltdWwvY29tcG9uZW50cy9oaW50L2hpbnQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVwRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU05RCxPQUFPLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQU92QyxNQUFNLFVBQVUsU0FBUyxDQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBYTtJQUNoRSxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hHLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFdEUsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLENBQ0wsY0FDRSxTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBRWxELEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxZQUV6RCxLQUFDLFdBQVcsSUFBQyxjQUFjLEVBQUUsY0FBYyxHQUFJLElBSDNDLE1BQU0sQ0FJTixDQUNQLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQWE7SUFDbEUsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQztJQUV6QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRWpDLE9BQU8sQ0FDTCxlQUFLLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsYUFDdkQsMENBQXdCLEVBQ3hCLHdCQUFNLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBTyxFQUM3QyxxQ0FBbUIsRUFDbkIsd0JBQU0sa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFPLEVBQzdDLDJDQUF5QixFQUN6Qix3QkFBTSxJQUFJLENBQUMsWUFBWSxHQUFPLEVBQzlCLDJDQUF5QixFQUN6Qix3QkFBTSxJQUFJLENBQUMsWUFBWSxHQUFPLEVBQzlCLGdEQUE4QixFQUM5Qix3QkFBTSxJQUFJLENBQUMsYUFBYSxHQUFPLEVBQy9CLG9DQUFrQixFQUNsQix3QkFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFPLEVBQzlCLGdEQUE4QixFQUM5QiwwQkFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZ0JBQVUsSUFDNUUsQ0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsSUFBbUI7SUFDN0MsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsS0FBSyx3QkFBd0IsQ0FBQyxJQUFJO1lBQ2hDLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLEtBQUssd0JBQXdCLENBQUMsSUFBSTtZQUNoQyxPQUFPLE1BQU0sQ0FBQztRQUNoQixLQUFLLHdCQUF3QixDQUFDLFFBQVE7WUFDcEMsT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyx3QkFBd0IsQ0FBQyxhQUFhO1lBQ3pDLE9BQU8sZ0JBQWdCLENBQUM7UUFDMUIsS0FBSyx3QkFBd0IsQ0FBQyxjQUFjO1lBQzFDLE9BQU8saUJBQWlCLENBQUM7UUFDM0IsS0FBSyx3QkFBd0IsQ0FBQyxNQUFNO1lBQ2xDLE9BQU8sUUFBUSxDQUFDO1FBQ2xCO1lBQ0UsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLElBQW1CO0lBQzdDLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLEtBQUssd0JBQXdCLENBQUMsSUFBSTtZQUNoQyxPQUFPLFFBQVEsQ0FBQztRQUNsQixLQUFLLHdCQUF3QixDQUFDLElBQUk7WUFDaEMsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyx3QkFBd0IsQ0FBQyxRQUFRO1lBQ3BDLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLEtBQUssd0JBQXdCLENBQUMsYUFBYTtZQUN6QyxPQUFPLE9BQU8sQ0FBQztRQUNqQixLQUFLLHdCQUF3QixDQUFDLGNBQWM7WUFDMUMsT0FBTyxRQUFRLENBQUM7UUFDbEIsS0FBSyx3QkFBd0IsQ0FBQyxNQUFNO1lBQ2xDLE9BQU8sWUFBWSxDQUFDO1FBQ3RCO1lBQ0UsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0FBQ0gsQ0FBQyJ9
|