molstar 3.0.0-dev.5 → 3.0.0-dev.9

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.
Files changed (688) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +187 -187
  3. package/build/viewer/embedded.html +43 -43
  4. package/build/viewer/index.html +106 -95
  5. package/build/viewer/molstar.js +1 -1
  6. package/lib/apps/docking-viewer/index.d.ts +2 -1
  7. package/lib/apps/docking-viewer/index.html +36 -36
  8. package/lib/apps/docking-viewer/index.js +87 -74
  9. package/lib/apps/viewer/app.d.ts +230 -0
  10. package/lib/apps/viewer/app.js +515 -0
  11. package/lib/apps/viewer/embedded.html +43 -43
  12. package/lib/apps/viewer/index.d.ts +2 -403
  13. package/lib/apps/viewer/index.html +106 -95
  14. package/lib/apps/viewer/index.js +2 -420
  15. package/lib/cli/cifschema/index.d.ts +1 -1
  16. package/lib/cli/cifschema/index.js +15 -35
  17. package/lib/commonjs/apps/docking-viewer/index.d.ts +2 -1
  18. package/lib/commonjs/apps/docking-viewer/index.js +86 -73
  19. package/lib/commonjs/apps/viewer/app.d.ts +230 -0
  20. package/lib/commonjs/apps/viewer/app.js +521 -0
  21. package/lib/commonjs/apps/viewer/index.d.ts +2 -403
  22. package/lib/commonjs/apps/viewer/index.js +2 -423
  23. package/lib/commonjs/cli/cifschema/index.d.ts +1 -1
  24. package/lib/commonjs/cli/cifschema/index.js +15 -35
  25. package/lib/commonjs/examples/alpha-orbitals/index.js +3 -4
  26. package/lib/commonjs/examples/basic-wrapper/index.js +23 -11
  27. package/lib/commonjs/examples/lighting/index.d.ts +1 -1
  28. package/lib/commonjs/examples/lighting/index.js +57 -41
  29. package/lib/commonjs/examples/proteopedia-wrapper/index.js +26 -14
  30. package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +0 -1
  31. package/lib/commonjs/extensions/alpha-orbitals/transforms.js +1 -14
  32. package/lib/commonjs/extensions/anvil/behavior.d.ts +4 -0
  33. package/lib/commonjs/extensions/anvil/representation.d.ts +50 -0
  34. package/lib/commonjs/extensions/cellpack/representation.d.ts +10 -0
  35. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  36. package/lib/commonjs/extensions/geo-export/mesh-exporter.js +4 -4
  37. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
  38. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.js +236 -0
  39. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
  40. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +125 -0
  41. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
  42. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +111 -0
  43. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
  44. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.js +130 -0
  45. package/lib/commonjs/extensions/pdbe/structure-quality-report/prop.js +1 -1
  46. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  47. package/lib/commonjs/extensions/rcsb/assembly-symmetry/prop.js +1 -1
  48. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  49. package/lib/commonjs/extensions/rcsb/validation-report/prop.js +1 -1
  50. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +50 -0
  51. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +3 -9
  52. package/lib/commonjs/mol-canvas3d/canvas3d.js +34 -23
  53. package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  54. package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  55. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
  56. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  57. package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
  58. package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
  59. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +13 -1
  60. package/lib/commonjs/mol-canvas3d/passes/draw.js +16 -15
  61. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -0
  62. package/lib/commonjs/mol-canvas3d/passes/image.js +3 -2
  63. package/lib/commonjs/mol-canvas3d/passes/marking.js +1 -1
  64. package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +10 -2
  65. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +18 -14
  66. package/lib/commonjs/mol-canvas3d/passes/pick.js +12 -12
  67. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +3 -3
  68. package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
  69. package/lib/commonjs/mol-geo/geometry/base.d.ts +18 -0
  70. package/lib/commonjs/mol-geo/geometry/base.js +18 -1
  71. package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
  72. package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
  73. package/lib/commonjs/mol-geo/geometry/color-data.d.ts +1 -1
  74. package/lib/commonjs/mol-geo/geometry/color-data.js +22 -0
  75. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +12 -2
  76. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +2 -2
  77. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  78. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +21 -66
  79. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  80. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  81. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +10 -0
  82. package/lib/commonjs/mol-geo/geometry/image/image.js +1 -1
  83. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +11 -0
  84. package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
  85. package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
  86. package/lib/commonjs/mol-geo/geometry/marker-data.js +13 -9
  87. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  88. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +2 -2
  89. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +11 -1
  90. package/lib/commonjs/mol-geo/geometry/points/points.js +1 -1
  91. package/lib/commonjs/mol-geo/geometry/size-data.js +5 -5
  92. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  93. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +2 -2
  94. package/lib/commonjs/mol-geo/geometry/text/text.d.ts +10 -0
  95. package/lib/commonjs/mol-geo/geometry/text/text.js +1 -1
  96. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  97. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  98. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  99. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  100. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  101. package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
  102. package/lib/commonjs/mol-gl/render-object.js +10 -10
  103. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +11 -5
  104. package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
  105. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +15 -14
  106. package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
  107. package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
  108. package/lib/commonjs/mol-gl/renderable/image.js +2 -2
  109. package/lib/commonjs/mol-gl/renderable/lines.d.ts +39 -33
  110. package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
  111. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +11 -5
  112. package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
  113. package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
  114. package/lib/commonjs/mol-gl/renderable/points.js +2 -2
  115. package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
  116. package/lib/commonjs/mol-gl/renderable/schema.js +4 -10
  117. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +11 -5
  118. package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
  119. package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
  120. package/lib/commonjs/mol-gl/renderable/text.js +2 -2
  121. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +11 -6
  122. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
  123. package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
  124. package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
  125. package/lib/commonjs/mol-gl/renderer.js +23 -92
  126. package/lib/commonjs/mol-gl/scene.d.ts +2 -2
  127. package/lib/commonjs/mol-gl/scene.js +7 -5
  128. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  129. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  130. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  131. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  132. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  133. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  134. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  135. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  136. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  137. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  138. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  139. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  140. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  141. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  142. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  143. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  144. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  145. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  146. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  147. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  148. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  149. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  150. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  151. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
  152. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  153. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  154. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  155. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  156. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  157. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  158. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  159. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  160. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  161. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +1 -1
  162. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  163. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  164. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  165. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  166. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  167. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  168. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  169. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  170. package/lib/commonjs/mol-gl/shader/mesh.vert.d.ts +1 -1
  171. package/lib/commonjs/mol-gl/shader/mesh.vert.js +1 -1
  172. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  173. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  174. package/lib/commonjs/mol-gl/shader-code.d.ts +3 -1
  175. package/lib/commonjs/mol-gl/shader-code.js +43 -14
  176. package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
  177. package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
  178. package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
  179. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
  180. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +326 -1
  181. package/lib/commonjs/mol-io/reader/mol2/parser.d.ts +1 -1
  182. package/lib/commonjs/mol-io/reader/mol2/parser.js +33 -3
  183. package/lib/commonjs/mol-io/reader/mol2/schema.d.ts +12 -1
  184. package/lib/commonjs/mol-io/reader/mol2/schema.js +1 -1
  185. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +2 -2
  186. package/lib/commonjs/mol-math/geometry/symmetry-operator.js +3 -2
  187. package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  188. package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
  189. package/lib/commonjs/mol-model/structure/model/model.d.ts +1 -0
  190. package/lib/commonjs/mol-model/structure/model/model.js +8 -2
  191. package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
  192. package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
  193. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
  194. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.js +4 -1
  195. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
  196. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
  197. package/lib/commonjs/mol-model/structure/model/types.js +9 -0
  198. package/lib/commonjs/mol-model/structure/structure/element/stats.js +8 -0
  199. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  200. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.js +11 -2
  201. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  202. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +20 -10
  203. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  204. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +21 -11
  205. package/lib/commonjs/mol-model/structure/structure/unit/rings.js +2 -0
  206. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +20 -0
  207. package/lib/commonjs/mol-model-formats/structure/mol2.d.ts +1 -1
  208. package/lib/commonjs/mol-model-formats/structure/mol2.js +37 -7
  209. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  210. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  211. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  212. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
  213. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +30 -0
  214. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  215. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +4 -6
  216. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  217. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  218. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
  219. package/lib/commonjs/mol-plugin/commands.d.ts +1 -4
  220. package/lib/commonjs/mol-plugin/config.d.ts +2 -2
  221. package/lib/commonjs/mol-plugin/config.js +5 -25
  222. package/lib/commonjs/mol-plugin/features.d.ts +9 -0
  223. package/lib/commonjs/mol-plugin/features.js +38 -0
  224. package/lib/commonjs/mol-plugin/spec.js +1 -0
  225. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  226. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +8 -1
  227. package/lib/commonjs/mol-plugin-state/actions/structure.js +183 -72
  228. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
  229. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +13 -8
  230. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
  231. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +4 -4
  232. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  233. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
  234. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +33 -19
  235. package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +13 -1
  236. package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
  237. package/lib/commonjs/mol-plugin-state/manager/structure/selection.js +3 -1
  238. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +32 -0
  239. package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
  240. package/lib/commonjs/mol-plugin-ui/index.d.ts +4 -4
  241. package/lib/commonjs/mol-plugin-ui/index.js +13 -16
  242. package/lib/commonjs/mol-plugin-ui/plugin.js +1 -1
  243. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +2 -6
  244. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +10 -0
  245. package/lib/commonjs/mol-repr/shape/loci/common.d.ts +10 -0
  246. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +10 -0
  247. package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +10 -0
  248. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +10 -0
  249. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +10 -0
  250. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +10 -0
  251. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +10 -0
  252. package/lib/commonjs/mol-repr/structure/complex-representation.js +1 -1
  253. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +61 -19
  254. package/lib/commonjs/mol-repr/structure/params.d.ts +81 -19
  255. package/lib/commonjs/mol-repr/structure/registry.d.ts +141 -19
  256. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +30 -0
  257. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  258. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  259. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +30 -0
  260. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  261. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  262. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +1 -1
  263. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  264. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +2 -7
  265. package/lib/commonjs/mol-repr/structure/representation/label.d.ts +30 -0
  266. package/lib/commonjs/mol-repr/structure/representation/label.js +1 -1
  267. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +30 -0
  268. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  269. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +1 -1
  270. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +30 -0
  271. package/lib/commonjs/mol-repr/structure/representation/point.d.ts +30 -0
  272. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +30 -0
  273. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +30 -0
  274. package/lib/commonjs/mol-repr/structure/units-representation.js +1 -1
  275. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +81 -19
  276. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  277. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  278. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  279. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
  280. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  281. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  282. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
  283. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
  284. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
  285. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +10 -0
  286. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +10 -0
  287. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  288. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  289. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  290. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  291. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  292. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  293. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  294. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  295. package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +10 -0
  296. package/lib/commonjs/mol-repr/structure/visual/label-text.js +1 -2
  297. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  298. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  299. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  300. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  301. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  302. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  303. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  304. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  305. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  306. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  307. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  308. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  309. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  310. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  311. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +1 -1
  312. package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +3 -2
  313. package/lib/commonjs/mol-repr/structure/visual/util/common.js +2 -5
  314. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  315. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +12 -12
  316. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  317. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  318. package/lib/commonjs/mol-repr/visual.js +11 -7
  319. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -57
  320. package/lib/commonjs/mol-repr/volume/direct-volume.js +8 -12
  321. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +60 -0
  322. package/lib/commonjs/mol-repr/volume/isosurface.js +11 -2
  323. package/lib/commonjs/mol-repr/volume/registry.d.ts +31 -19
  324. package/lib/commonjs/mol-repr/volume/representation.d.ts +10 -0
  325. package/lib/commonjs/mol-repr/volume/slice.d.ts +30 -0
  326. package/lib/commonjs/mol-repr/volume/slice.js +2 -2
  327. package/lib/commonjs/mol-repr/volume/util.js +2 -2
  328. package/lib/commonjs/mol-script/language/builder.d.ts +0 -1
  329. package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
  330. package/lib/commonjs/mol-theme/clipping.js +5 -12
  331. package/lib/commonjs/mol-theme/color/volume-value.d.ts +17 -0
  332. package/lib/commonjs/mol-theme/color/volume-value.js +57 -0
  333. package/lib/commonjs/mol-theme/color.d.ts +3 -0
  334. package/lib/commonjs/mol-theme/color.js +2 -0
  335. package/lib/commonjs/mol-util/clip.d.ts +49 -0
  336. package/lib/commonjs/mol-util/clip.js +97 -0
  337. package/lib/commonjs/mol-util/number-packing.d.ts +11 -0
  338. package/lib/commonjs/mol-util/{float-packing.js → number-packing.js} +10 -19
  339. package/lib/examples/alpha-orbitals/index.html +61 -60
  340. package/lib/examples/alpha-orbitals/index.js +4 -5
  341. package/lib/examples/basic-wrapper/index.html +137 -136
  342. package/lib/examples/basic-wrapper/index.js +24 -12
  343. package/lib/examples/lighting/index.d.ts +1 -1
  344. package/lib/examples/lighting/index.html +88 -86
  345. package/lib/examples/lighting/index.js +58 -42
  346. package/lib/examples/proteopedia-wrapper/index.html +236 -235
  347. package/lib/examples/proteopedia-wrapper/index.js +27 -15
  348. package/lib/extensions/alpha-orbitals/transforms.d.ts +0 -1
  349. package/lib/extensions/alpha-orbitals/transforms.js +1 -14
  350. package/lib/extensions/anvil/behavior.d.ts +4 -0
  351. package/lib/extensions/anvil/representation.d.ts +50 -0
  352. package/lib/extensions/cellpack/representation.d.ts +10 -0
  353. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  354. package/lib/extensions/geo-export/mesh-exporter.js +4 -4
  355. package/lib/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
  356. package/lib/extensions/model-archive/quality-assessment/behavior.js +233 -0
  357. package/lib/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
  358. package/lib/extensions/model-archive/quality-assessment/color/plddt.js +120 -0
  359. package/lib/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
  360. package/lib/extensions/model-archive/quality-assessment/color/qmean.js +106 -0
  361. package/lib/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
  362. package/lib/extensions/model-archive/quality-assessment/prop.js +127 -0
  363. package/lib/extensions/pdbe/structure-quality-report/prop.js +1 -1
  364. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  365. package/lib/extensions/rcsb/assembly-symmetry/prop.js +1 -1
  366. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  367. package/lib/extensions/rcsb/validation-report/prop.js +1 -1
  368. package/lib/extensions/rcsb/validation-report/representation.d.ts +50 -0
  369. package/lib/mol-canvas3d/canvas3d.d.ts +3 -9
  370. package/lib/mol-canvas3d/canvas3d.js +34 -23
  371. package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  372. package/lib/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  373. package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
  374. package/lib/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  375. package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
  376. package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
  377. package/lib/mol-canvas3d/passes/draw.d.ts +13 -1
  378. package/lib/mol-canvas3d/passes/draw.js +16 -15
  379. package/lib/mol-canvas3d/passes/image.d.ts +1 -0
  380. package/lib/mol-canvas3d/passes/image.js +3 -2
  381. package/lib/mol-canvas3d/passes/marking.js +1 -1
  382. package/lib/mol-canvas3d/passes/multi-sample.d.ts +10 -2
  383. package/lib/mol-canvas3d/passes/multi-sample.js +18 -14
  384. package/lib/mol-canvas3d/passes/pick.js +11 -11
  385. package/lib/mol-canvas3d/passes/postprocessing.js +3 -3
  386. package/lib/mol-canvas3d/passes/smaa.js +1 -1
  387. package/lib/mol-geo/geometry/base.d.ts +18 -0
  388. package/lib/mol-geo/geometry/base.js +18 -1
  389. package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
  390. package/lib/mol-geo/geometry/clipping-data.js +3 -8
  391. package/lib/mol-geo/geometry/color-data.d.ts +1 -1
  392. package/lib/mol-geo/geometry/color-data.js +22 -0
  393. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +12 -2
  394. package/lib/mol-geo/geometry/cylinders/cylinders.js +2 -2
  395. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  396. package/lib/mol-geo/geometry/direct-volume/direct-volume.js +22 -67
  397. package/lib/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  398. package/lib/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  399. package/lib/mol-geo/geometry/image/image.d.ts +10 -0
  400. package/lib/mol-geo/geometry/image/image.js +1 -1
  401. package/lib/mol-geo/geometry/lines/lines.d.ts +11 -0
  402. package/lib/mol-geo/geometry/lines/lines.js +1 -1
  403. package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
  404. package/lib/mol-geo/geometry/marker-data.js +13 -9
  405. package/lib/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  406. package/lib/mol-geo/geometry/mesh/mesh.js +2 -2
  407. package/lib/mol-geo/geometry/points/points.d.ts +11 -1
  408. package/lib/mol-geo/geometry/points/points.js +1 -1
  409. package/lib/mol-geo/geometry/size-data.js +5 -5
  410. package/lib/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  411. package/lib/mol-geo/geometry/spheres/spheres.js +2 -2
  412. package/lib/mol-geo/geometry/text/text.d.ts +10 -0
  413. package/lib/mol-geo/geometry/text/text.js +1 -1
  414. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  415. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  416. package/lib/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  417. package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  418. package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  419. package/lib/mol-gl/render-object.d.ts +2 -1
  420. package/lib/mol-gl/render-object.js +10 -10
  421. package/lib/mol-gl/renderable/cylinders.d.ts +11 -5
  422. package/lib/mol-gl/renderable/cylinders.js +3 -3
  423. package/lib/mol-gl/renderable/direct-volume.d.ts +15 -14
  424. package/lib/mol-gl/renderable/direct-volume.js +3 -3
  425. package/lib/mol-gl/renderable/image.d.ts +10 -4
  426. package/lib/mol-gl/renderable/image.js +2 -2
  427. package/lib/mol-gl/renderable/lines.d.ts +39 -33
  428. package/lib/mol-gl/renderable/lines.js +4 -4
  429. package/lib/mol-gl/renderable/mesh.d.ts +11 -5
  430. package/lib/mol-gl/renderable/mesh.js +3 -3
  431. package/lib/mol-gl/renderable/points.d.ts +10 -4
  432. package/lib/mol-gl/renderable/points.js +2 -2
  433. package/lib/mol-gl/renderable/schema.d.ts +10 -11
  434. package/lib/mol-gl/renderable/schema.js +4 -10
  435. package/lib/mol-gl/renderable/spheres.d.ts +11 -5
  436. package/lib/mol-gl/renderable/spheres.js +3 -3
  437. package/lib/mol-gl/renderable/text.d.ts +10 -4
  438. package/lib/mol-gl/renderable/text.js +2 -2
  439. package/lib/mol-gl/renderable/texture-mesh.d.ts +11 -6
  440. package/lib/mol-gl/renderable/texture-mesh.js +3 -3
  441. package/lib/mol-gl/renderable.d.ts +0 -1
  442. package/lib/mol-gl/renderer.d.ts +12 -12
  443. package/lib/mol-gl/renderer.js +24 -93
  444. package/lib/mol-gl/scene.d.ts +2 -2
  445. package/lib/mol-gl/scene.js +7 -5
  446. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  447. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  448. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  449. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  450. package/lib/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  451. package/lib/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  452. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  453. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  454. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  455. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  456. package/lib/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  457. package/lib/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  458. package/lib/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  459. package/lib/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  460. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  461. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  462. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  463. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  464. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  465. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  466. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  467. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  468. package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  469. package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
  470. package/lib/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  471. package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  472. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  473. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  474. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  475. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  476. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  477. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  478. package/lib/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  479. package/lib/mol-gl/shader/gaussian-density.frag.js +1 -1
  480. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  481. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  482. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  483. package/lib/mol-gl/shader/image.frag.js +1 -1
  484. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  485. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  486. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  487. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  488. package/lib/mol-gl/shader/mesh.vert.d.ts +1 -1
  489. package/lib/mol-gl/shader/mesh.vert.js +1 -1
  490. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  491. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  492. package/lib/mol-gl/shader-code.d.ts +3 -1
  493. package/lib/mol-gl/shader-code.js +43 -14
  494. package/lib/mol-gl/webgl/render-item.d.ts +7 -6
  495. package/lib/mol-gl/webgl/render-item.js +8 -6
  496. package/lib/mol-gl/webgl/resources.js +8 -1
  497. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
  498. package/lib/mol-io/reader/cif/schema/mmcif.js +326 -1
  499. package/lib/mol-io/reader/mol2/parser.d.ts +1 -1
  500. package/lib/mol-io/reader/mol2/parser.js +33 -3
  501. package/lib/mol-io/reader/mol2/schema.d.ts +12 -1
  502. package/lib/mol-io/reader/mol2/schema.js +1 -1
  503. package/lib/mol-math/geometry/gaussian-density/gpu.js +2 -2
  504. package/lib/mol-math/geometry/symmetry-operator.js +3 -2
  505. package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  506. package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
  507. package/lib/mol-model/structure/model/model.d.ts +1 -0
  508. package/lib/mol-model/structure/model/model.js +8 -2
  509. package/lib/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
  510. package/lib/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
  511. package/lib/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
  512. package/lib/mol-model/structure/model/properties/utils/atomic-derived.js +5 -2
  513. package/lib/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
  514. package/lib/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
  515. package/lib/mol-model/structure/model/types.js +9 -0
  516. package/lib/mol-model/structure/structure/element/stats.js +8 -0
  517. package/lib/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  518. package/lib/mol-model/structure/structure/unit/bonds/common.js +9 -1
  519. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  520. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +21 -11
  521. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  522. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +22 -12
  523. package/lib/mol-model/structure/structure/unit/rings.js +2 -0
  524. package/lib/mol-model-formats/shape/ply.d.ts +20 -0
  525. package/lib/mol-model-formats/structure/mol2.d.ts +1 -1
  526. package/lib/mol-model-formats/structure/mol2.js +37 -7
  527. package/lib/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  528. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  529. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  530. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
  531. package/lib/mol-model-props/computed/representations/interactions.d.ts +30 -0
  532. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  533. package/lib/mol-plugin/behavior/dynamic/representation.js +4 -6
  534. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  535. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  536. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
  537. package/lib/mol-plugin/commands.d.ts +1 -4
  538. package/lib/mol-plugin/config.d.ts +2 -2
  539. package/lib/mol-plugin/config.js +4 -23
  540. package/lib/mol-plugin/features.d.ts +9 -0
  541. package/lib/mol-plugin/features.js +35 -0
  542. package/lib/mol-plugin/spec.js +1 -0
  543. package/lib/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  544. package/lib/mol-plugin/version.js +2 -2
  545. package/lib/mol-plugin-state/actions/structure.d.ts +8 -1
  546. package/lib/mol-plugin-state/actions/structure.js +183 -72
  547. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
  548. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.js +14 -9
  549. package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
  550. package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +4 -4
  551. package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  552. package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
  553. package/lib/mol-plugin-state/helpers/structure-selection-query.js +34 -20
  554. package/lib/mol-plugin-state/manager/structure/component.d.ts +13 -1
  555. package/lib/mol-plugin-state/manager/structure/component.js +14 -9
  556. package/lib/mol-plugin-state/manager/structure/selection.js +3 -1
  557. package/lib/mol-plugin-state/transforms/representation.d.ts +32 -0
  558. package/lib/mol-plugin-state/transforms/representation.js +2 -2
  559. package/lib/mol-plugin-ui/index.d.ts +4 -4
  560. package/lib/mol-plugin-ui/index.js +11 -13
  561. package/lib/mol-plugin-ui/plugin.js +1 -1
  562. package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
  563. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  564. package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
  565. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  566. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  567. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  568. package/lib/mol-plugin-ui/skin/base/components/misc.scss +643 -643
  569. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  570. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  571. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  572. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  573. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  574. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +127 -127
  575. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  576. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  577. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  578. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  579. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  580. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  581. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  582. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  583. package/lib/mol-plugin-ui/skin/base/variables.scss +85 -85
  584. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  585. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  586. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  587. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  588. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  589. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  590. package/lib/mol-plugin-ui/viewport/simple-settings.js +2 -6
  591. package/lib/mol-repr/shape/loci/angle.d.ts +10 -0
  592. package/lib/mol-repr/shape/loci/common.d.ts +10 -0
  593. package/lib/mol-repr/shape/loci/dihedral.d.ts +10 -0
  594. package/lib/mol-repr/shape/loci/distance.d.ts +10 -0
  595. package/lib/mol-repr/shape/loci/label.d.ts +10 -0
  596. package/lib/mol-repr/shape/loci/orientation.d.ts +10 -0
  597. package/lib/mol-repr/shape/loci/plane.d.ts +10 -0
  598. package/lib/mol-repr/shape/model/unitcell.d.ts +10 -0
  599. package/lib/mol-repr/structure/complex-representation.js +1 -1
  600. package/lib/mol-repr/structure/complex-visual.d.ts +61 -19
  601. package/lib/mol-repr/structure/params.d.ts +81 -19
  602. package/lib/mol-repr/structure/registry.d.ts +141 -19
  603. package/lib/mol-repr/structure/representation/backbone.d.ts +30 -0
  604. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  605. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  606. package/lib/mol-repr/structure/representation/cartoon.d.ts +30 -0
  607. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  608. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  609. package/lib/mol-repr/structure/representation/gaussian-surface.js +1 -1
  610. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  611. package/lib/mol-repr/structure/representation/gaussian-volume.js +2 -7
  612. package/lib/mol-repr/structure/representation/label.d.ts +30 -0
  613. package/lib/mol-repr/structure/representation/label.js +1 -1
  614. package/lib/mol-repr/structure/representation/line.d.ts +30 -0
  615. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  616. package/lib/mol-repr/structure/representation/molecular-surface.js +1 -1
  617. package/lib/mol-repr/structure/representation/orientation.d.ts +30 -0
  618. package/lib/mol-repr/structure/representation/point.d.ts +30 -0
  619. package/lib/mol-repr/structure/representation/putty.d.ts +30 -0
  620. package/lib/mol-repr/structure/representation/spacefill.d.ts +30 -0
  621. package/lib/mol-repr/structure/units-representation.js +1 -1
  622. package/lib/mol-repr/structure/units-visual.d.ts +81 -19
  623. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  624. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  625. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  626. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
  627. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  628. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  629. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
  630. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
  631. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
  632. package/lib/mol-repr/structure/visual/element-cross.d.ts +10 -0
  633. package/lib/mol-repr/structure/visual/element-point.d.ts +10 -0
  634. package/lib/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  635. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  636. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  637. package/lib/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  638. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  639. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  640. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  641. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  642. package/lib/mol-repr/structure/visual/label-text.d.ts +10 -0
  643. package/lib/mol-repr/structure/visual/label-text.js +1 -2
  644. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  645. package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  646. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  647. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  648. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  649. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  650. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  651. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  652. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  653. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  654. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  655. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  656. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  657. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  658. package/lib/mol-repr/structure/visual/util/bond.js +1 -1
  659. package/lib/mol-repr/structure/visual/util/common.d.ts +3 -2
  660. package/lib/mol-repr/structure/visual/util/common.js +2 -5
  661. package/lib/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  662. package/lib/mol-repr/structure/visual/util/gaussian.js +12 -12
  663. package/lib/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  664. package/lib/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  665. package/lib/mol-repr/visual.js +11 -7
  666. package/lib/mol-repr/volume/direct-volume.d.ts +33 -57
  667. package/lib/mol-repr/volume/direct-volume.js +8 -12
  668. package/lib/mol-repr/volume/isosurface.d.ts +60 -0
  669. package/lib/mol-repr/volume/isosurface.js +11 -2
  670. package/lib/mol-repr/volume/registry.d.ts +31 -19
  671. package/lib/mol-repr/volume/representation.d.ts +10 -0
  672. package/lib/mol-repr/volume/slice.d.ts +30 -0
  673. package/lib/mol-repr/volume/slice.js +2 -2
  674. package/lib/mol-repr/volume/util.js +2 -2
  675. package/lib/mol-script/language/builder.d.ts +0 -1
  676. package/lib/mol-theme/clipping.d.ts +7 -15
  677. package/lib/mol-theme/clipping.js +5 -12
  678. package/lib/mol-theme/color/volume-value.d.ts +17 -0
  679. package/lib/mol-theme/color/volume-value.js +52 -0
  680. package/lib/mol-theme/color.d.ts +3 -0
  681. package/lib/mol-theme/color.js +2 -0
  682. package/lib/mol-util/clip.d.ts +49 -0
  683. package/lib/mol-util/clip.js +93 -0
  684. package/lib/mol-util/number-packing.d.ts +11 -0
  685. package/lib/mol-util/{float-packing.js → number-packing.js} +7 -14
  686. package/package.json +162 -162
  687. package/lib/commonjs/mol-util/float-packing.d.ts +0 -15
  688. package/lib/mol-util/float-packing.d.ts +0 -15
