@openbraininstitute/morphoviewer 0.25.3 → 0.26.0

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 (194) hide show
  1. package/README.md +13 -0
  2. package/lib/dist/abstract-canvas.d.ts +3 -3
  3. package/lib/dist/abstract-canvas.d.ts.map +1 -1
  4. package/lib/dist/abstract-canvas.js +1 -1
  5. package/lib/dist/behaviors/index.js +1 -1
  6. package/lib/dist/behaviors/space-per-pixel.d.ts +1 -1
  7. package/lib/dist/behaviors/space-per-pixel.d.ts.map +1 -1
  8. package/lib/dist/colors.d.ts +1 -2
  9. package/lib/dist/colors.d.ts.map +1 -1
  10. package/lib/dist/components/button-reset-camera/button-reset-camera.js +3 -3
  11. package/lib/dist/components/button-reset-camera/index.js +1 -1
  12. package/lib/dist/components/controls-layout/controls-layout.js +5 -5
  13. package/lib/dist/components/controls-layout/index.js +1 -1
  14. package/lib/dist/components/morpho-viewer-octree/index.js +2 -2
  15. package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.js +5 -5
  16. package/lib/dist/components/morpho-viewer-octree/painter/camera.d.ts +4 -4
  17. package/lib/dist/components/morpho-viewer-octree/painter/camera.d.ts.map +1 -1
  18. package/lib/dist/components/morpho-viewer-octree/painter/manager.d.ts +2 -2
  19. package/lib/dist/components/morpho-viewer-octree/painter/manager.d.ts.map +1 -1
  20. package/lib/dist/components/morpho-viewer-octree/painter/manager.js +3 -3
  21. package/lib/dist/components/morpho-viewer-scalebar/index.js +1 -1
  22. package/lib/dist/components/morpho-viewer-scalebar/morpho-viewer-scalebar.js +2 -2
  23. package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.js +3 -3
  24. package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/index.js +1 -1
  25. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.js +5 -5
  26. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/index.js +1 -1
  27. package/lib/dist/components/morpho-viewer-simul/components/hint/hint.js +2 -2
  28. package/lib/dist/components/morpho-viewer-simul/components/hint/index.js +1 -1
  29. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/index.js +1 -1
  30. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-overlay.js +3 -3
  31. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-painter.js +1 -1
  32. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.d.ts +1 -1
  33. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.js +2 -2
  34. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/index.js +1 -1
  35. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/index.js +1 -1
  36. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/index.js +1 -1
  37. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/play-button.js +3 -3
  38. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/index.js +1 -1
  39. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.d.ts +1 -1
  40. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.js +1 -1
  41. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/index.js +1 -1
  42. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/speed-combo.js +1 -1
  43. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/spiking-controller.js +5 -5
  44. package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/index.js +1 -1
  45. package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.js +3 -3
  46. package/lib/dist/components/morpho-viewer-simul/contants.d.ts +1 -1
  47. package/lib/dist/components/morpho-viewer-simul/contants.d.ts.map +1 -1
  48. package/lib/dist/components/morpho-viewer-simul/hooks.js +1 -1
  49. package/lib/dist/components/morpho-viewer-simul/index.js +2 -2
  50. package/lib/dist/components/morpho-viewer-simul/morpho-viewer-simul.js +13 -13
  51. package/lib/dist/components/morpho-viewer-simul/painter/index.js +1 -1
  52. package/lib/dist/components/morpho-viewer-simul/painter/initializer.js +1 -1
  53. package/lib/dist/components/morpho-viewer-simul/painter/manager.d.ts +11 -16
  54. package/lib/dist/components/morpho-viewer-simul/painter/manager.d.ts.map +1 -1
  55. package/lib/dist/components/morpho-viewer-simul/painter/manager.js +8 -8
  56. package/lib/dist/components/morpho-viewer-simul/painter/morphology-data.d.ts +1 -1
  57. package/lib/dist/components/morpho-viewer-simul/painter/morphology-data.d.ts.map +1 -1
  58. package/lib/dist/components/morpho-viewer-simul/painter/morphology-data.js +2 -2
  59. package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/index.js +1 -1
  60. package/lib/dist/components/morpho-viewer-simul/painter/offscreen-painter/offscreen-painter.js +1 -1
  61. package/lib/dist/components/morpho-viewer-simul/painter/painters/contants.js +1 -1
  62. package/lib/dist/components/morpho-viewer-simul/painter/painters/index.js +1 -1
  63. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/cursor.js +3 -3
  64. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/fill.js +1 -1
  65. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/index.js +1 -1
  66. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/texture.d.ts +2 -2
  67. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/texture.d.ts.map +1 -1
  68. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/cursor/texture.js +1 -1
  69. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/index.js +1 -1
  70. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/overlay.js +3 -3
  71. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/ticks.d.ts +3 -3
  72. package/lib/dist/components/morpho-viewer-simul/painter/painters/overlay/ticks.d.ts.map +1 -1
  73. package/lib/dist/components/morpho-viewer-simul/painter/painters/painter.js +5 -5
  74. package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/index.js +1 -1
  75. package/lib/dist/components/morpho-viewer-simul/painter/painters/spiking/spiking.js +1 -1
  76. package/lib/dist/components/morpho-viewer-simul/painter/segments.d.ts +2 -2
  77. package/lib/dist/components/morpho-viewer-simul/painter/segments.d.ts.map +1 -1
  78. package/lib/dist/components/morpho-viewer-simul/painter/segments.js +1 -1
  79. package/lib/dist/components/morpho-viewer-simul/painter/soma.d.ts +1 -2
  80. package/lib/dist/components/morpho-viewer-simul/painter/soma.d.ts.map +1 -1
  81. package/lib/dist/components/morpho-viewer-simul/painter/soma.js +1 -1
  82. package/lib/dist/components/morpho-viewer-simul/painter/spiking-manager.d.ts +7 -7
  83. package/lib/dist/components/morpho-viewer-simul/painter/spiking-manager.d.ts.map +1 -1
  84. package/lib/dist/components/morpho-viewer-simul/painter/spiking-manager.js +1 -1
  85. package/lib/dist/components/morpho-viewer-simul/painter/structure.d.ts +2 -2
  86. package/lib/dist/components/morpho-viewer-simul/painter/structure.d.ts.map +1 -1
  87. package/lib/dist/components/morpho-viewer-simul/painter/structure.js +4 -4
  88. package/lib/dist/components/morpho-viewer-simul/painter/transition.d.ts +2 -2
  89. package/lib/dist/components/morpho-viewer-simul/painter/transition.d.ts.map +1 -1
  90. package/lib/dist/components/morpho-viewer-simul/painter/tree.js +1 -1
  91. package/lib/dist/components/morpho-viewer-simul/utils.js +1 -1
  92. package/lib/dist/components/morpho-viewer-small-circuit/index.js +2 -2
  93. package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.d.ts.map +1 -1
  94. package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.js +5 -5
  95. package/lib/dist/components/morpho-viewer-small-circuit/painter/index.js +1 -1
  96. package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts +8 -10
  97. package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts.map +1 -1
  98. package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.js +22 -46
  99. package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/index.js +1 -1
  100. package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts +1 -1
  101. package/lib/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.js +2 -2
  102. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts +1 -1
  103. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.js +1 -1
  104. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/index.js +1 -1
  105. package/lib/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.js +2 -2
  106. package/lib/dist/components/morpho-viewer-somas-only/index.d.ts +2 -0
  107. package/lib/dist/components/morpho-viewer-somas-only/index.d.ts.map +1 -0
  108. package/lib/dist/components/morpho-viewer-somas-only/index.js +2 -0
  109. package/lib/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/ambient-occlusion.d.ts +6 -0
  110. package/lib/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/ambient-occlusion.d.ts.map +1 -0
  111. package/lib/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/ambient-occlusion.js +45 -0
  112. package/lib/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/index.d.ts +2 -0
  113. package/lib/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/index.d.ts.map +1 -0
  114. package/lib/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/index.js +2 -0
  115. package/lib/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/proximity.d.ts +22 -0
  116. package/lib/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/proximity.d.ts.map +1 -0
  117. package/lib/dist/components/morpho-viewer-somas-only/manager/ambient-occlusion/proximity.js +71 -0
  118. package/lib/dist/components/morpho-viewer-somas-only/manager/index.d.ts +2 -0
  119. package/lib/dist/components/morpho-viewer-somas-only/manager/index.d.ts.map +1 -0
  120. package/lib/dist/components/morpho-viewer-somas-only/manager/index.js +2 -0
  121. package/lib/dist/components/morpho-viewer-somas-only/manager/manager.d.ts +24 -0
  122. package/lib/dist/components/morpho-viewer-somas-only/manager/manager.d.ts.map +1 -0
  123. package/lib/dist/components/morpho-viewer-somas-only/manager/manager.js +135 -0
  124. package/lib/dist/components/morpho-viewer-somas-only/manager/painter-cell-infos.d.ts +13 -0
  125. package/lib/dist/components/morpho-viewer-somas-only/manager/painter-cell-infos.d.ts.map +1 -0
  126. package/lib/dist/components/morpho-viewer-somas-only/manager/painter-cell-infos.js +59 -0
  127. package/lib/dist/components/morpho-viewer-somas-only/morpho-viewer-somas-only.d.ts +3 -0
  128. package/lib/dist/components/morpho-viewer-somas-only/morpho-viewer-somas-only.d.ts.map +1 -0
  129. package/lib/dist/components/morpho-viewer-somas-only/morpho-viewer-somas-only.js +49 -0
  130. package/lib/dist/components/morpho-viewer-somas-only/types.d.ts +15 -0
  131. package/lib/dist/components/morpho-viewer-somas-only/types.d.ts.map +1 -0
  132. package/lib/dist/components/morpho-viewer-somas-only/types.js +2 -0
  133. package/lib/dist/components/morpho-viewer-spinner/index.d.ts +2 -0
  134. package/lib/dist/components/morpho-viewer-spinner/index.d.ts.map +1 -0
  135. package/lib/dist/components/morpho-viewer-spinner/index.js +2 -0
  136. package/lib/dist/components/morpho-viewer-spinner/morpho-viewer-spinner.d.ts +6 -0
  137. package/lib/dist/components/morpho-viewer-spinner/morpho-viewer-spinner.d.ts.map +1 -0
  138. package/lib/dist/components/morpho-viewer-spinner/morpho-viewer-spinner.js +8 -0
  139. package/lib/dist/components/tooltip/index.js +1 -1
  140. package/lib/dist/components/tooltip/tooltip.js +1 -1
  141. package/lib/dist/gizmo/gizmo-canvas.d.ts +2 -5
  142. package/lib/dist/gizmo/gizmo-canvas.d.ts.map +1 -1
  143. package/lib/dist/gizmo/gizmo-canvas.js +1 -1
  144. package/lib/dist/gizmo/index.js +1 -1
  145. package/lib/dist/gizmo/painter/tips.d.ts +2 -2
  146. package/lib/dist/gizmo/painter/tips.d.ts.map +1 -1
  147. package/lib/dist/gizmo/painter/tips.js +2 -2
  148. package/lib/dist/icons/spinner.d.ts +9 -0
  149. package/lib/dist/icons/spinner.d.ts.map +1 -0
  150. package/lib/dist/icons/spinner.js +7 -0
  151. package/lib/dist/index.d.ts +3 -1
  152. package/lib/dist/index.d.ts.map +1 -1
  153. package/lib/dist/index.js +14 -12
  154. package/lib/dist/morphology/morphology-canvas.d.ts +2 -2
  155. package/lib/dist/morphology/morphology-canvas.d.ts.map +1 -1
  156. package/lib/dist/morphology/morphology-canvas.js +7 -7
  157. package/lib/dist/morphology/painter/factory.js +2 -2
  158. package/lib/dist/morphology/painter/index.js +1 -1
  159. package/lib/dist/morphology/painter/nodes.d.ts +1 -1
  160. package/lib/dist/morphology/painter/nodes.js +1 -1
  161. package/lib/dist/morphology/painter/painter.d.ts +1 -1
  162. package/lib/dist/morphology/painter/painter.js +2 -2
  163. package/lib/dist/morphology/painter/segments.d.ts +1 -2
  164. package/lib/dist/morphology/painter/segments.d.ts.map +1 -1
  165. package/lib/dist/morphology/painter/segments.js +1 -1
  166. package/lib/dist/morphology/painter/textures.d.ts +1 -1
  167. package/lib/dist/nrrd/index.js +3 -3
  168. package/lib/dist/package.json +3 -3
  169. package/lib/dist/painters/gizmo.d.ts +11 -0
  170. package/lib/dist/painters/gizmo.d.ts.map +1 -0
  171. package/lib/dist/painters/gizmo.js +53 -0
  172. package/lib/dist/parser/swc.d.ts +1 -1
  173. package/lib/dist/parser/swc.js +2 -2
  174. package/lib/dist/tools/morphology-to-tree.d.ts +2 -2
  175. package/lib/dist/tools/morphology-to-tree.js +1 -1
  176. package/lib/dist/tools/swc-to-tree.d.ts +1 -1
  177. package/lib/dist/tools/swc-to-tree.js +1 -1
  178. package/package.json +3 -3
  179. package/lib/dist/components/button-reset-camera/button-reset-camera.module.css +0 -10
  180. package/lib/dist/components/controls-layout/controls-layout.module.css +0 -53
  181. package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.module.css +0 -70
  182. package/lib/dist/components/morpho-viewer-scalebar/morpho-viewer-scalebar.module.css +0 -13
  183. package/lib/dist/components/morpho-viewer-simul/components/ModeSelector/ModeSelector.module.css +0 -25
  184. package/lib/dist/components/morpho-viewer-simul/components/add-recording-dialog/add-recording-dialog.module.css +0 -115
  185. package/lib/dist/components/morpho-viewer-simul/components/hint/hint.module.css +0 -23
  186. package/lib/dist/components/morpho-viewer-simul/components/legend-overlay/legend-overlay.module.css +0 -5
  187. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/current-time/current-time.module.css +0 -20
  188. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/play-button/play-button.module.css +0 -21
  189. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/simul-combo/simul-combo.module.css +0 -52
  190. package/lib/dist/components/morpho-viewer-simul/components/spiking-controller/speed-combo/speed-combo.module.css +0 -69
  191. package/lib/dist/components/morpho-viewer-simul/components/zoom-slider/zoom-slider.module.css +0 -60
  192. package/lib/dist/components/morpho-viewer-simul/morpho-viewer-simul.module.css +0 -94
  193. package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.module.css +0 -63
  194. package/lib/dist/components/tooltip/tooltip.module.css +0 -74
@@ -1,4 +1,3 @@
1
- import { TgdPainterSegmentsData } from "@tolokoban/tgd";
2
1
  import type { CellNodes } from "./nodes";
3
2
  export declare class Segments {
4
3
  private _data;
@@ -16,7 +15,7 @@ export declare class Segments {
16
15
  constructor(nodes: CellNodes);
17
16
  get count(): number;
18
17
  addSegment(indexNodeA: number, indexNodeB: number): void;
19
- get data(): TgdPainterSegmentsData;
18
+ get data(): any;
20
19
  private pushA;
21
20
  private pushB;
22
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../../src/morphology/painter/segments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAIxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2D;IACrF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;gBAE7C,KAAK,EAAE,SAAS;IAU5B,IAAI,KAAK,WAER;IAED,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IA6CjD,IAAI,IAAI,2BAcP;IAED,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,KAAK;CASd"}
1
+ {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../../src/morphology/painter/segments.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2D;IACrF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;gBAE7C,KAAK,EAAE,SAAS;IAU5B,IAAI,KAAK,WAER;IAED,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IA6CjD,IAAI,IAAI,QAcP;IAED,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,KAAK;CASd"}
@@ -1,5 +1,5 @@
1
1
  import { TgdPainterSegmentsData } from "@tolokoban/tgd";
2
- import { CellNodeType } from "./../../types.js";
2
+ import { CellNodeType } from "@/types";
3
3
  export class Segments {
4
4
  constructor(nodes) {
5
5
  this._data = null;
@@ -1,4 +1,4 @@
1
- import { ColorsInterface } from "../../colors";
1
+ import { ColorsInterface } from "@/colors";
2
2
  export declare function getRegionsTextureCanvas(somaVisible: boolean, { soma, axon, basalDendrite, apicalDendrite, unknown, }: Partial<{
3
3
  soma: string;
4
4
  axon: string;
@@ -1,8 +1,8 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { decompress } from "fflate";
3
- import { getHeaderLength } from "./get-header-length.js";
4
- import VolumeHeader from "./header.js";
5
- import Volume from "./volume.js";
3
+ import { getHeaderLength } from "./get-header-length";
4
+ import VolumeHeader from "./header";
5
+ import Volume from "./volume";
6
6
  export function parseNRRD(buffer) {
7
7
  return __awaiter(this, void 0, void 0, function* () {
8
8
  const data = new Uint8Array(buffer);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openbraininstitute/morphoviewer",
3
- "version": "0.25.3",
3
+ "version": "0.26.0",
4
4
  "description": "Class to display SWC files in 3D on a canvas",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -41,7 +41,7 @@
41
41
  "url": "https://github.com/openbraininstitute/morphoviewer/issues"
42
42
  },
43
43
  "dependencies": {
44
- "@tolokoban/tgd": "^2.0.136",
44
+ "@tolokoban/tgd": "^2.0.141",
45
45
  "fflate": "^0.8.2",
46
46
  "tslib": "^2.8.1"
47
47
  },
@@ -103,4 +103,4 @@
103
103
  "peerDependencies": {
104
104
  "react": "^19.2.5"
105
105
  }
106
- }
106
+ }
@@ -0,0 +1,11 @@
1
+ import { type TgdContext, type TgdPainterGizmoOptions, TgdPainterGroup } from "@tolokoban/tgd";
2
+ export declare class PainterGizmo extends TgdPainterGroup {
3
+ private _options;
4
+ private _context;
5
+ private _painter;
6
+ get options(): TgdPainterGizmoOptions | boolean;
7
+ set options(optionsOrBoolean: TgdPainterGizmoOptions | boolean);
8
+ get context(): TgdContext | null;
9
+ set context(context: TgdContext | null);
10
+ }
11
+ //# sourceMappingURL=gizmo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gizmo.d.ts","sourceRoot":"","sources":["../../src/painters/gizmo.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,sBAAsB,EAC3B,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAExB,qBAAa,YAAa,SAAQ,eAAe;IAC/C,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,QAAQ,CAAgC;IAEhD,IAAI,OAAO,IAGmB,sBAAsB,GAAG,OAAO,CAD7D;IACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,sBAAsB,GAAG,OAAO,EAgB7D;IAED,IAAI,OAAO,IAGU,UAAU,GAAG,IAAI,CADrC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,EAgBrC;CACF"}
@@ -0,0 +1,53 @@
1
+ import { TgdPainterGizmo, TgdPainterGroup, TgdPainterState, } from "@tolokoban/tgd";
2
+ export class PainterGizmo extends TgdPainterGroup {
3
+ constructor() {
4
+ super(...arguments);
5
+ this._options = DEFAULT_GIZMO_PROPS;
6
+ this._context = null;
7
+ this._painter = null;
8
+ }
9
+ get options() {
10
+ return this._options;
11
+ }
12
+ set options(optionsOrBoolean) {
13
+ if (optionsOrBoolean === false) {
14
+ this.removeAll();
15
+ this._painter = null;
16
+ this._options = DEFAULT_GIZMO_PROPS;
17
+ return;
18
+ }
19
+ const options = typeof optionsOrBoolean === "boolean" ? DEFAULT_GIZMO_PROPS : optionsOrBoolean;
20
+ this._options = options;
21
+ if (this._painter) {
22
+ this._painter.alignX = options.alignX;
23
+ this._painter.alignY = options.alignY;
24
+ this._painter.size = options.size;
25
+ this._painter.margin = options.margin;
26
+ }
27
+ }
28
+ get context() {
29
+ return this._context;
30
+ }
31
+ set context(context) {
32
+ if (context === this._context)
33
+ return;
34
+ this.removeAll();
35
+ this._context = context;
36
+ if (!context)
37
+ return;
38
+ const painter = new TgdPainterGizmo(context, this._options);
39
+ this._painter = painter;
40
+ this.add(new TgdPainterState(context, {
41
+ depth: "off",
42
+ blend: "alpha",
43
+ children: [painter],
44
+ }));
45
+ }
46
+ }
47
+ const DEFAULT_GIZMO_PROPS = {
48
+ alignX: +1,
49
+ alignY: -1,
50
+ size: 128,
51
+ margin: 8,
52
+ };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlcnMvZ2l6bW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGVBQWUsRUFFZixlQUFlLEVBQ2YsZUFBZSxHQUNoQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE1BQU0sT0FBTyxZQUFhLFNBQVEsZUFBZTtJQUFqRDs7UUFDVSxhQUFRLEdBQTJCLG1CQUFtQixDQUFDO1FBQ3ZELGFBQVEsR0FBc0IsSUFBSSxDQUFDO1FBQ25DLGFBQVEsR0FBMkIsSUFBSSxDQUFDO0lBMkNsRCxDQUFDO0lBekNDLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsZ0JBQWtEO1FBQzVELElBQUksZ0JBQWdCLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUM7WUFDcEMsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxPQUFPLGdCQUFnQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1FBQy9GLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE9BQTBCO1FBQ3BDLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUV0QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLE1BQU0sT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FDTixJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUU7WUFDM0IsS0FBSyxFQUFFLEtBQUs7WUFDWixLQUFLLEVBQUUsT0FBTztZQUNkLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQztTQUNwQixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELE1BQU0sbUJBQW1CLEdBQTJCO0lBQ2xELE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxFQUFFLEdBQUc7SUFDVCxNQUFNLEVBQUUsQ0FBQztDQUNWLENBQUMifQ==
@@ -1,4 +1,4 @@
1
- import { CellNodeType } from "../types";
1
+ import { CellNodeType } from "@/types";
2
2
  export interface CellNode {
3
3
  index: number;
4
4
  parent: number;
@@ -1,5 +1,5 @@
1
- import { CellNodeType } from "./../types.js";
2
- import { forEachLine } from "./for-each-line.js";
1
+ import { CellNodeType } from "@/types";
2
+ import { forEachLine } from "./for-each-line";
3
3
  export function parseSwc(content) {
4
4
  const nodes = [];
5
5
  for (const rawLine of forEachLine(content)) {
@@ -1,4 +1,4 @@
1
- import { type MorphoViewerTree } from "../components/morpho-viewer-simul/types/public";
2
- import type { Morphology } from "../components/morpho-viewer-simul/types/private";
1
+ import { type MorphoViewerTree } from "@/components/morpho-viewer-simul/types/public";
2
+ import type { Morphology } from "@/components/morpho-viewer-simul/types/private";
3
3
  export declare function morphoViewerConvertMorphologyIntoTree(morphology: Morphology, cellId: string): MorphoViewerTree;
4
4
  //# sourceMappingURL=morphology-to-tree.d.ts.map
@@ -1,4 +1,4 @@
1
- import { MorphoViewerTreeItemType, } from "./../components/morpho-viewer-simul/types/public.js";
1
+ import { MorphoViewerTreeItemType, } from "@/components/morpho-viewer-simul/types/public";
2
2
  export function morphoViewerConvertMorphologyIntoTree(morphology, cellId) {
3
3
  const tree = {
4
4
  cellId,
@@ -1,3 +1,3 @@
1
- import { type MorphoViewerTree } from "../components/morpho-viewer-simul/types/public";
1
+ import { type MorphoViewerTree } from "@/components/morpho-viewer-simul/types/public";
2
2
  export declare function morphoViewerConvertSwcIntoTree(swc: string, cellId: string): MorphoViewerTree;
3
3
  //# sourceMappingURL=swc-to-tree.d.ts.map
@@ -1,4 +1,4 @@
1
- import { MorphoViewerTreeItemType, } from "./../components/morpho-viewer-simul/types/public.js";
1
+ import { MorphoViewerTreeItemType, } from "@/components/morpho-viewer-simul/types/public";
2
2
  export function morphoViewerConvertSwcIntoTree(swc, cellId) {
3
3
  const tree = {
4
4
  cellId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openbraininstitute/morphoviewer",
3
- "version": "0.25.3",
3
+ "version": "0.26.0",
4
4
  "description": "Class to display SWC morphology files in 3D",
5
5
  "main": "./lib/dist/index.js",
6
6
  "module": "./lib/dist/index.js",
@@ -34,11 +34,11 @@
34
34
  "react": "^19.2.4"
35
35
  },
36
36
  "dependencies": {
37
- "@tolokoban/tgd": "^2.0.139",
37
+ "@tolokoban/tgd": "^2.0.141",
38
38
  "fflate": "^0.8.2",
39
39
  "tslib": "^2.8.1"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@biomejs/biome": "^2.4.15"
43
43
  }
44
- }
44
+ }
@@ -1,10 +0,0 @@
1
- .buttonResetCamera {
2
- transition: all 0.3s;
3
- opacity: 1;
4
- transform: translateY(0);
5
-
6
- &.hide {
7
- opacity: 0;
8
- transform: translateY(-100%);
9
- }
10
- }
@@ -1,53 +0,0 @@
1
- .controlsLayout {
2
- position: absolute;
3
- left: 0;
4
- top: 0;
5
- width: 100%;
6
- padding: 0.5em;
7
- display: flex;
8
- flex-wrap: wrap;
9
- flex-direction: row;
10
- justify-content: space-between;
11
- align-items: center;
12
- gap: 1em;
13
-
14
- div.group {
15
- padding: 0;
16
- margin: 0;
17
- display: flex;
18
- flex-wrap: nowrap;
19
- flex-direction: row;
20
- justify-content: flex-start;
21
- align-items: center;
22
- gap: .25em;
23
- }
24
-
25
- button,
26
- button {
27
- font: inherit;
28
- width: 2.5em;
29
- height: 2.5em;
30
- display: grid;
31
- place-items: center;
32
- flex: 0 0 auto;
33
- cursor: pointer;
34
- color: #fff;
35
- border: 2px solid #000;
36
- border-radius: 2px;
37
- background: #3a3a3a;
38
- margin: 0;
39
- box-sizing: border-box;
40
- transition: all 0.3s;
41
-
42
- &:hover {
43
- background-color: #adf;
44
- color: #000;
45
- }
46
-
47
- &:active {
48
- background-color: rgb(0, 153, 255);
49
- color: #000;
50
- }
51
- }
52
-
53
- }
@@ -1,70 +0,0 @@
1
- .morphoViewerOctree {
2
- position: relative;
3
-
4
- >canvas.webgl {
5
- position: absolute;
6
- left: 0;
7
- top: 0;
8
- width: 100%;
9
- height: 100%;
10
- margin: 0;
11
- background-color: #000;
12
- }
13
-
14
- >header {
15
- top: 0;
16
- }
17
-
18
- >header,
19
- >footer {
20
- position: absolute;
21
- left: 0;
22
- width: 100%;
23
- box-sizing: border-box;
24
- padding: 1em;
25
- margin: 0;
26
- display: flex;
27
- flex-wrap: nowrap;
28
- flex-direction: row;
29
- justify-content: space-between;
30
- align-items: center;
31
- gap: 2em;
32
-
33
- >div.flex {
34
- display: flex;
35
- flex-wrap: nowrap;
36
- flex-direction: row;
37
- justify-content: flex-start;
38
- align-items: center;
39
- gap: 0.5em;
40
- }
41
-
42
- button {
43
- font: inherit;
44
- width: 2.5em;
45
- height: 2.5em;
46
- display: grid;
47
- place-items: center;
48
- flex: 0 0 auto;
49
- cursor: pointer;
50
- color: #fff;
51
- border: 2px solid #000;
52
- border-radius: 2px;
53
- background: #3a3a3a;
54
- margin: 0;
55
- box-sizing: border-box;
56
- transition: all 0.3s;
57
-
58
- &:hover {
59
- background-color: #adf;
60
- color: #000;
61
- }
62
- }
63
-
64
- .zoomSlider {
65
- color: #fff;
66
- flex: 0 0 auto;
67
- width: 240px;
68
- }
69
- }
70
- }
@@ -1,13 +0,0 @@
1
- .morphoViewerScalebar {
2
- background: transparent;
3
- z-index: 1;
4
- }
5
-
6
- .defaultLayout {
7
- position: absolute;
8
- left: 8px;
9
- bottom: 8px;
10
- width: calc(100% - 16px - 128px);
11
- height: 1.4em;
12
- pointer-events: none;
13
- }
@@ -1,25 +0,0 @@
1
- div.modeSelector {
2
- display: flex;
3
- flex-wrap: nowrap;
4
- flex-direction: row;
5
- justify-content: flex-start;
6
- align-items: stretch;
7
- gap: 2px;
8
-
9
- > button.button {
10
- border-radius: 0;
11
-
12
- &.selected {
13
- background-color: #adf;
14
- color: #000;
15
- }
16
-
17
- &:first-child {
18
- border-radius: 8px 0 0 8px;
19
- }
20
-
21
- &:last-child {
22
- border-radius: 0 8px 8px 0;
23
- }
24
- }
25
- }
@@ -1,115 +0,0 @@
1
- .addRecordingDialog {
2
- position: absolute;
3
- left: 0;
4
- top: 0;
5
- width: 100%;
6
- height: 100%;
7
- display: grid;
8
- place-items: center;
9
- background-color: #0001;
10
- z-index: 10;
11
- opacity: 0;
12
- pointer-events: none;
13
- transition: all 0.3s;
14
-
15
- &.open {
16
- opacity: 1;
17
- pointer-events: all;
18
- }
19
-
20
- > div {
21
- background-color: #3333;
22
- backdrop-filter: blur(4px);
23
- color: #fff;
24
- padding: 1em;
25
- border-radius: 0.5em;
26
- border: 2px solid #fff4;
27
- transition: all 0.3s;
28
- margin: 4px;
29
-
30
- &.top {
31
- place-self: start center;
32
- }
33
-
34
- &.bottom {
35
- place-self: end center;
36
- }
37
-
38
- > header {
39
- width: 100%;
40
- display: flex;
41
- flex-wrap: nowrap;
42
- flex-direction: row;
43
- justify-content: space-between;
44
- align-items: center;
45
- gap: 1em;
46
- margin-top: -0.5em;
47
-
48
- > h2 {
49
- font-size: 150%;
50
- flex: 1 1 auto;
51
- margin: 0;
52
-
53
- > small {
54
- font-weight: normal;
55
- }
56
- }
57
-
58
- > button {
59
- flex: 0 0 auto;
60
- white-space: nowrap;
61
- font: inherit;
62
- font-weight: bold;
63
- color: #7bf;
64
- background: none;
65
- border: none;
66
- display: flex;
67
- flex-wrap: nowrap;
68
- flex-direction: row;
69
- justify-content: flex-start;
70
- align-items: center;
71
- gap: 0.5em;
72
-
73
- &:hover {
74
- text-decoration: underline;
75
- }
76
- }
77
- }
78
-
79
- hr {
80
- margin: 2em 0;
81
- width: 100%;
82
- height: 1px;
83
- border: none;
84
- background: linear-gradient(to right, transparent, currentColor, transparent);
85
- }
86
-
87
- .buttons {
88
- display: grid;
89
- grid-template-columns: 1fr 1fr;
90
- gap: 1em;
91
-
92
- > button {
93
- font: inherit;
94
- border: none;
95
- font-weight: bolder;
96
- text-align: center;
97
- display: grid;
98
- place-items: center;
99
- height: 2.5em;
100
- border-radius: 99vmax;
101
- background-color: #05a;
102
- border: 1px solid #fff7;
103
- color: #fffe;
104
- padding: 0 1em;
105
- box-shadow: 0 0.125em 0.25em #000;
106
- transition: all 0.3s;
107
-
108
- &:hover,
109
- &:active {
110
- filter: brightness(120%);
111
- }
112
- }
113
- }
114
- }
115
- }
@@ -1,23 +0,0 @@
1
- div.hintPanel {
2
- position: absolute;
3
- left: 1em;
4
- width: auto;
5
- height: auto;
6
- border-radius: 0.5em;
7
- border: 1px solid #fff3;
8
- background-color: #3333;
9
- backdrop-filter: blur(6px);
10
- pointer-events: none;
11
- z-index: 2;
12
- }
13
-
14
- div.hintContent {
15
- padding: 1em;
16
- display: grid;
17
- grid-template-columns: auto 1fr;
18
- gap: 0.25em 1em;
19
-
20
- > div:nth-child(2n) {
21
- font-weight: bolder;
22
- }
23
- }
@@ -1,5 +0,0 @@
1
- .legendOverlay {
2
- pointer-events: none;
3
- z-index: 1;
4
- background: transparent;
5
- }
@@ -1,20 +0,0 @@
1
- .currentTime {
2
- font-size: 90%;
3
- display: inline-block;
4
- position: absolute;
5
- width: 6em;
6
- text-align: center;
7
- left: calc(
8
- var(--custom-left) +
9
- var(--custom-progress) *
10
- (100% - var(--custom-left) - var(--custom-right))
11
- );
12
- bottom: calc(2 * var(--custom-bottom) + var(--custom-height));
13
- color: #fff;
14
- background-color: #000d;
15
- border-radius: 99vmax;
16
- padding: 0 0.5em;
17
- z-index: 999;
18
- transform: translateX(-3em);
19
- border: 1px solid #fff3;
20
- }
@@ -1,21 +0,0 @@
1
- button.playButton {
2
- position: absolute;
3
- left: 0;
4
- bottom: 0;
5
- width: 48px;
6
- height: 48px;
7
- display: grid;
8
- place-items: center;
9
- font-size: 32px;
10
- color: #fff;
11
- border: none;
12
- background: none;
13
- margin: 0;
14
- padding: 0;
15
- cursor: pointer;
16
-
17
- &:hover {
18
- background: none;
19
- color: #adf;
20
- }
21
- }
@@ -1,52 +0,0 @@
1
- .simulCombo {
2
- position: absolute;
3
- left: 48px;
4
- bottom: calc(40px + 32px);
5
- padding: 8px;
6
- }
7
-
8
- button.button {
9
- font: inherit;
10
- border: none;
11
- background: none;
12
- text-decoration: underline var(--custom-color) 0.25em;
13
- font-weight: bold;
14
- color: #fff;
15
- text-underline-offset: 0.25em;
16
- cursor: pointer;
17
- }
18
-
19
- div.dialog {
20
- backdrop-filter: brightness(0.333);
21
- position: absolute;
22
- left: 0;
23
- top: 0;
24
- width: 100%;
25
- height: 100%;
26
- opacity: 0;
27
- pointer-events: none;
28
- transition: all 0.2s;
29
- z-index: 9999;
30
-
31
- &.open {
32
- opacity: 1;
33
- pointer-events: all;
34
- }
35
-
36
- > div {
37
- display: flex;
38
- flex-wrap: nowrap;
39
- flex-direction: column;
40
- justify-content: flex-start;
41
- align-items: flex-start;
42
- gap: 1em;
43
- border: none;
44
- background: #0005;
45
- position: absolute;
46
- top: auto;
47
- left: 48px;
48
- bottom: calc(40px + 32px);
49
- padding: 8px;
50
- margin: 0;
51
- }
52
- }