molstar 4.0.1 → 4.2.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/LICENSE +20 -20
- package/README.md +197 -197
- package/build/viewer/embedded.html +52 -52
- package/build/viewer/index.html +129 -129
- package/build/viewer/molstar.js +1 -1
- package/build/viewer/molstar.js.LICENSE.txt +0 -9
- package/lib/apps/docking-viewer/index.html +36 -36
- package/lib/apps/docking-viewer/viewport.d.ts +8 -8
- package/lib/apps/mesoscale-explorer/behavior/camera.d.ts +1 -1
- package/lib/apps/mesoscale-explorer/behavior/select.d.ts +1 -1
- package/lib/apps/mesoscale-explorer/data/cellpack/model.d.ts +2 -2
- package/lib/apps/mesoscale-explorer/data/cellpack/preset.d.ts +1 -1
- package/lib/apps/mesoscale-explorer/data/cellpack/preset.js +5 -5
- package/lib/apps/mesoscale-explorer/data/generic/preset.d.ts +1 -1
- package/lib/apps/mesoscale-explorer/data/generic/preset.js +3 -3
- package/lib/apps/mesoscale-explorer/data/mmcif/preset.d.ts +1 -1
- package/lib/apps/mesoscale-explorer/data/mmcif/preset.js +3 -3
- package/lib/apps/mesoscale-explorer/data/petworld/preset.d.ts +1 -1
- package/lib/apps/mesoscale-explorer/data/petworld/preset.js +3 -3
- package/lib/apps/mesoscale-explorer/data/state.d.ts +19 -10
- package/lib/apps/mesoscale-explorer/data/state.js +14 -2
- package/lib/apps/mesoscale-explorer/index.html +100 -100
- package/lib/apps/mesoscale-explorer/style.scss +33 -33
- package/lib/apps/mesoscale-explorer/ui/entities.d.ts +19 -13
- package/lib/apps/mesoscale-explorer/ui/entities.js +23 -4
- package/lib/apps/viewer/app.d.ts +30 -24
- package/lib/apps/viewer/app.js +6 -6
- package/lib/apps/viewer/embedded.html +52 -52
- package/lib/apps/viewer/index.html +129 -129
- package/lib/cli/chem-comp-dict/create-ions.js +9 -9
- package/lib/cli/chem-comp-dict/create-saccharides.js +9 -9
- package/lib/cli/chem-comp-dict/util.d.ts +112 -112
- package/lib/cli/cifschema/util/cif-dic.js +1 -0
- package/lib/cli/cifschema/util/generate.js +12 -12
- package/lib/cli/lipid-params/index.js +9 -9
- package/lib/cli/mvs/mvs-print-schema.d.ts +1 -0
- package/lib/cli/mvs/mvs-print-schema.js +1 -0
- package/lib/cli/mvs/mvs-render.d.ts +1 -0
- package/lib/cli/mvs/mvs-render.js +1 -0
- package/lib/cli/mvs/mvs-validate.d.ts +1 -0
- package/lib/cli/mvs/mvs-validate.js +1 -0
- package/lib/commonjs/apps/docking-viewer/viewport.d.ts +8 -8
- package/lib/commonjs/apps/mesoscale-explorer/behavior/camera.d.ts +1 -1
- package/lib/commonjs/apps/mesoscale-explorer/behavior/select.d.ts +1 -1
- package/lib/commonjs/apps/mesoscale-explorer/data/cellpack/model.d.ts +2 -2
- package/lib/commonjs/apps/mesoscale-explorer/data/cellpack/preset.d.ts +1 -1
- package/lib/commonjs/apps/mesoscale-explorer/data/cellpack/preset.js +5 -5
- package/lib/commonjs/apps/mesoscale-explorer/data/generic/preset.d.ts +1 -1
- package/lib/commonjs/apps/mesoscale-explorer/data/generic/preset.js +3 -3
- package/lib/commonjs/apps/mesoscale-explorer/data/mmcif/preset.d.ts +1 -1
- package/lib/commonjs/apps/mesoscale-explorer/data/mmcif/preset.js +3 -3
- package/lib/commonjs/apps/mesoscale-explorer/data/petworld/preset.d.ts +1 -1
- package/lib/commonjs/apps/mesoscale-explorer/data/petworld/preset.js +3 -3
- package/lib/commonjs/apps/mesoscale-explorer/data/state.d.ts +19 -10
- package/lib/commonjs/apps/mesoscale-explorer/data/state.js +15 -3
- package/lib/commonjs/apps/mesoscale-explorer/ui/entities.d.ts +19 -13
- package/lib/commonjs/apps/mesoscale-explorer/ui/entities.js +22 -3
- package/lib/commonjs/apps/viewer/app.d.ts +30 -24
- package/lib/commonjs/apps/viewer/app.js +6 -6
- package/lib/commonjs/cli/chem-comp-dict/create-ions.js +9 -9
- package/lib/commonjs/cli/chem-comp-dict/create-saccharides.js +9 -9
- package/lib/commonjs/cli/chem-comp-dict/util.d.ts +112 -112
- package/lib/commonjs/cli/cifschema/util/cif-dic.js +1 -0
- package/lib/commonjs/cli/cifschema/util/generate.js +12 -12
- package/lib/commonjs/cli/lipid-params/index.js +9 -9
- package/lib/commonjs/cli/mvs/mvs-print-schema.d.ts +1 -0
- package/lib/commonjs/cli/mvs/mvs-print-schema.js +1 -0
- package/lib/commonjs/cli/mvs/mvs-render.d.ts +1 -0
- package/lib/commonjs/cli/mvs/mvs-render.js +1 -0
- package/lib/commonjs/cli/mvs/mvs-validate.d.ts +1 -0
- package/lib/commonjs/cli/mvs/mvs-validate.js +1 -0
- package/lib/commonjs/examples/alpha-orbitals/example-data.js +160 -160
- package/lib/commonjs/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
- package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +2 -2
- package/lib/commonjs/extensions/anvil/behavior.d.ts +10 -9
- package/lib/commonjs/extensions/anvil/representation.d.ts +5 -0
- package/lib/commonjs/extensions/assembly-symmetry/behavior.d.ts +2 -1
- package/lib/commonjs/extensions/assembly-symmetry/prop.js +24 -24
- package/lib/commonjs/extensions/assembly-symmetry/representation.d.ts +1 -0
- package/lib/commonjs/extensions/backgrounds/index.d.ts +2 -2
- package/lib/commonjs/extensions/backgrounds/index.js +2 -1
- package/lib/commonjs/extensions/dnatco/behavior.d.ts +1 -1
- package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.d.ts +10 -10
- package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.js +5 -5
- package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +3 -0
- package/lib/commonjs/extensions/dnatco/ntc-tube/behavior.d.ts +10 -10
- package/lib/commonjs/extensions/dnatco/ntc-tube/behavior.js +5 -5
- package/lib/commonjs/extensions/dnatco/ntc-tube/representation.d.ts +3 -0
- package/lib/commonjs/extensions/g3d/format.d.ts +6 -6
- package/lib/commonjs/extensions/geo-export/glb-exporter.d.ts +1 -1
- package/lib/commonjs/extensions/geo-export/glb-exporter.js +6 -4
- package/lib/commonjs/extensions/geo-export/index.d.ts +1 -1
- package/lib/commonjs/extensions/geo-export/usdz-exporter.js +41 -41
- package/lib/commonjs/extensions/meshes/mesh-extension.d.ts +2 -3
- package/lib/commonjs/extensions/meshes/mesh-streaming/behavior.d.ts +1 -1
- package/lib/commonjs/extensions/meshes/mesh-streaming/server-info.d.ts +2 -2
- package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.d.ts +9 -9
- package/lib/commonjs/extensions/model-export/index.d.ts +1 -1
- package/lib/commonjs/extensions/mp4-export/index.d.ts +1 -1
- package/lib/commonjs/extensions/mvs/behavior.d.ts +1 -1
- package/lib/commonjs/extensions/mvs/camera.d.ts +2 -0
- package/lib/commonjs/extensions/mvs/camera.js +29 -2
- package/lib/commonjs/extensions/mvs/components/annotation-label/representation.d.ts +4 -0
- package/lib/commonjs/extensions/mvs/components/annotation-label/visual.d.ts +1 -0
- package/lib/commonjs/extensions/mvs/components/custom-label/representation.d.ts +4 -2
- package/lib/commonjs/extensions/mvs/components/custom-label/visual.d.ts +1 -0
- package/lib/commonjs/extensions/mvs/components/formats.d.ts +6 -4
- package/lib/commonjs/extensions/mvs/components/formats.js +2 -1
- package/lib/commonjs/extensions/mvs/load-helpers.d.ts +1 -1
- package/lib/commonjs/extensions/mvs/load.d.ts +2 -0
- package/lib/commonjs/extensions/mvs/load.js +12 -6
- package/lib/commonjs/extensions/mvs/tree/mvs/mvs-builder.d.ts +2 -8
- package/lib/commonjs/extensions/pdbe/structure-quality-report/behavior.d.ts +1 -1
- package/lib/commonjs/extensions/rcsb/validation-report/behavior.d.ts +22 -22
- package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +5 -0
- package/lib/commonjs/extensions/sb-ncbr/partial-charges/behavior.d.ts +1 -1
- package/lib/commonjs/extensions/sb-ncbr/partial-charges/preset.d.ts +4 -4
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-meshes.d.ts +1 -1
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-root.d.ts +5 -5
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-segmentation.d.ts +1 -1
- package/lib/commonjs/extensions/volumes-and-segmentations/entry-state.d.ts +2 -2
- package/lib/commonjs/extensions/volumes-and-segmentations/global-state.d.ts +2 -2
- package/lib/commonjs/extensions/volumes-and-segmentations/helpers.d.ts +1 -1
- package/lib/commonjs/extensions/volumes-and-segmentations/index.d.ts +1 -1
- package/lib/commonjs/extensions/wwpdb/ccd/behavior.d.ts +1 -1
- package/lib/commonjs/extensions/wwpdb/ccd/representation.d.ts +4 -4
- package/lib/commonjs/extensions/zenodo/index.d.ts +1 -1
- package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +14 -2
- package/lib/commonjs/mol-canvas3d/canvas3d.js +2 -2
- package/lib/commonjs/mol-canvas3d/controls/trackball.js +1 -1
- package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +1 -0
- package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
- package/lib/commonjs/mol-canvas3d/passes/background.d.ts +6 -1
- package/lib/commonjs/mol-canvas3d/passes/background.js +13 -1
- package/lib/commonjs/mol-canvas3d/passes/bloom.d.ts +37 -0
- package/lib/commonjs/mol-canvas3d/passes/bloom.js +272 -0
- package/lib/commonjs/mol-canvas3d/passes/dpoit.js +4 -2
- package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +11 -7
- package/lib/commonjs/mol-canvas3d/passes/draw.js +29 -3
- package/lib/commonjs/mol-canvas3d/passes/image.d.ts +6 -0
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +31 -5
- package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +35 -40
- package/lib/commonjs/mol-geo/geometry/base.d.ts +3 -1
- package/lib/commonjs/mol-geo/geometry/base.js +4 -1
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +2 -1
- package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +4 -1
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +2 -1
- package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +4 -1
- package/lib/commonjs/mol-geo/geometry/emissive-data.d.ts +26 -0
- package/lib/commonjs/mol-geo/geometry/emissive-data.js +80 -0
- package/lib/commonjs/mol-geo/geometry/image/image.d.ts +2 -1
- package/lib/commonjs/mol-geo/geometry/image/image.js +4 -1
- package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +3 -2
- package/lib/commonjs/mol-geo/geometry/lines/lines.js +4 -1
- package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.d.ts +2 -1
- package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.js +36 -2
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +2 -1
- package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +11 -4
- package/lib/commonjs/mol-geo/geometry/points/points.d.ts +3 -2
- package/lib/commonjs/mol-geo/geometry/points/points.js +4 -1
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +2 -2
- package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +7 -3
- package/lib/commonjs/mol-geo/geometry/text/text.d.ts +2 -1
- package/lib/commonjs/mol-geo/geometry/text/text.js +4 -1
- package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.d.ts +2 -1
- package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +34 -2
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +3 -1
- package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +14 -4
- package/lib/commonjs/mol-geo/util/location-iterator.d.ts +5 -2
- package/lib/commonjs/mol-geo/util/location-iterator.js +8 -3
- package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +10 -0
- package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +10 -0
- package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -0
- package/lib/commonjs/mol-gl/renderable/lines.d.ts +10 -0
- package/lib/commonjs/mol-gl/renderable/mesh.d.ts +10 -0
- package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -0
- package/lib/commonjs/mol-gl/renderable/schema.d.ts +24 -1
- package/lib/commonjs/mol-gl/renderable/schema.js +15 -2
- package/lib/commonjs/mol-gl/renderable/spheres.d.ts +10 -0
- package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -0
- package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +10 -0
- package/lib/commonjs/mol-gl/renderable.d.ts +1 -1
- package/lib/commonjs/mol-gl/renderable.js +2 -2
- package/lib/commonjs/mol-gl/renderer.d.ts +2 -1
- package/lib/commonjs/mol-gl/renderer.js +58 -49
- package/lib/commonjs/mol-gl/scene.d.ts +3 -1
- package/lib/commonjs/mol-gl/scene.js +26 -1
- package/lib/commonjs/mol-gl/shader/background.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/background.frag.js +95 -94
- package/lib/commonjs/mol-gl/shader/background.vert.js +11 -11
- package/lib/commonjs/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
- package/lib/commonjs/mol-gl/shader/bloom/blur.frag.d.ts +1 -0
- package/lib/commonjs/mol-gl/shader/bloom/blur.frag.js +32 -0
- package/lib/commonjs/mol-gl/shader/bloom/composite.frag.d.ts +1 -0
- package/lib/commonjs/mol-gl/shader/bloom/composite.frag.js +37 -0
- package/lib/commonjs/mol-gl/shader/bloom/luminosity.frag.d.ts +1 -0
- package/lib/commonjs/mol-gl/shader/bloom/luminosity.frag.js +56 -0
- package/lib/commonjs/mol-gl/shader/cas.frag.js +144 -144
- package/lib/commonjs/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
- package/lib/commonjs/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +2 -2
- package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +78 -70
- package/lib/commonjs/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
- package/lib/commonjs/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
- 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 +140 -112
- package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
- package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
- 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 +112 -123
- package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
- package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
- package/lib/commonjs/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
- package/lib/commonjs/mol-gl/shader/chunks/check-transparency.glsl.d.ts +1 -0
- package/lib/commonjs/mol-gl/shader/chunks/check-transparency.glsl.js +20 -0
- package/lib/commonjs/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
- package/lib/commonjs/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
- 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 +60 -51
- 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 +122 -92
- package/lib/commonjs/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
- 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 +150 -149
- package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
- package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +234 -234
- package/lib/commonjs/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
- package/lib/commonjs/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
- package/lib/commonjs/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
- package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
- package/lib/commonjs/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
- package/lib/commonjs/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
- package/lib/commonjs/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
- package/lib/commonjs/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
- package/lib/commonjs/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
- package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
- package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
- package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
- package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
- package/lib/commonjs/mol-gl/shader/compose.frag.js +12 -12
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
- package/lib/commonjs/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
- package/lib/commonjs/mol-gl/shader/copy.frag.js +11 -11
- package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +2 -2
- package/lib/commonjs/mol-gl/shader/cylinders.frag.js +267 -264
- package/lib/commonjs/mol-gl/shader/cylinders.vert.js +89 -89
- package/lib/commonjs/mol-gl/shader/depth-merge.frag.js +23 -23
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +362 -356
- package/lib/commonjs/mol-gl/shader/direct-volume.vert.js +41 -41
- package/lib/commonjs/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
- package/lib/commonjs/mol-gl/shader/evaluate-wboit.frag.js +17 -17
- package/lib/commonjs/mol-gl/shader/fxaa.frag.js +228 -228
- package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +49 -49
- package/lib/commonjs/mol-gl/shader/gaussian-density.vert.js +27 -27
- package/lib/commonjs/mol-gl/shader/hi-z.frag.js +18 -18
- package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
- package/lib/commonjs/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
- package/lib/commonjs/mol-gl/shader/image.frag.d.ts +2 -2
- package/lib/commonjs/mol-gl/shader/image.frag.js +170 -161
- package/lib/commonjs/mol-gl/shader/image.vert.js +21 -21
- package/lib/commonjs/mol-gl/shader/lines.frag.d.ts +2 -2
- package/lib/commonjs/mol-gl/shader/lines.frag.js +43 -40
- package/lib/commonjs/mol-gl/shader/lines.vert.js +117 -117
- package/lib/commonjs/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
- package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
- package/lib/commonjs/mol-gl/shader/marking/edge.frag.js +28 -28
- package/lib/commonjs/mol-gl/shader/marking/overlay.frag.js +26 -26
- package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +2 -2
- package/lib/commonjs/mol-gl/shader/mesh.frag.js +66 -63
- package/lib/commonjs/mol-gl/shader/mesh.vert.js +49 -49
- package/lib/commonjs/mol-gl/shader/outlines.frag.js +95 -95
- package/lib/commonjs/mol-gl/shader/points.frag.d.ts +2 -2
- package/lib/commonjs/mol-gl/shader/points.frag.js +60 -56
- package/lib/commonjs/mol-gl/shader/points.vert.js +38 -38
- package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +150 -150
- package/lib/commonjs/mol-gl/shader/quad.vert.js +10 -10
- package/lib/commonjs/mol-gl/shader/shadows.frag.js +123 -123
- package/lib/commonjs/mol-gl/shader/smaa/blend.frag.js +56 -56
- package/lib/commonjs/mol-gl/shader/smaa/blend.vert.js +25 -25
- package/lib/commonjs/mol-gl/shader/smaa/edges.frag.js +66 -66
- package/lib/commonjs/mol-gl/shader/smaa/edges.vert.js +26 -26
- package/lib/commonjs/mol-gl/shader/smaa/weights.frag.js +206 -206
- package/lib/commonjs/mol-gl/shader/smaa/weights.vert.js +32 -32
- package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +2 -2
- package/lib/commonjs/mol-gl/shader/spheres.frag.js +149 -143
- package/lib/commonjs/mol-gl/shader/spheres.vert.js +132 -132
- package/lib/commonjs/mol-gl/shader/ssao-blur.frag.d.ts +3 -2
- package/lib/commonjs/mol-gl/shader/ssao-blur.frag.js +99 -100
- package/lib/commonjs/mol-gl/shader/ssao.frag.d.ts +3 -2
- package/lib/commonjs/mol-gl/shader/ssao.frag.js +213 -174
- package/lib/commonjs/mol-gl/shader/text.frag.d.ts +2 -2
- package/lib/commonjs/mol-gl/shader/text.frag.js +86 -84
- package/lib/commonjs/mol-gl/shader/text.vert.js +85 -85
- package/lib/commonjs/mol-gl/shader/util/grid3d-template.frag.js +46 -46
- package/lib/commonjs/mol-gl/shader-code.d.ts +1 -1
- package/lib/commonjs/mol-gl/shader-code.js +24 -18
- package/lib/commonjs/mol-gl/webgl/compat.js +12 -12
- package/lib/commonjs/mol-gl/webgl/render-item.d.ts +3 -2
- package/lib/commonjs/mol-gl/webgl/render-item.js +1 -1
- package/lib/commonjs/mol-io/common/binary-cif/array-encoder.d.ts +1 -1
- package/lib/commonjs/mol-io/common/binary-cif/array-encoder.js +5 -2
- 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-extras.d.ts +4 -4
- 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 +1 -1
- package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +1 -1
- package/lib/commonjs/mol-io/reader/cif.d.ts +1 -1
- package/lib/commonjs/mol-io/writer/cif/encoder/binary.d.ts +1 -1
- package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +10 -2
- package/lib/commonjs/mol-math/linear-algebra/3d/mat3.d.ts +3 -1
- package/lib/commonjs/mol-math/linear-algebra/3d/mat3.js +8 -1
- package/lib/commonjs/mol-math/linear-algebra/3d/vec3.d.ts +6 -0
- package/lib/commonjs/mol-math/linear-algebra/3d/vec3.js +20 -0
- package/lib/commonjs/mol-model/structure/model/types/saccharides.js +1 -1
- package/lib/commonjs/mol-model/structure/structure/properties.d.ts +2 -2
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/data.d.ts +9 -6
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/data.js +1 -1
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +7 -4
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
- package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +10 -6
- package/lib/commonjs/mol-model/structure/structure/unit.d.ts +2 -2
- package/lib/commonjs/mol-model/structure/structure/unit.js +5 -2
- package/lib/commonjs/mol-model-formats/shape/ply.d.ts +2 -0
- package/lib/commonjs/mol-model-formats/structure/basic/schema.d.ts +118 -118
- package/lib/commonjs/mol-model-formats/structure/common/component.d.ts +2 -2
- package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.d.ts +4 -1
- package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +6 -3
- 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-intra-unit-cylinder.d.ts +1 -0
- package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +3 -0
- package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +4 -0
- package/lib/commonjs/mol-plugin/behavior/behavior.d.ts +6 -6
- package/lib/commonjs/mol-plugin/behavior/dynamic/camera.d.ts +3 -3
- package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/accessible-surface-area.d.ts +1 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/interactions.d.ts +1 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/secondary-structure.d.ts +1 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/valence-model.d.ts +1 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/integrative/cross-link-restraint.d.ts +1 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/sequence/sifts-mapping.d.ts +1 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/structure-info.d.ts +1 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/representation.d.ts +4 -4
- package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +1 -1
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +2 -2
- package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -2
- package/lib/commonjs/mol-plugin/commands.d.ts +1 -208
- package/lib/commonjs/mol-plugin/config.d.ts +5 -0
- package/lib/commonjs/mol-plugin/context.d.ts +2 -2
- package/lib/commonjs/mol-plugin/state.d.ts +6 -6
- package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +3 -3
- package/lib/commonjs/mol-plugin-state/actions/structure.js +3 -5
- package/lib/commonjs/mol-plugin-state/actions/volume.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/builder/data.d.ts +4 -4
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +27 -27
- package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +5 -5
- package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +42 -42
- package/lib/commonjs/mol-plugin-state/builder/structure/representation.d.ts +4 -4
- package/lib/commonjs/mol-plugin-state/builder/structure.d.ts +7 -7
- package/lib/commonjs/mol-plugin-state/formats/coordinates.d.ts +8 -8
- package/lib/commonjs/mol-plugin-state/formats/shape.d.ts +8 -8
- package/lib/commonjs/mol-plugin-state/formats/topology.d.ts +12 -12
- package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +33 -33
- package/lib/commonjs/mol-plugin-state/helpers/structure-emissive.d.ts +12 -0
- package/lib/commonjs/mol-plugin-state/helpers/structure-emissive.js +69 -0
- package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +3 -1
- package/lib/commonjs/mol-plugin-state/manager/structure/component.js +9 -1
- package/lib/commonjs/mol-plugin-state/manager/structure/measurement.d.ts +341 -9
- package/lib/commonjs/mol-plugin-state/manager/structure/measurement.js +32 -19
- package/lib/commonjs/mol-plugin-state/manager/structure/selection.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/manager/volume/hierarchy.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/objects.d.ts +32 -32
- package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +33 -8
- package/lib/commonjs/mol-plugin-state/transforms/representation.js +121 -6
- package/lib/commonjs/mol-plugin-state/transforms/shape.d.ts +1 -1
- package/lib/commonjs/mol-plugin-state/transforms/volume.d.ts +16 -8
- package/lib/commonjs/mol-plugin-state/transforms/volume.js +51 -2
- package/lib/commonjs/mol-plugin-ui/state/apply-action.d.ts +2 -2
- package/lib/commonjs/mol-plugin-ui/state/update-transform.d.ts +3 -3
- package/lib/commonjs/mol-repr/representation.d.ts +6 -2
- package/lib/commonjs/mol-repr/representation.js +12 -2
- package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/common.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/label.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +1 -0
- package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/complex-representation.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/complex-representation.js +7 -1
- package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +8 -1
- package/lib/commonjs/mol-repr/structure/complex-visual.js +5 -1
- package/lib/commonjs/mol-repr/structure/params.d.ts +8 -0
- package/lib/commonjs/mol-repr/structure/registry.d.ts +14 -0
- package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/label.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/line.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/point.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +3 -0
- package/lib/commonjs/mol-repr/structure/units-representation.d.ts +1 -1
- package/lib/commonjs/mol-repr/structure/units-representation.js +9 -3
- package/lib/commonjs/mol-repr/structure/units-visual.d.ts +9 -1
- package/lib/commonjs/mol-repr/structure/units-visual.js +5 -1
- 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-line.d.ts +1 -0
- 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-line.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +4 -0
- package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
- 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 +1 -1
- package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-bond.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-element.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-ring-fill.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -0
- package/lib/commonjs/mol-repr/visual.d.ts +6 -1
- package/lib/commonjs/mol-repr/visual.js +55 -1
- package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +3 -0
- package/lib/commonjs/mol-repr/volume/isosurface.d.ts +6 -0
- package/lib/commonjs/mol-repr/volume/registry.d.ts +4 -0
- package/lib/commonjs/mol-repr/volume/representation.d.ts +2 -1
- package/lib/commonjs/mol-repr/volume/representation.js +9 -2
- package/lib/commonjs/mol-repr/volume/segment.d.ts +5 -0
- package/lib/commonjs/mol-repr/volume/slice.d.ts +3 -0
- package/lib/commonjs/mol-script/language/symbol-table/core.d.ts +3 -3
- package/lib/commonjs/mol-state/tree/immutable.d.ts +1 -1
- package/lib/commonjs/mol-state/tree/transient.d.ts +2 -2
- package/lib/commonjs/mol-theme/color/external-volume.d.ts +3 -1
- package/lib/commonjs/mol-theme/color/external-volume.js +8 -2
- package/lib/commonjs/mol-theme/color.d.ts +1 -0
- package/lib/commonjs/mol-theme/emissive.d.ts +40 -0
- package/lib/commonjs/mol-theme/emissive.js +137 -0
- package/lib/commonjs/mol-theme/substance.d.ts +1 -1
- package/lib/commonjs/mol-theme/substance.js +2 -2
- package/lib/commonjs/mol-theme/transparency.d.ts +0 -1
- package/lib/commonjs/mol-util/input/input-observer.js +2 -0
- package/lib/commonjs/mol-util/set.d.ts +1 -1
- package/lib/commonjs/mol-util/set.js +17 -1
- package/lib/commonjs/servers/common/swagger-ui/indexTemplate.js +66 -66
- package/lib/commonjs/servers/volume/config.js +5 -5
- package/lib/examples/alpha-orbitals/example-data.js +160 -160
- package/lib/examples/alpha-orbitals/index.html +72 -72
- package/lib/examples/basic-wrapper/index.html +137 -137
- package/lib/examples/lighting/index.html +88 -88
- package/lib/examples/proteopedia-wrapper/index.html +236 -236
- package/lib/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
- package/lib/extensions/alpha-orbitals/transforms.d.ts +2 -2
- package/lib/extensions/anvil/behavior.d.ts +10 -9
- package/lib/extensions/anvil/representation.d.ts +5 -0
- package/lib/extensions/assembly-symmetry/behavior.d.ts +2 -1
- package/lib/extensions/assembly-symmetry/prop.js +24 -24
- package/lib/extensions/assembly-symmetry/representation.d.ts +1 -0
- package/lib/extensions/backgrounds/index.d.ts +2 -2
- package/lib/extensions/backgrounds/index.js +2 -1
- package/lib/extensions/dnatco/behavior.d.ts +1 -1
- package/lib/extensions/dnatco/confal-pyramids/behavior.d.ts +10 -10
- package/lib/extensions/dnatco/confal-pyramids/behavior.js +5 -5
- package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +3 -0
- package/lib/extensions/dnatco/ntc-tube/behavior.d.ts +10 -10
- package/lib/extensions/dnatco/ntc-tube/behavior.js +5 -5
- package/lib/extensions/dnatco/ntc-tube/representation.d.ts +3 -0
- package/lib/extensions/g3d/format.d.ts +6 -6
- package/lib/extensions/geo-export/glb-exporter.d.ts +1 -1
- package/lib/extensions/geo-export/glb-exporter.js +6 -4
- package/lib/extensions/geo-export/index.d.ts +1 -1
- package/lib/extensions/geo-export/usdz-exporter.js +41 -41
- package/lib/extensions/meshes/mesh-extension.d.ts +2 -3
- package/lib/extensions/meshes/mesh-streaming/behavior.d.ts +1 -1
- package/lib/extensions/meshes/mesh-streaming/server-info.d.ts +2 -2
- package/lib/extensions/model-archive/quality-assessment/behavior.d.ts +9 -9
- package/lib/extensions/model-export/index.d.ts +1 -1
- package/lib/extensions/mp4-export/index.d.ts +1 -1
- package/lib/extensions/mvs/behavior.d.ts +1 -1
- package/lib/extensions/mvs/camera.d.ts +2 -0
- package/lib/extensions/mvs/camera.js +27 -1
- package/lib/extensions/mvs/components/annotation-label/representation.d.ts +4 -0
- package/lib/extensions/mvs/components/annotation-label/visual.d.ts +1 -0
- package/lib/extensions/mvs/components/custom-label/representation.d.ts +4 -2
- package/lib/extensions/mvs/components/custom-label/visual.d.ts +1 -0
- package/lib/extensions/mvs/components/formats.d.ts +6 -4
- package/lib/extensions/mvs/components/formats.js +2 -1
- package/lib/extensions/mvs/load-helpers.d.ts +1 -1
- package/lib/extensions/mvs/load.d.ts +2 -0
- package/lib/extensions/mvs/load.js +13 -7
- package/lib/extensions/mvs/tree/mvs/mvs-builder.d.ts +2 -8
- package/lib/extensions/pdbe/structure-quality-report/behavior.d.ts +1 -1
- package/lib/extensions/rcsb/validation-report/behavior.d.ts +22 -22
- package/lib/extensions/rcsb/validation-report/representation.d.ts +5 -0
- package/lib/extensions/sb-ncbr/partial-charges/behavior.d.ts +1 -1
- package/lib/extensions/sb-ncbr/partial-charges/preset.d.ts +4 -4
- package/lib/extensions/volumes-and-segmentations/entry-meshes.d.ts +1 -1
- package/lib/extensions/volumes-and-segmentations/entry-root.d.ts +5 -5
- package/lib/extensions/volumes-and-segmentations/entry-segmentation.d.ts +1 -1
- package/lib/extensions/volumes-and-segmentations/entry-state.d.ts +2 -2
- package/lib/extensions/volumes-and-segmentations/global-state.d.ts +2 -2
- package/lib/extensions/volumes-and-segmentations/helpers.d.ts +1 -1
- package/lib/extensions/volumes-and-segmentations/index.d.ts +1 -1
- package/lib/extensions/wwpdb/ccd/behavior.d.ts +1 -1
- package/lib/extensions/wwpdb/ccd/representation.d.ts +4 -4
- package/lib/extensions/zenodo/index.d.ts +1 -1
- package/lib/mol-canvas3d/canvas3d.d.ts +14 -2
- package/lib/mol-canvas3d/canvas3d.js +2 -2
- package/lib/mol-canvas3d/controls/trackball.js +1 -1
- 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/background.d.ts +6 -1
- package/lib/mol-canvas3d/passes/background.js +14 -2
- package/lib/mol-canvas3d/passes/bloom.d.ts +37 -0
- package/lib/mol-canvas3d/passes/bloom.js +268 -0
- package/lib/mol-canvas3d/passes/dpoit.js +4 -2
- package/lib/mol-canvas3d/passes/draw.d.ts +11 -7
- package/lib/mol-canvas3d/passes/draw.js +30 -4
- package/lib/mol-canvas3d/passes/image.d.ts +6 -0
- package/lib/mol-canvas3d/passes/postprocessing.d.ts +31 -5
- package/lib/mol-canvas3d/passes/postprocessing.js +33 -39
- package/lib/mol-geo/geometry/base.d.ts +3 -1
- package/lib/mol-geo/geometry/base.js +4 -1
- package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +2 -1
- package/lib/mol-geo/geometry/cylinders/cylinders.js +4 -1
- package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +2 -1
- package/lib/mol-geo/geometry/direct-volume/direct-volume.js +4 -1
- package/lib/mol-geo/geometry/emissive-data.d.ts +26 -0
- package/lib/mol-geo/geometry/emissive-data.js +72 -0
- package/lib/mol-geo/geometry/image/image.d.ts +2 -1
- package/lib/mol-geo/geometry/image/image.js +4 -1
- package/lib/mol-geo/geometry/lines/lines.d.ts +3 -2
- package/lib/mol-geo/geometry/lines/lines.js +4 -1
- package/lib/mol-geo/geometry/mesh/color-smoothing.d.ts +2 -1
- package/lib/mol-geo/geometry/mesh/color-smoothing.js +34 -1
- package/lib/mol-geo/geometry/mesh/mesh.d.ts +2 -1
- package/lib/mol-geo/geometry/mesh/mesh.js +11 -4
- package/lib/mol-geo/geometry/points/points.d.ts +3 -2
- package/lib/mol-geo/geometry/points/points.js +4 -1
- package/lib/mol-geo/geometry/spheres/spheres.d.ts +2 -2
- package/lib/mol-geo/geometry/spheres/spheres.js +7 -3
- package/lib/mol-geo/geometry/text/text.d.ts +2 -1
- package/lib/mol-geo/geometry/text/text.js +4 -1
- package/lib/mol-geo/geometry/texture-mesh/color-smoothing.d.ts +2 -1
- package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +32 -1
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +3 -1
- package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +14 -4
- package/lib/mol-geo/util/location-iterator.d.ts +5 -2
- package/lib/mol-geo/util/location-iterator.js +8 -3
- package/lib/mol-gl/renderable/cylinders.d.ts +10 -0
- package/lib/mol-gl/renderable/direct-volume.d.ts +10 -0
- package/lib/mol-gl/renderable/image.d.ts +10 -0
- package/lib/mol-gl/renderable/lines.d.ts +10 -0
- package/lib/mol-gl/renderable/mesh.d.ts +10 -0
- package/lib/mol-gl/renderable/points.d.ts +10 -0
- package/lib/mol-gl/renderable/schema.d.ts +24 -1
- package/lib/mol-gl/renderable/schema.js +14 -1
- package/lib/mol-gl/renderable/spheres.d.ts +10 -0
- package/lib/mol-gl/renderable/text.d.ts +10 -0
- package/lib/mol-gl/renderable/texture-mesh.d.ts +10 -0
- package/lib/mol-gl/renderable.d.ts +1 -1
- package/lib/mol-gl/renderable.js +2 -2
- package/lib/mol-gl/renderer.d.ts +2 -1
- package/lib/mol-gl/renderer.js +58 -49
- package/lib/mol-gl/scene.d.ts +3 -1
- package/lib/mol-gl/scene.js +26 -1
- package/lib/mol-gl/shader/background.frag.d.ts +1 -1
- package/lib/mol-gl/shader/background.frag.js +95 -94
- package/lib/mol-gl/shader/background.vert.js +11 -11
- package/lib/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
- package/lib/mol-gl/shader/bloom/blur.frag.d.ts +1 -0
- package/lib/mol-gl/shader/bloom/blur.frag.js +29 -0
- package/lib/mol-gl/shader/bloom/composite.frag.d.ts +1 -0
- package/lib/mol-gl/shader/bloom/composite.frag.js +34 -0
- package/lib/mol-gl/shader/bloom/luminosity.frag.d.ts +1 -0
- package/lib/mol-gl/shader/bloom/luminosity.frag.js +53 -0
- package/lib/mol-gl/shader/cas.frag.js +144 -144
- package/lib/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
- package/lib/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +2 -2
- package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +78 -70
- package/lib/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
- package/lib/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
- 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 +140 -112
- package/lib/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
- package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
- 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 +112 -123
- package/lib/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
- package/lib/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
- package/lib/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
- package/lib/mol-gl/shader/chunks/check-transparency.glsl.d.ts +1 -0
- package/lib/mol-gl/shader/chunks/check-transparency.glsl.js +17 -0
- package/lib/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
- package/lib/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
- 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 +60 -51
- 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 +122 -92
- package/lib/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
- 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 +150 -149
- package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
- package/lib/mol-gl/shader/chunks/common.glsl.js +234 -234
- package/lib/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
- package/lib/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
- package/lib/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
- package/lib/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
- package/lib/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
- package/lib/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
- package/lib/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
- package/lib/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
- package/lib/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
- package/lib/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
- package/lib/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
- package/lib/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
- package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
- package/lib/mol-gl/shader/compose.frag.js +12 -12
- package/lib/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
- package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
- package/lib/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
- package/lib/mol-gl/shader/copy.frag.js +11 -11
- package/lib/mol-gl/shader/cylinders.frag.d.ts +2 -2
- package/lib/mol-gl/shader/cylinders.frag.js +267 -264
- package/lib/mol-gl/shader/cylinders.vert.js +89 -89
- package/lib/mol-gl/shader/depth-merge.frag.js +23 -23
- package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
- package/lib/mol-gl/shader/direct-volume.frag.js +362 -356
- package/lib/mol-gl/shader/direct-volume.vert.js +41 -41
- package/lib/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
- package/lib/mol-gl/shader/evaluate-wboit.frag.js +17 -17
- package/lib/mol-gl/shader/fxaa.frag.js +228 -228
- package/lib/mol-gl/shader/gaussian-density.frag.js +49 -49
- package/lib/mol-gl/shader/gaussian-density.vert.js +27 -27
- package/lib/mol-gl/shader/hi-z.frag.js +18 -18
- package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
- package/lib/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
- package/lib/mol-gl/shader/image.frag.d.ts +2 -2
- package/lib/mol-gl/shader/image.frag.js +170 -161
- package/lib/mol-gl/shader/image.vert.js +21 -21
- package/lib/mol-gl/shader/lines.frag.d.ts +2 -2
- package/lib/mol-gl/shader/lines.frag.js +43 -40
- package/lib/mol-gl/shader/lines.vert.js +117 -117
- package/lib/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
- package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
- package/lib/mol-gl/shader/marking/edge.frag.js +28 -28
- package/lib/mol-gl/shader/marking/overlay.frag.js +26 -26
- package/lib/mol-gl/shader/mesh.frag.d.ts +2 -2
- package/lib/mol-gl/shader/mesh.frag.js +66 -63
- package/lib/mol-gl/shader/mesh.vert.js +49 -49
- package/lib/mol-gl/shader/outlines.frag.js +95 -95
- package/lib/mol-gl/shader/points.frag.d.ts +2 -2
- package/lib/mol-gl/shader/points.frag.js +60 -56
- package/lib/mol-gl/shader/points.vert.js +38 -38
- package/lib/mol-gl/shader/postprocessing.frag.js +150 -150
- package/lib/mol-gl/shader/quad.vert.js +10 -10
- package/lib/mol-gl/shader/shadows.frag.js +123 -123
- package/lib/mol-gl/shader/smaa/blend.frag.js +56 -56
- package/lib/mol-gl/shader/smaa/blend.vert.js +25 -25
- package/lib/mol-gl/shader/smaa/edges.frag.js +66 -66
- package/lib/mol-gl/shader/smaa/edges.vert.js +26 -26
- package/lib/mol-gl/shader/smaa/weights.frag.js +206 -206
- package/lib/mol-gl/shader/smaa/weights.vert.js +32 -32
- package/lib/mol-gl/shader/spheres.frag.d.ts +2 -2
- package/lib/mol-gl/shader/spheres.frag.js +149 -143
- package/lib/mol-gl/shader/spheres.vert.js +132 -132
- package/lib/mol-gl/shader/ssao-blur.frag.d.ts +3 -2
- package/lib/mol-gl/shader/ssao-blur.frag.js +99 -100
- package/lib/mol-gl/shader/ssao.frag.d.ts +3 -2
- package/lib/mol-gl/shader/ssao.frag.js +213 -174
- package/lib/mol-gl/shader/text.frag.d.ts +2 -2
- package/lib/mol-gl/shader/text.frag.js +86 -84
- package/lib/mol-gl/shader/text.vert.js +85 -85
- package/lib/mol-gl/shader/util/grid3d-template.frag.js +46 -46
- package/lib/mol-gl/shader-code.d.ts +1 -1
- package/lib/mol-gl/shader-code.js +24 -18
- package/lib/mol-gl/webgl/compat.js +12 -12
- package/lib/mol-gl/webgl/render-item.d.ts +3 -2
- package/lib/mol-gl/webgl/render-item.js +1 -1
- package/lib/mol-io/common/binary-cif/array-encoder.d.ts +1 -1
- package/lib/mol-io/common/binary-cif/array-encoder.js +5 -2
- 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-extras.d.ts +4 -4
- 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 +1 -1
- package/lib/mol-io/reader/cif/schema/mmcif.js +1 -1
- package/lib/mol-io/reader/cif.d.ts +1 -1
- package/lib/mol-io/writer/cif/encoder/binary.d.ts +1 -1
- package/lib/mol-io/writer/cif/encoder/binary.js +10 -2
- package/lib/mol-math/linear-algebra/3d/mat3.d.ts +3 -1
- package/lib/mol-math/linear-algebra/3d/mat3.js +8 -1
- package/lib/mol-math/linear-algebra/3d/vec3.d.ts +6 -0
- package/lib/mol-math/linear-algebra/3d/vec3.js +20 -0
- package/lib/mol-model/structure/model/types/saccharides.js +1 -1
- package/lib/mol-model/structure/structure/properties.d.ts +2 -2
- package/lib/mol-model/structure/structure/unit/bonds/data.d.ts +9 -6
- package/lib/mol-model/structure/structure/unit/bonds/data.js +1 -1
- package/lib/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
- package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +7 -4
- package/lib/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
- package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +10 -6
- package/lib/mol-model/structure/structure/unit.d.ts +2 -2
- package/lib/mol-model/structure/structure/unit.js +5 -2
- package/lib/mol-model-formats/shape/ply.d.ts +2 -0
- package/lib/mol-model-formats/structure/basic/schema.d.ts +118 -118
- package/lib/mol-model-formats/structure/common/component.d.ts +2 -2
- package/lib/mol-model-formats/structure/property/bonds/index-pair.d.ts +4 -1
- package/lib/mol-model-formats/structure/property/bonds/index-pair.js +6 -3
- 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-plugin/behavior/behavior.d.ts +6 -6
- package/lib/mol-plugin/behavior/dynamic/camera.d.ts +3 -3
- package/lib/mol-plugin/behavior/dynamic/custom-props/computed/accessible-surface-area.d.ts +1 -1
- package/lib/mol-plugin/behavior/dynamic/custom-props/computed/interactions.d.ts +1 -1
- package/lib/mol-plugin/behavior/dynamic/custom-props/computed/secondary-structure.d.ts +1 -1
- package/lib/mol-plugin/behavior/dynamic/custom-props/computed/valence-model.d.ts +1 -1
- package/lib/mol-plugin/behavior/dynamic/custom-props/integrative/cross-link-restraint.d.ts +1 -1
- package/lib/mol-plugin/behavior/dynamic/custom-props/sequence/sifts-mapping.d.ts +1 -1
- package/lib/mol-plugin/behavior/dynamic/custom-props/structure-info.d.ts +1 -1
- package/lib/mol-plugin/behavior/dynamic/representation.d.ts +4 -4
- package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +1 -1
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +2 -2
- package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -2
- package/lib/mol-plugin/commands.d.ts +1 -208
- package/lib/mol-plugin/config.d.ts +5 -0
- package/lib/mol-plugin/context.d.ts +2 -2
- package/lib/mol-plugin/state.d.ts +6 -6
- package/lib/mol-plugin/version.js +2 -2
- package/lib/mol-plugin-state/actions/structure.d.ts +3 -3
- package/lib/mol-plugin-state/actions/structure.js +3 -5
- package/lib/mol-plugin-state/actions/volume.d.ts +1 -1
- package/lib/mol-plugin-state/builder/data.d.ts +4 -4
- package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +27 -27
- package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +5 -5
- package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +42 -42
- package/lib/mol-plugin-state/builder/structure/representation.d.ts +4 -4
- package/lib/mol-plugin-state/builder/structure.d.ts +7 -7
- package/lib/mol-plugin-state/formats/coordinates.d.ts +8 -8
- package/lib/mol-plugin-state/formats/shape.d.ts +8 -8
- package/lib/mol-plugin-state/formats/topology.d.ts +12 -12
- package/lib/mol-plugin-state/formats/volume.d.ts +33 -33
- package/lib/mol-plugin-state/helpers/structure-emissive.d.ts +12 -0
- package/lib/mol-plugin-state/helpers/structure-emissive.js +64 -0
- package/lib/mol-plugin-state/helpers/structure-selection-query.d.ts +1 -1
- package/lib/mol-plugin-state/manager/structure/component.d.ts +3 -1
- package/lib/mol-plugin-state/manager/structure/component.js +9 -1
- package/lib/mol-plugin-state/manager/structure/measurement.d.ts +341 -9
- package/lib/mol-plugin-state/manager/structure/measurement.js +32 -19
- package/lib/mol-plugin-state/manager/structure/selection.d.ts +1 -1
- package/lib/mol-plugin-state/manager/volume/hierarchy.d.ts +1 -1
- package/lib/mol-plugin-state/objects.d.ts +32 -32
- package/lib/mol-plugin-state/transforms/representation.d.ts +33 -8
- package/lib/mol-plugin-state/transforms/representation.js +120 -5
- package/lib/mol-plugin-state/transforms/shape.d.ts +1 -1
- package/lib/mol-plugin-state/transforms/volume.d.ts +16 -8
- package/lib/mol-plugin-state/transforms/volume.js +51 -2
- package/lib/mol-plugin-ui/skin/base/base.scss +37 -37
- package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
- package/lib/mol-plugin-ui/skin/base/components/controls.scss +445 -445
- 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 +663 -663
- 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 +194 -194
- 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 +88 -88
- 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/state/apply-action.d.ts +2 -2
- package/lib/mol-plugin-ui/state/update-transform.d.ts +3 -3
- package/lib/mol-repr/representation.d.ts +6 -2
- package/lib/mol-repr/representation.js +12 -2
- package/lib/mol-repr/shape/loci/angle.d.ts +1 -0
- package/lib/mol-repr/shape/loci/common.d.ts +1 -0
- package/lib/mol-repr/shape/loci/dihedral.d.ts +1 -0
- package/lib/mol-repr/shape/loci/distance.d.ts +1 -0
- package/lib/mol-repr/shape/loci/label.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-representation.d.ts +1 -1
- package/lib/mol-repr/structure/complex-representation.js +7 -1
- package/lib/mol-repr/structure/complex-visual.d.ts +8 -1
- package/lib/mol-repr/structure/complex-visual.js +5 -1
- package/lib/mol-repr/structure/params.d.ts +8 -0
- package/lib/mol-repr/structure/registry.d.ts +14 -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/label.d.ts +3 -0
- package/lib/mol-repr/structure/representation/line.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/point.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-representation.d.ts +1 -1
- package/lib/mol-repr/structure/units-representation.js +9 -3
- package/lib/mol-repr/structure/units-visual.d.ts +9 -1
- package/lib/mol-repr/structure/units-visual.js +5 -1
- package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +2 -0
- package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +1 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +2 -0
- package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +1 -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-cross.d.ts +1 -0
- package/lib/mol-repr/structure/visual/element-point.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/gaussian-surface-mesh.js +1 -1
- package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -0
- package/lib/mol-repr/structure/visual/label-text.d.ts +1 -0
- package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -0
- package/lib/mol-repr/structure/visual/molecular-surface-wireframe.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/visual.d.ts +6 -1
- package/lib/mol-repr/visual.js +57 -3
- package/lib/mol-repr/volume/direct-volume.d.ts +3 -0
- package/lib/mol-repr/volume/isosurface.d.ts +6 -0
- package/lib/mol-repr/volume/registry.d.ts +4 -0
- package/lib/mol-repr/volume/representation.d.ts +2 -1
- package/lib/mol-repr/volume/representation.js +9 -2
- package/lib/mol-repr/volume/segment.d.ts +5 -0
- package/lib/mol-repr/volume/slice.d.ts +3 -0
- package/lib/mol-script/language/symbol-table/core.d.ts +3 -3
- package/lib/mol-state/tree/immutable.d.ts +1 -1
- package/lib/mol-state/tree/transient.d.ts +2 -2
- package/lib/mol-theme/color/external-volume.d.ts +3 -1
- package/lib/mol-theme/color/external-volume.js +8 -2
- package/lib/mol-theme/color.d.ts +1 -0
- package/lib/mol-theme/emissive.d.ts +40 -0
- package/lib/mol-theme/emissive.js +134 -0
- package/lib/mol-theme/substance.d.ts +1 -1
- package/lib/mol-theme/substance.js +2 -2
- package/lib/mol-theme/transparency.d.ts +0 -1
- package/lib/mol-util/input/input-observer.js +2 -0
- package/lib/mol-util/set.d.ts +1 -1
- package/lib/mol-util/set.js +17 -1
- package/lib/servers/common/swagger-ui/indexTemplate.js +66 -66
- package/lib/servers/volume/config.js +5 -5
- package/package.json +195 -193
|
@@ -37,6 +37,7 @@ export declare const MeshSchema: {
|
|
|
37
37
|
readonly uMetalness: UniformSpec<"f">;
|
|
38
38
|
readonly uRoughness: UniformSpec<"f">;
|
|
39
39
|
readonly uBumpiness: UniformSpec<"f">;
|
|
40
|
+
readonly uEmissive: UniformSpec<"f">;
|
|
40
41
|
readonly uVertexCount: UniformSpec<"i">;
|
|
41
42
|
readonly uInstanceCount: UniformSpec<"i">;
|
|
42
43
|
readonly uGroupCount: UniformSpec<"i">;
|
|
@@ -65,6 +66,15 @@ export declare const MeshSchema: {
|
|
|
65
66
|
readonly tSubstanceGrid: import("./schema").TextureSpec<"texture">;
|
|
66
67
|
readonly dSubstanceType: DefineSpec<"string">;
|
|
67
68
|
readonly uSubstanceStrength: UniformSpec<"f">;
|
|
69
|
+
readonly uEmissiveTexDim: UniformSpec<"v2">;
|
|
70
|
+
readonly tEmissive: import("./schema").TextureSpec<"image-uint8">;
|
|
71
|
+
readonly dEmissive: DefineSpec<"boolean">;
|
|
72
|
+
readonly emissiveAverage: ValueSpec<"number">;
|
|
73
|
+
readonly uEmissiveGridDim: UniformSpec<"v3">;
|
|
74
|
+
readonly uEmissiveGridTransform: UniformSpec<"v4">;
|
|
75
|
+
readonly tEmissiveGrid: import("./schema").TextureSpec<"texture">;
|
|
76
|
+
readonly dEmissiveType: DefineSpec<"string">;
|
|
77
|
+
readonly uEmissiveStrength: UniformSpec<"f">;
|
|
68
78
|
readonly uTransparencyTexDim: UniformSpec<"v2">;
|
|
69
79
|
readonly tTransparency: import("./schema").TextureSpec<"image-uint8">;
|
|
70
80
|
readonly dTransparency: DefineSpec<"boolean">;
|
|
@@ -32,6 +32,7 @@ export declare const PointsSchema: {
|
|
|
32
32
|
uMetalness: import("./schema").UniformSpec<"f">;
|
|
33
33
|
uRoughness: import("./schema").UniformSpec<"f">;
|
|
34
34
|
uBumpiness: import("./schema").UniformSpec<"f">;
|
|
35
|
+
uEmissive: import("./schema").UniformSpec<"f">;
|
|
35
36
|
uVertexCount: import("./schema").UniformSpec<"i">;
|
|
36
37
|
uInstanceCount: import("./schema").UniformSpec<"i">;
|
|
37
38
|
uGroupCount: import("./schema").UniformSpec<"i">;
|
|
@@ -60,6 +61,15 @@ export declare const PointsSchema: {
|
|
|
60
61
|
tSubstanceGrid: import("./schema").TextureSpec<"texture">;
|
|
61
62
|
dSubstanceType: DefineSpec<"string">;
|
|
62
63
|
uSubstanceStrength: import("./schema").UniformSpec<"f">;
|
|
64
|
+
uEmissiveTexDim: import("./schema").UniformSpec<"v2">;
|
|
65
|
+
tEmissive: import("./schema").TextureSpec<"image-uint8">;
|
|
66
|
+
dEmissive: DefineSpec<"boolean">;
|
|
67
|
+
emissiveAverage: import("./schema").ValueSpec<"number">;
|
|
68
|
+
uEmissiveGridDim: import("./schema").UniformSpec<"v3">;
|
|
69
|
+
uEmissiveGridTransform: import("./schema").UniformSpec<"v4">;
|
|
70
|
+
tEmissiveGrid: import("./schema").TextureSpec<"texture">;
|
|
71
|
+
dEmissiveType: DefineSpec<"string">;
|
|
72
|
+
uEmissiveStrength: import("./schema").UniformSpec<"f">;
|
|
63
73
|
uTransparencyTexDim: import("./schema").UniformSpec<"v2">;
|
|
64
74
|
tTransparency: import("./schema").TextureSpec<"image-uint8">;
|
|
65
75
|
dTransparency: DefineSpec<"boolean">;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
* @author Gianluca Tomasello <giagitom@gmail.com>
|
|
@@ -211,6 +211,19 @@ export declare const TransparencySchema: {
|
|
|
211
211
|
};
|
|
212
212
|
export type TransparencySchema = typeof TransparencySchema;
|
|
213
213
|
export type TransparencyValues = Values<TransparencySchema>;
|
|
214
|
+
export declare const EmissiveSchema: {
|
|
215
|
+
readonly uEmissiveTexDim: UniformSpec<"v2">;
|
|
216
|
+
readonly tEmissive: TextureSpec<"image-uint8">;
|
|
217
|
+
readonly dEmissive: DefineSpec<"boolean">;
|
|
218
|
+
readonly emissiveAverage: ValueSpec<"number">;
|
|
219
|
+
readonly uEmissiveGridDim: UniformSpec<"v3">;
|
|
220
|
+
readonly uEmissiveGridTransform: UniformSpec<"v4">;
|
|
221
|
+
readonly tEmissiveGrid: TextureSpec<"texture">;
|
|
222
|
+
readonly dEmissiveType: DefineSpec<"string">;
|
|
223
|
+
readonly uEmissiveStrength: UniformSpec<"f">;
|
|
224
|
+
};
|
|
225
|
+
export type EmissiveSchema = typeof EmissiveSchema;
|
|
226
|
+
export type EmissiveValues = Values<EmissiveSchema>;
|
|
214
227
|
export declare const SubstanceSchema: {
|
|
215
228
|
readonly uSubstanceTexDim: UniformSpec<"v2">;
|
|
216
229
|
readonly tSubstance: TextureSpec<"image-uint8">;
|
|
@@ -254,6 +267,7 @@ export declare const BaseSchema: {
|
|
|
254
267
|
readonly uMetalness: UniformSpec<"f">;
|
|
255
268
|
readonly uRoughness: UniformSpec<"f">;
|
|
256
269
|
readonly uBumpiness: UniformSpec<"f">;
|
|
270
|
+
readonly uEmissive: UniformSpec<"f">;
|
|
257
271
|
readonly uVertexCount: UniformSpec<"i">;
|
|
258
272
|
readonly uInstanceCount: UniformSpec<"i">;
|
|
259
273
|
readonly uGroupCount: UniformSpec<"i">;
|
|
@@ -290,6 +304,15 @@ export declare const BaseSchema: {
|
|
|
290
304
|
readonly tSubstanceGrid: TextureSpec<"texture">;
|
|
291
305
|
readonly dSubstanceType: DefineSpec<"string">;
|
|
292
306
|
readonly uSubstanceStrength: UniformSpec<"f">;
|
|
307
|
+
readonly uEmissiveTexDim: UniformSpec<"v2">;
|
|
308
|
+
readonly tEmissive: TextureSpec<"image-uint8">;
|
|
309
|
+
readonly dEmissive: DefineSpec<"boolean">;
|
|
310
|
+
readonly emissiveAverage: ValueSpec<"number">;
|
|
311
|
+
readonly uEmissiveGridDim: UniformSpec<"v3">;
|
|
312
|
+
readonly uEmissiveGridTransform: UniformSpec<"v4">;
|
|
313
|
+
readonly tEmissiveGrid: TextureSpec<"texture">;
|
|
314
|
+
readonly dEmissiveType: DefineSpec<"string">;
|
|
315
|
+
readonly uEmissiveStrength: UniformSpec<"f">;
|
|
293
316
|
readonly uTransparencyTexDim: UniformSpec<"v2">;
|
|
294
317
|
readonly tTransparency: TextureSpec<"image-uint8">;
|
|
295
318
|
readonly dTransparency: DefineSpec<"boolean">;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
* @author Gianluca Tomasello <giagitom@gmail.com>
|
|
@@ -170,6 +170,17 @@ export const TransparencySchema = {
|
|
|
170
170
|
dTransparencyType: DefineSpec('string', ['instance', 'groupInstance', 'volumeInstance']),
|
|
171
171
|
uTransparencyStrength: UniformSpec('f', 'material'),
|
|
172
172
|
};
|
|
173
|
+
export const EmissiveSchema = {
|
|
174
|
+
uEmissiveTexDim: UniformSpec('v2'),
|
|
175
|
+
tEmissive: TextureSpec('image-uint8', 'alpha', 'ubyte', 'nearest'),
|
|
176
|
+
dEmissive: DefineSpec('boolean'),
|
|
177
|
+
emissiveAverage: ValueSpec('number'),
|
|
178
|
+
uEmissiveGridDim: UniformSpec('v3'),
|
|
179
|
+
uEmissiveGridTransform: UniformSpec('v4'),
|
|
180
|
+
tEmissiveGrid: TextureSpec('texture', 'alpha', 'ubyte', 'linear'),
|
|
181
|
+
dEmissiveType: DefineSpec('string', ['instance', 'groupInstance', 'volumeInstance']),
|
|
182
|
+
uEmissiveStrength: UniformSpec('f', 'material'),
|
|
183
|
+
};
|
|
173
184
|
export const SubstanceSchema = {
|
|
174
185
|
uSubstanceTexDim: UniformSpec('v2'),
|
|
175
186
|
tSubstance: TextureSpec('image-uint8', 'rgba', 'ubyte', 'nearest'),
|
|
@@ -192,6 +203,7 @@ export const BaseSchema = {
|
|
|
192
203
|
...MarkerSchema,
|
|
193
204
|
...OverpaintSchema,
|
|
194
205
|
...TransparencySchema,
|
|
206
|
+
...EmissiveSchema,
|
|
195
207
|
...SubstanceSchema,
|
|
196
208
|
...ClippingSchema,
|
|
197
209
|
dLightCount: DefineSpec('number'),
|
|
@@ -216,6 +228,7 @@ export const BaseSchema = {
|
|
|
216
228
|
uMetalness: UniformSpec('f', 'material'),
|
|
217
229
|
uRoughness: UniformSpec('f', 'material'),
|
|
218
230
|
uBumpiness: UniformSpec('f', 'material'),
|
|
231
|
+
uEmissive: UniformSpec('f', 'material'),
|
|
219
232
|
uVertexCount: UniformSpec('i'),
|
|
220
233
|
uInstanceCount: UniformSpec('i'),
|
|
221
234
|
uGroupCount: UniformSpec('i'),
|
|
@@ -44,6 +44,7 @@ export declare const SpheresSchema: {
|
|
|
44
44
|
uMetalness: UniformSpec<"f">;
|
|
45
45
|
uRoughness: UniformSpec<"f">;
|
|
46
46
|
uBumpiness: UniformSpec<"f">;
|
|
47
|
+
uEmissive: UniformSpec<"f">;
|
|
47
48
|
uVertexCount: UniformSpec<"i">;
|
|
48
49
|
uInstanceCount: UniformSpec<"i">;
|
|
49
50
|
uGroupCount: UniformSpec<"i">;
|
|
@@ -72,6 +73,15 @@ export declare const SpheresSchema: {
|
|
|
72
73
|
tSubstanceGrid: TextureSpec<"texture">;
|
|
73
74
|
dSubstanceType: DefineSpec<"string">;
|
|
74
75
|
uSubstanceStrength: UniformSpec<"f">;
|
|
76
|
+
uEmissiveTexDim: UniformSpec<"v2">;
|
|
77
|
+
tEmissive: TextureSpec<"image-uint8">;
|
|
78
|
+
dEmissive: DefineSpec<"boolean">;
|
|
79
|
+
emissiveAverage: ValueSpec<"number">;
|
|
80
|
+
uEmissiveGridDim: UniformSpec<"v3">;
|
|
81
|
+
uEmissiveGridTransform: UniformSpec<"v4">;
|
|
82
|
+
tEmissiveGrid: TextureSpec<"texture">;
|
|
83
|
+
dEmissiveType: DefineSpec<"string">;
|
|
84
|
+
uEmissiveStrength: UniformSpec<"f">;
|
|
75
85
|
uTransparencyTexDim: UniformSpec<"v2">;
|
|
76
86
|
tTransparency: TextureSpec<"image-uint8">;
|
|
77
87
|
dTransparency: DefineSpec<"boolean">;
|
|
@@ -43,6 +43,7 @@ export declare const TextSchema: {
|
|
|
43
43
|
uMetalness: UniformSpec<"f">;
|
|
44
44
|
uRoughness: UniformSpec<"f">;
|
|
45
45
|
uBumpiness: UniformSpec<"f">;
|
|
46
|
+
uEmissive: UniformSpec<"f">;
|
|
46
47
|
uVertexCount: UniformSpec<"i">;
|
|
47
48
|
uInstanceCount: UniformSpec<"i">;
|
|
48
49
|
uGroupCount: UniformSpec<"i">;
|
|
@@ -71,6 +72,15 @@ export declare const TextSchema: {
|
|
|
71
72
|
tSubstanceGrid: TextureSpec<"texture">;
|
|
72
73
|
dSubstanceType: import("./schema").DefineSpec<"string">;
|
|
73
74
|
uSubstanceStrength: UniformSpec<"f">;
|
|
75
|
+
uEmissiveTexDim: UniformSpec<"v2">;
|
|
76
|
+
tEmissive: TextureSpec<"image-uint8">;
|
|
77
|
+
dEmissive: import("./schema").DefineSpec<"boolean">;
|
|
78
|
+
emissiveAverage: ValueSpec<"number">;
|
|
79
|
+
uEmissiveGridDim: UniformSpec<"v3">;
|
|
80
|
+
uEmissiveGridTransform: UniformSpec<"v4">;
|
|
81
|
+
tEmissiveGrid: TextureSpec<"texture">;
|
|
82
|
+
dEmissiveType: import("./schema").DefineSpec<"string">;
|
|
83
|
+
uEmissiveStrength: UniformSpec<"f">;
|
|
74
84
|
uTransparencyTexDim: UniformSpec<"v2">;
|
|
75
85
|
tTransparency: TextureSpec<"image-uint8">;
|
|
76
86
|
dTransparency: import("./schema").DefineSpec<"boolean">;
|
|
@@ -37,6 +37,7 @@ export declare const TextureMeshSchema: {
|
|
|
37
37
|
uMetalness: UniformSpec<"f">;
|
|
38
38
|
uRoughness: UniformSpec<"f">;
|
|
39
39
|
uBumpiness: UniformSpec<"f">;
|
|
40
|
+
uEmissive: UniformSpec<"f">;
|
|
40
41
|
uVertexCount: UniformSpec<"i">;
|
|
41
42
|
uInstanceCount: UniformSpec<"i">;
|
|
42
43
|
uGroupCount: UniformSpec<"i">;
|
|
@@ -65,6 +66,15 @@ export declare const TextureMeshSchema: {
|
|
|
65
66
|
tSubstanceGrid: TextureSpec<"texture">;
|
|
66
67
|
dSubstanceType: DefineSpec<"string">;
|
|
67
68
|
uSubstanceStrength: UniformSpec<"f">;
|
|
69
|
+
uEmissiveTexDim: UniformSpec<"v2">;
|
|
70
|
+
tEmissive: TextureSpec<"image-uint8">;
|
|
71
|
+
dEmissive: DefineSpec<"boolean">;
|
|
72
|
+
emissiveAverage: ValueSpec<"number">;
|
|
73
|
+
uEmissiveGridDim: UniformSpec<"v3">;
|
|
74
|
+
uEmissiveGridTransform: UniformSpec<"v4">;
|
|
75
|
+
tEmissiveGrid: TextureSpec<"texture">;
|
|
76
|
+
dEmissiveType: DefineSpec<"string">;
|
|
77
|
+
uEmissiveStrength: UniformSpec<"f">;
|
|
68
78
|
uTransparencyTexDim: UniformSpec<"v2">;
|
|
69
79
|
tTransparency: TextureSpec<"image-uint8">;
|
|
70
80
|
dTransparency: DefineSpec<"boolean">;
|
package/lib/mol-gl/renderable.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
*/
|
|
@@ -75,7 +75,7 @@ export function createRenderable(renderItem, values, state) {
|
|
|
75
75
|
return;
|
|
76
76
|
if (values.instanceCount.ref.value === 0)
|
|
77
77
|
return;
|
|
78
|
-
if (
|
|
78
|
+
if (values.instanceGrid.ref.value.cellSize <= 1)
|
|
79
79
|
return;
|
|
80
80
|
const { cellOffsets, cellSpheres, cellCount, batchOffsets, batchSpheres, batchCount, batchCell, batchSize } = values.instanceGrid.ref.value;
|
|
81
81
|
const [minDistance, maxDistance] = values.uLod.ref.value;
|
package/lib/mol-gl/renderer.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
* @author Gianluca Tomasello <giagitom@gmail.com>
|
|
@@ -48,6 +48,7 @@ interface Renderer {
|
|
|
48
48
|
renderDepthTransparent: (group: Scene.Group, camera: ICamera, depthTexture: Texture | null) => void;
|
|
49
49
|
renderMarkingDepth: (group: Scene.Group, camera: ICamera, depthTexture: Texture | null) => void;
|
|
50
50
|
renderMarkingMask: (group: Scene.Group, camera: ICamera, depthTexture: Texture | null) => void;
|
|
51
|
+
renderEmissive: (group: Scene.Group, camera: ICamera, depthTexture: Texture | null) => void;
|
|
51
52
|
renderBlended: (group: Scene, camera: ICamera) => void;
|
|
52
53
|
renderBlendedOpaque: (group: Scene.Group, camera: ICamera, depthTexture: Texture | null) => void;
|
|
53
54
|
renderBlendedTransparent: (group: Scene.Group, camera: ICamera, depthTexture: Texture | null) => void;
|
package/lib/mol-gl/renderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
* @author Gianluca Tomasello <giagitom@gmail.com>
|
|
@@ -174,7 +174,8 @@ var Renderer;
|
|
|
174
174
|
if (d - radius > maxDistance)
|
|
175
175
|
return;
|
|
176
176
|
}
|
|
177
|
-
|
|
177
|
+
const hasInstanceGrid = r.values.instanceGrid.ref.value.cellSize > 1;
|
|
178
|
+
if (hasInstanceGrid || (hasInstanceGrid && r.values.lodLevels)) {
|
|
178
179
|
r.cull(cameraPlane, frustum, isOccluded, ctx.stats);
|
|
179
180
|
}
|
|
180
181
|
else {
|
|
@@ -301,6 +302,30 @@ var Renderer;
|
|
|
301
302
|
globalUniformsNeedUpdate = true;
|
|
302
303
|
state.currentRenderItemId = -1;
|
|
303
304
|
};
|
|
305
|
+
const checkOpaque = function (r) {
|
|
306
|
+
var _a, _b, _c, _d;
|
|
307
|
+
// uAlpha is updated in `r.render` so we need to recompute it here
|
|
308
|
+
const alpha = clamp(r.values.alpha.ref.value * r.state.alphaFactor, 0, 1);
|
|
309
|
+
const xrayShaded = ((_a = r.values.dXrayShaded) === null || _a === void 0 ? void 0 : _a.ref.value) === 'on' || ((_b = r.values.dXrayShaded) === null || _b === void 0 ? void 0 : _b.ref.value) === 'inverted';
|
|
310
|
+
return ((alpha === 1 &&
|
|
311
|
+
r.values.transparencyAverage.ref.value !== 1 &&
|
|
312
|
+
r.values.dGeometryType.ref.value !== 'directVolume' &&
|
|
313
|
+
((_c = r.values.dPointStyle) === null || _c === void 0 ? void 0 : _c.ref.value) !== 'fuzzy' &&
|
|
314
|
+
!xrayShaded) || ((_d = r.values.dTransparentBackfaces) === null || _d === void 0 ? void 0 : _d.ref.value) === 'opaque');
|
|
315
|
+
};
|
|
316
|
+
const checkTransparent = function (r) {
|
|
317
|
+
var _a, _b, _c;
|
|
318
|
+
// uAlpha is updated in `r.render` so we need to recompute it here
|
|
319
|
+
const alpha = clamp(r.values.alpha.ref.value * r.state.alphaFactor, 0, 1);
|
|
320
|
+
const xrayShaded = ((_a = r.values.dXrayShaded) === null || _a === void 0 ? void 0 : _a.ref.value) === 'on' || ((_b = r.values.dXrayShaded) === null || _b === void 0 ? void 0 : _b.ref.value) === 'inverted';
|
|
321
|
+
return ((alpha < 1 && alpha !== 0) ||
|
|
322
|
+
r.values.transparencyAverage.ref.value > 0 ||
|
|
323
|
+
r.values.dGeometryType.ref.value === 'directVolume' ||
|
|
324
|
+
((_c = r.values.dPointStyle) === null || _c === void 0 ? void 0 : _c.ref.value) === 'fuzzy' ||
|
|
325
|
+
r.values.dGeometryType.ref.value === 'text' ||
|
|
326
|
+
r.values.dGeometryType.ref.value === 'image' ||
|
|
327
|
+
xrayShaded);
|
|
328
|
+
};
|
|
304
329
|
const renderPick = (group, camera, variant, depthTexture, pickType) => {
|
|
305
330
|
if (isTimingMode)
|
|
306
331
|
ctx.timer.mark('Renderer.renderPick');
|
|
@@ -333,7 +358,6 @@ var Renderer;
|
|
|
333
358
|
ctx.timer.markEnd('Renderer.renderDepth');
|
|
334
359
|
};
|
|
335
360
|
const renderDepthOpaque = (group, camera, depthTexture) => {
|
|
336
|
-
var _a, _b;
|
|
337
361
|
if (isTimingMode)
|
|
338
362
|
ctx.timer.mark('Renderer.renderDepthOpaque');
|
|
339
363
|
state.disable(gl.BLEND);
|
|
@@ -343,8 +367,7 @@ var Renderer;
|
|
|
343
367
|
const { renderables } = group;
|
|
344
368
|
for (let i = 0, il = renderables.length; i < il; ++i) {
|
|
345
369
|
const r = renderables[i];
|
|
346
|
-
|
|
347
|
-
if (r.state.opaque && r.values.transparencyAverage.ref.value !== 1 && !xrayShaded) {
|
|
370
|
+
if (checkOpaque(r)) {
|
|
348
371
|
renderObject(r, 'depth', 0 /* Flag.None */);
|
|
349
372
|
}
|
|
350
373
|
}
|
|
@@ -352,7 +375,6 @@ var Renderer;
|
|
|
352
375
|
ctx.timer.markEnd('Renderer.renderDepthOpaque');
|
|
353
376
|
};
|
|
354
377
|
const renderDepthTransparent = (group, camera, depthTexture) => {
|
|
355
|
-
var _a, _b;
|
|
356
378
|
if (isTimingMode)
|
|
357
379
|
ctx.timer.mark('Renderer.renderDepthTransparent');
|
|
358
380
|
state.disable(gl.BLEND);
|
|
@@ -362,8 +384,7 @@ var Renderer;
|
|
|
362
384
|
const { renderables } = group;
|
|
363
385
|
for (let i = 0, il = renderables.length; i < il; ++i) {
|
|
364
386
|
const r = renderables[i];
|
|
365
|
-
|
|
366
|
-
if (!r.state.opaque || r.values.transparencyAverage.ref.value > 0 || xrayShaded) {
|
|
387
|
+
if (checkTransparent(r)) {
|
|
367
388
|
renderObject(r, 'depth', 0 /* Flag.None */);
|
|
368
389
|
}
|
|
369
390
|
}
|
|
@@ -382,7 +403,7 @@ var Renderer;
|
|
|
382
403
|
for (let i = 0, il = renderables.length; i < il; ++i) {
|
|
383
404
|
const r = renderables[i];
|
|
384
405
|
const alpha = clamp(r.values.alpha.ref.value * r.state.alphaFactor, 0, 1);
|
|
385
|
-
if (alpha !== 0 && r.values.markerAverage.ref.value !== 1) {
|
|
406
|
+
if (alpha !== 0 && r.values.transparencyAverage.ref.value !== 1 && r.values.markerAverage.ref.value !== 1) {
|
|
386
407
|
renderObject(renderables[i], 'marking', 0 /* Flag.None */);
|
|
387
408
|
}
|
|
388
409
|
}
|
|
@@ -407,6 +428,23 @@ var Renderer;
|
|
|
407
428
|
if (isTimingMode)
|
|
408
429
|
ctx.timer.markEnd('Renderer.renderMarkingMask');
|
|
409
430
|
};
|
|
431
|
+
const renderEmissive = (group, camera, depthTexture) => {
|
|
432
|
+
if (isTimingMode)
|
|
433
|
+
ctx.timer.mark('Renderer.renderEmissive');
|
|
434
|
+
state.disable(gl.BLEND);
|
|
435
|
+
state.enable(gl.DEPTH_TEST);
|
|
436
|
+
state.depthMask(true);
|
|
437
|
+
updateInternal(group, camera, depthTexture, 1 /* Mask.Opaque */, false);
|
|
438
|
+
const { renderables } = group;
|
|
439
|
+
for (let i = 0, il = renderables.length; i < il; ++i) {
|
|
440
|
+
const r = renderables[i];
|
|
441
|
+
if (checkOpaque(r)) {
|
|
442
|
+
renderObject(r, 'emissive', 0 /* Flag.None */);
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
if (isTimingMode)
|
|
446
|
+
ctx.timer.markEnd('Renderer.renderEmissive');
|
|
447
|
+
};
|
|
410
448
|
const renderBlended = (scene, camera) => {
|
|
411
449
|
if (scene.hasOpaque) {
|
|
412
450
|
renderBlendedOpaque(scene, camera, null);
|
|
@@ -416,7 +454,6 @@ var Renderer;
|
|
|
416
454
|
}
|
|
417
455
|
};
|
|
418
456
|
const renderBlendedOpaque = (group, camera, depthTexture) => {
|
|
419
|
-
var _a, _b;
|
|
420
457
|
if (isTimingMode)
|
|
421
458
|
ctx.timer.mark('Renderer.renderBlendedOpaque');
|
|
422
459
|
state.disable(gl.BLEND);
|
|
@@ -426,12 +463,9 @@ var Renderer;
|
|
|
426
463
|
const { renderables } = group;
|
|
427
464
|
for (let i = 0, il = renderables.length; i < il; ++i) {
|
|
428
465
|
const r = renderables[i];
|
|
429
|
-
if (r
|
|
466
|
+
if (checkOpaque(r)) {
|
|
430
467
|
renderObject(r, 'color', 0 /* Flag.None */);
|
|
431
468
|
}
|
|
432
|
-
else if (((_a = r.values.uDoubleSided) === null || _a === void 0 ? void 0 : _a.ref.value) && ((_b = r.values.dTransparentBackfaces) === null || _b === void 0 ? void 0 : _b.ref.value) === 'opaque') {
|
|
433
|
-
renderObject(r, 'color', 2 /* Flag.BlendedBack */);
|
|
434
|
-
}
|
|
435
469
|
}
|
|
436
470
|
if (isTimingMode)
|
|
437
471
|
ctx.timer.markEnd('Renderer.renderBlendedOpaque');
|
|
@@ -440,9 +474,6 @@ var Renderer;
|
|
|
440
474
|
var _a, _b;
|
|
441
475
|
if (isTimingMode)
|
|
442
476
|
ctx.timer.mark('Renderer.renderBlendedTransparent');
|
|
443
|
-
state.enable(gl.DEPTH_TEST);
|
|
444
|
-
updateInternal(group, camera, depthTexture, 2 /* Mask.Transparent */, false);
|
|
445
|
-
const { renderables } = group;
|
|
446
477
|
if (transparentBackground) {
|
|
447
478
|
state.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
|
|
448
479
|
}
|
|
@@ -450,17 +481,13 @@ var Renderer;
|
|
|
450
481
|
state.blendFuncSeparate(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
|
|
451
482
|
}
|
|
452
483
|
state.enable(gl.BLEND);
|
|
453
|
-
state.
|
|
454
|
-
for (let i = 0, il = renderables.length; i < il; ++i) {
|
|
455
|
-
const r = renderables[i];
|
|
456
|
-
if (!r.state.opaque && r.state.writeDepth) {
|
|
457
|
-
renderObject(r, 'color', 0 /* Flag.None */);
|
|
458
|
-
}
|
|
459
|
-
}
|
|
484
|
+
state.enable(gl.DEPTH_TEST);
|
|
460
485
|
state.depthMask(false);
|
|
486
|
+
updateInternal(group, camera, depthTexture, 2 /* Mask.Transparent */, false);
|
|
487
|
+
const { renderables } = group;
|
|
461
488
|
for (let i = 0, il = renderables.length; i < il; ++i) {
|
|
462
489
|
const r = renderables[i];
|
|
463
|
-
if ((
|
|
490
|
+
if (checkTransparent(r)) {
|
|
464
491
|
if ((_a = r.values.uDoubleSided) === null || _a === void 0 ? void 0 : _a.ref.value) {
|
|
465
492
|
// render frontfaces and backfaces separately to avoid artefacts
|
|
466
493
|
if (((_b = r.values.dTransparentBackfaces) === null || _b === void 0 ? void 0 : _b.ref.value) !== 'opaque') {
|
|
@@ -481,6 +508,7 @@ var Renderer;
|
|
|
481
508
|
ctx.timer.mark('Renderer.renderBlendedVolume');
|
|
482
509
|
state.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
|
|
483
510
|
state.enable(gl.BLEND);
|
|
511
|
+
state.depthMask(false);
|
|
484
512
|
updateInternal(group, camera, depthTexture, 2 /* Mask.Transparent */, false);
|
|
485
513
|
const { renderables } = group;
|
|
486
514
|
for (let i = 0, il = renderables.length; i < il; ++i) {
|
|
@@ -493,7 +521,6 @@ var Renderer;
|
|
|
493
521
|
ctx.timer.markEnd('Renderer.renderBlendedVolume');
|
|
494
522
|
};
|
|
495
523
|
const renderWboitOpaque = (group, camera, depthTexture) => {
|
|
496
|
-
var _a, _b, _c, _d;
|
|
497
524
|
if (isTimingMode)
|
|
498
525
|
ctx.timer.mark('Renderer.renderWboitOpaque');
|
|
499
526
|
state.disable(gl.BLEND);
|
|
@@ -503,11 +530,7 @@ var Renderer;
|
|
|
503
530
|
const { renderables } = group;
|
|
504
531
|
for (let i = 0, il = renderables.length; i < il; ++i) {
|
|
505
532
|
const r = renderables[i];
|
|
506
|
-
|
|
507
|
-
// uAlpha is updated in "render" so we need to recompute it here
|
|
508
|
-
const alpha = clamp(r.values.alpha.ref.value * r.state.alphaFactor, 0, 1);
|
|
509
|
-
const xrayShaded = ((_a = r.values.dXrayShaded) === null || _a === void 0 ? void 0 : _a.ref.value) === 'on' || ((_b = r.values.dXrayShaded) === null || _b === void 0 ? void 0 : _b.ref.value) === 'inverted';
|
|
510
|
-
if ((alpha === 1 && r.values.transparencyAverage.ref.value !== 1 && r.values.dGeometryType.ref.value !== 'directVolume' && ((_c = r.values.dPointStyle) === null || _c === void 0 ? void 0 : _c.ref.value) !== 'fuzzy' && !xrayShaded) || ((_d = r.values.dTransparentBackfaces) === null || _d === void 0 ? void 0 : _d.ref.value) === 'opaque') {
|
|
533
|
+
if (checkOpaque(r)) {
|
|
511
534
|
renderObject(r, 'color', 0 /* Flag.None */);
|
|
512
535
|
}
|
|
513
536
|
}
|
|
@@ -515,18 +538,13 @@ var Renderer;
|
|
|
515
538
|
ctx.timer.markEnd('Renderer.renderWboitOpaque');
|
|
516
539
|
};
|
|
517
540
|
const renderWboitTransparent = (group, camera, depthTexture) => {
|
|
518
|
-
var _a, _b, _c;
|
|
519
541
|
if (isTimingMode)
|
|
520
542
|
ctx.timer.mark('Renderer.renderWboitTransparent');
|
|
521
543
|
updateInternal(group, camera, depthTexture, 2 /* Mask.Transparent */, false);
|
|
522
544
|
const { renderables } = group;
|
|
523
545
|
for (let i = 0, il = renderables.length; i < il; ++i) {
|
|
524
546
|
const r = renderables[i];
|
|
525
|
-
|
|
526
|
-
// uAlpha is updated in "render" so we need to recompute it here
|
|
527
|
-
const alpha = clamp(r.values.alpha.ref.value * r.state.alphaFactor, 0, 1);
|
|
528
|
-
const xrayShaded = ((_a = r.values.dXrayShaded) === null || _a === void 0 ? void 0 : _a.ref.value) === 'on' || ((_b = r.values.dXrayShaded) === null || _b === void 0 ? void 0 : _b.ref.value) === 'inverted';
|
|
529
|
-
if ((alpha < 1 && alpha !== 0) || r.values.transparencyAverage.ref.value > 0 || r.values.dGeometryType.ref.value === 'directVolume' || ((_c = r.values.dPointStyle) === null || _c === void 0 ? void 0 : _c.ref.value) === 'fuzzy' || r.values.dGeometryType.ref.value === 'text' || xrayShaded) {
|
|
547
|
+
if (checkTransparent(r)) {
|
|
530
548
|
renderObject(r, 'color', 0 /* Flag.None */);
|
|
531
549
|
}
|
|
532
550
|
}
|
|
@@ -534,7 +552,6 @@ var Renderer;
|
|
|
534
552
|
ctx.timer.markEnd('Renderer.renderWboitTransparent');
|
|
535
553
|
};
|
|
536
554
|
const renderDpoitOpaque = (group, camera, depthTexture) => {
|
|
537
|
-
var _a, _b, _c, _d;
|
|
538
555
|
if (isTimingMode)
|
|
539
556
|
ctx.timer.mark('Renderer.renderDpoitOpaque');
|
|
540
557
|
state.disable(gl.BLEND);
|
|
@@ -544,11 +561,7 @@ var Renderer;
|
|
|
544
561
|
const { renderables } = group;
|
|
545
562
|
for (let i = 0, il = renderables.length; i < il; ++i) {
|
|
546
563
|
const r = renderables[i];
|
|
547
|
-
|
|
548
|
-
// uAlpha is updated in "render" so we need to recompute it here
|
|
549
|
-
const alpha = clamp(r.values.alpha.ref.value * r.state.alphaFactor, 0, 1);
|
|
550
|
-
const xrayShaded = ((_a = r.values.dXrayShaded) === null || _a === void 0 ? void 0 : _a.ref.value) === 'on' || ((_b = r.values.dXrayShaded) === null || _b === void 0 ? void 0 : _b.ref.value) === 'inverted';
|
|
551
|
-
if ((alpha === 1 && r.values.transparencyAverage.ref.value !== 1 && ((_c = r.values.dPointStyle) === null || _c === void 0 ? void 0 : _c.ref.value) !== 'fuzzy' && !xrayShaded) || ((_d = r.values.dTransparentBackfaces) === null || _d === void 0 ? void 0 : _d.ref.value) === 'opaque') {
|
|
564
|
+
if (checkOpaque(r)) {
|
|
552
565
|
renderObject(r, 'color', 0 /* Flag.None */);
|
|
553
566
|
}
|
|
554
567
|
}
|
|
@@ -556,7 +569,6 @@ var Renderer;
|
|
|
556
569
|
ctx.timer.markEnd('Renderer.renderDpoitOpaque');
|
|
557
570
|
};
|
|
558
571
|
const renderDpoitTransparent = (group, camera, depthTexture, dpoitTextures) => {
|
|
559
|
-
var _a, _b, _c;
|
|
560
572
|
if (isTimingMode)
|
|
561
573
|
ctx.timer.mark('Renderer.renderDpoitTransparent');
|
|
562
574
|
state.enable(gl.BLEND);
|
|
@@ -567,11 +579,7 @@ var Renderer;
|
|
|
567
579
|
const { renderables } = group;
|
|
568
580
|
for (let i = 0, il = renderables.length; i < il; ++i) {
|
|
569
581
|
const r = renderables[i];
|
|
570
|
-
|
|
571
|
-
// uAlpha is updated in "render" so we need to recompute it here
|
|
572
|
-
const alpha = clamp(r.values.alpha.ref.value * r.state.alphaFactor, 0, 1);
|
|
573
|
-
const xrayShaded = ((_a = r.values.dXrayShaded) === null || _a === void 0 ? void 0 : _a.ref.value) === 'on' || ((_b = r.values.dXrayShaded) === null || _b === void 0 ? void 0 : _b.ref.value) === 'inverted';
|
|
574
|
-
if ((alpha < 1 && alpha !== 0) || r.values.transparencyAverage.ref.value > 0 || ((_c = r.values.dPointStyle) === null || _c === void 0 ? void 0 : _c.ref.value) === 'fuzzy' || r.values.dGeometryType.ref.value === 'text' || xrayShaded) {
|
|
582
|
+
if (checkTransparent(r)) {
|
|
575
583
|
renderObject(r, 'color', 0 /* Flag.None */);
|
|
576
584
|
}
|
|
577
585
|
}
|
|
@@ -631,6 +639,7 @@ var Renderer;
|
|
|
631
639
|
renderDepthTransparent,
|
|
632
640
|
renderMarkingDepth,
|
|
633
641
|
renderMarkingMask,
|
|
642
|
+
renderEmissive,
|
|
634
643
|
renderBlended,
|
|
635
644
|
renderBlendedOpaque,
|
|
636
645
|
renderBlendedTransparent,
|
package/lib/mol-gl/scene.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
* @author David Sehnal <david.sehnal@gmail.com>
|
|
@@ -31,6 +31,8 @@ interface Scene extends Object3D {
|
|
|
31
31
|
forEach: (callbackFn: (value: GraphicsRenderable, key: GraphicsRenderObject) => void) => void;
|
|
32
32
|
/** Marker average of primitive renderables */
|
|
33
33
|
readonly markerAverage: number;
|
|
34
|
+
/** Emissive average of primitive renderables */
|
|
35
|
+
readonly emissiveAverage: number;
|
|
34
36
|
/** Opacity average of primitive renderables */
|
|
35
37
|
readonly opacityAverage: number;
|
|
36
38
|
/** Is `true` if any primitive renderable (possibly) has any opaque part */
|
package/lib/mol-gl/scene.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c) 2018-
|
|
2
|
+
* Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
|
|
3
3
|
*
|
|
4
4
|
* @author Alexander Rose <alexander.rose@weirdbyte.de>
|
|
5
5
|
* @author David Sehnal <david.sehnal@gmail.com>
|
|
@@ -64,9 +64,11 @@ var Scene;
|
|
|
64
64
|
let boundingSphereDirty = true;
|
|
65
65
|
let boundingSphereVisibleDirty = true;
|
|
66
66
|
let markerAverageDirty = true;
|
|
67
|
+
let emissiveAverageDirty = true;
|
|
67
68
|
let opacityAverageDirty = true;
|
|
68
69
|
let hasOpaqueDirty = true;
|
|
69
70
|
let markerAverage = 0;
|
|
71
|
+
let emissiveAverage = 0;
|
|
70
72
|
let opacityAverage = 0;
|
|
71
73
|
let hasOpaque = false;
|
|
72
74
|
const object3d = Object3D.create();
|
|
@@ -123,6 +125,7 @@ var Scene;
|
|
|
123
125
|
}
|
|
124
126
|
renderables.sort(renderableSort);
|
|
125
127
|
markerAverageDirty = true;
|
|
128
|
+
emissiveAverageDirty = true;
|
|
126
129
|
opacityAverageDirty = true;
|
|
127
130
|
hasOpaqueDirty = true;
|
|
128
131
|
return true;
|
|
@@ -146,6 +149,7 @@ var Scene;
|
|
|
146
149
|
if (newVisibleHash !== visibleHash) {
|
|
147
150
|
boundingSphereVisibleDirty = true;
|
|
148
151
|
markerAverageDirty = true;
|
|
152
|
+
emissiveAverageDirty = true;
|
|
149
153
|
opacityAverageDirty = true;
|
|
150
154
|
hasOpaqueDirty = true;
|
|
151
155
|
visibleHash = newVisibleHash;
|
|
@@ -168,6 +172,19 @@ var Scene;
|
|
|
168
172
|
}
|
|
169
173
|
return count > 0 ? markerAverage / count : 0;
|
|
170
174
|
}
|
|
175
|
+
function calculateEmissiveAverage() {
|
|
176
|
+
if (primitives.length === 0)
|
|
177
|
+
return 0;
|
|
178
|
+
let count = 0;
|
|
179
|
+
let emissiveAverage = 0;
|
|
180
|
+
for (let i = 0, il = primitives.length; i < il; ++i) {
|
|
181
|
+
if (!primitives[i].state.visible)
|
|
182
|
+
continue;
|
|
183
|
+
emissiveAverage += primitives[i].values.emissiveAverage.ref.value + primitives[i].values.uEmissive.ref.value;
|
|
184
|
+
count += 1;
|
|
185
|
+
}
|
|
186
|
+
return count > 0 ? emissiveAverage / count : 0;
|
|
187
|
+
}
|
|
171
188
|
function calculateOpacityAverage() {
|
|
172
189
|
var _a, _b;
|
|
173
190
|
if (primitives.length === 0)
|
|
@@ -239,6 +256,7 @@ var Scene;
|
|
|
239
256
|
syncVisibility();
|
|
240
257
|
}
|
|
241
258
|
markerAverageDirty = true;
|
|
259
|
+
emissiveAverageDirty = true;
|
|
242
260
|
opacityAverageDirty = true;
|
|
243
261
|
hasOpaqueDirty = true;
|
|
244
262
|
},
|
|
@@ -288,6 +306,13 @@ var Scene;
|
|
|
288
306
|
}
|
|
289
307
|
return markerAverage;
|
|
290
308
|
},
|
|
309
|
+
get emissiveAverage() {
|
|
310
|
+
if (emissiveAverageDirty) {
|
|
311
|
+
emissiveAverage = calculateEmissiveAverage();
|
|
312
|
+
emissiveAverageDirty = false;
|
|
313
|
+
}
|
|
314
|
+
return emissiveAverage;
|
|
315
|
+
},
|
|
291
316
|
get opacityAverage() {
|
|
292
317
|
if (opacityAverageDirty) {
|
|
293
318
|
opacityAverage = calculateOpacityAverage();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const background_frag = "\nprecision mediump float;\nprecision mediump samplerCube;\nprecision mediump sampler2D;\n\n#if defined(dVariant_skybox)\n uniform samplerCube tSkybox;\n uniform mat4 uViewDirectionProjectionInverse;\n uniform float uBlur;\n uniform float uOpacity;\n uniform float uSaturation;\n uniform float uLightness;\n#elif defined(dVariant_image)\n uniform sampler2D tImage;\n uniform vec2 uImageScale;\n uniform vec2 uImageOffset;\n uniform float uBlur;\n uniform float uOpacity;\n uniform float uSaturation;\n uniform float uLightness;\n#elif defined(dVariant_horizontalGradient) || defined(dVariant_radialGradient)\n uniform vec3 uGradientColorA;\n uniform vec3 uGradientColorB;\n uniform float uGradientRatio;\n#endif\n\nuniform vec2 uTexSize;\nuniform vec4 uViewport;\nuniform bool uViewportAdjusted;\nvarying vec4 vPosition;\n\n// TODO: add as general pp option to remove banding?\n// Iestyn's RGB dither from http://alex.vlachos.com/graphics/Alex_Vlachos_Advanced_VR_Rendering_GDC2015.pdf\nvec3 ScreenSpaceDither(vec2 vScreenPos) {\n vec3 vDither = vec3(dot(vec2(171.0, 231.0), vScreenPos.xy));\n vDither.rgb = fract(vDither.rgb / vec3(103.0, 71.0, 97.0));\n return vDither.rgb / 255.0;\n}\n\nvec3 saturateColor(vec3 c, float amount) {\n // https://www.w3.org/TR/WCAG21/#dfn-relative-luminance\n const vec3 W = vec3(0.2125, 0.7154, 0.0721);\n vec3 intensity = vec3(dot(c, W));\n return mix(intensity, c, 1.0 + amount);\n}\n\nvec3 lightenColor(vec3 c, float amount) {\n return c + amount;\n}\n\nvoid main() {\n #if defined(dVariant_skybox)\n vec4 t = uViewDirectionProjectionInverse * vPosition;\n #ifdef enabledShaderTextureLod\n gl_FragColor = textureCubeLodEXT(tSkybox, normalize(t.xyz / t.w), uBlur * 8.0);\n #else\n gl_FragColor = textureCube(tSkybox, normalize(t.xyz / t.w));\n #endif\n gl_FragColor.a = uOpacity;\n gl_FragColor.rgb = lightenColor(saturateColor(gl_FragColor.rgb, uSaturation), uLightness);\n #elif defined(dVariant_image)\n vec2 coords;\n if (uViewportAdjusted) {\n coords = ((gl_FragCoord.xy - uViewport.xy) * (uTexSize / uViewport.zw) / uImageScale) + uImageOffset;\n } else {\n coords = (gl_FragCoord.xy / uImageScale) + uImageOffset;\n }\n #ifdef enabledShaderTextureLod\n gl_FragColor = texture2DLodEXT(tImage, vec2(coords.x, 1.0 - coords.y), uBlur * 8.0);\n #else\n gl_FragColor = texture2D(tImage, vec2(coords.x, 1.0 - coords.y));\n #endif\n gl_FragColor.a = uOpacity;\n gl_FragColor.rgb = lightenColor(saturateColor(gl_FragColor.rgb, uSaturation), uLightness);\n #elif defined(dVariant_horizontalGradient)\n float d;\n if (uViewportAdjusted) {\n d = ((gl_FragCoord.y - uViewport.y) * (uTexSize.y / uViewport.w) / uTexSize.y) + 1.0 - (uGradientRatio * 2.0);\n } else {\n d = (gl_FragCoord.y / uTexSize.y) + 1.0 - (uGradientRatio * 2.0);\n }\n gl_FragColor = vec4(mix(uGradientColorB, uGradientColorA, clamp(d, 0.0, 1.0)), 1.0);\n gl_FragColor.rgb += ScreenSpaceDither(gl_FragCoord.xy);\n #elif defined(dVariant_radialGradient)\n float d;\n if (uViewportAdjusted) {\n d = distance(vec2(0.5), (gl_FragCoord.xy - uViewport.xy) * (uTexSize / uViewport.zw) / uTexSize) + uGradientRatio - 0.5;\n } else {\n d = distance(vec2(0.5), gl_FragCoord.xy / uTexSize) + uGradientRatio - 0.5;\n }\n gl_FragColor = vec4(mix(uGradientColorB, uGradientColorA, 1.0 - clamp(d, 0.0, 1.0)), 1.0);\n gl_FragColor.rgb += ScreenSpaceDither(gl_FragCoord.xy);\n #endif\n}\n";
|
|
1
|
+
export declare const background_frag = "\nprecision mediump float;\nprecision mediump samplerCube;\nprecision mediump sampler2D;\n\n#if defined(dVariant_skybox)\n uniform samplerCube tSkybox;\n uniform mat4 uViewDirectionProjectionInverse;\n uniform float uBlur;\n uniform float uOpacity;\n uniform float uSaturation;\n uniform float uLightness;\n uniform mat3 uRotation;\n#elif defined(dVariant_image)\n uniform sampler2D tImage;\n uniform vec2 uImageScale;\n uniform vec2 uImageOffset;\n uniform float uBlur;\n uniform float uOpacity;\n uniform float uSaturation;\n uniform float uLightness;\n#elif defined(dVariant_horizontalGradient) || defined(dVariant_radialGradient)\n uniform vec3 uGradientColorA;\n uniform vec3 uGradientColorB;\n uniform float uGradientRatio;\n#endif\n\nuniform vec2 uTexSize;\nuniform vec4 uViewport;\nuniform bool uViewportAdjusted;\nvarying vec4 vPosition;\n\n// TODO: add as general pp option to remove banding?\n// Iestyn's RGB dither from http://alex.vlachos.com/graphics/Alex_Vlachos_Advanced_VR_Rendering_GDC2015.pdf\nvec3 ScreenSpaceDither(vec2 vScreenPos) {\n vec3 vDither = vec3(dot(vec2(171.0, 231.0), vScreenPos.xy));\n vDither.rgb = fract(vDither.rgb / vec3(103.0, 71.0, 97.0));\n return vDither.rgb / 255.0;\n}\n\nvec3 saturateColor(vec3 c, float amount) {\n // https://www.w3.org/TR/WCAG21/#dfn-relative-luminance\n const vec3 W = vec3(0.2125, 0.7154, 0.0721);\n vec3 intensity = vec3(dot(c, W));\n return mix(intensity, c, 1.0 + amount);\n}\n\nvec3 lightenColor(vec3 c, float amount) {\n return c + amount;\n}\n\nvoid main() {\n #if defined(dVariant_skybox)\n vec4 t = uViewDirectionProjectionInverse * vPosition;\n #ifdef enabledShaderTextureLod\n gl_FragColor = textureCubeLodEXT(tSkybox, uRotation * normalize(t.xyz / t.w), uBlur * 8.0);\n #else\n gl_FragColor = textureCube(tSkybox, uRotation * normalize(t.xyz / t.w));\n #endif\n gl_FragColor.a = uOpacity;\n gl_FragColor.rgb = lightenColor(saturateColor(gl_FragColor.rgb, uSaturation), uLightness);\n #elif defined(dVariant_image)\n vec2 coords;\n if (uViewportAdjusted) {\n coords = ((gl_FragCoord.xy - uViewport.xy) * (uTexSize / uViewport.zw) / uImageScale) + uImageOffset;\n } else {\n coords = (gl_FragCoord.xy / uImageScale) + uImageOffset;\n }\n #ifdef enabledShaderTextureLod\n gl_FragColor = texture2DLodEXT(tImage, vec2(coords.x, 1.0 - coords.y), uBlur * 8.0);\n #else\n gl_FragColor = texture2D(tImage, vec2(coords.x, 1.0 - coords.y));\n #endif\n gl_FragColor.a = uOpacity;\n gl_FragColor.rgb = lightenColor(saturateColor(gl_FragColor.rgb, uSaturation), uLightness);\n #elif defined(dVariant_horizontalGradient)\n float d;\n if (uViewportAdjusted) {\n d = ((gl_FragCoord.y - uViewport.y) * (uTexSize.y / uViewport.w) / uTexSize.y) + 1.0 - (uGradientRatio * 2.0);\n } else {\n d = (gl_FragCoord.y / uTexSize.y) + 1.0 - (uGradientRatio * 2.0);\n }\n gl_FragColor = vec4(mix(uGradientColorB, uGradientColorA, clamp(d, 0.0, 1.0)), 1.0);\n gl_FragColor.rgb += ScreenSpaceDither(gl_FragCoord.xy);\n #elif defined(dVariant_radialGradient)\n float d;\n if (uViewportAdjusted) {\n d = distance(vec2(0.5), (gl_FragCoord.xy - uViewport.xy) * (uTexSize / uViewport.zw) / uTexSize) + uGradientRatio - 0.5;\n } else {\n d = distance(vec2(0.5), gl_FragCoord.xy / uTexSize) + uGradientRatio - 0.5;\n }\n gl_FragColor = vec4(mix(uGradientColorB, uGradientColorA, 1.0 - clamp(d, 0.0, 1.0)), 1.0);\n gl_FragColor.rgb += ScreenSpaceDither(gl_FragCoord.xy);\n #endif\n}\n";
|