@@ -32,7 +32,7 @@ var StructureQualityReport;
32
32
  }
33
33
  StructureQualityReport.getEntryUrl = getEntryUrl;
34
34
  function isApplicable(model) {
35
- return !!model && structure_1.Model.isFromPdbArchive(model);
35
+ return !!model && structure_1.Model.hasPdbId(model);
36
36
  }
37
37
  StructureQualityReport.isApplicable = isApplicable;
38
38
  StructureQualityReport.Schema = {
@@ -33,6 +33,10 @@ declare const AssemblySymmetry3D: StateTransformer<PluginStateObject.Molecule.St
33
33
  roughness: number;
34
34
  bumpiness: number;
35
35
  }>;
36
+ clip: PD.Normalize<{
37
+ variant: any;
38
+ objects: any;
39
+ }>;
36
40
  axesColor: PD.NamedParams<PD.Normalize<{
37
41
  colorValue: any;
38
42
  }>, "uniform"> | PD.NamedParams<PD.Normalize<unknown>, "byOrder">;
@@ -41,9 +45,9 @@ export declare const AssemblySymmetryPresetParams: {
41
45
  ignoreHydrogens: PD.Base<boolean | undefined>;
42
46
  quality: PD.Base<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined>;
43
47
  theme: PD.Base<PD.Normalize<{
44
- globalName: "uniform" | "occupancy" | "element-index" | "element-symbol" | "shape-group" | "uncertainty" | "carbohydrate-symbol" | "chain-id" | "operator-name" | "molecule-type" | "polymer-id" | "polymer-index" | "residue-name" | "secondary-structure" | "sequence-id" | "unit-index" | "entity-source" | "illustrative" | "hydrophobicity" | "model-index" | "operator-hkl" | "partial-charge" | "atom-id" | "entity-id" | undefined;
48
+ globalName: "uniform" | "occupancy" | "element-index" | "element-symbol" | "shape-group" | "uncertainty" | "carbohydrate-symbol" | "chain-id" | "operator-name" | "molecule-type" | "polymer-id" | "polymer-index" | "residue-name" | "secondary-structure" | "sequence-id" | "unit-index" | "entity-source" | "illustrative" | "hydrophobicity" | "model-index" | "operator-hkl" | "partial-charge" | "atom-id" | "entity-id" | "volume-value" | undefined;
45
49
  carbonColor: "element-symbol" | "chain-id" | "operator-name" | undefined;
46
- symmetryColor: "uniform" | "occupancy" | "element-index" | "element-symbol" | "shape-group" | "uncertainty" | "carbohydrate-symbol" | "chain-id" | "operator-name" | "molecule-type" | "polymer-id" | "polymer-index" | "residue-name" | "secondary-structure" | "sequence-id" | "unit-index" | "entity-source" | "illustrative" | "hydrophobicity" | "model-index" | "operator-hkl" | "partial-charge" | "atom-id" | "entity-id" | undefined;
50
+ symmetryColor: "uniform" | "occupancy" | "element-index" | "element-symbol" | "shape-group" | "uncertainty" | "carbohydrate-symbol" | "chain-id" | "operator-name" | "molecule-type" | "polymer-id" | "polymer-index" | "residue-name" | "secondary-structure" | "sequence-id" | "unit-index" | "entity-source" | "illustrative" | "hydrophobicity" | "model-index" | "operator-hkl" | "partial-charge" | "atom-id" | "entity-id" | "volume-value" | undefined;
47
51
  focus: PD.Normalize<{
48
52
  name: any;
49
53
  params: any;
@@ -53,7 +53,7 @@ var AssemblySymmetry;
53
53
  AssemblySymmetry.DefaultServerUrl = 'https://data.rcsb.org/graphql';
54
54
  function isApplicable(structure) {
55
55
  return (!!structure && structure.models.length === 1 &&
56
- structure_1.Model.isFromPdbArchive(structure.models[0]) &&
56
+ structure_1.Model.hasPdbId(structure.models[0]) &&
57
57
  isBiologicalAssembly(structure));
58
58
  }
59
59
  AssemblySymmetry.isApplicable = isApplicable;
@@ -25,6 +25,16 @@ export declare const AssemblySymmetryParams: {
25
25
  roughness: number;
26
26
  bumpiness: number;
27
27
  }>>;
28
+ clip: PD.Group<PD.Normalize<{
29
+ variant: import("../../../mol-util/clip").Clip.Variant;
30
+ objects: PD.Normalize<{
31
+ type: any;
32
+ invert: any;
33
+ position: any;
34
+ rotation: any;
35
+ scale: any;
36
+ }>[];
37
+ }>>;
28
38
  axesColor: PD.Mapped<PD.NamedParams<PD.Normalize<{
29
39
  colorValue: Color;
30
40
  }>, "uniform"> | PD.NamedParams<PD.Normalize<unknown>, "byOrder">>;
@@ -39,7 +39,7 @@ var ValidationReport;
39
39
  }
40
40
  ValidationReport.getEntryUrl = getEntryUrl;
41
41
  function isApplicable(model) {
42
- return !!model && model_1.Model.isFromPdbArchive(model);
42
+ return !!model && model_1.Model.hasPdbId(model);
43
43
  }
44
44
  ValidationReport.isApplicable = isApplicable;
45
45
  function fromXml(xml, model) {
@@ -40,6 +40,16 @@ export declare const IntraUnitClashParams: {
40
40
  roughness: number;
41
41
  bumpiness: number;
42
42
  }>>;
43
+ clip: PD.Group<PD.Normalize<{
44
+ variant: import("../../../mol-util/clip").Clip.Variant;
45
+ objects: PD.Normalize<{
46
+ type: any;
47
+ invert: any;
48
+ position: any;
49
+ rotation: any;
50
+ scale: any;
51
+ }>[];
52
+ }>>;
43
53
  };
44
54
  export declare type IntraUnitClashParams = typeof IntraUnitClashParams;
45
55
  export declare function IntraUnitClashVisual(materialId: number): UnitsVisual<IntraUnitClashParams>;
@@ -72,6 +82,16 @@ export declare const InterUnitClashParams: {
72
82
  roughness: number;
73
83
  bumpiness: number;
74
84
  }>>;
85
+ clip: PD.Group<PD.Normalize<{
86
+ variant: import("../../../mol-util/clip").Clip.Variant;
87
+ objects: PD.Normalize<{
88
+ type: any;
89
+ invert: any;
90
+ position: any;
91
+ rotation: any;
92
+ scale: any;
93
+ }>[];
94
+ }>>;
75
95
  };
76
96
  export declare type InterUnitClashParams = typeof InterUnitClashParams;
77
97
  export declare function InterUnitClashVisual(materialId: number): ComplexVisual<InterUnitClashParams>;
@@ -105,6 +125,16 @@ export declare const ClashesParams: {
105
125
  roughness: number;
106
126
  bumpiness: number;
107
127
  }>>;
128
+ clip: PD.Group<PD.Normalize<{
129
+ variant: import("../../../mol-util/clip").Clip.Variant;
130
+ objects: PD.Normalize<{
131
+ type: any;
132
+ invert: any;
133
+ position: any;
134
+ rotation: any;
135
+ scale: any;
136
+ }>[];
137
+ }>>;
108
138
  };
109
139
  export declare type ClashesParams = typeof ClashesParams;
110
140
  export declare function getClashesParams(ctx: ThemeRegistryContext, structure: Structure): {
@@ -137,6 +167,16 @@ export declare function getClashesParams(ctx: ThemeRegistryContext, structure: S
137
167
  roughness: number;
138
168
  bumpiness: number;
139
169
  }>>;
170
+ clip: PD.Group<PD.Normalize<{
171
+ variant: import("../../../mol-util/clip").Clip.Variant;
172
+ objects: PD.Normalize<{
173
+ type: any;
174
+ invert: any;
175
+ position: any;
176
+ rotation: any;
177
+ scale: any;
178
+ }>[];
179
+ }>>;
140
180
  };
141
181
  export declare type ClashesRepresentation = StructureRepresentation<ClashesParams>;
142
182
  export declare function ClashesRepresentation(ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, ClashesParams>): ClashesRepresentation;
@@ -170,4 +210,14 @@ export declare const ClashesRepresentationProvider: StructureRepresentationProvi
170
210
  roughness: number;
171
211
  bumpiness: number;
172
212
  }>>;
213
+ clip: PD.Group<PD.Normalize<{
214
+ variant: import("../../../mol-util/clip").Clip.Variant;
215
+ objects: PD.Normalize<{
216
+ type: any;
217
+ invert: any;
218
+ position: any;
219
+ rotation: any;
220
+ scale: any;
221
+ }>[];
222
+ }>>;
173
223
  }, ValidationReport.Tag.Clashes>;
