@openbraininstitute/morphoviewer 0.24.22 → 0.24.24

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 (55) hide show
  1. package/README.md +24 -0
  2. package/lib/dist/behaviors/index.d.ts +2 -0
  3. package/lib/dist/behaviors/index.d.ts.map +1 -0
  4. package/lib/dist/behaviors/index.js +2 -0
  5. package/lib/dist/behaviors/space-per-pixel.d.ts +3 -0
  6. package/lib/dist/behaviors/space-per-pixel.d.ts.map +1 -0
  7. package/lib/dist/behaviors/space-per-pixel.js +13 -0
  8. package/lib/dist/components/{controls-layer → controls-layout}/controls-layout.d.ts +2 -2
  9. package/lib/dist/components/controls-layout/controls-layout.d.ts.map +1 -0
  10. package/lib/dist/components/controls-layout/controls-layout.js +39 -0
  11. package/lib/dist/components/controls-layout/index.d.ts +2 -0
  12. package/lib/dist/components/controls-layout/index.d.ts.map +1 -0
  13. package/lib/dist/components/controls-layout/index.js +2 -0
  14. package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.d.ts.map +1 -1
  15. package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.js +5 -4
  16. package/lib/dist/components/morpho-viewer-octree/morpho-viewer-octree.module.css +61 -61
  17. package/lib/dist/components/morpho-viewer-octree/painter/camera.d.ts +2 -2
  18. package/lib/dist/components/morpho-viewer-octree/painter/camera.d.ts.map +1 -1
  19. package/lib/dist/components/morpho-viewer-octree/painter/camera.js +3 -5
  20. package/lib/dist/components/morpho-viewer-octree/painter/manager.d.ts +2 -1
  21. package/lib/dist/components/morpho-viewer-octree/painter/manager.d.ts.map +1 -1
  22. package/lib/dist/components/morpho-viewer-octree/painter/manager.js +5 -3
  23. package/lib/dist/components/morpho-viewer-octree/types.d.ts +4 -4
  24. package/lib/dist/components/morpho-viewer-octree/types.d.ts.map +1 -1
  25. package/lib/dist/components/morpho-viewer-scalebar/index.d.ts +2 -0
  26. package/lib/dist/components/morpho-viewer-scalebar/index.d.ts.map +1 -0
  27. package/lib/dist/components/morpho-viewer-scalebar/index.js +2 -0
  28. package/lib/dist/components/morpho-viewer-scalebar/morpho-viewer-scalebar.d.ts +8 -0
  29. package/lib/dist/components/morpho-viewer-scalebar/morpho-viewer-scalebar.d.ts.map +1 -0
  30. package/lib/dist/components/morpho-viewer-scalebar/morpho-viewer-scalebar.js +37 -0
  31. package/lib/dist/components/morpho-viewer-scalebar/morpho-viewer-scalebar.module.css +13 -0
  32. package/lib/dist/components/morpho-viewer-scalebar/painter.d.ts +2 -0
  33. package/lib/dist/components/morpho-viewer-scalebar/painter.d.ts.map +1 -0
  34. package/lib/dist/components/morpho-viewer-scalebar/painter.js +61 -0
  35. package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.d.ts.map +1 -1
  36. package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.js +7 -9
  37. package/lib/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.module.css +53 -53
  38. package/lib/dist/components/morpho-viewer-small-circuit/painter/camera.d.ts.map +1 -1
  39. package/lib/dist/components/morpho-viewer-small-circuit/painter/camera.js +6 -4
  40. package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts +2 -1
  41. package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts.map +1 -1
  42. package/lib/dist/components/morpho-viewer-small-circuit/painter/manager.js +9 -1
  43. package/lib/dist/components/morpho-viewer-small-circuit/types.d.ts +4 -5
  44. package/lib/dist/components/morpho-viewer-small-circuit/types.d.ts.map +1 -1
  45. package/lib/dist/components/types.d.ts +8 -0
  46. package/lib/dist/components/types.d.ts.map +1 -0
  47. package/lib/dist/components/types.js +2 -0
  48. package/lib/dist/package.json +13 -3
  49. package/package.json +2 -2
  50. package/lib/dist/components/controls-layer/controls-layout.d.ts.map +0 -1
  51. package/lib/dist/components/controls-layer/controls-layout.js +0 -39
  52. package/lib/dist/components/controls-layer/index.d.ts +0 -2
  53. package/lib/dist/components/controls-layer/index.d.ts.map +0 -1
  54. package/lib/dist/components/controls-layer/index.js +0 -2
  55. /package/lib/dist/components/{controls-layer → controls-layout}/controls-layout.module.css +0 -0
