@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.
Files changed (373) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +37 -0
  3. package/lib/dist/abstract-canvas.d.ts +37 -0
  4. package/lib/dist/abstract-canvas.d.ts.map +1 -0
  5. package/lib/dist/abstract-canvas.js +131 -0
  6. package/lib/dist/colors.d.ts +34 -0
  7. package/lib/dist/colors.d.ts.map +1 -0
  8. package/lib/dist/colors.js +125 -0
  9. package/lib/dist/components/button-reset-camera/button-reset-camera.d.ts +10 -0
  10. package/lib/dist/components/button-reset-camera/button-reset-camera.d.ts.map +1 -0
  11. package/lib/dist/components/button-reset-camera/button-reset-camera.js +10 -0
  12. package/lib/dist/components/button-reset-camera/button-reset-camera.module.css +10 -0
  13. package/lib/dist/components/button-reset-camera/index.d.ts +2 -0
  14. package/lib/dist/components/button-reset-camera/index.d.ts.map +1 -0
  15. package/lib/dist/components/button-reset-camera/index.js +2 -0
  16. package/lib/dist/components/icons/3d.d.ts +8 -0
  17. package/lib/dist/components/icons/3d.d.ts.map +1 -0
  18. package/lib/dist/components/icons/3d.js +5 -0
  19. package/lib/dist/components/icons/center.d.ts +8 -0
  20. package/lib/dist/components/icons/center.d.ts.map +1 -0
  21. package/lib/dist/components/icons/center.js +5 -0
  22. package/lib/dist/components/icons/close.d.ts +8 -0
  23. package/lib/dist/components/icons/close.d.ts.map +1 -0
  24. package/lib/dist/components/icons/close.js +5 -0
  25. package/lib/dist/components/icons/copy.d.ts +2 -0
  26. package/lib/dist/components/icons/copy.d.ts.map +1 -0
  27. package/lib/dist/components/icons/copy.js +5 -0
  28. package/lib/dist/components/icons/dendrogram-circular.d.ts +2 -0
  29. package/lib/dist/components/icons/dendrogram-circular.d.ts.map +1 -0
  30. package/lib/dist/components/icons/dendrogram-circular.js +5 -0
  31. package/lib/dist/components/icons/dendrogram-straight.d.ts +2 -0
  32. package/lib/dist/components/icons/dendrogram-straight.d.ts.map +1 -0
  33. package/lib/dist/components/icons/dendrogram-straight.js +5 -0
  34. package/lib/dist/components/icons/fullscreen.d.ts +8 -0
  35. package/lib/dist/components/icons/fullscreen.d.ts.map +1 -0
  36. package/lib/dist/components/icons/fullscreen.js +5 -0
  37. package/lib/dist/components/icons/minimize.d.ts +8 -0
  38. package/lib/dist/components/icons/minimize.d.ts.map +1 -0
  39. package/lib/dist/components/icons/minimize.js +5 -0
  40. package/lib/dist/components/icons/pause.d.ts +8 -0
  41. package/lib/dist/components/icons/pause.d.ts.map +1 -0
  42. package/lib/dist/components/icons/pause.js +5 -0
  43. package/lib/dist/components/icons/play.d.ts +8 -0
  44. package/lib/dist/components/icons/play.d.ts.map +1 -0
  45. package/lib/dist/components/icons/play.js +5 -0
  46. package/lib/dist/components/icons/zoom-in.d.ts +8 -0
  47. package/lib/dist/components/icons/zoom-in.d.ts.map +1 -0
  48. package/lib/dist/components/icons/zoom-in.js +5 -0
  49. package/lib/dist/components/icons/zoom-out.d.ts +8 -0
  50. package/lib/dist/components/icons/zoom-out.d.ts.map +1 -0
  51. package/lib/dist/components/icons/zoom-out.js +5 -0
  52. package/lib/dist/components/morpho-viewer-octree/index.d.ts +4 -0
  53. package/lib/dist/components/morpho-viewer-octree/index.d.ts.map +1 -0
  54. package/lib/dist/components/morpho-viewer-octree/index.js +3 -0
  55. package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.d.ts +3 -0
  56. package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.d.ts.map +1 -0
  57. package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.js +31 -0
  58. package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.module.css +70 -0
  59. package/lib/dist/components/morpho-viewer-octree/painter/camera.d.ts +12 -0
  60. package/lib/dist/components/morpho-viewer-octree/painter/camera.d.ts.map +1 -0
  61. package/lib/dist/components/morpho-viewer-octree/painter/camera.js +23 -0
  62. package/lib/dist/components/morpho-viewer-octree/painter/manager.d.ts +23 -0
  63. package/lib/dist/components/morpho-viewer-octree/painter/manager.d.ts.map +1 -0
  64. package/lib/dist/components/morpho-viewer-octree/painter/manager.js +180 -0
  65. package/lib/dist/components/morpho-viewer-octree/tools.d.ts +2 -0
  66. package/lib/dist/components/morpho-viewer-octree/tools.d.ts.map +1 -0
  67. package/lib/dist/components/morpho-viewer-octree/tools.js +9 -0
  68. package/lib/dist/components/morpho-viewer-octree/types.d.ts +19 -0
  69. package/lib/dist/components/morpho-viewer-octree/types.d.ts.map +1 -0
  70. package/lib/dist/components/morpho-viewer-octree/types.js +2 -0
  71. package/lib/dist/components/morpho-viewer-simul/colors.d.ts +2 -0
  72. package/lib/dist/components/morpho-viewer-simul/colors.d.ts.map +1 -0
  73. package/lib/dist/components/morpho-viewer-simul/colors.js +24 -0
  74. package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.d.ts +7 -0
  75. package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.d.ts.map +1 -0
  76. package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.js +12 -0
  77. package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.module.css +25 -0
  78. package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/index.d.ts +2 -0
  79. package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/index.d.ts.map +1 -0
  80. package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/index.js +2 -0
  81. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.d.ts +6 -0
  82. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.d.ts.map +1 -0
  83. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.js +50 -0
  84. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.module.css +115 -0
  85. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/hooks.d.ts +2 -0
  86. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/hooks.d.ts.map +1 -0
  87. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/hooks.js +12 -0
  88. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/index.d.ts +2 -0
  89. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/index.d.ts.map +1 -0
  90. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/index.js +2 -0
  91. package/lib/dist/components/morpho-viewer-simul/components/hint/hint.d.ts +8 -0
  92. package/lib/dist/components/morpho-viewer-simul/components/hint/hint.d.ts.map +1 -0
  93. package/lib/dist/components/morpho-viewer-simul/components/hint/hint.js +57 -0
  94. package/lib/dist/components/morpho-viewer-simul/components/hint/hint.module.css +23 -0
  95. package/lib/dist/components/morpho-viewer-simul/components/hint/index.d.ts +2 -0
  96. package/lib/dist/components/morpho-viewer-simul/components/hint/index.d.ts.map +1 -0
  97. package/lib/dist/components/morpho-viewer-simul/components/hint/index.js +2 -0
  98. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/index.d.ts +2 -0
  99. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/index.d.ts.map +1 -0
  100. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/index.js +2 -0
  101. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-overlay.d.ts +5 -0
  102. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-overlay.d.ts.map +1 -0
  103. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-overlay.js +34 -0
  104. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-overlay.module.css +5 -0
  105. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-painter.d.ts +19 -0
  106. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-painter.d.ts.map +1 -0
  107. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-painter.js +209 -0
  108. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.d.ts +6 -0
  109. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.d.ts.map +1 -0
  110. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.js +21 -0
  111. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.module.css +20 -0
  112. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/index.d.ts +2 -0
  113. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/index.d.ts.map +1 -0
  114. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/index.js +2 -0
  115. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/index.d.ts +2 -0
  116. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/index.d.ts.map +1 -0
  117. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/index.js +2 -0
  118. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/index.d.ts +2 -0
  119. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/index.d.ts.map +1 -0
  120. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/index.js +2 -0
  121. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/play-button.d.ts +6 -0
  122. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/play-button.d.ts.map +1 -0
  123. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/play-button.js +12 -0
  124. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/play-button.module.css +21 -0
  125. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/index.d.ts +2 -0
  126. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/index.d.ts.map +1 -0
  127. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/index.js +2 -0
  128. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.d.ts +8 -0
  129. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.d.ts.map +1 -0
  130. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.js +19 -0
  131. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.module.css +52 -0
  132. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/index.d.ts +2 -0
  133. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/index.d.ts.map +1 -0
  134. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/index.js +2 -0
  135. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/speed-combo.d.ts +6 -0
  136. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/speed-combo.d.ts.map +1 -0
  137. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/speed-combo.js +20 -0
  138. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/speed-combo.module.css +69 -0
  139. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/spiking-controller.d.ts +6 -0
  140. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/spiking-controller.d.ts.map +1 -0
  141. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/spiking-controller.js +13 -0
  142. package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/index.d.ts +2 -0
  143. package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/index.d.ts.map +1 -0
  144. package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/index.js +2 -0
  145. package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.d.ts +7 -0
  146. package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.d.ts.map +1 -0
  147. package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.js +13 -0
  148. package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.module.css +60 -0
  149. package/lib/dist/components/morpho-viewer-simul/contants.d.ts +9 -0
  150. package/lib/dist/components/morpho-viewer-simul/contants.d.ts.map +1 -0
  151. package/lib/dist/components/morpho-viewer-simul/contants.js +9 -0
  152. package/lib/dist/components/morpho-viewer-simul/hooks.d.ts +9 -0
  153. package/lib/dist/components/morpho-viewer-simul/hooks.d.ts.map +1 -0
  154. package/lib/dist/components/morpho-viewer-simul/hooks.js +34 -0
  155. package/lib/dist/components/morpho-viewer-simul/index.d.ts +3 -0
  156. package/lib/dist/components/morpho-viewer-simul/index.d.ts.map +1 -0
  157. package/lib/dist/components/morpho-viewer-simul/index.js +3 -0
  158. package/lib/dist/components/morpho-viewer-simul/morpho-viewer-simul.d.ts +3 -0
  159. package/lib/dist/components/morpho-viewer-simul/morpho-viewer-simul.d.ts.map +1 -0
  160. package/lib/dist/components/morpho-viewer-simul/morpho-viewer-simul.js +42 -0
  161. package/lib/dist/components/morpho-viewer-simul/morpho-viewer-simul.module.css +94 -0
  162. package/lib/dist/components/morpho-viewer-simul/painter/camera.d.ts +18 -0
  163. package/lib/dist/components/morpho-viewer-simul/painter/camera.d.ts.map +1 -0
  164. package/lib/dist/components/morpho-viewer-simul/painter/camera.js +17 -0
  165. package/lib/dist/components/morpho-viewer-simul/painter/index.d.ts +2 -0
  166. package/lib/dist/components/morpho-viewer-simul/painter/index.d.ts.map +1 -0
  167. package/lib/dist/components/morpho-viewer-simul/painter/index.js +2 -0
  168. package/lib/dist/components/morpho-viewer-simul/painter/initializer.d.ts +14 -0
  169. package/lib/dist/components/morpho-viewer-simul/painter/initializer.d.ts.map +1 -0
  170. package/lib/dist/components/morpho-viewer-simul/painter/initializer.js +35 -0
  171. package/lib/dist/components/morpho-viewer-simul/painter/manager.d.ts +99 -0
  172. package/lib/dist/components/morpho-viewer-simul/painter/manager.d.ts.map +1 -0
  173. package/lib/dist/components/morpho-viewer-simul/painter/manager.js +566 -0
  174. package/lib/dist/components/morpho-viewer-simul/painter/math.d.ts +4 -0
  175. package/lib/dist/components/morpho-viewer-simul/painter/math.d.ts.map +1 -0
  176. package/lib/dist/components/morpho-viewer-simul/painter/math.js +33 -0
  177. package/lib/dist/components/morpho-viewer-simul/painter/morphology-data.d.ts +12 -0
  178. package/lib/dist/components/morpho-viewer-simul/painter/morphology-data.d.ts.map +1 -0
  179. package/lib/dist/components/morpho-viewer-simul/painter/morphology-data.js +40 -0
  180. package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/index.d.ts +2 -0
  181. package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/index.d.ts.map +1 -0
  182. package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/index.js +2 -0
  183. package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/material-index.d.ts +5 -0
  184. package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/material-index.d.ts.map +1 -0
  185. package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/material-index.js +14 -0
  186. package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/offscreen-painter.d.ts +23 -0
  187. package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/offscreen-painter.d.ts.map +1 -0
  188. package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/offscreen-painter.js +84 -0
  189. package/lib/dist/components/morpho-viewer-simul/painter/painters/contants.d.ts +2 -0
  190. package/lib/dist/components/morpho-viewer-simul/painter/painters/contants.d.ts.map +1 -0
  191. package/lib/dist/components/morpho-viewer-simul/painter/painters/contants.js +12 -0
  192. package/lib/dist/components/morpho-viewer-simul/painter/painters/highlight.d.ts +6 -0
  193. package/lib/dist/components/morpho-viewer-simul/painter/painters/highlight.d.ts.map +1 -0
  194. package/lib/dist/components/morpho-viewer-simul/painter/painters/highlight.js +29 -0
  195. package/lib/dist/components/morpho-viewer-simul/painter/painters/index.d.ts +2 -0
  196. package/lib/dist/components/morpho-viewer-simul/painter/painters/index.d.ts.map +1 -0
  197. package/lib/dist/components/morpho-viewer-simul/painter/painters/index.js +2 -0
  198. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/cursor.d.ts +12 -0
  199. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/cursor.d.ts.map +1 -0
  200. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/cursor.js +34 -0
  201. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/fill.d.ts +15 -0
  202. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/fill.d.ts.map +1 -0
  203. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/fill.js +85 -0
  204. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/index.d.ts +2 -0
  205. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/index.d.ts.map +1 -0
  206. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/index.js +2 -0
  207. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/texture.d.ts +3 -0
  208. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/texture.d.ts.map +1 -0
  209. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/texture.js +20 -0
  210. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/index.d.ts +2 -0
  211. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/index.d.ts.map +1 -0
  212. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/index.js +2 -0
  213. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/overlay.d.ts +20 -0
  214. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/overlay.d.ts.map +1 -0
  215. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/overlay.js +114 -0
  216. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/ticks.d.ts +24 -0
  217. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/ticks.d.ts.map +1 -0
  218. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/ticks.js +127 -0
  219. package/lib/dist/components/morpho-viewer-simul/painter/painters/painter.d.ts +28 -0
  220. package/lib/dist/components/morpho-viewer-simul/painter/painters/painter.d.ts.map +1 -0
  221. package/lib/dist/components/morpho-viewer-simul/painter/painters/painter.js +136 -0
  222. package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/index.d.ts +2 -0
  223. package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/index.d.ts.map +1 -0
  224. package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/index.js +2 -0
  225. package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/spiking.d.ts +26 -0
  226. package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/spiking.d.ts.map +1 -0
  227. package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/spiking.js +116 -0
  228. package/lib/dist/components/morpho-viewer-simul/painter/painters/synapses.d.ts +12 -0
  229. package/lib/dist/components/morpho-viewer-simul/painter/painters/synapses.d.ts.map +1 -0
  230. package/lib/dist/components/morpho-viewer-simul/painter/painters/synapses.js +87 -0
  231. package/lib/dist/components/morpho-viewer-simul/painter/segments.d.ts +5 -0
  232. package/lib/dist/components/morpho-viewer-simul/painter/segments.d.ts.map +1 -0
  233. package/lib/dist/components/morpho-viewer-simul/painter/segments.js +58 -0
  234. package/lib/dist/components/morpho-viewer-simul/painter/soma.d.ts +9 -0
  235. package/lib/dist/components/morpho-viewer-simul/painter/soma.d.ts.map +1 -0
  236. package/lib/dist/components/morpho-viewer-simul/painter/soma.js +44 -0
  237. package/lib/dist/components/morpho-viewer-simul/painter/spiking-manager.d.ts +44 -0
  238. package/lib/dist/components/morpho-viewer-simul/painter/spiking-manager.d.ts.map +1 -0
  239. package/lib/dist/components/morpho-viewer-simul/painter/spiking-manager.js +164 -0
  240. package/lib/dist/components/morpho-viewer-simul/painter/structure.d.ts +59 -0
  241. package/lib/dist/components/morpho-viewer-simul/painter/structure.d.ts.map +1 -0
  242. package/lib/dist/components/morpho-viewer-simul/painter/structure.js +175 -0
  243. package/lib/dist/components/morpho-viewer-simul/painter/transition.d.ts +41 -0
  244. package/lib/dist/components/morpho-viewer-simul/painter/transition.d.ts.map +1 -0
  245. package/lib/dist/components/morpho-viewer-simul/painter/transition.js +152 -0
  246. package/lib/dist/components/morpho-viewer-simul/painter/tree.d.ts +7 -0
  247. package/lib/dist/components/morpho-viewer-simul/painter/tree.d.ts.map +1 -0
  248. package/lib/dist/components/morpho-viewer-simul/painter/tree.js +96 -0
  249. package/lib/dist/components/morpho-viewer-simul/types/private.d.ts +33 -0
  250. package/lib/dist/components/morpho-viewer-simul/types/private.d.ts.map +1 -0
  251. package/lib/dist/components/morpho-viewer-simul/types/private.js +2 -0
  252. package/lib/dist/components/morpho-viewer-simul/types/public.d.ts +91 -0
  253. package/lib/dist/components/morpho-viewer-simul/types/public.d.ts.map +1 -0
  254. package/lib/dist/components/morpho-viewer-simul/types/public.js +13 -0
  255. package/lib/dist/components/morpho-viewer-simul/utils.d.ts +4 -0
  256. package/lib/dist/components/morpho-viewer-simul/utils.d.ts.map +1 -0
  257. package/lib/dist/components/morpho-viewer-simul/utils.js +25 -0
  258. package/lib/dist/components/morpho-viewer-small-circuit/index.d.ts +3 -0
  259. package/lib/dist/components/morpho-viewer-small-circuit/index.d.ts.map +1 -0
  260. package/lib/dist/components/morpho-viewer-small-circuit/index.js +3 -0
  261. package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.d.ts +3 -0
  262. package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.d.ts.map +1 -0
  263. package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.js +32 -0
  264. package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.module.css +63 -0
  265. package/lib/dist/components/morpho-viewer-small-circuit/painter/camera.d.ts +13 -0
  266. package/lib/dist/components/morpho-viewer-small-circuit/painter/camera.d.ts.map +1 -0
  267. package/lib/dist/components/morpho-viewer-small-circuit/painter/camera.js +39 -0
  268. package/lib/dist/components/morpho-viewer-small-circuit/painter/index.d.ts +2 -0
  269. package/lib/dist/components/morpho-viewer-small-circuit/painter/index.d.ts.map +1 -0
  270. package/lib/dist/components/morpho-viewer-small-circuit/painter/index.js +2 -0
  271. package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts +54 -0
  272. package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts.map +1 -0
  273. package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.js +378 -0
  274. package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/index.d.ts +2 -0
  275. package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/index.d.ts.map +1 -0
  276. package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/index.js +2 -0
  277. package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts +22 -0
  278. package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts.map +1 -0
  279. package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.js +61 -0
  280. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts +7 -0
  281. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts.map +1 -0
  282. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.js +54 -0
  283. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/index.d.ts +2 -0
  284. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/index.d.ts.map +1 -0
  285. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/index.js +2 -0
  286. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts +20 -0
  287. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts.map +1 -0
  288. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.js +127 -0
  289. package/lib/dist/components/morpho-viewer-small-circuit/types.d.ts +24 -0
  290. package/lib/dist/components/morpho-viewer-small-circuit/types.d.ts.map +1 -0
  291. package/lib/dist/components/morpho-viewer-small-circuit/types.js +2 -0
  292. package/lib/dist/components/tooltip/index.d.ts +2 -0
  293. package/lib/dist/components/tooltip/index.d.ts.map +1 -0
  294. package/lib/dist/components/tooltip/index.js +2 -0
  295. package/lib/dist/components/tooltip/tooltip.d.ts +14 -0
  296. package/lib/dist/components/tooltip/tooltip.d.ts.map +1 -0
  297. package/lib/dist/components/tooltip/tooltip.js +10 -0
  298. package/lib/dist/components/tooltip/tooltip.module.css +74 -0
  299. package/lib/dist/gizmo/gizmo-canvas.d.ts +17 -0
  300. package/lib/dist/gizmo/gizmo-canvas.d.ts.map +1 -0
  301. package/lib/dist/gizmo/gizmo-canvas.js +98 -0
  302. package/lib/dist/gizmo/index.d.ts +2 -0
  303. package/lib/dist/gizmo/index.d.ts.map +1 -0
  304. package/lib/dist/gizmo/index.js +2 -0
  305. package/lib/dist/gizmo/painter/shader.frag.d.ts +2 -0
  306. package/lib/dist/gizmo/painter/shader.frag.d.ts.map +1 -0
  307. package/lib/dist/gizmo/painter/shader.frag.js +19 -0
  308. package/lib/dist/gizmo/painter/shader.vert.d.ts +2 -0
  309. package/lib/dist/gizmo/painter/shader.vert.d.ts.map +1 -0
  310. package/lib/dist/gizmo/painter/shader.vert.js +26 -0
  311. package/lib/dist/gizmo/painter/tips.d.ts +13 -0
  312. package/lib/dist/gizmo/painter/tips.d.ts.map +1 -0
  313. package/lib/dist/gizmo/painter/tips.js +85 -0
  314. package/lib/dist/index.d.ts +16 -0
  315. package/lib/dist/index.d.ts.map +1 -0
  316. package/lib/dist/index.js +14 -0
  317. package/lib/dist/morphology/morphology-canvas.d.ts +64 -0
  318. package/lib/dist/morphology/morphology-canvas.d.ts.map +1 -0
  319. package/lib/dist/morphology/morphology-canvas.js +275 -0
  320. package/lib/dist/morphology/painter/factory.d.ts +7 -0
  321. package/lib/dist/morphology/painter/factory.d.ts.map +1 -0
  322. package/lib/dist/morphology/painter/factory.js +22 -0
  323. package/lib/dist/morphology/painter/index.d.ts +2 -0
  324. package/lib/dist/morphology/painter/index.d.ts.map +1 -0
  325. package/lib/dist/morphology/painter/index.js +2 -0
  326. package/lib/dist/morphology/painter/nodes.d.ts +21 -0
  327. package/lib/dist/morphology/painter/nodes.d.ts.map +1 -0
  328. package/lib/dist/morphology/painter/nodes.js +134 -0
  329. package/lib/dist/morphology/painter/painter.d.ts +31 -0
  330. package/lib/dist/morphology/painter/painter.d.ts.map +1 -0
  331. package/lib/dist/morphology/painter/painter.js +104 -0
  332. package/lib/dist/morphology/painter/segments.d.ts +23 -0
  333. package/lib/dist/morphology/painter/segments.d.ts.map +1 -0
  334. package/lib/dist/morphology/painter/segments.js +96 -0
  335. package/lib/dist/morphology/painter/textures.d.ts +10 -0
  336. package/lib/dist/morphology/painter/textures.d.ts.map +1 -0
  337. package/lib/dist/morphology/painter/textures.js +53 -0
  338. package/lib/dist/nrrd/get-header-length.d.ts +2 -0
  339. package/lib/dist/nrrd/get-header-length.d.ts.map +1 -0
  340. package/lib/dist/nrrd/get-header-length.js +48 -0
  341. package/lib/dist/nrrd/header.d.ts +28 -0
  342. package/lib/dist/nrrd/header.d.ts.map +1 -0
  343. package/lib/dist/nrrd/header.js +122 -0
  344. package/lib/dist/nrrd/index.d.ts +3 -0
  345. package/lib/dist/nrrd/index.d.ts.map +1 -0
  346. package/lib/dist/nrrd/index.js +33 -0
  347. package/lib/dist/nrrd/volume.d.ts +29 -0
  348. package/lib/dist/nrrd/volume.d.ts.map +1 -0
  349. package/lib/dist/nrrd/volume.js +129 -0
  350. package/lib/dist/package.json +96 -0
  351. package/lib/dist/parser/for-each-line.d.ts +2 -0
  352. package/lib/dist/parser/for-each-line.d.ts.map +1 -0
  353. package/lib/dist/parser/for-each-line.js +14 -0
  354. package/lib/dist/parser/swc.d.ts +14 -0
  355. package/lib/dist/parser/swc.d.ts.map +1 -0
  356. package/lib/dist/parser/swc.js +49 -0
  357. package/lib/dist/scalebar.d.ts +11 -0
  358. package/lib/dist/scalebar.d.ts.map +1 -0
  359. package/lib/dist/scalebar.js +25 -0
  360. package/lib/dist/tools/cache-lru.d.ts +18 -0
  361. package/lib/dist/tools/cache-lru.d.ts.map +1 -0
  362. package/lib/dist/tools/cache-lru.js +53 -0
  363. package/lib/dist/tools/morphology-to-tree.d.ts +4 -0
  364. package/lib/dist/tools/morphology-to-tree.d.ts.map +1 -0
  365. package/lib/dist/tools/morphology-to-tree.js +89 -0
  366. package/lib/dist/types.d.ts +9 -0
  367. package/lib/dist/types.d.ts.map +1 -0
  368. package/lib/dist/types.js +9 -0
  369. package/lib/dist/utils.d.ts +16 -0
  370. package/lib/dist/utils.d.ts.map +1 -0
  371. package/lib/dist/utils.js +56 -0
  372. package/package.json +43 -15
  373. 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"}
@@ -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,2 @@
1
+ export { default } from "./zoom-slider";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ export { MorphoViewerSimul } from "./morpho-viewer-simul";
2
+ export * from "./types/public";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ import type { MorphoViewerSimulProps } from "./types/public";
2
+ export declare function MorphoViewerSimul(props: MorphoViewerSimulProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=morpho-viewer-simul.d.ts.map
@@ -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,2 @@
1
+ export * from "./manager";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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=