@@ -107,10 +107,6 @@ export declare const Canvas3DParams: {
107
107
  }>[];
108
108
  ambientColor: import("../mol-util/color").Color;
109
109
  ambientIntensity: number;
110
- clip: PD.Normalize<{
111
- variant: any;
112
- objects: any;
113
- }>;
114
110
  }>>;
115
111
  trackball: PD.Group<PD.Normalize<{
116
112
  noScroll: boolean;
@@ -169,6 +165,7 @@ export declare const Canvas3DParams: {
169
165
  bumpAmplitude: any;
170
166
  quality: any;
171
167
  material: any;
168
+ clip: any;
172
169
  }>, "on">;
173
170
  }>>;
174
171
  };
@@ -258,10 +255,6 @@ export declare const DefaultCanvas3DParams: PD.Values<{
258
255
  }>[];
259
256
  ambientColor: import("../mol-util/color").Color;
260
257
  ambientIntensity: number;
261
- clip: PD.Normalize<{
262
- variant: any;
263
- objects: any;
264
- }>;
265
258
  }>>;
266
259
  trackball: PD.Group<PD.Normalize<{
267
260
  noScroll: boolean;
@@ -320,6 +313,7 @@ export declare const DefaultCanvas3DParams: PD.Values<{
320
313
  bumpAmplitude: any;
321
314
  quality: any;
322
315
  material: any;
316
+ clip: any;
323
317
  }>, "on">;
324
318
  }>>;