@@ -0,0 +1,61 @@
1
+ const UNITS = ["m", "mm", "μm", "nm", "pm", "fm"];
2
+ const VALUES = [1, 2, 5, 10, 20, 25, 50, 100, 200, 250, 300, 400, 500, 600, 700, 800, 900];
3
+ export function paint(canvas, spacePerPixel, unitFactor = 1e-6) {
4
+ const ctx = canvas.getContext("2d");
5
+ if (!ctx)
6
+ return;
7
+ const w = canvas.width;
8
+ const h = canvas.height;
9
+ ctx.lineWidth = 2;
10
+ ctx.clearRect(0, 0, w, h);
11
+ const css = globalThis.getComputedStyle(canvas);
12
+ ctx.fillStyle = css.color;
13
+ ctx.strokeStyle = css.color;
14
+ ctx.font = `${css.fontSize} ${css.fontFamily}`;
15
+ const minStepWidth = 3 * ctx.measureText("999 mm").width;
16
+ const { unitText, width, value } = computeBestFit(w, spacePerPixel, unitFactor, minStepWidth);
17
+ let step = 0;
18
+ for (let stepX0 = 0; stepX0 + width < w; stepX0 += width) {
19
+ const stepX1 = stepX0 + width;
20
+ step++;
21
+ const text = `${value * step} ${unitText} `;
22
+ const measure = ctx.measureText(text);
23
+ const y = Math.round(measure.actualBoundingBoxAscent + measure.actualBoundingBoxDescent) + .5;
24
+ const x = Math.round(stepX1 - (width + measure.width) / 2) + .5;
25
+ ctx.fillText(text, x, y);
26
+ const x0 = Math.round(stepX0) + .5;
27
+ const x1 = Math.round(stepX1) + .5;
28
+ const yy = h - measure.actualBoundingBoxAscent;
29
+ ctx.beginPath();
30
+ ctx.moveTo(x0, yy);
31
+ ctx.lineTo(x0, h);
32
+ ctx.lineTo(x1, h);
33
+ ctx.lineTo(x1, yy);
34
+ ctx.stroke();
35
+ if (step > 99)
36
+ break;
37
+ }
38
+ }
39
+ function computeBestFit(scalebarSize, spacePerPixel, unitFactor, minStepWidth) {
40
+ const steps = Math.max(1, Math.floor(scalebarSize / minStepWidth));
41
+ const stepSize = scalebarSize / steps;
42
+ let stepValue = stepSize * spacePerPixel * unitFactor;
43
+ let unitText = "?";
44
+ let factor = unitFactor;
45
+ for (const candidate of UNITS) {
46
+ unitText = candidate;
47
+ if (stepValue >= 1)
48
+ break;
49
+ stepValue *= 1e3;
50
+ factor *= 1e3;
51
+ }
52
+ let bestValue = 1;
53
+ for (const candidate of VALUES) {
54
+ if (candidate > stepValue)
55
+ break;
56
+ bestValue = candidate;
57
+ }
58
+ const width = bestValue / (spacePerPixel * factor);
59
+ return { unitText, width, value: bestValue };
60
+ }
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc2NhbGViYXIvcGFpbnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFDakQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7QUFFMUYsTUFBTSxVQUFVLEtBQUssQ0FBQyxNQUF5QixFQUFFLGFBQXFCLEVBQUUsVUFBVSxHQUFHLElBQUk7SUFDckYsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNuQyxJQUFJLENBQUMsR0FBRztRQUFFLE9BQU07SUFFaEIsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQTtJQUN0QixNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFBO0lBQ3ZCLEdBQUcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFBO0lBQ2pCLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDekIsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQy9DLEdBQUcsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQTtJQUN6QixHQUFHLENBQUMsV0FBVyxH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
@@ -1 +1 @@
1
- {"version":3,"file":"morpho-viewer-small-circuit.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,GAAG,CAAC;AAyCvD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,2CA0C5E"}
1
+ {"version":3,"file":"morpho-viewer-small-circuit.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,GAAG,CAAC;AAyCvD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,2CAgD5E"}
@@ -2,9 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { tgdFullscreenToggle } from "@tolokoban/tgd";
3
3
  import React from "react";
4
4
  import { classNames } from "./../../utils.js";
5
- import ControlsLayout from "../controls-layer/index.js";
6
- import styles from "./morpho-viewer-small-circuit.module.css";
5
+ import { ControlsLayout } from "../controls-layout/index.js";
6
+ import MorphoViewerScalebar from "../morpho-viewer-scalebar/index.js";
7
7
  import { usePainterManager } from "./painter/index.js";
8
+ import styles from "./morpho-viewer-small-circuit.module.css";
8
9
  export function MorphoViewerSmallCircuit(props) {
9
10
  var _a, _b;
10
11
  const ref = React.useRef(null);
@@ -34,10 +35,10 @@ export function MorphoViewerSmallCircuit(props) {
34
35
  };
35
36
  return (_jsxs("div", { ref: ref, className: classNames(props.className, styles.morphoViewerSmallCircuit), style: {
36
37
  background: (_a = props.backgroundColor) !== null && _a !== void 0 ? _a : "#000",
37
- }, children: [_jsx(Canvas, { painterManager: manager }), _jsx(ControlsLayout, { content: (_b = props.controls) !== null && _b !== void 0 ? _b : getDefaultControls(props), onClick: handleControls })] }));
38
+ }, children: [_jsx(Canvas, { painterManager: manager }), _jsx(ControlsLayout, { content: (_b = props.controls) !== null && _b !== void 0 ? _b : getDefaultControls(props), onClick: handleControls }), props.scalebar && (_jsx(MorphoViewerScalebar, { className: props.scalebar, spacePerPixelEvent: manager.eventScalebar }))] }));
38
39
  }
