@openbraininstitute/morphoviewer 0.0.1 → 0.24.16
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 +35 -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 +49 -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 +347 -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 +4 -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 +42 -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 +19 -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 +105 -0
- package/lib/dist/components/morpho-viewer-small-circuit/types.d.ts +23 -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 +83 -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 +40 -15
- package/package.json~ +0 -16
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import styles from "./speed-combo.module.css";
|
|
4
|
+
import { classNames } from "./../../../../../utils.js";
|
|
5
|
+
const SPEEDS = [1.0, 0.5, 0.25, 0.1, 0.05, 0.01];
|
|
6
|
+
export function SpeedCombo({ spikingManager }) {
|
|
7
|
+
const [speed, setSpeed] = React.useState(spikingManager.speed);
|
|
8
|
+
const [dialogOpen, setDialogOpen] = React.useState(false);
|
|
9
|
+
const handleOpenDialog = () => {
|
|
10
|
+
setDialogOpen(true);
|
|
11
|
+
};
|
|
12
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: styles.speedCombo, children: _jsx("button", { type: "button", className: styles.speedComboButton, onClick: handleOpenDialog, children: speedToText(speed) }) }), _jsx("div", { className: classNames(styles.dialog, dialogOpen && styles.open), onClick: () => setDialogOpen(false), children: _jsxs("div", { className: styles.column, children: [_jsx("div", { children: "Playback speed:" }), _jsx("div", { className: styles.row, children: SPEEDS.map((speed) => (_jsx("button", { className: styles.speedComboButton, onClick: () => {
|
|
13
|
+
setSpeed(speed);
|
|
14
|
+
spikingManager.speed = speed;
|
|
15
|
+
}, children: speedToText(speed) }, speed))) })] }) })] }));
|
|
16
|
+
}
|
|
17
|
+
function speedToText(speed) {
|
|
18
|
+
return _jsxs("span", { children: [speed.toFixed(2), "\u00D7"] });
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWQtY29tYm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL2NvbXBvbmVudHMvc3Bpa2luZy1jb250cm9sbGVyL3NwZWVkLWNvbWJvL3NwZWVkLWNvbWJvLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE9BQU8sTUFBTSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFNckMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBRWpELE1BQU0sVUFBVSxVQUFVLENBQUMsRUFBRSxjQUFjLEVBQW1CO0lBQzVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0QsTUFBTSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxFQUFFO1FBQzVCLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QixDQUFDLENBQUM7SUFFRixPQUFPLENBQ0wsOEJBQ0UsY0FBSyxTQUFTLEVBQUUsTUFBTSxDQUFDLFVBQVUsWUFDL0IsaUJBQVEsSUFBSSxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsWUFDaEYsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUNaLEdBQ0wsRUFDTixjQUNFLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUMvRCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxZQUVuQyxlQUFLLFNBQVMsRUFBRSxNQUFNLENBQUMsTUFBTSxhQUMzQiw0Q0FBMEIsRUFDMUIsY0FBSyxTQUFTLEVBQUUsTUFBTSxDQUFDLEdBQUcsWUFDdkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FDckIsaUJBQ0UsU0FBUyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFFbEMsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQ0FDWixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7b0NBQ2hCLGNBQWMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dDQUMvQixDQUFDLFlBRUEsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQU5kLEtBQUssQ0FPSCxDQUNWLENBQUMsR0FDRSxJQUNGLEdBQ0YsSUFDTCxDQUNKLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsS0FBYTtJQUNoQyxPQUFPLDJCQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQVMsQ0FBQztBQUMxQyxDQUFDIn0=
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SpikingManager } from "../../painter/spiking-manager";
|
|
2
|
+
export interface SpikingControllerProps {
|
|
3
|
+
spikingManager: SpikingManager;
|
|
4
|
+
}
|
|
5
|
+
export default function SpikingController({ spikingManager }: SpikingControllerProps): import("react/jsx-runtime").JSX.Element | undefined;
|
|
6
|
+
//# sourceMappingURL=spiking-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spiking-controller.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-simul/components/spiking-controller/spiking-controller.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAM/D,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,cAAc,EAAE,EAAE,sBAAsB,uDAanF"}
|
package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/spiking-controller.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEventValue } from "./../../../../utils.js";
|
|
3
|
+
import PlayButton from "./play-button/index.js";
|
|
4
|
+
import SimulCombo from "./simul-combo/index.js";
|
|
5
|
+
import { SpeedCombo } from "./speed-combo/index.js";
|
|
6
|
+
import { CurrentTime } from "./current-time/index.js";
|
|
7
|
+
export default function SpikingController({ spikingManager }) {
|
|
8
|
+
const spikes = useEventValue(spikingManager.spikes, spikingManager.eventSpikesChange);
|
|
9
|
+
if (spikes.length === 0)
|
|
10
|
+
return;
|
|
11
|
+
return (_jsxs(_Fragment, { children: [_jsx(PlayButton, { spikingManager: spikingManager }), _jsx(SpeedCombo, { spikingManager: spikingManager }), _jsx(CurrentTime, { spikingManager: spikingManager }), _jsx(SimulCombo, { spikingManager: spikingManager, spikes: spikes })] }));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpa2luZy1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zaW11bC9jb21wb25lbnRzL3NwaWtpbmctY29udHJvbGxlci9zcGlraW5nLWNvbnRyb2xsZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXhDLE9BQU8sVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNN0MsTUFBTSxDQUFDLE9BQU8sVUFBVSxpQkFBaUIsQ0FBQyxFQUFFLGNBQWMsRUFBMEI7SUFDbEYsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFdEYsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPO0lBRWhDLE9BQU8sQ0FDTCw4QkFDRSxLQUFDLFVBQVUsSUFBQyxjQUFjLEVBQUUsY0FBYyxHQUFJLEVBQzlDLEtBQUMsVUFBVSxJQUFDLGNBQWMsRUFBRSxjQUFjLEdBQUksRUFDOUMsS0FBQyxXQUFXLElBQUMsY0FBYyxFQUFFLGNBQWMsR0FBSSxFQUMvQyxLQUFDLFVBQVUsSUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUksSUFDN0QsQ0FDSixDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-simul/components/zoom-slider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { default } from "./zoom-slider.js";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL2NvbXBvbmVudHMvem9vbS1zbGlkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQyJ9
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PainterManager } from "../../painter";
|
|
2
|
+
export interface ZoomSliderProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
painterManager: PainterManager;
|
|
5
|
+
}
|
|
6
|
+
export default function ZoomSlider({ className, painterManager }: ZoomSliderProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=zoom-slider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom-slider.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAQ/C,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,eAAe,2CAwBhF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { classNames, useEventValue } from "./../../../../utils.js";
|
|
3
|
+
import styles from "./zoom-slider.module.css";
|
|
4
|
+
import { IconZoomOut } from "./../../../icons/zoom-out.js";
|
|
5
|
+
import { IconZoomIn } from "./../../../icons/zoom-in.js";
|
|
6
|
+
export default function ZoomSlider({ className, painterManager }) {
|
|
7
|
+
const zoom = useEventValue(1, painterManager.eventZoom);
|
|
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) => {
|
|
9
|
+
const input = evt.target;
|
|
10
|
+
painterManager.zoom = parseFloat(input.value);
|
|
11
|
+
}, min: -1, max: 1, step: 0.01 }), _jsx("button", { type: "button", onClick: painterManager.zoomIn, children: _jsx(IconZoomIn, {}) })] }));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1zbGlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL2NvbXBvbmVudHMvem9vbS1zbGlkZXIvem9vbS1zbGlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFLQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVwRCxPQUFPLE1BQU0sTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBT3hELE1BQU0sQ0FBQyxPQUFPLFVBQVUsVUFBVSxDQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBbUI7SUFDL0UsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEQsT0FBTyxDQUNMLGVBQUssU0FBUyxFQUFFLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxhQUN0RCxpQkFBUSxJQUFJLEVBQUMsUUFBUSxFQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTyxZQUNuRCxLQUFDLFdBQVcsS0FBRyxHQUNSLEVBQ1QsZ0JBQ0UsSUFBSSxFQUFDLE9BQU8sRUFDWixLQUFLLEVBQUUsSUFBSSxFQUNYLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNmLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUEwQixDQUFDO29CQUM3QyxjQUFjLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hELENBQUMsRUFDRCxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxFQUFFLENBQUMsRUFDTixJQUFJLEVBQUUsSUFBSSxHQUNWLEVBQ0YsaUJBQVEsSUFBSSxFQUFDLFFBQVEsRUFBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLE1BQU0sWUFDbEQsS0FBQyxVQUFVLEtBQUcsR0FDUCxJQUNMLENBQ1AsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ArrayNumber4 } from "@tolokoban/tgd";
|
|
2
|
+
export declare const SPIKING_TIME_RADIUS = 0.075;
|
|
3
|
+
export declare const SPIKING_BLUR_SIZE = 4;
|
|
4
|
+
export declare const SPIKING_RADIUS_MULTIPLIER = 1;
|
|
5
|
+
export declare const SPIKING_COLOR: ArrayNumber4;
|
|
6
|
+
export declare const SPIKING_COLOR_MIX = 1;
|
|
7
|
+
export declare const TIMELINE_MARGIN: ArrayNumber4;
|
|
8
|
+
export declare const TIMELINE_HEIGHT = 32;
|
|
9
|
+
//# sourceMappingURL=contants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contants.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-simul/contants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAY,MAAM,gBAAgB,CAAC;AAMxD,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,eAAO,MAAM,aAAa,cAAmE,CAAC;AAE9F,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,eAAe,EAAE,YAA4B,CAAC;AAE3D,eAAO,MAAM,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TgdColor } from "@tolokoban/tgd";
|
|
2
|
+
export const SPIKING_TIME_RADIUS = 0.075;
|
|
3
|
+
export const SPIKING_BLUR_SIZE = 4;
|
|
4
|
+
export const SPIKING_RADIUS_MULTIPLIER = 1;
|
|
5
|
+
export const SPIKING_COLOR = TgdColor.fromString("#d75f5f").luminanceSet(0.4).toArayNumber4();
|
|
6
|
+
export const SPIKING_COLOR_MIX = 1;
|
|
7
|
+
export const TIMELINE_MARGIN = [0, 8, 8, 48];
|
|
8
|
+
export const TIMELINE_HEIGHT = 32;
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL2NvbnRhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNeEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUVuQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBRTlGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUVuQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWlCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFM0QsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQyJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MorphoViewerSimulContentProps } from "./types/private";
|
|
2
|
+
import type { MorphoViewerElectrodeRecording } from "./types/public";
|
|
3
|
+
export declare function useRecordingsAndInjection(props: MorphoViewerSimulContentProps): {
|
|
4
|
+
recordings: MorphoViewerElectrodeRecording[];
|
|
5
|
+
injection: import(".").MorphoViewerElectrodeInjection | undefined;
|
|
6
|
+
addRecording: (sectionName: string, offset: number) => void;
|
|
7
|
+
moveInjection: (sectionName: string) => void;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-simul/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAErE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,6BAA6B;;;gCACzC,MAAM,UAAU,MAAM;iCAwB1B,MAAM;EAOtC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { getColorFromGeneratedPalette } from "./colors.js";
|
|
2
|
+
export function useRecordingsAndInjection(props) {
|
|
3
|
+
var _a;
|
|
4
|
+
const addRecording = (sectionName, offset) => {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
const recordings = (_a = props.recordings) !== null && _a !== void 0 ? _a : [];
|
|
7
|
+
const existingColors = new Set(recordings.map((rec) => { var _a; return ((_a = rec.color) !== null && _a !== void 0 ? _a : "").toUpperCase(); }));
|
|
8
|
+
let color = "#000";
|
|
9
|
+
let index = 0;
|
|
10
|
+
for (;;) {
|
|
11
|
+
color = getColorFromGeneratedPalette(index++).toUpperCase();
|
|
12
|
+
if (!existingColors.has(color))
|
|
13
|
+
break;
|
|
14
|
+
}
|
|
15
|
+
const recording = {
|
|
16
|
+
offset,
|
|
17
|
+
origin: "recording",
|
|
18
|
+
color,
|
|
19
|
+
record_currents: false,
|
|
20
|
+
section: sectionName,
|
|
21
|
+
};
|
|
22
|
+
(_b = props.onRecordingsChange) === null || _b === void 0 ? void 0 : _b.call(props, [...recordings, recording]);
|
|
23
|
+
};
|
|
24
|
+
return {
|
|
25
|
+
recordings: (_a = props.recordings) !== null && _a !== void 0 ? _a : [],
|
|
26
|
+
injection: props.injection,
|
|
27
|
+
addRecording,
|
|
28
|
+
moveInjection: (sectionName) => {
|
|
29
|
+
var _a;
|
|
30
|
+
(_a = props.onInjectionChange) === null || _a === void 0 ? void 0 : _a.call(props, Object.assign(Object.assign({}, props.injection), { inject_to: sectionName }));
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL2hvb2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUt4RCxNQUFNLFVBQVUseUJBQXlCLENBQUMsS0FBb0M7O0lBQzVFLE1BQU0sWUFBWSxHQUFHLENBQUMsV0FBbUIsRUFBRSxNQUFjLEVBQUUsRUFBRTs7UUFDM0QsTUFBTSxVQUFVLEdBQUcsTUFBQSxLQUFLLENBQUMsVUFBVSxtQ0FBSSxFQUFFLENBQUM7UUFDMUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLENBQzVCLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxXQUFDLE9BQUEsQ0FBQyxNQUFBLEdBQUcsQ0FBQyxLQUFLLG1DQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBLEVBQUEsQ0FBQyxDQUN6RCxDQUFDO1FBQ0YsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ25CLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLFNBQVMsQ0FBQztZQUNSLEtBQUssR0FBRyw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFBRSxNQUFNO1FBQ3hDLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBbUM7WUFDaEQsTUFBTTtZQUNOLE1BQU0sRUFBRSxXQUFXO1lBQ25CLEtBQUs7WUFDTCxlQUFlLEVBQUUsS0FBSztZQUN0QixPQUFPLEVBQUUsV0FBVztTQUNyQixDQUFDO1FBQ0YsTUFBQSxLQUFLLENBQUMsa0JBQWtCLHNEQUFHLENBQUMsR0FBRyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDLENBQUM7SUFDRixPQUFPO1FBQ0wsVUFBVSxFQUFFLE1BQUEsS0FBSyxDQUFDLFVBQVUsbUNBQUksRUFBRTtRQUNsQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsWUFBWTtRQUNaLGFBQWEsRUFBRSxDQUFDLFdBQW1CLEVBQUUsRUFBRTs7WUFDckMsTUFBQSxLQUFLLENBQUMsaUJBQWlCLHNGQUNsQixLQUFLLENBQUMsU0FBUyxLQUNsQixTQUFTLEVBQUUsV0FBVyxJQUN0QixDQUFDO1FBQ0wsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-simul/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { MorphoViewerSimul } from "./morpho-viewer-simul.js";
|
|
2
|
+
export * from "./types/public.js";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELGNBQWMsZ0JBQWdCLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"morpho-viewer-simul.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-simul/morpho-viewer-simul.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAI7D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAmD9D"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { tgdFullscreenToggle } from "@tolokoban/tgd";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { useDebugMode } from "./../../utils.js";
|
|
5
|
+
import { ButtonCameraReset } from "../button-reset-camera/index.js";
|
|
6
|
+
import { IconClose } from "../icons/close.js";
|
|
7
|
+
import { IconCopy } from "../icons/copy.js";
|
|
8
|
+
import { IconFullscreen } from "../icons/fullscreen.js";
|
|
9
|
+
import AddRecordingDialog from "./components/add-recording-dialog/index.js";
|
|
10
|
+
import { HintPanel } from "./components/hint/index.js";
|
|
11
|
+
import LegendOverlay from "./components/legend-overlay/index.js";
|
|
12
|
+
import ModeSelector from "./components/ModeSelector/index.js";
|
|
13
|
+
import ZoomSlider from "./components/zoom-slider/index.js";
|
|
14
|
+
import styles from "./morpho-viewer-simul.module.css";
|
|
15
|
+
import { useWebglNeuronSelector as useMorphoViewerSimul, usePainterController, } from "./painter/index.js";
|
|
16
|
+
import SpikingController from "./components/spiking-controller/index.js";
|
|
17
|
+
import { IconMinimize } from "../icons/minimize.js";
|
|
18
|
+
export function MorphoViewerSimul(props) {
|
|
19
|
+
const painterManager = useMorphoViewerSimul(props);
|
|
20
|
+
const spikingManager = painterManager.useSpikingManager();
|
|
21
|
+
const extraProps = Object.assign(Object.assign({}, props), { painterManager });
|
|
22
|
+
usePainterController(extraProps);
|
|
23
|
+
const ref = React.useRef(null);
|
|
24
|
+
const handleFullscreen = () => {
|
|
25
|
+
void tgdFullscreenToggle(ref.current);
|
|
26
|
+
};
|
|
27
|
+
const debugMode = useDebugMode();
|
|
28
|
+
const handleCopyMorphologyToClipboard = () => {
|
|
29
|
+
console.debug("props:", props);
|
|
30
|
+
navigator.clipboard.writeText(JSON.stringify(props.morphology));
|
|
31
|
+
};
|
|
32
|
+
return (_jsxs("div", { className: styles.main, ref: ref, children: [_jsx(Canvas, { painterManager: painterManager }), _jsx(HintPanel, { painterManager: painterManager }), _jsxs("header", { children: [_jsx(ModeSelector, { painterManager: painterManager }), _jsx(ZoomSlider, { className: styles.zoomSlider, painterManager: painterManager }), _jsx(ButtonCameraReset, { painterManager: painterManager }), _jsxs("div", { className: styles.flex, children: [_jsx("button", { type: "button", onClick: handleFullscreen, children: _jsx(IconFullscreen, {}) }), props.onMinimize && (_jsx("button", { type: "button", onClick: props.onMinimize, children: _jsx(IconMinimize, {}) })), props.onClose && (_jsx("button", { type: "button", onClick: props.onClose, children: _jsx(IconClose, {}) }))] })] }), debugMode && (_jsx("footer", { children: _jsx("button", { type: "button", onClick: handleCopyMorphologyToClipboard, children: _jsx(IconCopy, {}) }) })), spikingManager && _jsx(SpikingController, { spikingManager: spikingManager }), _jsx(LegendOverlay, Object.assign({}, extraProps)), _jsx(AddRecordingDialog, Object.assign({}, extraProps))] }));
|
|
33
|
+
}
|
|
34
|
+
const Canvas = React.memo(({ painterManager }) => {
|
|
35
|
+
return (_jsx("canvas", { ref: (canvas) => {
|
|
36
|
+
painterManager.canvas = canvas;
|
|
37
|
+
return () => {
|
|
38
|
+
painterManager.canvas = null;
|
|
39
|
+
};
|
|
40
|
+
} }, "canvas"));
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ycGhvLXZpZXdlci1zaW11bC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc2ltdWwvbW9ycGhvLXZpZXdlci1zaW11bC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLGtCQUFrQixNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLGFBQWEsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RCxPQUFPLFlBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLFVBQVUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLE1BQU0sTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RCxPQUFPLEVBRUwsc0JBQXNCLElBQUksb0JBQW9CLEVBQzlDLG9CQUFvQixHQUNyQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLGlCQUFpQixNQUFNLGlDQUFpQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdqRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBNkI7SUFDN0QsTUFBTSxjQUFjLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDMUQsTUFBTSxVQUFVLG1DQUFRLEtBQUssS0FBRSxjQUFjLEdBQUUsQ0FBQztJQUNoRCxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUF3QixJQUFJLENBQUMsQ0FBQztJQUN0RCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsRUFBRTtRQUM1QixLQUFLLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxZQUFZLEVBQUUsQ0FBQztJQUNqQyxNQUFNLCtCQUErQixHQUFHLEdBQUcsRUFBRTtRQUMzQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQixTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQztJQUVGLE9BQU8sQ0FDTCxlQUFLLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLGFBQ25DLEtBQUMsTUFBTSxJQUFDLGNBQWMsRUFBRSxjQUFjLEdBQUksRUFDMUMsS0FBQyxTQUFTLElBQUMsY0FBYyxFQUFFLGNBQWMsR0FBSSxFQUM3Qyw2QkFDRSxLQUFDLFlBQVksSUFBQyxjQUFjLEVBQUUsY0FBYyxHQUFJLEVBQ2hELEtBQUMsVUFBVSxJQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsVUFBVSxFQUFFLGNBQWMsRUFBRSxjQUFjLEdBQUksRUFDNUUsS0FBQyxpQkFBaUIsSUFBQyxjQUFjLEVBQUUsY0FBYyxHQUFJLEVBQ3JELGVBQUssU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLGFBQ3pCLGlCQUFRLElBQUksRUFBQyxRQUFRLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixZQUM3QyxLQUFDLGNBQWMsS0FBRyxHQUNYLEVBQ1IsS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUNuQixpQkFBUSxJQUFJLEVBQUMsUUFBUSxFQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsVUFBVSxZQUM3QyxLQUFDLFlBQVksS0FBRyxHQUNULENBQ1YsRUFDQSxLQUFLLENBQUMsT0FBTyxJQUFJLENBQ2hCLGlCQUFRLElBQUksRUFBQyxRQUFRLEVBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLFlBQzFDLEtBQUMsU0FBUyxLQUFHLEdBQ04sQ0FDVixJQUNHLElBQ0MsRUFDUixTQUFTLElBQUksQ0FDWiwyQkFDRSxpQkFBUSxJQUFJLEVBQUMsUUFBUSxFQUFDLE9BQU8sRUFBRSwrQkFBK0IsWUFDNUQsS0FBQyxRQUFRLEtBQUcsR0FDTCxHQUNGLENBQ1YsRUFDQSxjQUFjLElBQUksS0FBQyxpQkFBaUIsSUFBQyxjQUFjLEVBQUUsY0FBYyxHQUFJLEVBQ3hFLEtBQUMsYUFBYSxvQkFBSyxVQUFVLEVBQUksRUFDakMsS0FBQyxrQkFBa0Isb0JBQUssVUFBVSxFQUFJLElBQ2xDLENBQ1AsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQXNDLEVBQUUsRUFBRTtJQUNuRixPQUFPLENBQ0wsaUJBRUUsR0FBRyxFQUFFLENBQUMsTUFBZ0MsRUFBRSxFQUFFO1lBQ3hDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQy9CLE9BQU8sR0FBRyxFQUFFO2dCQUNWLGNBQWMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQy9CLENBQUMsQ0FBQztRQUNKLENBQUMsSUFORyxRQUFRLENBT1osQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ArrayNumber3, type TgdCamera } from "@tolokoban/tgd";
|
|
2
|
+
interface BoundingBox {
|
|
3
|
+
min: ArrayNumber3;
|
|
4
|
+
max: ArrayNumber3;
|
|
5
|
+
center: ArrayNumber3;
|
|
6
|
+
}
|
|
7
|
+
export declare function makeCamera({ bboxDendrites, zoomMin, zoomMax, center, }: {
|
|
8
|
+
bboxDendrites: BoundingBox;
|
|
9
|
+
zoomMin: number;
|
|
10
|
+
zoomMax: number;
|
|
11
|
+
center: Readonly<ArrayNumber3>;
|
|
12
|
+
}): {
|
|
13
|
+
camera: TgdCamera;
|
|
14
|
+
zoomMin: number;
|
|
15
|
+
zoomMax: number;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=camera.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-simul/painter/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAiC,MAAM,gBAAgB,CAAC;AAElG,UAAU,WAAW;IACnB,GAAG,EAAE,YAAY,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,wBAAgB,UAAU,CAAC,EACzB,aAAa,EACb,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE;IACD,aAAa,EAAE,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CAChC,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAc1D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TgdCameraPerspective, TgdVec3 } from "@tolokoban/tgd";
|
|
2
|
+
export function makeCamera({ bboxDendrites, zoomMin, zoomMax, center, }) {
|
|
3
|
+
const sizeX = bboxDendrites.max[0] - bboxDendrites.min[0];
|
|
4
|
+
const sizeY = bboxDendrites.max[1] - bboxDendrites.min[1];
|
|
5
|
+
const sizeZ = bboxDendrites.max[2] - bboxDendrites.min[2];
|
|
6
|
+
const size = Math.max(sizeX, sizeY, sizeZ);
|
|
7
|
+
const camera = new TgdCameraPerspective({
|
|
8
|
+
transfo: {
|
|
9
|
+
distance: size,
|
|
10
|
+
position: new TgdVec3(center),
|
|
11
|
+
},
|
|
12
|
+
near: 1,
|
|
13
|
+
far: 3 * size,
|
|
14
|
+
});
|
|
15
|
+
return { camera, zoomMin, zoomMax };
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zaW11bC9wYWludGVyL2NhbWVyYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFDLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUWxHLE1BQU0sVUFBVSxVQUFVLENBQUMsRUFDekIsYUFBYSxFQUNiLE9BQU8sRUFDUCxPQUFPLEVBQ1AsTUFBTSxHQU1QO0lBQ0MsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLENBQUM7UUFDdEMsT0FBTyxFQUFFO1lBQ1AsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQzlCO1FBQ0QsSUFBSSxFQUFFLENBQUM7UUFDUCxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUk7S0FDZCxDQUFDLENBQUM7SUFDSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUN0QyxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-simul/painter/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./manager.js";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL3BhaW50ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUMifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MorphologyData } from "./morphology-data";
|
|
2
|
+
import type { MorphoViewerTree } from "../types/public";
|
|
3
|
+
export declare abstract class Initializer {
|
|
4
|
+
private _canvas;
|
|
5
|
+
get canvas(): HTMLCanvasElement | null;
|
|
6
|
+
set canvas(value: HTMLCanvasElement | null);
|
|
7
|
+
private _morphology;
|
|
8
|
+
get morphology(): MorphoViewerTree | null;
|
|
9
|
+
set morphology(value: MorphoViewerTree | null);
|
|
10
|
+
private initializeWhenReady;
|
|
11
|
+
protected abstract initialize(canvas: HTMLCanvasElement, data: MorphologyData): void;
|
|
12
|
+
abstract delete(): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=initializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initializer.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-simul/painter/initializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAOxD,8BAAsB,WAAW;IAE/B,OAAO,CAAC,OAAO,CAAkC;IAEjD,IAAI,MAAM,IAGQ,iBAAiB,GAAG,IAAI,CADzC;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAMzC;IAID,OAAO,CAAC,WAAW,CAAiC;IAEpD,IAAI,UAAU,IAGQ,gBAAgB,GAAG,IAAI,CAD5C;IACD,IAAI,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAK5C;IAGD,OAAO,CAAC,mBAAmB;IAO3B,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAEpF,QAAQ,CAAC,MAAM,IAAI,IAAI;CACxB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { MorphologyData } from "./morphology-data.js";
|
|
2
|
+
export class Initializer {
|
|
3
|
+
constructor() {
|
|
4
|
+
this._canvas = null;
|
|
5
|
+
this._morphology = null;
|
|
6
|
+
}
|
|
7
|
+
get canvas() {
|
|
8
|
+
return this._canvas;
|
|
9
|
+
}
|
|
10
|
+
set canvas(value) {
|
|
11
|
+
if (this._canvas === value)
|
|
12
|
+
return;
|
|
13
|
+
this._canvas = value;
|
|
14
|
+
if (!value)
|
|
15
|
+
this.delete();
|
|
16
|
+
else
|
|
17
|
+
this.initializeWhenReady();
|
|
18
|
+
}
|
|
19
|
+
get morphology() {
|
|
20
|
+
return this._morphology;
|
|
21
|
+
}
|
|
22
|
+
set morphology(value) {
|
|
23
|
+
if (this._morphology === value)
|
|
24
|
+
return;
|
|
25
|
+
this._morphology = value;
|
|
26
|
+
this.initializeWhenReady();
|
|
27
|
+
}
|
|
28
|
+
initializeWhenReady() {
|
|
29
|
+
const { canvas, morphology } = this;
|
|
30
|
+
if (canvas && morphology) {
|
|
31
|
+
this.initialize(canvas, new MorphologyData(morphology));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL3BhaW50ZXIvaW5pdGlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBU25ELE1BQU0sT0FBZ0IsV0FBVztJQUFqQztRQUVVLFlBQU8sR0FBNkIsSUFBSSxDQUFDO1FBZXpDLGdCQUFXLEdBQTRCLElBQUksQ0FBQztJQXVCdEQsQ0FBQztJQXBDQyxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLEtBQStCO1FBQ3hDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLO1lBQUUsT0FBTztRQUVuQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzs7WUFDckIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQU1ELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBOEI7UUFDM0MsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEtBQUs7WUFBRSxPQUFPO1FBRXZDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFHTyxtQkFBbUI7UUFDekIsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDcEMsSUFBSSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0gsQ0FBQztDQUtGIn0=
|