@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,378 @@
|
|
|
1
|
+
import { TgdBoundingBox, TgdCameraPerspective, TgdColor, TgdContext, TgdEvent, TgdFilterBlur, TgdPainterClear, TgdPainterFilter, TgdPainterFramebufferWithAntiAliasing, TgdPainterGroup, TgdPainterMix, TgdPainterState, TgdTexture2D, webglPresetBlend, webglPresetDepth, } from "@tolokoban/tgd";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { CacheLRU } from "./../../../tools/cache-lru.js";
|
|
4
|
+
import { CameraManager } from "./camera.js";
|
|
5
|
+
import { OffscreenPainter } from "./offscreen-painter/index.js";
|
|
6
|
+
import { PainterCell } from "./painter-cell/index.js";
|
|
7
|
+
export class PainterManager {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.eventRestingPosition = new TgdEvent();
|
|
10
|
+
this.eventCellHover = new TgdEvent();
|
|
11
|
+
this.eventCellClick = new TgdEvent();
|
|
12
|
+
this.viewportMatchingScale = 0.2;
|
|
13
|
+
this._canvas = null;
|
|
14
|
+
this._background = "#000";
|
|
15
|
+
this.backgroundColor = new TgdColor(0, 0, 0, 1);
|
|
16
|
+
this.context = null;
|
|
17
|
+
this.cameraManager = null;
|
|
18
|
+
this.painterClear = null;
|
|
19
|
+
this.offscreen = null;
|
|
20
|
+
this._highlightedCellIds = [];
|
|
21
|
+
this.hoveredCellId = "";
|
|
22
|
+
this.groupCells = new TgdPainterGroup({ name: "GroupCell" });
|
|
23
|
+
this.circuit = [];
|
|
24
|
+
this.cellsForHighights = new Map();
|
|
25
|
+
this.groupHighlithedCells = new TgdPainterGroup({
|
|
26
|
+
name: "groupHighlisthedCells",
|
|
27
|
+
});
|
|
28
|
+
this.loadCell = null;
|
|
29
|
+
this.cellCountTotal = 0;
|
|
30
|
+
this.cellCountLoaded = 0;
|
|
31
|
+
this.framebufferCircuit = null;
|
|
32
|
+
this.textureFramebufferCircuit = null;
|
|
33
|
+
this.framebufferHighlightedCells = null;
|
|
34
|
+
this.textureFramebufferHighlightedCells = null;
|
|
35
|
+
this.framebufferBlur = null;
|
|
36
|
+
this.textureFramebufferBlur = null;
|
|
37
|
+
this.loadedCells = new CacheLRU(24);
|
|
38
|
+
this.circuitSignature = "";
|
|
39
|
+
this.bbox = new TgdBoundingBox();
|
|
40
|
+
this.cameraReset = () => { var _a; return (_a = this.cameraManager) === null || _a === void 0 ? void 0 : _a.resetCamera(); };
|
|
41
|
+
this.handlePointerHover = (evt) => {
|
|
42
|
+
const { offscreen } = this;
|
|
43
|
+
if (!offscreen)
|
|
44
|
+
return;
|
|
45
|
+
const cell = offscreen.getItemAt(evt.current.x, evt.current.y);
|
|
46
|
+
if ((cell === null || cell === void 0 ? void 0 : cell.id) === this.hoveredCellId)
|
|
47
|
+
return;
|
|
48
|
+
this.hoveredCellId = cell === null || cell === void 0 ? void 0 : cell.id;
|
|
49
|
+
this.eventCellHover.dispatch(cell);
|
|
50
|
+
};
|
|
51
|
+
this.handlePointerTap = (evt) => {
|
|
52
|
+
const { offscreen } = this;
|
|
53
|
+
if (!offscreen)
|
|
54
|
+
return;
|
|
55
|
+
const cell = offscreen.getItemAt(evt.x, evt.y);
|
|
56
|
+
if (cell)
|
|
57
|
+
this.eventCellClick.dispatch(cell);
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
setCircuit(circuit, loadCell) {
|
|
61
|
+
if (this.circuit === circuit)
|
|
62
|
+
return;
|
|
63
|
+
const signature = circuit.map((item) => item.id).join("\n");
|
|
64
|
+
if (this.circuitSignature !== signature) {
|
|
65
|
+
this.circuitSignature = signature;
|
|
66
|
+
this.loadedCells.clear();
|
|
67
|
+
}
|
|
68
|
+
this.circuit = circuit;
|
|
69
|
+
this.loadCell = (id) => {
|
|
70
|
+
const cached = this.loadedCells.get(id);
|
|
71
|
+
if (cached)
|
|
72
|
+
return cached;
|
|
73
|
+
const promise = loadCell(id);
|
|
74
|
+
this.loadedCells.set(id, promise);
|
|
75
|
+
return promise;
|
|
76
|
+
};
|
|
77
|
+
this.updateCircuit();
|
|
78
|
+
}
|
|
79
|
+
updateCircuit() {
|
|
80
|
+
var _a;
|
|
81
|
+
const { context } = this;
|
|
82
|
+
if (!context)
|
|
83
|
+
return;
|
|
84
|
+
const { loadCell, loadedCells } = this;
|
|
85
|
+
if (!loadCell)
|
|
86
|
+
return;
|
|
87
|
+
(_a = this.onLoadProgress) === null || _a === void 0 ? void 0 : _a.call(this, 0);
|
|
88
|
+
this.cellCountTotal = this.circuit.length;
|
|
89
|
+
this.cellCountLoaded = 0;
|
|
90
|
+
const camera = new TgdCameraPerspective({
|
|
91
|
+
zoom: 1,
|
|
92
|
+
});
|
|
93
|
+
this.offscreen = new OffscreenPainter(context, {
|
|
94
|
+
circuit: this.circuit,
|
|
95
|
+
loadCell,
|
|
96
|
+
loadedCells,
|
|
97
|
+
});
|
|
98
|
+
const { cellsForHighights: highlightingCells } = this;
|
|
99
|
+
highlightingCells.clear();
|
|
100
|
+
this.groupHighlithedCells.removeAll(false);
|
|
101
|
+
this.bbox = new TgdBoundingBox();
|
|
102
|
+
for (const cell of this.circuit) {
|
|
103
|
+
const [x, y, z] = cell.center;
|
|
104
|
+
const r = cell.somaRadius;
|
|
105
|
+
this.bbox.addSphere(x, y, z, r * 5);
|
|
106
|
+
const painterCell = new PainterCell(context, {
|
|
107
|
+
cell,
|
|
108
|
+
loadCell,
|
|
109
|
+
matrerial: "full",
|
|
110
|
+
onCellLoaded: (bbox) => {
|
|
111
|
+
var _a;
|
|
112
|
+
if (bbox) {
|
|
113
|
+
this.bbox.addBBox(bbox);
|
|
114
|
+
this.adaptCameraFromBBox();
|
|
115
|
+
}
|
|
116
|
+
this.cellCountLoaded++;
|
|
117
|
+
(_a = this.onLoadProgress) === null || _a === void 0 ? void 0 : _a.call(this, this.cellCountLoaded / this.cellCountTotal);
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
this.groupCells.add(painterCell);
|
|
121
|
+
const highlightedCell = new PainterCell(context, {
|
|
122
|
+
cell,
|
|
123
|
+
loadCell,
|
|
124
|
+
matrerial: "flat",
|
|
125
|
+
});
|
|
126
|
+
highlightingCells.set(cell.id, highlightedCell);
|
|
127
|
+
}
|
|
128
|
+
this.updateHightedCells();
|
|
129
|
+
context.camera = camera;
|
|
130
|
+
this.adaptCameraFromBBox();
|
|
131
|
+
context.paint();
|
|
132
|
+
}
|
|
133
|
+
adaptCameraFromBBox() {
|
|
134
|
+
const { context } = this;
|
|
135
|
+
if (!context)
|
|
136
|
+
return;
|
|
137
|
+
const { bbox } = this;
|
|
138
|
+
const { camera } = context;
|
|
139
|
+
const bboxW = Math.abs(bbox.max[0] - bbox.min[0]);
|
|
140
|
+
const bboxH = Math.abs(bbox.max[1] - bbox.min[1]);
|
|
141
|
+
camera.transfo.position = bbox.center;
|
|
142
|
+
const scale = 2;
|
|
143
|
+
camera.fitSpaceAtTarget(bboxW * scale, bboxH * scale);
|
|
144
|
+
camera.near = 1;
|
|
145
|
+
camera.far = camera.transfo.distance * 2;
|
|
146
|
+
camera.zoom = 2;
|
|
147
|
+
const { cameraManager } = this;
|
|
148
|
+
if (cameraManager) {
|
|
149
|
+
cameraManager.target = camera.getCurrentState();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
get highlightedCellIds() {
|
|
153
|
+
return this._highlightedCellIds;
|
|
154
|
+
}
|
|
155
|
+
set highlightedCellIds(value) {
|
|
156
|
+
if (value === this._highlightedCellIds)
|
|
157
|
+
return;
|
|
158
|
+
this._highlightedCellIds = value !== null && value !== void 0 ? value : [];
|
|
159
|
+
this.updateHightedCells();
|
|
160
|
+
}
|
|
161
|
+
updateHightedCells() {
|
|
162
|
+
var _a;
|
|
163
|
+
const { cellsForHighights, groupHighlithedCells, circuit, highlightedCellIds } = this;
|
|
164
|
+
groupHighlithedCells.removeAll(false);
|
|
165
|
+
for (const cell of circuit) {
|
|
166
|
+
const painter = cellsForHighights.get(cell.id);
|
|
167
|
+
if (painter) {
|
|
168
|
+
painter.black = true;
|
|
169
|
+
groupHighlithedCells.add(painter);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
for (const id of highlightedCellIds !== null && highlightedCellIds !== void 0 ? highlightedCellIds : []) {
|
|
173
|
+
const painter = cellsForHighights.get(id);
|
|
174
|
+
if (painter) {
|
|
175
|
+
painter.black = false;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
(_a = this.context) === null || _a === void 0 ? void 0 : _a.paint();
|
|
179
|
+
}
|
|
180
|
+
get background() {
|
|
181
|
+
return this._background;
|
|
182
|
+
}
|
|
183
|
+
set background(color) {
|
|
184
|
+
this._background = color;
|
|
185
|
+
this.backgroundColor.parse(color);
|
|
186
|
+
const clear = this.painterClear;
|
|
187
|
+
if (clear) {
|
|
188
|
+
clear.red = this.backgroundColor.R;
|
|
189
|
+
clear.green = this.backgroundColor.G;
|
|
190
|
+
clear.blue = this.backgroundColor.B;
|
|
191
|
+
clear.alpha = this.backgroundColor.A;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
get canvas() {
|
|
195
|
+
return this._canvas;
|
|
196
|
+
}
|
|
197
|
+
set canvas(canvas) {
|
|
198
|
+
if (this._canvas === canvas)
|
|
199
|
+
return;
|
|
200
|
+
if (this.context) {
|
|
201
|
+
this.delete();
|
|
202
|
+
}
|
|
203
|
+
this._canvas = canvas;
|
|
204
|
+
if (!canvas)
|
|
205
|
+
return;
|
|
206
|
+
const context = new TgdContext(canvas);
|
|
207
|
+
context.inputs.pointer.eventHover.addListener(this.handlePointerHover);
|
|
208
|
+
context.inputs.pointer.eventTap.addListener(this.handlePointerTap);
|
|
209
|
+
this.context = context;
|
|
210
|
+
this.cameraManager = new CameraManager(context, this.eventRestingPosition);
|
|
211
|
+
const clear = new TgdPainterClear(context, {
|
|
212
|
+
color: [
|
|
213
|
+
this.backgroundColor.R,
|
|
214
|
+
this.backgroundColor.G,
|
|
215
|
+
this.backgroundColor.B,
|
|
216
|
+
this.backgroundColor.A,
|
|
217
|
+
],
|
|
218
|
+
depth: 1,
|
|
219
|
+
});
|
|
220
|
+
this.painterClear = clear;
|
|
221
|
+
context.add(clear, new TgdPainterState(context, {
|
|
222
|
+
depth: "less",
|
|
223
|
+
cull: "back",
|
|
224
|
+
children: [this.groupCells],
|
|
225
|
+
}), new TgdPainterClear(context, { depth: 1 }), new TgdPainterState(context, {
|
|
226
|
+
depth: "less",
|
|
227
|
+
blend: "add",
|
|
228
|
+
cull: "back",
|
|
229
|
+
children: [this.groupHighlithedCells],
|
|
230
|
+
}));
|
|
231
|
+
this.updateCircuit();
|
|
232
|
+
}
|
|
233
|
+
createramebufferCircuit(context, clear) {
|
|
234
|
+
this.textureFramebufferCircuit = new TgdTexture2D(context);
|
|
235
|
+
this.framebufferCircuit = new TgdPainterFramebufferWithAntiAliasing(context, {
|
|
236
|
+
textureColor0: this.textureFramebufferCircuit,
|
|
237
|
+
depthBuffer: true,
|
|
238
|
+
children: [
|
|
239
|
+
clear,
|
|
240
|
+
new TgdPainterState(context, {
|
|
241
|
+
depth: webglPresetDepth.less,
|
|
242
|
+
children: [this.groupCells],
|
|
243
|
+
}),
|
|
244
|
+
],
|
|
245
|
+
});
|
|
246
|
+
return this.framebufferCircuit;
|
|
247
|
+
}
|
|
248
|
+
createFramebufferHighlightedCells(context) {
|
|
249
|
+
const { viewportMatchingScale } = this;
|
|
250
|
+
this.textureFramebufferHighlightedCells = new TgdTexture2D(context);
|
|
251
|
+
this.framebufferHighlightedCells = new TgdPainterFramebufferWithAntiAliasing(context, {
|
|
252
|
+
viewportMatchingScale,
|
|
253
|
+
textureColor0: this.textureFramebufferHighlightedCells,
|
|
254
|
+
depthBuffer: true,
|
|
255
|
+
children: [
|
|
256
|
+
new TgdPainterClear(context, { depth: 1, color: [0, 0, 0, 1] }),
|
|
257
|
+
new TgdPainterState(context, {
|
|
258
|
+
depth: webglPresetDepth.less,
|
|
259
|
+
children: [this.groupHighlithedCells],
|
|
260
|
+
}),
|
|
261
|
+
],
|
|
262
|
+
});
|
|
263
|
+
return this.framebufferHighlightedCells;
|
|
264
|
+
}
|
|
265
|
+
createFramebufferBlur(context) {
|
|
266
|
+
const { textureFramebufferHighlightedCells } = this;
|
|
267
|
+
if (!textureFramebufferHighlightedCells)
|
|
268
|
+
throw new Error("You must call createFramebufferHighlightedCells() before this createFramebufferBlur()!");
|
|
269
|
+
const { viewportMatchingScale } = this;
|
|
270
|
+
const size = 3;
|
|
271
|
+
this.textureFramebufferBlur = new TgdTexture2D(context);
|
|
272
|
+
this.framebufferBlur = new TgdPainterFramebufferWithAntiAliasing(context, {
|
|
273
|
+
viewportMatchingScale,
|
|
274
|
+
textureColor0: this.textureFramebufferBlur,
|
|
275
|
+
children: [
|
|
276
|
+
new TgdPainterClear(context, { color: [0, 0, 0, 1] }),
|
|
277
|
+
new TgdPainterState(context, {
|
|
278
|
+
depth: webglPresetDepth.off,
|
|
279
|
+
children: [
|
|
280
|
+
new TgdPainterFilter(context, {
|
|
281
|
+
flipY: true,
|
|
282
|
+
texture: textureFramebufferHighlightedCells,
|
|
283
|
+
filters: [
|
|
284
|
+
new TgdFilterBlur({
|
|
285
|
+
size,
|
|
286
|
+
direction: 0,
|
|
287
|
+
}),
|
|
288
|
+
new TgdFilterBlur({
|
|
289
|
+
size,
|
|
290
|
+
direction: 90,
|
|
291
|
+
}),
|
|
292
|
+
],
|
|
293
|
+
}),
|
|
294
|
+
],
|
|
295
|
+
}),
|
|
296
|
+
],
|
|
297
|
+
});
|
|
298
|
+
return this.framebufferBlur;
|
|
299
|
+
}
|
|
300
|
+
createMix(context) {
|
|
301
|
+
const { framebufferCircuit, framebufferBlur } = this;
|
|
302
|
+
if (!framebufferCircuit)
|
|
303
|
+
throw new Error("Framebuffer for circuit must be created before calling createMix()!");
|
|
304
|
+
if (!framebufferBlur)
|
|
305
|
+
throw new Error("Framebuffer for blur must be created before calling createMix()!");
|
|
306
|
+
return new TgdPainterState(context, {
|
|
307
|
+
depth: webglPresetDepth.off,
|
|
308
|
+
blend: webglPresetBlend.off,
|
|
309
|
+
children: [
|
|
310
|
+
new TgdPainterMix(context, {
|
|
311
|
+
texture1: framebufferCircuit.textureColor0,
|
|
312
|
+
texture2: framebufferBlur.textureColor0,
|
|
313
|
+
strength: 1.5,
|
|
314
|
+
}),
|
|
315
|
+
],
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
delete() {
|
|
319
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
320
|
+
(_a = this.textureFramebufferCircuit) === null || _a === void 0 ? void 0 : _a.delete();
|
|
321
|
+
this.textureFramebufferCircuit = null;
|
|
322
|
+
(_b = this.framebufferCircuit) === null || _b === void 0 ? void 0 : _b.delete();
|
|
323
|
+
this.framebufferCircuit = null;
|
|
324
|
+
(_c = this.framebufferBlur) === null || _c === void 0 ? void 0 : _c.delete();
|
|
325
|
+
this.framebufferBlur = null;
|
|
326
|
+
(_d = this.framebufferHighlightedCells) === null || _d === void 0 ? void 0 : _d.delete();
|
|
327
|
+
this.framebufferHighlightedCells = null;
|
|
328
|
+
(_e = this.offscreen) === null || _e === void 0 ? void 0 : _e.delete();
|
|
329
|
+
this.offscreen = null;
|
|
330
|
+
(_f = this.cameraManager) === null || _f === void 0 ? void 0 : _f.delete();
|
|
331
|
+
this.cameraManager = null;
|
|
332
|
+
this.groupCells.removeAll();
|
|
333
|
+
(_g = this.painterClear) === null || _g === void 0 ? void 0 : _g.delete();
|
|
334
|
+
this.painterClear = null;
|
|
335
|
+
if (this.context) {
|
|
336
|
+
this.context.inputs.pointer.eventHover.removeListener(this.handlePointerHover);
|
|
337
|
+
this.context.delete();
|
|
338
|
+
this.context = null;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
export function usePainterManager({ backgroundColor, circuit, loadCell, onCellHover, onCellClick, highlightedCellIds, onLoadProgress, }) {
|
|
343
|
+
const ref = React.useRef(null);
|
|
344
|
+
if (!ref.current) {
|
|
345
|
+
ref.current = new PainterManager();
|
|
346
|
+
}
|
|
347
|
+
const manager = ref.current;
|
|
348
|
+
React.useEffect(() => {
|
|
349
|
+
manager.onLoadProgress = onLoadProgress;
|
|
350
|
+
}, [onLoadProgress, manager]);
|
|
351
|
+
React.useEffect(() => {
|
|
352
|
+
manager.background = backgroundColor !== null && backgroundColor !== void 0 ? backgroundColor : "#000";
|
|
353
|
+
}, [backgroundColor, manager]);
|
|
354
|
+
React.useEffect(() => {
|
|
355
|
+
manager.setCircuit(circuit, loadCell);
|
|
356
|
+
}, [circuit, loadCell, manager]);
|
|
357
|
+
React.useEffect(() => {
|
|
358
|
+
manager.highlightedCellIds = highlightedCellIds;
|
|
359
|
+
}, [highlightedCellIds, manager]);
|
|
360
|
+
React.useEffect(() => {
|
|
361
|
+
if (!onCellHover)
|
|
362
|
+
return;
|
|
363
|
+
manager.eventCellHover.addListener(onCellHover);
|
|
364
|
+
return () => {
|
|
365
|
+
manager.eventCellHover.removeListener(onCellHover);
|
|
366
|
+
};
|
|
367
|
+
}, [onCellHover, manager]);
|
|
368
|
+
React.useEffect(() => {
|
|
369
|
+
if (!onCellClick)
|
|
370
|
+
return;
|
|
371
|
+
manager.eventCellClick.addListener(onCellClick);
|
|
372
|
+
return () => {
|
|
373
|
+
manager.eventCellClick.removeListener(onCellClick);
|
|
374
|
+
};
|
|
375
|
+
}, [onCellClick, manager]);
|
|
376
|
+
return ref.current;
|
|
377
|
+
}
|
|
378
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC9wYWludGVyL21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLFVBQVUsRUFDVixRQUFRLEVBQ1IsYUFBYSxFQUliLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIscUNBQXFDLEVBQ3JDLGVBQWUsRUFDZixhQUFhLEVBQ2IsZUFBZSxFQUNmLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVk3QyxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNrQix5QkFBb0IsR0FBRyxJQUFJLFFBQVEsRUFBVyxDQUFDO1FBQy9DLG1CQUFjLEdBQUcsSUFBSSxRQUFRLEVBQTRDLENBQUM7UUFDMUUsbUJBQWMsR0FBRyxJQUFJLFFBQVEsRUFBNEMsQ0FBQztRQWF6RSwwQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDckMsWUFBTyxHQUE2QixJQUFJLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFDWixvQkFBZSxHQUFHLElBQUksUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BELFlBQU8sR0FBc0IsSUFBSSxDQUFDO1FBQ2xDLGtCQUFhLEdBQXlCLElBQUksQ0FBQztRQUMzQyxpQkFBWSxHQUEyQixJQUFJLENBQUM7UUFDNUMsY0FBUyxHQUE0QixJQUFJLENBQUM7UUFDMUMsd0JBQW1CLEdBQWEsRUFBRSxDQUFDO1FBQ25DLGtCQUFhLEdBQXVCLEVBQUUsQ0FBQztRQUM5QixlQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNqRSxZQUFPLEdBQW1DLEVBQUUsQ0FBQztRQUNwQyxzQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBdUIsQ0FBQztRQUNuRCx5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBQztZQUMxRCxJQUFJLEVBQUUsdUJBQXVCO1NBQzlCLENBQUMsQ0FBQztRQUNLLGFBQVEsR0FDZCxJQUFJLENBQUM7UUFJQyxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUtuQixvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNwQix1QkFBa0IsR0FBdUIsSUFBSSxDQUFDO1FBQzlDLDhCQUF5QixHQUF3QixJQUFJLENBQUM7UUFDdEQsZ0NBQTJCLEdBQXVCLElBQUksQ0FBQztRQUN2RCx1Q0FBa0MsR0FBd0IsSUFBSSxDQUFDO1FBQy9ELG9CQUFlLEdBQXVCLElBQUksQ0FBQztRQUMzQywyQkFBc0IsR0FBd0IsSUFBSSxDQUFDO1FBQ25ELGdCQUFXLEdBQUcsSUFBSSxRQUFRLENBQW1ELEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixTQUFJLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUUzQixnQkFBVyxHQUFHLEdBQUcsRUFBRSxXQUFDLE9BQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxXQUFXLEVBQUUsQ0FBQSxFQUFBLENBQUM7UUFnUzlDLHVCQUFrQixHQUFHLENBQUMsR0FBNkIsRUFBRSxFQUFFO1lBQ3RFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLFNBQVM7Z0JBQUUsT0FBTztZQUV2QixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxFQUFFLE1BQUssSUFBSSxDQUFDLGFBQWE7Z0JBQUUsT0FBTztZQUU1QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDO1FBRWUscUJBQWdCLEdBQUcsQ0FBQyxHQUE0QixFQUFFLEVBQUU7WUFDbkUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUztnQkFBRSxPQUFPO1lBRXZCLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxJQUFJO2dCQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQztJQXdCSixDQUFDO0lBdlVDLFVBQVUsQ0FDUixPQUF1QyxFQUN2QyxRQUEwRTtRQUUxRSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssT0FBTztZQUFFLE9BQU87UUFFckMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRTtZQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4QyxJQUFJLE1BQU07Z0JBQUUsT0FBTyxNQUFNLENBQUM7WUFFMUIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNsQyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLGFBQWE7O1FBQ25CLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUV0QixNQUFBLElBQUksQ0FBQyxjQUFjLHFEQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDekIsTUFBTSxNQUFNLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQztZQUN0QyxJQUFJLEVBQUUsQ0FBQztTQUNSLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7WUFDN0MsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFFBQVE7WUFDUixXQUFXO1NBQ1osQ0FBQyxDQUFDO1FBQ0gsTUFBTSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3RELGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ2pDLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDOUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDcEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFO2dCQUMzQyxJQUFJO2dCQUNKLFFBQVE7Z0JBQ1IsU0FBUyxFQUFFLE1BQU07Z0JBQ2pCLFlBQVksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFOztvQkFDckIsSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDeEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7b0JBQzdCLENBQUM7b0JBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUN2QixNQUFBLElBQUksQ0FBQyxjQUFjLHFEQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNwRSxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDakMsTUFBTSxlQUFlLEdBQUcsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFO2dCQUMvQyxJQUFJO2dCQUNKLFFBQVE7Z0JBQ1IsU0FBUyxFQUFFLE1BQU07YUFDbEIsQ0FBQyxDQUFDO1lBQ0gsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDdEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN0QyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDaEIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixhQUFhLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFDRCxJQUFXLGtCQUFrQixDQUFDLEtBQTJCO1FBQ3ZELElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxtQkFBbUI7WUFBRSxPQUFPO1FBRS9DLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjs7UUFDeEIsTUFBTSxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLElBQUksQ0FBQztRQUN0RixvQkFBb0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMzQixNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwQyxDQUFDO1FBQ0gsQ0FBQztRQUNELEtBQUssTUFBTSxFQUFFLElBQUksa0JBQWtCLGFBQWxCLGtCQUFrQixjQUFsQixrQkFBa0IsR0FBSSxFQUFFLEVBQUUsQ0FBQztZQUMxQyxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUN4QixDQUFDO1FBQ0gsQ0FBQztRQUNELE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ2hDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ25DLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDckMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUNwQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFnQztRQUN6QyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssTUFBTTtZQUFFLE9BQU87UUFFcEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFFcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RSxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sS0FBSyxHQUFHLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRTtZQUN6QyxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ3ZCO1lBQ0QsS0FBSyxFQUFFLENBQUM7U0FDVCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQVExQixPQUFPLENBQUMsR0FBRyxDQUNULEtBQUssRUFDTCxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUU7WUFDM0IsS0FBSyxFQUFFLE1BQU07WUFDYixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDNUIsQ0FBQyxFQUVGLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUMxQyxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUU7WUFDM0IsS0FBSyxFQUFFLE1BQU07WUFDYixLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1NBQ3RDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxPQUFtQixFQUFFLEtBQXNCO1FBQ3pFLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxxQ0FBcUMsQ0FBQyxPQUFPLEVBQUU7WUFDM0UsYUFBYSxFQUFFLElBQUksQ0FBQyx5QkFBeUI7WUFDN0MsV0FBVyxFQUFFLElBQUk7WUFDakIsUUFBUSxFQUFFO2dCQUNSLEtBQUs7Z0JBQ0wsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFO29CQUMzQixLQUFLLEVBQUUsZ0JBQWdCLENBQUMsSUFBSTtvQkFDNUIsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztpQkFDNUIsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsa0JBQWdDLENBQUM7SUFDL0MsQ0FBQztJQUVPLGlDQUFpQyxDQUFDLE9BQW1CO1FBQzNELE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxHQUFHLElBQUksQ0FBQztRQUN2QyxJQUFJLENBQUMsa0NBQWtDLEdBQUcsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUkscUNBQXFDLENBQUMsT0FBTyxFQUFFO1lBQ3BGLHFCQUFxQjtZQUNyQixhQUFhLEVBQUUsSUFBSSxDQUFDLGtDQUFrQztZQUN0RCxXQUFXLEVBQUUsSUFBSTtZQUNqQixRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUU7b0JBQzNCLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJO29CQUM1QixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7aUJBQ3RDLENBQUM7YUFDSDtTQUNGLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLDJCQUF5QyxDQUFDO0lBQ3hELENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxPQUFtQjtRQUMvQyxNQUFNLEVBQUUsa0NBQWtDLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDcEQsSUFBSSxDQUFDLGtDQUFrQztZQUNyQyxNQUFNLElBQUksS0FBSyxDQUNiLHdGQUF3RixDQUN6RixDQUFDO1FBRUosTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUkscUNBQXFDLENBQUMsT0FBTyxFQUFFO1lBQ3hFLHFCQUFxQjtZQUNyQixhQUFhLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtZQUMxQyxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDckQsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFO29CQUMzQixLQUFLLEVBQUUsZ0JBQWdCLENBQUMsR0FBRztvQkFDM0IsUUFBUSxFQUFFO3dCQUNSLElBQUksZ0JBQWdCLENBQUMsT0FBTyxFQUFFOzRCQUM1QixLQUFLLEVBQUUsSUFBSTs0QkFDWCxPQUFPLEVBQUUsa0NBQWtDOzRCQUMzQyxPQUFPLEVBQUU7Z0NBQ1AsSUFBSSxhQUFhLENBQUM7b0NBQ2hCLElBQUk7b0NBQ0osU0FBUyxFQUFFLENBQUM7aUNBQ2IsQ0FBQztnQ0FDRixJQUFJLGFBQWEsQ0FBQztvQ0FDaEIsSUFBSTtvQ0FDSixTQUFTLEVBQUUsRUFBRTtpQ0FDZCxDQUFDOzZCQUNIO3lCQUNGLENBQUM7cUJBQ0g7aUJBQ0YsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsZUFBNkIsQ0FBQztJQUM1QyxDQUFDO0lBRU8sU0FBUyxDQUFDLE9BQW1CO1FBQ25DLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDckQsSUFBSSxDQUFDLGtCQUFrQjtZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLGVBQWU7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO1FBRXRGLE9BQU8sSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFO1lBQ2xDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHO1lBQzNCLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHO1lBQzNCLFFBQVEsRUFBRTtnQkFDUixJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUU7b0JBQ3pCLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxhQUFhO29CQUMxQyxRQUFRLEVBQUUsZUFBZSxDQUFDLGFBQWE7b0JBQ3ZDLFFBQVEsRUFBRSxHQUFHO2lCQUNkLENBQUM7YUFDSDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFxQk8sTUFBTTs7UUFDWixNQUFBLElBQUksQ0FBQyx5QkFBeUIsMENBQUUsTUFBTSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztRQUN0QyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixNQUFBLElBQUksQ0FBQyxlQUFlLDBDQUFFLE1BQU0sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLE1BQUEsSUFBSSxDQUFDLDJCQUEyQiwwQ0FBRSxNQUFNLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsTUFBTSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxNQUFNLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVCLE1BQUEsSUFBSSxDQUFDLFlBQVksMENBQUUsTUFBTSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEVBQ2hDLGVBQWUsRUFDZixPQUFPLEVBQ1AsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLGNBQWMsR0FDZ0I7SUFDOUIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBd0IsSUFBSSxDQUFDLENBQUM7SUFDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFDNUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsT0FBTyxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDMUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsT0FBTyxDQUFDLFVBQVUsR0FBRyxlQUFlLGFBQWYsZUFBZSxjQUFmLGVBQWUsR0FBSSxNQUFNLENBQUM7SUFDakQsQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ25CLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUNsRCxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ25CLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTztRQUV6QixPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxPQUFPLEdBQUcsRUFBRTtZQUNWLE9BQU8sQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQztJQUNKLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNCLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ25CLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTztRQUV6QixPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxPQUFPLEdBQUcsRUFBRTtZQUNWLE9BQU8sQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQztJQUNKLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQztBQUNyQixDQUFDIn0=
|
package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/offscreen-painter/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./offscreen-painter.js";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNtYWxsLWNpcmN1aXQvcGFpbnRlci9vZmZzY3JlZW4tcGFpbnRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIn0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TgdContext } from "@tolokoban/tgd";
|
|
2
|
+
import { CacheLRU } from "../../../../tools/cache-lru";
|
|
3
|
+
import type { MorphoViewerSmallCircuitCell, MorphoViewerSmallCircuitCellData } from "../../types";
|
|
4
|
+
export interface OffscreenPainterOptions {
|
|
5
|
+
circuit: MorphoViewerSmallCircuitCell[];
|
|
6
|
+
loadCell: (id: string) => Promise<MorphoViewerSmallCircuitCellData | null>;
|
|
7
|
+
loadedCells: CacheLRU<Promise<MorphoViewerSmallCircuitCellData | null>>;
|
|
8
|
+
}
|
|
9
|
+
export declare class OffscreenPainter {
|
|
10
|
+
private readonly onscreenContext;
|
|
11
|
+
mix: number;
|
|
12
|
+
readonly context: TgdContext;
|
|
13
|
+
private readonly offscreenCanvas;
|
|
14
|
+
private readonly offscreenContext;
|
|
15
|
+
private readonly group;
|
|
16
|
+
private readonly circuit;
|
|
17
|
+
constructor(onscreenContext: TgdContext, options: OffscreenPainterOptions);
|
|
18
|
+
getItemAt(xScreen: number, yScreen: number): MorphoViewerSmallCircuitCell | undefined;
|
|
19
|
+
private readonly paint;
|
|
20
|
+
delete(): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=offscreen-painter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offscreen-painter.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAKX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAGlG,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;IAC3E,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC,CAAC;CACzE;AAID,qBAAa,gBAAgB;IAUzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAT3B,GAAG,SAAK;IACf,SAAgB,OAAO,EAAE,UAAU,CAAC;IAEpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAGtC,eAAe,EAAE,UAAU,EAC5C,OAAO,EAAE,uBAAuB;IAiClC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS;IAQrF,OAAO,CAAC,QAAQ,CAAC,KAAK,CASpB;IAEF,MAAM;CAIP"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { TgdContext, TgdPainterClear, TgdPainterGroup, TgdPainterState, webglPresetDepth, } from "@tolokoban/tgd";
|
|
2
|
+
import { vec3ToInt16 } from "./../../../../utils.js";
|
|
3
|
+
import { PainterCell } from "../painter-cell/index.js";
|
|
4
|
+
const FIRST_INDEX = 1;
|
|
5
|
+
export class OffscreenPainter {
|
|
6
|
+
constructor(onscreenContext, options) {
|
|
7
|
+
this.onscreenContext = onscreenContext;
|
|
8
|
+
this.mix = 0;
|
|
9
|
+
this.offscreenCanvas = new OffscreenCanvas(1, 1);
|
|
10
|
+
this.group = new TgdPainterGroup();
|
|
11
|
+
this.paint = () => {
|
|
12
|
+
const { onscreenContext, offscreenContext, offscreenCanvas } = this;
|
|
13
|
+
offscreenContext.camera = onscreenContext.camera;
|
|
14
|
+
const { canvas } = onscreenContext;
|
|
15
|
+
const w = Math.ceil(canvas.width / 4);
|
|
16
|
+
const h = Math.ceil(canvas.height / 4);
|
|
17
|
+
offscreenCanvas.width = w;
|
|
18
|
+
offscreenCanvas.height = h;
|
|
19
|
+
offscreenContext.paint();
|
|
20
|
+
};
|
|
21
|
+
this.circuit = options.circuit;
|
|
22
|
+
onscreenContext.eventPaint.addListener(this.paint);
|
|
23
|
+
const context = new TgdContext(this.offscreenCanvas, {
|
|
24
|
+
preserveDrawingBuffer: true,
|
|
25
|
+
antialias: false,
|
|
26
|
+
alpha: false,
|
|
27
|
+
depth: true,
|
|
28
|
+
});
|
|
29
|
+
this.context = context;
|
|
30
|
+
context.camera = onscreenContext.camera;
|
|
31
|
+
this.offscreenContext = context;
|
|
32
|
+
context.add(new TgdPainterClear(context, { color: [0, 0, 0, 0], depth: 1 }), new TgdPainterState(context, {
|
|
33
|
+
depth: webglPresetDepth.less,
|
|
34
|
+
children: [this.group],
|
|
35
|
+
}));
|
|
36
|
+
let index = FIRST_INDEX;
|
|
37
|
+
for (const cell of this.circuit) {
|
|
38
|
+
const mesh = new PainterCell(context, {
|
|
39
|
+
cell,
|
|
40
|
+
loadCell: options.loadCell,
|
|
41
|
+
matrerial: index,
|
|
42
|
+
});
|
|
43
|
+
this.group.add(mesh);
|
|
44
|
+
index++;
|
|
45
|
+
}
|
|
46
|
+
this.paint();
|
|
47
|
+
}
|
|
48
|
+
getItemAt(xScreen, yScreen) {
|
|
49
|
+
var _a;
|
|
50
|
+
const { circuit, offscreenContext: context } = this;
|
|
51
|
+
const [R, G, B] = context.readPixel(xScreen, yScreen);
|
|
52
|
+
const divider = 1 / 0xff;
|
|
53
|
+
const index = vec3ToInt16([R * divider, G * divider, B * divider]) - FIRST_INDEX;
|
|
54
|
+
return (_a = circuit[index]) !== null && _a !== void 0 ? _a : undefined;
|
|
55
|
+
}
|
|
56
|
+
delete() {
|
|
57
|
+
this.onscreenContext.eventPaint.removeListener(this.paint);
|
|
58
|
+
this.offscreenContext.delete();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2Zmc2NyZWVuLXBhaW50ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNtYWxsLWNpcmN1aXQvcGFpbnRlci9vZmZzY3JlZW4tcGFpbnRlci9vZmZzY3JlZW4tcGFpbnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLGVBQWUsRUFDZixlQUFlLEVBQ2YsZUFBZSxFQUNmLGdCQUFnQixHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBUTlDLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztBQUV0QixNQUFNLE9BQU8sZ0JBQWdCO0lBUzNCLFlBQ21CLGVBQTJCLEVBQzVDLE9BQWdDO1FBRGYsb0JBQWUsR0FBZixlQUFlLENBQVk7UUFUdkMsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUdFLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVDLFVBQUssR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBOEM5QixVQUFLLEdBQUcsR0FBRyxFQUFFO1lBQzVCLE1BQU0sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3BFLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO1lBQ2pELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxlQUFlLENBQUM7WUFDbkMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxD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
|
package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TgdBoundingBox, type TgdContext, type TgdMaterial, TgdPainterNode } from "@tolokoban/tgd";
|
|
2
|
+
import { type MorphoViewerTree } from "../../../../morpho-viewer-simul";
|
|
3
|
+
export declare function createCellFromTree(context: TgdContext, material: TgdMaterial, tree: MorphoViewerTree, forSelection: boolean): {
|
|
4
|
+
bbox: TgdBoundingBox;
|
|
5
|
+
node: TgdPainterNode;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=tree.d.ts.map
|
package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,cAAc,EAGf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,kCAAkC,CAAC;AAE1C,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,gBAAgB,EACtB,YAAY,EAAE,OAAO,GACpB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAmChD"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { TgdBoundingBox, TgdPainterNode, TgdPainterSegments, TgdPainterSegmentsData, } from "@tolokoban/tgd";
|
|
2
|
+
import { MorphoViewerTreeItemType, } from "./../../../../morpho-viewer-simul/index.js";
|
|
3
|
+
export function createCellFromTree(context, material, tree, forSelection) {
|
|
4
|
+
const segmentsSoma = new TgdPainterSegmentsData();
|
|
5
|
+
const segmentsNeurites = new TgdPainterSegmentsData();
|
|
6
|
+
for (const item of tree.roots) {
|
|
7
|
+
fillSegments(undefined, item, segmentsSoma, segmentsNeurites);
|
|
8
|
+
}
|
|
9
|
+
const bbox = new TgdBoundingBox();
|
|
10
|
+
for (const segments of [segmentsSoma, segmentsNeurites]) {
|
|
11
|
+
for (let i = 0; i < segments.count; i++) {
|
|
12
|
+
const [x0, y0, z0, r0] = segmentsNeurites.getXYZR0(i);
|
|
13
|
+
bbox.addSphere(x0, y0, z0, r0 * 2);
|
|
14
|
+
const [x1, y1, z1, r1] = segmentsNeurites.getXYZR1(i);
|
|
15
|
+
bbox.addSphere(x1, y1, z1, r1 * 2);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
bbox,
|
|
20
|
+
node: new TgdPainterNode({
|
|
21
|
+
children: [
|
|
22
|
+
new TgdPainterSegments(context, {
|
|
23
|
+
roundness: forSelection ? 5 : 12,
|
|
24
|
+
radiusMultiplier: forSelection ? 1.1 : 1,
|
|
25
|
+
material,
|
|
26
|
+
dataset: segmentsSoma.makeDataset(),
|
|
27
|
+
}),
|
|
28
|
+
new TgdPainterSegments(context, {
|
|
29
|
+
roundness: forSelection ? 3 : 5,
|
|
30
|
+
minRadius: 2,
|
|
31
|
+
radiusMultiplier: forSelection ? 1.6 : 1,
|
|
32
|
+
material,
|
|
33
|
+
dataset: segmentsNeurites.makeDataset(),
|
|
34
|
+
}),
|
|
35
|
+
],
|
|
36
|
+
}),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function fillSegments(parent, item, segmentsSoma, segmentsNeurites) {
|
|
40
|
+
var _a;
|
|
41
|
+
if (!parent) {
|
|
42
|
+
segmentsSoma.add([item.x, item.y, item.z, item.radius], [item.x, item.y, item.z, item.radius]);
|
|
43
|
+
}
|
|
44
|
+
else if (item.type === MorphoViewerTreeItemType.Soma) {
|
|
45
|
+
segmentsSoma.add([parent.x, parent.y, parent.z, parent.radius], [item.x, item.y, item.z, item.radius]);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
segmentsNeurites.add([parent.x, parent.y, parent.z, parent.radius], [item.x, item.y, item.z, item.radius]);
|
|
49
|
+
}
|
|
50
|
+
for (const child of (_a = item.children) !== null && _a !== void 0 ? _a : []) {
|
|
51
|
+
fillSegments(item, child, segmentsSoma, segmentsNeurites);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC9wYWludGVyL3BhaW50ZXItY2VsbC9mYWN0b3J5L3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFHZCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLHNCQUFzQixHQUN2QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFHTCx3QkFBd0IsR0FDekIsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxQyxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE9BQW1CLEVBQ25CLFFBQXFCLEVBQ3JCLElBQXNCLEVBQ3RCLFlBQXFCO0lBRXJCLE1BQU0sWUFBWSxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztJQUNsRCxNQUFNLGdCQUFnQixHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztJQUN0RCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztJQUNsQyxLQUFLLE1BQU0sUUFBUSxJQUFJLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztRQUN4RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./painter-cell.js";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNtYWxsLWNpcmN1aXQvcGFpbnRlci9wYWludGVyLWNlbGwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQyJ9
|
package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { TgdBoundingBox, type TgdContext, TgdPainterGroup } from "@tolokoban/tgd";
|
|
2
|
+
import type { MorphoViewerSmallCircuitCell, MorphoViewerSmallCircuitCellData } from "../../types";
|
|
3
|
+
export interface PainterCellOptions {
|
|
4
|
+
matrerial?: PainterCellMaterialName;
|
|
5
|
+
cell: MorphoViewerSmallCircuitCell;
|
|
6
|
+
loadCell(id: string): Promise<MorphoViewerSmallCircuitCellData | null>;
|
|
7
|
+
onCellLoaded?(bbox: TgdBoundingBox | null): void;
|
|
8
|
+
}
|
|
9
|
+
export type PainterCellMaterialName = "full" | "flat" | number;
|
|
10
|
+
export declare class PainterCell extends TgdPainterGroup {
|
|
11
|
+
private readonly context;
|
|
12
|
+
private readonly options;
|
|
13
|
+
private readonly material;
|
|
14
|
+
private _black;
|
|
15
|
+
constructor(context: TgdContext, options: PainterCellOptions);
|
|
16
|
+
get black(): boolean;
|
|
17
|
+
set black(value: boolean);
|
|
18
|
+
private loadCell;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=painter-cell.d.ts.map
|
package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"painter-cell.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAEd,KAAK,UAAU,EAOf,eAAe,EAKhB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAElG,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,IAAI,EAAE,4BAA4B,CAAC;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;IAKvE,YAAY,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/D,qBAAa,WAAY,SAAQ,eAAe;IAK5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,MAAM,CAAS;gBAGJ,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,kBAAkB;IAyC9C,IAAI,KAAK,IAGQ,OAAO,CADvB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAUvB;YAEa,QAAQ;CA4BvB"}
|