39
40
  const Canvas = React.memo(({ painterManager }) => {
40
- return (_jsx("canvas", { ref: (canvas) => {
41
+ return (_jsx("canvas", { className: styles.webgl, ref: (canvas) => {
41
42
  painterManager.canvas = canvas;
42
43
  return () => {
43
44
  painterManager.canvas = null;
@@ -45,9 +46,6 @@ const Canvas = React.memo(({ painterManager }) => {
45
46
  } }, "canvas"));
46
47
  });
47
48
  function getDefaultControls(props) {
48
- return [
49
- "reset-camera",
50
- ["fullscreen", props.onClose && "close", props.onMinimize && "minimize"],
51
- ];
49
+ return ["reset-camera", ["fullscreen", props.onClose && "close", props.onMinimize && "minimize"]];
52
50
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0L21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBR3JDLE9BQU8sY0FBYyxNQUFNLG1CQUFtQixDQUFDO0FBSy9DLE9BQU8sTUFBTSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlELE9BQU8sRUFBdUIsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUF1Q25FLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFvQzs7SUFDNUUsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBd0IsSUFBSSxDQUFDLENBQUM7SUFDdEQsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLEVBQUU7UUFDbkMsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRztZQUFFLE9BQU87UUFFakIsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQyxDQUFDO0lBRUYsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFxQixFQUFRLEVBQUU7O1FBQ3RELFFBQVEsTUFBTSxFQUFFLENBQUM7WUFDaEIsS0FBSyxZQUFZO2dCQUNoQixzQkFBc0IsRUFBRSxDQUFDO2dCQUN6QixNQUFNO1lBQ1AsS0FBSyxjQUFjO2dCQUNsQixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3RCLE1BQU07WUFDUCxLQUFLLE9BQU87Z0JBQ1gsTUFBQSxLQUFLLENBQUMsT0FBTyxxREFBSSxDQUFDO2dCQUNsQixNQUFNO1lBQ1AsS0FBSyxVQUFVO2dCQUNkLE1BQUEsS0FBSyxDQUFDLFVBQVUscURBQUksQ0FBQztnQkFDckIsTUFBTTtRQUNSLENBQUM7SUFDRixDQUFDLENBQUM7SUFFRixPQUFPLENBQ04sZUFDQyxHQUFHLEVBQUUsR0FBRyxFQUNSLFNBQVMsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsd0JBQXdCLENBQUMsRUFDdkUsS0FBSyxFQUFFO1lBQ04sVUFBVSxFQUFFLE1BQUEsS0FBSyxDQUFDLGVBQWUsbUNBQUksTUFBTTtTQUMzQyxhQUVELEtBQUMsTUFBTSxJQUFDLGNBQWMsRUFBRSxPQUFPLEdBQUksRUFDbkMsS0FBQyxjQUFjLElBQ2QsT0FBTyxFQUFFLE1BQUEsS0FBSyxDQUFDLFFBQVEsbUNBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQ3BELE9BQU8sRUFBRSxjQUFjLEdBQ3RCLElBQ0csQ0FDTixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ3hCLENBQUMsRUFBRSxjQUFjLEVBQXNDLEVBQUUsRUFBRTtJQUMxRCxPQUFPLENBQ04saUJBRUMsR0FBRyxFQUFFLENBQUMsTUFBZ0MsRUFBRSxFQUFFO1lBQ3pDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQy9CLE9BQU8sR0FBRyxFQUFFO2dCQUNYLGNBQWMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQzlCLENBQUMsQ0FBQztRQUNILENBQUMsSUFORyxRQUFRLENBT1gsQ0FDRixDQUFDO0FBQ0gsQ0FBQyxDQUNELENBQUM7QUFFRixTQUFTLGtCQUFrQixDQUFDLEtBQW9DO0lBQy9ELE9BQU87UUFDTixjQUFjO1FBQ2QsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxPQUFPLEVBQUUsS0FBSyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUM7S0FDeEUsQ0FBQztBQUNILENBQUMifQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0L21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXJDLE9BQU8sRUFBc0IsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEUsT0FBTyxvQkFBb0IsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQXVCLGlCQUFpQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSW5FLE9BQU8sTUFBTSxNQUFNLDBDQUEwQyxDQUFDO0FBdUM5RCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBb0M7O0lBQzNFLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQXdCLElBQUksQ0FBQyxDQUFDO0lBQ3RELE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxFQUFFO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBRWpCLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FBQztJQUVGLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBcUIsRUFBUSxFQUFFOztRQUNyRCxRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2YsS0FBSyxZQUFZO2dCQUNmLHNCQUFzQixFQUFFLENBQUM7Z0JBQ3pCLE1BQU07WUFDUixLQUFLLGNBQWM7Z0JBQ2pCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDdEIsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixNQUFBLEtBQUssQ0FBQyxPQUFPLHFEQUFJLENBQUM7Z0JBQ2xCLE1BQU07WUFDUixLQUFLLFVBQVU7Z0JBQ2IsTUFBQSxLQUFLLENBQUMsVUFBVSxxREFBSSxDQUFDO2dCQUNyQixNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLE9BQU8sQ0FDTCxlQUNFLEdBQUcsRUFBRSxHQUFHLEVBQ1IsU0FBUyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxFQUN2RSxLQUFLLEVBQUU7WUFDTCxVQUFVLEVBQUUsTUFBQSxLQUFLLENBQUMsZUFBZSxtQ0FBSSxNQUFNO1NBQzVDLGFBRUQsS0FBQyxNQUFNLElBQUMsY0FBYyxFQUFFLE9BQU8sR0FBSSxFQUNuQyxLQUFDLGNBQWMsSUFDYixPQUFPLEVBQUUsTUFBQSxLQUFLLENBQUMsUUFBUSxtQ0FBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFDcEQsT0FBTyxFQUFFLGNBQWMsR0FDdkIsRUFDRCxLQUFLLENBQUMsUUFBUSxJQUFJLENBQ2pCLEtBQUMsb0JBQW9CLElBQ25CLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUN6QixrQkFBa0IsRUFBRSxPQUFPLENBQUMsYUFBYSxHQUN6QyxDQUNILElBQ0csQ0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBc0MsRUFBRSxFQUFFO0lBQ25GLE9BQU8sQ0FDTCxpQkFFRSxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFDdkIsR0FBRyxFQUFFLENBQUMsTUFBZ0MsRUFBRSxFQUFFO1lBQ3hDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQy9CLE9BQU8sR0FBRyxFQUFFO2dCQUNWLGNBQWMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQy9CLENBQUMsQ0FBQztRQUNKLENBQUMsSUFQRyxRQUFRLENBUVosQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUM7QUFFSCxTQUFTLGtCQUFrQixDQUFDLEtBQW9DO0lBQzlELE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxPQUFPLEVBQUUsS0FBSyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ3BHLENBQUMifQ==
@@ -1,63 +1,63 @@
1
1
  .morphoViewerSmallCircuit {
2
- position: relative;
3
- left: 0;
4
- top: 0;
5
- width: 100%;
6
- height: 100%;
7
- color: #fff;
8
-
9
- > canvas {
10
- position: absolute;
2
+ position: relative;
11
3
  left: 0;
12
4
  top: 0;
13
5
  width: 100%;
14
6
  height: 100%;
15
- }
7
+ color: #fff;
16
8
 
17
- > header {
18
- position: absolute;
19
- left: 0;
20
- top: 0;
21
- width: 100%;
22
- box-sizing: border-box;
23
- padding: 1em;
24
- margin: 0;
25
- display: flex;
26
- flex-wrap: nowrap;
27
- flex-direction: row;
28
- justify-content: space-between;
29
- align-items: center;
30
- gap: 2em;
31
-
32
- > div.flex {
33
- display: flex;
34
- flex-wrap: nowrap;
35
- flex-direction: row;
36
- justify-content: flex-start;
37
- align-items: center;
38
- gap: 0.5em;
9
+ >canvas.webgl {
10
+ position: absolute;
11
+ left: 0;
12
+ top: 0;
13
+ width: 100%;
14
+ height: 100%;
39
15
  }
40
16
 
41
- button {
42
- font: inherit;
43
- width: 2.5em;
44
- height: 2.5em;
45
- display: grid;
46
- place-items: center;
47
- flex: 0 0 auto;
48
- cursor: pointer;
49
- color: #fff;
50
- border: 2px solid #000;
51
- border-radius: 2px;
52
- background: #3a3a3a;
53
- margin: 0;
54
- box-sizing: border-box;
55
- transition: all 0.3s;
17
+ >header {
18
+ position: absolute;
19
+ left: 0;
20
+ top: 0;
21
+ width: 100%;
22
+ box-sizing: border-box;
23
+ padding: 1em;
24
+ margin: 0;
25
+ display: flex;
26
+ flex-wrap: nowrap;
27
+ flex-direction: row;
28
+ justify-content: space-between;
29
+ align-items: center;
30
+ gap: 2em;
31
+
32
+ >div.flex {
33
+ display: flex;
34
+ flex-wrap: nowrap;
35
+ flex-direction: row;
36
+ justify-content: flex-start;
37
+ align-items: center;
38
+ gap: 0.5em;
39
+ }
40
+
41
+ button {
42
+ font: inherit;
43
+ width: 2.5em;
44
+ height: 2.5em;
45
+ display: grid;
46
+ place-items: center;
47
+ flex: 0 0 auto;
48
+ cursor: pointer;
49
+ color: #fff;
50
+ border: 2px solid #000;
51
+ border-radius: 2px;
52
+ background: #3a3a3a;
53
+ margin: 0;
54
+ box-sizing: border-box;
55
+ transition: all 0.3s;
56
56
 
57
- &:hover {
58
- background-color: #adf;
59
- color: #000;
60
- }
57
+ &:hover {
58
+ background-color: #adf;
59
+ color: #000;
60
+ }
61
+ }
61
62
  }
62
- }
63
- }
63
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-small-circuit/painter/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,UAAU,EAEf,KAAK,QAAQ,EAGd,MAAM,gBAAgB,CAAC;AAKxB,qBAAa,aAAa;IAOtB,OAAO,CAAC,QAAQ,CAAC,OAAO;aACR,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC;IAPlD,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAM;IAE5C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,KAAK,CAAyC;gBAGnC,OAAO,EAAE,UAAU,EACpB,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC;IAWzD,WAAW;IAWX,MAAM;IAMN,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE/B;CACH"}
1
+ {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-small-circuit/painter/camera.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,cAAc,EACnB,KAAK,UAAU,EAEf,KAAK,QAAQ,EAGhB,MAAM,gBAAgB,CAAA;AAKvB,qBAAa,aAAa;IAOlB,OAAO,CAAC,QAAQ,CAAC,OAAO;aACR,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC;IAPpD,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAM;IAE5C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,KAAK,CAAyC;gBAGjC,OAAO,EAAE,UAAU,EACpB,oBAAoB,EAAE,QAAQ,CAAC,OAAO,CAAC;IAa3D,WAAW;IAWX,MAAM;IAMN,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE/B;CACL"}
@@ -1,6 +1,6 @@
1
- import { TgdControllerCameraOrbit, tgdActionCreateCameraInterpolation, tgdEasingFunctionInOutCubic, } from "@tolokoban/tgd";
2
- const ZOOM_MIN = 0.5;
3
- const ZOOM_MAX = 20;
1
+ import { TgdCameraOrthographic, TgdControllerCameraOrbit, tgdActionCreateCameraInterpolation, tgdEasingFunctionInOutCubic, } from "@tolokoban/tgd";
2
+ const ZOOM_MIN = 0.25;
3
+ const ZOOM_MAX = 100;
4
4
  export class CameraManager {
5
5
  constructor(context, eventRestingPosition) {
6
6
  this.context = context;
@@ -11,6 +11,8 @@ export class CameraManager {
11
11
  this.hanleOrbitChange = () => {
12
12
  this.eventRestingPosition.dispatch(false);
13
13
  };
14
+ const camera = new TgdCameraOrthographic();
15
+ context.camera = camera;
14
16
  this.orbit = new TgdControllerCameraOrbit(context, {
15
17
  inertiaOrbit: 1000,
16
18
  minZoom: ZOOM_MIN,
@@ -36,4 +38,4 @@ export class CameraManager {
36
38
  this.context.animCancelArray(this.animations);
37
39
  }
38
40
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0L3BhaW50ZXIvY2FtZXJhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCx3QkFBd0IsRUFFeEIsa0NBQWtDLEVBQ2xDLDJCQUEyQixHQUM1QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztBQUNyQixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7QUFFcEIsTUFBTSxPQUFPLGFBQWE7SUFNeEIsWUFDbUIsT0FBbUIsRUFDcEIsb0JBQXVDO1FBRHRDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDcEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFtQjtRQVBsRCxXQUFNLEdBQTRCLEVBQUUsQ0FBQztRQUVwQyxlQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUNoQyxVQUFLLEdBQW9DLElBQUksQ0FBQztRQWdDckMscUJBQWdCLEdBQUcsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDO1FBNUJBLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxPQUFPLEVBQUU7WUFDakQsWUFBWSxFQUFFLElBQUk7WUFDbEIsT0FBTyxFQUFFLFFBQVE7WUFDakIsT0FBTyxFQUFFLFFBQVE7U0FDbEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFELG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVztRQUNULE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDekIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQ3JDLFFBQVEsRUFBRSxHQUFHO1lBQ2IsY0FBYyxFQUFFLDJCQUEyQjtZQUMzQyxNQUFNLEVBQUUsa0NBQWtDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3ZFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztTQUN0RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTTs7UUFDSixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBS0YifQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0L3BhaW50ZXIvY2FtZXJhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxxQkFBcUIsRUFHckIsd0JBQXdCLEVBRXhCLGtDQUFrQyxFQUNsQywyQkFBMkIsR0FDOUIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV2QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUE7QUFDckIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFBO0FBRXBCLE1BQU0sT0FBTyxhQUFhO0lBTXRCLFlBQ3FCLE9BQW1CLEVBQ3BCLG9CQUF1QztRQUR0QyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ3BCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBbUI7UUFQcEQsV0FBTSxHQUE0QixFQUFFLENBQUM7UUFFcEMsZUFBVSxHQUFtQixFQUFFLENBQUM7UUFDaEMsVUFBSyxHQUFvQyxJQUFJLENBQUM7UUFrQ3JDLHFCQUFnQixHQUFHLEdBQUcsRUFBRTtZQUNyQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzdDLENBQUMsQ0FBQztRQTlCRSxNQUFNLE1BQU0sR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUE7UUFDMUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHdCQUF3QixDQUFDLE9BQU8sRUFBRTtZQUMvQyxZQUFZLEVBQUUsSUFBSTtZQUNsQixPQUFPLEVBQUUsUUFBUTtZQUNqQixPQUFPLEVBQUUsUUFBUTtTQUNwQixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDekQsb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1AsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQTtRQUN4QixPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDbkMsUUFBUSxFQUFFLEdBQUc7WUFDYixjQUFjLEVBQUUsMkJBQTJCO1lBQzNDLE1BQU0sRUFBRSxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdkUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1NBQ3hELENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxNQUFNOztRQUNGLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsTUFBTSxFQUFFLENBQUE7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2pELENBQUM7Q0FLSiJ9
@@ -1,9 +1,10 @@
1
- import { TgdEvent, TgdPainterGizmoOptions } from "@tolokoban/tgd";
1
+ import { TgdEvent, type TgdPainterGizmoOptions } from "@tolokoban/tgd";
2
2
  import type { MorphoViewerSmallCircuitCell, MorphoViewerSmallCircuitCellData, MorphoViewerSmallCircuitProps } from "..";
3
3
  export declare class PainterManager {
4
4
  readonly eventRestingPosition: TgdEvent<boolean>;
5
5
  readonly eventCellHover: TgdEvent<MorphoViewerSmallCircuitCell | undefined>;
6
6
  readonly eventCellClick: TgdEvent<MorphoViewerSmallCircuitCell | undefined>;
7
+ readonly eventScalebar: TgdEvent<number>;
7
8
  onLoadProgress?(progress: number): void;
8
9
  private readonly viewportMatchingScale;
9
10
  private _canvas;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-small-circuit/painter/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-small-circuit/painter/manager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { TgdBoundingBox, TgdCameraPerspective, TgdColor, TgdContext, TgdEvent, TgdFilterBlur, TgdPainterClear, TgdPainterFilter, TgdPainterFramebufferWithAntiAliasing, TgdPainterGizmo, TgdPainterGroup, TgdPainterMix, TgdPainterState, TgdTexture2D, webglPresetBlend, webglPresetDepth, } from "@tolokoban/tgd";
2
2
  import React from "react";
3
+ import { watchSpacePerPixel } from "./../../../behaviors/index.js";
3
4
  import { CacheLRU } from "./../../../tools/cache-lru.js";
4
5
  import { CameraManager } from "./camera.js";
5
6
  import { OffscreenPainter } from "./offscreen-painter/index.js";
@@ -15,6 +16,7 @@ export class PainterManager {
15
16
  this.eventRestingPosition = new TgdEvent();
16
17
  this.eventCellHover = new TgdEvent();
17
18
  this.eventCellClick = new TgdEvent();
19
+ this.eventScalebar = new TgdEvent();
18
20
  this.viewportMatchingScale = 0.2;
19
21
  this._canvas = null;
20
22
  this._background = "#000";
@@ -237,6 +239,7 @@ export class PainterManager {
237
239
  if (!canvas)
238
240
  return;
239
241
  const context = new TgdContext(canvas);
242
+ watchSpacePerPixel(context, this.eventScalebar);
240
243
  context.inputs.pointer.eventHover.addListener(this.handlePointerHover);
241
244
  context.inputs.pointer.eventTap.addListener(this.handlePointerTap);
242
245
  this.context = context;
@@ -377,11 +380,16 @@ export class PainterManager {
377
380
  }
378
381
  }
379
382
  export function usePainterManager({ backgroundColor, circuit, loadCell, onCellHover, onCellClick, highlightedCellIds, onLoadProgress, gizmo, }) {
383
+ const [, setSpacePerPixel] = React.useState(-1);
380
384
  const ref = React.useRef(null);
381
385
  if (!ref.current) {
382
386
  ref.current = new PainterManager();
383
387
  }
384
388
  const manager = ref.current;
389
+ React.useEffect(() => {
390
+ manager.eventScalebar.addListener(setSpacePerPixel);
391
+ return () => manager.eventScalebar.removeListener(setSpacePerPixel);
392
+ }, [manager]);
385
393
  React.useEffect(() => {
386
394
  manager.onLoadProgress = onLoadProgress;
387
395
  }, [onLoadProgress, manager]);
@@ -415,4 +423,4 @@ export function usePainterManager({ backgroundColor, circuit, loadCell, onCellHo
415
423
  }, [gizmo, manager]);
416
424
  return ref.current;
417
425
  }
418
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC9wYWludGVyL21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLFVBQVUsRUFDVixRQUFRLEVBQ1IsYUFBYSxFQUliLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIscUNBQXFDLEVBQ3JDLGVBQWUsRUFFZixlQUFlLEVBQ2YsYUFBYSxFQUNiLGVBQWUsRUFDZixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGdCQUFnQixHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFhN0MsTUFBTSxtQkFBbUIsR0FBMkI7SUFDbEQsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDVixJQUFJLEVBQUUsR0FBRztJQUNULE1BQU0sRUFBRSxDQUFDO0NBQ1YsQ0FBQztBQUVGLE1BQU0sT0FBTyxjQUFjO0lBQTNCO1FBQ2tCLHlCQUFvQixHQUFHLElBQUksUUFBUSxFQUFXLENBQUM7UUFDL0MsbUJBQWMsR0FBRyxJQUFJLFFBQVEsRUFBNEMsQ0FBQztRQUMxRSxtQkFBYyxHQUFHLElBQUksUUFBUSxFQUE0QyxDQUFDO1FBYXpFLDBCQUFxQixHQUFHLEdBQUcsQ0FBQztRQUNyQyxZQUFPLEdBQTZCLElBQUksQ0FBQztRQUN6QyxnQkFB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
426
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC9wYWludGVyL21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLFVBQVUsRUFDVixRQUFRLEVBQ1IsYUFBYSxFQUliLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIscUNBQXFDLEVBQ3JDLGVBQWUsRUFFZixlQUFlLEVBQ2YsYUFBYSxFQUNiLGVBQWUsRUFDZixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGdCQUFnQixHQUNuQixNQUFNLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUV6QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRTVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBYTVDLE1BQU0sbUJBQW1CLEdBQTJCO0lBQ2hELE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxFQUFFLEdBQUc7SUFDVCxNQUFNLEVBQUUsQ0FBQztDQUNaLENBQUE7QUFFRCxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNvQix5QkFBb0IsR0FBRyxJQUFJLFFBQVEsRUFBVyxDQUFDO1FBQy9DLG1CQUFjLEdBQUcsSUFBSSxRQUFRLEVBQTRDLENBQUM7UUFDMUUsbUJBQWMsR0FBRyxJQUFJLFFBQVEsRUFBNEMsQ0FBQztRQUkxRSxrQkFBYSxHQUFHLElBQUks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
@@ -1,5 +1,5 @@
1
- import { TgdPainterGizmoOptions } from "@tolokoban/tgd";
2
- import { ControlsLayoutProps } from "../controls-layer/controls-layout";
1
+ import { ControlsLayoutProps } from "../controls-layout/controls-layout";
2
+ import { PropsForGizmo, PropsForScalebar } from "../types";
3
3
  import type { MorphoViewerTree } from "../morpho-viewer-simul";
4
4
  export interface MorphoViewerSmallCircuitCell {
5
5
  id: string;
@@ -12,7 +12,7 @@ export type MorphoViewerSmallCircuitCellData = {
12
12
  type: "tree";
13
13
  data: MorphoViewerTree;
14
14
  };
15
- export interface MorphoViewerSmallCircuitProps {
15
+ export type MorphoViewerSmallCircuitProps = PropsForGizmo & PropsForScalebar & {
16
16
  className?: string;
17
17
  backgroundColor?: string;
18
18
  circuit: MorphoViewerSmallCircuitCell[];
@@ -23,7 +23,6 @@ export interface MorphoViewerSmallCircuitProps {
23
23
  onMinimize?(): void;
24
24
  loadCell(id: string): Promise<MorphoViewerSmallCircuitCellData | null>;
25
25
  onLoadProgress?(progress: number): void;
26
- gizmo?: boolean | TgdPainterGizmoOptions;
27
26
  controls?: ControlsLayoutProps["content"];
28
- }
27
+ };
29
28
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-small-circuit/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,MAAM,WAAW,4BAA4B;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACzC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACzD,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,gBAAgB,CAAA;CACzB,CAAA;AAED,MAAM,WAAW,6BAA6B;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,4BAA4B,EAAE,CAAA;IAIvC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,WAAW,CAAC,CAAC,IAAI,EAAE,4BAA4B,GAAG,SAAS,GAAG,IAAI,CAAA;IAClE,WAAW,CAAC,CAAC,IAAI,EAAE,4BAA4B,GAAG,SAAS,GAAG,IAAI,CAAA;IAClE,OAAO,CAAC,IAAI,IAAI,CAAA;IAChB,UAAU,CAAC,IAAI,IAAI,CAAA;IAKnB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAA;IAOtE,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAWvC,KAAK,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAA;IAUxC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;CAC5C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-small-circuit/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,MAAM,WAAW,4BAA4B;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACzC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACzD,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,gBAAgB,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG,aAAa,GAAG,gBAAgB,GAAG;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,4BAA4B,EAAE,CAAA;IAIvC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,WAAW,CAAC,CAAC,IAAI,EAAE,4BAA4B,GAAG,SAAS,GAAG,IAAI,CAAA;IAClE,WAAW,CAAC,CAAC,IAAI,EAAE,4BAA4B,GAAG,SAAS,GAAG,IAAI,CAAA;IAClE,OAAO,CAAC,IAAI,IAAI,CAAA;IAChB,UAAU,CAAC,IAAI,IAAI,CAAA;IAKnB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAA;IAOtE,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;CAC5C,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { TgdPainterGizmoOptions } from "@tolokoban/tgd";
2
+ export interface PropsForGizmo {
3
+ gizmo?: boolean | TgdPainterGizmoOptions;
4
+ }
5
+ export interface PropsForScalebar {
6
+ scalebar?: boolean | string;
7
+ }
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,WAAW,aAAa;IAW1B,KAAK,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAA;CAC3C;AAED,MAAM,WAAW,gBAAgB;IAS7B,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAC9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openbraininstitute/morphoviewer",
3
- "version": "0.24.22",
3
+ "version": "0.24.24",
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",
@@ -11,7 +11,8 @@
11
11
  ],
12
12
  "scripts": {
13
13
  "clean": "rm -rf ./dist .tsbuildinfo",
14
- "doc": "typedoc --watch",
14
+ "doc": "typedoc",
15
+ "doc:watch": "typedoc --watch",
15
16
  "prebuild": "npm run clean",
16
17
  "build": "build-typescript-library .",
17
18
  "prestart": "npm run clean",
@@ -30,8 +31,17 @@
30
31
  ],
31
32
  "author": "Fabien PETITJEAN <fabien.petitjean@epfl.ch>",
32
33
  "license": "ISC",
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "git+https://github.com/openbraininstitute/morphoviewer.git",
37
+ "directory": "lib"
38
+ },
39
+ "homepage": "https://openbraininstitute.github.io/morphoviewer/",
40
+ "bugs": {
41
+ "url": "https://github.com/openbraininstitute/morphoviewer/issues"
42
+ },
33
43
  "dependencies": {
34
- "@tolokoban/tgd": "^2.0.130",
44
+ "@tolokoban/tgd": "^2.0.132",
35
45
  "fflate": "^0.8.2",
36
46
  "tslib": "^2.8.1"
37
47
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openbraininstitute/morphoviewer",
3
- "version": "0.24.22",
3
+ "version": "0.24.24",
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,7 +34,7 @@
34
34
  "react": "^19.2.4"
35
35
  },
36
36
  "dependencies": {
37
- "@tolokoban/tgd": "^2.0.126",
37
+ "@tolokoban/tgd": "^2.0.132",
38
38
  "fflate": "^0.8.2",
39
39
  "tslib": "^2.8.1"
40
40
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"controls-layout.d.ts","sourceRoot":"","sources":["../../../src/components/controls-layer/controls-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,MAAM,aAAa,GACtB,YAAY,GACZ,cAAc,GACd,UAAU,GACV,OAAO,CAAC;AAEX,MAAM,WAAW,mBAAmB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CACN,aAAa,GACb,KAAK,CAAC,SAAS,GACf,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CACrC,EAAE,CAAC;IACJ,OAAO,CAAC,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACtC,SAAS,EACT,OAAO,EACP,OAAO,GACP,EAAE,mBAAmB,2CAMrB"}
@@ -1,39 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { classNames } from "./../../utils.js";
3
- import { IconCenter } from "../icons/center.js";
4
- import { IconClose } from "../icons/close.js";
5
- import { IconFullscreen } from "../icons/fullscreen.js";
6
- import { IconMinimize } from "../icons/minimize.js";
7
- import styles from "./controls-layout.module.css";
8
- export default function ControlsLayout({ className, content, onClick, }) {
9
- return (_jsx("div", { className: classNames(className, styles.controlsLayout), children: renderContent(content, onClick) }));
10
- }
11
- function renderContent(content, onClick) {
12
- return content.map((action, index) => {
13
- if (Array.isArray(action)) {
14
- return (_jsx("div", { className: styles.group, children: renderContent(action, onClick) }, index));
15
- }
16
- switch (action) {
17
- case "close":
18
- case "fullscreen":
19
- case "minimize":
20
- case "reset-camera":
21
- return renderButton(action, onClick, index);
22
- default:
23
- return action;
24
- }
25
- });
26
- }
27
- function renderButton(action, onClick, index) {
28
- const Icon = ICONS[action];
29
- if (!Icon)
30
- return null;
31
- return (_jsx("button", { className: styles.button, type: "button", "aria-label": action, onClick: () => onClick === null || onClick === void 0 ? void 0 : onClick(action), children: _jsx(Icon, {}) }, index));
32
- }
33
- const ICONS = {
34
- "reset-camera": IconCenter,
35
- close: IconClose,
36
- fullscreen: IconFullscreen,
37
- minimize: IconMinimize,
38
- };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHMtbGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29udHJvbHMtbGF5ZXIvY29udHJvbHMtbGF5b3V0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxNQUFNLE1BQU0sOEJBQThCLENBQUM7QUFrQmxELE1BQU0sQ0FBQyxPQUFPLFVBQVUsY0FBYyxDQUFDLEVBQ3RDLFNBQVMsRUFDVCxPQUFPLEVBQ1AsT0FBTyxHQUNjO0lBQ3JCLE9BQU8sQ0FDTixjQUFLLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsWUFDMUQsYUFBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FDM0IsQ0FDTixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUNyQixPQUF1QyxFQUN2QyxPQUF5QztJQUV6QyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDcEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDM0IsT0FBTyxDQUNOLGNBQWlCLFNBQVMsRUFBRSxNQUFNLENBQUMsS0FBSyxZQUN0QyxhQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUR0QixLQUFLLENBRVQsQ0FDTixDQUFDO1FBQ0gsQ0FBQztRQUNELFFBQVEsTUFBTSxFQUFFLENBQUM7WUFDaEIsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLFlBQVksQ0FBQztZQUNsQixLQUFLLFVBQVUsQ0FBQztZQUNoQixLQUFLLGNBQWM7Z0JBQ2xCLE9BQU8sWUFBWSxDQUFDLE1BQXVCLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzlEO2dCQUNDLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7SUFDRixDQUFDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FDcEIsTUFBcUIsRUFDckIsT0FBc0QsRUFDdEQsS0FBYTtJQUViLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRXZCLE9BQU8sQ0FDTixpQkFFQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFDeEIsSUFBSSxFQUFDLFFBQVEsZ0JBQ0QsTUFBTSxFQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFHLE1BQU0sQ0FBQyxZQUVoQyxLQUFDLElBQUksS0FBRyxJQU5ILEtBQUssQ0FPRixDQUNULENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxLQUFLLEdBQW9DO0lBQzlDLGNBQWMsRUFBRSxVQUFVO0lBQzFCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLFVBQVUsRUFBRSxjQUFjO0lBQzFCLFFBQVEsRUFBRSxZQUFZO0NBQ3RCLENBQUMifQ==
@@ -1,2 +0,0 @@
1
- export { default } from "./controls-layout";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/controls-layer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA"}
@@ -1,2 +0,0 @@
1
- export { default } from "./controls-layout.js";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jb250cm9scy1sYXllci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUEifQ==