diff --git a/README.md b/README.md index 56b4a5658081517fc00215f598ab4d98e9578421..0bdff19ce9f64b9db67697e745058ce02ba744bf 100644 --- a/README.md +++ b/README.md @@ -17,12 +17,14 @@ The core of Mol* currently consists of these modules: - `mol-math` Math related (loosely) algorithms and data structures. - `mol-io` Parsing library. Each format is parsed into an interface that corresponds to the data stored by it. Support for common coordinate, experimental/map, and annotation data formats. - `mol-model` Data structures and algorithms (such as querying) for representing molecular data (including coordinate, experimental/map, and annotation data). -- `mol-model-props` Common "custom properties" +- `mol-model-props` Common "custom properties". - `mol-script` A scriting language for creating representations/scenes and querying (includes the [MolQL query language](https://molql.github.io)). - `mol-geo` Creating molecular geometries. -- `mol-gl` A wrapper around WebGL. Uses `mol-geo` to generate geometries. +- `mol-gl` A lightweight wrapper around WebGL. +- `mol-canvas3d` A low level 3d view component. Uses `mol-geo` to generate geometries. +- `mol-state` State representation tree with state saving and automatic updates. - `mol-app` Components for builduing UIs. -- `mol-view` A reference viewer implementation. +- `mol-plugin` Allow to define modular Mol* plugin instances utilizing `mol-state` and `mol-view3d`. - `mol-util` Useful things that do not fit elsewhere. Moreover, the project contains the imlementation of `servers`, including diff --git a/package.json b/package.json index 6a807c3a05c31a48daca707f8772ca405522c130..9cb1cdafb711b5162f7d739d0360eeb6b0a6e746 100644 --- a/package.json +++ b/package.json @@ -61,8 +61,9 @@ "mol-script($|/.*)": "<rootDir>/src/mol-script$1", "mol-task($|/.*)": "<rootDir>/src/mol-task$1", "mol-state($|/.*)": "<rootDir>/src/mol-state$1", + "mol-plugin($|/.*)": "<rootDir>/src/mol-plugin$1", "mol-util($|/.*)": "<rootDir>/src/mol-util$1", - "mol-view($|/.*)": "<rootDir>/src/mol-view$1" + "mol-canvas3d($|/.*)": "<rootDir>/src/mol-canvas3d$1" }, "testRegex": "\\.spec\\.ts$" }, diff --git a/src/apps/canvas/app.ts b/src/apps/canvas/app.ts index f72add32be2129c55e97d5824848a92a4dd1b251..0abfc41d430aa854d947292d8094b0b44496719a 100644 --- a/src/apps/canvas/app.ts +++ b/src/apps/canvas/app.ts @@ -4,7 +4,7 @@ * @author Alexander Rose <alexander.rose@weirdbyte.de> */ -import Viewer from 'mol-view/viewer'; +import Viewer from 'mol-canvas3d/viewer'; import { getCifFromUrl, getModelsFromMmcif, getCifFromFile, getCcp4FromUrl, getVolumeFromCcp4, getCcp4FromFile, getVolumeFromVolcif } from './util'; import { StructureView } from './structure-view'; import { BehaviorSubject } from 'rxjs'; diff --git a/src/apps/canvas/assembly-symmetry.ts b/src/apps/canvas/assembly-symmetry.ts index ee4d6832753ef4a2f379f5004ede22078ff26eab..6929fb091e396abe07432ebf6a029f92a4766b6b 100644 --- a/src/apps/canvas/assembly-symmetry.ts +++ b/src/apps/canvas/assembly-symmetry.ts @@ -12,7 +12,7 @@ import { Tensor } from 'mol-math/linear-algebra'; import { addSphere } from 'mol-geo/geometry/mesh/builder/sphere'; import { addCylinder } from 'mol-geo/geometry/mesh/builder/cylinder'; import { Shape } from 'mol-model/shape'; -import { ColorTheme } from 'mol-view/theme/color'; +import { ColorTheme } from 'mol-canvas3d/theme/color'; import { Location } from 'mol-model/location'; import { StructureElement, Unit, StructureProperties } from 'mol-model/structure'; diff --git a/src/apps/canvas/component/representation.tsx b/src/apps/canvas/component/representation.tsx index 56928666fac6d30eabe66a6deef145d52e8eb92a..c5284562edf4128239df3441b2cb6f9ee76abd61 100644 --- a/src/apps/canvas/component/representation.tsx +++ b/src/apps/canvas/component/representation.tsx @@ -5,13 +5,13 @@ */ import * as React from 'react' -import Viewer from 'mol-view/viewer'; +import Viewer from 'mol-canvas3d/viewer'; import { App } from '../app'; -import { Params } from 'mol-view/parameter'; +import { Params } from 'mol-util/parameter'; import { Representation } from 'mol-geo/representation'; import { ParametersComponent } from 'mol-app/component/parameters'; import { Progress } from 'mol-task'; -import { ColorTheme } from 'mol-view/theme/color'; +import { ColorTheme } from 'mol-canvas3d/theme/color'; import { getColorThemeProps } from 'mol-geo/geometry/color-data'; import { ColorThemeComponent } from 'mol-app/component/color-theme'; diff --git a/src/apps/canvas/component/viewport.tsx b/src/apps/canvas/component/viewport.tsx index 0085461d7f307e8d3d9849eff9cfa645af1a23bd..7814b26479102e741894b4662e75bc8134029770 100644 --- a/src/apps/canvas/component/viewport.tsx +++ b/src/apps/canvas/component/viewport.tsx @@ -8,7 +8,7 @@ import * as React from 'react' import { App } from '../app'; import { MarkerAction } from 'mol-geo/geometry/marker-data'; import { EmptyLoci, Loci, areLociEqual } from 'mol-model/loci'; -import { labelFirst } from 'mol-view/label'; +import { labelFirst } from 'mol-canvas3d/label'; interface ViewportProps { app: App diff --git a/src/apps/canvas/structure-view.ts b/src/apps/canvas/structure-view.ts index bd35a273e5f6cd52f55fbb6a2c7af42ad78b1ab4..afdad4d60835926a041048fca0093e4336e93399 100644 --- a/src/apps/canvas/structure-view.ts +++ b/src/apps/canvas/structure-view.ts @@ -11,7 +11,7 @@ import { getStructureFromModel } from './util'; import { AssemblySymmetry } from 'mol-model-props/rcsb/symmetry'; import { ShapeRepresentation, ShapeProps } from 'mol-geo/representation/shape'; import { getAxesShape } from './assembly-symmetry'; -import Viewer from 'mol-view/viewer'; +import Viewer from 'mol-canvas3d/viewer'; import { CarbohydrateRepresentation } from 'mol-geo/representation/structure/representation/carbohydrate'; // import { MeshBuilder } from 'mol-geo/mesh/mesh-builder'; // import { addSphere } from 'mol-geo/mesh/builder/sphere'; diff --git a/src/apps/canvas/volume-view.ts b/src/apps/canvas/volume-view.ts index 1ef40f6dda5e97284b971906a8fa556215f64976..a680383918049f3d54e6dbed6982721a11a8be44 100644 --- a/src/apps/canvas/volume-view.ts +++ b/src/apps/canvas/volume-view.ts @@ -4,7 +4,7 @@ * @author Alexander Rose <alexander.rose@weirdbyte.de> */ -import Viewer from 'mol-view/viewer'; +import Viewer from 'mol-canvas3d/viewer'; import { BehaviorSubject } from 'rxjs'; import { App } from './app'; import { Progress } from 'mol-task'; diff --git a/src/mol-app/component/color-theme.tsx b/src/mol-app/component/color-theme.tsx index 4b4c78311c2c44fdf1d48a67374edf27aa5671d0..3c8b414de5c60b83ef00d86e36ebbb552d35f823 100644 --- a/src/mol-app/component/color-theme.tsx +++ b/src/mol-app/component/color-theme.tsx @@ -5,7 +5,7 @@ */ import * as React from 'react' -import { ColorTheme } from 'mol-view/theme/color'; +import { ColorTheme } from 'mol-canvas3d/theme/color'; import { Color } from 'mol-util/color'; export interface ColorThemeComponentProps { diff --git a/src/mol-app/component/parameter/boolean.tsx b/src/mol-app/component/parameter/boolean.tsx index 997b2ca5c42da85f838cd07bda3e2d1edb6d019a..5862efc1dda36de60f1cd45ee5c315b1f75de2d3 100644 --- a/src/mol-app/component/parameter/boolean.tsx +++ b/src/mol-app/component/parameter/boolean.tsx @@ -5,7 +5,7 @@ */ import * as React from 'react' -import { BooleanParam } from 'mol-view/parameter'; +import { BooleanParam } from 'mol-util/parameter'; export interface BooleanParamComponentProps { param: BooleanParam diff --git a/src/mol-app/component/parameter/multi-select.tsx b/src/mol-app/component/parameter/multi-select.tsx index d23e31feebdb027d975acf840782108e75ea88eb..79e66af6b6211039f480272e5abe61fb4002ac55 100644 --- a/src/mol-app/component/parameter/multi-select.tsx +++ b/src/mol-app/component/parameter/multi-select.tsx @@ -5,7 +5,7 @@ */ import * as React from 'react' -import { MultiSelectParam } from 'mol-view/parameter'; +import { MultiSelectParam } from 'mol-util/parameter'; export interface MultiSelectParamComponentProps<T extends string> { param: MultiSelectParam<T> diff --git a/src/mol-app/component/parameter/number.tsx b/src/mol-app/component/parameter/number.tsx index be97aee26f79de663689de062c0fecdc912e9291..c693b7d910810c72049f0fb01cce153d4ae1b9eb 100644 --- a/src/mol-app/component/parameter/number.tsx +++ b/src/mol-app/component/parameter/number.tsx @@ -5,7 +5,7 @@ */ import * as React from 'react' -import { NumberParam } from 'mol-view/parameter'; +import { NumberParam } from 'mol-util/parameter'; export interface NumberParamComponentProps { param: NumberParam diff --git a/src/mol-app/component/parameter/range.tsx b/src/mol-app/component/parameter/range.tsx index dd9c82fa236d6d6d62a7092c50fccb8d4c725dad..42d5450a1febd49c651ea6f4c2865545305ca1bb 100644 --- a/src/mol-app/component/parameter/range.tsx +++ b/src/mol-app/component/parameter/range.tsx @@ -5,7 +5,7 @@ */ import * as React from 'react' -import { RangeParam } from 'mol-view/parameter'; +import { RangeParam } from 'mol-util/parameter'; export interface RangeParamComponentProps { param: RangeParam diff --git a/src/mol-app/component/parameter/select.tsx b/src/mol-app/component/parameter/select.tsx index e403bbb79f2cd56c9dbf5e878e7f41229d317012..c0034953fc3c77f059918702f510b88e2a37b300 100644 --- a/src/mol-app/component/parameter/select.tsx +++ b/src/mol-app/component/parameter/select.tsx @@ -5,7 +5,7 @@ */ import * as React from 'react' -import { SelectParam } from 'mol-view/parameter'; +import { SelectParam } from 'mol-util/parameter'; export interface SelectParamComponentProps<T extends string> { param: SelectParam<T> diff --git a/src/mol-app/component/parameter/text.tsx b/src/mol-app/component/parameter/text.tsx index cd6ad76f78ecfab597df5bc17ae99f5ace5c3742..507754f5fef8e35020e19de676b0c88afaeb5283 100644 --- a/src/mol-app/component/parameter/text.tsx +++ b/src/mol-app/component/parameter/text.tsx @@ -5,7 +5,7 @@ */ import * as React from 'react' -import { TextParam } from 'mol-view/parameter'; +import { TextParam } from 'mol-util/parameter'; export interface TextParamComponentProps { param: TextParam diff --git a/src/mol-app/component/parameters.tsx b/src/mol-app/component/parameters.tsx index 70e2aee371658e3c1696908ffd50e419b948c6a8..0fc247b25b19a35349474e31d430b201862ae31d 100644 --- a/src/mol-app/component/parameters.tsx +++ b/src/mol-app/component/parameters.tsx @@ -5,7 +5,7 @@ */ import * as React from 'react' -import { Param, Params } from 'mol-view/parameter'; +import { Param, Params } from 'mol-util/parameter'; import { BooleanParamComponent } from './parameter/boolean'; import { NumberParamComponent } from './parameter/number'; import { RangeParamComponent } from './parameter/range'; diff --git a/src/mol-view/camera/base.ts b/src/mol-canvas3d/camera/base.ts similarity index 100% rename from src/mol-view/camera/base.ts rename to src/mol-canvas3d/camera/base.ts diff --git a/src/mol-view/camera/orthographic.ts b/src/mol-canvas3d/camera/orthographic.ts similarity index 100% rename from src/mol-view/camera/orthographic.ts rename to src/mol-canvas3d/camera/orthographic.ts diff --git a/src/mol-view/camera/perspective.ts b/src/mol-canvas3d/camera/perspective.ts similarity index 100% rename from src/mol-view/camera/perspective.ts rename to src/mol-canvas3d/camera/perspective.ts diff --git a/src/mol-view/camera/util.ts b/src/mol-canvas3d/camera/util.ts similarity index 100% rename from src/mol-view/camera/util.ts rename to src/mol-canvas3d/camera/util.ts diff --git a/src/mol-view/controls/trackball.ts b/src/mol-canvas3d/controls/trackball.ts similarity index 100% rename from src/mol-view/controls/trackball.ts rename to src/mol-canvas3d/controls/trackball.ts diff --git a/src/mol-view/label.ts b/src/mol-canvas3d/label.ts similarity index 100% rename from src/mol-view/label.ts rename to src/mol-canvas3d/label.ts diff --git a/src/mol-view/theme/color.ts b/src/mol-canvas3d/theme/color.ts similarity index 100% rename from src/mol-view/theme/color.ts rename to src/mol-canvas3d/theme/color.ts diff --git a/src/mol-view/theme/color/carbohydrate-symbol.ts b/src/mol-canvas3d/theme/color/carbohydrate-symbol.ts similarity index 100% rename from src/mol-view/theme/color/carbohydrate-symbol.ts rename to src/mol-canvas3d/theme/color/carbohydrate-symbol.ts diff --git a/src/mol-view/theme/color/chain-id.ts b/src/mol-canvas3d/theme/color/chain-id.ts similarity index 100% rename from src/mol-view/theme/color/chain-id.ts rename to src/mol-canvas3d/theme/color/chain-id.ts diff --git a/src/mol-view/theme/color/cross-link.ts b/src/mol-canvas3d/theme/color/cross-link.ts similarity index 100% rename from src/mol-view/theme/color/cross-link.ts rename to src/mol-canvas3d/theme/color/cross-link.ts diff --git a/src/mol-view/theme/color/custom.ts b/src/mol-canvas3d/theme/color/custom.ts similarity index 100% rename from src/mol-view/theme/color/custom.ts rename to src/mol-canvas3d/theme/color/custom.ts diff --git a/src/mol-view/theme/color/element-index.ts b/src/mol-canvas3d/theme/color/element-index.ts similarity index 100% rename from src/mol-view/theme/color/element-index.ts rename to src/mol-canvas3d/theme/color/element-index.ts diff --git a/src/mol-view/theme/color/element-symbol.ts b/src/mol-canvas3d/theme/color/element-symbol.ts similarity index 100% rename from src/mol-view/theme/color/element-symbol.ts rename to src/mol-canvas3d/theme/color/element-symbol.ts diff --git a/src/mol-view/theme/color/molecule-type.ts b/src/mol-canvas3d/theme/color/molecule-type.ts similarity index 100% rename from src/mol-view/theme/color/molecule-type.ts rename to src/mol-canvas3d/theme/color/molecule-type.ts diff --git a/src/mol-view/theme/color/residue-name.ts b/src/mol-canvas3d/theme/color/residue-name.ts similarity index 100% rename from src/mol-view/theme/color/residue-name.ts rename to src/mol-canvas3d/theme/color/residue-name.ts diff --git a/src/mol-view/theme/color/secondary-structure.ts b/src/mol-canvas3d/theme/color/secondary-structure.ts similarity index 100% rename from src/mol-view/theme/color/secondary-structure.ts rename to src/mol-canvas3d/theme/color/secondary-structure.ts diff --git a/src/mol-view/theme/color/sequence-id.ts b/src/mol-canvas3d/theme/color/sequence-id.ts similarity index 100% rename from src/mol-view/theme/color/sequence-id.ts rename to src/mol-canvas3d/theme/color/sequence-id.ts diff --git a/src/mol-view/theme/color/shape-group.ts b/src/mol-canvas3d/theme/color/shape-group.ts similarity index 100% rename from src/mol-view/theme/color/shape-group.ts rename to src/mol-canvas3d/theme/color/shape-group.ts diff --git a/src/mol-view/theme/color/uniform.ts b/src/mol-canvas3d/theme/color/uniform.ts similarity index 100% rename from src/mol-view/theme/color/uniform.ts rename to src/mol-canvas3d/theme/color/uniform.ts diff --git a/src/mol-view/theme/color/unit-index.ts b/src/mol-canvas3d/theme/color/unit-index.ts similarity index 100% rename from src/mol-view/theme/color/unit-index.ts rename to src/mol-canvas3d/theme/color/unit-index.ts diff --git a/src/mol-view/theme/size.ts b/src/mol-canvas3d/theme/size.ts similarity index 100% rename from src/mol-view/theme/size.ts rename to src/mol-canvas3d/theme/size.ts diff --git a/src/mol-view/theme/size/physical.ts b/src/mol-canvas3d/theme/size/physical.ts similarity index 100% rename from src/mol-view/theme/size/physical.ts rename to src/mol-canvas3d/theme/size/physical.ts diff --git a/src/mol-view/theme/size/uniform.ts b/src/mol-canvas3d/theme/size/uniform.ts similarity index 100% rename from src/mol-view/theme/size/uniform.ts rename to src/mol-canvas3d/theme/size/uniform.ts diff --git a/src/mol-canvas3d/util.ts b/src/mol-canvas3d/util.ts new file mode 100644 index 0000000000000000000000000000000000000000..294907ad30cdd987b883f7b95848829de48a611e --- /dev/null +++ b/src/mol-canvas3d/util.ts @@ -0,0 +1,18 @@ +/** + * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info. + * + * @author Alexander Rose <alexander.rose@weirdbyte.de> + */ + +export function resizeCanvas (canvas: HTMLCanvasElement, container: Element) { + let w = window.innerWidth + let h = window.innerHeight + if (container !== document.body) { + let bounds = container.getBoundingClientRect() + w = bounds.right - bounds.left + h = bounds.bottom - bounds.top + } + canvas.width = window.devicePixelRatio * w + canvas.height = window.devicePixelRatio * h + Object.assign(canvas.style, { width: `${w}px`, height: `${h}px` }) +} \ No newline at end of file diff --git a/src/mol-view/viewer.ts b/src/mol-canvas3d/viewer.ts similarity index 100% rename from src/mol-view/viewer.ts rename to src/mol-canvas3d/viewer.ts diff --git a/src/mol-geo/geometry/color-data.ts b/src/mol-geo/geometry/color-data.ts index b02d20440eaadab735f53fba0ec472a612586140..fe1dfae7bc2f5e7bca39848decafe37e3cceca47 100644 --- a/src/mol-geo/geometry/color-data.ts +++ b/src/mol-geo/geometry/color-data.ts @@ -10,7 +10,7 @@ import { Color } from 'mol-util/color'; import { Vec2, Vec3 } from 'mol-math/linear-algebra'; import { LocationIterator } from '../util/location-iterator'; import { NullLocation } from 'mol-model/location'; -import { LocationColor, ColorThemeProps, ColorTheme, ColorThemeName } from 'mol-view/theme/color'; +import { LocationColor, ColorThemeProps, ColorTheme, ColorThemeName } from 'mol-canvas3d/theme/color'; import { RuntimeContext } from 'mol-task'; import { getGranularity } from './geometry'; import { Structure } from 'mol-model/structure'; diff --git a/src/mol-geo/geometry/direct-volume/direct-volume.ts b/src/mol-geo/geometry/direct-volume/direct-volume.ts index 76458adaa367d96f27246924f0b2fa11821fe7a3..d0057084b5b420b0f566401997c5720349bfe551 100644 --- a/src/mol-geo/geometry/direct-volume/direct-volume.ts +++ b/src/mol-geo/geometry/direct-volume/direct-volume.ts @@ -7,7 +7,7 @@ import { RuntimeContext } from 'mol-task' import { ValueCell } from 'mol-util' import { Sphere3D, Box3D } from 'mol-math/geometry' -import { paramDefaultValues, RangeParam, SelectParam, TextParam } from 'mol-view/parameter'; +import { paramDefaultValues, RangeParam, SelectParam, TextParam } from 'mol-util/parameter'; import { DirectVolumeValues } from 'mol-gl/renderable/direct-volume'; import { Vec3, Mat4 } from 'mol-math/linear-algebra'; import { Box } from '../../primitive/box'; diff --git a/src/mol-geo/geometry/direct-volume/transfer-function.ts b/src/mol-geo/geometry/direct-volume/transfer-function.ts index 9c6cd1424b4bcb5b38d9b4a7730e5da8d375a5bf..98f496f143517cebdb1345d5a7a48168ecb9b94b 100644 --- a/src/mol-geo/geometry/direct-volume/transfer-function.ts +++ b/src/mol-geo/geometry/direct-volume/transfer-function.ts @@ -18,7 +18,7 @@ export function getControlPointsFromString(s: string): ControlPoint[] { return { x: parseFloat(ps[0]), alpha: parseFloat(ps[1]) } }) } -// TODO move core function to mol-view/color +// TODO move core function to mol-canvas3d/color export function createTransferFunctionTexture(controlPoints: ControlPoint[], texture?: ValueCell<TextureImage<Uint8Array>>): ValueCell<TextureImage<Uint8Array>> { const cp = [ { x: 0, alpha: 0 }, diff --git a/src/mol-geo/geometry/geometry.ts b/src/mol-geo/geometry/geometry.ts index d9e7e2f0d212972df39a0fc4638fa956a40b58e3..86f4ba51b813b1931c1e7d1fb9ed9ddae4724ca1 100644 --- a/src/mol-geo/geometry/geometry.ts +++ b/src/mol-geo/geometry/geometry.ts @@ -10,12 +10,12 @@ import { RenderableState } from 'mol-gl/renderable'; import { ValueCell } from 'mol-util'; import { BaseValues } from 'mol-gl/renderable/schema'; import { Color } from 'mol-util/color'; -import { ColorThemeOptions, ColorThemeName } from 'mol-view/theme/color'; +import { ColorThemeOptions, ColorThemeName } from 'mol-canvas3d/theme/color'; import { LocationIterator } from '../util/location-iterator'; import { ColorType } from './color-data'; import { SizeType } from './size-data'; import { Lines } from './lines/lines'; -import { paramDefaultValues, RangeParam, BooleanParam, SelectParam, ColorParam, StructureParam, ValueParam } from 'mol-view/parameter' +import { paramDefaultValues, RangeParam, BooleanParam, SelectParam, ColorParam, StructureParam, ValueParam } from 'mol-util/parameter' import { Structure } from 'mol-model/structure'; import { DirectVolume } from './direct-volume/direct-volume'; import { Context } from 'mol-gl/webgl/context'; diff --git a/src/mol-geo/geometry/lines/lines.ts b/src/mol-geo/geometry/lines/lines.ts index 84b565d1d1df3460e108c8a64303d190dfc4a384..c4e80b3f3ce696a1f963c1089961b02c55414209 100644 --- a/src/mol-geo/geometry/lines/lines.ts +++ b/src/mol-geo/geometry/lines/lines.ts @@ -14,11 +14,11 @@ import { createMarkers } from '../marker-data'; import { createSizes } from '../size-data'; import { TransformData } from '../transform-data'; import { LocationIterator } from '../../util/location-iterator'; -import { SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { LinesValues } from 'mol-gl/renderable/lines'; import { Mesh } from '../mesh/mesh'; import { LinesBuilder } from './lines-builder'; -import { BooleanParam, SelectParam, NumberParam, paramDefaultValues } from 'mol-view/parameter'; +import { BooleanParam, SelectParam, NumberParam, paramDefaultValues } from 'mol-util/parameter'; /** Wide line */ export interface Lines { diff --git a/src/mol-geo/geometry/mesh/mesh.ts b/src/mol-geo/geometry/mesh/mesh.ts index ad4cec0ba85172c3fb8b961543413b8248132f2b..14a204f9c3039dea431a09522aa3ebf47efe80cc 100644 --- a/src/mol-geo/geometry/mesh/mesh.ts +++ b/src/mol-geo/geometry/mesh/mesh.ts @@ -16,7 +16,7 @@ import { TransformData } from '../transform-data'; import { LocationIterator } from '../../util/location-iterator'; import { createColors } from '../color-data'; import { ChunkedArray } from 'mol-data/util'; -import { BooleanParam, paramDefaultValues } from 'mol-view/parameter'; +import { BooleanParam, paramDefaultValues } from 'mol-util/parameter'; export interface Mesh { readonly kind: 'mesh', diff --git a/src/mol-geo/geometry/points/points.ts b/src/mol-geo/geometry/points/points.ts index 3181353cf9957302fccf4cc00f2bef5a4910065d..3a4799600ee35d75cfeed51fb2c5fb4dca7635b3 100644 --- a/src/mol-geo/geometry/points/points.ts +++ b/src/mol-geo/geometry/points/points.ts @@ -15,8 +15,8 @@ import { createMarkers } from '../marker-data'; import { createSizes } from '../size-data'; import { TransformData } from '../transform-data'; import { LocationIterator } from '../../util/location-iterator'; -import { SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; -import { BooleanParam, NumberParam, SelectParam, paramDefaultValues } from 'mol-view/parameter'; +import { SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; +import { BooleanParam, NumberParam, SelectParam, paramDefaultValues } from 'mol-util/parameter'; /** Point cloud */ export interface Points { diff --git a/src/mol-geo/geometry/size-data.ts b/src/mol-geo/geometry/size-data.ts index 81373ef582083d81fd42ea6af46c31de3e1294db..8a5d574b3a69cd77cee0b9c74d7cb380a100ab20 100644 --- a/src/mol-geo/geometry/size-data.ts +++ b/src/mol-geo/geometry/size-data.ts @@ -10,7 +10,7 @@ import { TextureImage, createTextureImage } from 'mol-gl/renderable/util'; import { LocationIterator } from '../util/location-iterator'; import { Location, NullLocation } from 'mol-model/location'; import { RuntimeContext } from 'mol-task'; -import { SizeThemeProps, SizeTheme, SizeThemeName } from 'mol-view/theme/size'; +import { SizeThemeProps, SizeTheme, SizeThemeName } from 'mol-canvas3d/theme/size'; import { getGranularity } from './geometry'; import { Structure } from 'mol-model/structure'; diff --git a/src/mol-geo/representation/index.ts b/src/mol-geo/representation/index.ts index 0a35e6e892286800372ad3098f52a9612d836cac..e9ca9e4c26f503cf30a186fa3e4fbf96394c1ce7 100644 --- a/src/mol-geo/representation/index.ts +++ b/src/mol-geo/representation/index.ts @@ -9,7 +9,7 @@ import { RenderObject } from 'mol-gl/render-object' import { PickingId } from '../geometry/picking'; import { Loci } from 'mol-model/loci'; import { MarkerAction } from '../geometry/marker-data'; -import { Params } from 'mol-view/parameter'; +import { Params } from 'mol-util/parameter'; export interface RepresentationProps {} diff --git a/src/mol-geo/representation/shape/index.ts b/src/mol-geo/representation/shape/index.ts index 6c1f7b1ff79a897a43c5f097b2533712470b5e7a..43b4d06f6d8fff6055fd1f96db25fbfbbdc819ad 100644 --- a/src/mol-geo/representation/shape/index.ts +++ b/src/mol-geo/representation/shape/index.ts @@ -11,14 +11,14 @@ import { PickingId } from '../../geometry/picking'; import { Loci, EmptyLoci, isEveryLoci } from 'mol-model/loci'; import { MarkerAction, applyMarkerAction } from '../../geometry/marker-data'; import { ValueCell } from 'mol-util'; -import { ColorThemeName, ColorThemeOptions } from 'mol-view/theme/color'; +import { ColorThemeName, ColorThemeOptions } from 'mol-canvas3d/theme/color'; import { Shape } from 'mol-model/shape'; import { LocationIterator } from '../../util/location-iterator'; import { OrderedSet, Interval } from 'mol-data/int'; import { createIdentityTransform } from '../../geometry/transform-data'; import { createRenderableState } from '../../geometry/geometry'; import { Mesh } from '../../geometry/mesh/mesh'; -import { paramDefaultValues, SelectParam } from 'mol-view/parameter'; +import { paramDefaultValues, SelectParam } from 'mol-util/parameter'; export interface ShapeRepresentation<P extends RepresentationProps = {}> extends Representation<Shape, P> { } diff --git a/src/mol-geo/representation/structure/complex-visual.ts b/src/mol-geo/representation/structure/complex-visual.ts index 02bfb79588f31013725f319de8d95486d6e7b5b9..aac01779c41a402b9e710bda94e7d9390152a064 100644 --- a/src/mol-geo/representation/structure/complex-visual.ts +++ b/src/mol-geo/representation/structure/complex-visual.ts @@ -19,7 +19,7 @@ import { MarkerAction, applyMarkerAction } from '../../geometry/marker-data'; import { Interval } from 'mol-data/int'; import { updateRenderableState, Geometry } from '../../geometry/geometry'; import { createColors } from '../../geometry/color-data'; -import { MultiSelectParam, paramDefaultValues } from 'mol-view/parameter'; +import { MultiSelectParam, paramDefaultValues } from 'mol-util/parameter'; import { RenderableValues } from 'mol-gl/renderable/schema'; import { createSizes } from 'mol-geo/geometry/size-data'; diff --git a/src/mol-geo/representation/structure/index.ts b/src/mol-geo/representation/structure/index.ts index b5c094fc2efb84ec161a72296e1d7015d7076a16..01769aeabde78beeaab85f795a52abfa30f1491a 100644 --- a/src/mol-geo/representation/structure/index.ts +++ b/src/mol-geo/representation/structure/index.ts @@ -6,14 +6,14 @@ */ import { Structure } from 'mol-model/structure'; -import { ColorThemeName, ColorThemeOptions } from 'mol-view/theme/color'; -import { SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { ColorThemeName, ColorThemeOptions } from 'mol-canvas3d/theme/color'; +import { SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { Representation, RepresentationProps } from '..'; import { Geometry } from '../../geometry/geometry'; import { Mesh } from '../../geometry/mesh/mesh'; import { Points } from '../../geometry/points/points'; import { Lines } from '../../geometry/lines/lines'; -import { SelectParam, paramDefaultValues } from 'mol-view/parameter'; +import { SelectParam, paramDefaultValues } from 'mol-util/parameter'; import { DirectVolume } from '../../geometry/direct-volume/direct-volume'; export interface StructureRepresentation<P extends RepresentationProps = {}> extends Representation<Structure, P> { } diff --git a/src/mol-geo/representation/structure/representation/backbone.ts b/src/mol-geo/representation/structure/representation/backbone.ts index ad6e7e641d94be2794c4b22793a06c5bf0499d49..ecfa4da0454e3e770b62462e23dd27fdf36724fb 100644 --- a/src/mol-geo/representation/structure/representation/backbone.ts +++ b/src/mol-geo/representation/structure/representation/backbone.ts @@ -12,7 +12,7 @@ import { Loci } from 'mol-model/loci'; import { MarkerAction } from '../../../geometry/marker-data'; import { PolymerBackboneVisual, PolymerBackboneParams } from '../visual/polymer-backbone-cylinder'; import { getQualityProps } from '../../util'; -import { paramDefaultValues } from 'mol-view/parameter'; +import { paramDefaultValues } from 'mol-util/parameter'; export const BackboneParams = { ...PolymerBackboneParams diff --git a/src/mol-geo/representation/structure/representation/ball-and-stick.ts b/src/mol-geo/representation/structure/representation/ball-and-stick.ts index 90eec78fea53099686fdd74a0d436b890df4ea6e..c4f50b145a948c1c9b69625afe8b9d52f922964a 100644 --- a/src/mol-geo/representation/structure/representation/ball-and-stick.ts +++ b/src/mol-geo/representation/structure/representation/ball-and-stick.ts @@ -13,9 +13,9 @@ import { Task } from 'mol-task'; import { Loci, isEmptyLoci } from 'mol-model/loci'; import { MarkerAction } from '../../../geometry/marker-data'; import { InterUnitLinkVisual } from '../visual/inter-unit-link-cylinder'; -import { SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { getQualityProps } from '../../util'; -import { paramDefaultValues, SelectParam, NumberParam, MultiSelectParam } from 'mol-view/parameter'; +import { paramDefaultValues, SelectParam, NumberParam, MultiSelectParam } from 'mol-util/parameter'; import { UnitKind, UnitKindOptions } from '../visual/util/common'; export const BallAndStickParams = { diff --git a/src/mol-geo/representation/structure/representation/carbohydrate.ts b/src/mol-geo/representation/structure/representation/carbohydrate.ts index 89b348ba7ebfa92bd170b9985c985da9c7bb405e..17373bbcebbcedb38a4b6a0325bd23eb9111e759 100644 --- a/src/mol-geo/representation/structure/representation/carbohydrate.ts +++ b/src/mol-geo/representation/structure/representation/carbohydrate.ts @@ -12,9 +12,9 @@ import { Loci, isEmptyLoci } from 'mol-model/loci'; import { MarkerAction } from '../../../geometry/marker-data'; import { CarbohydrateSymbolVisual, CarbohydrateSymbolParams } from '../visual/carbohydrate-symbol-mesh'; import { CarbohydrateLinkVisual, CarbohydrateLinkParams } from '../visual/carbohydrate-link-cylinder'; -import { SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { getQualityProps } from '../../util'; -import { paramDefaultValues, SelectParam, NumberParam } from 'mol-view/parameter'; +import { paramDefaultValues, SelectParam, NumberParam } from 'mol-util/parameter'; export const CarbohydrateParams = { ...CarbohydrateSymbolParams, diff --git a/src/mol-geo/representation/structure/representation/cartoon.ts b/src/mol-geo/representation/structure/representation/cartoon.ts index e9934ed66376b1776b81cbdd43b30d88c6394797..3f5e915cd6ab562feccd2e6bf87811c63c9c85f3 100644 --- a/src/mol-geo/representation/structure/representation/cartoon.ts +++ b/src/mol-geo/representation/structure/representation/cartoon.ts @@ -13,9 +13,9 @@ import { MarkerAction } from '../../../geometry/marker-data'; import { PolymerTraceVisual, PolymerTraceParams } from '../visual/polymer-trace-mesh'; import { PolymerGapVisual, PolymerGapParams } from '../visual/polymer-gap-cylinder'; import { NucleotideBlockVisual, NucleotideBlockParams } from '../visual/nucleotide-block-mesh'; -import { SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { getQualityProps } from '../../util'; -import { paramDefaultValues, SelectParam, NumberParam } from 'mol-view/parameter'; +import { paramDefaultValues, SelectParam, NumberParam } from 'mol-util/parameter'; // import { PolymerDirectionVisual, DefaultPolymerDirectionProps } from '../visual/polymer-direction-wedge'; export const CartoonParams = { diff --git a/src/mol-geo/representation/structure/representation/distance-restraint.ts b/src/mol-geo/representation/structure/representation/distance-restraint.ts index 5d460bb59c7b971ca1515950e80991f68436b007..7e683865197006a15c03dea03c4e3c2dd746dd5c 100644 --- a/src/mol-geo/representation/structure/representation/distance-restraint.ts +++ b/src/mol-geo/representation/structure/representation/distance-restraint.ts @@ -11,9 +11,9 @@ import { Task } from 'mol-task'; import { Loci } from 'mol-model/loci'; import { MarkerAction } from '../../../geometry/marker-data'; import { CrossLinkRestraintVisual, CrossLinkRestraintParams } from '../visual/cross-link-restraint-cylinder'; -import { SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { getQualityProps } from '../../util'; -import { paramDefaultValues, SelectParam, NumberParam } from 'mol-view/parameter'; +import { paramDefaultValues, SelectParam, NumberParam } from 'mol-util/parameter'; export const DistanceRestraintParams = { ...CrossLinkRestraintParams, diff --git a/src/mol-geo/representation/structure/representation/molecular-surface.ts b/src/mol-geo/representation/structure/representation/molecular-surface.ts index be412fc1ea8096999ffcee1aa20601da73984709..9a4fd1378bddf9db7322979a5d064a64d6ed13eb 100644 --- a/src/mol-geo/representation/structure/representation/molecular-surface.ts +++ b/src/mol-geo/representation/structure/representation/molecular-surface.ts @@ -14,9 +14,9 @@ import { PickingId } from '../../../geometry/picking'; import { Task } from 'mol-task'; import { GaussianWireframeVisual, GaussianWireframeParams } from '../visual/gaussian-surface-wireframe'; import { getQualityProps } from '../../util'; -import { paramDefaultValues, MultiSelectParam, SelectParam } from 'mol-view/parameter'; +import { paramDefaultValues, MultiSelectParam, SelectParam } from 'mol-util/parameter'; import { GaussianDensityVolumeParams, GaussianDensityVolumeVisual } from '../visual/gaussian-density-volume'; -import { SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; const VisualOptions = [['surface', 'Surface'], ['wireframe', 'Wireframe'], ['volume', 'Volume']] as [string, string][] diff --git a/src/mol-geo/representation/structure/representation/point.ts b/src/mol-geo/representation/structure/representation/point.ts index 09049bf3b4cb7a3abc76f7afa590d42f9aa881ca..2992e750372136140837430c8b448cb6c1ae1cbb 100644 --- a/src/mol-geo/representation/structure/representation/point.ts +++ b/src/mol-geo/representation/structure/representation/point.ts @@ -11,7 +11,7 @@ import { Structure } from 'mol-model/structure'; import { MarkerAction } from '../../../geometry/marker-data'; import { Loci } from 'mol-model/loci'; import { PickingId } from '../../../geometry/picking'; -import { paramDefaultValues } from 'mol-view/parameter'; +import { paramDefaultValues } from 'mol-util/parameter'; export const PointParams = { ...ElementPointParams, diff --git a/src/mol-geo/representation/structure/representation/spacefill.ts b/src/mol-geo/representation/structure/representation/spacefill.ts index 740c240c7fd3b42e082e8ae12a3ea7b58f91b565..c79ece3e06d47525775ba60cdd35a3fbed168201 100644 --- a/src/mol-geo/representation/structure/representation/spacefill.ts +++ b/src/mol-geo/representation/structure/representation/spacefill.ts @@ -12,7 +12,7 @@ import { PickingId } from '../../../geometry/picking'; import { MarkerAction } from '../../../geometry/marker-data'; import { Loci } from 'mol-model/loci'; import { getQualityProps } from '../../util'; -import { paramDefaultValues } from 'mol-view/parameter'; +import { paramDefaultValues } from 'mol-util/parameter'; export const SpacefillParams = { ...ElementSphereParams diff --git a/src/mol-geo/representation/structure/units-visual.ts b/src/mol-geo/representation/structure/units-visual.ts index 5e674479a1c2086eeb4475ca6b622c55282519e8..bef61d53306551b03c7e018873286aa8dbf67d03 100644 --- a/src/mol-geo/representation/structure/units-visual.ts +++ b/src/mol-geo/representation/structure/units-visual.ts @@ -22,7 +22,7 @@ import { updateRenderableState, Geometry } from '../../geometry/geometry'; import { createColors } from '../../geometry/color-data'; import { createSizes } from '../../geometry/size-data'; import { Lines } from '../../geometry/lines/lines'; -import { MultiSelectParam, paramDefaultValues } from 'mol-view/parameter'; +import { MultiSelectParam, paramDefaultValues } from 'mol-util/parameter'; import { DirectVolume } from '../../geometry/direct-volume/direct-volume'; import { RenderableValues } from 'mol-gl/renderable/schema'; diff --git a/src/mol-geo/representation/structure/visual/carbohydrate-link-cylinder.ts b/src/mol-geo/representation/structure/visual/carbohydrate-link-cylinder.ts index a475a28892756d2649c146e53d07c48103008cbf..bfc6af645bae1db284644f5b6059b92cc80d7236 100644 --- a/src/mol-geo/representation/structure/visual/carbohydrate-link-cylinder.ts +++ b/src/mol-geo/representation/structure/visual/carbohydrate-link-cylinder.ts @@ -15,11 +15,11 @@ import { LocationIterator } from '../../../util/location-iterator'; import { createLinkCylinderMesh, LinkCylinderProps, LinkCylinderParams } from './util/link'; import { OrderedSet, Interval } from 'mol-data/int'; import { ComplexMeshVisual } from '../complex-visual'; -import { SizeTheme, SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeTheme, SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { LinkType } from 'mol-model/structure/model/types'; import { BitFlags } from 'mol-util'; import { UnitsMeshParams } from '../units-visual'; -import { SelectParam, NumberParam, paramDefaultValues } from 'mol-view/parameter'; +import { SelectParam, NumberParam, paramDefaultValues } from 'mol-util/parameter'; // TODO create seperate visual // for (let i = 0, il = carbohydrates.terminalLinks.length; i < il; ++i) { diff --git a/src/mol-geo/representation/structure/visual/carbohydrate-symbol-mesh.ts b/src/mol-geo/representation/structure/visual/carbohydrate-symbol-mesh.ts index 15d4f0b765b0adb7d1cef23de5617697800a60b4..14e275795deb84816c8e2f1624eb9a52f3b52908 100644 --- a/src/mol-geo/representation/structure/visual/carbohydrate-symbol-mesh.ts +++ b/src/mol-geo/representation/structure/visual/carbohydrate-symbol-mesh.ts @@ -16,14 +16,14 @@ import { getSaccharideShape, SaccharideShapes } from 'mol-model/structure/struct import { LocationIterator } from '../../../util/location-iterator'; import { OrderedSet, Interval } from 'mol-data/int'; import { ComplexMeshVisual, ComplexMeshParams } from '../complex-visual'; -import { SizeTheme, SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeTheme, SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { addSphere } from '../../../geometry/mesh/builder/sphere'; import { Box, PerforatedBox } from '../../../primitive/box'; import { OctagonalPyramid, PerforatedOctagonalPyramid } from '../../../primitive/pyramid'; import { Star } from '../../../primitive/star'; import { Octahedron, PerforatedOctahedron } from '../../../primitive/octahedron'; import { DiamondPrism, PentagonalPrism, HexagonalPrism } from '../../../primitive/prism'; -import { SelectParam, NumberParam, paramDefaultValues } from 'mol-view/parameter'; +import { SelectParam, NumberParam, paramDefaultValues } from 'mol-util/parameter'; const t = Mat4.identity() const sVec = Vec3.zero() diff --git a/src/mol-geo/representation/structure/visual/cross-link-restraint-cylinder.ts b/src/mol-geo/representation/structure/visual/cross-link-restraint-cylinder.ts index 43764073b01327ad726ad6f9e333133bf6879c1d..703feccb4b2f5c027043e7108c3f0c7f4d3fa390 100644 --- a/src/mol-geo/representation/structure/visual/cross-link-restraint-cylinder.ts +++ b/src/mol-geo/representation/structure/visual/cross-link-restraint-cylinder.ts @@ -15,10 +15,10 @@ import { Loci, EmptyLoci } from 'mol-model/loci'; import { ComplexMeshVisual, ComplexMeshParams } from '../complex-visual'; import { LocationIterator } from '../../../util/location-iterator'; import { Interval } from 'mol-data/int'; -import { SizeTheme, SizeThemeOptions, SizeThemeName } from 'mol-view/theme/size'; +import { SizeTheme, SizeThemeOptions, SizeThemeName } from 'mol-canvas3d/theme/size'; import { BitFlags } from 'mol-util'; import { LinkType } from 'mol-model/structure/model/types'; -import { SelectParam, NumberParam, paramDefaultValues } from 'mol-view/parameter'; +import { SelectParam, NumberParam, paramDefaultValues } from 'mol-util/parameter'; async function createCrossLinkRestraintCylinderMesh(ctx: RuntimeContext, structure: Structure, props: LinkCylinderProps, mesh?: Mesh) { diff --git a/src/mol-geo/representation/structure/visual/element-point.ts b/src/mol-geo/representation/structure/visual/element-point.ts index e6fd797016cc0d882892cf49f4d73ed3e4545aef..6b25c8608d614720571911ae2718b0513507b33f 100644 --- a/src/mol-geo/representation/structure/visual/element-point.ts +++ b/src/mol-geo/representation/structure/visual/element-point.ts @@ -9,11 +9,11 @@ import { RuntimeContext } from 'mol-task' import { UnitsVisual, VisualUpdateState } from '..'; import { getElementLoci, StructureElementIterator, markElement } from './util/element'; import { Vec3 } from 'mol-math/linear-algebra'; -import { SizeThemeOptions, SizeThemeName } from 'mol-view/theme/size'; +import { SizeThemeOptions, SizeThemeName } from 'mol-canvas3d/theme/size'; import { UnitsPointsVisual, UnitsPointsParams } from '../units-visual'; import { Points } from '../../../geometry/points/points'; import { PointsBuilder } from '../../../geometry/points/points-builder'; -import { SelectParam, NumberParam, BooleanParam, paramDefaultValues } from 'mol-view/parameter'; +import { SelectParam, NumberParam, BooleanParam, paramDefaultValues } from 'mol-util/parameter'; export const ElementPointParams = { ...UnitsPointsParams, diff --git a/src/mol-geo/representation/structure/visual/element-sphere.ts b/src/mol-geo/representation/structure/visual/element-sphere.ts index 5913a0e4a64dd7f8e238dde5a2fcb16b49c86e18..baa54242959326bfdfe41234306c24ea4fcc5eae 100644 --- a/src/mol-geo/representation/structure/visual/element-sphere.ts +++ b/src/mol-geo/representation/structure/visual/element-sphere.ts @@ -8,8 +8,8 @@ import { UnitsVisual, VisualUpdateState } from '..'; import { createElementSphereMesh, markElement, getElementLoci, StructureElementIterator } from './util/element'; import { UnitsMeshVisual, UnitsMeshParams } from '../units-visual'; -import { NumberParam, paramDefaultValues, SelectParam } from 'mol-view/parameter'; -import { SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { NumberParam, paramDefaultValues, SelectParam } from 'mol-util/parameter'; +import { SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; export const ElementSphereParams = { ...UnitsMeshParams, diff --git a/src/mol-geo/representation/structure/visual/gaussian-density-point.ts b/src/mol-geo/representation/structure/visual/gaussian-density-point.ts index 9a26d96019acfd67fbfe01967205328cf3bc0fc1..7ff641e9125c1b8070a3d260389e99fa6da11b14 100644 --- a/src/mol-geo/representation/structure/visual/gaussian-density-point.ts +++ b/src/mol-geo/representation/structure/visual/gaussian-density-point.ts @@ -13,9 +13,9 @@ import { Vec3 } from 'mol-math/linear-algebra'; import { UnitsPointsVisual, UnitsPointsParams } from '../units-visual'; import { Points } from '../../../geometry/points/points'; import { PointsBuilder } from '../../../geometry/points/points-builder'; -import { SizeThemeOptions, SizeThemeName } from 'mol-view/theme/size'; +import { SizeThemeOptions, SizeThemeName } from 'mol-canvas3d/theme/size'; import { GaussianDensityProps, GaussianDensityParams } from 'mol-model/structure/structure/unit/gaussian-density'; -import { paramDefaultValues, SelectParam, NumberParam, BooleanParam } from 'mol-view/parameter'; +import { paramDefaultValues, SelectParam, NumberParam, BooleanParam } from 'mol-util/parameter'; export const GaussianDensityPointParams = { ...UnitsPointsParams, diff --git a/src/mol-geo/representation/structure/visual/gaussian-density-volume.ts b/src/mol-geo/representation/structure/visual/gaussian-density-volume.ts index 94bcd294a930ba8498e324a9eea043890225a34b..912c07dff46006c4f74baebb03f9ef1c38257ad2 100644 --- a/src/mol-geo/representation/structure/visual/gaussian-density-volume.ts +++ b/src/mol-geo/representation/structure/visual/gaussian-density-volume.ts @@ -10,7 +10,7 @@ import { RuntimeContext } from 'mol-task' import { UnitsDirectVolumeVisual, UnitsDirectVolumeParams } from '../units-visual'; import { StructureElementIterator, getElementLoci, markElement } from './util/element'; import { GaussianDensityProps, GaussianDensityParams, computeUnitGaussianDensityTexture } from 'mol-model/structure/structure/unit/gaussian-density'; -import { paramDefaultValues } from 'mol-view/parameter'; +import { paramDefaultValues } from 'mol-util/parameter'; import { DirectVolume } from '../../../geometry/direct-volume/direct-volume'; async function createGaussianDensityVolume(ctx: RuntimeContext, unit: Unit, structure: Structure, props: GaussianDensityProps, directVolume?: DirectVolume): Promise<DirectVolume> { diff --git a/src/mol-geo/representation/structure/visual/gaussian-surface-mesh.ts b/src/mol-geo/representation/structure/visual/gaussian-surface-mesh.ts index 043f8dc93995af335aa768ec90f8adec6470ebc4..8faf356ab1290a11f262fed6744dba611f506e89 100644 --- a/src/mol-geo/representation/structure/visual/gaussian-surface-mesh.ts +++ b/src/mol-geo/representation/structure/visual/gaussian-surface-mesh.ts @@ -12,7 +12,7 @@ import { UnitsMeshVisual, UnitsMeshParams } from '../units-visual'; import { StructureElementIterator, getElementLoci, markElement } from './util/element'; import { computeMarchingCubesMesh } from '../../../util/marching-cubes/algorithm'; import { GaussianDensityProps, GaussianDensityParams } from 'mol-model/structure/structure/unit/gaussian-density'; -import { paramDefaultValues } from 'mol-view/parameter'; +import { paramDefaultValues } from 'mol-util/parameter'; async function createGaussianSurfaceMesh(ctx: RuntimeContext, unit: Unit, structure: Structure, props: GaussianDensityProps, mesh?: Mesh): Promise<Mesh> { const { smoothness } = props diff --git a/src/mol-geo/representation/structure/visual/gaussian-surface-wireframe.ts b/src/mol-geo/representation/structure/visual/gaussian-surface-wireframe.ts index 3d1da6e79ce63dee34a04cda3b393b5d0c22fcf1..0bb363663b5e405b9deb8fd93c4e8118dbb15cda 100644 --- a/src/mol-geo/representation/structure/visual/gaussian-surface-wireframe.ts +++ b/src/mol-geo/representation/structure/visual/gaussian-surface-wireframe.ts @@ -12,8 +12,8 @@ import { StructureElementIterator, getElementLoci, markElement } from './util/el import { computeMarchingCubesLines } from '../../../util/marching-cubes/algorithm'; import { Lines } from '../../../geometry/lines/lines'; import { GaussianDensityProps, GaussianDensityParams } from 'mol-model/structure/structure/unit/gaussian-density'; -import { paramDefaultValues, SelectParam, NumberParam, BooleanParam } from 'mol-view/parameter'; -import { SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { paramDefaultValues, SelectParam, NumberParam, BooleanParam } from 'mol-util/parameter'; +import { SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; async function createGaussianWireframe(ctx: RuntimeContext, unit: Unit, structure: Structure, props: GaussianDensityProps, lines?: Lines): Promise<Lines> { const { smoothness } = props diff --git a/src/mol-geo/representation/structure/visual/inter-unit-link-cylinder.ts b/src/mol-geo/representation/structure/visual/inter-unit-link-cylinder.ts index 5503cae068a2afa4d51fa9ac0ff3e1c746234494..796adcb04eef4780e676e48561a1db2e92f8da02 100644 --- a/src/mol-geo/representation/structure/visual/inter-unit-link-cylinder.ts +++ b/src/mol-geo/representation/structure/visual/inter-unit-link-cylinder.ts @@ -14,9 +14,9 @@ import { Vec3 } from 'mol-math/linear-algebra'; import { Loci, EmptyLoci } from 'mol-model/loci'; import { ComplexMeshVisual, ComplexMeshParams } from '../complex-visual'; import { Interval } from 'mol-data/int'; -import { SizeTheme, SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeTheme, SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { BitFlags } from 'mol-util'; -import { SelectParam, NumberParam, paramDefaultValues } from 'mol-view/parameter'; +import { SelectParam, NumberParam, paramDefaultValues } from 'mol-util/parameter'; async function createInterUnitLinkCylinderMesh(ctx: RuntimeContext, structure: Structure, props: LinkCylinderProps, mesh?: Mesh) { const links = structure.links diff --git a/src/mol-geo/representation/structure/visual/intra-unit-link-cylinder.ts b/src/mol-geo/representation/structure/visual/intra-unit-link-cylinder.ts index 005799c8189e223b89800cc327a7049dc35da9fd..c3569027b16c0abeca7e955535d7cec0e6ddd037 100644 --- a/src/mol-geo/representation/structure/visual/intra-unit-link-cylinder.ts +++ b/src/mol-geo/representation/structure/visual/intra-unit-link-cylinder.ts @@ -15,9 +15,9 @@ import { Vec3 } from 'mol-math/linear-algebra'; import { Loci, EmptyLoci } from 'mol-model/loci'; import { UnitsMeshVisual, UnitsMeshParams } from '../units-visual'; import { Interval } from 'mol-data/int'; -import { SizeTheme, SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeTheme, SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { BitFlags } from 'mol-util'; -import { SelectParam, NumberParam, paramDefaultValues } from 'mol-view/parameter'; +import { SelectParam, NumberParam, paramDefaultValues } from 'mol-util/parameter'; async function createIntraUnitLinkCylinderMesh(ctx: RuntimeContext, unit: Unit, structure: Structure, props: LinkCylinderProps, mesh?: Mesh) { if (!Unit.isAtomic(unit)) return Mesh.createEmpty(mesh) diff --git a/src/mol-geo/representation/structure/visual/nucleotide-block-mesh.ts b/src/mol-geo/representation/structure/visual/nucleotide-block-mesh.ts index 5e778b020dc8c656cc944c2a5735ec216a5e730d..1dd4bc8b36398ea5f115d31e38912ec30216c510 100644 --- a/src/mol-geo/representation/structure/visual/nucleotide-block-mesh.ts +++ b/src/mol-geo/representation/structure/visual/nucleotide-block-mesh.ts @@ -17,7 +17,7 @@ import { UnitsMeshVisual, UnitsMeshParams } from '../units-visual'; import { addCylinder } from '../../../geometry/mesh/builder/cylinder'; import { Box } from '../../../primitive/box'; import { NucleotideLocationIterator, markNucleotideElement, getNucleotideElementLoci } from './util/nucleotide'; -import { paramDefaultValues } from 'mol-view/parameter'; +import { paramDefaultValues } from 'mol-util/parameter'; const p1 = Vec3.zero() const p2 = Vec3.zero() diff --git a/src/mol-geo/representation/structure/visual/polymer-backbone-cylinder.ts b/src/mol-geo/representation/structure/visual/polymer-backbone-cylinder.ts index 50aea2a8b80e9815a537986803aafeb3b54b4d71..62860a718cd4e68bd14623792b8f5e3587aa369e 100644 --- a/src/mol-geo/representation/structure/visual/polymer-backbone-cylinder.ts +++ b/src/mol-geo/representation/structure/visual/polymer-backbone-cylinder.ts @@ -13,11 +13,11 @@ import { PolymerBackboneIterator } from './util/polymer'; import { getElementLoci, markElement, StructureElementIterator } from './util/element'; import { Vec3 } from 'mol-math/linear-algebra'; import { UnitsMeshVisual, UnitsMeshParams } from '../units-visual'; -import { SizeTheme, SizeThemeOptions, SizeThemeName } from 'mol-view/theme/size'; +import { SizeTheme, SizeThemeOptions, SizeThemeName } from 'mol-canvas3d/theme/size'; import { CylinderProps } from '../../../primitive/cylinder'; import { OrderedSet } from 'mol-data/int'; import { addCylinder } from '../../../geometry/mesh/builder/cylinder'; -import { paramDefaultValues, NumberParam, SelectParam } from 'mol-view/parameter'; +import { paramDefaultValues, NumberParam, SelectParam } from 'mol-util/parameter'; export const PolymerBackboneCylinderParams = { sizeTheme: SelectParam<SizeThemeName>('Size Theme', '', 'uniform', SizeThemeOptions), diff --git a/src/mol-geo/representation/structure/visual/polymer-direction-wedge.ts b/src/mol-geo/representation/structure/visual/polymer-direction-wedge.ts index cce1eb9b6c33c0755a32db30f5ebac881d3e23aa..1601fca4bf7ced098693fe44c2e093f34e1f559a 100644 --- a/src/mol-geo/representation/structure/visual/polymer-direction-wedge.ts +++ b/src/mol-geo/representation/structure/visual/polymer-direction-wedge.ts @@ -13,9 +13,9 @@ import { PolymerTraceIterator, createCurveSegmentState, interpolateCurveSegment, import { Vec3, Mat4 } from 'mol-math/linear-algebra'; import { SecondaryStructureType, isNucleic } from 'mol-model/structure/model/types'; import { UnitsMeshVisual, UnitsMeshParams } from '../units-visual'; -import { SizeTheme, SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeTheme, SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { Wedge } from '../../../primitive/wedge'; -import { SelectParam, NumberParam, paramDefaultValues } from 'mol-view/parameter'; +import { SelectParam, NumberParam, paramDefaultValues } from 'mol-util/parameter'; const t = Mat4.identity() const sVec = Vec3.zero() diff --git a/src/mol-geo/representation/structure/visual/polymer-gap-cylinder.ts b/src/mol-geo/representation/structure/visual/polymer-gap-cylinder.ts index e8b3a62b6151dd89001ad3a1b6246c3d08a7fb01..98ace9ba4bacf9e9d797f187406339fafebb691d 100644 --- a/src/mol-geo/representation/structure/visual/polymer-gap-cylinder.ts +++ b/src/mol-geo/representation/structure/visual/polymer-gap-cylinder.ts @@ -12,11 +12,11 @@ import { MeshBuilder } from '../../../geometry/mesh/mesh-builder'; import { PolymerGapIterator, PolymerGapLocationIterator, markPolymerGapElement, getPolymerGapElementLoci } from './util/polymer'; import { Vec3 } from 'mol-math/linear-algebra'; import { UnitsMeshVisual, UnitsMeshParams } from '../units-visual'; -import { SizeTheme, SizeThemeOptions, SizeThemeName } from 'mol-view/theme/size'; +import { SizeTheme, SizeThemeOptions, SizeThemeName } from 'mol-canvas3d/theme/size'; import { CylinderProps } from '../../../primitive/cylinder'; import { addSphere } from '../../../geometry/mesh/builder/sphere'; import { addFixedCountDashedCylinder } from '../../../geometry/mesh/builder/cylinder'; -import { SelectParam, NumberParam, paramDefaultValues } from 'mol-view/parameter'; +import { SelectParam, NumberParam, paramDefaultValues } from 'mol-util/parameter'; import { LinkCylinderParams } from './util/link'; const segmentCount = 10 diff --git a/src/mol-geo/representation/structure/visual/polymer-trace-mesh.ts b/src/mol-geo/representation/structure/visual/polymer-trace-mesh.ts index e5380b1bfaf50a749431485aa8dc0e32baed1553..4a7bc8dde31d8f678ab5c899bdf296749549299e 100644 --- a/src/mol-geo/representation/structure/visual/polymer-trace-mesh.ts +++ b/src/mol-geo/representation/structure/visual/polymer-trace-mesh.ts @@ -12,10 +12,10 @@ import { MeshBuilder } from '../../../geometry/mesh/mesh-builder'; import { PolymerTraceIterator, createCurveSegmentState, interpolateCurveSegment, PolymerLocationIterator, getPolymerElementLoci, markPolymerElement } from './util/polymer'; import { SecondaryStructureType, isNucleic } from 'mol-model/structure/model/types'; import { UnitsMeshVisual, UnitsMeshParams } from '../units-visual'; -import { SizeTheme, SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeTheme, SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { addSheet } from '../../../geometry/mesh/builder/sheet'; import { addTube } from '../../../geometry/mesh/builder/tube'; -import { SelectParam, NumberParam, paramDefaultValues } from 'mol-view/parameter'; +import { SelectParam, NumberParam, paramDefaultValues } from 'mol-util/parameter'; export const PolymerTraceMeshParams = { sizeTheme: SelectParam<SizeThemeName>('Size Theme', '', 'physical', SizeThemeOptions), diff --git a/src/mol-geo/representation/structure/visual/util/element.ts b/src/mol-geo/representation/structure/visual/util/element.ts index 76dfc4a5079bc27e2584b332d41c519a9de01336..b2205660c510bcf2df4894e6757f9b457872dde8 100644 --- a/src/mol-geo/representation/structure/visual/util/element.ts +++ b/src/mol-geo/representation/structure/visual/util/element.ts @@ -13,7 +13,7 @@ import { MeshBuilder } from '../../../../geometry/mesh/mesh-builder'; import { Loci, EmptyLoci } from 'mol-model/loci'; import { Interval, OrderedSet } from 'mol-data/int'; import { PickingId } from '../../../../geometry/picking'; -import { SizeTheme, SizeThemeName } from 'mol-view/theme/size'; +import { SizeTheme, SizeThemeName } from 'mol-canvas3d/theme/size'; import { LocationIterator } from '../../../../util/location-iterator'; import { addSphere } from '../../../../geometry/mesh/builder/sphere'; diff --git a/src/mol-geo/representation/structure/visual/util/link.ts b/src/mol-geo/representation/structure/visual/util/link.ts index 6cdbae8aba636308fa4a0796bc0a94a42c834548..0c2eede028c9c8ccb182d8658ef357e5f1ce4ccf 100644 --- a/src/mol-geo/representation/structure/visual/util/link.ts +++ b/src/mol-geo/representation/structure/visual/util/link.ts @@ -9,12 +9,12 @@ import { RuntimeContext } from 'mol-task'; import { Mesh } from '../../../../geometry/mesh/mesh'; import { MeshBuilder } from '../../../../geometry/mesh/mesh-builder'; import { LinkType } from 'mol-model/structure/model/types'; -import { SizeThemeName, SizeThemeOptions } from 'mol-view/theme/size'; +import { SizeThemeName, SizeThemeOptions } from 'mol-canvas3d/theme/size'; import { CylinderProps } from '../../../../primitive/cylinder'; import { LocationIterator } from '../../../../util/location-iterator'; import { Unit, StructureElement, Structure, Link } from 'mol-model/structure'; import { addFixedCountDashedCylinder, addCylinder, addDoubleCylinder } from '../../../../geometry/mesh/builder/cylinder'; -import { SelectParam, RangeParam, NumberParam, paramDefaultValues } from 'mol-view/parameter'; +import { SelectParam, RangeParam, NumberParam, paramDefaultValues } from 'mol-util/parameter'; export const LinkCylinderParams = { sizeTheme: SelectParam<SizeThemeName>('Size Theme', '', 'uniform', SizeThemeOptions), diff --git a/src/mol-geo/representation/volume/direct-volume.ts b/src/mol-geo/representation/volume/direct-volume.ts index 5819bfa9b3a6f69b2d27b7cb55c35f7cc1b0a0ec..49d12ef2ae936570befdab559c17c033cd70112a 100644 --- a/src/mol-geo/representation/volume/direct-volume.ts +++ b/src/mol-geo/representation/volume/direct-volume.ts @@ -12,7 +12,7 @@ import { PickingId } from '../../geometry/picking'; import { MarkerAction } from '../../geometry/marker-data'; import { Loci, EmptyLoci } from 'mol-model/loci'; import { createRenderableState, updateRenderableState, Geometry } from '../../geometry/geometry'; -import { paramDefaultValues } from 'mol-view/parameter'; +import { paramDefaultValues } from 'mol-util/parameter'; import { DirectVolume } from '../../geometry/direct-volume/direct-volume'; import { Vec3, Mat4 } from 'mol-math/linear-algebra'; import { Box3D } from 'mol-math/geometry'; diff --git a/src/mol-geo/representation/volume/index.ts b/src/mol-geo/representation/volume/index.ts index 2bbceed74d941ac56213cf044a60f8129d5e322e..dcb95d81aa6007052dbf12b82586e119dfb6c681 100644 --- a/src/mol-geo/representation/volume/index.ts +++ b/src/mol-geo/representation/volume/index.ts @@ -11,7 +11,7 @@ import { PickingId } from '../../geometry/picking'; import { Loci, EmptyLoci } from 'mol-model/loci'; import { MarkerAction } from '../../geometry/marker-data'; import { Geometry } from '../../geometry/geometry'; -import { paramDefaultValues } from 'mol-view/parameter'; +import { paramDefaultValues } from 'mol-util/parameter'; export interface VolumeVisual<P extends RepresentationProps = {}> extends Visual<VolumeData, P> { } diff --git a/src/mol-geo/representation/volume/isosurface-mesh.ts b/src/mol-geo/representation/volume/isosurface-mesh.ts index e6c95184044c7b29f6ed4e91e3c12325e64e646f..acff269e697040063011363c958f61be524e8f26 100644 --- a/src/mol-geo/representation/volume/isosurface-mesh.ts +++ b/src/mol-geo/representation/volume/isosurface-mesh.ts @@ -18,7 +18,7 @@ import { LocationIterator } from '../../util/location-iterator'; import { NullLocation } from 'mol-model/location'; import { createIdentityTransform } from '../../geometry/transform-data'; import { createRenderableState, updateRenderableState } from '../../geometry/geometry'; -import { paramDefaultValues, RangeParam } from 'mol-view/parameter'; +import { paramDefaultValues, RangeParam } from 'mol-util/parameter'; import { ValueCell } from 'mol-util'; export async function createVolumeSurface(ctx: RuntimeContext, volume: VolumeData, isoValueAbsolute: number, mesh?: Mesh) { diff --git a/src/mol-gl/_spec/renderer.spec.ts b/src/mol-gl/_spec/renderer.spec.ts index ab7feffcc3e4fa8df4bd6047f85fed95a005d47b..6ede20f9997f0ea08e4b64b06dc1dacb73883dfc 100644 --- a/src/mol-gl/_spec/renderer.spec.ts +++ b/src/mol-gl/_spec/renderer.spec.ts @@ -6,7 +6,7 @@ import { createGl } from './gl.shim'; -import { PerspectiveCamera } from 'mol-view/camera/perspective'; +import { PerspectiveCamera } from 'mol-canvas3d/camera/perspective'; import { Vec3, Mat4 } from 'mol-math/linear-algebra'; import { ValueCell } from 'mol-util'; diff --git a/src/mol-gl/renderer.ts b/src/mol-gl/renderer.ts index 35a940f89178885396d31114922b72f86d9056f4..3437f75c1539900aa7ac0a0574f1e215585294ce 100644 --- a/src/mol-gl/renderer.ts +++ b/src/mol-gl/renderer.ts @@ -5,8 +5,8 @@ */ // import { Vec3, Mat4 } from 'mol-math/linear-algebra' -import { Viewport } from 'mol-view/camera/util'; -import { Camera } from 'mol-view/camera/base'; +import { Viewport } from 'mol-canvas3d/camera/util'; +import { Camera } from 'mol-canvas3d/camera/base'; import Scene from './scene'; import { Context, createImageData } from './webgl/context'; diff --git a/src/mol-model/structure/structure/unit/gaussian-density.ts b/src/mol-model/structure/structure/unit/gaussian-density.ts index a5d4d0681972dc13e3a20449cd8712a594489975..e79797d220cdb6ae8114f2f9bd8e918896220b7b 100644 --- a/src/mol-model/structure/structure/unit/gaussian-density.ts +++ b/src/mol-model/structure/structure/unit/gaussian-density.ts @@ -5,11 +5,11 @@ */ import { Unit, StructureElement, ElementIndex } from 'mol-model/structure'; -import { SizeTheme } from 'mol-view/theme/size'; +import { SizeTheme } from 'mol-canvas3d/theme/size'; import { GaussianDensity } from 'mol-math/geometry/gaussian-density'; import { Task, RuntimeContext } from 'mol-task'; import { DensityData } from 'mol-math/geometry'; -import { NumberParam, paramDefaultValues, BooleanParam, ValueParam } from 'mol-view/parameter'; +import { NumberParam, paramDefaultValues, BooleanParam, ValueParam } from 'mol-util/parameter'; import { Context } from 'mol-gl/webgl/context'; import { GaussianDensityTexture } from 'mol-math/geometry/gaussian-density/gpu'; import { Texture } from 'mol-gl/webgl/texture'; diff --git a/src/mol-plugin/index.ts b/src/mol-plugin/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..7c7fe83382a744be37fe5118239b71702aebc60d --- /dev/null +++ b/src/mol-plugin/index.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info. + * + * @author David Sehnal <david.sehnal@gmail.com> + */ + +// TODO \ No newline at end of file diff --git a/src/mol-util/color/scale.ts b/src/mol-util/color/scale.ts index 403bf485bec674d3081764df61ddbc7a049f0428..08f3a2c051d34438e605d549d6a9c6d0c5d170ce 100644 --- a/src/mol-util/color/scale.ts +++ b/src/mol-util/color/scale.ts @@ -6,7 +6,7 @@ import { Color } from './color' import { ColorBrewer } from './tables' -import { ScaleLegend } from 'mol-view/theme/color'; +import { ScaleLegend } from 'mol-canvas3d/theme/color'; import { defaults } from 'mol-util'; export interface ColorScale { diff --git a/src/mol-view/parameter.ts b/src/mol-util/parameter.ts similarity index 100% rename from src/mol-view/parameter.ts rename to src/mol-util/parameter.ts diff --git a/src/mol-view/state/context.ts b/src/mol-view/state/context.ts deleted file mode 100644 index 2893a5e37fa78d807888cee2cf4effee7a2efcf6..0000000000000000000000000000000000000000 --- a/src/mol-view/state/context.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info. - * - * @author Alexander Rose <alexander.rose@weirdbyte.de> - */ - -import { BehaviorSubject } from 'rxjs'; -import { UUID } from 'mol-util' -import { AnyEntity } from './entity'; -import Viewer from '../viewer'; -import { Progress } from 'mol-task'; - -// TODO -export type StateTree = {} - -export class StateContext { - id = UUID.create() - change = new BehaviorSubject(0) - - tree: StateTree = {} - entities: Set<AnyEntity> = new Set() - - viewer: Viewer - - constructor(readonly log: (p: Progress) => void) { - - } -} diff --git a/src/mol-view/state/entity.ts b/src/mol-view/state/entity.ts deleted file mode 100644 index 7c16728cbc1fb217b81bf7fdec259bd7c4c94bdf..0000000000000000000000000000000000000000 --- a/src/mol-view/state/entity.ts +++ /dev/null @@ -1,162 +0,0 @@ -/** - * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info. - * - * @author Alexander Rose <alexander.rose@weirdbyte.de> - */ - -import { readFile, readUrl } from 'mol-util/read' -import { idFactory } from 'mol-util/id-factory' -import { StateContext } from './context'; -import { getFileInfo } from 'mol-util/file-info'; -import { CifFile, CifFrame } from 'mol-io/reader/cif'; -import { mmCIF_Database } from 'mol-io/reader/cif/schema/mmcif'; -import { Model, Structure } from 'mol-model/structure'; -import { StructureRepresentation } from 'mol-geo/representation/structure'; -import { SpacefillProps } from 'mol-geo/representation/structure/representation/spacefill'; -import { BallAndStickProps } from 'mol-geo/representation/structure/representation/ball-and-stick'; -import { DistanceRestraintProps } from 'mol-geo/representation/structure/representation/distance-restraint'; -import { CartoonProps } from 'mol-geo/representation/structure/representation/cartoon'; -import { BackboneProps } from 'mol-geo/representation/structure/representation/backbone'; -import { CarbohydrateProps } from 'mol-geo/representation/structure/representation/carbohydrate'; - -const getNextId = idFactory(1) - -export interface StateEntity<T, K extends string> { - id: number - kind: K - value: T -} -export namespace StateEntity { - export function create<T, K extends string>(ctx: StateContext, kind: K, value: T): StateEntity<T, K> { - const entity = { id: getNextId(), kind, value } - ctx.entities.add(entity) - ctx.change.next(ctx.change.getValue() + 1) - return entity - } -} - -export type AnyEntity = StateEntity<any, any> -export type NullEntity = StateEntity<null, 'null'> - -export const NullEntity: NullEntity = { id: -1, kind: 'null', value: null } -export const RootEntity: StateEntity<null, 'root'> = { id: 0, kind: 'root', value: null } - -export interface UrlProps { - url: string - name: string - type: string - getData: () => Promise<string | Uint8Array> -} - -export type UrlEntity = StateEntity<UrlProps, 'url'> -export namespace UrlEntity { - export function ofUrl(ctx: StateContext, url: string, isBinary?: boolean): UrlEntity { - const { name, ext: type, compressed, binary } = getFileInfo(url) - return StateEntity.create(ctx, 'url', { - url, name, type, - getData: () => readUrl(url, isBinary || !!compressed || binary) - }) - } -} - -export interface FileProps { - name: string - type: string - getData: () => Promise<string | Uint8Array> -} - -export type FileEntity = StateEntity<FileProps, 'file'> -export namespace FileEntity { - export function ofFile(ctx: StateContext, file: File, isBinary?: boolean): FileEntity { - const { name, ext: type, compressed, binary } = getFileInfo(file) - return StateEntity.create(ctx, 'file', { - name, type, - getData: () => readFile(file, isBinary || !!compressed || binary) - }) - } -} - -export interface DataProps { - type: string - data: string | Uint8Array -} - -export type DataEntity = StateEntity<DataProps, 'data'> -export namespace DataEntity { - export function ofData<T>(ctx: StateContext, data: string | Uint8Array, type: string): DataEntity { - return StateEntity.create(ctx, 'data', { - type, - data - }) - } -} - -export type CifEntity = StateEntity<CifFile, 'cif'> -export namespace CifEntity { - export function ofCifFile(ctx: StateContext, file: CifFile): CifEntity { - return StateEntity.create(ctx, 'cif', file) - } -} - -export type MmcifEntity = StateEntity<{ db: mmCIF_Database, frame: CifFrame }, 'mmcif'> -export namespace MmcifEntity { - export function ofMmcifDb(ctx: StateContext, mmCif: { db: mmCIF_Database, frame: CifFrame }): MmcifEntity { - return StateEntity.create(ctx, 'mmcif', mmCif) - } -} - -export type ModelEntity = StateEntity<ReadonlyArray<Model>, 'model'> -export namespace ModelEntity { - export function ofModels(ctx: StateContext, models: ReadonlyArray<Model>): ModelEntity { - return StateEntity.create(ctx, 'model', models) - } -} - -export type StructureEntity = StateEntity<Structure, 'structure'> -export namespace StructureEntity { - export function ofStructure(ctx: StateContext, structure: Structure): StructureEntity { - return StateEntity.create(ctx, 'structure', structure) - } -} - -export type SpacefillEntity = StateEntity<StructureRepresentation<SpacefillProps>, 'spacefill'> -export namespace SpacefillEntity { - export function ofRepr(ctx: StateContext, repr: StructureRepresentation<SpacefillProps>): SpacefillEntity { - return StateEntity.create(ctx, 'spacefill', repr) - } -} - -export type BallAndStickEntity = StateEntity<StructureRepresentation<BallAndStickProps>, 'ballandstick'> -export namespace BallAndStickEntity { - export function ofRepr(ctx: StateContext, repr: StructureRepresentation<BallAndStickProps>): BallAndStickEntity { - return StateEntity.create(ctx, 'ballandstick', repr) - } -} - -export type DistanceRestraintEntity = StateEntity<StructureRepresentation<DistanceRestraintProps>, 'distancerestraint'> -export namespace DistanceRestraintEntity { - export function ofRepr(ctx: StateContext, repr: StructureRepresentation<DistanceRestraintProps>): DistanceRestraintEntity { - return StateEntity.create(ctx, 'distancerestraint', repr) - } -} - -export type BackboneEntity = StateEntity<StructureRepresentation<BackboneProps>, 'backbone'> -export namespace BackboneEntity { - export function ofRepr(ctx: StateContext, repr: StructureRepresentation<BackboneProps>): BackboneEntity { - return StateEntity.create(ctx, 'backbone', repr) - } -} - -export type CartoonEntity = StateEntity<StructureRepresentation<CartoonProps>, 'cartoon'> -export namespace CartoonEntity { - export function ofRepr(ctx: StateContext, repr: StructureRepresentation<CartoonProps>): CartoonEntity { - return StateEntity.create(ctx, 'cartoon', repr) - } -} - -export type CarbohydrateEntity = StateEntity<StructureRepresentation<CarbohydrateProps>, 'carbohydrate'> -export namespace CarbohydrateEntity { - export function ofRepr(ctx: StateContext, repr: StructureRepresentation<CarbohydrateProps>): CarbohydrateEntity { - return StateEntity.create(ctx, 'carbohydrate', repr) - } -} \ No newline at end of file diff --git a/src/mol-view/state/transform.ts b/src/mol-view/state/transform.ts deleted file mode 100644 index bb454c3c5d7711e2869a085e253fb52c769f2074..0000000000000000000000000000000000000000 --- a/src/mol-view/state/transform.ts +++ /dev/null @@ -1,274 +0,0 @@ -/** - * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info. - * - * @author Alexander Rose <alexander.rose@weirdbyte.de> - */ - -import CIF from 'mol-io/reader/cif' -import { FileEntity, DataEntity, UrlEntity, CifEntity, MmcifEntity, ModelEntity, StructureEntity, SpacefillEntity, AnyEntity, NullEntity, BallAndStickEntity, DistanceRestraintEntity, CartoonEntity, BackboneEntity, CarbohydrateEntity } from './entity'; -import { Model, Structure, Format } from 'mol-model/structure'; - -import { StateContext } from './context'; -import StructureSymmetry from 'mol-model/structure/structure/symmetry'; -import { SpacefillProps, SpacefillRepresentation } from 'mol-geo/representation/structure/representation/spacefill'; -import { BallAndStickProps, BallAndStickRepresentation } from 'mol-geo/representation/structure/representation/ball-and-stick'; -import { DistanceRestraintRepresentation, DistanceRestraintProps } from 'mol-geo/representation/structure/representation/distance-restraint'; -import { CartoonRepresentation, CartoonProps } from 'mol-geo/representation/structure/representation/cartoon'; -import { BackboneProps, BackboneRepresentation } from 'mol-geo/representation/structure/representation/backbone'; -import { CarbohydrateProps, CarbohydrateRepresentation } from 'mol-geo/representation/structure/representation/carbohydrate'; - -type transformer<I extends AnyEntity, O extends AnyEntity, P extends {}> = (ctx: StateContext, inputEntity: I, props?: P) => Promise<O> - -export interface StateTransform<I extends AnyEntity, O extends AnyEntity, P extends {}> { - inputKind: I['kind'] - outputKind: O['kind'] - kind: string - apply: transformer<I, O, P> -} - -export namespace StateTransform { - export function create<I extends AnyEntity, O extends AnyEntity, P extends {}>(inputKind: I['kind'], outputKind: O['kind'], kind: string, transformer: transformer<I, O, P>) { - return { inputKind, outputKind, kind, apply: transformer } - } -} - -export type AnyTransform = StateTransform<AnyEntity, AnyEntity, {}> - -export type UrlToData = StateTransform<UrlEntity, DataEntity, {}> -export const UrlToData: UrlToData = StateTransform.create('url', 'data', 'url-to-data', - async function (ctx: StateContext, urlEntity: UrlEntity) { - return DataEntity.ofData(ctx, await urlEntity.value.getData(), urlEntity.value.type) - }) - -export type FileToData = StateTransform<FileEntity, DataEntity, {}> -export const FileToData: FileToData = StateTransform.create('file', 'data', 'file-to-data', - async function (ctx: StateContext, fileEntity: FileEntity) { - return DataEntity.ofData(ctx, await fileEntity.value.getData(), fileEntity.value.type) - }) - -export type DataToCif = StateTransform<DataEntity, CifEntity, {}> -export const DataToCif: DataToCif = StateTransform.create('data', 'cif', 'data-to-cif', - async function (ctx: StateContext, dataEntity: DataEntity) { - const comp = CIF.parse(dataEntity.value.data) - const parsed = await comp.run(ctx.log) - if (parsed.isError) throw parsed - return CifEntity.ofCifFile(ctx, parsed.result) - }) - -export type CifToMmcif = StateTransform<CifEntity, MmcifEntity, {}> -export const CifToMmcif: CifToMmcif = StateTransform.create('cif', 'mmcif', 'cif-to-mmcif', - async function (ctx: StateContext, cifEntity: CifEntity) { - const frame = cifEntity.value.blocks[0]; - return MmcifEntity.ofMmcifDb(ctx, { frame, db: CIF.schema.mmCIF(frame) }) - }) - -export type MmcifToModel = StateTransform<MmcifEntity, ModelEntity, {}> -export const MmcifToModel: MmcifToModel = StateTransform.create('mmcif', 'model', 'mmcif-to-model', - async function (ctx: StateContext, mmcifEntity: MmcifEntity) { - const models = await Model.create(Format.mmCIF(mmcifEntity.value.frame, mmcifEntity.value.db)).run(ctx.log) - return ModelEntity.ofModels(ctx, models) - }) - -export interface StructureProps { - assembly?: string -} - -export type ModelToStructure = StateTransform<ModelEntity, StructureEntity, StructureProps> -export const ModelToStructure: ModelToStructure = StateTransform.create('model', 'structure', 'model-to-structure', - async function (ctx: StateContext, modelEntity: ModelEntity, props: StructureProps = {}) { - const model = modelEntity.value[0] - const assembly = props.assembly - let structure: Structure - const assemblies = model.symmetry.assemblies - if (assemblies.length) { - structure = await StructureSymmetry.buildAssembly(Structure.ofModel(model), assembly || '1').run(ctx.log) - } else { - structure = Structure.ofModel(model) - } - return StructureEntity.ofStructure(ctx, structure) - }) - -export type StructureCenter = StateTransform<StructureEntity, NullEntity, {}> -export const StructureCenter: StructureCenter = StateTransform.create('structure', 'null', 'structure-center', - async function (ctx: StateContext, structureEntity: StructureEntity) { - ctx.viewer.center(structureEntity.value.boundary.sphere.center) - return NullEntity - }) - -export type StructureToSpacefill = StateTransform<StructureEntity, SpacefillEntity, Partial<SpacefillProps>> -export const StructureToSpacefill: StructureToSpacefill = StateTransform.create('structure', 'spacefill', 'structure-to-spacefill', - async function (ctx: StateContext, structureEntity: StructureEntity, props: Partial<SpacefillProps> = {}) { - const spacefillRepr = SpacefillRepresentation() - await spacefillRepr.createOrUpdate(props, structureEntity.value).run(ctx.log) - ctx.viewer.add(spacefillRepr) - ctx.viewer.requestDraw() - console.log('stats', ctx.viewer.stats) - return SpacefillEntity.ofRepr(ctx, spacefillRepr) - }) - -export type StructureToBallAndStick = StateTransform<StructureEntity, BallAndStickEntity, Partial<BallAndStickProps>> -export const StructureToBallAndStick: StructureToBallAndStick = StateTransform.create('structure', 'ballandstick', 'structure-to-ballandstick', - async function (ctx: StateContext, structureEntity: StructureEntity, props: Partial<BallAndStickProps> = {}) { - const ballAndStickRepr = BallAndStickRepresentation() - await ballAndStickRepr.createOrUpdate(props, structureEntity.value).run(ctx.log) - ctx.viewer.add(ballAndStickRepr) - ctx.viewer.requestDraw() - console.log('stats', ctx.viewer.stats) - return BallAndStickEntity.ofRepr(ctx, ballAndStickRepr) - }) - -export type StructureToDistanceRestraint = StateTransform<StructureEntity, DistanceRestraintEntity, Partial<DistanceRestraintProps>> -export const StructureToDistanceRestraint: StructureToDistanceRestraint = StateTransform.create('structure', 'distancerestraint', 'structure-to-distancerestraint', - async function (ctx: StateContext, structureEntity: StructureEntity, props: Partial<DistanceRestraintProps> = {}) { - const distanceRestraintRepr = DistanceRestraintRepresentation() - await distanceRestraintRepr.createOrUpdate(props, structureEntity.value).run(ctx.log) - ctx.viewer.add(distanceRestraintRepr) - ctx.viewer.requestDraw() - console.log('stats', ctx.viewer.stats) - return DistanceRestraintEntity.ofRepr(ctx, distanceRestraintRepr) - }) - -export type StructureToBackbone = StateTransform<StructureEntity, BackboneEntity, Partial<BackboneProps>> -export const StructureToBackbone: StructureToBackbone = StateTransform.create('structure', 'backbone', 'structure-to-backbone', - async function (ctx: StateContext, structureEntity: StructureEntity, props: Partial<BackboneProps> = {}) { - const backboneRepr = BackboneRepresentation() - await backboneRepr.createOrUpdate(props, structureEntity.value).run(ctx.log) - ctx.viewer.add(backboneRepr) - ctx.viewer.requestDraw() - console.log('stats', ctx.viewer.stats) - return BackboneEntity.ofRepr(ctx, backboneRepr) - }) - -export type StructureToCartoon = StateTransform<StructureEntity, CartoonEntity, Partial<CartoonProps>> -export const StructureToCartoon: StructureToCartoon = StateTransform.create('structure', 'cartoon', 'structure-to-cartoon', - async function (ctx: StateContext, structureEntity: StructureEntity, props: Partial<CartoonProps> = {}) { - const cartoonRepr = CartoonRepresentation() - await cartoonRepr.createOrUpdate(props, structureEntity.value).run(ctx.log) - ctx.viewer.add(cartoonRepr) - ctx.viewer.requestDraw() - console.log('stats', ctx.viewer.stats) - return CartoonEntity.ofRepr(ctx, cartoonRepr) - }) - -export type StructureToCarbohydrate = StateTransform<StructureEntity, CarbohydrateEntity, Partial<CarbohydrateProps>> -export const StructureToCarbohydrate: StructureToCarbohydrate = StateTransform.create('structure', 'carbohydrate', 'structure-to-cartoon', - async function (ctx: StateContext, structureEntity: StructureEntity, props: Partial<CarbohydrateProps> = {}) { - const carbohydrateRepr = CarbohydrateRepresentation() - await carbohydrateRepr.createOrUpdate(props, structureEntity.value).run(ctx.log) - ctx.viewer.add(carbohydrateRepr) - ctx.viewer.requestDraw() - console.log('stats', ctx.viewer.stats) - return CarbohydrateEntity.ofRepr(ctx, carbohydrateRepr) - }) - -export type SpacefillUpdate = StateTransform<SpacefillEntity, NullEntity, Partial<SpacefillProps>> -export const SpacefillUpdate: SpacefillUpdate = StateTransform.create('spacefill', 'null', 'spacefill-update', - async function (ctx: StateContext, spacefillEntity: SpacefillEntity, props: Partial<SpacefillProps> = {}) { - const spacefillRepr = spacefillEntity.value - await spacefillRepr.createOrUpdate(props).run(ctx.log) - ctx.viewer.add(spacefillRepr) - ctx.viewer.requestDraw() - console.log('stats', ctx.viewer.stats) - return NullEntity - }) - -export type BallAndStickUpdate = StateTransform<BallAndStickEntity, NullEntity, Partial<BallAndStickProps>> -export const BallAndStickUpdate: BallAndStickUpdate = StateTransform.create('ballandstick', 'null', 'ballandstick-update', - async function (ctx: StateContext, ballAndStickEntity: BallAndStickEntity, props: Partial<BallAndStickProps> = {}) { - const ballAndStickRepr = ballAndStickEntity.value - await ballAndStickRepr.createOrUpdate(props).run(ctx.log) - ctx.viewer.add(ballAndStickRepr) - ctx.viewer.requestDraw() - console.log('stats', ctx.viewer.stats) - return NullEntity - }) - -export type DistanceRestraintUpdate = StateTransform<DistanceRestraintEntity, NullEntity, Partial<DistanceRestraintProps>> -export const DistanceRestraintUpdate: DistanceRestraintUpdate = StateTransform.create('distancerestraint', 'null', 'distancerestraint-update', - async function (ctx: StateContext, distanceRestraintEntity: DistanceRestraintEntity, props: Partial<DistanceRestraintProps> = {}) { - const distanceRestraintRepr = distanceRestraintEntity.value - await distanceRestraintRepr.createOrUpdate(props).run(ctx.log) - ctx.viewer.add(distanceRestraintRepr) - ctx.viewer.requestDraw() - console.log('stats', ctx.viewer.stats) - return NullEntity - }) - -export type BackboneUpdate = StateTransform<BackboneEntity, NullEntity, Partial<BackboneProps>> -export const BackboneUpdate: BackboneUpdate = StateTransform.create('backbone', 'null', 'backbone-update', - async function (ctx: StateContext, backboneEntity: BackboneEntity, props: Partial<BackboneProps> = {}) { - const backboneRepr = backboneEntity.value - await backboneRepr.createOrUpdate(props).run(ctx.log) - ctx.viewer.add(backboneRepr) - ctx.viewer.requestDraw() - console.log('stats', ctx.viewer.stats) - return NullEntity - }) - -export type CartoonUpdate = StateTransform<CartoonEntity, NullEntity, Partial<CartoonProps>> -export const CartoonUpdate: CartoonUpdate = StateTransform.create('cartoon', 'null', 'cartoon-update', - async function (ctx: StateContext, cartoonEntity: CartoonEntity, props: Partial<CartoonProps> = {}) { - const cartoonRepr = cartoonEntity.value - await cartoonRepr.createOrUpdate(props).run(ctx.log) - ctx.viewer.add(cartoonRepr) - ctx.viewer.requestDraw() - console.log('stats', ctx.viewer.stats) - return NullEntity - }) - -export type CarbohydrateUpdate = StateTransform<CarbohydrateEntity, NullEntity, Partial<CarbohydrateProps>> -export const CarbohydrateUpdate: CarbohydrateUpdate = StateTransform.create('carbohydrate', 'null', 'carbohydrate-update', - async function (ctx: StateContext, carbohydrateEntity: CarbohydrateEntity, props: Partial<CarbohydrateProps> = {}) { - const carbohydrateRepr = carbohydrateEntity.value - await carbohydrateRepr.createOrUpdate(props).run(ctx.log) - ctx.viewer.add(carbohydrateRepr) - ctx.viewer.requestDraw() - console.log('stats', ctx.viewer.stats) - return NullEntity - }) - -// composed - -export type MmcifUrlToModel = StateTransform<UrlEntity, ModelEntity, {}> -export const MmcifUrlToModel: MmcifUrlToModel = StateTransform.create('url', 'model', 'url-to-model', - async function (ctx: StateContext, urlEntity: UrlEntity) { - const dataEntity = await UrlToData.apply(ctx, urlEntity) - return DataToModel.apply(ctx, dataEntity) - }) - -export type MmcifFileToModel = StateTransform<FileEntity, ModelEntity, {}> -export const MmcifFileToModel: MmcifFileToModel = StateTransform.create('file', 'model', 'file-to-model', - async function (ctx: StateContext, fileEntity: FileEntity) { - const dataEntity = await FileToData.apply(ctx, fileEntity) - return DataToModel.apply(ctx, dataEntity) - }) - -export type DataToModel = StateTransform<DataEntity, ModelEntity, {}> -export const DataToModel: DataToModel = StateTransform.create('data', 'model', 'data-to-model', - async function getModelFromData(ctx: StateContext, dataEntity: DataEntity) { - const cifEntity = await DataToCif.apply(ctx, dataEntity) - const mmcifEntity = await CifToMmcif.apply(ctx, cifEntity) - return MmcifToModel.apply(ctx, mmcifEntity) - }) - -export type ModelToSpacefill = StateTransform<ModelEntity, SpacefillEntity, Partial<SpacefillProps>> -export const ModelToSpacefill: ModelToSpacefill = StateTransform.create('model', 'spacefill', 'model-to-spacefill', - async function (ctx: StateContext, modelEntity: ModelEntity, props: Partial<SpacefillProps> = {}) { - const structureEntity = await ModelToStructure.apply(ctx, modelEntity) - // StructureToBond.apply(ctx, structureEntity, props) - return StructureToSpacefill.apply(ctx, structureEntity, props) - }) - -export type MmcifUrlToSpacefill = StateTransform<UrlEntity, SpacefillEntity, Partial<SpacefillProps>> -export const MmcifUrlToSpacefill: MmcifUrlToSpacefill = StateTransform.create('url', 'spacefill', 'url-to-spacefill', - async function (ctx: StateContext, urlEntity: UrlEntity, props: Partial<SpacefillProps> = {}) { - const modelEntity = await MmcifUrlToModel.apply(ctx, urlEntity) - return ModelToSpacefill.apply(ctx, modelEntity, props) - }) - -export type MmcifFileToSpacefill = StateTransform<FileEntity, SpacefillEntity, Partial<SpacefillProps>> -export const MmcifFileToSpacefill: MmcifFileToSpacefill = StateTransform.create('file', 'spacefill', 'file-to-spacefill', - async function (ctx: StateContext, fileEntity: FileEntity, props: Partial<SpacefillProps> = {}) { - const modelEntity = await MmcifFileToModel.apply(ctx, fileEntity) - return ModelToSpacefill.apply(ctx, modelEntity, props) - }) \ No newline at end of file diff --git a/src/mol-view/util.ts b/src/mol-view/util.ts deleted file mode 100644 index 0fa3e82b42a181d4d3dd9f77aabce3007c2c87b8..0000000000000000000000000000000000000000 --- a/src/mol-view/util.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info. - * - * @author Alexander Rose <alexander.rose@weirdbyte.de> - */ - -import CIF from 'mol-io/reader/cif' -import { Progress } from 'mol-task' -import { VolumeData, parseDensityServerData } from 'mol-model/volume' -import { DensityServer_Data_Database } from 'mol-io/reader/cif/schema/density-server'; - -export async function downloadCif(url: string, isBinary: boolean) { - const data = await fetch(url); - return parseCif(isBinary ? new Uint8Array(await data.arrayBuffer()) : await data.text()); -} - -export async function parseCif(data: string|Uint8Array) { - const comp = CIF.parse(data) - const parsed = await comp.run(Progress.format); - if (parsed.isError) throw parsed; - return parsed.result -} - -export type Volume = { source: DensityServer_Data_Database, volume: VolumeData } - -export async function getVolumeFromEmdId(emdid: string): Promise<Volume> { - const cif = await downloadCif(`https://webchem.ncbr.muni.cz/DensityServer/em/emd-${emdid}/cell?detail=4`, true) - const data = CIF.schema.densityServer(cif.blocks[1]) - return { source: data, volume: await parseDensityServerData(data).run() } -} - -export function resizeCanvas (canvas: HTMLCanvasElement, container: Element) { - let w = window.innerWidth - let h = window.innerHeight - if (container !== document.body) { - let bounds = container.getBoundingClientRect() - w = bounds.right - bounds.left - h = bounds.bottom - bounds.top - } - canvas.width = window.devicePixelRatio * w - canvas.height = window.devicePixelRatio * h - Object.assign(canvas.style, { width: `${w}px`, height: `${h}px` }) -} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index aa0ec9bccf5a879ebbe430882ff53c45c66993dd..7b896a74eaf963fef9b0a06b79771c41cc101c97 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -25,9 +25,10 @@ "mol-ql": ["./mol-ql"], "mol-script": ["./mol-script"], "mol-state": ["./mol-state", "./mol-state/index.ts"], + "mol-plugin": ["./mol-plugin", "./mol-plugin/index.ts"], "mol-task": ["./mol-task", "./mol-task/index.ts"], "mol-util": ["./mol-util", "./mol-util/index.ts"], - "mol-view": ["./mol-view"] + "mol-canvas3d": ["./mol-view"] } }, "include": [ "**/*" ],