molstar 4.2.0 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/viewer/molstar.css +1 -1
- package/build/viewer/molstar.js +1 -1
- package/lib/apps/docking-viewer/viewport.d.ts +1 -1
- package/lib/apps/docking-viewer/viewport.js +2 -1
- package/lib/apps/mesoscale-explorer/app.d.ts +3 -1
- package/lib/apps/mesoscale-explorer/app.js +12 -1
- package/lib/apps/mesoscale-explorer/behavior/camera.d.ts +12 -0
- package/lib/apps/mesoscale-explorer/behavior/camera.js +32 -6
- package/lib/apps/mesoscale-explorer/behavior/select.d.ts +1 -0
- package/lib/apps/mesoscale-explorer/behavior/select.js +58 -9
- package/lib/apps/mesoscale-explorer/data/cellpack/model.js +4 -6
- package/lib/apps/mesoscale-explorer/data/cellpack/preset.js +8 -5
- package/lib/apps/mesoscale-explorer/data/generic/model.d.ts +1 -0
- package/lib/apps/mesoscale-explorer/data/generic/model.js +2 -1
- package/lib/apps/mesoscale-explorer/data/generic/preset.js +7 -6
- package/lib/apps/mesoscale-explorer/data/mmcif/model.js +3 -1
- package/lib/apps/mesoscale-explorer/data/mmcif/preset.js +6 -3
- package/lib/apps/mesoscale-explorer/data/petworld/model.js +3 -1
- package/lib/apps/mesoscale-explorer/data/petworld/preset.js +6 -3
- package/lib/apps/mesoscale-explorer/data/state.d.ts +48 -10
- package/lib/apps/mesoscale-explorer/data/state.js +83 -8
- package/lib/apps/mesoscale-explorer/index.html +6 -1
- package/lib/apps/mesoscale-explorer/style.scss +33 -0
- package/lib/apps/mesoscale-explorer/ui/entities.d.ts +23 -1
- package/lib/apps/mesoscale-explorer/ui/entities.js +301 -32
- package/lib/apps/mesoscale-explorer/ui/panels.d.ts +1 -0
- package/lib/apps/mesoscale-explorer/ui/panels.js +42 -5
- package/lib/apps/mesoscale-explorer/ui/states.d.ts +60 -2
- package/lib/apps/mesoscale-explorer/ui/states.js +471 -11
- package/lib/apps/viewer/app.d.ts +12 -5
- package/lib/apps/viewer/app.js +30 -1
- package/lib/commonjs/apps/docking-viewer/viewport.d.ts +1 -1
- package/lib/commonjs/apps/docking-viewer/viewport.js +2 -1
- package/lib/commonjs/apps/mesoscale-explorer/app.d.ts +3 -1
- package/lib/commonjs/apps/mesoscale-explorer/app.js +12 -1
- package/lib/commonjs/apps/mesoscale-explorer/behavior/camera.d.ts +12 -0
- package/lib/commonjs/apps/mesoscale-explorer/behavior/camera.js +34 -8
- package/lib/commonjs/apps/mesoscale-explorer/behavior/select.d.ts +1 -0
- package/lib/commonjs/apps/mesoscale-explorer/behavior/select.js +58 -9
- package/lib/commonjs/apps/mesoscale-explorer/data/cellpack/model.js +4 -6
- package/lib/commonjs/apps/mesoscale-explorer/data/cellpack/preset.js +8 -6
- package/lib/commonjs/apps/mesoscale-explorer/data/generic/model.d.ts +1 -0
- package/lib/commonjs/apps/mesoscale-explorer/data/generic/model.js +2 -1
- package/lib/commonjs/apps/mesoscale-explorer/data/generic/preset.js +9 -9
- package/lib/commonjs/apps/mesoscale-explorer/data/mmcif/model.js +3 -1
- package/lib/commonjs/apps/mesoscale-explorer/data/mmcif/preset.js +6 -4
- package/lib/commonjs/apps/mesoscale-explorer/data/petworld/model.js +3 -1
- package/lib/commonjs/apps/mesoscale-explorer/data/petworld/preset.js +6 -4
- package/lib/commonjs/apps/mesoscale-explorer/data/state.d.ts +48 -10
- package/lib/commonjs/apps/mesoscale-explorer/data/state.js +107 -28
- package/lib/commonjs/apps/mesoscale-explorer/data/util.js +2 -3
- package/lib/commonjs/apps/mesoscale-explorer/ui/entities.d.ts +23 -1
- package/lib/commonjs/apps/mesoscale-explorer/ui/entities.js +302 -30
- package/lib/commonjs/apps/mesoscale-explorer/ui/panels.d.ts +1 -0
- package/lib/commonjs/apps/mesoscale-explorer/ui/panels.js +39 -2
- package/lib/commonjs/apps/mesoscale-explorer/ui/states.d.ts +60 -2
- package/lib/commonjs/apps/mesoscale-explorer/ui/states.js +477 -13
- package/lib/commonjs/apps/viewer/app.d.ts +12 -5
- package/lib/commonjs/apps/viewer/app.js +29 -0
- package/lib/commonjs/cli/chem-comp-dict/util.js +7 -7
- package/lib/commonjs/cli/cif2bcif/converter.js +1 -2
- package/lib/commonjs/cli/cifschema/util/cif-dic.js +2 -3
- package/lib/commonjs/cli/cifschema/util/generate.js +1 -2
- package/lib/commonjs/cli/cifschema/util/helper.js +1 -2
- package/lib/commonjs/cli/cifschema/util/schema.js +9 -10
- package/lib/commonjs/cli/state-docs/pd-to-md.js +1 -2
- package/lib/commonjs/cli/structure-info/helpers.js +2 -3
- package/lib/commonjs/cli/structure-info/model.js +11 -12
- package/lib/commonjs/examples/alpha-orbitals/controls.js +1 -2
- package/lib/commonjs/examples/basic-wrapper/custom-theme.js +2 -2
- package/lib/commonjs/examples/basic-wrapper/superposition.js +3 -3
- package/lib/commonjs/examples/domain-annotation-server/mapping.js +1 -2
- package/lib/commonjs/examples/lighting/index.d.ts +1 -1
- package/lib/commonjs/examples/lighting/index.js +2 -1
- package/lib/commonjs/examples/proteopedia-wrapper/coloring.d.ts +5 -20
- package/lib/commonjs/examples/proteopedia-wrapper/coloring.js +1 -2
- package/lib/commonjs/examples/proteopedia-wrapper/ui/controls.js +1 -2
- package/lib/commonjs/examples/task.js +6 -6
- package/lib/commonjs/extensions/alpha-orbitals/collocation.js +1 -2
- package/lib/commonjs/extensions/alpha-orbitals/data-model.js +4 -5
- package/lib/commonjs/extensions/alpha-orbitals/density.js +2 -3
- package/lib/commonjs/extensions/alpha-orbitals/gpu/compute.js +2 -3
- package/lib/commonjs/extensions/alpha-orbitals/orbitals.js +2 -3
- package/lib/commonjs/extensions/alpha-orbitals/spherical-functions.js +2 -2
- package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +3 -3
- package/lib/commonjs/extensions/anvil/algorithm.js +5 -5
- package/lib/commonjs/extensions/anvil/behavior.d.ts +1 -0
- package/lib/commonjs/extensions/anvil/behavior.js +2 -2
- package/lib/commonjs/extensions/anvil/representation.d.ts +4 -0
- package/lib/commonjs/extensions/anvil/representation.js +3 -3
- package/lib/commonjs/extensions/assembly-symmetry/behavior.d.ts +1 -0
- package/lib/commonjs/extensions/assembly-symmetry/behavior.js +3 -3
- package/lib/commonjs/extensions/assembly-symmetry/color.d.ts +2 -2
- package/lib/commonjs/extensions/assembly-symmetry/color.js +3 -3
- package/lib/commonjs/extensions/assembly-symmetry/prop.js +3 -3
- package/lib/commonjs/extensions/assembly-symmetry/representation.d.ts +1 -0
- package/lib/commonjs/extensions/assembly-symmetry/representation.js +2 -2
- package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.js +2 -2
- package/lib/commonjs/extensions/dnatco/confal-pyramids/color.js +3 -3
- package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +3 -0
- package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.js +3 -3
- package/lib/commonjs/extensions/dnatco/ntc-tube/behavior.js +2 -2
- package/lib/commonjs/extensions/dnatco/ntc-tube/color.js +3 -3
- package/lib/commonjs/extensions/dnatco/ntc-tube/representation.d.ts +3 -0
- package/lib/commonjs/extensions/dnatco/ntc-tube/representation.js +3 -3
- package/lib/commonjs/extensions/g3d/data.js +2 -3
- package/lib/commonjs/extensions/g3d/format.d.ts +3 -3
- package/lib/commonjs/extensions/g3d/model.js +5 -5
- package/lib/commonjs/extensions/geo-export/mesh-exporter.d.ts +2 -2
- package/lib/commonjs/extensions/geo-export/ui.d.ts +0 -1
- package/lib/commonjs/extensions/meshes/examples.js +9 -9
- package/lib/commonjs/extensions/meshes/mesh-extension.d.ts +3 -5
- package/lib/commonjs/extensions/meshes/mesh-extension.js +2 -2
- package/lib/commonjs/extensions/meshes/mesh-streaming/behavior.d.ts +3 -3
- package/lib/commonjs/extensions/meshes/mesh-streaming/server-info.d.ts +3 -3
- package/lib/commonjs/extensions/meshes/mesh-utils.js +9 -9
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.d.ts +1 -1
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +11 -8
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +3 -3
- package/lib/commonjs/extensions/model-export/export.js +2 -2
- package/lib/commonjs/extensions/model-export/ui.d.ts +0 -1
- package/lib/commonjs/extensions/mp4-export/controls.d.ts +1 -1
- package/lib/commonjs/extensions/mp4-export/encoder.js +2 -3
- package/lib/commonjs/extensions/mp4-export/ui.d.ts +0 -1
- package/lib/commonjs/extensions/mvs/camera.js +4 -5
- package/lib/commonjs/extensions/mvs/components/annotation-color-theme.js +2 -2
- package/lib/commonjs/extensions/mvs/components/annotation-label/representation.d.ts +32 -34
- package/lib/commonjs/extensions/mvs/components/annotation-label/representation.js +2 -2
- package/lib/commonjs/extensions/mvs/components/annotation-label/visual.d.ts +16 -16
- package/lib/commonjs/extensions/mvs/components/annotation-label/visual.js +2 -2
- package/lib/commonjs/extensions/mvs/components/annotation-prop.js +2 -2
- package/lib/commonjs/extensions/mvs/components/annotation-structure-component.js +4 -4
- package/lib/commonjs/extensions/mvs/components/custom-label/representation.d.ts +32 -32
- package/lib/commonjs/extensions/mvs/components/custom-label/representation.js +2 -2
- package/lib/commonjs/extensions/mvs/components/custom-label/visual.d.ts +16 -16
- package/lib/commonjs/extensions/mvs/components/custom-label/visual.js +2 -2
- package/lib/commonjs/extensions/mvs/components/formats.d.ts +6 -6
- package/lib/commonjs/extensions/mvs/components/formats.js +2 -2
- package/lib/commonjs/extensions/mvs/components/is-mvs-model-prop.js +3 -3
- package/lib/commonjs/extensions/mvs/components/multilayer-color-theme.js +3 -3
- package/lib/commonjs/extensions/mvs/components/selector.js +3 -3
- package/lib/commonjs/extensions/mvs/helpers/indexing.d.ts +2 -2
- package/lib/commonjs/extensions/mvs/helpers/label-text.js +1 -2
- package/lib/commonjs/extensions/mvs/helpers/param-definition.js +2 -3
- package/lib/commonjs/extensions/mvs/helpers/schemas.d.ts +1 -1
- package/lib/commonjs/extensions/mvs/helpers/schemas.js +2 -2
- package/lib/commonjs/extensions/mvs/helpers/selections.js +6 -7
- package/lib/commonjs/extensions/mvs/helpers/utils.d.ts +1 -1
- package/lib/commonjs/extensions/mvs/helpers/utils.js +7 -7
- package/lib/commonjs/extensions/mvs/load-helpers.d.ts +1 -1
- package/lib/commonjs/extensions/mvs/load-helpers.js +17 -17
- package/lib/commonjs/extensions/mvs/load.js +1 -2
- package/lib/commonjs/extensions/mvs/tree/generic/params-schema.js +8 -8
- package/lib/commonjs/extensions/mvs/tree/generic/tree-schema.js +8 -9
- package/lib/commonjs/extensions/mvs/tree/generic/tree-utils.js +10 -11
- package/lib/commonjs/extensions/mvs/tree/molstar/conversion.js +4 -4
- package/lib/commonjs/extensions/mvs/tree/mvs/mvs-builder.d.ts +0 -2
- package/lib/commonjs/extensions/mvs/tree/mvs/mvs-builder.js +3 -3
- package/lib/commonjs/extensions/pdbe/structure-quality-report/color.js +2 -2
- package/lib/commonjs/extensions/rcsb/validation-report/color/density-fit.js +2 -2
- package/lib/commonjs/extensions/rcsb/validation-report/color/geometry-quality.js +3 -3
- package/lib/commonjs/extensions/rcsb/validation-report/color/random-coil-index.js +2 -2
- package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +5 -0
- package/lib/commonjs/extensions/rcsb/validation-report/representation.js +5 -5
- package/lib/commonjs/extensions/sb-ncbr/index.d.ts +8 -0
- package/lib/commonjs/extensions/sb-ncbr/index.js +14 -1
- package/lib/commonjs/extensions/sb-ncbr/partial-charges/color.js +3 -3
- package/lib/commonjs/extensions/sb-ncbr/partial-charges/labels.js +1 -2
- package/lib/commonjs/extensions/sb-ncbr/partial-charges/property.js +2 -2
- package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.js +89 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.js +473 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.js +96 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.js +28 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.js +54 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/props.js +26 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
- package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.js +99 -0
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-root.d.ts +3 -3
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-root.js +3 -3
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-state.d.ts +3 -3
- package/lib/commonjs/extensions/volumes-and-segmentations/external-api.js +2 -3
- package/lib/commonjs/extensions/volumes-and-segmentations/global-state.d.ts +3 -3
- package/lib/commonjs/extensions/volumes-and-segmentations/helpers.js +6 -6
- package/lib/commonjs/extensions/volumes-and-segmentations/ui.d.ts +0 -1
- package/lib/commonjs/extensions/zenodo/ui.d.ts +0 -1
- package/lib/commonjs/mol-canvas3d/camera/transition.d.ts +1 -1
- package/lib/commonjs/mol-canvas3d/camera/transition.js +23 -6
- package/lib/commonjs/mol-canvas3d/camera/util.js +3 -4
- package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +26 -1
- package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
- package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.d.ts +1 -6
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +1 -0
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
- package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
- package/lib/commonjs/mol-canvas3d/passes/dof.d.ts +34 -0
- package/lib/commonjs/mol-canvas3d/passes/dof.js +167 -0
- package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +2 -0
- package/lib/commonjs/mol-canvas3d/passes/draw.js +31 -8
- package/lib/commonjs/mol-canvas3d/passes/image.d.ts +10 -0
- package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +2 -1
- package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +4 -3
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +9 -0
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +12 -2
- package/lib/commonjs/mol-canvas3d/util.js +3 -4
- package/lib/commonjs/mol-data/db/column-helpers.js +6 -7
- package/lib/commonjs/mol-data/db/column.d.ts +1 -1
- package/lib/commonjs/mol-data/generic/hash-set.js +1 -2
- package/lib/commonjs/mol-data/generic/linked-list.js +1 -2
- package/lib/commonjs/mol-data/int/impl/interval.js +15 -15
- package/lib/commonjs/mol-data/int/impl/ordered-set.js +25 -25
- package/lib/commonjs/mol-data/int/impl/segmentation.js +7 -7
- package/lib/commonjs/mol-data/int/impl/sorted-array.js +31 -31
- package/lib/commonjs/mol-data/int/linked-index.js +1 -2
- package/lib/commonjs/mol-data/util/array.js +5 -6
- package/lib/commonjs/mol-data/util/buckets.js +1 -2
- package/lib/commonjs/mol-data/util/combination.js +2 -2
- package/lib/commonjs/mol-data/util/equivalence-classes.js +2 -2
- package/lib/commonjs/mol-data/util/grouping.js +2 -3
- package/lib/commonjs/mol-data/util/hash-functions.js +9 -10
- package/lib/commonjs/mol-data/util/sort.js +5 -6
- package/lib/commonjs/mol-geo/geometry/base.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/base.js +3 -3
- package/lib/commonjs/mol-geo/geometry/clipping-data.js +4 -5
- package/lib/commonjs/mol-geo/geometry/color-data.js +4 -5
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +1 -0
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +3 -0
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +1 -0
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +3 -0
- package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +3 -4
- package/lib/commonjs/mol-geo/geometry/emissive-data.js +5 -6
- package/lib/commonjs/mol-geo/geometry/image/image.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +0 -1
- package/lib/commonjs/mol-geo/geometry/marker-data.js +3 -4
- package/lib/commonjs/mol-geo/geometry/mesh/builder/axes.js +1 -2
- package/lib/commonjs/mol-geo/geometry/mesh/builder/box.js +2 -3
- package/lib/commonjs/mol-geo/geometry/mesh/builder/cylinder.js +4 -5
- package/lib/commonjs/mol-geo/geometry/mesh/builder/ellipsoid.js +1 -2
- package/lib/commonjs/mol-geo/geometry/mesh/builder/ribbon.js +1 -2
- package/lib/commonjs/mol-geo/geometry/mesh/builder/sheet.js +1 -2
- package/lib/commonjs/mol-geo/geometry/mesh/builder/sphere.js +2 -3
- package/lib/commonjs/mol-geo/geometry/mesh/builder/tube.js +1 -2
- package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.js +7 -8
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +1 -0
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +3 -0
- package/lib/commonjs/mol-geo/geometry/overpaint-data.js +4 -5
- package/lib/commonjs/mol-geo/geometry/points/points.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/size-data.js +9 -9
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +1 -0
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +3 -0
- package/lib/commonjs/mol-geo/geometry/substance-data.js +4 -5
- package/lib/commonjs/mol-geo/geometry/text/font-atlas.js +3 -3
- package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +7 -7
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +1 -0
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +3 -0
- package/lib/commonjs/mol-geo/geometry/transform-data.js +4 -5
- package/lib/commonjs/mol-geo/geometry/transparency-data.js +5 -6
- package/lib/commonjs/mol-geo/primitive/box.js +3 -4
- package/lib/commonjs/mol-geo/primitive/cage.js +3 -4
- package/lib/commonjs/mol-geo/primitive/circle.js +2 -2
- package/lib/commonjs/mol-geo/primitive/cylinder.js +2 -2
- package/lib/commonjs/mol-geo/primitive/dodecahedron.js +3 -3
- package/lib/commonjs/mol-geo/primitive/icosahedron.js +2 -3
- package/lib/commonjs/mol-geo/primitive/octahedron.js +4 -4
- package/lib/commonjs/mol-geo/primitive/plane.js +2 -3
- package/lib/commonjs/mol-geo/primitive/polygon.js +1 -2
- package/lib/commonjs/mol-geo/primitive/polyhedron.js +2 -2
- package/lib/commonjs/mol-geo/primitive/primitive.js +4 -5
- package/lib/commonjs/mol-geo/primitive/prism.js +11 -11
- package/lib/commonjs/mol-geo/primitive/pyramid.js +6 -7
- package/lib/commonjs/mol-geo/primitive/sphere.js +2 -3
- package/lib/commonjs/mol-geo/primitive/spiked-ball.js +1 -2
- package/lib/commonjs/mol-geo/primitive/star.js +2 -2
- package/lib/commonjs/mol-geo/primitive/tetrahedron.js +3 -3
- package/lib/commonjs/mol-geo/primitive/torus.js +2 -2
- package/lib/commonjs/mol-geo/primitive/wedge.js +3 -4
- package/lib/commonjs/mol-geo/util/location-iterator.js +3 -4
- package/lib/commonjs/mol-geo/util/marching-cubes/algorithm.js +2 -3
- package/lib/commonjs/mol-geo/util/marching-cubes/builder.js +2 -3
- package/lib/commonjs/mol-geo/util/marching-cubes/tables.js +3 -3
- package/lib/commonjs/mol-geo/util.js +7 -8
- package/lib/commonjs/mol-gl/compute/grid3d.js +2 -3
- package/lib/commonjs/mol-gl/compute/hi-z.js +1 -2
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.js +1 -2
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +1 -2
- package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.js +1 -2
- package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +2 -3
- package/lib/commonjs/mol-gl/compute/marching-cubes/tables.js +2 -3
- package/lib/commonjs/mol-gl/compute/util.js +5 -5
- package/lib/commonjs/mol-gl/render-object.js +3 -3
- package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -2
- package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -2
- package/lib/commonjs/mol-gl/renderable/image.js +2 -2
- package/lib/commonjs/mol-gl/renderable/lines.js +2 -2
- package/lib/commonjs/mol-gl/renderable/mesh.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/mesh.js +3 -2
- package/lib/commonjs/mol-gl/renderable/points.js +2 -2
- package/lib/commonjs/mol-gl/renderable/schema.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/schema.js +10 -9
- package/lib/commonjs/mol-gl/renderable/spheres.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/spheres.js +3 -2
- package/lib/commonjs/mol-gl/renderable/text.js +2 -2
- package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -2
- package/lib/commonjs/mol-gl/renderable/util.js +7 -8
- package/lib/commonjs/mol-gl/renderable.js +2 -3
- package/lib/commonjs/mol-gl/renderer.d.ts +1 -0
- package/lib/commonjs/mol-gl/renderer.js +6 -0
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +2 -1
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +57 -24
- package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -0
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +6 -0
- package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +2 -1
- package/lib/commonjs/mol-gl/shader/cylinders.frag.js +11 -2
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -0
- package/lib/commonjs/mol-gl/shader/dof.frag.d.ts +7 -0
- package/lib/commonjs/mol-gl/shader/dof.frag.js +122 -0
- package/lib/commonjs/mol-gl/shader/ssao-blur.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/ssao-blur.frag.js +9 -6
- package/lib/commonjs/mol-gl/shader-code.js +4 -4
- package/lib/commonjs/mol-gl/webgl/buffer.js +8 -9
- package/lib/commonjs/mol-gl/webgl/compat.js +32 -33
- package/lib/commonjs/mol-gl/webgl/context.js +7 -7
- package/lib/commonjs/mol-gl/webgl/extensions.js +1 -2
- package/lib/commonjs/mol-gl/webgl/framebuffer.js +3 -4
- package/lib/commonjs/mol-gl/webgl/program.js +2 -3
- package/lib/commonjs/mol-gl/webgl/render-item.d.ts +2 -2
- package/lib/commonjs/mol-gl/webgl/render-item.js +5 -5
- package/lib/commonjs/mol-gl/webgl/render-target.js +2 -3
- package/lib/commonjs/mol-gl/webgl/renderbuffer.js +3 -4
- package/lib/commonjs/mol-gl/webgl/resources.js +1 -2
- package/lib/commonjs/mol-gl/webgl/shader.js +2 -3
- package/lib/commonjs/mol-gl/webgl/state.js +1 -2
- package/lib/commonjs/mol-gl/webgl/texture.js +13 -14
- package/lib/commonjs/mol-gl/webgl/timer.d.ts +1 -1
- package/lib/commonjs/mol-gl/webgl/timer.js +10 -4
- package/lib/commonjs/mol-gl/webgl/uniform.js +6 -7
- package/lib/commonjs/mol-gl/webgl/vertex-array.js +1 -2
- package/lib/commonjs/mol-io/common/ascii.js +1 -2
- package/lib/commonjs/mol-io/common/binary-cif/classifier.js +2 -3
- package/lib/commonjs/mol-io/common/binary-cif/decoder.js +1 -2
- package/lib/commonjs/mol-io/common/binary.js +3 -3
- package/lib/commonjs/mol-io/common/msgpack/decode.js +1 -2
- package/lib/commonjs/mol-io/common/msgpack/encode.js +1 -2
- package/lib/commonjs/mol-io/common/simple-buffer.d.ts +0 -1
- package/lib/commonjs/mol-io/common/typed-array.js +6 -6
- package/lib/commonjs/mol-io/common/utf8.js +3 -4
- package/lib/commonjs/mol-io/reader/ccp4/parser.js +6 -7
- package/lib/commonjs/mol-io/reader/cif/binary/field.js +1 -2
- package/lib/commonjs/mol-io/reader/cif/binary/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/cif/data-model.js +8 -8
- package/lib/commonjs/mol-io/reader/cif/schema/bird.d.ts +1 -1
- package/lib/commonjs/mol-io/reader/cif/schema/bird.js +1 -1
- package/lib/commonjs/mol-io/reader/cif/schema/ccd.d.ts +1 -1
- package/lib/commonjs/mol-io/reader/cif/schema/ccd.js +1 -1
- package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +9 -1
- package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +9 -1
- package/lib/commonjs/mol-io/reader/cif/schema.js +4 -4
- package/lib/commonjs/mol-io/reader/cif/text/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/common/text/column/fixed.d.ts +1 -1
- package/lib/commonjs/mol-io/reader/common/text/column/fixed.js +2 -3
- package/lib/commonjs/mol-io/reader/common/text/column/token.d.ts +1 -1
- package/lib/commonjs/mol-io/reader/common/text/column/token.js +4 -5
- package/lib/commonjs/mol-io/reader/common/text/number-parser.js +6 -6
- package/lib/commonjs/mol-io/reader/common/text/tokenizer.js +3 -3
- package/lib/commonjs/mol-io/reader/csv/data-model.js +3 -3
- package/lib/commonjs/mol-io/reader/csv/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/cube/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/dcd/parser.js +2 -3
- package/lib/commonjs/mol-io/reader/dsn6/parser.js +6 -6
- package/lib/commonjs/mol-io/reader/dx/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/gro/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/mol/parser.js +6 -7
- package/lib/commonjs/mol-io/reader/mol2/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/nctraj/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/obj/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/pdb/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/ply/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/ply/schema.d.ts +1 -1
- package/lib/commonjs/mol-io/reader/ply/schema.js +3 -3
- package/lib/commonjs/mol-io/reader/prmtop/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/psf/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.js +4 -5
- package/lib/commonjs/mol-io/reader/sdf/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/top/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/trr/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/xtc/parser.js +1 -2
- package/lib/commonjs/mol-io/reader/xyz/parser.js +1 -2
- package/lib/commonjs/mol-io/writer/cif/encoder/util.js +3 -4
- package/lib/commonjs/mol-math/approx.js +24 -25
- package/lib/commonjs/mol-math/easing.js +18 -19
- package/lib/commonjs/mol-math/geometry/boundary.js +2 -3
- package/lib/commonjs/mol-math/geometry/common.js +2 -3
- package/lib/commonjs/mol-math/geometry/distance-transform.js +1 -2
- package/lib/commonjs/mol-math/geometry/gaussian-density/cpu.js +1 -2
- package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +4 -5
- package/lib/commonjs/mol-math/geometry/gaussian-density.js +5 -5
- package/lib/commonjs/mol-math/geometry/instance-grid.js +2 -3
- package/lib/commonjs/mol-math/geometry/lookup3d/grid.js +1 -2
- package/lib/commonjs/mol-math/geometry/molecular-surface.js +2 -2
- package/lib/commonjs/mol-math/geometry/polygon.js +1 -2
- package/lib/commonjs/mol-math/geometry/primitives/axes3d.js +1 -2
- package/lib/commonjs/mol-math/geometry/primitives/box3d.js +1 -2
- package/lib/commonjs/mol-math/geometry/primitives/frustum3d.js +1 -2
- package/lib/commonjs/mol-math/geometry/primitives/plane3d.js +1 -2
- package/lib/commonjs/mol-math/geometry/primitives/sphere3d.js +1 -2
- package/lib/commonjs/mol-math/geometry/spacegroup/cell.js +1 -2
- package/lib/commonjs/mol-math/geometry/spacegroup/tables.js +4 -4
- package/lib/commonjs/mol-math/histogram.js +1 -2
- package/lib/commonjs/mol-math/interpolate.js +12 -13
- package/lib/commonjs/mol-math/linear-algebra/3d/common.js +2 -2
- package/lib/commonjs/mol-math/linear-algebra/3d/euler.js +1 -2
- package/lib/commonjs/mol-math/linear-algebra/3d/mat3.js +1 -2
- package/lib/commonjs/mol-math/linear-algebra/3d/mat4.js +1 -2
- package/lib/commonjs/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
- package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +1 -2
- package/lib/commonjs/mol-math/linear-algebra/3d/vec2.js +1 -2
- package/lib/commonjs/mol-math/linear-algebra/3d/vec3.js +1 -2
- package/lib/commonjs/mol-math/linear-algebra/3d/vec4.js +1 -2
- package/lib/commonjs/mol-math/linear-algebra/matrix/svd.js +4 -5
- package/lib/commonjs/mol-math/misc.js +7 -7
- package/lib/commonjs/mol-model/custom-property.js +2 -2
- package/lib/commonjs/mol-model/location.js +4 -4
- package/lib/commonjs/mol-model/loci.d.ts +1 -1
- package/lib/commonjs/mol-model/loci.js +7 -7
- package/lib/commonjs/mol-model/sequence/alignment/alignment.d.ts +2 -1
- package/lib/commonjs/mol-model/sequence/alignment/alignment.js +1 -2
- package/lib/commonjs/mol-model/sequence/alignment/sequence.js +3 -3
- package/lib/commonjs/mol-model/sequence/constants.js +3 -4
- package/lib/commonjs/mol-model/structure/coordinates/coordinates.js +2 -2
- package/lib/commonjs/mol-model/structure/export/categories/atom_site.js +5 -5
- package/lib/commonjs/mol-model/structure/export/categories/atom_site_operator_mapping.js +2 -2
- package/lib/commonjs/mol-model/structure/export/categories/utils.js +6 -7
- package/lib/commonjs/mol-model/structure/export/mmcif.js +3 -3
- package/lib/commonjs/mol-model/structure/model/properties/atomic/bonds.js +2 -3
- package/lib/commonjs/mol-model/structure/model/properties/atomic/measures.js +4 -4
- package/lib/commonjs/mol-model/structure/model/properties/atomic/types.js +14 -14
- package/lib/commonjs/mol-model/structure/model/properties/secondary-structure.js +1 -2
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.js +1 -2
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.js +1 -2
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -2
- package/lib/commonjs/mol-model/structure/model/properties/utils/coarse-keys.js +1 -2
- package/lib/commonjs/mol-model/structure/model/properties/utils/coarse-ranges.js +1 -2
- package/lib/commonjs/mol-model/structure/model/types/saccharides.js +1 -1
- package/lib/commonjs/mol-model/structure/model/types.d.ts +3 -3
- package/lib/commonjs/mol-model/structure/model/types.js +12 -12
- package/lib/commonjs/mol-model/structure/model/util.js +2 -3
- package/lib/commonjs/mol-model/structure/query/queries/atom-set.js +3 -4
- package/lib/commonjs/mol-model/structure/query/queries/combinators.js +2 -3
- package/lib/commonjs/mol-model/structure/query/queries/filters.js +7 -8
- package/lib/commonjs/mol-model/structure/query/queries/generators.js +9 -9
- package/lib/commonjs/mol-model/structure/query/queries/internal.js +7 -8
- package/lib/commonjs/mol-model/structure/query/queries/modifiers.js +9 -10
- package/lib/commonjs/mol-model/structure/query/utils/structure-distance.js +2 -3
- package/lib/commonjs/mol-model/structure/query/utils/structure-set.js +5 -6
- package/lib/commonjs/mol-model/structure/structure/carbohydrates/compute.js +1 -2
- package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.js +4 -4
- package/lib/commonjs/mol-model/structure/structure/element/loci.js +1 -2
- package/lib/commonjs/mol-model/structure/structure/element/util.js +6 -7
- package/lib/commonjs/mol-model/structure/structure/properties.d.ts +1 -0
- package/lib/commonjs/mol-model/structure/structure/properties.js +1 -0
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.js +6 -6
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +1 -2
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +1 -2
- package/lib/commonjs/mol-model/structure/structure/unit/resonance.js +1 -2
- package/lib/commonjs/mol-model/structure/structure/unit/rings/compute.js +3 -4
- package/lib/commonjs/mol-model/structure/structure/util/boundary.js +1 -2
- package/lib/commonjs/mol-model/structure/structure/util/lookup3d.js +2 -2
- package/lib/commonjs/mol-model/structure/structure/util/polymer.js +6 -7
- package/lib/commonjs/mol-model/structure/structure/util/principal-axes.js +2 -3
- package/lib/commonjs/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -2
- package/lib/commonjs/mol-model/structure/structure/util/superposition.js +3 -4
- package/lib/commonjs/mol-model/structure/util.js +5 -6
- package/lib/commonjs/mol-model/volume/volume.d.ts +6 -6
- package/lib/commonjs/mol-model-formats/shape/ply.d.ts +2 -0
- package/lib/commonjs/mol-model-formats/shape/ply.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +1 -2
- package/lib/commonjs/mol-model-formats/structure/basic/coarse.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/basic/entities.js +2 -3
- package/lib/commonjs/mol-model-formats/structure/basic/parser.js +1 -2
- package/lib/commonjs/mol-model-formats/structure/basic/properties.js +4 -5
- package/lib/commonjs/mol-model-formats/structure/basic/schema.d.ts +1 -0
- package/lib/commonjs/mol-model-formats/structure/basic/schema.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/basic/sequence.js +1 -2
- package/lib/commonjs/mol-model-formats/structure/basic/sort.js +1 -2
- package/lib/commonjs/mol-model-formats/structure/basic/util.js +2 -3
- package/lib/commonjs/mol-model-formats/structure/cif-core.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/common/entity.d.ts +1 -0
- package/lib/commonjs/mol-model-formats/structure/cube.js +1 -2
- package/lib/commonjs/mol-model-formats/structure/dcd.js +1 -2
- package/lib/commonjs/mol-model-formats/structure/gro.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/mmcif.js +3 -3
- package/lib/commonjs/mol-model-formats/structure/mol.js +3 -3
- package/lib/commonjs/mol-model-formats/structure/mol2.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/nctraj.js +1 -2
- package/lib/commonjs/mol-model-formats/structure/pdb/anisotropic.js +3 -4
- package/lib/commonjs/mol-model-formats/structure/pdb/assembly.js +3 -4
- package/lib/commonjs/mol-model-formats/structure/pdb/atom-site.js +3 -4
- package/lib/commonjs/mol-model-formats/structure/pdb/conect.js +1 -2
- package/lib/commonjs/mol-model-formats/structure/pdb/entity.js +2 -3
- package/lib/commonjs/mol-model-formats/structure/pdb/header.js +1 -2
- package/lib/commonjs/mol-model-formats/structure/pdb/secondary-structure.js +2 -3
- package/lib/commonjs/mol-model-formats/structure/pdb/to-cif.js +1 -2
- package/lib/commonjs/mol-model-formats/structure/pdb.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/prmtop.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/property/assembly.js +3 -4
- package/lib/commonjs/mol-model-formats/structure/psf.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/sdf.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/top.js +2 -2
- package/lib/commonjs/mol-model-formats/structure/trr.js +1 -2
- package/lib/commonjs/mol-model-formats/structure/util.js +2 -3
- package/lib/commonjs/mol-model-formats/structure/xtc.js +1 -2
- package/lib/commonjs/mol-model-formats/structure/xyz.js +2 -2
- package/lib/commonjs/mol-model-formats/volume/ccp4.js +3 -3
- package/lib/commonjs/mol-model-formats/volume/cube.js +2 -2
- package/lib/commonjs/mol-model-formats/volume/density-server.js +2 -2
- package/lib/commonjs/mol-model-formats/volume/dsn6.js +2 -2
- package/lib/commonjs/mol-model-formats/volume/dx.js +2 -2
- package/lib/commonjs/mol-model-formats/volume/segmentation.js +2 -2
- package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/area.js +1 -2
- package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +1 -2
- package/lib/commonjs/mol-model-props/computed/chemistry/functional-group.js +16 -17
- package/lib/commonjs/mol-model-props/computed/chemistry/geometry.js +5 -5
- package/lib/commonjs/mol-model-props/computed/chemistry/util.js +16 -17
- package/lib/commonjs/mol-model-props/computed/chemistry/valence-model.js +4 -4
- package/lib/commonjs/mol-model-props/computed/helix-orientation/helix-orientation.js +1 -2
- package/lib/commonjs/mol-model-props/computed/interactions/common.js +4 -4
- package/lib/commonjs/mol-model-props/computed/interactions/contacts.js +3 -3
- package/lib/commonjs/mol-model-props/computed/interactions/interactions.js +2 -2
- package/lib/commonjs/mol-model-props/computed/interactions/refine.js +1 -2
- package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +1 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
- package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +1 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
- package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +3 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions.js +3 -3
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/backbone-hbonds.js +1 -2
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -2
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bridges.js +1 -2
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/dihedral-angles.js +1 -2
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/helices.js +1 -2
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/ladders.js +1 -2
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/protein-info.js +1 -2
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/sheets.js +1 -2
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/trace-lookup.js +1 -2
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/turns.js +1 -2
- package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp.js +2 -2
- package/lib/commonjs/mol-model-props/computed/themes/accessible-surface-area.js +3 -3
- package/lib/commonjs/mol-model-props/computed/themes/interaction-type.js +3 -3
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/color.js +3 -3
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +4 -0
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.js +4 -4
- package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.d.ts +2 -2
- package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.js +3 -3
- package/lib/commonjs/mol-plugin/animation-loop.d.ts +1 -0
- package/lib/commonjs/mol-plugin/behavior/behavior.d.ts +9 -9
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +9 -9
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -3
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/util.js +8 -9
- package/lib/commonjs/mol-plugin/behavior/static/camera.js +6 -7
- package/lib/commonjs/mol-plugin/behavior/static/misc.js +2 -3
- package/lib/commonjs/mol-plugin/behavior/static/representation.js +4 -5
- package/lib/commonjs/mol-plugin/behavior/static/state.js +12 -13
- package/lib/commonjs/mol-plugin/command.js +2 -2
- package/lib/commonjs/mol-plugin/commands.d.ts +23 -87
- package/lib/commonjs/mol-plugin/context.d.ts +3 -2
- package/lib/commonjs/mol-plugin/context.js +4 -2
- package/lib/commonjs/mol-plugin/state.d.ts +7 -7
- package/lib/commonjs/mol-plugin/util/headless-screenshot.d.ts +1 -1
- package/lib/commonjs/mol-plugin/util/headless-screenshot.js +7 -5
- package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +1 -1
- package/lib/commonjs/mol-plugin/util/viewport-screenshot.js +2 -1
- package/lib/commonjs/mol-plugin-state/actions/volume.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/actions/volume.js +4 -12
- package/lib/commonjs/mol-plugin-state/animation/built-in/model-index.d.ts +2 -2
- package/lib/commonjs/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
- package/lib/commonjs/mol-plugin-state/animation/helpers.js +5 -5
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +2 -2
- package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.js +4 -4
- package/lib/commonjs/mol-plugin-state/formats/provider.js +2 -3
- package/lib/commonjs/mol-plugin-state/formats/registry.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/formats/trajectory.d.ts +9 -9
- package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +0 -1
- package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -2
- package/lib/commonjs/mol-plugin-state/helpers/structure-component.js +3 -3
- package/lib/commonjs/mol-plugin-state/helpers/structure-emissive.js +2 -3
- package/lib/commonjs/mol-plugin-state/helpers/structure-overpaint.js +2 -3
- package/lib/commonjs/mol-plugin-state/helpers/structure-representation-params.js +4 -5
- package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +9 -9
- package/lib/commonjs/mol-plugin-state/helpers/structure-substance.js +2 -3
- package/lib/commonjs/mol-plugin-state/helpers/structure-transparency.js +2 -3
- package/lib/commonjs/mol-plugin-state/helpers/volume-representation-params.js +4 -5
- package/lib/commonjs/mol-plugin-state/manager/focus-camera/focus-first-residue.js +2 -3
- package/lib/commonjs/mol-plugin-state/manager/focus-camera/orient-axes.js +4 -4
- package/lib/commonjs/mol-plugin-state/manager/structure/hierarchy-state.js +2 -3
- package/lib/commonjs/mol-plugin-state/manager/structure/hierarchy.d.ts +3 -3
- package/lib/commonjs/mol-plugin-state/manager/structure/measurement.d.ts +4 -0
- package/lib/commonjs/mol-plugin-state/manager/volume/hierarchy-state.js +2 -3
- package/lib/commonjs/mol-plugin-state/objects.d.ts +97 -97
- package/lib/commonjs/mol-plugin-state/transforms/data.d.ts +10 -1
- package/lib/commonjs/mol-plugin-state/transforms/data.js +31 -2
- package/lib/commonjs/mol-plugin-state/transforms/helpers.js +6 -7
- package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +6 -0
- package/lib/commonjs/mol-plugin-state/transforms/shape.js +2 -2
- package/lib/commonjs/mol-plugin-ui/base.js +2 -1
- package/lib/commonjs/mol-plugin-ui/controls/color.js +3 -3
- package/lib/commonjs/mol-plugin-ui/controls/common.js +5 -5
- package/lib/commonjs/mol-plugin-ui/controls/icons.d.ts +5 -0
- package/lib/commonjs/mol-plugin-ui/controls/icons.js +87 -73
- package/lib/commonjs/mol-plugin-ui/controls/legend.js +2 -2
- package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +3 -3
- package/lib/commonjs/mol-plugin-ui/controls/parameters.js +2 -2
- package/lib/commonjs/mol-plugin-ui/controls.js +3 -3
- package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.js +1 -2
- package/lib/commonjs/mol-plugin-ui/index.js +1 -2
- package/lib/commonjs/mol-plugin-ui/left-panel.d.ts +0 -1
- package/lib/commonjs/mol-plugin-ui/plugin.js +5 -4
- package/lib/commonjs/mol-plugin-ui/react18.js +1 -2
- package/lib/commonjs/mol-plugin-ui/sequence.js +8 -8
- package/lib/commonjs/mol-plugin-ui/spec.d.ts +10 -10
- package/lib/commonjs/mol-plugin-ui/spec.js +1 -1
- package/lib/commonjs/mol-plugin-ui/state/apply-action.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/state/update-transform.d.ts +1 -1
- package/lib/commonjs/mol-plugin-ui/structure/quick-styles.d.ts +2 -1
- package/lib/commonjs/mol-plugin-ui/structure/quick-styles.js +5 -2
- package/lib/commonjs/mol-plugin-ui/structure/selection.d.ts +2 -2
- package/lib/commonjs/mol-plugin-ui/task.js +2 -3
- package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +3 -0
- package/lib/commonjs/mol-repr/representation.d.ts +3 -3
- package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/angle.js +2 -2
- package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/dihedral.js +2 -2
- package/lib/commonjs/mol-repr/shape/loci/distance.js +2 -2
- package/lib/commonjs/mol-repr/shape/loci/label.js +2 -2
- package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/orientation.js +2 -2
- package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/plane.js +2 -2
- package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/model/unitcell.js +3 -3
- package/lib/commonjs/mol-repr/shape/representation.js +1 -2
- package/lib/commonjs/mol-repr/structure/complex-representation.js +1 -2
- package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +5 -0
- package/lib/commonjs/mol-repr/structure/complex-visual.js +9 -9
- package/lib/commonjs/mol-repr/structure/params.d.ts +5 -0
- package/lib/commonjs/mol-repr/structure/params.js +2 -2
- package/lib/commonjs/mol-repr/structure/registry.d.ts +11 -0
- package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/backbone.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/carbohydrate.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/cartoon.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/label.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/line.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/orientation.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/point.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/putty.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/spacefill.js +3 -3
- package/lib/commonjs/mol-repr/structure/representation.js +2 -2
- package/lib/commonjs/mol-repr/structure/units-representation.js +1 -2
- package/lib/commonjs/mol-repr/structure/units-visual.d.ts +5 -0
- package/lib/commonjs/mol-repr/structure/units-visual.js +10 -10
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +4 -4
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +4 -4
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/element-cross.js +3 -3
- package/lib/commonjs/mol-repr/structure/visual/element-point.js +3 -3
- package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +4 -0
- package/lib/commonjs/mol-repr/structure/visual/element-sphere.js +7 -7
- package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.js +3 -3
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +3 -3
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +7 -7
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/label-text.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +3 -3
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-bond.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-bond.js +4 -4
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-element.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-element.js +4 -4
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-ring-fill.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-ring-fill.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +3 -3
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.js +4 -4
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.js +4 -4
- package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/util/bond.js +8 -8
- package/lib/commonjs/mol-repr/structure/visual/util/common.js +14 -14
- package/lib/commonjs/mol-repr/structure/visual/util/element.js +10 -10
- package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +8 -8
- package/lib/commonjs/mol-repr/structure/visual/util/link.js +5 -5
- package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +2 -3
- package/lib/commonjs/mol-repr/structure/visual/util/nucleotide.d.ts +60 -60
- package/lib/commonjs/mol-repr/structure/visual/util/nucleotide.js +11 -11
- package/lib/commonjs/mol-repr/structure/visual/util/polymer/backbone.js +3 -4
- package/lib/commonjs/mol-repr/structure/visual/util/polymer/curve-segment.js +5 -6
- package/lib/commonjs/mol-repr/structure/visual/util/polymer/gap-iterator.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/util/polymer/trace-iterator.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +8 -8
- package/lib/commonjs/mol-repr/util.js +3 -3
- package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +48 -45
- package/lib/commonjs/mol-repr/volume/direct-volume.js +9 -9
- package/lib/commonjs/mol-repr/volume/isosurface.d.ts +95 -90
- package/lib/commonjs/mol-repr/volume/isosurface.js +10 -10
- package/lib/commonjs/mol-repr/volume/registry.d.ts +63 -60
- package/lib/commonjs/mol-repr/volume/representation.js +4 -4
- package/lib/commonjs/mol-repr/volume/segment.d.ts +80 -75
- package/lib/commonjs/mol-repr/volume/segment.js +8 -8
- package/lib/commonjs/mol-repr/volume/slice.d.ts +45 -45
- package/lib/commonjs/mol-repr/volume/slice.js +5 -5
- package/lib/commonjs/mol-repr/volume/util.js +5 -6
- package/lib/commonjs/mol-script/language/expression-formatter.js +1 -2
- package/lib/commonjs/mol-script/language/helpers.js +3 -4
- package/lib/commonjs/mol-script/language/parser.js +1 -2
- package/lib/commonjs/mol-script/language/symbol-table/core.d.ts +1 -1
- package/lib/commonjs/mol-script/language/symbol.js +5 -5
- package/lib/commonjs/mol-script/runtime/query/base.js +2 -2
- package/lib/commonjs/mol-script/script/mol-script/script-macro.js +4 -5
- package/lib/commonjs/mol-script/script/mol-script/symbols.js +3 -3
- package/lib/commonjs/mol-script/script.js +1 -2
- package/lib/commonjs/mol-script/transpile.js +1 -2
- package/lib/commonjs/mol-script/transpilers/helper.js +28 -28
- package/lib/commonjs/mol-script/transpilers/jmol/properties.js +2 -2
- package/lib/commonjs/mol-script/transpilers/vmd/properties.js +2 -2
- package/lib/commonjs/mol-script/util/id-list.js +1 -2
- package/lib/commonjs/mol-state/object.d.ts +4 -4
- package/lib/commonjs/mol-state/state.d.ts +4 -4
- package/lib/commonjs/mol-state/transform.d.ts +1 -1
- package/lib/commonjs/mol-state/transformer.d.ts +1 -1
- package/lib/commonjs/mol-task/execution/observable.js +4 -5
- package/lib/commonjs/mol-task/util/chunked.js +1 -2
- package/lib/commonjs/mol-task/util/multistep.js +1 -2
- package/lib/commonjs/mol-task/util/scheduler.d.ts +0 -1
- package/lib/commonjs/mol-theme/clipping.js +1 -2
- package/lib/commonjs/mol-theme/color/atom-id.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/atom-id.js +3 -3
- package/lib/commonjs/mol-theme/color/carbohydrate-symbol.js +3 -3
- package/lib/commonjs/mol-theme/color/cartoon.js +3 -3
- package/lib/commonjs/mol-theme/color/chain-id.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/chain-id.js +3 -3
- package/lib/commonjs/mol-theme/color/element-index.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/element-index.js +3 -3
- package/lib/commonjs/mol-theme/color/element-symbol.js +4 -4
- package/lib/commonjs/mol-theme/color/entity-id.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/entity-id.js +3 -3
- package/lib/commonjs/mol-theme/color/entity-source.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/entity-source.js +3 -3
- package/lib/commonjs/mol-theme/color/external-volume.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/external-volume.js +2 -2
- package/lib/commonjs/mol-theme/color/hydrophobicity.js +4 -4
- package/lib/commonjs/mol-theme/color/illustrative.js +3 -3
- package/lib/commonjs/mol-theme/color/model-index.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/model-index.js +3 -3
- package/lib/commonjs/mol-theme/color/molecule-type.js +4 -4
- package/lib/commonjs/mol-theme/color/occupancy.js +4 -4
- package/lib/commonjs/mol-theme/color/operator-hkl.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/operator-hkl.js +3 -3
- package/lib/commonjs/mol-theme/color/operator-name.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/operator-name.js +3 -3
- package/lib/commonjs/mol-theme/color/partial-charge.js +3 -3
- package/lib/commonjs/mol-theme/color/polymer-id.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/polymer-id.js +3 -3
- package/lib/commonjs/mol-theme/color/polymer-index.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/polymer-index.js +3 -3
- package/lib/commonjs/mol-theme/color/residue-name.js +4 -4
- package/lib/commonjs/mol-theme/color/secondary-structure.js +4 -4
- package/lib/commonjs/mol-theme/color/sequence-id.js +3 -3
- package/lib/commonjs/mol-theme/color/shape-group.js +3 -3
- package/lib/commonjs/mol-theme/color/structure-index.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/structure-index.js +3 -3
- package/lib/commonjs/mol-theme/color/trajectory-index.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/trajectory-index.js +3 -3
- package/lib/commonjs/mol-theme/color/uncertainty.js +4 -4
- package/lib/commonjs/mol-theme/color/uniform.js +3 -3
- package/lib/commonjs/mol-theme/color/unit-index.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/unit-index.js +3 -3
- package/lib/commonjs/mol-theme/color/volume-segment.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/volume-segment.js +3 -3
- package/lib/commonjs/mol-theme/color/volume-value.js +3 -3
- package/lib/commonjs/mol-theme/color.d.ts +16 -16
- package/lib/commonjs/mol-theme/color.js +2 -2
- package/lib/commonjs/mol-theme/emissive.js +1 -2
- package/lib/commonjs/mol-theme/label.js +11 -11
- package/lib/commonjs/mol-theme/overpaint.js +1 -2
- package/lib/commonjs/mol-theme/size/physical.js +4 -4
- package/lib/commonjs/mol-theme/size/shape-group.js +3 -3
- package/lib/commonjs/mol-theme/size/uncertainty.js +4 -4
- package/lib/commonjs/mol-theme/size/uniform.js +3 -3
- package/lib/commonjs/mol-theme/substance.js +1 -2
- package/lib/commonjs/mol-theme/theme.d.ts +3 -3
- package/lib/commonjs/mol-theme/transparency.js +1 -2
- package/lib/commonjs/mol-util/array.js +22 -23
- package/lib/commonjs/mol-util/binding.js +1 -2
- package/lib/commonjs/mol-util/clip.js +1 -2
- package/lib/commonjs/mol-util/color/color.js +6 -7
- package/lib/commonjs/mol-util/color/distinct.js +2 -2
- package/lib/commonjs/mol-util/color/lists.js +2 -2
- package/lib/commonjs/mol-util/color/palette.d.ts +4 -3
- package/lib/commonjs/mol-util/color/palette.js +2 -3
- package/lib/commonjs/mol-util/color/params.js +1 -2
- package/lib/commonjs/mol-util/color/scale.d.ts +2 -1
- package/lib/commonjs/mol-util/color/spaces/hcl.js +1 -2
- package/lib/commonjs/mol-util/color/spaces/lab.js +1 -2
- package/lib/commonjs/mol-util/data-source.d.ts +0 -1
- package/lib/commonjs/mol-util/data-source.js +7 -7
- package/lib/commonjs/mol-util/date.js +2 -3
- package/lib/commonjs/mol-util/debug.js +7 -7
- package/lib/commonjs/mol-util/download.js +1 -2
- package/lib/commonjs/mol-util/file-info.js +1 -2
- package/lib/commonjs/mol-util/id-factory.js +1 -2
- package/lib/commonjs/mol-util/index.js +13 -13
- package/lib/commonjs/mol-util/input/event-offset.js +1 -2
- package/lib/commonjs/mol-util/input/input-observer.js +4 -4
- package/lib/commonjs/mol-util/is-little-endian.js +1 -2
- package/lib/commonjs/mol-util/json.js +2 -3
- package/lib/commonjs/mol-util/legend.js +2 -3
- package/lib/commonjs/mol-util/make-dir.js +1 -2
- package/lib/commonjs/mol-util/map.js +1 -2
- package/lib/commonjs/mol-util/marker-action.js +6 -6
- package/lib/commonjs/mol-util/mask.js +2 -2
- package/lib/commonjs/mol-util/material.js +1 -2
- package/lib/commonjs/mol-util/memoize.js +2 -3
- package/lib/commonjs/mol-util/nodejs-shims.d.ts +1 -1
- package/lib/commonjs/mol-util/now.js +2 -2
- package/lib/commonjs/mol-util/number-packing.js +3 -4
- package/lib/commonjs/mol-util/number.js +7 -8
- package/lib/commonjs/mol-util/object.js +14 -15
- package/lib/commonjs/mol-util/param-mapping.js +1 -2
- package/lib/commonjs/mol-util/read.js +6 -7
- package/lib/commonjs/mol-util/reference-cache.js +3 -4
- package/lib/commonjs/mol-util/retry-if.js +1 -2
- package/lib/commonjs/mol-util/sleep.js +1 -2
- package/lib/commonjs/mol-util/string.js +18 -18
- package/lib/commonjs/mol-util/type-helpers.js +3 -4
- package/lib/commonjs/mol-util/url.js +2 -3
- package/lib/commonjs/mol-util/zip/bin.js +9 -10
- package/lib/commonjs/mol-util/zip/checksum.js +2 -3
- package/lib/commonjs/mol-util/zip/deflate.js +1 -2
- package/lib/commonjs/mol-util/zip/huffman.js +1 -2
- package/lib/commonjs/mol-util/zip/inflate.js +1 -2
- package/lib/commonjs/mol-util/zip/util.js +4 -4
- package/lib/commonjs/mol-util/zip/zip.js +8 -9
- package/lib/commonjs/servers/common/file-handle.js +1 -2
- package/lib/commonjs/servers/common/swagger-ui/index.js +2 -3
- package/lib/commonjs/servers/common/util.js +1 -2
- package/lib/commonjs/servers/model/config.d.ts +4 -4
- package/lib/commonjs/servers/model/config.js +2 -2
- package/lib/commonjs/servers/model/preprocess/converter.js +1 -2
- package/lib/commonjs/servers/model/preprocess/parallel.js +2 -3
- package/lib/commonjs/servers/model/preprocess/preprocess.js +1 -2
- package/lib/commonjs/servers/model/preprocess/util.js +2 -3
- package/lib/commonjs/servers/model/property-provider.js +2 -3
- package/lib/commonjs/servers/model/query/atoms.js +1 -2
- package/lib/commonjs/servers/model/server/api-local.js +1 -2
- package/lib/commonjs/servers/model/server/api-schema.js +2 -2
- package/lib/commonjs/servers/model/server/api-web-multiple.js +1 -2
- package/lib/commonjs/servers/model/server/api-web.js +2 -3
- package/lib/commonjs/servers/model/server/api.js +4 -4
- package/lib/commonjs/servers/model/server/jobs.js +3 -3
- package/lib/commonjs/servers/model/server/query.js +2 -3
- package/lib/commonjs/servers/model/server/structure-wrapper.js +6 -6
- package/lib/commonjs/servers/model/utils/fetch-retry.js +1 -2
- package/lib/commonjs/servers/model/utils/tar.d.ts +0 -1
- package/lib/commonjs/servers/model/utils/tar.js +2 -2
- package/lib/commonjs/servers/plugin-state/api-schema.js +2 -2
- package/lib/commonjs/servers/plugin-state/config.js +1 -2
- package/lib/commonjs/servers/volume/common/binary-schema.d.ts +0 -1
- package/lib/commonjs/servers/volume/common/binary-schema.js +5 -5
- package/lib/commonjs/servers/volume/common/data-format.d.ts +0 -1
- package/lib/commonjs/servers/volume/common/data-format.js +2 -3
- package/lib/commonjs/servers/volume/common/file.js +4 -5
- package/lib/commonjs/servers/volume/config.d.ts +1 -5
- package/lib/commonjs/servers/volume/config.js +3 -3
- package/lib/commonjs/servers/volume/pack/data-model.js +2 -3
- package/lib/commonjs/servers/volume/pack/downsampling.js +2 -3
- package/lib/commonjs/servers/volume/pack/format/ccp4.js +2 -2
- package/lib/commonjs/servers/volume/pack/format/dsn6.js +2 -2
- package/lib/commonjs/servers/volume/pack/format.js +4 -5
- package/lib/commonjs/servers/volume/pack/main.js +1 -2
- package/lib/commonjs/servers/volume/pack/sampling.js +2 -3
- package/lib/commonjs/servers/volume/pack/writer.js +1 -2
- package/lib/commonjs/servers/volume/server/algebra/box.js +14 -15
- package/lib/commonjs/servers/volume/server/algebra/coordinate.js +17 -18
- package/lib/commonjs/servers/volume/server/api.js +3 -4
- package/lib/commonjs/servers/volume/server/local-api.js +1 -2
- package/lib/commonjs/servers/volume/server/query/compose.js +1 -2
- package/lib/commonjs/servers/volume/server/query/encode.js +1 -2
- package/lib/commonjs/servers/volume/server/query/execute.js +1 -2
- package/lib/commonjs/servers/volume/server/query/identify.js +1 -2
- package/lib/commonjs/servers/volume/server/web-api.js +1 -2
- package/lib/commonjs/servers/volume/server/web-schema.js +2 -2
- package/lib/examples/lighting/index.d.ts +1 -1
- package/lib/examples/lighting/index.js +2 -1
- package/lib/examples/proteopedia-wrapper/coloring.d.ts +5 -20
- package/lib/extensions/alpha-orbitals/transforms.d.ts +3 -3
- package/lib/extensions/anvil/behavior.d.ts +1 -0
- package/lib/extensions/anvil/representation.d.ts +4 -0
- package/lib/extensions/assembly-symmetry/behavior.d.ts +1 -0
- package/lib/extensions/assembly-symmetry/color.d.ts +2 -2
- package/lib/extensions/assembly-symmetry/representation.d.ts +1 -0
- package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +3 -0
- package/lib/extensions/dnatco/ntc-tube/representation.d.ts +3 -0
- package/lib/extensions/g3d/format.d.ts +3 -3
- package/lib/extensions/geo-export/mesh-exporter.d.ts +2 -2
- package/lib/extensions/geo-export/ui.d.ts +0 -1
- package/lib/extensions/meshes/mesh-extension.d.ts +3 -5
- package/lib/extensions/meshes/mesh-streaming/behavior.d.ts +3 -3
- package/lib/extensions/meshes/mesh-streaming/server-info.d.ts +3 -3
- package/lib/extensions/model-archive/quality-assessment/color/plddt.d.ts +1 -1
- package/lib/extensions/model-archive/quality-assessment/color/plddt.js +8 -5
- package/lib/extensions/model-export/ui.d.ts +0 -1
- package/lib/extensions/mp4-export/controls.d.ts +1 -1
- package/lib/extensions/mp4-export/encoder.js +1 -1
- package/lib/extensions/mp4-export/ui.d.ts +0 -1
- package/lib/extensions/mvs/components/annotation-label/representation.d.ts +32 -34
- package/lib/extensions/mvs/components/annotation-label/visual.d.ts +16 -16
- package/lib/extensions/mvs/components/custom-label/representation.d.ts +32 -32
- package/lib/extensions/mvs/components/custom-label/visual.d.ts +16 -16
- package/lib/extensions/mvs/components/formats.d.ts +6 -6
- package/lib/extensions/mvs/helpers/indexing.d.ts +2 -2
- package/lib/extensions/mvs/helpers/schemas.d.ts +1 -1
- package/lib/extensions/mvs/helpers/utils.d.ts +1 -1
- package/lib/extensions/mvs/load-helpers.d.ts +1 -1
- package/lib/extensions/mvs/tree/mvs/mvs-builder.d.ts +0 -2
- package/lib/extensions/rcsb/validation-report/representation.d.ts +5 -0
- package/lib/extensions/sb-ncbr/index.d.ts +8 -0
- package/lib/extensions/sb-ncbr/index.js +8 -0
- package/lib/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
- package/lib/extensions/sb-ncbr/tunnels/actions.js +86 -0
- package/lib/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
- package/lib/extensions/sb-ncbr/tunnels/algorithm.js +469 -0
- package/lib/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
- package/lib/extensions/sb-ncbr/tunnels/behavior.js +92 -0
- package/lib/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
- package/lib/extensions/sb-ncbr/tunnels/data-model.js +23 -0
- package/lib/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
- package/lib/extensions/sb-ncbr/tunnels/examples.js +49 -0
- package/lib/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
- package/lib/extensions/sb-ncbr/tunnels/props.js +22 -0
- package/lib/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
- package/lib/extensions/sb-ncbr/tunnels/representation.js +96 -0
- package/lib/extensions/volumes-and-segmentations/entry-root.d.ts +3 -3
- package/lib/extensions/volumes-and-segmentations/entry-state.d.ts +3 -3
- package/lib/extensions/volumes-and-segmentations/global-state.d.ts +3 -3
- package/lib/extensions/volumes-and-segmentations/ui.d.ts +0 -1
- package/lib/extensions/zenodo/ui.d.ts +0 -1
- package/lib/mol-canvas3d/camera/transition.d.ts +1 -1
- package/lib/mol-canvas3d/camera/transition.js +23 -6
- package/lib/mol-canvas3d/canvas3d.d.ts +26 -1
- package/lib/mol-canvas3d/canvas3d.js +4 -0
- package/lib/mol-canvas3d/helper/bounding-sphere-helper.d.ts +1 -6
- package/lib/mol-canvas3d/helper/handle-helper.d.ts +1 -0
- package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
- package/lib/mol-canvas3d/passes/dof.d.ts +34 -0
- package/lib/mol-canvas3d/passes/dof.js +163 -0
- package/lib/mol-canvas3d/passes/draw.d.ts +2 -0
- package/lib/mol-canvas3d/passes/draw.js +31 -8
- package/lib/mol-canvas3d/passes/image.d.ts +10 -0
- package/lib/mol-canvas3d/passes/multi-sample.d.ts +2 -1
- package/lib/mol-canvas3d/passes/multi-sample.js +4 -3
- package/lib/mol-canvas3d/passes/postprocessing.d.ts +9 -0
- package/lib/mol-canvas3d/passes/postprocessing.js +10 -0
- package/lib/mol-data/db/column.d.ts +1 -1
- package/lib/mol-geo/geometry/base.d.ts +1 -1
- package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +1 -0
- package/lib/mol-geo/geometry/cylinders/cylinders.js +3 -0
- package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +1 -0
- package/lib/mol-geo/geometry/direct-volume/direct-volume.js +3 -0
- package/lib/mol-geo/geometry/image/image.d.ts +1 -1
- package/lib/mol-geo/geometry/lines/lines.d.ts +0 -1
- package/lib/mol-geo/geometry/mesh/mesh.d.ts +1 -0
- package/lib/mol-geo/geometry/mesh/mesh.js +3 -0
- package/lib/mol-geo/geometry/points/points.d.ts +1 -1
- package/lib/mol-geo/geometry/spheres/spheres.d.ts +1 -0
- package/lib/mol-geo/geometry/spheres/spheres.js +3 -0
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +1 -0
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +3 -0
- package/lib/mol-gl/renderable/cylinders.d.ts +1 -0
- package/lib/mol-gl/renderable/cylinders.js +1 -0
- package/lib/mol-gl/renderable/direct-volume.d.ts +1 -0
- package/lib/mol-gl/renderable/direct-volume.js +1 -0
- package/lib/mol-gl/renderable/mesh.d.ts +1 -0
- package/lib/mol-gl/renderable/mesh.js +1 -0
- package/lib/mol-gl/renderable/schema.d.ts +1 -0
- package/lib/mol-gl/renderable/schema.js +1 -0
- package/lib/mol-gl/renderable/spheres.d.ts +1 -0
- package/lib/mol-gl/renderable/spheres.js +1 -0
- package/lib/mol-gl/renderable/texture-mesh.d.ts +1 -0
- package/lib/mol-gl/renderable/texture-mesh.js +1 -0
- package/lib/mol-gl/renderer.d.ts +1 -0
- package/lib/mol-gl/renderer.js +6 -0
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +2 -1
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +57 -24
- package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -0
- package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common.glsl.js +6 -0
- package/lib/mol-gl/shader/cylinders.frag.d.ts +2 -1
- package/lib/mol-gl/shader/cylinders.frag.js +11 -2
- package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
- package/lib/mol-gl/shader/direct-volume.frag.js +1 -0
- package/lib/mol-gl/shader/dof.frag.d.ts +7 -0
- package/lib/mol-gl/shader/dof.frag.js +119 -0
- package/lib/mol-gl/shader/ssao-blur.frag.d.ts +1 -1
- package/lib/mol-gl/shader/ssao-blur.frag.js +9 -6
- package/lib/mol-gl/shader-code.js +1 -1
- package/lib/mol-gl/webgl/context.js +1 -0
- package/lib/mol-gl/webgl/render-item.d.ts +2 -2
- package/lib/mol-gl/webgl/timer.d.ts +1 -1
- package/lib/mol-gl/webgl/timer.js +8 -1
- package/lib/mol-io/common/simple-buffer.d.ts +0 -1
- package/lib/mol-io/reader/cif/schema/bird.d.ts +1 -1
- package/lib/mol-io/reader/cif/schema/bird.js +1 -1
- package/lib/mol-io/reader/cif/schema/ccd.d.ts +1 -1
- package/lib/mol-io/reader/cif/schema/ccd.js +1 -1
- package/lib/mol-io/reader/cif/schema/mmcif.d.ts +9 -1
- package/lib/mol-io/reader/cif/schema/mmcif.js +9 -1
- package/lib/mol-io/reader/common/text/column/fixed.d.ts +1 -1
- package/lib/mol-io/reader/common/text/column/token.d.ts +1 -1
- package/lib/mol-io/reader/ply/schema.d.ts +1 -1
- package/lib/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
- package/lib/mol-model/loci.d.ts +1 -1
- package/lib/mol-model/sequence/alignment/alignment.d.ts +2 -1
- package/lib/mol-model/structure/model/types/saccharides.js +1 -1
- package/lib/mol-model/structure/model/types.d.ts +3 -3
- package/lib/mol-model/structure/query/queries/generators.js +2 -2
- package/lib/mol-model/structure/structure/properties.d.ts +1 -0
- package/lib/mol-model/structure/structure/properties.js +1 -0
- package/lib/mol-model/volume/volume.d.ts +6 -6
- package/lib/mol-model-formats/shape/ply.d.ts +2 -0
- package/lib/mol-model-formats/structure/basic/schema.d.ts +1 -0
- package/lib/mol-model-formats/structure/common/entity.d.ts +1 -0
- package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +1 -0
- package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +1 -0
- package/lib/mol-model-props/computed/representations/interactions.d.ts +3 -0
- package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +4 -0
- package/lib/mol-model-props/sequence/themes/sifts-mapping.d.ts +2 -2
- package/lib/mol-plugin/animation-loop.d.ts +1 -0
- package/lib/mol-plugin/behavior/behavior.d.ts +9 -9
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +9 -9
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -3
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
- package/lib/mol-plugin/commands.d.ts +23 -87
- package/lib/mol-plugin/context.d.ts +3 -2
- package/lib/mol-plugin/context.js +4 -2
- package/lib/mol-plugin/state.d.ts +7 -7
- package/lib/mol-plugin/util/headless-screenshot.d.ts +1 -1
- package/lib/mol-plugin/util/headless-screenshot.js +3 -1
- package/lib/mol-plugin/util/viewport-screenshot.d.ts +1 -1
- package/lib/mol-plugin/util/viewport-screenshot.js +2 -1
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/actions/volume.d.ts +1 -1
- package/lib/mol-plugin-state/actions/volume.js +4 -12
- package/lib/mol-plugin-state/animation/built-in/model-index.d.ts +2 -2
- package/lib/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
- package/lib/mol-plugin-state/formats/registry.d.ts +1 -1
- package/lib/mol-plugin-state/formats/trajectory.d.ts +9 -9
- package/lib/mol-plugin-state/formats/volume.d.ts +0 -1
- package/lib/mol-plugin-state/manager/structure/hierarchy.d.ts +3 -3
- package/lib/mol-plugin-state/manager/structure/measurement.d.ts +4 -0
- package/lib/mol-plugin-state/objects.d.ts +97 -97
- package/lib/mol-plugin-state/transforms/data.d.ts +10 -1
- package/lib/mol-plugin-state/transforms/data.js +30 -1
- package/lib/mol-plugin-state/transforms/representation.d.ts +6 -0
- package/lib/mol-plugin-ui/base.js +2 -1
- package/lib/mol-plugin-ui/controls/icons.d.ts +5 -0
- package/lib/mol-plugin-ui/controls/icons.js +10 -0
- package/lib/mol-plugin-ui/controls/parameters.d.ts +3 -3
- package/lib/mol-plugin-ui/controls.js +1 -1
- package/lib/mol-plugin-ui/left-panel.d.ts +0 -1
- package/lib/mol-plugin-ui/plugin.js +3 -2
- package/lib/mol-plugin-ui/skin/base/components/controls.scss +6 -0
- package/lib/mol-plugin-ui/spec.d.ts +10 -10
- package/lib/mol-plugin-ui/spec.js +1 -1
- package/lib/mol-plugin-ui/state/apply-action.d.ts +1 -1
- package/lib/mol-plugin-ui/state/update-transform.d.ts +1 -1
- package/lib/mol-plugin-ui/structure/quick-styles.d.ts +2 -1
- package/lib/mol-plugin-ui/structure/quick-styles.js +5 -2
- package/lib/mol-plugin-ui/structure/selection.d.ts +2 -2
- package/lib/mol-plugin-ui/viewport/simple-settings.js +3 -0
- package/lib/mol-repr/representation.d.ts +3 -3
- package/lib/mol-repr/shape/loci/angle.d.ts +1 -0
- package/lib/mol-repr/shape/loci/dihedral.d.ts +1 -0
- package/lib/mol-repr/shape/loci/orientation.d.ts +1 -0
- package/lib/mol-repr/shape/loci/plane.d.ts +1 -0
- package/lib/mol-repr/shape/model/unitcell.d.ts +1 -0
- package/lib/mol-repr/structure/complex-visual.d.ts +5 -0
- package/lib/mol-repr/structure/params.d.ts +5 -0
- package/lib/mol-repr/structure/registry.d.ts +11 -0
- package/lib/mol-repr/structure/representation/backbone.d.ts +3 -0
- package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +3 -0
- package/lib/mol-repr/structure/representation/carbohydrate.d.ts +3 -0
- package/lib/mol-repr/structure/representation/cartoon.d.ts +3 -0
- package/lib/mol-repr/structure/representation/ellipsoid.d.ts +3 -0
- package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +3 -0
- package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
- package/lib/mol-repr/structure/representation/molecular-surface.d.ts +3 -0
- package/lib/mol-repr/structure/representation/orientation.d.ts +3 -0
- package/lib/mol-repr/structure/representation/putty.d.ts +3 -0
- package/lib/mol-repr/structure/representation/spacefill.d.ts +3 -0
- package/lib/mol-repr/structure/units-visual.d.ts +5 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +2 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +2 -0
- package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +1 -0
- package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -0
- package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +1 -0
- package/lib/mol-repr/structure/visual/element-sphere.d.ts +4 -0
- package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -0
- package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -0
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -0
- package/lib/mol-repr/structure/visual/nucleotide-atomic-bond.d.ts +2 -0
- package/lib/mol-repr/structure/visual/nucleotide-atomic-element.d.ts +2 -0
- package/lib/mol-repr/structure/visual/nucleotide-atomic-ring-fill.d.ts +1 -0
- package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -0
- package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -0
- package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -0
- package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -0
- package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -0
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -0
- package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -0
- package/lib/mol-repr/structure/visual/util/nucleotide.d.ts +60 -60
- package/lib/mol-repr/volume/direct-volume.d.ts +48 -45
- package/lib/mol-repr/volume/isosurface.d.ts +95 -90
- package/lib/mol-repr/volume/registry.d.ts +63 -60
- package/lib/mol-repr/volume/segment.d.ts +80 -75
- package/lib/mol-repr/volume/slice.d.ts +45 -45
- package/lib/mol-script/language/symbol-table/core.d.ts +1 -1
- package/lib/mol-state/object.d.ts +4 -4
- package/lib/mol-state/state.d.ts +4 -4
- package/lib/mol-state/transform.d.ts +1 -1
- package/lib/mol-state/transformer.d.ts +1 -1
- package/lib/mol-task/util/scheduler.d.ts +0 -1
- package/lib/mol-theme/color/atom-id.d.ts +2 -2
- package/lib/mol-theme/color/chain-id.d.ts +2 -2
- package/lib/mol-theme/color/element-index.d.ts +2 -2
- package/lib/mol-theme/color/entity-id.d.ts +2 -2
- package/lib/mol-theme/color/entity-source.d.ts +2 -2
- package/lib/mol-theme/color/external-volume.d.ts +2 -2
- package/lib/mol-theme/color/model-index.d.ts +2 -2
- package/lib/mol-theme/color/operator-hkl.d.ts +2 -2
- package/lib/mol-theme/color/operator-name.d.ts +2 -2
- package/lib/mol-theme/color/polymer-id.d.ts +2 -2
- package/lib/mol-theme/color/polymer-index.d.ts +2 -2
- package/lib/mol-theme/color/structure-index.d.ts +2 -2
- package/lib/mol-theme/color/trajectory-index.d.ts +2 -2
- package/lib/mol-theme/color/unit-index.d.ts +2 -2
- package/lib/mol-theme/color/volume-segment.d.ts +2 -2
- package/lib/mol-theme/color.d.ts +16 -16
- package/lib/mol-theme/theme.d.ts +3 -3
- package/lib/mol-util/color/palette.d.ts +4 -3
- package/lib/mol-util/color/scale.d.ts +2 -1
- package/lib/mol-util/data-source.d.ts +0 -1
- package/lib/mol-util/nodejs-shims.d.ts +1 -1
- package/lib/servers/model/config.d.ts +4 -4
- package/lib/servers/model/utils/tar.d.ts +0 -1
- package/lib/servers/volume/common/binary-schema.d.ts +0 -1
- package/lib/servers/volume/common/data-format.d.ts +0 -1
- package/lib/servers/volume/config.d.ts +1 -5
- package/package.json +18 -16
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SbNcbrPartialChargesColorThemeProvider = exports.
|
|
3
|
+
exports.SbNcbrPartialChargesColorThemeProvider = exports.PartialChargesThemeParams = void 0;
|
|
4
|
+
exports.getPartialChargesThemeParams = getPartialChargesThemeParams;
|
|
5
|
+
exports.PartialChargesColorTheme = PartialChargesColorTheme;
|
|
4
6
|
const structure_1 = require("../../../mol-model/structure");
|
|
5
7
|
const color_1 = require("../../../mol-theme/color");
|
|
6
8
|
const color_2 = require("../../../mol-util/color");
|
|
@@ -38,7 +40,6 @@ exports.PartialChargesThemeParams = {
|
|
|
38
40
|
function getPartialChargesThemeParams() {
|
|
39
41
|
return param_definition_1.ParamDefinition.clone(exports.PartialChargesThemeParams);
|
|
40
42
|
}
|
|
41
|
-
exports.getPartialChargesThemeParams = getPartialChargesThemeParams;
|
|
42
43
|
function PartialChargesColorTheme(ctx, props) {
|
|
43
44
|
var _a, _b;
|
|
44
45
|
const model = (_a = ctx.structure) === null || _a === void 0 ? void 0 : _a.models[0];
|
|
@@ -106,7 +107,6 @@ function PartialChargesColorTheme(ctx, props) {
|
|
|
106
107
|
contextHash,
|
|
107
108
|
};
|
|
108
109
|
}
|
|
109
|
-
exports.PartialChargesColorTheme = PartialChargesColorTheme;
|
|
110
110
|
exports.SbNcbrPartialChargesColorThemeProvider = {
|
|
111
111
|
label: 'SB NCBR Partial Charges',
|
|
112
112
|
name: 'sb-ncbr-partial-charges',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SbNcbrPartialChargesLociLabelProvider =
|
|
3
|
+
exports.SbNcbrPartialChargesLociLabelProvider = SbNcbrPartialChargesLociLabelProvider;
|
|
4
4
|
const structure_1 = require("../../../mol-model/structure");
|
|
5
5
|
const property_1 = require("./property");
|
|
6
6
|
function SbNcbrPartialChargesLociLabelProvider(ctx) {
|
|
@@ -35,4 +35,3 @@ function SbNcbrPartialChargesLociLabelProvider(ctx) {
|
|
|
35
35
|
group: (label) => label.toString().replace(/Model [0-9]+/g, 'Models'),
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
-
exports.SbNcbrPartialChargesLociLabelProvider = SbNcbrPartialChargesLociLabelProvider;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SbNcbrPartialChargesPropertyProvider =
|
|
3
|
+
exports.SbNcbrPartialChargesPropertyProvider = void 0;
|
|
4
|
+
exports.hasPartialChargesCategories = hasPartialChargesCategories;
|
|
4
5
|
const param_definition_1 = require("../../../mol-util/param-definition");
|
|
5
6
|
const mmcif_1 = require("../../../mol-model-formats/structure/mmcif");
|
|
6
7
|
const custom_property_1 = require("../../../mol-model/custom-property");
|
|
@@ -139,7 +140,6 @@ function hasPartialChargesCategories(model) {
|
|
|
139
140
|
'sb_ncbr_partial_atomic_charges' in categories &&
|
|
140
141
|
'sb_ncbr_partial_atomic_charges_meta' in categories);
|
|
141
142
|
}
|
|
142
|
-
exports.hasPartialChargesCategories = hasPartialChargesCategories;
|
|
143
143
|
exports.SbNcbrPartialChargesPropertyProvider = custom_model_property_1.CustomModelProperty.createProvider({
|
|
144
144
|
label: 'SB NCBR Partial Charges Property Provider',
|
|
145
145
|
descriptor: (0, custom_property_1.CustomPropertyDescriptor)({
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
|
+
*
|
|
4
|
+
* @author Dušan Veľký <dvelky@mail.muni.cz>
|
|
5
|
+
*/
|
|
6
|
+
import { PluginStateObject } from '../../../mol-plugin-state/objects';
|
|
7
|
+
import { StateAction } from '../../../mol-state';
|
|
8
|
+
import { ParamDefinition as PD } from '../../../mol-util/param-definition';
|
|
9
|
+
export declare const TunnelDownloadServer: {
|
|
10
|
+
channelsdb: PD.Group<PD.Normalize<unknown>>;
|
|
11
|
+
};
|
|
12
|
+
export declare const DownloadTunnels: StateAction<PluginStateObject.Root, void, PD.Normalize<{
|
|
13
|
+
source: PD.NamedParams<PD.Normalize<{
|
|
14
|
+
url: any;
|
|
15
|
+
}>, "url"> | PD.NamedParams<PD.Normalize<{
|
|
16
|
+
provider: any;
|
|
17
|
+
}>, "alphafolddb"> | PD.NamedParams<PD.Normalize<{
|
|
18
|
+
provider: any;
|
|
19
|
+
}>, "pdb">;
|
|
20
|
+
}>>;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
4
|
+
*
|
|
5
|
+
* @author Dušan Veľký <dvelky@mail.muni.cz>
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.DownloadTunnels = exports.TunnelDownloadServer = void 0;
|
|
9
|
+
const objects_1 = require("../../../mol-plugin-state/objects");
|
|
10
|
+
const transforms_1 = require("../../../mol-plugin-state/transforms");
|
|
11
|
+
const mol_state_1 = require("../../../mol-state");
|
|
12
|
+
const mol_task_1 = require("../../../mol-task");
|
|
13
|
+
const param_definition_1 = require("../../../mol-util/param-definition");
|
|
14
|
+
const type_helpers_1 = require("../../../mol-util/type-helpers");
|
|
15
|
+
const props_1 = require("./props");
|
|
16
|
+
const representation_1 = require("./representation");
|
|
17
|
+
exports.TunnelDownloadServer = {
|
|
18
|
+
'channelsdb': param_definition_1.ParamDefinition.EmptyGroup({ label: 'ChannelsDB' })
|
|
19
|
+
};
|
|
20
|
+
exports.DownloadTunnels = mol_state_1.StateAction.build({
|
|
21
|
+
display: { name: 'Download Tunnels', description: 'Load a tunnels from the provided source and create theirs representations' },
|
|
22
|
+
from: objects_1.PluginStateObject.Root,
|
|
23
|
+
params: (_, plugin) => {
|
|
24
|
+
return {
|
|
25
|
+
source: param_definition_1.ParamDefinition.MappedStatic('pdb', {
|
|
26
|
+
'pdb': param_definition_1.ParamDefinition.Group({
|
|
27
|
+
provider: param_definition_1.ParamDefinition.Group({
|
|
28
|
+
id: param_definition_1.ParamDefinition.Text('1tqn', { label: 'PDB Id(s)', description: 'One or more comma/space separated PDB ids.' }),
|
|
29
|
+
server: param_definition_1.ParamDefinition.MappedStatic('channelsdb', exports.TunnelDownloadServer),
|
|
30
|
+
}, { pivot: 'id' }),
|
|
31
|
+
}, { isFlat: true, label: 'PDB' }),
|
|
32
|
+
'alphafolddb': param_definition_1.ParamDefinition.Group({
|
|
33
|
+
provider: param_definition_1.ParamDefinition.Group({
|
|
34
|
+
id: param_definition_1.ParamDefinition.Text('Q8W3K0', { label: 'UniProtKB AC(s)', description: 'One or more comma/space separated ACs.' }),
|
|
35
|
+
server: param_definition_1.ParamDefinition.MappedStatic('channelsdb', exports.TunnelDownloadServer),
|
|
36
|
+
}, { pivot: 'id' })
|
|
37
|
+
}, { isFlat: true, label: 'AlphaFold DB', description: 'Loads the predicted model if available' }),
|
|
38
|
+
'url': param_definition_1.ParamDefinition.Group({
|
|
39
|
+
url: param_definition_1.ParamDefinition.Url(''),
|
|
40
|
+
}, { isFlat: true, label: 'URL' })
|
|
41
|
+
})
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
})(({ params, state }, plugin) => mol_task_1.Task.create('Download Tunnels', async (ctx) => {
|
|
45
|
+
plugin.behaviors.layout.leftPanelTabName.next('data');
|
|
46
|
+
const src = params.source;
|
|
47
|
+
let downloadParams;
|
|
48
|
+
switch (src.name) {
|
|
49
|
+
case 'url':
|
|
50
|
+
downloadParams = [{ url: src.params.url }];
|
|
51
|
+
break;
|
|
52
|
+
case 'pdb':
|
|
53
|
+
downloadParams = src.params.provider.server.name === 'channelsdb'
|
|
54
|
+
? [{ url: `${plugin === null || plugin === void 0 ? void 0 : plugin.config.get(props_1.TunnelsServerConfig.DefaultServerUrl)}/channels/pdb/${src.params.provider.id}` }]
|
|
55
|
+
: (0, type_helpers_1.assertUnreachable)(src);
|
|
56
|
+
break;
|
|
57
|
+
case 'alphafolddb':
|
|
58
|
+
downloadParams = src.params.provider.server.name === 'channelsdb'
|
|
59
|
+
? [{ url: `${plugin === null || plugin === void 0 ? void 0 : plugin.config.get(props_1.TunnelsServerConfig.DefaultServerUrl)}/channels/alphafill/${src.params.provider.id.toLowerCase()}` }]
|
|
60
|
+
: (0, type_helpers_1.assertUnreachable)(src);
|
|
61
|
+
break;
|
|
62
|
+
default: (0, type_helpers_1.assertUnreachable)(src);
|
|
63
|
+
}
|
|
64
|
+
await state.transaction(async () => {
|
|
65
|
+
var _a;
|
|
66
|
+
const update = plugin.build();
|
|
67
|
+
const webgl = (_a = plugin.canvas3dContext) === null || _a === void 0 ? void 0 : _a.webgl;
|
|
68
|
+
for (const download of downloadParams) {
|
|
69
|
+
const response = await (await fetch(download.url.toString())).json();
|
|
70
|
+
const tunnels = [];
|
|
71
|
+
Object.entries(response.Channels).forEach(([key, values]) => {
|
|
72
|
+
if (values.length > 0) {
|
|
73
|
+
values.forEach((item) => {
|
|
74
|
+
tunnels.push({ data: item.Profile, props: { id: item.Id, type: item.Type } });
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
update
|
|
79
|
+
.toRoot()
|
|
80
|
+
.apply(representation_1.TunnelsFromRawData, { data: tunnels })
|
|
81
|
+
.apply(representation_1.SelectTunnel)
|
|
82
|
+
.apply(representation_1.TunnelShapeProvider, {
|
|
83
|
+
webgl,
|
|
84
|
+
})
|
|
85
|
+
.apply(transforms_1.StateTransforms.Representation.ShapeRepresentation3D);
|
|
86
|
+
await update.commit();
|
|
87
|
+
}
|
|
88
|
+
}).runInContext(ctx);
|
|
89
|
+
}));
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
|
+
*
|
|
4
|
+
* @author Dušan Veľký <dvelky@mail.muni.cz>
|
|
5
|
+
*/
|
|
6
|
+
import { Mesh } from '../../../mol-geo/geometry/mesh/mesh';
|
|
7
|
+
import { WebGLContext } from '../../../mol-gl/webgl/context';
|
|
8
|
+
import { Shape } from '../../../mol-model/shape';
|
|
9
|
+
import { Color } from '../../../mol-util/color';
|
|
10
|
+
import { Tunnel } from './data-model';
|
|
11
|
+
export declare function createSpheresShape(options: {
|
|
12
|
+
tunnel: Tunnel;
|
|
13
|
+
color: Color;
|
|
14
|
+
resolution: number;
|
|
15
|
+
sampleRate: number;
|
|
16
|
+
showRadii: boolean;
|
|
17
|
+
prev?: Shape<Mesh>;
|
|
18
|
+
}): Promise<Shape<Mesh>>;
|
|
19
|
+
export declare function createTunnelShape(options: {
|
|
20
|
+
tunnel: Tunnel;
|
|
21
|
+
color: Color;
|
|
22
|
+
resolution: number;
|
|
23
|
+
sampleRate: number;
|
|
24
|
+
webgl: WebGLContext | undefined;
|
|
25
|
+
prev?: Shape<Mesh>;
|
|
26
|
+
}): Promise<Shape<Mesh>>;
|
|
@@ -0,0 +1,473 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
4
|
+
*
|
|
5
|
+
* @author Dušan Veľký <dvelky@mail.muni.cz>
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.createSpheresShape = createSpheresShape;
|
|
9
|
+
exports.createTunnelShape = createTunnelShape;
|
|
10
|
+
const int_1 = require("../../../mol-data/int");
|
|
11
|
+
const sphere_1 = require("../../../mol-geo/geometry/mesh/builder/sphere");
|
|
12
|
+
const mesh_1 = require("../../../mol-geo/geometry/mesh/mesh");
|
|
13
|
+
const mesh_builder_1 = require("../../../mol-geo/geometry/mesh/mesh-builder");
|
|
14
|
+
const algorithm_1 = require("../../../mol-geo/util/marching-cubes/algorithm");
|
|
15
|
+
const geometry_1 = require("../../../mol-math/geometry");
|
|
16
|
+
const boundary_1 = require("../../../mol-math/geometry/boundary");
|
|
17
|
+
const molecular_surface_1 = require("../../../mol-math/geometry/molecular-surface");
|
|
18
|
+
const interpolate_1 = require("../../../mol-math/interpolate");
|
|
19
|
+
const linear_algebra_1 = require("../../../mol-math/linear-algebra");
|
|
20
|
+
const shape_1 = require("../../../mol-model/shape");
|
|
21
|
+
const common_1 = require("../../../mol-repr/structure/visual/util/common");
|
|
22
|
+
const mol_task_1 = require("../../../mol-task");
|
|
23
|
+
const mol_util_1 = require("../../../mol-util");
|
|
24
|
+
const color_1 = require("../../../mol-util/color");
|
|
25
|
+
async function createSpheresShape(options) {
|
|
26
|
+
var _a;
|
|
27
|
+
const builder = mesh_builder_1.MeshBuilder.createState(512, 512, (_a = options.prev) === null || _a === void 0 ? void 0 : _a.geometry);
|
|
28
|
+
const tunnel = options.tunnel;
|
|
29
|
+
const processedData = interpolateTunnel(tunnel.data, options.sampleRate);
|
|
30
|
+
if (options.showRadii) {
|
|
31
|
+
for (let i = 0; i < processedData.length; i += 1) {
|
|
32
|
+
const p = processedData[i];
|
|
33
|
+
builder.currentGroup = i;
|
|
34
|
+
const center = [p.X, p.Y, p.Z];
|
|
35
|
+
(0, sphere_1.addSphere)(builder, center, p.Radius, options.resolution);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
for (let i = 0; i < processedData.length; i += 1) {
|
|
40
|
+
const p = processedData[i];
|
|
41
|
+
builder.currentGroup = 0;
|
|
42
|
+
const center = [p.X, p.Y, p.Z];
|
|
43
|
+
(0, sphere_1.addSphere)(builder, center, p.Radius, options.resolution);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const mesh = mesh_builder_1.MeshBuilder.getMesh(builder);
|
|
47
|
+
const name = tunnel.props.highlight_label ?
|
|
48
|
+
tunnel.props.highlight_label :
|
|
49
|
+
tunnel.props.type && tunnel.props.id ?
|
|
50
|
+
`${tunnel.props.type} ${tunnel.props.id}` :
|
|
51
|
+
'Tunnel';
|
|
52
|
+
if (options.showRadii)
|
|
53
|
+
return shape_1.Shape.create(name, tunnel.props, mesh, () => (0, color_1.Color)(options.color), () => 1, (i) => `[${processedData[i].X.toFixed(3)}, ${processedData[i].Y.toFixed(3)}, ${processedData[i].Z.toFixed(3)}] - radius: ${processedData[i].Radius.toFixed(3)}`);
|
|
54
|
+
return shape_1.Shape.create(name, tunnel.props, mesh, () => (0, color_1.Color)(options.color), () => 1, () => name);
|
|
55
|
+
}
|
|
56
|
+
async function createTunnelShape(options) {
|
|
57
|
+
var _a;
|
|
58
|
+
const tunnel = options.tunnel;
|
|
59
|
+
const mesh = await createTunnelMesh(tunnel.data, {
|
|
60
|
+
detail: options.resolution,
|
|
61
|
+
sampleRate: options.sampleRate,
|
|
62
|
+
webgl: options.webgl,
|
|
63
|
+
prev: (_a = options.prev) === null || _a === void 0 ? void 0 : _a.geometry
|
|
64
|
+
});
|
|
65
|
+
const name = tunnel.props.highlight_label ?
|
|
66
|
+
tunnel.props.highlight_label :
|
|
67
|
+
tunnel.props.type && tunnel.props.id ?
|
|
68
|
+
`${tunnel.props.type} ${tunnel.props.id}` :
|
|
69
|
+
'Tunnel';
|
|
70
|
+
return shape_1.Shape.create(name, tunnel.props, mesh, () => (0, color_1.Color)(options.color), () => 1, () => name);
|
|
71
|
+
}
|
|
72
|
+
function profileToVec3(profile) {
|
|
73
|
+
return linear_algebra_1.Vec3.create(profile.X, profile.Y, profile.Z);
|
|
74
|
+
}
|
|
75
|
+
// Centripetal Catmull–Rom spline interpolation
|
|
76
|
+
function interpolateTunnel(profile, sampleRate) {
|
|
77
|
+
const interpolatedProfiles = [];
|
|
78
|
+
if (profile.length < 4)
|
|
79
|
+
return profile; // Ensuring there are enough points to interpolate
|
|
80
|
+
interpolatedProfiles.push(profile[0]);
|
|
81
|
+
let lastPoint = profileToVec3(profile[0]);
|
|
82
|
+
let currentDistance = 0;
|
|
83
|
+
const pointInterval = 1 / sampleRate;
|
|
84
|
+
for (let i = 1; i < profile.length - 2; i++) {
|
|
85
|
+
const P0 = profile[i - 1];
|
|
86
|
+
const P1 = profile[i];
|
|
87
|
+
const P2 = profile[i + 1];
|
|
88
|
+
const P3 = profile[i + 2];
|
|
89
|
+
for (let t = 0; t <= 1; t += 0.05) {
|
|
90
|
+
const interpolatedX = (0, interpolate_1.spline)(P0.X, P1.X, P2.X, P3.X, t, 0.5);
|
|
91
|
+
const interpolatedY = (0, interpolate_1.spline)(P0.Y, P1.Y, P2.Y, P3.Y, t, 0.5);
|
|
92
|
+
const interpolatedZ = (0, interpolate_1.spline)(P0.Z, P1.Z, P2.Z, P3.Z, t, 0.5);
|
|
93
|
+
const interpolatedPoint = linear_algebra_1.Vec3.create(interpolatedX, interpolatedY, interpolatedZ);
|
|
94
|
+
const distanceToAdd = linear_algebra_1.Vec3.distance(lastPoint, interpolatedPoint);
|
|
95
|
+
currentDistance += distanceToAdd;
|
|
96
|
+
if (currentDistance >= pointInterval) {
|
|
97
|
+
interpolatedProfiles.push({
|
|
98
|
+
X: interpolatedX,
|
|
99
|
+
Y: interpolatedY,
|
|
100
|
+
Z: interpolatedZ,
|
|
101
|
+
Radius: (0, interpolate_1.spline)(P0.Radius, P1.Radius, P2.Radius, P3.Radius, t, 0.5),
|
|
102
|
+
Charge: (0, interpolate_1.lerp)(P1.Charge, P2.Charge, t),
|
|
103
|
+
FreeRadius: (0, interpolate_1.spline)(P0.FreeRadius, P1.FreeRadius, P2.FreeRadius, P3.FreeRadius, t, 0.5),
|
|
104
|
+
T: (0, interpolate_1.lerp)(P1.T, P2.T, t),
|
|
105
|
+
Distance: (0, interpolate_1.lerp)(P1.Distance, P2.Distance, t)
|
|
106
|
+
});
|
|
107
|
+
lastPoint = interpolatedPoint;
|
|
108
|
+
currentDistance -= pointInterval;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Ensuring the last profile point is included
|
|
113
|
+
interpolatedProfiles.push(profile[profile.length - 1]);
|
|
114
|
+
return interpolatedProfiles;
|
|
115
|
+
}
|
|
116
|
+
function convertToPositionData(profile, probeRadius) {
|
|
117
|
+
let position = {};
|
|
118
|
+
const x = [];
|
|
119
|
+
const y = [];
|
|
120
|
+
const z = [];
|
|
121
|
+
const indices = [];
|
|
122
|
+
const radius = [];
|
|
123
|
+
let maxRadius = Number.MIN_SAFE_INTEGER;
|
|
124
|
+
let sphereCounter = 0;
|
|
125
|
+
for (const sphere of profile) {
|
|
126
|
+
x.push(sphere.X);
|
|
127
|
+
y.push(sphere.Y);
|
|
128
|
+
z.push(sphere.Z);
|
|
129
|
+
indices.push(sphereCounter);
|
|
130
|
+
radius.push(sphere.Radius + probeRadius);
|
|
131
|
+
if (sphere.Radius > maxRadius)
|
|
132
|
+
maxRadius = sphere.Radius;
|
|
133
|
+
sphereCounter++;
|
|
134
|
+
}
|
|
135
|
+
position = { x, y, z, indices: int_1.OrderedSet.ofSortedArray(indices), radius, id: indices };
|
|
136
|
+
return position;
|
|
137
|
+
}
|
|
138
|
+
async function createTunnelMesh(data, options) {
|
|
139
|
+
const props = {
|
|
140
|
+
...molecular_surface_1.DefaultMolecularSurfaceCalculationProps,
|
|
141
|
+
};
|
|
142
|
+
const preprocessedData = interpolateTunnel(data, options.sampleRate);
|
|
143
|
+
const positions = convertToPositionData(preprocessedData, props.probeRadius);
|
|
144
|
+
const bounds = (0, boundary_1.getBoundary)(positions);
|
|
145
|
+
let maxR = 0;
|
|
146
|
+
for (let i = 0; i < positions.radius.length; ++i) {
|
|
147
|
+
const r = positions.radius[i];
|
|
148
|
+
if (maxR < r)
|
|
149
|
+
maxR = r;
|
|
150
|
+
}
|
|
151
|
+
const p = (0, common_1.ensureReasonableResolution)(bounds.box, props);
|
|
152
|
+
const { field, transform, /* resolution,*/ maxRadius, /* idField */ } = await computeTunnelSurface({
|
|
153
|
+
positions,
|
|
154
|
+
boundary: bounds,
|
|
155
|
+
maxRadius: maxR,
|
|
156
|
+
box: bounds.box,
|
|
157
|
+
props: p
|
|
158
|
+
}).run();
|
|
159
|
+
const params = {
|
|
160
|
+
isoLevel: p.probeRadius,
|
|
161
|
+
scalarField: field,
|
|
162
|
+
};
|
|
163
|
+
const surface = await (0, algorithm_1.computeMarchingCubesMesh)(params, options.prev).run();
|
|
164
|
+
const iterations = Math.ceil(2 / 1);
|
|
165
|
+
mesh_1.Mesh.smoothEdges(surface, { iterations, maxNewEdgeLength: Math.sqrt(2) });
|
|
166
|
+
mesh_1.Mesh.transform(surface, transform);
|
|
167
|
+
if (options.webgl && !options.webgl.isWebGL2) {
|
|
168
|
+
mesh_1.Mesh.uniformTriangleGroup(surface);
|
|
169
|
+
mol_util_1.ValueCell.updateIfChanged(surface.varyingGroup, false);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
mol_util_1.ValueCell.updateIfChanged(surface.varyingGroup, true);
|
|
173
|
+
}
|
|
174
|
+
const sphere = geometry_1.Sphere3D.expand((0, geometry_1.Sphere3D)(), bounds.sphere, maxRadius);
|
|
175
|
+
surface.setBoundingSphere(sphere);
|
|
176
|
+
surface.meta.resolution = options.detail;
|
|
177
|
+
return surface;
|
|
178
|
+
}
|
|
179
|
+
function normalToLine(out, p) {
|
|
180
|
+
out[0] = out[1] = out[2] = 1.0;
|
|
181
|
+
if (p[0] !== 0) {
|
|
182
|
+
out[0] = (p[1] + p[2]) / -p[0];
|
|
183
|
+
}
|
|
184
|
+
else if (p[1] !== 0) {
|
|
185
|
+
out[1] = (p[0] + p[2]) / -p[1];
|
|
186
|
+
}
|
|
187
|
+
else if (p[2] !== 0) {
|
|
188
|
+
out[2] = (p[0] + p[1]) / -p[2];
|
|
189
|
+
}
|
|
190
|
+
return out;
|
|
191
|
+
}
|
|
192
|
+
function computeTunnelSurface(surfaceData) {
|
|
193
|
+
return mol_task_1.Task.create('Tunnel Surface', async (ctx) => {
|
|
194
|
+
return await calcTunnelSurface(ctx, surfaceData);
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
function getAngleTables(probePositions) {
|
|
198
|
+
let theta = 0.0;
|
|
199
|
+
const step = 2 * Math.PI / probePositions;
|
|
200
|
+
const cosTable = new Float32Array(probePositions);
|
|
201
|
+
const sinTable = new Float32Array(probePositions);
|
|
202
|
+
for (let i = 0; i < probePositions; i++) {
|
|
203
|
+
cosTable[i] = Math.cos(theta);
|
|
204
|
+
sinTable[i] = Math.sin(theta);
|
|
205
|
+
theta += step;
|
|
206
|
+
}
|
|
207
|
+
return { cosTable, sinTable };
|
|
208
|
+
}
|
|
209
|
+
// From '../../../\mol-math\geometry\molecular-surface.ts'
|
|
210
|
+
async function calcTunnelSurface(ctx, surfaceData) {
|
|
211
|
+
// Field generation method adapted from AstexViewer (Mike Hartshorn) by Fred Ludlow.
|
|
212
|
+
// Other parts based heavily on NGL (Alexander Rose) EDT Surface class
|
|
213
|
+
let lastClip = -1;
|
|
214
|
+
/**
|
|
215
|
+
* Is the point at x,y,z obscured by any of the atoms specifeid by indices in neighbours.
|
|
216
|
+
* Ignore indices a and b (these are the relevant atoms in projectPoints/Torii)
|
|
217
|
+
*
|
|
218
|
+
* Cache the last clipped atom (as very often the same one in subsequent calls)
|
|
219
|
+
*
|
|
220
|
+
* `a` and `b` must be resolved indices
|
|
221
|
+
*/
|
|
222
|
+
function obscured(x, y, z, a, b) {
|
|
223
|
+
if (lastClip !== -1) {
|
|
224
|
+
const ai = lastClip;
|
|
225
|
+
if (ai !== a && ai !== b && singleAtomObscures(ai, x, y, z)) {
|
|
226
|
+
return ai;
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
lastClip = -1;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
for (let j = 0, jl = neighbours.count; j < jl; ++j) {
|
|
233
|
+
const ai = int_1.OrderedSet.getAt(indices, neighbours.indices[j]);
|
|
234
|
+
if (ai !== a && ai !== b && singleAtomObscures(ai, x, y, z)) {
|
|
235
|
+
lastClip = ai;
|
|
236
|
+
return ai;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return -1;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* `ai` must be a resolved index
|
|
243
|
+
*/
|
|
244
|
+
function singleAtomObscures(ai, x, y, z) {
|
|
245
|
+
const r = radius[ai];
|
|
246
|
+
const dx = px[ai] - x;
|
|
247
|
+
const dy = py[ai] - y;
|
|
248
|
+
const dz = pz[ai] - z;
|
|
249
|
+
const dSq = dx * dx + dy * dy + dz * dz;
|
|
250
|
+
return dSq < (r * r);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* For each atom:
|
|
254
|
+
* Iterate over a subsection of the grid, for each point:
|
|
255
|
+
* If current value < 0.0, unvisited, set positive
|
|
256
|
+
*
|
|
257
|
+
* In any case: Project this point onto surface of the atomic sphere
|
|
258
|
+
* If this projected point is not obscured by any other atom
|
|
259
|
+
* Calculate delta distance and set grid value to minimum of
|
|
260
|
+
* itself and delta
|
|
261
|
+
*/
|
|
262
|
+
function projectPointsRange(begI, endI) {
|
|
263
|
+
for (let i = begI; i < endI; ++i) {
|
|
264
|
+
const j = int_1.OrderedSet.getAt(indices, i);
|
|
265
|
+
const vx = px[j], vy = py[j], vz = pz[j];
|
|
266
|
+
const rad = radius[j];
|
|
267
|
+
const rSq = rad * rad;
|
|
268
|
+
lookup3d.find(vx, vy, vz, rad);
|
|
269
|
+
// Number of grid points, round this up...
|
|
270
|
+
const ng = Math.ceil(rad * scaleFactor);
|
|
271
|
+
// Center of the atom, mapped to grid points (take floor)
|
|
272
|
+
const iax = Math.floor(scaleFactor * (vx - minX));
|
|
273
|
+
const iay = Math.floor(scaleFactor * (vy - minY));
|
|
274
|
+
const iaz = Math.floor(scaleFactor * (vz - minZ));
|
|
275
|
+
// Extents of grid to consider for this atom
|
|
276
|
+
const begX = Math.max(0, iax - ng);
|
|
277
|
+
const begY = Math.max(0, iay - ng);
|
|
278
|
+
const begZ = Math.max(0, iaz - ng);
|
|
279
|
+
// Add two to these points:
|
|
280
|
+
// - iax are floor'd values so this ensures coverage
|
|
281
|
+
// - these are loop limits (exclusive)
|
|
282
|
+
const endX = Math.min(dimX, iax + ng + 2);
|
|
283
|
+
const endY = Math.min(dimY, iay + ng + 2);
|
|
284
|
+
const endZ = Math.min(dimZ, iaz + ng + 2);
|
|
285
|
+
for (let xi = begX; xi < endX; ++xi) {
|
|
286
|
+
const dx = gridx[xi] - vx;
|
|
287
|
+
const xIdx = xi * iuv;
|
|
288
|
+
for (let yi = begY; yi < endY; ++yi) {
|
|
289
|
+
const dy = gridy[yi] - vy;
|
|
290
|
+
const dxySq = dx * dx + dy * dy;
|
|
291
|
+
const xyIdx = yi * iu + xIdx;
|
|
292
|
+
for (let zi = begZ; zi < endZ; ++zi) {
|
|
293
|
+
const dz = gridz[zi] - vz;
|
|
294
|
+
const dSq = dxySq + dz * dz;
|
|
295
|
+
if (dSq < rSq) {
|
|
296
|
+
const idx = zi + xyIdx;
|
|
297
|
+
// if unvisited, make positive
|
|
298
|
+
if (data[idx] < 0.0)
|
|
299
|
+
data[idx] *= -1;
|
|
300
|
+
// Project on to the surface of the sphere
|
|
301
|
+
// sp is the projected point ( dx, dy, dz ) * ( ra / d )
|
|
302
|
+
const d = Math.sqrt(dSq);
|
|
303
|
+
const ap = rad / d;
|
|
304
|
+
const spx = dx * ap + vx;
|
|
305
|
+
const spy = dy * ap + vy;
|
|
306
|
+
const spz = dz * ap + vz;
|
|
307
|
+
if (obscured(spx, spy, spz, j, -1) === -1) {
|
|
308
|
+
const dd = rad - d;
|
|
309
|
+
if (dd < data[idx]) {
|
|
310
|
+
data[idx] = dd;
|
|
311
|
+
idData[idx] = id[i];
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
async function projectPoints() {
|
|
321
|
+
for (let i = 0; i < n; i += updateChunk) {
|
|
322
|
+
projectPointsRange(i, Math.min(i + updateChunk, n));
|
|
323
|
+
if (ctx.shouldUpdate) {
|
|
324
|
+
await ctx.update({ message: 'projecting points', current: i, max: n });
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
// Vectors for Torus Projection
|
|
329
|
+
const atob = (0, linear_algebra_1.Vec3)();
|
|
330
|
+
const mid = (0, linear_algebra_1.Vec3)();
|
|
331
|
+
const n1 = (0, linear_algebra_1.Vec3)();
|
|
332
|
+
const n2 = (0, linear_algebra_1.Vec3)();
|
|
333
|
+
/**
|
|
334
|
+
* `a` and `b` must be resolved indices
|
|
335
|
+
*/
|
|
336
|
+
function projectTorus(a, b) {
|
|
337
|
+
const rA = radius[a];
|
|
338
|
+
const rB = radius[b];
|
|
339
|
+
const dx = atob[0] = px[b] - px[a];
|
|
340
|
+
const dy = atob[1] = py[b] - py[a];
|
|
341
|
+
const dz = atob[2] = pz[b] - pz[a];
|
|
342
|
+
const dSq = dx * dx + dy * dy + dz * dz;
|
|
343
|
+
// This check now redundant as already done in AVHash.withinRadii
|
|
344
|
+
// if (dSq > ((rA + rB) * (rA + rB))) { return }
|
|
345
|
+
const d = Math.sqrt(dSq);
|
|
346
|
+
// Find angle between a->b vector and the circle
|
|
347
|
+
// of their intersection by cosine rule
|
|
348
|
+
const cosA = (rA * rA + d * d - rB * rB) / (2.0 * rA * d);
|
|
349
|
+
// distance along a->b at intersection
|
|
350
|
+
const dmp = rA * cosA;
|
|
351
|
+
linear_algebra_1.Vec3.normalize(atob, atob);
|
|
352
|
+
// Create normal to line
|
|
353
|
+
normalToLine(n1, atob);
|
|
354
|
+
linear_algebra_1.Vec3.normalize(n1, n1);
|
|
355
|
+
// Cross together for second normal vector
|
|
356
|
+
linear_algebra_1.Vec3.cross(n2, atob, n1);
|
|
357
|
+
linear_algebra_1.Vec3.normalize(n2, n2);
|
|
358
|
+
// r is radius of circle of intersection
|
|
359
|
+
const rInt = Math.sqrt(rA * rA - dmp * dmp);
|
|
360
|
+
linear_algebra_1.Vec3.scale(n1, n1, rInt);
|
|
361
|
+
linear_algebra_1.Vec3.scale(n2, n2, rInt);
|
|
362
|
+
linear_algebra_1.Vec3.scale(atob, atob, dmp);
|
|
363
|
+
mid[0] = atob[0] + px[a];
|
|
364
|
+
mid[1] = atob[1] + py[a];
|
|
365
|
+
mid[2] = atob[2] + pz[a];
|
|
366
|
+
lastClip = -1;
|
|
367
|
+
for (let i = 0; i < probePositions; ++i) {
|
|
368
|
+
const cost = cosTable[i];
|
|
369
|
+
const sint = sinTable[i];
|
|
370
|
+
const px = mid[0] + cost * n1[0] + sint * n2[0];
|
|
371
|
+
const py = mid[1] + cost * n1[1] + sint * n2[1];
|
|
372
|
+
const pz = mid[2] + cost * n1[2] + sint * n2[2];
|
|
373
|
+
if (obscured(px, py, pz, a, b) === -1) {
|
|
374
|
+
const iax = Math.floor(scaleFactor * (px - minX));
|
|
375
|
+
const iay = Math.floor(scaleFactor * (py - minY));
|
|
376
|
+
const iaz = Math.floor(scaleFactor * (pz - minZ));
|
|
377
|
+
const begX = Math.max(0, iax - ngTorus);
|
|
378
|
+
const begY = Math.max(0, iay - ngTorus);
|
|
379
|
+
const begZ = Math.max(0, iaz - ngTorus);
|
|
380
|
+
const endX = Math.min(dimX, iax + ngTorus + 2);
|
|
381
|
+
const endY = Math.min(dimY, iay + ngTorus + 2);
|
|
382
|
+
const endZ = Math.min(dimZ, iaz + ngTorus + 2);
|
|
383
|
+
for (let xi = begX; xi < endX; ++xi) {
|
|
384
|
+
const dx = px - gridx[xi];
|
|
385
|
+
const xIdx = xi * iuv;
|
|
386
|
+
for (let yi = begY; yi < endY; ++yi) {
|
|
387
|
+
const dy = py - gridy[yi];
|
|
388
|
+
const dxySq = dx * dx + dy * dy;
|
|
389
|
+
const xyIdx = yi * iu + xIdx;
|
|
390
|
+
for (let zi = begZ; zi < endZ; ++zi) {
|
|
391
|
+
const dz = pz - gridz[zi];
|
|
392
|
+
const dSq = dxySq + dz * dz;
|
|
393
|
+
const idx = zi + xyIdx;
|
|
394
|
+
const current = data[idx];
|
|
395
|
+
if (current > 0.0 && dSq < (current * current)) {
|
|
396
|
+
data[idx] = Math.sqrt(dSq);
|
|
397
|
+
// Is this grid point closer to a or b?
|
|
398
|
+
// Take dot product of atob and gridpoint->p (dx, dy, dz)
|
|
399
|
+
const dp = dx * atob[0] + dy * atob[1] + dz * atob[2];
|
|
400
|
+
idData[idx] = id[int_1.OrderedSet.indexOf(indices, dp < 0.0 ? b : a)];
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
function projectToriiRange(begI, endI) {
|
|
409
|
+
for (let i = begI; i < endI; ++i) {
|
|
410
|
+
const k = int_1.OrderedSet.getAt(indices, i);
|
|
411
|
+
lookup3d.find(px[k], py[k], pz[k], radius[k]);
|
|
412
|
+
for (let j = 0, jl = neighbours.count; j < jl; ++j) {
|
|
413
|
+
const l = int_1.OrderedSet.getAt(indices, neighbours.indices[j]);
|
|
414
|
+
if (k < l)
|
|
415
|
+
projectTorus(k, l);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
async function projectTorii() {
|
|
420
|
+
for (let i = 0; i < n; i += updateChunk) {
|
|
421
|
+
projectToriiRange(i, Math.min(i + updateChunk, n));
|
|
422
|
+
if (ctx.shouldUpdate) {
|
|
423
|
+
await ctx.update({ message: 'projecting torii', current: i, max: n });
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
// console.time('MolecularSurface')
|
|
428
|
+
// console.time('MolecularSurface createState')
|
|
429
|
+
const { resolution, probeRadius, probePositions } = surfaceData.props;
|
|
430
|
+
const scaleFactor = 1 / resolution;
|
|
431
|
+
const ngTorus = Math.max(5, 2 + Math.floor(probeRadius * scaleFactor));
|
|
432
|
+
const cellSize = linear_algebra_1.Vec3.create(surfaceData.maxRadius, surfaceData.maxRadius, surfaceData.maxRadius);
|
|
433
|
+
linear_algebra_1.Vec3.scale(cellSize, cellSize, 2);
|
|
434
|
+
const lookup3d = (0, geometry_1.GridLookup3D)(surfaceData.positions, surfaceData.boundary, cellSize);
|
|
435
|
+
const neighbours = lookup3d.result;
|
|
436
|
+
if (surfaceData.box === null)
|
|
437
|
+
surfaceData.box = lookup3d.boundary.box;
|
|
438
|
+
const { indices, x: px, y: py, z: pz, id, radius } = surfaceData.positions;
|
|
439
|
+
const n = int_1.OrderedSet.size(indices);
|
|
440
|
+
const pad = surfaceData.maxRadius + resolution;
|
|
441
|
+
const expandedBox = geometry_1.Box3D.expand((0, geometry_1.Box3D)(), surfaceData.box, linear_algebra_1.Vec3.create(pad, pad, pad));
|
|
442
|
+
const [minX, minY, minZ] = expandedBox.min;
|
|
443
|
+
const scaledBox = geometry_1.Box3D.scale((0, geometry_1.Box3D)(), expandedBox, scaleFactor);
|
|
444
|
+
const dim = geometry_1.Box3D.size((0, linear_algebra_1.Vec3)(), scaledBox);
|
|
445
|
+
linear_algebra_1.Vec3.ceil(dim, dim);
|
|
446
|
+
const [dimX, dimY, dimZ] = dim;
|
|
447
|
+
const iu = dimZ, iv = dimY, iuv = iu * iv;
|
|
448
|
+
const { cosTable, sinTable } = getAngleTables(probePositions);
|
|
449
|
+
const space = linear_algebra_1.Tensor.Space(dim, [0, 1, 2], Float32Array);
|
|
450
|
+
const data = space.create();
|
|
451
|
+
const idData = space.create();
|
|
452
|
+
data.fill(-1001.0);
|
|
453
|
+
idData.fill(-1);
|
|
454
|
+
const gridx = (0, geometry_1.fillGridDim)(dimX, minX, resolution);
|
|
455
|
+
const gridy = (0, geometry_1.fillGridDim)(dimY, minY, resolution);
|
|
456
|
+
const gridz = (0, geometry_1.fillGridDim)(dimZ, minZ, resolution);
|
|
457
|
+
const updateChunk = Math.ceil(100000 / ((Math.pow(Math.pow(surfaceData.maxRadius, 3), 3) * scaleFactor)));
|
|
458
|
+
// console.timeEnd('MolecularSurface createState')
|
|
459
|
+
// console.time('MolecularSurface projectPoints')
|
|
460
|
+
await projectPoints();
|
|
461
|
+
// console.timeEnd('MolecularSurface projectPoints')
|
|
462
|
+
// console.time('MolecularSurface projectTorii')
|
|
463
|
+
await projectTorii();
|
|
464
|
+
// console.timeEnd('MolecularSurface projectTorii')
|
|
465
|
+
// console.timeEnd('MolecularSurface')
|
|
466
|
+
const field = linear_algebra_1.Tensor.create(space, data);
|
|
467
|
+
const idField = linear_algebra_1.Tensor.create(space, idData);
|
|
468
|
+
const transform = linear_algebra_1.Mat4.identity();
|
|
469
|
+
linear_algebra_1.Mat4.fromScaling(transform, linear_algebra_1.Vec3.create(resolution, resolution, resolution));
|
|
470
|
+
linear_algebra_1.Mat4.setTranslation(transform, expandedBox.min);
|
|
471
|
+
// console.log({ field, idField, transform, updateChunk })
|
|
472
|
+
return { field, idField, transform, resolution, maxRadius: surfaceData.maxRadius };
|
|
473
|
+
}
|