react-cheminfo 0.40.0 → 0.40.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/molecule3d/ui/viewer.d.ts.map +1 -1
- package/lib/molecule3d/ui/viewer.js +4 -6
- package/lib/molecule3d/ui/viewer.js.map +1 -1
- package/lib/{molecule3d/ui → molstar/core}/captureScene.d.ts +1 -1
- package/lib/molstar/core/captureScene.d.ts.map +1 -0
- package/lib/molstar/core/captureScene.js.map +1 -0
- package/lib/molstar/core/hover.js +2 -1
- package/lib/molstar/core/hover.js.map +1 -1
- package/lib/molstar/core/index.d.ts +19 -0
- package/lib/molstar/core/index.d.ts.map +1 -1
- package/lib/molstar/core/index.js +18 -0
- package/lib/molstar/core/index.js.map +1 -1
- package/lib/{molecule3d/ui → molstar/core}/measurements.d.ts +6 -6
- package/lib/molstar/core/measurements.d.ts.map +1 -0
- package/lib/{molecule3d/ui → molstar/core}/measurements.js +7 -5
- package/lib/molstar/core/measurements.js.map +1 -0
- package/lib/molstar/core/plugin.d.ts +4 -1
- package/lib/molstar/core/plugin.d.ts.map +1 -1
- package/lib/molstar/core/plugin.js +4 -1
- package/lib/molstar/core/plugin.js.map +1 -1
- package/package.json +2 -2
- package/src/molecule3d/ui/viewer.ts +16 -8
- package/src/{molecule3d/ui → molstar/core}/captureScene.ts +1 -1
- package/src/molstar/core/hover.ts +2 -1
- package/src/molstar/core/index.ts +25 -0
- package/src/{molecule3d/ui → molstar/core}/measurements.ts +10 -9
- package/src/molstar/core/plugin.ts +4 -1
- package/lib/molecule3d/ui/captureScene.d.ts.map +0 -1
- package/lib/molecule3d/ui/captureScene.js.map +0 -1
- package/lib/molecule3d/ui/measurements.d.ts.map +0 -1
- package/lib/molecule3d/ui/measurements.js.map +0 -1
- package/lib/molstar.d.ts +0 -18
- package/lib/molstar.d.ts.map +0 -1
- package/lib/molstar.js +0 -17
- package/lib/molstar.js.map +0 -1
- package/src/molstar.ts +0 -22
- /package/lib/{molecule3d/ui → molstar/core}/captureScene.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewer.d.ts","sourceRoot":"","sources":["../../../src/molecule3d/ui/viewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"viewer.d.ts","sourceRoot":"","sources":["../../../src/molecule3d/ui/viewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAS1D,OAAO,KAAK,EACV,uBAAuB,EACvB,aAAa,EACb,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B;;;GAGG;AACH,qBAAa,gBAAgB;;IAI3B,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;;OAIG;gBACS,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,uBAA4B;IAgBzE;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3E;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B;;;;OAIG;IACH,WAAW,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;;OAIG;IACH,gBAAgB,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrE;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI1D;;;;;OAKG;IACH,WAAW,CACT,oBAAoB,SAA0B,EAC9C,SAAS,UAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,oBAAoB,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5E;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI;IAI5E;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,SAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrE,kEAAkE;IAClE,YAAY,IAAI,IAAI;IAIpB,sEAAsE;IACtE,OAAO,IAAI,IAAI;CAUhB"}
|
|
@@ -7,11 +7,9 @@
|
|
|
7
7
|
* the viewer has been disposed. molstar's own UI is not mounted: every control
|
|
8
8
|
* is the component's.
|
|
9
9
|
*/
|
|
10
|
-
import { DEFAULT_CAMERA_DURATION, DEFAULT_SPIN_SPEED, MolstarPlugin, setSpin, } from "../../molstar/core/index.js";
|
|
10
|
+
import { DEFAULT_CAMERA_DURATION, DEFAULT_SPIN_SPEED, MeasurementPicker, MolstarPlugin, captureScene, clearMeasurements, renderMeasurements, setSpin, } from "../../molstar/core/index.js";
|
|
11
11
|
import { applyCamera, resetCamera, watchCamera } from "./camera.js";
|
|
12
|
-
import {
|
|
13
|
-
import { MeasurementPicker, clearMeasurements, renderMeasurements, } from "./measurements.js";
|
|
14
|
-
import { clearMolecule, renderMolecule } from "./renderMolecule.js";
|
|
12
|
+
import { clearMolecule, moleculeStructure, renderMolecule, } from "./renderMolecule.js";
|
|
15
13
|
import { clearSurface, renderSurface } from "./renderSurface.js";
|
|
16
14
|
/**
|
|
17
15
|
* One molstar canvas, and every operation the component performs on it. Every
|
|
@@ -34,7 +32,7 @@ export class Molecule3DViewer {
|
|
|
34
32
|
// Registered before any `#run`, so the picker exists by the time one runs.
|
|
35
33
|
void this.#plugin
|
|
36
34
|
.run((plugin) => {
|
|
37
|
-
this.#picker = new MeasurementPicker(plugin, onMeasure);
|
|
35
|
+
this.#picker = new MeasurementPicker(plugin, onMeasure, moleculeStructure);
|
|
38
36
|
})
|
|
39
37
|
.catch(ignore);
|
|
40
38
|
}
|
|
@@ -82,7 +80,7 @@ export class Molecule3DViewer {
|
|
|
82
80
|
* @returns Nothing; resolves once the labels are on screen.
|
|
83
81
|
*/
|
|
84
82
|
showMeasurements(measurements) {
|
|
85
|
-
return this.#run((plugin) => renderMeasurements(plugin, measurements));
|
|
83
|
+
return this.#run((plugin) => renderMeasurements(plugin, measurements, moleculeStructure));
|
|
86
84
|
}
|
|
87
85
|
/**
|
|
88
86
|
* Make clicks on atoms build a measurement, or give them back to the camera.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../../src/molecule3d/ui/viewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,OAAO,GACR,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../../src/molecule3d/ui/viewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* A picture of the scene, rendered off screen at a size of its own.
|
|
3
3
|
*/
|
|
4
4
|
import type { PluginContext } from 'molstar/lib/mol-plugin/context.js';
|
|
5
|
-
import type { ImageSize } from '
|
|
5
|
+
import type { ImageSize } from '../../molecule3d/core/exportImage.ts';
|
|
6
6
|
/**
|
|
7
7
|
* Render the scene without its selection highlights or its axes.
|
|
8
8
|
* @param plugin - The molstar context.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captureScene.d.ts","sourceRoot":"","sources":["../../../src/molstar/core/captureScene.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAEtE;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,MAAM,CAAC,CAYjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captureScene.js","sourceRoot":"","sources":["../../../src/molstar/core/captureScene.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAqB,EACrB,IAAe;IAEf,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACjD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3B,GAAG,MAAM,CAAC,MAAM;QAChB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;QAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QACjC,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -78,7 +78,8 @@ export function atomName(element, index) {
|
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
80
80
|
* Molstar's label providers return HTML, and a readout is plain text.
|
|
81
|
-
* @param label
|
|
81
|
+
* @param label - The provider's label.
|
|
82
|
+
* @returns The same label with its tags and entities resolved.
|
|
82
83
|
*/
|
|
83
84
|
function stripMarkup(label) {
|
|
84
85
|
return label
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover.js","sourceRoot":"","sources":["../../../src/molstar/core/hover.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,IAAI,EACJ,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAqB,EACrB,QAAqC;IAErC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1E,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QAC/B,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,EAAE;QACV,YAAY,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAU;IACjC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACrC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAU;IACjC,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACjB,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;QACxD,KAAK,CAAC,IAAI,CACR,QAAQ,CACN,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EACtD,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAC/C,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,KAAa;IACrD,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnE,OAAO,GAAG,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;AAClC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"hover.js","sourceRoot":"","sources":["../../../src/molstar/core/hover.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The molstar layer under the 3D views: the plugin lifecycle, the camera, the
|
|
3
|
+
* hover labels, the measurements and the picture of a scene.
|
|
4
|
+
*
|
|
5
|
+
* Three of our sites mount a headless molstar canvas — the molecule viewer
|
|
6
|
+
* here, lcao's orbitals and symmetry's crystals — and each of them had its own
|
|
7
|
+
* copy of the lifecycle, the spec and the spin. This is that one copy; what
|
|
8
|
+
* stays in a site is the scene it draws.
|
|
9
|
+
*
|
|
10
|
+
* **Importing this pulls molstar in statically**, which is why it is reached
|
|
11
|
+
* through the `./molstar/*` pattern rather than a plain subpath: molstar is an
|
|
12
|
+
* optional peer, so a plain subpath would be one the package test imports —
|
|
13
|
+
* in a project that installs no optional peer — and it cannot succeed there.
|
|
14
|
+
* A site that only wants `<MoleculeViewer3D>` imports `react-cheminfo/molecule3d`,
|
|
15
|
+
* whose canvas is lazy and whose barrel stays molstar-free.
|
|
16
|
+
*/
|
|
1
17
|
export type { CameraPose, CameraReference, PoseOptions } from './cameraPose.ts';
|
|
2
18
|
export { cameraToPose, poseToCamera } from './cameraPose.ts';
|
|
3
19
|
export { DEFAULT_CAMERA_DURATION, DEFAULT_SPIN_SPEED, FRAMING_MARGIN, MINIMUM_FRAMING_RADIUS, framedRadius, setSpin, } from './camera.ts';
|
|
4
20
|
export { atomName, atomText, lociText, subscribeHover } from './hover.ts';
|
|
5
21
|
export type { MolstarPluginOptions } from './plugin.ts';
|
|
6
22
|
export { MolstarPlugin } from './plugin.ts';
|
|
23
|
+
export { captureScene } from './captureScene.ts';
|
|
24
|
+
export type { MoleculeStructureSource } from './measurements.ts';
|
|
25
|
+
export { MeasurementPicker, atomReferenceOf, clearMeasurements, renderMeasurements, } from './measurements.ts';
|
|
7
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molstar/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC1E,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molstar/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC1E,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,5 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The molstar layer under the 3D views: the plugin lifecycle, the camera, the
|
|
3
|
+
* hover labels, the measurements and the picture of a scene.
|
|
4
|
+
*
|
|
5
|
+
* Three of our sites mount a headless molstar canvas — the molecule viewer
|
|
6
|
+
* here, lcao's orbitals and symmetry's crystals — and each of them had its own
|
|
7
|
+
* copy of the lifecycle, the spec and the spin. This is that one copy; what
|
|
8
|
+
* stays in a site is the scene it draws.
|
|
9
|
+
*
|
|
10
|
+
* **Importing this pulls molstar in statically**, which is why it is reached
|
|
11
|
+
* through the `./molstar/*` pattern rather than a plain subpath: molstar is an
|
|
12
|
+
* optional peer, so a plain subpath would be one the package test imports —
|
|
13
|
+
* in a project that installs no optional peer — and it cannot succeed there.
|
|
14
|
+
* A site that only wants `<MoleculeViewer3D>` imports `react-cheminfo/molecule3d`,
|
|
15
|
+
* whose canvas is lazy and whose barrel stays molstar-free.
|
|
16
|
+
*/
|
|
1
17
|
export { cameraToPose, poseToCamera } from "./cameraPose.js";
|
|
2
18
|
export { DEFAULT_CAMERA_DURATION, DEFAULT_SPIN_SPEED, FRAMING_MARGIN, MINIMUM_FRAMING_RADIUS, framedRadius, setSpin, } from "./camera.js";
|
|
3
19
|
export { atomName, atomText, lociText, subscribeHover } from "./hover.js";
|
|
4
20
|
export { MolstarPlugin } from "./plugin.js";
|
|
21
|
+
export { captureScene } from "./captureScene.js";
|
|
22
|
+
export { MeasurementPicker, atomReferenceOf, clearMeasurements, renderMeasurements, } from "./measurements.js";
|
|
5
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/molstar/core/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/molstar/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
|
|
@@ -11,13 +11,12 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { ElementIndex, Structure } from 'molstar/lib/mol-model/structure.js';
|
|
13
13
|
import type { PluginContext } from 'molstar/lib/mol-plugin/context.js';
|
|
14
|
-
import type { AtomReference, Measurement, MeasurementKind } from '
|
|
14
|
+
import type { AtomReference, Measurement, MeasurementKind } from '../../molecule3d/core/measurement.ts';
|
|
15
15
|
/**
|
|
16
16
|
* Where the atoms a measurement addresses are found in the plugin's state.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* default is the one `<MoleculeViewer3D>` draws.
|
|
18
|
+
* Every site builds its scene under refs of its own, so it says here which
|
|
19
|
+
* structure the clicks and the labels are read against.
|
|
21
20
|
*/
|
|
22
21
|
export type MoleculeStructureSource = (plugin: PluginContext) => Structure | undefined;
|
|
23
22
|
/**
|
|
@@ -28,7 +27,7 @@ export type MoleculeStructureSource = (plugin: PluginContext) => Structure | und
|
|
|
28
27
|
* @param structureOf - See {@link MoleculeStructureSource}.
|
|
29
28
|
* @returns Nothing; resolves once every label is on screen.
|
|
30
29
|
*/
|
|
31
|
-
export declare function renderMeasurements(plugin: PluginContext, measurements: readonly Measurement[], structureOf
|
|
30
|
+
export declare function renderMeasurements(plugin: PluginContext, measurements: readonly Measurement[], structureOf: MoleculeStructureSource): Promise<void>;
|
|
32
31
|
/**
|
|
33
32
|
* Remove every measurement from the scene.
|
|
34
33
|
* @param plugin - The molstar context.
|
|
@@ -42,8 +41,9 @@ export declare class MeasurementPicker {
|
|
|
42
41
|
* Start listening to the selection history of `plugin`.
|
|
43
42
|
* @param plugin - The molstar context.
|
|
44
43
|
* @param onMeasure - Called with each measurement once its atoms are picked.
|
|
44
|
+
* @param structureOf - See {@link MoleculeStructureSource}.
|
|
45
45
|
*/
|
|
46
|
-
constructor(plugin: PluginContext, onMeasure: (measurement: Measurement) => void);
|
|
46
|
+
constructor(plugin: PluginContext, onMeasure: (measurement: Measurement) => void, structureOf: MoleculeStructureSource);
|
|
47
47
|
/**
|
|
48
48
|
* Choose what the next clicks measure. Atoms already picked are dropped.
|
|
49
49
|
* @param kind - The measurement to build, or `null` to give clicks back to
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measurements.d.ts","sourceRoot":"","sources":["../../../src/molstar/core/measurements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACV,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIvE,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAM9C;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,CACpC,MAAM,EAAE,aAAa,KAClB,SAAS,GAAG,SAAS,CAAC;AAE3B;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,SAAS,WAAW,EAAE,EACpC,WAAW,EAAE,uBAAuB,GACnC,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5E;AAED,2EAA2E;AAC3E,qBAAa,iBAAiB;;IAO5B;;;;;OAKG;gBAED,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,EAC7C,WAAW,EAAE,uBAAuB;IAmBtC;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAO3C,oCAAoC;IACpC,OAAO,IAAI,IAAI;CAqBhB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,YAAY,GACpB,aAAa,GAAG,SAAS,CAS3B"}
|
|
@@ -13,8 +13,7 @@ import { OrderedSet, SortedArray } from 'molstar/lib/mol-data/int.js';
|
|
|
13
13
|
import { StructureElement } from 'molstar/lib/mol-model/structure.js';
|
|
14
14
|
import { MeasurementGroupTag } from 'molstar/lib/mol-plugin-state/manager/structure/measurement.js';
|
|
15
15
|
import { StateSelection, StateTransform } from 'molstar/lib/mol-state/index.js';
|
|
16
|
-
import { MEASUREMENT_ATOM_COUNTS } from "
|
|
17
|
-
import { moleculeStructure } from "./renderMolecule.js";
|
|
16
|
+
import { MEASUREMENT_ATOM_COUNTS } from "../../molecule3d/core/measurement.js";
|
|
18
17
|
// Lowercased: it is a factory, not a constructor.
|
|
19
18
|
const elementLoci = StructureElement.Loci;
|
|
20
19
|
/**
|
|
@@ -25,7 +24,7 @@ const elementLoci = StructureElement.Loci;
|
|
|
25
24
|
* @param structureOf - See {@link MoleculeStructureSource}.
|
|
26
25
|
* @returns Nothing; resolves once every label is on screen.
|
|
27
26
|
*/
|
|
28
|
-
export async function renderMeasurements(plugin, measurements, structureOf
|
|
27
|
+
export async function renderMeasurements(plugin, measurements, structureOf) {
|
|
29
28
|
await clearMeasurements(plugin);
|
|
30
29
|
const structure = structureOf(plugin);
|
|
31
30
|
if (structure === undefined)
|
|
@@ -62,15 +61,18 @@ export class MeasurementPicker {
|
|
|
62
61
|
#plugin;
|
|
63
62
|
#onMeasure;
|
|
64
63
|
#unsubscribe;
|
|
64
|
+
#structureOf;
|
|
65
65
|
#kind = null;
|
|
66
66
|
/**
|
|
67
67
|
* Start listening to the selection history of `plugin`.
|
|
68
68
|
* @param plugin - The molstar context.
|
|
69
69
|
* @param onMeasure - Called with each measurement once its atoms are picked.
|
|
70
|
+
* @param structureOf - See {@link MoleculeStructureSource}.
|
|
70
71
|
*/
|
|
71
|
-
constructor(plugin, onMeasure) {
|
|
72
|
+
constructor(plugin, onMeasure, structureOf) {
|
|
72
73
|
this.#plugin = plugin;
|
|
73
74
|
this.#onMeasure = onMeasure;
|
|
75
|
+
this.#structureOf = structureOf;
|
|
74
76
|
// A molfile is one residue: at molstar's default granularity a click
|
|
75
77
|
// would pick the whole molecule.
|
|
76
78
|
plugin.managers.interactivity.setProps({ granularity: 'element' });
|
|
@@ -99,7 +101,7 @@ export class MeasurementPicker {
|
|
|
99
101
|
}
|
|
100
102
|
#collect() {
|
|
101
103
|
const kind = this.#kind;
|
|
102
|
-
const structure =
|
|
104
|
+
const structure = this.#structureOf(this.#plugin);
|
|
103
105
|
if (kind === null || structure === undefined)
|
|
104
106
|
return;
|
|
105
107
|
const needed = MEASUREMENT_ATOM_COUNTS[kind];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measurements.js","sourceRoot":"","sources":["../../../src/molstar/core/measurements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAOtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAOhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,kDAAkD;AAClD,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC;AAY1C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAqB,EACrB,YAAoC,EACpC,WAAoC;IAEpC,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC;IACtD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5D,4GAA4G;QAC5G,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,oCAAoC;IACtC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAqB;IAC3D,MAAM,GAAG,GAAG,cAAc,CAAC,gBAAgB,CACzC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EACtB,cAAc,CAAC,OAAO,EACtB,mBAAmB,CACpB,CAAC;IACF,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO;IAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAC5C,CAAC;AAED,2EAA2E;AAC3E,MAAM,OAAO,iBAAiB;IACnB,OAAO,CAAgB;IACvB,UAAU,CAAqC;IAC/C,YAAY,CAAa;IACzB,YAAY,CAA0B;IAC/C,KAAK,GAA2B,IAAI,CAAC;IAErC;;;;;OAKG;IACH,YACE,MAAqB,EACrB,SAA6C,EAC7C,WAAoC;QAEpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,qEAAqE;QACrE,iCAAiC;QACjC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,MAAM,YAAY,GAChB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,SAAS,CAC1E,GAAG,EAAE;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CACF,CAAC;QACJ,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE;YACvB,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,IAA4B;QAClC,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK;YAAE,OAAO;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IAChE,CAAC;IAED,oCAAoC;IACpC,OAAO;QACL,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,IAAI,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO;QACrD,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC7C,+BAA+B;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAC3E,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,IAAI,GAAG,KAAK,IAAI,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM;YAAE,OAAO;QAClC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAoB,EACpB,OAAqB;IAErB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC9B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;QACvC,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAS;QACrC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CACpB,SAAoB,EACpB,IAAU;IAEV,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC9B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACtC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,QAAQ,CACf,SAAoB,EACpB,KAA+B;IAE/B,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC1E,IAAI,CAAC,IAAI,CACP,WAAW,CAAC,SAAS,EAAE;YACrB,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAoB,CAAC,EAAE;SACrE,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -51,7 +51,10 @@ export declare class MolstarPlugin {
|
|
|
51
51
|
* @param options - See {@link MolstarPluginOptions}.
|
|
52
52
|
*/
|
|
53
53
|
constructor(container: HTMLElement, options?: MolstarPluginOptions);
|
|
54
|
-
/**
|
|
54
|
+
/**
|
|
55
|
+
* Whether {@link dispose} has been called.
|
|
56
|
+
* @returns True once the canvas has been torn down.
|
|
57
|
+
*/
|
|
55
58
|
get disposed(): boolean;
|
|
56
59
|
/**
|
|
57
60
|
* Wait for initialisation, then run `action` on the plugin.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/molstar/core/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAKjE,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC;CACzC;AAED,6EAA6E;AAC7E,qBAAa,aAAa;;IAIxB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;;;OAKG;gBACS,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,oBAAyB;IA0BtE
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/molstar/core/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAKjE,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC;CACzC;AAED,6EAA6E;AAC7E,qBAAa,aAAa;;IAIxB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;;;OAKG;gBACS,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,oBAAyB;IA0BtE;;;OAGG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;;;;OAOG;IACG,GAAG,CAAC,MAAM,EACd,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAC1D,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAY9B;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,IAAI,GAAG,MAAM,IAAI;IAcnE,kEAAkE;IAClE,YAAY,IAAI,IAAI;IAKpB;;;OAGG;IACH,OAAO,IAAI,IAAI;CAahB"}
|
|
@@ -50,7 +50,10 @@ export class MolstarPlugin {
|
|
|
50
50
|
this.#model.mount(container);
|
|
51
51
|
this.ready = this.#model.initialized;
|
|
52
52
|
}
|
|
53
|
-
/**
|
|
53
|
+
/**
|
|
54
|
+
* Whether {@link dispose} has been called.
|
|
55
|
+
* @returns True once the canvas has been torn down.
|
|
56
|
+
*/
|
|
54
57
|
get disposed() {
|
|
55
58
|
return this.#disposed;
|
|
56
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/molstar/core/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAG9E,4DAA4D;AAC5D,OAAO,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AA4B5D,6EAA6E;AAC7E,MAAM,OAAO,aAAa;IACf,MAAM,CAAkB;IACjC,SAAS,GAAG,KAAK,CAAC;IAElB,wEAAwE;IAC/D,KAAK,CAAgB;IAE9B;;;;;OAKG;IACH,YAAY,SAAsB,EAAE,UAAgC,EAAE;QACpE,MAAM,EACJ,UAAU,GAAG,SAAS,EAAE,kCAAkC;QAC1D,+BAA+B,EAC/B,IAAI,EAAE,MAAM,GACb,GAAG,OAAO,CAAC;QACZ,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,MAAM,IAAI,GAAe;YACvB,GAAG,IAAI;YACP,QAAQ,EAAE;gBACR,GAAG,IAAI,CAAC,QAAQ;gBAChB,QAAQ,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;gBAC7D,iEAAiE;gBACjE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE;gBACzD,GAAG,CAAC,+BAA+B,KAAK,SAAS;oBAC/C,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,CAAC;aAChE;SACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC;YAChC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;SACjD,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IACvC,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/molstar/core/plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-cheminfo",
|
|
3
|
-
"version": "0.40.
|
|
3
|
+
"version": "0.40.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "React components, hooks and framework-free helpers shared by the cheminfo sites: site chrome, citations, sharing, routing, pedagogy, charts, and the structure, orbital and 3D molecule viewers",
|
|
6
6
|
"author": "Luc Patiny",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"./core": "./lib/core.js",
|
|
21
21
|
"./ir": "./lib/ir.js",
|
|
22
22
|
"./molecule3d": "./lib/molecule3d.js",
|
|
23
|
-
"./molstar": "./lib/molstar.js",
|
|
23
|
+
"./molstar/*": "./lib/molstar/*/index.js",
|
|
24
24
|
"./orbital": "./lib/orbital.js",
|
|
25
25
|
"./slides": "./lib/slides.js",
|
|
26
26
|
"./spectra": "./lib/spectra.js",
|
|
@@ -13,7 +13,11 @@ import type { PluginContext } from 'molstar/lib/mol-plugin/context.js';
|
|
|
13
13
|
import {
|
|
14
14
|
DEFAULT_CAMERA_DURATION,
|
|
15
15
|
DEFAULT_SPIN_SPEED,
|
|
16
|
+
MeasurementPicker,
|
|
16
17
|
MolstarPlugin,
|
|
18
|
+
captureScene,
|
|
19
|
+
clearMeasurements,
|
|
20
|
+
renderMeasurements,
|
|
17
21
|
setSpin,
|
|
18
22
|
} from '../../molstar/core/index.ts';
|
|
19
23
|
import type { Molecule3DCamera } from '../core/camera.ts';
|
|
@@ -22,13 +26,11 @@ import type { Measurement, MeasurementKind } from '../core/measurement.ts';
|
|
|
22
26
|
import type { Molecule3DFile } from '../core/settings.ts';
|
|
23
27
|
|
|
24
28
|
import { applyCamera, resetCamera, watchCamera } from './camera.ts';
|
|
25
|
-
import { captureScene } from './captureScene.ts';
|
|
26
29
|
import {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
} from './
|
|
31
|
-
import { clearMolecule, renderMolecule } from './renderMolecule.ts';
|
|
30
|
+
clearMolecule,
|
|
31
|
+
moleculeStructure,
|
|
32
|
+
renderMolecule,
|
|
33
|
+
} from './renderMolecule.ts';
|
|
32
34
|
import { clearSurface, renderSurface } from './renderSurface.ts';
|
|
33
35
|
import type {
|
|
34
36
|
Molecule3DViewerOptions,
|
|
@@ -59,7 +61,11 @@ export class Molecule3DViewer {
|
|
|
59
61
|
// Registered before any `#run`, so the picker exists by the time one runs.
|
|
60
62
|
void this.#plugin
|
|
61
63
|
.run((plugin) => {
|
|
62
|
-
this.#picker = new MeasurementPicker(
|
|
64
|
+
this.#picker = new MeasurementPicker(
|
|
65
|
+
plugin,
|
|
66
|
+
onMeasure,
|
|
67
|
+
moleculeStructure,
|
|
68
|
+
);
|
|
63
69
|
})
|
|
64
70
|
.catch(ignore);
|
|
65
71
|
}
|
|
@@ -112,7 +118,9 @@ export class Molecule3DViewer {
|
|
|
112
118
|
* @returns Nothing; resolves once the labels are on screen.
|
|
113
119
|
*/
|
|
114
120
|
showMeasurements(measurements: readonly Measurement[]): Promise<void> {
|
|
115
|
-
return this.#run((plugin) =>
|
|
121
|
+
return this.#run((plugin) =>
|
|
122
|
+
renderMeasurements(plugin, measurements, moleculeStructure),
|
|
123
|
+
);
|
|
116
124
|
}
|
|
117
125
|
|
|
118
126
|
/**
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import type { PluginContext } from 'molstar/lib/mol-plugin/context.js';
|
|
6
6
|
|
|
7
|
-
import type { ImageSize } from '
|
|
7
|
+
import type { ImageSize } from '../../molecule3d/core/exportImage.ts';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Render the scene without its selection highlights or its axes.
|
|
@@ -97,7 +97,8 @@ export function atomName(element: string, index: number): string {
|
|
|
97
97
|
|
|
98
98
|
/**
|
|
99
99
|
* Molstar's label providers return HTML, and a readout is plain text.
|
|
100
|
-
* @param label
|
|
100
|
+
* @param label - The provider's label.
|
|
101
|
+
* @returns The same label with its tags and entities resolved.
|
|
101
102
|
*/
|
|
102
103
|
function stripMarkup(label: string): string {
|
|
103
104
|
return label
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The molstar layer under the 3D views: the plugin lifecycle, the camera, the
|
|
3
|
+
* hover labels, the measurements and the picture of a scene.
|
|
4
|
+
*
|
|
5
|
+
* Three of our sites mount a headless molstar canvas — the molecule viewer
|
|
6
|
+
* here, lcao's orbitals and symmetry's crystals — and each of them had its own
|
|
7
|
+
* copy of the lifecycle, the spec and the spin. This is that one copy; what
|
|
8
|
+
* stays in a site is the scene it draws.
|
|
9
|
+
*
|
|
10
|
+
* **Importing this pulls molstar in statically**, which is why it is reached
|
|
11
|
+
* through the `./molstar/*` pattern rather than a plain subpath: molstar is an
|
|
12
|
+
* optional peer, so a plain subpath would be one the package test imports —
|
|
13
|
+
* in a project that installs no optional peer — and it cannot succeed there.
|
|
14
|
+
* A site that only wants `<MoleculeViewer3D>` imports `react-cheminfo/molecule3d`,
|
|
15
|
+
* whose canvas is lazy and whose barrel stays molstar-free.
|
|
16
|
+
*/
|
|
17
|
+
|
|
1
18
|
export type { CameraPose, CameraReference, PoseOptions } from './cameraPose.ts';
|
|
2
19
|
export { cameraToPose, poseToCamera } from './cameraPose.ts';
|
|
3
20
|
export {
|
|
@@ -11,3 +28,11 @@ export {
|
|
|
11
28
|
export { atomName, atomText, lociText, subscribeHover } from './hover.ts';
|
|
12
29
|
export type { MolstarPluginOptions } from './plugin.ts';
|
|
13
30
|
export { MolstarPlugin } from './plugin.ts';
|
|
31
|
+
export { captureScene } from './captureScene.ts';
|
|
32
|
+
export type { MoleculeStructureSource } from './measurements.ts';
|
|
33
|
+
export {
|
|
34
|
+
MeasurementPicker,
|
|
35
|
+
atomReferenceOf,
|
|
36
|
+
clearMeasurements,
|
|
37
|
+
renderMeasurements,
|
|
38
|
+
} from './measurements.ts';
|
|
@@ -26,10 +26,8 @@ import type {
|
|
|
26
26
|
AtomReference,
|
|
27
27
|
Measurement,
|
|
28
28
|
MeasurementKind,
|
|
29
|
-
} from '
|
|
30
|
-
import { MEASUREMENT_ATOM_COUNTS } from '
|
|
31
|
-
|
|
32
|
-
import { moleculeStructure } from './renderMolecule.ts';
|
|
29
|
+
} from '../../molecule3d/core/measurement.ts';
|
|
30
|
+
import { MEASUREMENT_ATOM_COUNTS } from '../../molecule3d/core/measurement.ts';
|
|
33
31
|
|
|
34
32
|
// Lowercased: it is a factory, not a constructor.
|
|
35
33
|
const elementLoci = StructureElement.Loci;
|
|
@@ -37,9 +35,8 @@ const elementLoci = StructureElement.Loci;
|
|
|
37
35
|
/**
|
|
38
36
|
* Where the atoms a measurement addresses are found in the plugin's state.
|
|
39
37
|
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* default is the one `<MoleculeViewer3D>` draws.
|
|
38
|
+
* Every site builds its scene under refs of its own, so it says here which
|
|
39
|
+
* structure the clicks and the labels are read against.
|
|
43
40
|
*/
|
|
44
41
|
export type MoleculeStructureSource = (
|
|
45
42
|
plugin: PluginContext,
|
|
@@ -56,7 +53,7 @@ export type MoleculeStructureSource = (
|
|
|
56
53
|
export async function renderMeasurements(
|
|
57
54
|
plugin: PluginContext,
|
|
58
55
|
measurements: readonly Measurement[],
|
|
59
|
-
structureOf: MoleculeStructureSource
|
|
56
|
+
structureOf: MoleculeStructureSource,
|
|
60
57
|
): Promise<void> {
|
|
61
58
|
await clearMeasurements(plugin);
|
|
62
59
|
const structure = structureOf(plugin);
|
|
@@ -96,19 +93,23 @@ export class MeasurementPicker {
|
|
|
96
93
|
readonly #plugin: PluginContext;
|
|
97
94
|
readonly #onMeasure: (measurement: Measurement) => void;
|
|
98
95
|
readonly #unsubscribe: () => void;
|
|
96
|
+
readonly #structureOf: MoleculeStructureSource;
|
|
99
97
|
#kind: MeasurementKind | null = null;
|
|
100
98
|
|
|
101
99
|
/**
|
|
102
100
|
* Start listening to the selection history of `plugin`.
|
|
103
101
|
* @param plugin - The molstar context.
|
|
104
102
|
* @param onMeasure - Called with each measurement once its atoms are picked.
|
|
103
|
+
* @param structureOf - See {@link MoleculeStructureSource}.
|
|
105
104
|
*/
|
|
106
105
|
constructor(
|
|
107
106
|
plugin: PluginContext,
|
|
108
107
|
onMeasure: (measurement: Measurement) => void,
|
|
108
|
+
structureOf: MoleculeStructureSource,
|
|
109
109
|
) {
|
|
110
110
|
this.#plugin = plugin;
|
|
111
111
|
this.#onMeasure = onMeasure;
|
|
112
|
+
this.#structureOf = structureOf;
|
|
112
113
|
// A molfile is one residue: at molstar's default granularity a click
|
|
113
114
|
// would pick the whole molecule.
|
|
114
115
|
plugin.managers.interactivity.setProps({ granularity: 'element' });
|
|
@@ -142,7 +143,7 @@ export class MeasurementPicker {
|
|
|
142
143
|
|
|
143
144
|
#collect(): void {
|
|
144
145
|
const kind = this.#kind;
|
|
145
|
-
const structure =
|
|
146
|
+
const structure = this.#structureOf(this.#plugin);
|
|
146
147
|
if (kind === null || structure === undefined) return;
|
|
147
148
|
const needed = MEASUREMENT_ATOM_COUNTS[kind];
|
|
148
149
|
// The history is newest first.
|
|
@@ -86,7 +86,10 @@ export class MolstarPlugin {
|
|
|
86
86
|
this.ready = this.#model.initialized;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
/**
|
|
89
|
+
/**
|
|
90
|
+
* Whether {@link dispose} has been called.
|
|
91
|
+
* @returns True once the canvas has been torn down.
|
|
92
|
+
*/
|
|
90
93
|
get disposed(): boolean {
|
|
91
94
|
return this.#disposed;
|
|
92
95
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"captureScene.d.ts","sourceRoot":"","sources":["../../../src/molecule3d/ui/captureScene.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,MAAM,CAAC,CAYjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"captureScene.js","sourceRoot":"","sources":["../../../src/molecule3d/ui/captureScene.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAqB,EACrB,IAAe;IAEf,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACjD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3B,GAAG,MAAM,CAAC,MAAM;QAChB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;QAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QACjC,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"measurements.d.ts","sourceRoot":"","sources":["../../../src/molecule3d/ui/measurements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACV,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIvE,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAQhC;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,CACpC,MAAM,EAAE,aAAa,KAClB,SAAS,GAAG,SAAS,CAAC;AAE3B;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,SAAS,WAAW,EAAE,EACpC,WAAW,GAAE,uBAA2C,GACvD,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5E;AAED,2EAA2E;AAC3E,qBAAa,iBAAiB;;IAM5B;;;;OAIG;gBAED,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI;IAkB/C;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAO3C,oCAAoC;IACpC,OAAO,IAAI,IAAI;CAqBhB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,YAAY,GACpB,aAAa,GAAG,SAAS,CAS3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"measurements.js","sourceRoot":"","sources":["../../../src/molecule3d/ui/measurements.ts"],"names":[],"mappings":"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"}
|
package/lib/molstar.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The molstar layer under the 3D views: the plugin lifecycle, the camera, the
|
|
3
|
-
* hover labels, the measurements and the picture of a scene.
|
|
4
|
-
*
|
|
5
|
-
* Three of our sites mount a headless molstar canvas — the molecule viewer
|
|
6
|
-
* here, lcao's orbitals and symmetry's crystals — and each of them had its own
|
|
7
|
-
* copy of the lifecycle, the spec and the spin. This is that one copy; what
|
|
8
|
-
* stays in a site is the scene it draws.
|
|
9
|
-
*
|
|
10
|
-
* **Importing this pulls molstar in statically.** A site that only wants
|
|
11
|
-
* `<MoleculeViewer3D>` imports `react-cheminfo/molecule3d`, whose canvas is
|
|
12
|
-
* lazy.
|
|
13
|
-
*/
|
|
14
|
-
export * from './molstar/core/index.ts';
|
|
15
|
-
export { captureScene } from './molecule3d/ui/captureScene.ts';
|
|
16
|
-
export type { MoleculeStructureSource } from './molecule3d/ui/measurements.ts';
|
|
17
|
-
export { atomReferenceOf, clearMeasurements, renderMeasurements, } from './molecule3d/ui/measurements.ts';
|
|
18
|
-
//# sourceMappingURL=molstar.d.ts.map
|
package/lib/molstar.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"molstar.d.ts","sourceRoot":"","sources":["../src/molstar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,YAAY,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC"}
|
package/lib/molstar.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The molstar layer under the 3D views: the plugin lifecycle, the camera, the
|
|
3
|
-
* hover labels, the measurements and the picture of a scene.
|
|
4
|
-
*
|
|
5
|
-
* Three of our sites mount a headless molstar canvas — the molecule viewer
|
|
6
|
-
* here, lcao's orbitals and symmetry's crystals — and each of them had its own
|
|
7
|
-
* copy of the lifecycle, the spec and the spin. This is that one copy; what
|
|
8
|
-
* stays in a site is the scene it draws.
|
|
9
|
-
*
|
|
10
|
-
* **Importing this pulls molstar in statically.** A site that only wants
|
|
11
|
-
* `<MoleculeViewer3D>` imports `react-cheminfo/molecule3d`, whose canvas is
|
|
12
|
-
* lazy.
|
|
13
|
-
*/
|
|
14
|
-
export * from "./molstar/core/index.js";
|
|
15
|
-
export { captureScene } from "./molecule3d/ui/captureScene.js";
|
|
16
|
-
export { atomReferenceOf, clearMeasurements, renderMeasurements, } from "./molecule3d/ui/measurements.js";
|
|
17
|
-
//# sourceMappingURL=molstar.js.map
|
package/lib/molstar.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"molstar.js","sourceRoot":"","sources":["../src/molstar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC"}
|
package/src/molstar.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The molstar layer under the 3D views: the plugin lifecycle, the camera, the
|
|
3
|
-
* hover labels, the measurements and the picture of a scene.
|
|
4
|
-
*
|
|
5
|
-
* Three of our sites mount a headless molstar canvas — the molecule viewer
|
|
6
|
-
* here, lcao's orbitals and symmetry's crystals — and each of them had its own
|
|
7
|
-
* copy of the lifecycle, the spec and the spin. This is that one copy; what
|
|
8
|
-
* stays in a site is the scene it draws.
|
|
9
|
-
*
|
|
10
|
-
* **Importing this pulls molstar in statically.** A site that only wants
|
|
11
|
-
* `<MoleculeViewer3D>` imports `react-cheminfo/molecule3d`, whose canvas is
|
|
12
|
-
* lazy.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
export * from './molstar/core/index.ts';
|
|
16
|
-
export { captureScene } from './molecule3d/ui/captureScene.ts';
|
|
17
|
-
export type { MoleculeStructureSource } from './molecule3d/ui/measurements.ts';
|
|
18
|
-
export {
|
|
19
|
-
atomReferenceOf,
|
|
20
|
-
clearMeasurements,
|
|
21
|
-
renderMeasurements,
|
|
22
|
-
} from './molecule3d/ui/measurements.ts';
|
|
File without changes
|