molstar 3.0.0-dev.4 → 3.0.0-dev.8
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/LICENSE +20 -20
- package/README.md +187 -187
- package/build/viewer/embedded.html +43 -43
- package/build/viewer/index.html +106 -95
- package/build/viewer/molstar.js +1 -1
- package/lib/apps/docking-viewer/index.d.ts +2 -1
- package/lib/apps/docking-viewer/index.html +36 -36
- package/lib/apps/docking-viewer/index.js +87 -74
- package/lib/apps/viewer/embedded.html +43 -43
- package/lib/apps/viewer/index.d.ts +37 -215
- package/lib/apps/viewer/index.html +106 -95
- package/lib/apps/viewer/index.js +141 -52
- package/lib/cli/cifschema/index.d.ts +1 -1
- package/lib/cli/cifschema/index.js +15 -35
- package/lib/commonjs/apps/docking-viewer/index.d.ts +2 -1
- package/lib/commonjs/apps/docking-viewer/index.js +86 -73
- package/lib/commonjs/apps/viewer/index.d.ts +37 -215
- package/lib/commonjs/apps/viewer/index.js +141 -52
- package/lib/commonjs/cli/cifschema/index.d.ts +1 -1
- package/lib/commonjs/cli/cifschema/index.js +15 -35
- package/lib/commonjs/examples/alpha-orbitals/index.js +3 -4
- package/lib/commonjs/examples/basic-wrapper/index.js +23 -11
- package/lib/commonjs/examples/lighting/index.d.ts +1 -1
- package/lib/commonjs/examples/lighting/index.js +57 -41
- package/lib/commonjs/examples/proteopedia-wrapper/index.js +26 -14
- package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +0 -1
- package/lib/commonjs/extensions/alpha-orbitals/transforms.js +1 -14
- package/lib/commonjs/extensions/anvil/behavior.d.ts +4 -0
- package/lib/commonjs/extensions/anvil/representation.d.ts +50 -0
- package/lib/commonjs/extensions/cellpack/representation.d.ts +10 -0
- package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
- package/lib/commonjs/extensions/geo-export/mesh-exporter.js +4 -4
- package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.js +236 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +125 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +111 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
- package/lib/commonjs/extensions/model-archive/quality-assessment/prop.js +130 -0
- package/lib/commonjs/extensions/mp4-export/controls.d.ts +1 -0
- package/lib/commonjs/extensions/mp4-export/controls.js +9 -7
- package/lib/commonjs/extensions/pdbe/structure-quality-report/prop.js +1 -1
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/prop.js +1 -1
- package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
- package/lib/commonjs/extensions/rcsb/validation-report/prop.js +1 -1
- package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +50 -0
- package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +3 -9
- package/lib/commonjs/mol-canvas3d/canvas3d.js +38 -26
- package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +4 -0
- package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +4 -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/draw.d.ts +13 -1
- package/lib/commonjs/mol-canvas3d/passes/draw.js +16 -15
- package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -0
- package/lib/commonjs/mol-canvas3d/passes/image.js +3 -2
- package/lib/commonjs/mol-canvas3d/passes/marking.js +1 -1
- package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +10 -2
- package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +18 -14
- package/lib/commonjs/mol-canvas3d/passes/pick.js +12 -12
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +3 -3
- package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
- package/lib/commonjs/mol-geo/geometry/base.d.ts +18 -0
- package/lib/commonjs/mol-geo/geometry/base.js +18 -1
- package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
- package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
- package/lib/commonjs/mol-geo/geometry/color-data.d.ts +1 -1
- package/lib/commonjs/mol-geo/geometry/color-data.js +22 -0
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +12 -2
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +2 -2
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +21 -66
- package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
- package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
- package/lib/commonjs/mol-geo/geometry/image/image.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/image/image.js +1 -1
- package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +11 -0
- package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
- package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
- package/lib/commonjs/mol-geo/geometry/marker-data.js +13 -9
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +2 -2
- package/lib/commonjs/mol-geo/geometry/points/points.d.ts +11 -1
- package/lib/commonjs/mol-geo/geometry/points/points.js +1 -1
- package/lib/commonjs/mol-geo/geometry/size-data.js +5 -5
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +2 -2
- package/lib/commonjs/mol-geo/geometry/text/text.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/text/text.js +1 -1
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
- package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +2 -2
- package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
- package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -9
- package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
- package/lib/commonjs/mol-gl/render-object.js +10 -10
- package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +11 -5
- package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
- package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +15 -14
- package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
- package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
- package/lib/commonjs/mol-gl/renderable/image.js +2 -2
- package/lib/commonjs/mol-gl/renderable/lines.d.ts +39 -33
- package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
- package/lib/commonjs/mol-gl/renderable/mesh.d.ts +11 -5
- package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
- package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
- package/lib/commonjs/mol-gl/renderable/points.js +2 -2
- package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
- package/lib/commonjs/mol-gl/renderable/schema.js +4 -10
- package/lib/commonjs/mol-gl/renderable/spheres.d.ts +11 -5
- package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
- package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
- package/lib/commonjs/mol-gl/renderable/text.js +2 -2
- package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +11 -6
- package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
- package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
- package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
- package/lib/commonjs/mol-gl/renderer.js +23 -92
- package/lib/commonjs/mol-gl/scene.d.ts +2 -2
- package/lib/commonjs/mol-gl/scene.js +7 -5
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
- 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 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
- package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.vert.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/mesh.vert.js +1 -1
- package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
- package/lib/commonjs/mol-gl/shader-code.d.ts +3 -1
- package/lib/commonjs/mol-gl/shader-code.js +43 -14
- package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
- package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
- package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
- package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
- package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +326 -1
- package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +2 -2
- package/lib/commonjs/mol-math/geometry/symmetry-operator.js +3 -2
- package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
- package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
- package/lib/commonjs/mol-model/structure/model/model.d.ts +1 -0
- package/lib/commonjs/mol-model/structure/model/model.js +8 -2
- package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
- package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.js +4 -1
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
- package/lib/commonjs/mol-model/structure/model/types.js +9 -0
- package/lib/commonjs/mol-model/structure/structure/unit/rings.js +2 -0
- package/lib/commonjs/mol-model-formats/shape/ply.d.ts +20 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +30 -0
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +4 -6
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
- package/lib/commonjs/mol-plugin/commands.d.ts +1 -4
- package/lib/commonjs/mol-plugin/config.d.ts +1 -1
- package/lib/commonjs/mol-plugin/config.js +5 -25
- package/lib/commonjs/mol-plugin/features.d.ts +9 -0
- package/lib/commonjs/mol-plugin/features.js +38 -0
- package/lib/commonjs/mol-plugin/spec.js +1 -0
- package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +12 -0
- package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +7 -1
- package/lib/commonjs/mol-plugin-state/actions/structure.js +150 -72
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +13 -8
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
- package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +4 -4
- package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
- package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +33 -19
- package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +13 -1
- package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
- package/lib/commonjs/mol-plugin-state/manager/structure/selection.js +3 -1
- package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +32 -0
- package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
- package/lib/commonjs/mol-plugin-ui/index.d.ts +4 -4
- package/lib/commonjs/mol-plugin-ui/index.js +13 -16
- package/lib/commonjs/mol-plugin-ui/plugin.js +1 -1
- package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +2 -6
- package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/common.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/label.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +10 -0
- package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/complex-representation.js +1 -1
- package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +61 -19
- package/lib/commonjs/mol-repr/structure/params.d.ts +81 -19
- package/lib/commonjs/mol-repr/structure/registry.d.ts +141 -19
- package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +1 -1
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +2 -7
- package/lib/commonjs/mol-repr/structure/representation/label.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/label.js +1 -1
- package/lib/commonjs/mol-repr/structure/representation/line.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +1 -1
- package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/point.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +30 -0
- package/lib/commonjs/mol-repr/structure/units-representation.js +1 -1
- package/lib/commonjs/mol-repr/structure/units-visual.d.ts +81 -19
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
- package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
- 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 +10 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/label-text.js +1 -2
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
- package/lib/commonjs/mol-repr/structure/visual/util/bond.js +1 -1
- package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +3 -2
- package/lib/commonjs/mol-repr/structure/visual/util/common.js +2 -5
- package/lib/commonjs/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
- package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +12 -12
- package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
- package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +4 -4
- package/lib/commonjs/mol-repr/visual.js +11 -7
- package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -57
- package/lib/commonjs/mol-repr/volume/direct-volume.js +8 -12
- package/lib/commonjs/mol-repr/volume/isosurface.d.ts +60 -0
- package/lib/commonjs/mol-repr/volume/isosurface.js +11 -2
- package/lib/commonjs/mol-repr/volume/registry.d.ts +31 -19
- package/lib/commonjs/mol-repr/volume/representation.d.ts +10 -0
- package/lib/commonjs/mol-repr/volume/slice.d.ts +30 -0
- package/lib/commonjs/mol-repr/volume/slice.js +2 -2
- package/lib/commonjs/mol-repr/volume/util.js +2 -2
- package/lib/commonjs/mol-script/language/builder.d.ts +0 -1
- package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
- package/lib/commonjs/mol-theme/clipping.js +5 -12
- package/lib/commonjs/mol-theme/color/volume-value.d.ts +17 -0
- package/lib/commonjs/mol-theme/color/volume-value.js +57 -0
- package/lib/commonjs/mol-theme/color.d.ts +3 -0
- package/lib/commonjs/mol-theme/color.js +2 -0
- package/lib/commonjs/mol-util/clip.d.ts +49 -0
- package/lib/commonjs/mol-util/clip.js +97 -0
- package/lib/commonjs/mol-util/number-packing.d.ts +11 -0
- package/lib/commonjs/mol-util/{float-packing.js → number-packing.js} +10 -19
- package/lib/examples/alpha-orbitals/index.html +61 -60
- package/lib/examples/alpha-orbitals/index.js +4 -5
- package/lib/examples/basic-wrapper/index.html +137 -136
- package/lib/examples/basic-wrapper/index.js +24 -12
- package/lib/examples/lighting/index.d.ts +1 -1
- package/lib/examples/lighting/index.html +88 -86
- package/lib/examples/lighting/index.js +58 -42
- package/lib/examples/proteopedia-wrapper/index.html +236 -235
- package/lib/examples/proteopedia-wrapper/index.js +27 -15
- package/lib/extensions/alpha-orbitals/transforms.d.ts +0 -1
- package/lib/extensions/alpha-orbitals/transforms.js +1 -14
- package/lib/extensions/anvil/behavior.d.ts +4 -0
- package/lib/extensions/anvil/representation.d.ts +50 -0
- package/lib/extensions/cellpack/representation.d.ts +10 -0
- package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
- package/lib/extensions/geo-export/mesh-exporter.js +4 -4
- package/lib/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
- package/lib/extensions/model-archive/quality-assessment/behavior.js +233 -0
- package/lib/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
- package/lib/extensions/model-archive/quality-assessment/color/plddt.js +120 -0
- package/lib/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
- package/lib/extensions/model-archive/quality-assessment/color/qmean.js +106 -0
- package/lib/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
- package/lib/extensions/model-archive/quality-assessment/prop.js +127 -0
- package/lib/extensions/mp4-export/controls.d.ts +1 -0
- package/lib/extensions/mp4-export/controls.js +9 -7
- package/lib/extensions/pdbe/structure-quality-report/prop.js +1 -1
- package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
- package/lib/extensions/rcsb/assembly-symmetry/prop.js +1 -1
- package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
- package/lib/extensions/rcsb/validation-report/prop.js +1 -1
- package/lib/extensions/rcsb/validation-report/representation.d.ts +50 -0
- package/lib/mol-canvas3d/canvas3d.d.ts +3 -9
- package/lib/mol-canvas3d/canvas3d.js +38 -26
- package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
- package/lib/mol-canvas3d/helper/camera-helper.d.ts +4 -0
- package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
- package/lib/mol-canvas3d/helper/handle-helper.d.ts +4 -0
- package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
- package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
- package/lib/mol-canvas3d/passes/draw.d.ts +13 -1
- package/lib/mol-canvas3d/passes/draw.js +16 -15
- package/lib/mol-canvas3d/passes/image.d.ts +1 -0
- package/lib/mol-canvas3d/passes/image.js +3 -2
- package/lib/mol-canvas3d/passes/marking.js +1 -1
- package/lib/mol-canvas3d/passes/multi-sample.d.ts +10 -2
- package/lib/mol-canvas3d/passes/multi-sample.js +18 -14
- package/lib/mol-canvas3d/passes/pick.js +11 -11
- package/lib/mol-canvas3d/passes/postprocessing.js +3 -3
- package/lib/mol-canvas3d/passes/smaa.js +1 -1
- package/lib/mol-geo/geometry/base.d.ts +18 -0
- package/lib/mol-geo/geometry/base.js +18 -1
- package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
- package/lib/mol-geo/geometry/clipping-data.js +3 -8
- package/lib/mol-geo/geometry/color-data.d.ts +1 -1
- package/lib/mol-geo/geometry/color-data.js +22 -0
- package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +12 -2
- package/lib/mol-geo/geometry/cylinders/cylinders.js +2 -2
- package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
- package/lib/mol-geo/geometry/direct-volume/direct-volume.js +22 -67
- package/lib/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
- package/lib/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
- package/lib/mol-geo/geometry/image/image.d.ts +10 -0
- package/lib/mol-geo/geometry/image/image.js +1 -1
- package/lib/mol-geo/geometry/lines/lines.d.ts +11 -0
- package/lib/mol-geo/geometry/lines/lines.js +1 -1
- package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
- package/lib/mol-geo/geometry/marker-data.js +13 -9
- package/lib/mol-geo/geometry/mesh/mesh.d.ts +10 -0
- package/lib/mol-geo/geometry/mesh/mesh.js +2 -2
- package/lib/mol-geo/geometry/points/points.d.ts +11 -1
- package/lib/mol-geo/geometry/points/points.js +1 -1
- package/lib/mol-geo/geometry/size-data.js +5 -5
- package/lib/mol-geo/geometry/spheres/spheres.d.ts +10 -0
- package/lib/mol-geo/geometry/spheres/spheres.js +2 -2
- package/lib/mol-geo/geometry/text/text.d.ts +10 -0
- package/lib/mol-geo/geometry/text/text.js +1 -1
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
- package/lib/mol-gl/compute/histogram-pyramid/sum.js +2 -2
- package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
- package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -9
- package/lib/mol-gl/render-object.d.ts +2 -1
- package/lib/mol-gl/render-object.js +10 -10
- package/lib/mol-gl/renderable/cylinders.d.ts +11 -5
- package/lib/mol-gl/renderable/cylinders.js +3 -3
- package/lib/mol-gl/renderable/direct-volume.d.ts +15 -14
- package/lib/mol-gl/renderable/direct-volume.js +3 -3
- package/lib/mol-gl/renderable/image.d.ts +10 -4
- package/lib/mol-gl/renderable/image.js +2 -2
- package/lib/mol-gl/renderable/lines.d.ts +39 -33
- package/lib/mol-gl/renderable/lines.js +4 -4
- package/lib/mol-gl/renderable/mesh.d.ts +11 -5
- package/lib/mol-gl/renderable/mesh.js +3 -3
- package/lib/mol-gl/renderable/points.d.ts +10 -4
- package/lib/mol-gl/renderable/points.js +2 -2
- package/lib/mol-gl/renderable/schema.d.ts +10 -11
- package/lib/mol-gl/renderable/schema.js +4 -10
- package/lib/mol-gl/renderable/spheres.d.ts +11 -5
- package/lib/mol-gl/renderable/spheres.js +3 -3
- package/lib/mol-gl/renderable/text.d.ts +10 -4
- package/lib/mol-gl/renderable/text.js +2 -2
- package/lib/mol-gl/renderable/texture-mesh.d.ts +11 -6
- package/lib/mol-gl/renderable/texture-mesh.js +3 -3
- package/lib/mol-gl/renderable.d.ts +0 -1
- package/lib/mol-gl/renderer.d.ts +12 -12
- package/lib/mol-gl/renderer.js +24 -93
- package/lib/mol-gl/scene.d.ts +2 -2
- package/lib/mol-gl/scene.js +7 -5
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
- 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 -1
- package/lib/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
- package/lib/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
- package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
- package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
- package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
- package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
- package/lib/mol-gl/shader/cylinders.frag.js +1 -1
- package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
- package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
- package/lib/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
- package/lib/mol-gl/shader/gaussian-density.frag.js +1 -1
- package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
- package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
- package/lib/mol-gl/shader/image.frag.d.ts +1 -1
- package/lib/mol-gl/shader/image.frag.js +1 -1
- package/lib/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
- package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
- package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
- package/lib/mol-gl/shader/mesh.frag.js +1 -1
- package/lib/mol-gl/shader/mesh.vert.d.ts +1 -1
- package/lib/mol-gl/shader/mesh.vert.js +1 -1
- package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
- package/lib/mol-gl/shader/spheres.frag.js +1 -1
- package/lib/mol-gl/shader-code.d.ts +3 -1
- package/lib/mol-gl/shader-code.js +43 -14
- package/lib/mol-gl/webgl/render-item.d.ts +7 -6
- package/lib/mol-gl/webgl/render-item.js +8 -6
- package/lib/mol-gl/webgl/resources.js +8 -1
- package/lib/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
- package/lib/mol-io/reader/cif/schema/mmcif.js +326 -1
- package/lib/mol-math/geometry/gaussian-density/gpu.js +2 -2
- package/lib/mol-math/geometry/symmetry-operator.js +3 -2
- package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
- package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
- package/lib/mol-model/structure/model/model.d.ts +1 -0
- package/lib/mol-model/structure/model/model.js +8 -2
- package/lib/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
- package/lib/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
- package/lib/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
- package/lib/mol-model/structure/model/properties/utils/atomic-derived.js +5 -2
- package/lib/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
- package/lib/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
- package/lib/mol-model/structure/model/types.js +9 -0
- package/lib/mol-model/structure/structure/unit/rings.js +2 -0
- package/lib/mol-model-formats/shape/ply.d.ts +20 -0
- package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
- package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
- package/lib/mol-model-props/computed/representations/interactions.d.ts +30 -0
- package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
- package/lib/mol-plugin/behavior/dynamic/representation.js +4 -6
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
- package/lib/mol-plugin/commands.d.ts +1 -4
- package/lib/mol-plugin/config.d.ts +1 -1
- package/lib/mol-plugin/config.js +4 -23
- package/lib/mol-plugin/features.d.ts +9 -0
- package/lib/mol-plugin/features.js +35 -0
- package/lib/mol-plugin/spec.js +1 -0
- package/lib/mol-plugin/util/viewport-screenshot.d.ts +12 -0
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/actions/structure.d.ts +7 -1
- package/lib/mol-plugin-state/actions/structure.js +150 -72
- package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
- package/lib/mol-plugin-state/builder/structure/hierarchy-preset.js +14 -9
- package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
- package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +4 -4
- package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
- package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
- package/lib/mol-plugin-state/helpers/structure-selection-query.js +34 -20
- package/lib/mol-plugin-state/manager/structure/component.d.ts +13 -1
- package/lib/mol-plugin-state/manager/structure/component.js +14 -9
- package/lib/mol-plugin-state/manager/structure/selection.js +3 -1
- package/lib/mol-plugin-state/transforms/representation.d.ts +32 -0
- package/lib/mol-plugin-state/transforms/representation.js +2 -2
- package/lib/mol-plugin-ui/index.d.ts +4 -4
- package/lib/mol-plugin-ui/index.js +11 -13
- package/lib/mol-plugin-ui/plugin.js +1 -1
- package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
- package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
- package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
- package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
- package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
- package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
- package/lib/mol-plugin-ui/skin/base/components/misc.scss +643 -643
- package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
- package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
- package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
- package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
- package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
- package/lib/mol-plugin-ui/skin/base/components/viewport.scss +127 -127
- package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
- package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
- package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
- package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
- package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
- package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
- package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
- package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
- package/lib/mol-plugin-ui/skin/base/variables.scss +85 -85
- package/lib/mol-plugin-ui/skin/blue.scss +1 -1
- package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
- package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
- package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
- package/lib/mol-plugin-ui/skin/dark.scss +1 -1
- package/lib/mol-plugin-ui/skin/light.scss +1 -1
- package/lib/mol-plugin-ui/viewport/simple-settings.js +2 -6
- package/lib/mol-repr/shape/loci/angle.d.ts +10 -0
- package/lib/mol-repr/shape/loci/common.d.ts +10 -0
- package/lib/mol-repr/shape/loci/dihedral.d.ts +10 -0
- package/lib/mol-repr/shape/loci/distance.d.ts +10 -0
- package/lib/mol-repr/shape/loci/label.d.ts +10 -0
- package/lib/mol-repr/shape/loci/orientation.d.ts +10 -0
- package/lib/mol-repr/shape/loci/plane.d.ts +10 -0
- package/lib/mol-repr/shape/model/unitcell.d.ts +10 -0
- package/lib/mol-repr/structure/complex-representation.js +1 -1
- package/lib/mol-repr/structure/complex-visual.d.ts +61 -19
- package/lib/mol-repr/structure/params.d.ts +81 -19
- package/lib/mol-repr/structure/registry.d.ts +141 -19
- package/lib/mol-repr/structure/representation/backbone.d.ts +30 -0
- package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
- package/lib/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
- package/lib/mol-repr/structure/representation/cartoon.d.ts +30 -0
- package/lib/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
- package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
- package/lib/mol-repr/structure/representation/gaussian-surface.js +1 -1
- package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
- package/lib/mol-repr/structure/representation/gaussian-volume.js +2 -7
- package/lib/mol-repr/structure/representation/label.d.ts +30 -0
- package/lib/mol-repr/structure/representation/label.js +1 -1
- package/lib/mol-repr/structure/representation/line.d.ts +30 -0
- package/lib/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
- package/lib/mol-repr/structure/representation/molecular-surface.js +1 -1
- package/lib/mol-repr/structure/representation/orientation.d.ts +30 -0
- package/lib/mol-repr/structure/representation/point.d.ts +30 -0
- package/lib/mol-repr/structure/representation/putty.d.ts +30 -0
- package/lib/mol-repr/structure/representation/spacefill.d.ts +30 -0
- package/lib/mol-repr/structure/units-representation.js +1 -1
- package/lib/mol-repr/structure/units-visual.d.ts +81 -19
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
- package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
- package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
- package/lib/mol-repr/structure/visual/element-cross.d.ts +10 -0
- package/lib/mol-repr/structure/visual/element-point.d.ts +10 -0
- package/lib/mol-repr/structure/visual/element-sphere.d.ts +20 -0
- package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
- package/lib/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
- package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
- package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
- package/lib/mol-repr/structure/visual/label-text.d.ts +10 -0
- package/lib/mol-repr/structure/visual/label-text.js +1 -2
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
- package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
- package/lib/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
- package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
- package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
- package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
- package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
- package/lib/mol-repr/structure/visual/util/bond.js +1 -1
- package/lib/mol-repr/structure/visual/util/common.d.ts +3 -2
- package/lib/mol-repr/structure/visual/util/common.js +2 -5
- package/lib/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
- package/lib/mol-repr/structure/visual/util/gaussian.js +12 -12
- package/lib/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
- package/lib/mol-repr/structure/visual/util/molecular-surface.js +4 -4
- package/lib/mol-repr/visual.js +11 -7
- package/lib/mol-repr/volume/direct-volume.d.ts +33 -57
- package/lib/mol-repr/volume/direct-volume.js +8 -12
- package/lib/mol-repr/volume/isosurface.d.ts +60 -0
- package/lib/mol-repr/volume/isosurface.js +11 -2
- package/lib/mol-repr/volume/registry.d.ts +31 -19
- package/lib/mol-repr/volume/representation.d.ts +10 -0
- package/lib/mol-repr/volume/slice.d.ts +30 -0
- package/lib/mol-repr/volume/slice.js +2 -2
- package/lib/mol-repr/volume/util.js +2 -2
- package/lib/mol-script/language/builder.d.ts +0 -1
- package/lib/mol-theme/clipping.d.ts +7 -15
- package/lib/mol-theme/clipping.js +5 -12
- package/lib/mol-theme/color/volume-value.d.ts +17 -0
- package/lib/mol-theme/color/volume-value.js +52 -0
- package/lib/mol-theme/color.d.ts +3 -0
- package/lib/mol-theme/color.js +2 -0
- package/lib/mol-util/clip.d.ts +49 -0
- package/lib/mol-util/clip.js +93 -0
- package/lib/mol-util/number-packing.d.ts +11 -0
- package/lib/mol-util/{float-packing.js → number-packing.js} +7 -14
- package/package.json +162 -162
- package/lib/commonjs/mol-util/float-packing.d.ts +0 -15
- package/lib/mol-util/float-packing.d.ts +0 -15
|
@@ -38,6 +38,7 @@ var helper_1 = require("./helper/helper");
|
|
|
38
38
|
var passes_1 = require("./passes/passes");
|
|
39
39
|
var mol_util_1 = require("../mol-util");
|
|
40
40
|
var marking_1 = require("./passes/marking");
|
|
41
|
+
var render_item_1 = require("../mol-gl/webgl/render-item");
|
|
41
42
|
exports.Canvas3DParams = {
|
|
42
43
|
camera: param_definition_1.ParamDefinition.Group({
|
|
43
44
|
mode: param_definition_1.ParamDefinition.Select('perspective', param_definition_1.ParamDefinition.arrayToOptions(['perspective', 'orthographic']), { label: 'Camera' }),
|
|
@@ -202,7 +203,7 @@ var Canvas3D;
|
|
|
202
203
|
var width = 128;
|
|
203
204
|
var height = 128;
|
|
204
205
|
updateViewport();
|
|
205
|
-
var scene = scene_1.Scene.create(webgl);
|
|
206
|
+
var scene = scene_1.Scene.create(webgl, passes.draw.wboitEnabled ? render_item_1.GraphicsRenderVariantsWboit : render_item_1.GraphicsRenderVariantsBlended);
|
|
206
207
|
var camera = new camera_1.Camera({
|
|
207
208
|
position: linear_algebra_1.Vec3.create(0, 0, 100),
|
|
208
209
|
mode: p.camera.mode,
|
|
@@ -254,16 +255,24 @@ var Canvas3D;
|
|
|
254
255
|
changed = helper.camera.mark(loci, action) || changed;
|
|
255
256
|
reprRenderObjects.forEach(function (_, _repr) { changed = _repr.mark(loci, action) || changed; });
|
|
256
257
|
}
|
|
257
|
-
if (changed
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
258
|
+
if (changed) {
|
|
259
|
+
if (noDraw) {
|
|
260
|
+
// Even with `noDraw` make sure changes will be rendered.
|
|
261
|
+
// Note that with this calling mark (with or without `noDraw`) multiple times
|
|
262
|
+
// during a JS event loop iteration will only result in a single render call.
|
|
263
|
+
forceNextRender = true;
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
scene.update(void 0, true);
|
|
267
|
+
helper.handle.scene.update(void 0, true);
|
|
268
|
+
helper.camera.scene.update(void 0, true);
|
|
269
|
+
var prevPickDirty = pickHelper.dirty;
|
|
270
|
+
draw({ force: true, allowMulti: true });
|
|
271
|
+
pickHelper.dirty = prevPickDirty; // marking does not change picking buffers
|
|
272
|
+
}
|
|
264
273
|
}
|
|
265
274
|
}
|
|
266
|
-
function render(force) {
|
|
275
|
+
function render(force, allowMulti) {
|
|
267
276
|
if (webgl.isContextLost)
|
|
268
277
|
return false;
|
|
269
278
|
var resized = false;
|
|
@@ -287,11 +296,13 @@ var Canvas3D;
|
|
|
287
296
|
stereoCamera.update();
|
|
288
297
|
cam = stereoCamera;
|
|
289
298
|
}
|
|
299
|
+
var ctx = { renderer: renderer, camera: cam, scene: scene, helper: helper };
|
|
290
300
|
if (multi_sample_1.MultiSamplePass.isEnabled(p.multiSample)) {
|
|
291
|
-
|
|
301
|
+
var forceOn = !cameraChanged && allowMulti && !controls.props.spin;
|
|
302
|
+
multiSampleHelper.render(ctx, p, true, forceOn);
|
|
292
303
|
}
|
|
293
304
|
else {
|
|
294
|
-
passes.draw.render(
|
|
305
|
+
passes.draw.render(ctx, p, true);
|
|
295
306
|
}
|
|
296
307
|
pickHelper.dirty = true;
|
|
297
308
|
didRender = true;
|
|
@@ -302,15 +313,15 @@ var Canvas3D;
|
|
|
302
313
|
var forceDrawAfterAllCommited = false;
|
|
303
314
|
var currentTime = 0;
|
|
304
315
|
var drawPaused = false;
|
|
305
|
-
function draw(
|
|
316
|
+
function draw(options) {
|
|
306
317
|
if (drawPaused)
|
|
307
318
|
return;
|
|
308
|
-
if (render(!!force) && notifyDidDraw) {
|
|
319
|
+
if (render(!!(options === null || options === void 0 ? void 0 : options.force), !!(options === null || options === void 0 ? void 0 : options.allowMulti)) && notifyDidDraw) {
|
|
309
320
|
didDraw.next((0, now_1.now)() - startTime);
|
|
310
321
|
}
|
|
311
322
|
}
|
|
312
|
-
function requestDraw(
|
|
313
|
-
forceNextRender =
|
|
323
|
+
function requestDraw() {
|
|
324
|
+
forceNextRender = true;
|
|
314
325
|
}
|
|
315
326
|
var animationFrameHandle = 0;
|
|
316
327
|
function tick(t, options) {
|
|
@@ -320,8 +331,8 @@ var Canvas3D;
|
|
|
320
331
|
if (options === null || options === void 0 ? void 0 : options.manualDraw) {
|
|
321
332
|
return;
|
|
322
333
|
}
|
|
323
|
-
draw(
|
|
324
|
-
if (!camera.transition.inTransition && !webgl.isContextLost) {
|
|
334
|
+
draw();
|
|
335
|
+
if (!camera.transition.inTransition && !controls.props.spin && !webgl.isContextLost) {
|
|
325
336
|
interactionHelper.tick(currentTime);
|
|
326
337
|
}
|
|
327
338
|
}
|
|
@@ -358,7 +369,7 @@ var Canvas3D;
|
|
|
358
369
|
if (forceDrawAfterAllCommited) {
|
|
359
370
|
if (helper.debug.isEnabled)
|
|
360
371
|
helper.debug.update();
|
|
361
|
-
draw(true);
|
|
372
|
+
draw({ force: true });
|
|
362
373
|
forceDrawAfterAllCommited = false;
|
|
363
374
|
}
|
|
364
375
|
commited.next((0, now_1.now)());
|
|
@@ -393,7 +404,7 @@ var Canvas3D;
|
|
|
393
404
|
return true;
|
|
394
405
|
if (camera.transition.inTransition || nextCameraResetSnapshot)
|
|
395
406
|
return false;
|
|
396
|
-
var cameraSphereOverlapsNone = true;
|
|
407
|
+
var cameraSphereOverlapsNone = true, isEmpty = true;
|
|
397
408
|
geometry_1.Sphere3D.set(cameraSphere, camera.state.target, camera.state.radius);
|
|
398
409
|
// check if any renderable has moved outside of the old bounding sphere
|
|
399
410
|
// and if no renderable is overlapping with the camera sphere
|
|
@@ -404,13 +415,14 @@ var Canvas3D;
|
|
|
404
415
|
var b = r.values.boundingSphere.ref.value;
|
|
405
416
|
if (!b.radius)
|
|
406
417
|
continue;
|
|
418
|
+
isEmpty = false;
|
|
407
419
|
var cameraDist = linear_algebra_1.Vec3.distance(cameraSphere.center, b.center);
|
|
408
420
|
if ((cameraDist > cameraSphere.radius || cameraDist > b.radius || b.radius > camera.state.radiusMax) && !geometry_1.Sphere3D.includes(oldBoundingSphereVisible, b))
|
|
409
421
|
return true;
|
|
410
422
|
if (geometry_1.Sphere3D.overlaps(cameraSphere, b))
|
|
411
423
|
cameraSphereOverlapsNone = false;
|
|
412
424
|
}
|
|
413
|
-
return cameraSphereOverlapsNone;
|
|
425
|
+
return cameraSphereOverlapsNone || (!isEmpty && cameraSphere.radius <= 0.1);
|
|
414
426
|
}
|
|
415
427
|
var sceneCommitTimeoutMs = 250;
|
|
416
428
|
function commitScene(isSynchronous) {
|
|
@@ -526,11 +538,11 @@ var Canvas3D;
|
|
|
526
538
|
}
|
|
527
539
|
var contextRestoredSub = contextRestored.subscribe(function () {
|
|
528
540
|
pickHelper.dirty = true;
|
|
529
|
-
draw(true);
|
|
541
|
+
draw({ force: true });
|
|
530
542
|
// Unclear why, but in Chrome with wboit enabled the first `draw` only clears
|
|
531
543
|
// the drawingBuffer. Note that in Firefox the drawingBuffer is preserved after
|
|
532
544
|
// context loss so it is unclear if it behaves the same.
|
|
533
|
-
draw(true);
|
|
545
|
+
draw({ force: true });
|
|
534
546
|
});
|
|
535
547
|
var resized = new rxjs_1.BehaviorSubject(0);
|
|
536
548
|
function handleResize(draw) {
|
|
@@ -539,7 +551,7 @@ var Canvas3D;
|
|
|
539
551
|
updateViewport();
|
|
540
552
|
syncViewport();
|
|
541
553
|
if (draw)
|
|
542
|
-
requestDraw(
|
|
554
|
+
requestDraw();
|
|
543
555
|
resized.next(+new Date());
|
|
544
556
|
}
|
|
545
557
|
return {
|
|
@@ -564,7 +576,7 @@ var Canvas3D;
|
|
|
564
576
|
reprRenderObjects.clear();
|
|
565
577
|
scene.clear();
|
|
566
578
|
helper.debug.clear();
|
|
567
|
-
requestDraw(
|
|
579
|
+
requestDraw();
|
|
568
580
|
reprCount.next(reprRenderObjects.size);
|
|
569
581
|
},
|
|
570
582
|
syncVisibility: function () {
|
|
@@ -576,7 +588,7 @@ var Canvas3D;
|
|
|
576
588
|
if (helper.debug.isEnabled)
|
|
577
589
|
helper.debug.update();
|
|
578
590
|
}
|
|
579
|
-
requestDraw(
|
|
591
|
+
requestDraw();
|
|
580
592
|
},
|
|
581
593
|
requestDraw: requestDraw,
|
|
582
594
|
tick: tick,
|
|
@@ -673,7 +685,7 @@ var Canvas3D;
|
|
|
673
685
|
p.camera.stereo.name = 'off';
|
|
674
686
|
}
|
|
675
687
|
if (!doNotRequestDraw) {
|
|
676
|
-
requestDraw(
|
|
688
|
+
requestDraw();
|
|
677
689
|
}
|
|
678
690
|
},
|
|
679
691
|
getImagePass: function (props) {
|
|
@@ -18,6 +18,7 @@ var names_1 = require("../../mol-util/color/names");
|
|
|
18
18
|
var sphere_2 = require("../../mol-geo/primitive/sphere");
|
|
19
19
|
var mol_util_1 = require("../../mol-util");
|
|
20
20
|
var geometry_2 = require("../../mol-geo/geometry/geometry");
|
|
21
|
+
var render_item_1 = require("../../mol-gl/webgl/render-item");
|
|
21
22
|
exports.DebugHelperParams = {
|
|
22
23
|
sceneBoundingSpheres: param_definition_1.ParamDefinition.Boolean(false, { description: 'Show full scene bounding spheres.' }),
|
|
23
24
|
visibleSceneBoundingSpheres: param_definition_1.ParamDefinition.Boolean(false, { description: 'Show visible scene bounding spheres.' }),
|
|
@@ -28,7 +29,7 @@ var BoundingSphereHelper = /** @class */ (function () {
|
|
|
28
29
|
function BoundingSphereHelper(ctx, parent, props) {
|
|
29
30
|
this.objectsData = new Map();
|
|
30
31
|
this.instancesData = new Map();
|
|
31
|
-
this.scene = scene_1.Scene.create(ctx);
|
|
32
|
+
this.scene = scene_1.Scene.create(ctx, render_item_1.GraphicsRenderVariantsBlended);
|
|
32
33
|
this.parent = parent;
|
|
33
34
|
this._props = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, param_definition_1.ParamDefinition.getDefaultValues(exports.DebugHelperParams)), props);
|
|
34
35
|
}
|
|
@@ -151,6 +152,6 @@ var objectMaterialId = (0, render_object_1.getNextMaterialId)();
|
|
|
151
152
|
var instanceMaterialId = (0, render_object_1.getNextMaterialId)();
|
|
152
153
|
function createBoundingSphereRenderObject(mesh, color, materialId, transform) {
|
|
153
154
|
var values = mesh_1.Mesh.Utils.createValuesSimple(mesh, { alpha: 0.1, doubleSided: false }, color, 1, transform);
|
|
154
|
-
return (0, render_object_1.createRenderObject)('mesh', values, { disposed: false, visible: true, alphaFactor: 1, pickable: false, colorOnly: false, opaque: false, writeDepth: false
|
|
155
|
+
return (0, render_object_1.createRenderObject)('mesh', values, { disposed: false, visible: true, alphaFactor: 1, pickable: false, colorOnly: false, opaque: false, writeDepth: false }, materialId);
|
|
155
156
|
}
|
|
156
157
|
//# sourceMappingURL=bounding-sphere-helper.js.map
|
|
@@ -14,6 +14,7 @@ var sphere_1 = require("../../mol-geo/geometry/mesh/builder/sphere");
|
|
|
14
14
|
var mesh_1 = require("../../mol-geo/geometry/mesh/mesh");
|
|
15
15
|
var mesh_builder_1 = require("../../mol-geo/geometry/mesh/mesh-builder");
|
|
16
16
|
var scene_1 = require("../../mol-gl/scene");
|
|
17
|
+
var render_item_1 = require("../../mol-gl/webgl/render-item");
|
|
17
18
|
var geometry_1 = require("../../mol-math/geometry");
|
|
18
19
|
var linear_algebra_1 = require("../../mol-math/linear-algebra");
|
|
19
20
|
var loci_1 = require("../../mol-model/loci");
|
|
@@ -55,7 +56,7 @@ var CameraHelper = /** @class */ (function () {
|
|
|
55
56
|
}
|
|
56
57
|
return changed;
|
|
57
58
|
};
|
|
58
|
-
this.scene = scene_1.Scene.create(webgl);
|
|
59
|
+
this.scene = scene_1.Scene.create(webgl, render_item_1.GraphicsRenderVariantsBlended);
|
|
59
60
|
this.camera = new camera_1.Camera();
|
|
60
61
|
linear_algebra_1.Vec3.set(this.camera.up, 0, 1, 0);
|
|
61
62
|
linear_algebra_1.Vec3.set(this.camera.target, 0, 0, 0);
|
|
@@ -70,7 +71,6 @@ var CameraHelper = /** @class */ (function () {
|
|
|
70
71
|
_this.scene.clear();
|
|
71
72
|
var params = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, props.axes.params), { scale: props.axes.params.scale * _this.webgl.pixelRatio });
|
|
72
73
|
_this.renderObject = createAxesRenderObject(params);
|
|
73
|
-
_this.renderObject.state.noClip = true;
|
|
74
74
|
_this.scene.add(_this.renderObject);
|
|
75
75
|
_this.scene.commit();
|
|
76
76
|
linear_algebra_1.Vec3.set(_this.camera.position, 0, 0, params.scale * 200);
|
|
@@ -23,6 +23,7 @@ var loci_1 = require("../../mol-model/loci");
|
|
|
23
23
|
var marker_action_1 = require("../../mol-util/marker-action");
|
|
24
24
|
var visual_1 = require("../../mol-repr/visual");
|
|
25
25
|
var int_1 = require("../../mol-data/int");
|
|
26
|
+
var render_item_1 = require("../../mol-gl/webgl/render-item");
|
|
26
27
|
var HandleParams = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, mesh_1.Mesh.Params), { alpha: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, mesh_1.Mesh.Params.alpha), { defaultValue: 1 }), ignoreLight: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, mesh_1.Mesh.Params.ignoreLight), { defaultValue: true }), colorX: param_definition_1.ParamDefinition.Color(names_1.ColorNames.red, { isEssential: true }), colorY: param_definition_1.ParamDefinition.Color(names_1.ColorNames.green, { isEssential: true }), colorZ: param_definition_1.ParamDefinition.Color(names_1.ColorNames.blue, { isEssential: true }), scale: param_definition_1.ParamDefinition.Numeric(0.33, { min: 0.1, max: 2, step: 0.1 }, { isEssential: true }) });
|
|
27
28
|
exports.HandleHelperParams = {
|
|
28
29
|
handle: param_definition_1.ParamDefinition.MappedStatic('off', {
|
|
@@ -55,7 +56,7 @@ var HandleHelper = /** @class */ (function () {
|
|
|
55
56
|
}
|
|
56
57
|
return changed;
|
|
57
58
|
};
|
|
58
|
-
this.scene = scene_1.Scene.create(webgl);
|
|
59
|
+
this.scene = scene_1.Scene.create(webgl, render_item_1.GraphicsRenderVariantsBlended);
|
|
59
60
|
this.setProps(props);
|
|
60
61
|
}
|
|
61
62
|
HandleHelper.prototype.getBoundingSphere = function (out, instanceId) {
|
|
@@ -75,7 +76,6 @@ var HandleHelper = /** @class */ (function () {
|
|
|
75
76
|
_this.scene.clear();
|
|
76
77
|
var params = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, props.handle.params), { scale: props.handle.params.scale * _this.webgl.pixelRatio });
|
|
77
78
|
_this.renderObject = createHandleRenderObject(params);
|
|
78
|
-
_this.renderObject.state.noClip = true;
|
|
79
79
|
_this.scene.add(_this.renderObject);
|
|
80
80
|
_this.scene.commit();
|
|
81
81
|
p.handle.params = (0, tslib_1.__assign)({}, props.handle.params);
|
|
@@ -37,6 +37,7 @@ export declare const HelperParams: {
|
|
|
37
37
|
bumpAmplitude: any;
|
|
38
38
|
quality: any;
|
|
39
39
|
material: any;
|
|
40
|
+
clip: any;
|
|
40
41
|
}>, "on">;
|
|
41
42
|
}>>;
|
|
42
43
|
};
|
|
@@ -68,6 +69,7 @@ export declare const DefaultHelperProps: PD.Values<{
|
|
|
68
69
|
bumpAmplitude: any;
|
|
69
70
|
quality: any;
|
|
70
71
|
material: any;
|
|
72
|
+
clip: any;
|
|
71
73
|
}>, "on">;
|
|
72
74
|
}>>;
|
|
73
75
|
}>;
|
|
@@ -14,6 +14,17 @@ import { Helper } from '../helper/helper';
|
|
|
14
14
|
import { StereoCamera } from '../camera/stereo';
|
|
15
15
|
import { PostprocessingPass, PostprocessingProps } from './postprocessing';
|
|
16
16
|
import { MarkingProps } from './marking';
|
|
17
|
+
declare type Props = {
|
|
18
|
+
postprocessing: PostprocessingProps;
|
|
19
|
+
marking: MarkingProps;
|
|
20
|
+
transparentBackground: boolean;
|
|
21
|
+
};
|
|
22
|
+
declare type RenderContext = {
|
|
23
|
+
renderer: Renderer;
|
|
24
|
+
camera: Camera | StereoCamera;
|
|
25
|
+
scene: Scene;
|
|
26
|
+
helper: Helper;
|
|
27
|
+
};
|
|
17
28
|
export declare class DrawPass {
|
|
18
29
|
private webgl;
|
|
19
30
|
private readonly drawTarget;
|
|
@@ -40,6 +51,7 @@ export declare class DrawPass {
|
|
|
40
51
|
private _renderWboit;
|
|
41
52
|
private _renderBlended;
|
|
42
53
|
private _render;
|
|
43
|
-
render(
|
|
54
|
+
render(ctx: RenderContext, props: Props, toDrawingBuffer: boolean): void;
|
|
44
55
|
getColorTarget(postprocessingProps: PostprocessingProps): RenderTarget;
|
|
45
56
|
}
|
|
57
|
+
export {};
|
|
@@ -197,23 +197,23 @@ var DrawPass = /** @class */ (function () {
|
|
|
197
197
|
}
|
|
198
198
|
renderer.renderBlendedTransparent(scene.primitives, camera, null);
|
|
199
199
|
};
|
|
200
|
-
DrawPass.prototype._render = function (renderer, camera, scene, helper, toDrawingBuffer,
|
|
200
|
+
DrawPass.prototype._render = function (renderer, camera, scene, helper, toDrawingBuffer, props) {
|
|
201
201
|
var volumeRendering = scene.volumes.renderables.length > 0;
|
|
202
|
-
var postprocessingEnabled = postprocessing_1.PostprocessingPass.isEnabled(
|
|
203
|
-
var antialiasingEnabled = postprocessing_1.AntialiasingPass.isEnabled(
|
|
204
|
-
var markingEnabled = marking_1.MarkingPass.isEnabled(
|
|
202
|
+
var postprocessingEnabled = postprocessing_1.PostprocessingPass.isEnabled(props.postprocessing);
|
|
203
|
+
var antialiasingEnabled = postprocessing_1.AntialiasingPass.isEnabled(props.postprocessing);
|
|
204
|
+
var markingEnabled = marking_1.MarkingPass.isEnabled(props.marking);
|
|
205
205
|
var _a = camera.viewport, x = _a.x, y = _a.y, width = _a.width, height = _a.height;
|
|
206
206
|
renderer.setViewport(x, y, width, height);
|
|
207
207
|
renderer.update(camera);
|
|
208
|
-
if (transparentBackground && !antialiasingEnabled && toDrawingBuffer) {
|
|
208
|
+
if (props.transparentBackground && !antialiasingEnabled && toDrawingBuffer) {
|
|
209
209
|
this.drawTarget.bind();
|
|
210
210
|
renderer.clear(false);
|
|
211
211
|
}
|
|
212
212
|
if (this.wboitEnabled) {
|
|
213
|
-
this._renderWboit(renderer, camera, scene, transparentBackground,
|
|
213
|
+
this._renderWboit(renderer, camera, scene, props.transparentBackground, props.postprocessing);
|
|
214
214
|
}
|
|
215
215
|
else {
|
|
216
|
-
this._renderBlended(renderer, camera, scene, !volumeRendering && !postprocessingEnabled && !antialiasingEnabled && toDrawingBuffer, transparentBackground,
|
|
216
|
+
this._renderBlended(renderer, camera, scene, !volumeRendering && !postprocessingEnabled && !antialiasingEnabled && toDrawingBuffer, props.transparentBackground, props.postprocessing);
|
|
217
217
|
}
|
|
218
218
|
if (postprocessingEnabled) {
|
|
219
219
|
this.postprocessing.target.bind();
|
|
@@ -225,7 +225,7 @@ var DrawPass = /** @class */ (function () {
|
|
|
225
225
|
this.drawTarget.bind();
|
|
226
226
|
}
|
|
227
227
|
if (markingEnabled) {
|
|
228
|
-
var markingDepthTest =
|
|
228
|
+
var markingDepthTest = props.marking.ghostEdgeStrength < 1;
|
|
229
229
|
if (markingDepthTest) {
|
|
230
230
|
this.marking.depthTarget.bind();
|
|
231
231
|
renderer.clear(false);
|
|
@@ -234,7 +234,7 @@ var DrawPass = /** @class */ (function () {
|
|
|
234
234
|
this.marking.maskTarget.bind();
|
|
235
235
|
renderer.clear(false);
|
|
236
236
|
renderer.renderMarkingMask(scene.primitives, camera, markingDepthTest ? this.marking.depthTarget.texture : null);
|
|
237
|
-
this.marking.update(
|
|
237
|
+
this.marking.update(props.marking);
|
|
238
238
|
this.marking.render(camera.viewport, postprocessingEnabled ? this.postprocessing.target : this.colorTarget);
|
|
239
239
|
}
|
|
240
240
|
if (helper.debug.isEnabled) {
|
|
@@ -250,7 +250,7 @@ var DrawPass = /** @class */ (function () {
|
|
|
250
250
|
renderer.renderBlended(helper.camera.scene, helper.camera.camera, null);
|
|
251
251
|
}
|
|
252
252
|
if (antialiasingEnabled) {
|
|
253
|
-
this.antialiasing.render(camera, toDrawingBuffer,
|
|
253
|
+
this.antialiasing.render(camera, toDrawingBuffer, props.postprocessing);
|
|
254
254
|
}
|
|
255
255
|
else if (toDrawingBuffer) {
|
|
256
256
|
this.drawTarget.bind();
|
|
@@ -264,16 +264,17 @@ var DrawPass = /** @class */ (function () {
|
|
|
264
264
|
}
|
|
265
265
|
this.webgl.gl.flush();
|
|
266
266
|
};
|
|
267
|
-
DrawPass.prototype.render = function (
|
|
268
|
-
renderer.
|
|
267
|
+
DrawPass.prototype.render = function (ctx, props, toDrawingBuffer) {
|
|
268
|
+
var renderer = ctx.renderer, camera = ctx.camera, scene = ctx.scene, helper = ctx.helper;
|
|
269
|
+
renderer.setTransparentBackground(props.transparentBackground);
|
|
269
270
|
renderer.setDrawingBufferSize(this.colorTarget.getWidth(), this.colorTarget.getHeight());
|
|
270
271
|
renderer.setPixelRatio(this.webgl.pixelRatio);
|
|
271
272
|
if (stereo_1.StereoCamera.is(camera)) {
|
|
272
|
-
this._render(renderer, camera.left, scene, helper, toDrawingBuffer,
|
|
273
|
-
this._render(renderer, camera.right, scene, helper, toDrawingBuffer,
|
|
273
|
+
this._render(renderer, camera.left, scene, helper, toDrawingBuffer, props);
|
|
274
|
+
this._render(renderer, camera.right, scene, helper, toDrawingBuffer, props);
|
|
274
275
|
}
|
|
275
276
|
else {
|
|
276
|
-
this._render(renderer, camera, scene, helper, toDrawingBuffer,
|
|
277
|
+
this._render(renderer, camera, scene, helper, toDrawingBuffer, props);
|
|
277
278
|
}
|
|
278
279
|
};
|
|
279
280
|
DrawPass.prototype.getColorTarget = function (postprocessingProps) {
|
|
@@ -76,12 +76,13 @@ var ImagePass = /** @class */ (function () {
|
|
|
76
76
|
camera_1.Camera.copySnapshot(this._camera.state, this.camera.state);
|
|
77
77
|
util_1.Viewport.set(this._camera.viewport, 0, 0, this._width, this._height);
|
|
78
78
|
this._camera.update();
|
|
79
|
+
var ctx = { renderer: this.renderer, camera: this._camera, scene: this.scene, helper: this.helper };
|
|
79
80
|
if (multi_sample_1.MultiSamplePass.isEnabled(this.props.multiSample)) {
|
|
80
|
-
this.multiSampleHelper.render(
|
|
81
|
+
this.multiSampleHelper.render(ctx, this.props, false);
|
|
81
82
|
this._colorTarget = this.multiSamplePass.colorTarget;
|
|
82
83
|
}
|
|
83
84
|
else {
|
|
84
|
-
this.drawPass.render(
|
|
85
|
+
this.drawPass.render(ctx, this.props, false);
|
|
85
86
|
this._colorTarget = this.drawPass.getColorTarget(this.props.postprocessing);
|
|
86
87
|
}
|
|
87
88
|
};
|
|
@@ -20,7 +20,7 @@ var overlay_frag_1 = require("../../mol-gl/shader/marking/overlay.frag");
|
|
|
20
20
|
var color_1 = require("../../mol-util/color");
|
|
21
21
|
var edge_frag_1 = require("../../mol-gl/shader/marking/edge.frag");
|
|
22
22
|
exports.MarkingParams = {
|
|
23
|
-
enabled: param_definition_1.ParamDefinition.Boolean(
|
|
23
|
+
enabled: param_definition_1.ParamDefinition.Boolean(true),
|
|
24
24
|
highlightEdgeColor: param_definition_1.ParamDefinition.Color(color_1.Color.darken(color_1.Color.fromNormalizedRgb(1.0, 0.4, 0.6), 1.0)),
|
|
25
25
|
selectEdgeColor: param_definition_1.ParamDefinition.Color(color_1.Color.darken(color_1.Color.fromNormalizedRgb(0.2, 1.0, 0.1), 1.0)),
|
|
26
26
|
edgeScale: param_definition_1.ParamDefinition.Numeric(1, { min: 1, max: 3, step: 1 }, { description: 'Thickness of the edge.' }),
|
|
@@ -23,6 +23,13 @@ declare type Props = {
|
|
|
23
23
|
multiSample: MultiSampleProps;
|
|
24
24
|
postprocessing: PostprocessingProps;
|
|
25
25
|
marking: MarkingProps;
|
|
26
|
+
transparentBackground: boolean;
|
|
27
|
+
};
|
|
28
|
+
declare type RenderContext = {
|
|
29
|
+
renderer: Renderer;
|
|
30
|
+
camera: Camera | StereoCamera;
|
|
31
|
+
scene: Scene;
|
|
32
|
+
helper: Helper;
|
|
26
33
|
};
|
|
27
34
|
export declare class MultiSamplePass {
|
|
28
35
|
private webgl;
|
|
@@ -34,7 +41,7 @@ export declare class MultiSamplePass {
|
|
|
34
41
|
private compose;
|
|
35
42
|
constructor(webgl: WebGLContext, drawPass: DrawPass);
|
|
36
43
|
syncSize(): void;
|
|
37
|
-
render(sampleIndex: number,
|
|
44
|
+
render(sampleIndex: number, ctx: RenderContext, props: Props, toDrawingBuffer: boolean, forceOn: boolean): number;
|
|
38
45
|
private bindOutputTarget;
|
|
39
46
|
private renderMultiSample;
|
|
40
47
|
private renderTemporalMultiSample;
|
|
@@ -43,7 +50,8 @@ export declare class MultiSampleHelper {
|
|
|
43
50
|
private multiSamplePass;
|
|
44
51
|
private sampleIndex;
|
|
45
52
|
update(changed: boolean, props: MultiSampleProps): boolean;
|
|
46
|
-
|
|
53
|
+
/** Return `true` while more samples are needed */
|
|
54
|
+
render(ctx: RenderContext, props: Props, toDrawingBuffer: boolean, forceOn?: boolean): boolean;
|
|
47
55
|
constructor(multiSamplePass: MultiSamplePass);
|
|
48
56
|
}
|
|
49
57
|
export {};
|
|
@@ -27,8 +27,8 @@ function getComposeRenderable(ctx, colorTexture) {
|
|
|
27
27
|
return (0, renderable_1.createComputeRenderable)(renderItem, values);
|
|
28
28
|
}
|
|
29
29
|
exports.MultiSampleParams = {
|
|
30
|
-
mode: param_definition_1.ParamDefinition.Select('
|
|
31
|
-
sampleLevel: param_definition_1.ParamDefinition.Numeric(2, { min: 0, max: 5, step: 1 }),
|
|
30
|
+
mode: param_definition_1.ParamDefinition.Select('temporal', [['off', 'Off'], ['on', 'On'], ['temporal', 'Temporal']]),
|
|
31
|
+
sampleLevel: param_definition_1.ParamDefinition.Numeric(2, { min: 0, max: 5, step: 1 }, { description: 'Take level^2 samples.' }),
|
|
32
32
|
};
|
|
33
33
|
var MultiSamplePass = /** @class */ (function () {
|
|
34
34
|
function MultiSamplePass(webgl, drawPass) {
|
|
@@ -58,13 +58,13 @@ var MultiSamplePass = /** @class */ (function () {
|
|
|
58
58
|
mol_util_1.ValueCell.update(this.compose.values.uTexSize, linear_algebra_1.Vec2.set(this.compose.values.uTexSize.ref.value, width, height));
|
|
59
59
|
}
|
|
60
60
|
};
|
|
61
|
-
MultiSamplePass.prototype.render = function (sampleIndex,
|
|
62
|
-
if (props.multiSample.mode === 'temporal') {
|
|
63
|
-
return this.renderTemporalMultiSample(sampleIndex,
|
|
61
|
+
MultiSamplePass.prototype.render = function (sampleIndex, ctx, props, toDrawingBuffer, forceOn) {
|
|
62
|
+
if (props.multiSample.mode === 'temporal' && !forceOn) {
|
|
63
|
+
return this.renderTemporalMultiSample(sampleIndex, ctx, props, toDrawingBuffer);
|
|
64
64
|
}
|
|
65
65
|
else {
|
|
66
|
-
this.renderMultiSample(
|
|
67
|
-
return
|
|
66
|
+
this.renderMultiSample(ctx, toDrawingBuffer, props);
|
|
67
|
+
return -2;
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
70
|
MultiSamplePass.prototype.bindOutputTarget = function (toDrawingBuffer) {
|
|
@@ -75,7 +75,8 @@ var MultiSamplePass = /** @class */ (function () {
|
|
|
75
75
|
this.colorTarget.bind();
|
|
76
76
|
}
|
|
77
77
|
};
|
|
78
|
-
MultiSamplePass.prototype.renderMultiSample = function (
|
|
78
|
+
MultiSamplePass.prototype.renderMultiSample = function (ctx, toDrawingBuffer, props) {
|
|
79
|
+
var camera = ctx.camera;
|
|
79
80
|
var _a = this, compose = _a.compose, composeTarget = _a.composeTarget, drawPass = _a.drawPass, webgl = _a.webgl;
|
|
80
81
|
var gl = webgl.gl, state = webgl.state;
|
|
81
82
|
// based on the Multisample Anti-Aliasing Render Pass
|
|
@@ -103,7 +104,7 @@ var MultiSamplePass = /** @class */ (function () {
|
|
|
103
104
|
var sampleWeight = baseSampleWeight + roundingRange * uniformCenteredDistribution;
|
|
104
105
|
mol_util_1.ValueCell.update(compose.values.uWeight, sampleWeight);
|
|
105
106
|
// render scene
|
|
106
|
-
drawPass.render(
|
|
107
|
+
drawPass.render(ctx, props, false);
|
|
107
108
|
// compose rendered scene with compose target
|
|
108
109
|
composeTarget.bind();
|
|
109
110
|
state.enable(gl.BLEND);
|
|
@@ -130,7 +131,8 @@ var MultiSamplePass = /** @class */ (function () {
|
|
|
130
131
|
camera.viewOffset.enabled = false;
|
|
131
132
|
camera.update();
|
|
132
133
|
};
|
|
133
|
-
MultiSamplePass.prototype.renderTemporalMultiSample = function (sampleIndex,
|
|
134
|
+
MultiSamplePass.prototype.renderTemporalMultiSample = function (sampleIndex, ctx, props, toDrawingBuffer) {
|
|
135
|
+
var camera = ctx.camera;
|
|
134
136
|
var _a = this, compose = _a.compose, composeTarget = _a.composeTarget, holdTarget = _a.holdTarget, drawPass = _a.drawPass, webgl = _a.webgl;
|
|
135
137
|
var gl = webgl.gl, state = webgl.state;
|
|
136
138
|
// based on the Multisample Anti-Aliasing Render Pass
|
|
@@ -144,7 +146,7 @@ var MultiSamplePass = /** @class */ (function () {
|
|
|
144
146
|
var _b = camera.viewport, x = _b.x, y = _b.y, width = _b.width, height = _b.height;
|
|
145
147
|
var sampleWeight = 1.0 / offsetList.length;
|
|
146
148
|
if (sampleIndex === -1) {
|
|
147
|
-
drawPass.render(
|
|
149
|
+
drawPass.render(ctx, props, false);
|
|
148
150
|
mol_util_1.ValueCell.update(compose.values.uWeight, 1.0);
|
|
149
151
|
mol_util_1.ValueCell.update(compose.values.tColor, drawPass.getColorTarget(props.postprocessing).texture);
|
|
150
152
|
compose.update();
|
|
@@ -170,7 +172,7 @@ var MultiSamplePass = /** @class */ (function () {
|
|
|
170
172
|
camera_1.Camera.setViewOffset(camera.viewOffset, width, height, offset[0], offset[1], width, height);
|
|
171
173
|
camera.update();
|
|
172
174
|
// render scene
|
|
173
|
-
drawPass.render(
|
|
175
|
+
drawPass.render(ctx, props, false);
|
|
174
176
|
// compose rendered scene with compose target
|
|
175
177
|
composeTarget.bind();
|
|
176
178
|
state.enable(gl.BLEND);
|
|
@@ -266,8 +268,10 @@ var MultiSampleHelper = /** @class */ (function () {
|
|
|
266
268
|
this.sampleIndex = -1;
|
|
267
269
|
return props.mode === 'temporal' ? this.sampleIndex !== -2 : false;
|
|
268
270
|
};
|
|
269
|
-
|
|
270
|
-
|
|
271
|
+
/** Return `true` while more samples are needed */
|
|
272
|
+
MultiSampleHelper.prototype.render = function (ctx, props, toDrawingBuffer, forceOn) {
|
|
273
|
+
this.sampleIndex = this.multiSamplePass.render(this.sampleIndex, ctx, props, toDrawingBuffer, !!forceOn);
|
|
274
|
+
return this.sampleIndex < 0;
|
|
271
275
|
};
|
|
272
276
|
return MultiSampleHelper;
|
|
273
277
|
}());
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
exports.PickHelper = exports.PickPass = void 0;
|
|
9
9
|
var linear_algebra_1 = require("../../mol-math/linear-algebra");
|
|
10
10
|
var misc_1 = require("../../mol-math/misc");
|
|
11
|
-
var
|
|
11
|
+
var number_packing_1 = require("../../mol-util/number-packing");
|
|
12
12
|
var stereo_1 = require("../camera/stereo");
|
|
13
13
|
var util_1 = require("../camera/util");
|
|
14
14
|
var util_2 = require("../camera/util");
|
|
@@ -46,29 +46,29 @@ var PickPass = /** @class */ (function () {
|
|
|
46
46
|
this.depthPickTarget.setSize(this.pickWidth, this.pickHeight);
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
-
PickPass.prototype.renderVariant = function (renderer, camera, scene, helper, variant) {
|
|
49
|
+
PickPass.prototype.renderVariant = function (renderer, camera, scene, helper, variant, pickType) {
|
|
50
50
|
var depth = this.drawPass.depthTexturePrimitives;
|
|
51
51
|
renderer.clear(false);
|
|
52
52
|
renderer.update(camera);
|
|
53
|
-
renderer.renderPick(scene.primitives, camera, variant, null);
|
|
54
|
-
renderer.renderPick(scene.volumes, camera, variant, depth);
|
|
55
|
-
renderer.renderPick(helper.handle.scene, camera, variant, null);
|
|
53
|
+
renderer.renderPick(scene.primitives, camera, variant, null, pickType);
|
|
54
|
+
renderer.renderPick(scene.volumes, camera, variant, depth, pickType);
|
|
55
|
+
renderer.renderPick(helper.handle.scene, camera, variant, null, pickType);
|
|
56
56
|
if (helper.camera.isEnabled) {
|
|
57
57
|
helper.camera.update(camera);
|
|
58
58
|
renderer.update(helper.camera.camera);
|
|
59
|
-
renderer.renderPick(helper.camera.scene, helper.camera.camera, variant, null);
|
|
59
|
+
renderer.renderPick(helper.camera.scene, helper.camera.camera, variant, null, pickType);
|
|
60
60
|
}
|
|
61
61
|
};
|
|
62
62
|
PickPass.prototype.render = function (renderer, camera, scene, helper) {
|
|
63
63
|
this.objectPickTarget.bind();
|
|
64
|
-
this.renderVariant(renderer, camera, scene, helper, '
|
|
64
|
+
this.renderVariant(renderer, camera, scene, helper, 'pick', 1 /* Object */);
|
|
65
65
|
this.instancePickTarget.bind();
|
|
66
|
-
this.renderVariant(renderer, camera, scene, helper, '
|
|
66
|
+
this.renderVariant(renderer, camera, scene, helper, 'pick', 2 /* Instance */);
|
|
67
67
|
this.groupPickTarget.bind();
|
|
68
|
-
this.renderVariant(renderer, camera, scene, helper, '
|
|
68
|
+
this.renderVariant(renderer, camera, scene, helper, 'pick', 3 /* Group */);
|
|
69
69
|
// printTexture(this.webgl, this.groupPickTarget.texture, { id: 'group' })
|
|
70
70
|
this.depthPickTarget.bind();
|
|
71
|
-
this.renderVariant(renderer, camera, scene, helper, 'depth');
|
|
71
|
+
this.renderVariant(renderer, camera, scene, helper, 'depth', 0 /* None */);
|
|
72
72
|
};
|
|
73
73
|
return PickPass;
|
|
74
74
|
}());
|
|
@@ -127,11 +127,11 @@ var PickHelper = /** @class */ (function () {
|
|
|
127
127
|
PickHelper.prototype.getDepth = function (x, y) {
|
|
128
128
|
var idx = this.getBufferIdx(x, y);
|
|
129
129
|
var b = this.depthBuffer;
|
|
130
|
-
return (0,
|
|
130
|
+
return (0, number_packing_1.unpackRGBAToDepth)(b[idx], b[idx + 1], b[idx + 2], b[idx + 3]);
|
|
131
131
|
};
|
|
132
132
|
PickHelper.prototype.getId = function (x, y, buffer) {
|
|
133
133
|
var idx = this.getBufferIdx(x, y);
|
|
134
|
-
return (0,
|
|
134
|
+
return (0, number_packing_1.unpackRGBToInt)(buffer[idx], buffer[idx + 1], buffer[idx + 2]);
|
|
135
135
|
};
|
|
136
136
|
PickHelper.prototype.render = function (camera) {
|
|
137
137
|
var _a = this, pickX = _a.pickX, pickY = _a.pickY, pickWidth = _a.pickWidth, pickHeight = _a.pickHeight, halfPickWidth = _a.halfPickWidth;
|