325
319
  }>;
@@ -380,7 +374,7 @@ interface Canvas3D {
380
374
  update(repr?: Representation.Any, keepBoundingSphere?: boolean): void;
381
375
  clear(): void;
382
376
  syncVisibility(): void;
383
- requestDraw(force?: boolean): void;
377
+ requestDraw(): void;
384
378
  /** Reset the timers, used by "animate" */
385
379
  resetTime(t: number): void;
386
380
  animate(): void;
@@ -38,6 +38,7 @@ var helper_1 = require("./helper/helper");
38
38
  var passes_1 = require("./passes/passes");
39
39
  var mol_util_1 = require("../mol-util");
40
40
  var marking_1 = require("./passes/marking");
41
+ var render_item_1 = require("../mol-gl/webgl/render-item");
41
42
  exports.Canvas3DParams = {
42
43
  camera: param_definition_1.ParamDefinition.Group({
43
44
  mode: param_definition_1.ParamDefinition.Select('perspective', param_definition_1.ParamDefinition.arrayToOptions(['perspective', 'orthographic']), { label: 'Camera' }),
@@ -202,7 +203,7 @@ var Canvas3D;
202
203
  var width = 128;
203
204
  var height = 128;
204
205
  updateViewport();
205
- var scene = scene_1.Scene.create(webgl);
206
+ var scene = scene_1.Scene.create(webgl, passes.draw.wboitEnabled ? render_item_1.GraphicsRenderVariantsWboit : render_item_1.GraphicsRenderVariantsBlended);
206
207
  var camera = new camera_1.Camera({
207
208
  position: linear_algebra_1.Vec3.create(0, 0, 100),
208
209
  mode: p.camera.mode,
@@ -254,16 +255,24 @@ var Canvas3D;
254
255
  changed = helper.camera.mark(loci, action) || changed;
255
256
  reprRenderObjects.forEach(function (_, _repr) { changed = _repr.mark(loci, action) || changed; });
256
257
  }
257
- if (changed && !noDraw) {
258
- scene.update(void 0, true);
259
- helper.handle.scene.update(void 0, true);
260
- helper.camera.scene.update(void 0, true);
261
- var prevPickDirty = pickHelper.dirty;
262
- draw(true);
263
- pickHelper.dirty = prevPickDirty; // marking does not change picking buffers
258
+ if (changed) {
259
+ if (noDraw) {
260
+ // Even with `noDraw` make sure changes will be rendered.
261
+ // Note that with this calling mark (with or without `noDraw`) multiple times
262
+ // during a JS event loop iteration will only result in a single render call.
263
+ forceNextRender = true;
264
+ }
265
+ else {
266
+ scene.update(void 0, true);
267
+ helper.handle.scene.update(void 0, true);
268
+ helper.camera.scene.update(void 0, true);
269
+ var prevPickDirty = pickHelper.dirty;
270
+ draw({ force: true, allowMulti: true });
271
+ pickHelper.dirty = prevPickDirty; // marking does not change picking buffers
272
+ }
264
273
  }
265
274
  }
266
- function render(force) {
275
+ function render(force, allowMulti) {
267
276
  if (webgl.isContextLost)
268
277
  return false;
269
278
  var resized = false;
@@ -287,11 +296,13 @@ var Canvas3D;
287
296
  stereoCamera.update();
288
297
  cam = stereoCamera;
289
298
  }
299
+ var ctx = { renderer: renderer, camera: cam, scene: scene, helper: helper };
290
300
  if (multi_sample_1.MultiSamplePass.isEnabled(p.multiSample)) {
291
- multiSampleHelper.render(renderer, cam, scene, helper, true, p.transparentBackground, p);
301
+ var forceOn = !cameraChanged && allowMulti && !controls.props.spin;
302
+ multiSampleHelper.render(ctx, p, true, forceOn);
292
303
  }
293
304
  else {
294
- passes.draw.render(renderer, cam, scene, helper, true, p.transparentBackground, p.postprocessing, p.marking);
305
+ passes.draw.render(ctx, p, true);
295
306
  }
296
307
  pickHelper.dirty = true;
297
308
  didRender = true;
@@ -302,15 +313,15 @@ var Canvas3D;
302
313
  var forceDrawAfterAllCommited = false;
303
314
  var currentTime = 0;
304
315
  var drawPaused = false;
305
- function draw(force) {
316
+ function draw(options) {
306
317
  if (drawPaused)
307
318
  return;
308
- if (render(!!force) && notifyDidDraw) {
319
+ if (render(!!(options === null || options === void 0 ? void 0 : options.force), !!(options === null || options === void 0 ? void 0 : options.allowMulti)) && notifyDidDraw) {
309
320
  didDraw.next((0, now_1.now)() - startTime);
310
321
  }
311
322
  }
312
- function requestDraw(force) {
313
- forceNextRender = forceNextRender || !!force;
323
+ function requestDraw() {
324
+ forceNextRender = true;
314
325
  }
315
326
  var animationFrameHandle = 0;
316
327
  function tick(t, options) {
@@ -320,7 +331,7 @@ var Canvas3D;
320
331
  if (options === null || options === void 0 ? void 0 : options.manualDraw) {
321
332
  return;
322
333
  }
323
- draw(false);
334
+ draw();
324
335
  if (!camera.transition.inTransition && !webgl.isContextLost) {
325
336
  interactionHelper.tick(currentTime);
326
337
  }
@@ -358,7 +369,7 @@ var Canvas3D;
358
369
  if (forceDrawAfterAllCommited) {
359
370
  if (helper.debug.isEnabled)
360
371
  helper.debug.update();
361
- draw(true);
372
+ draw({ force: true });
362
373
  forceDrawAfterAllCommited = false;
363
374
  }
364
375
  commited.next((0, now_1.now)());
@@ -527,11 +538,11 @@ var Canvas3D;
527
538
  }
528
539
  var contextRestoredSub = contextRestored.subscribe(function () {
529
540
  pickHelper.dirty = true;
530
- draw(true);
541
+ draw({ force: true });
531
542
  // Unclear why, but in Chrome with wboit enabled the first `draw` only clears
532
543
  // the drawingBuffer. Note that in Firefox the drawingBuffer is preserved after
533
544
  // context loss so it is unclear if it behaves the same.
534
- draw(true);
545
+ draw({ force: true });
535
546
  });
536
547
  var resized = new rxjs_1.BehaviorSubject(0);
537
548
  function handleResize(draw) {
@@ -540,7 +551,7 @@ var Canvas3D;
540
551
  updateViewport();
541
552
  syncViewport();
542
553
  if (draw)
543
- requestDraw(true);
554
+ requestDraw();
544
555
  resized.next(+new Date());
545
556
  }
546
557
  return {
@@ -565,7 +576,7 @@ var Canvas3D;
565
576
  reprRenderObjects.clear();
566
577
  scene.clear();
567
578
  helper.debug.clear();
568
- requestDraw(true);
579
+ requestDraw();
569
580
  reprCount.next(reprRenderObjects.size);
570
581
  },
571
582
  syncVisibility: function () {
@@ -577,7 +588,7 @@ var Canvas3D;
577
588
  if (helper.debug.isEnabled)
578
589
  helper.debug.update();
579
590
  }
580
- requestDraw(true);
591
+ requestDraw();
581
592
  },
582
593
  requestDraw: requestDraw,
583
594
  tick: tick,
@@ -674,7 +685,7 @@ var Canvas3D;
674
685
  p.camera.stereo.name = 'off';
675
686
  }
676
687
  if (!doNotRequestDraw) {
677
- requestDraw(true);
688
+ requestDraw();
678
689
  }
679
690
  },
680
691
  getImagePass: function (props) {
@@ -18,6 +18,7 @@ var names_1 = require("../../mol-util/color/names");
18
18
  var sphere_2 = require("../../mol-geo/primitive/sphere");
19
19
  var mol_util_1 = require("../../mol-util");
20
20
  var geometry_2 = require("../../mol-geo/geometry/geometry");
21
+ var render_item_1 = require("../../mol-gl/webgl/render-item");
21
22
  exports.DebugHelperParams = {
22
23
  sceneBoundingSpheres: param_definition_1.ParamDefinition.Boolean(false, { description: 'Show full scene bounding spheres.' }),
23
24
  visibleSceneBoundingSpheres: param_definition_1.ParamDefinition.Boolean(false, { description: 'Show visible scene bounding spheres.' }),
@@ -28,7 +29,7 @@ var BoundingSphereHelper = /** @class */ (function () {
28
29
  function BoundingSphereHelper(ctx, parent, props) {
29
30
  this.objectsData = new Map();
30
31
  this.instancesData = new Map();
31
- this.scene = scene_1.Scene.create(ctx);
32
+ this.scene = scene_1.Scene.create(ctx, render_item_1.GraphicsRenderVariantsBlended);
32
33
  this.parent = parent;
33
34
  this._props = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, param_definition_1.ParamDefinition.getDefaultValues(exports.DebugHelperParams)), props);
34
35
  }
@@ -151,6 +152,6 @@ var objectMaterialId = (0, render_object_1.getNextMaterialId)();
151
152
  var instanceMaterialId = (0, render_object_1.getNextMaterialId)();
152
153
  function createBoundingSphereRenderObject(mesh, color, materialId, transform) {
153
154
  var values = mesh_1.Mesh.Utils.createValuesSimple(mesh, { alpha: 0.1, doubleSided: false }, color, 1, transform);
154
- return (0, render_object_1.createRenderObject)('mesh', values, { disposed: false, visible: true, alphaFactor: 1, pickable: false, colorOnly: false, opaque: false, writeDepth: false, noClip: false }, materialId);
155
+ return (0, render_object_1.createRenderObject)('mesh', values, { disposed: false, visible: true, alphaFactor: 1, pickable: false, colorOnly: false, opaque: false, writeDepth: false }, materialId);
155
156
  }
156
157
  //# sourceMappingURL=bounding-sphere-helper.js.map
@@ -30,6 +30,10 @@ export declare const CameraHelperParams: {
30
30
  roughness: number;
31
31
  bumpiness: number;
32
32
  }>;
33
+ clip: PD.Normalize<{
34
+ variant: any;
35
+ objects: any;
36
+ }>;
33
37
  }>, "on">>;
34
38
  };
35
39
  export declare type CameraHelperParams = typeof CameraHelperParams;
@@ -14,6 +14,7 @@ var sphere_1 = require("../../mol-geo/geometry/mesh/builder/sphere");
14
14
  var mesh_1 = require("../../mol-geo/geometry/mesh/mesh");
15
15
  var mesh_builder_1 = require("../../mol-geo/geometry/mesh/mesh-builder");
16
16
  var scene_1 = require("../../mol-gl/scene");
17
+ var render_item_1 = require("../../mol-gl/webgl/render-item");
17
18
  var geometry_1 = require("../../mol-math/geometry");
18
19
  var linear_algebra_1 = require("../../mol-math/linear-algebra");
19
20
  var loci_1 = require("../../mol-model/loci");
@@ -55,7 +56,7 @@ var CameraHelper = /** @class */ (function () {
55
56
  }
56
57
  return changed;
57
58
  };
58
- this.scene = scene_1.Scene.create(webgl);
59
+ this.scene = scene_1.Scene.create(webgl, render_item_1.GraphicsRenderVariantsBlended);
59
60
  this.camera = new camera_1.Camera();
60
61
  linear_algebra_1.Vec3.set(this.camera.up, 0, 1, 0);
61
62
  linear_algebra_1.Vec3.set(this.camera.target, 0, 0, 0);
@@ -70,7 +71,6 @@ var CameraHelper = /** @class */ (function () {
70
71
  _this.scene.clear();
71
72
  var params = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, props.axes.params), { scale: props.axes.params.scale * _this.webgl.pixelRatio });
72
73
  _this.renderObject = createAxesRenderObject(params);
73
- _this.renderObject.state.noClip = true;
74
74
  _this.scene.add(_this.renderObject);
75
75
  _this.scene.commit();
76
76
  linear_algebra_1.Vec3.set(_this.camera.position, 0, 0, params.scale * 200);
@@ -32,6 +32,10 @@ export declare const HandleHelperParams: {
32
32
  roughness: number;
33
33
  bumpiness: number;
34
34
  }>;
35
+ clip: PD.Normalize<{
36
+ variant: any;
37
+ objects: any;
38
+ }>;
35
39
  }>, "on">>;
36
40
  };
37
41
  export declare type HandleHelperParams = typeof HandleHelperParams;
@@ -23,6 +23,7 @@ var loci_1 = require("../../mol-model/loci");
23
23
  var marker_action_1 = require("../../mol-util/marker-action");
24
24
  var visual_1 = require("../../mol-repr/visual");
25
25
  var int_1 = require("../../mol-data/int");
26
+ var render_item_1 = require("../../mol-gl/webgl/render-item");
26
27
  var HandleParams = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, mesh_1.Mesh.Params), { alpha: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, mesh_1.Mesh.Params.alpha), { defaultValue: 1 }), ignoreLight: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, mesh_1.Mesh.Params.ignoreLight), { defaultValue: true }), colorX: param_definition_1.ParamDefinition.Color(names_1.ColorNames.red, { isEssential: true }), colorY: param_definition_1.ParamDefinition.Color(names_1.ColorNames.green, { isEssential: true }), colorZ: param_definition_1.ParamDefinition.Color(names_1.ColorNames.blue, { isEssential: true }), scale: param_definition_1.ParamDefinition.Numeric(0.33, { min: 0.1, max: 2, step: 0.1 }, { isEssential: true }) });
27
28
  exports.HandleHelperParams = {
28
29
  handle: param_definition_1.ParamDefinition.MappedStatic('off', {
@@ -55,7 +56,7 @@ var HandleHelper = /** @class */ (function () {
55
56
  }
56
57
  return changed;
57
58
  };
58
- this.scene = scene_1.Scene.create(webgl);
59
+ this.scene = scene_1.Scene.create(webgl, render_item_1.GraphicsRenderVariantsBlended);
59
60
  this.setProps(props);
60
61
  }
61
62
  HandleHelper.prototype.getBoundingSphere = function (out, instanceId) {
@@ -75,7 +76,6 @@ var HandleHelper = /** @class */ (function () {
75
76
  _this.scene.clear();
76
77
  var params = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, props.handle.params), { scale: props.handle.params.scale * _this.webgl.pixelRatio });
77
78
  _this.renderObject = createHandleRenderObject(params);
78
- _this.renderObject.state.noClip = true;
79
79
  _this.scene.add(_this.renderObject);
80
80
  _this.scene.commit();
81
81
  p.handle.params = (0, tslib_1.__assign)({}, props.handle.params);
@@ -37,6 +37,7 @@ export declare const HelperParams: {
37
37
  bumpAmplitude: any;
38
38
  quality: any;
39
39
  material: any;
40
+ clip: any;
40
41
  }>, "on">;
41
42
  }>>;
42
43
  };
@@ -68,6 +69,7 @@ export declare const DefaultHelperProps: PD.Values<{
68
69
  bumpAmplitude: any;
69
70
  quality: any;
70
71
  material: any;
72
+ clip: any;
71
73
  }>, "on">;
72
74
  }>>;
73
75
  }>;
@@ -14,6 +14,17 @@ import { Helper } from '../helper/helper';
14
14
  import { StereoCamera } from '../camera/stereo';
15
15
  import { PostprocessingPass, PostprocessingProps } from './postprocessing';
16
16
  import { MarkingProps } from './marking';
17
+ declare type Props = {
18
+ postprocessing: PostprocessingProps;
19
+ marking: MarkingProps;
20
+ transparentBackground: boolean;
21
+ };
22
+ declare type RenderContext = {
23
+ renderer: Renderer;
24
+ camera: Camera | StereoCamera;
25
+ scene: Scene;
26
+ helper: Helper;
27
+ };
17
28
  export declare class DrawPass {
18
29
  private webgl;
19
30
  private readonly drawTarget;
@@ -40,6 +51,7 @@ export declare class DrawPass {
40
51
  private _renderWboit;
41
52
  private _renderBlended;
42
53
  private _render;
43
- render(renderer: Renderer, camera: Camera | StereoCamera, scene: Scene, helper: Helper, toDrawingBuffer: boolean, transparentBackground: boolean, postprocessingProps: PostprocessingProps, markingProps: MarkingProps): void;
54
+ render(ctx: RenderContext, props: Props, toDrawingBuffer: boolean): void;
44
55
  getColorTarget(postprocessingProps: PostprocessingProps): RenderTarget;
45
56
  }
57
+ export {};
@@ -197,23 +197,23 @@ var DrawPass = /** @class */ (function () {
197
197
  }
198
198
  renderer.renderBlendedTransparent(scene.primitives, camera, null);
199
199
  };
200
- DrawPass.prototype._render = function (renderer, camera, scene, helper, toDrawingBuffer, transparentBackground, postprocessingProps, markingProps) {
200
+ DrawPass.prototype._render = function (renderer, camera, scene, helper, toDrawingBuffer, props) {
201
201
  var volumeRendering = scene.volumes.renderables.length > 0;
202
- var postprocessingEnabled = postprocessing_1.PostprocessingPass.isEnabled(postprocessingProps);
203
- var antialiasingEnabled = postprocessing_1.AntialiasingPass.isEnabled(postprocessingProps);
204
- var markingEnabled = marking_1.MarkingPass.isEnabled(markingProps);
202
+ var postprocessingEnabled = postprocessing_1.PostprocessingPass.isEnabled(props.postprocessing);
203
+ var antialiasingEnabled = postprocessing_1.AntialiasingPass.isEnabled(props.postprocessing);
204
+ var markingEnabled = marking_1.MarkingPass.isEnabled(props.marking);
205
205
  var _a = camera.viewport, x = _a.x, y = _a.y, width = _a.width, height = _a.height;
206
206
  renderer.setViewport(x, y, width, height);
207
207
  renderer.update(camera);
208
- if (transparentBackground && !antialiasingEnabled && toDrawingBuffer) {
208
+ if (props.transparentBackground && !antialiasingEnabled && toDrawingBuffer) {
209
209
  this.drawTarget.bind();
210
210
  renderer.clear(false);
211
211
  }
212
212
  if (this.wboitEnabled) {
213
- this._renderWboit(renderer, camera, scene, transparentBackground, postprocessingProps);
213
+ this._renderWboit(renderer, camera, scene, props.transparentBackground, props.postprocessing);
214
214
  }
215
215
  else {
216
- this._renderBlended(renderer, camera, scene, !volumeRendering && !postprocessingEnabled && !antialiasingEnabled && toDrawingBuffer, transparentBackground, postprocessingProps);
216
+ this._renderBlended(renderer, camera, scene, !volumeRendering && !postprocessingEnabled && !antialiasingEnabled && toDrawingBuffer, props.transparentBackground, props.postprocessing);
217
217
  }
218
218
  if (postprocessingEnabled) {
219
219
  this.postprocessing.target.bind();
@@ -225,7 +225,7 @@ var DrawPass = /** @class */ (function () {
225
225
  this.drawTarget.bind();
226
226
  }
227
227
  if (markingEnabled) {
228
- var markingDepthTest = markingProps.ghostEdgeStrength < 1;
228
+ var markingDepthTest = props.marking.ghostEdgeStrength < 1;
229
229
  if (markingDepthTest) {
230
230
  this.marking.depthTarget.bind();
231
231
  renderer.clear(false);
@@ -234,7 +234,7 @@ var DrawPass = /** @class */ (function () {
234
234
  this.marking.maskTarget.bind();
235
235
  renderer.clear(false);
236
236
  renderer.renderMarkingMask(scene.primitives, camera, markingDepthTest ? this.marking.depthTarget.texture : null);
237
- this.marking.update(markingProps);
237
+ this.marking.update(props.marking);
238
238
  this.marking.render(camera.viewport, postprocessingEnabled ? this.postprocessing.target : this.colorTarget);
239
239
  }
240
240
  if (helper.debug.isEnabled) {
@@ -250,7 +250,7 @@ var DrawPass = /** @class */ (function () {
250
250
  renderer.renderBlended(helper.camera.scene, helper.camera.camera, null);
251
251
  }
252
252
  if (antialiasingEnabled) {
253
- this.antialiasing.render(camera, toDrawingBuffer, postprocessingProps);
253
+ this.antialiasing.render(camera, toDrawingBuffer, props.postprocessing);
254
254
  }
255
255
  else if (toDrawingBuffer) {
256
256
  this.drawTarget.bind();
@@ -264,16 +264,17 @@ var DrawPass = /** @class */ (function () {
264
264
  }
265
265
  this.webgl.gl.flush();
266
266
  };
267
- DrawPass.prototype.render = function (renderer, camera, scene, helper, toDrawingBuffer, transparentBackground, postprocessingProps, markingProps) {
268
- renderer.setTransparentBackground(transparentBackground);
267
+ DrawPass.prototype.render = function (ctx, props, toDrawingBuffer) {
268
+ var renderer = ctx.renderer, camera = ctx.camera, scene = ctx.scene, helper = ctx.helper;
269
+ renderer.setTransparentBackground(props.transparentBackground);
269
270
  renderer.setDrawingBufferSize(this.colorTarget.getWidth(), this.colorTarget.getHeight());
270
271
  renderer.setPixelRatio(this.webgl.pixelRatio);
271
272
  if (stereo_1.StereoCamera.is(camera)) {
272
- this._render(renderer, camera.left, scene, helper, toDrawingBuffer, transparentBackground, postprocessingProps, markingProps);
273
- this._render(renderer, camera.right, scene, helper, toDrawingBuffer, transparentBackground, postprocessingProps, markingProps);
273
+ this._render(renderer, camera.left, scene, helper, toDrawingBuffer, props);
274
+ this._render(renderer, camera.right, scene, helper, toDrawingBuffer, props);
274
275
  }
275
276
  else {
276
- this._render(renderer, camera, scene, helper, toDrawingBuffer, transparentBackground, postprocessingProps, markingProps);
277
+ this._render(renderer, camera, scene, helper, toDrawingBuffer, props);
277
278
  }
278
279
  };
279
280
  DrawPass.prototype.getColorTarget = function (postprocessingProps) {
@@ -63,6 +63,7 @@ export declare const ImageParams: {
63
63
  bumpAmplitude: any;
64
64
  quality: any;
65
65
  material: any;
66
+ clip: any;
66
67
  }>, "on">;
67
68
  }>>;
68
69
  };
@@ -76,12 +76,13 @@ var ImagePass = /** @class */ (function () {
76
76
  camera_1.Camera.copySnapshot(this._camera.state, this.camera.state);
77
77
  util_1.Viewport.set(this._camera.viewport, 0, 0, this._width, this._height);
78
78
  this._camera.update();
79
+ var ctx = { renderer: this.renderer, camera: this._camera, scene: this.scene, helper: this.helper };
79
80
  if (multi_sample_1.MultiSamplePass.isEnabled(this.props.multiSample)) {
80
- this.multiSampleHelper.render(this.renderer, this._camera, this.scene, this.helper, false, this.props.transparentBackground, this.props);
81
+ this.multiSampleHelper.render(ctx, this.props, false);
81
82
  this._colorTarget = this.multiSamplePass.colorTarget;
82
83
  }
83
84
  else {
84
- this.drawPass.render(this.renderer, this._camera, this.scene, this.helper, false, this.props.transparentBackground, this.props.postprocessing, this.props.marking);
85
+ this.drawPass.render(ctx, this.props, false);
85
86
  this._colorTarget = this.drawPass.getColorTarget(this.props.postprocessing);
86
87
  }
87
88
  };
@@ -20,7 +20,7 @@ var overlay_frag_1 = require("../../mol-gl/shader/marking/overlay.frag");
20
20
  var color_1 = require("../../mol-util/color");
21
21
  var edge_frag_1 = require("../../mol-gl/shader/marking/edge.frag");
22
22
  exports.MarkingParams = {
23
- enabled: param_definition_1.ParamDefinition.Boolean(false),
23
+ enabled: param_definition_1.ParamDefinition.Boolean(true),
24
24
  highlightEdgeColor: param_definition_1.ParamDefinition.Color(color_1.Color.darken(color_1.Color.fromNormalizedRgb(1.0, 0.4, 0.6), 1.0)),
25
25
  selectEdgeColor: param_definition_1.ParamDefinition.Color(color_1.Color.darken(color_1.Color.fromNormalizedRgb(0.2, 1.0, 0.1), 1.0)),
26
26
  edgeScale: param_definition_1.ParamDefinition.Numeric(1, { min: 1, max: 3, step: 1 }, { description: 'Thickness of the edge.' }),
@@ -23,6 +23,13 @@ declare type Props = {
23
23
  multiSample: MultiSampleProps;
24
24
  postprocessing: PostprocessingProps;
25
25
  marking: MarkingProps;
26
+ transparentBackground: boolean;
27
+ };
28
+ declare type RenderContext = {
29
+ renderer: Renderer;
30
+ camera: Camera | StereoCamera;
31
+ scene: Scene;
32
+ helper: Helper;
26
33
  };
27
34
  export declare class MultiSamplePass {
28
35
  private webgl;
@@ -34,7 +41,7 @@ export declare class MultiSamplePass {
34
41
  private compose;
35
42
  constructor(webgl: WebGLContext, drawPass: DrawPass);
36
43
  syncSize(): void;
37
- render(sampleIndex: number, renderer: Renderer, camera: Camera | StereoCamera, scene: Scene, helper: Helper, toDrawingBuffer: boolean, transparentBackground: boolean, props: Props): number;
44
+ render(sampleIndex: number, ctx: RenderContext, props: Props, toDrawingBuffer: boolean, forceOn: boolean): number;
38
45
  private bindOutputTarget;
39
46
  private renderMultiSample;
40
47
  private renderTemporalMultiSample;
@@ -43,7 +50,8 @@ export declare class MultiSampleHelper {
43
50
  private multiSamplePass;
44
51
  private sampleIndex;
45
52
  update(changed: boolean, props: MultiSampleProps): boolean;
46
- render(renderer: Renderer, camera: Camera | StereoCamera, scene: Scene, helper: Helper, toDrawingBuffer: boolean, transparentBackground: boolean, props: Props): void;
53
+ /** Return `true` while more samples are needed */
54
+ render(ctx: RenderContext, props: Props, toDrawingBuffer: boolean, forceOn?: boolean): boolean;
47
55
  constructor(multiSamplePass: MultiSamplePass);
48
56
  }
49
57
  export {};