molstar 3.0.0-dev.3 → 3.0.0-dev.7

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 (552) hide show
  1. package/build/viewer/embedded.html +5 -5
  2. package/build/viewer/index.html +25 -17
  3. package/build/viewer/molstar.css +1 -1
  4. package/build/viewer/molstar.js +1 -1
  5. package/lib/apps/docking-viewer/index.d.ts +2 -1
  6. package/lib/apps/docking-viewer/index.html +8 -8
  7. package/lib/apps/docking-viewer/index.js +87 -74
  8. package/lib/apps/docking-viewer/viewport.js +2 -1
  9. package/lib/apps/viewer/embedded.html +5 -5
  10. package/lib/apps/viewer/index.d.ts +36 -215
  11. package/lib/apps/viewer/index.html +25 -17
  12. package/lib/apps/viewer/index.js +139 -52
  13. package/lib/cli/cifschema/index.d.ts +1 -1
  14. package/lib/cli/cifschema/index.js +15 -35
  15. package/lib/commonjs/apps/docking-viewer/index.d.ts +2 -1
  16. package/lib/commonjs/apps/docking-viewer/index.js +86 -73
  17. package/lib/commonjs/apps/docking-viewer/viewport.js +2 -1
  18. package/lib/commonjs/apps/viewer/index.d.ts +36 -215
  19. package/lib/commonjs/apps/viewer/index.js +139 -52
  20. package/lib/commonjs/cli/cifschema/index.d.ts +1 -1
  21. package/lib/commonjs/cli/cifschema/index.js +15 -35
  22. package/lib/commonjs/examples/alpha-orbitals/index.js +2 -3
  23. package/lib/commonjs/examples/basic-wrapper/index.js +23 -11
  24. package/lib/commonjs/examples/lighting/index.d.ts +1 -1
  25. package/lib/commonjs/examples/lighting/index.js +58 -41
  26. package/lib/commonjs/examples/proteopedia-wrapper/index.js +26 -14
  27. package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +0 -1
  28. package/lib/commonjs/extensions/alpha-orbitals/transforms.js +1 -14
  29. package/lib/commonjs/extensions/anvil/behavior.d.ts +7 -0
  30. package/lib/commonjs/extensions/anvil/representation.d.ts +63 -0
  31. package/lib/commonjs/extensions/cellpack/representation.d.ts +13 -0
  32. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +39 -0
  33. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
  34. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.js +236 -0
  35. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
  36. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +125 -0
  37. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
  38. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +111 -0
  39. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
  40. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.js +130 -0
  41. package/lib/commonjs/extensions/mp4-export/controls.d.ts +1 -0
  42. package/lib/commonjs/extensions/mp4-export/controls.js +9 -7
  43. package/lib/commonjs/extensions/pdbe/structure-quality-report/prop.js +1 -1
  44. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +7 -0
  45. package/lib/commonjs/extensions/rcsb/assembly-symmetry/prop.js +1 -1
  46. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +13 -0
  47. package/lib/commonjs/extensions/rcsb/validation-report/prop.js +1 -1
  48. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +65 -0
  49. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +8 -8
  50. package/lib/commonjs/mol-canvas3d/canvas3d.js +12 -4
  51. package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  52. package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +7 -0
  53. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
  54. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +7 -0
  55. package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
  56. package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +6 -0
  57. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +4 -0
  58. package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +2 -1
  59. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +4 -2
  60. package/lib/commonjs/mol-canvas3d/passes/pick.js +9 -9
  61. package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +1 -0
  62. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +6 -4
  63. package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
  64. package/lib/commonjs/mol-geo/geometry/base.d.ts +20 -0
  65. package/lib/commonjs/mol-geo/geometry/base.js +20 -1
  66. package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
  67. package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
  68. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +14 -1
  69. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +5 -3
  70. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +11 -0
  71. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +2 -2
  72. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +11 -0
  73. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +12 -0
  74. package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
  75. package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
  76. package/lib/commonjs/mol-geo/geometry/marker-data.js +0 -4
  77. package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.js +1 -1
  78. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +13 -0
  79. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +5 -3
  80. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +11 -0
  81. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +13 -0
  82. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +5 -3
  83. package/lib/commonjs/mol-geo/geometry/substance-data.js +3 -3
  84. package/lib/commonjs/mol-geo/geometry/text/text.d.ts +11 -0
  85. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +3 -3
  86. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +13 -0
  87. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +5 -3
  88. package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
  89. package/lib/commonjs/mol-gl/render-object.js +10 -10
  90. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +41 -33
  91. package/lib/commonjs/mol-gl/renderable/cylinders.js +4 -4
  92. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +11 -5
  93. package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
  94. package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
  95. package/lib/commonjs/mol-gl/renderable/image.js +2 -2
  96. package/lib/commonjs/mol-gl/renderable/lines.d.ts +38 -32
  97. package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
  98. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +38 -30
  99. package/lib/commonjs/mol-gl/renderable/mesh.js +4 -4
  100. package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
  101. package/lib/commonjs/mol-gl/renderable/points.js +2 -2
  102. package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
  103. package/lib/commonjs/mol-gl/renderable/schema.js +6 -12
  104. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +41 -33
  105. package/lib/commonjs/mol-gl/renderable/spheres.js +4 -4
  106. package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
  107. package/lib/commonjs/mol-gl/renderable/text.js +2 -2
  108. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +13 -5
  109. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
  110. package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
  111. package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
  112. package/lib/commonjs/mol-gl/renderer.js +12 -74
  113. package/lib/commonjs/mol-gl/scene.d.ts +2 -2
  114. package/lib/commonjs/mol-gl/scene.js +7 -5
  115. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  116. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  117. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  118. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  119. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  120. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  121. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  122. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  123. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  124. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  125. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  126. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  127. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  128. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  129. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  130. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  131. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  132. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
  133. package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.d.ts +1 -1
  134. package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.js +1 -1
  135. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  136. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  137. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  138. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  139. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  140. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  141. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  142. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  143. package/lib/commonjs/mol-gl/shader/mesh.vert.d.ts +1 -1
  144. package/lib/commonjs/mol-gl/shader/mesh.vert.js +1 -1
  145. package/lib/commonjs/mol-gl/shader/postprocessing.frag.d.ts +1 -1
  146. package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +1 -1
  147. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  148. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  149. package/lib/commonjs/mol-gl/shader-code.d.ts +3 -1
  150. package/lib/commonjs/mol-gl/shader-code.js +42 -13
  151. package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
  152. package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
  153. package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
  154. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
  155. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +326 -1
  156. package/lib/commonjs/mol-math/geometry/symmetry-operator.js +3 -2
  157. package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  158. package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
  159. package/lib/commonjs/mol-model/structure/model/model.d.ts +1 -0
  160. package/lib/commonjs/mol-model/structure/model/model.js +15 -5
  161. package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
  162. package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
  163. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
  164. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.js +4 -1
  165. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
  166. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
  167. package/lib/commonjs/mol-model/structure/model/types.js +9 -0
  168. package/lib/commonjs/mol-model/structure/structure/unit/rings.js +2 -0
  169. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +26 -0
  170. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +13 -0
  171. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +13 -0
  172. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +39 -0
  173. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +52 -0
  174. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +12 -0
  175. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  176. package/lib/commonjs/mol-plugin/commands.d.ts +4 -4
  177. package/lib/commonjs/mol-plugin/config.d.ts +2 -0
  178. package/lib/commonjs/mol-plugin/config.js +10 -3
  179. package/lib/commonjs/mol-plugin/spec.js +1 -0
  180. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +21 -0
  181. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +7 -1
  182. package/lib/commonjs/mol-plugin-state/actions/structure.js +150 -72
  183. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
  184. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +13 -8
  185. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
  186. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  187. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
  188. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +33 -19
  189. package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +15 -1
  190. package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
  191. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +54 -0
  192. package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +3 -2
  193. package/lib/commonjs/mol-plugin-ui/controls/parameters.js +11 -6
  194. package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.d.ts +1 -1
  195. package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.js +8 -17
  196. package/lib/commonjs/mol-plugin-ui/index.d.ts +4 -4
  197. package/lib/commonjs/mol-plugin-ui/index.js +13 -16
  198. package/lib/commonjs/mol-plugin-ui/plugin.d.ts +1 -1
  199. package/lib/commonjs/mol-plugin-ui/plugin.js +76 -10
  200. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +2 -6
  201. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +13 -0
  202. package/lib/commonjs/mol-repr/shape/loci/common.d.ts +11 -0
  203. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +13 -0
  204. package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +11 -0
  205. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +11 -0
  206. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +13 -0
  207. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +13 -0
  208. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +13 -0
  209. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +72 -0
  210. package/lib/commonjs/mol-repr/structure/params.d.ts +96 -0
  211. package/lib/commonjs/mol-repr/structure/registry.d.ts +175 -1
  212. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +39 -0
  213. package/lib/commonjs/mol-repr/structure/representation/backbone.js +2 -1
  214. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +39 -0
  215. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.js +2 -1
  216. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +39 -0
  217. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.js +2 -1
  218. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +39 -0
  219. package/lib/commonjs/mol-repr/structure/representation/cartoon.js +2 -1
  220. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +39 -0
  221. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.js +2 -1
  222. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +39 -0
  223. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +2 -1
  224. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +33 -0
  225. package/lib/commonjs/mol-repr/structure/representation/label.d.ts +36 -3
  226. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +33 -0
  227. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +39 -0
  228. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +2 -1
  229. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +39 -0
  230. package/lib/commonjs/mol-repr/structure/representation/orientation.js +2 -1
  231. package/lib/commonjs/mol-repr/structure/representation/point.d.ts +33 -0
  232. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +39 -0
  233. package/lib/commonjs/mol-repr/structure/representation/putty.js +2 -1
  234. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +39 -0
  235. package/lib/commonjs/mol-repr/structure/representation/spacefill.js +2 -1
  236. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +96 -0
  237. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +26 -0
  238. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +11 -0
  239. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +26 -0
  240. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
  241. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +11 -0
  242. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  243. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +13 -0
  244. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +13 -0
  245. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +13 -0
  246. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +11 -0
  247. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +11 -0
  248. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +26 -0
  249. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +13 -0
  250. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -0
  251. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +52 -0
  252. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +11 -0
  253. package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +13 -2
  254. package/lib/commonjs/mol-repr/structure/visual/label-text.js +2 -2
  255. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +13 -0
  256. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +11 -0
  257. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +13 -0
  258. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +13 -0
  259. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +13 -0
  260. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +26 -0
  261. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +26 -0
  262. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +13 -0
  263. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +13 -0
  264. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +13 -0
  265. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  266. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +13 -0
  267. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +1 -1
  268. package/lib/commonjs/mol-repr/visual.js +11 -7
  269. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -0
  270. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +76 -0
  271. package/lib/commonjs/mol-repr/volume/isosurface.js +2 -1
  272. package/lib/commonjs/mol-repr/volume/registry.d.ts +35 -0
  273. package/lib/commonjs/mol-repr/volume/representation.d.ts +11 -0
  274. package/lib/commonjs/mol-repr/volume/slice.d.ts +33 -0
  275. package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
  276. package/lib/commonjs/mol-theme/clipping.js +5 -12
  277. package/lib/commonjs/mol-theme/color/illustrative.d.ts +2 -0
  278. package/lib/commonjs/mol-theme/color/illustrative.js +2 -2
  279. package/lib/commonjs/mol-theme/color.d.ts +1 -0
  280. package/lib/commonjs/mol-util/clip.d.ts +49 -0
  281. package/lib/commonjs/mol-util/clip.js +97 -0
  282. package/lib/commonjs/mol-util/material.d.ts +5 -1
  283. package/lib/commonjs/mol-util/material.js +9 -7
  284. package/lib/examples/alpha-orbitals/index.html +1 -0
  285. package/lib/examples/alpha-orbitals/index.js +3 -4
  286. package/lib/examples/basic-wrapper/index.html +3 -2
  287. package/lib/examples/basic-wrapper/index.js +24 -12
  288. package/lib/examples/lighting/index.d.ts +1 -1
  289. package/lib/examples/lighting/index.html +4 -2
  290. package/lib/examples/lighting/index.js +59 -42
  291. package/lib/examples/proteopedia-wrapper/index.html +4 -3
  292. package/lib/examples/proteopedia-wrapper/index.js +27 -15
  293. package/lib/extensions/alpha-orbitals/transforms.d.ts +0 -1
  294. package/lib/extensions/alpha-orbitals/transforms.js +1 -14
  295. package/lib/extensions/anvil/behavior.d.ts +7 -0
  296. package/lib/extensions/anvil/representation.d.ts +63 -0
  297. package/lib/extensions/cellpack/representation.d.ts +13 -0
  298. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +39 -0
  299. package/lib/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
  300. package/lib/extensions/model-archive/quality-assessment/behavior.js +233 -0
  301. package/lib/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
  302. package/lib/extensions/model-archive/quality-assessment/color/plddt.js +120 -0
  303. package/lib/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
  304. package/lib/extensions/model-archive/quality-assessment/color/qmean.js +106 -0
  305. package/lib/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
  306. package/lib/extensions/model-archive/quality-assessment/prop.js +127 -0
  307. package/lib/extensions/mp4-export/controls.d.ts +1 -0
  308. package/lib/extensions/mp4-export/controls.js +9 -7
  309. package/lib/extensions/pdbe/structure-quality-report/prop.js +1 -1
  310. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +7 -0
  311. package/lib/extensions/rcsb/assembly-symmetry/prop.js +1 -1
  312. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +13 -0
  313. package/lib/extensions/rcsb/validation-report/prop.js +1 -1
  314. package/lib/extensions/rcsb/validation-report/representation.d.ts +65 -0
  315. package/lib/mol-canvas3d/canvas3d.d.ts +8 -8
  316. package/lib/mol-canvas3d/canvas3d.js +12 -4
  317. package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  318. package/lib/mol-canvas3d/helper/camera-helper.d.ts +7 -0
  319. package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
  320. package/lib/mol-canvas3d/helper/handle-helper.d.ts +7 -0
  321. package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
  322. package/lib/mol-canvas3d/helper/helper.d.ts +6 -0
  323. package/lib/mol-canvas3d/passes/image.d.ts +4 -0
  324. package/lib/mol-canvas3d/passes/multi-sample.d.ts +2 -1
  325. package/lib/mol-canvas3d/passes/multi-sample.js +4 -2
  326. package/lib/mol-canvas3d/passes/pick.js +9 -9
  327. package/lib/mol-canvas3d/passes/postprocessing.d.ts +1 -0
  328. package/lib/mol-canvas3d/passes/postprocessing.js +6 -4
  329. package/lib/mol-canvas3d/passes/smaa.js +1 -1
  330. package/lib/mol-geo/geometry/base.d.ts +20 -0
  331. package/lib/mol-geo/geometry/base.js +20 -1
  332. package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
  333. package/lib/mol-geo/geometry/clipping-data.js +3 -8
  334. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +14 -1
  335. package/lib/mol-geo/geometry/cylinders/cylinders.js +5 -3
  336. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +11 -0
  337. package/lib/mol-geo/geometry/direct-volume/direct-volume.js +2 -2
  338. package/lib/mol-geo/geometry/image/image.d.ts +11 -0
  339. package/lib/mol-geo/geometry/lines/lines.d.ts +12 -0
  340. package/lib/mol-geo/geometry/lines/lines.js +1 -1
  341. package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
  342. package/lib/mol-geo/geometry/marker-data.js +0 -4
  343. package/lib/mol-geo/geometry/mesh/color-smoothing.js +1 -1
  344. package/lib/mol-geo/geometry/mesh/mesh.d.ts +13 -0
  345. package/lib/mol-geo/geometry/mesh/mesh.js +5 -3
  346. package/lib/mol-geo/geometry/points/points.d.ts +11 -0
  347. package/lib/mol-geo/geometry/spheres/spheres.d.ts +13 -0
  348. package/lib/mol-geo/geometry/spheres/spheres.js +5 -3
  349. package/lib/mol-geo/geometry/substance-data.js +3 -3
  350. package/lib/mol-geo/geometry/text/text.d.ts +11 -0
  351. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +3 -3
  352. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +13 -0
  353. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +5 -3
  354. package/lib/mol-gl/render-object.d.ts +2 -1
  355. package/lib/mol-gl/render-object.js +10 -10
  356. package/lib/mol-gl/renderable/cylinders.d.ts +41 -33
  357. package/lib/mol-gl/renderable/cylinders.js +5 -5
  358. package/lib/mol-gl/renderable/direct-volume.d.ts +11 -5
  359. package/lib/mol-gl/renderable/direct-volume.js +3 -3
  360. package/lib/mol-gl/renderable/image.d.ts +10 -4
  361. package/lib/mol-gl/renderable/image.js +2 -2
  362. package/lib/mol-gl/renderable/lines.d.ts +38 -32
  363. package/lib/mol-gl/renderable/lines.js +4 -4
  364. package/lib/mol-gl/renderable/mesh.d.ts +38 -30
  365. package/lib/mol-gl/renderable/mesh.js +5 -5
  366. package/lib/mol-gl/renderable/points.d.ts +10 -4
  367. package/lib/mol-gl/renderable/points.js +2 -2
  368. package/lib/mol-gl/renderable/schema.d.ts +10 -11
  369. package/lib/mol-gl/renderable/schema.js +6 -12
  370. package/lib/mol-gl/renderable/spheres.d.ts +41 -33
  371. package/lib/mol-gl/renderable/spheres.js +5 -5
  372. package/lib/mol-gl/renderable/text.d.ts +10 -4
  373. package/lib/mol-gl/renderable/text.js +2 -2
  374. package/lib/mol-gl/renderable/texture-mesh.d.ts +13 -5
  375. package/lib/mol-gl/renderable/texture-mesh.js +3 -3
  376. package/lib/mol-gl/renderable.d.ts +0 -1
  377. package/lib/mol-gl/renderer.d.ts +12 -12
  378. package/lib/mol-gl/renderer.js +13 -75
  379. package/lib/mol-gl/scene.d.ts +2 -2
  380. package/lib/mol-gl/scene.js +7 -5
  381. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  382. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  383. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  384. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  385. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  386. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  387. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  388. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  389. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  390. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  391. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  392. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  393. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  394. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  395. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  396. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  397. package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  398. package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
  399. package/lib/mol-gl/shader/chunks/light-frag-params.glsl.d.ts +1 -1
  400. package/lib/mol-gl/shader/chunks/light-frag-params.glsl.js +1 -1
  401. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  402. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  403. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  404. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  405. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  406. package/lib/mol-gl/shader/image.frag.js +1 -1
  407. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  408. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  409. package/lib/mol-gl/shader/mesh.vert.d.ts +1 -1
  410. package/lib/mol-gl/shader/mesh.vert.js +1 -1
  411. package/lib/mol-gl/shader/postprocessing.frag.d.ts +1 -1
  412. package/lib/mol-gl/shader/postprocessing.frag.js +1 -1
  413. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  414. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  415. package/lib/mol-gl/shader-code.d.ts +3 -1
  416. package/lib/mol-gl/shader-code.js +42 -13
  417. package/lib/mol-gl/webgl/render-item.d.ts +7 -6
  418. package/lib/mol-gl/webgl/render-item.js +8 -6
  419. package/lib/mol-gl/webgl/resources.js +8 -1
  420. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
  421. package/lib/mol-io/reader/cif/schema/mmcif.js +326 -1
  422. package/lib/mol-math/geometry/symmetry-operator.js +3 -2
  423. package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  424. package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
  425. package/lib/mol-model/structure/model/model.d.ts +1 -0
  426. package/lib/mol-model/structure/model/model.js +15 -5
  427. package/lib/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
  428. package/lib/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
  429. package/lib/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
  430. package/lib/mol-model/structure/model/properties/utils/atomic-derived.js +5 -2
  431. package/lib/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
  432. package/lib/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
  433. package/lib/mol-model/structure/model/types.js +9 -0
  434. package/lib/mol-model/structure/structure/unit/rings.js +2 -0
  435. package/lib/mol-model-formats/shape/ply.d.ts +26 -0
  436. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +13 -0
  437. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +13 -0
  438. package/lib/mol-model-props/computed/representations/interactions.d.ts +39 -0
  439. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +52 -0
  440. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +12 -0
  441. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  442. package/lib/mol-plugin/commands.d.ts +4 -4
  443. package/lib/mol-plugin/config.d.ts +2 -0
  444. package/lib/mol-plugin/config.js +9 -3
  445. package/lib/mol-plugin/spec.js +1 -0
  446. package/lib/mol-plugin/util/viewport-screenshot.d.ts +21 -0
  447. package/lib/mol-plugin/version.js +2 -2
  448. package/lib/mol-plugin-state/actions/structure.d.ts +7 -1
  449. package/lib/mol-plugin-state/actions/structure.js +150 -72
  450. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
  451. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.js +14 -9
  452. package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
  453. package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  454. package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
  455. package/lib/mol-plugin-state/helpers/structure-selection-query.js +34 -20
  456. package/lib/mol-plugin-state/manager/structure/component.d.ts +15 -1
  457. package/lib/mol-plugin-state/manager/structure/component.js +14 -9
  458. package/lib/mol-plugin-state/transforms/representation.d.ts +54 -0
  459. package/lib/mol-plugin-ui/controls/parameters.d.ts +3 -2
  460. package/lib/mol-plugin-ui/controls/parameters.js +12 -7
  461. package/lib/mol-plugin-ui/hooks/use-behavior.d.ts +1 -1
  462. package/lib/mol-plugin-ui/hooks/use-behavior.js +9 -18
  463. package/lib/mol-plugin-ui/index.d.ts +4 -4
  464. package/lib/mol-plugin-ui/index.js +11 -13
  465. package/lib/mol-plugin-ui/plugin.d.ts +1 -1
  466. package/lib/mol-plugin-ui/plugin.js +76 -10
  467. package/lib/mol-plugin-ui/skin/base/components/misc.scss +27 -0
  468. package/lib/mol-plugin-ui/viewport/simple-settings.js +2 -6
  469. package/lib/mol-repr/shape/loci/angle.d.ts +13 -0
  470. package/lib/mol-repr/shape/loci/common.d.ts +11 -0
  471. package/lib/mol-repr/shape/loci/dihedral.d.ts +13 -0
  472. package/lib/mol-repr/shape/loci/distance.d.ts +11 -0
  473. package/lib/mol-repr/shape/loci/label.d.ts +11 -0
  474. package/lib/mol-repr/shape/loci/orientation.d.ts +13 -0
  475. package/lib/mol-repr/shape/loci/plane.d.ts +13 -0
  476. package/lib/mol-repr/shape/model/unitcell.d.ts +13 -0
  477. package/lib/mol-repr/structure/complex-visual.d.ts +72 -0
  478. package/lib/mol-repr/structure/params.d.ts +96 -0
  479. package/lib/mol-repr/structure/registry.d.ts +175 -1
  480. package/lib/mol-repr/structure/representation/backbone.d.ts +39 -0
  481. package/lib/mol-repr/structure/representation/backbone.js +2 -1
  482. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +39 -0
  483. package/lib/mol-repr/structure/representation/ball-and-stick.js +2 -1
  484. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +39 -0
  485. package/lib/mol-repr/structure/representation/carbohydrate.js +2 -1
  486. package/lib/mol-repr/structure/representation/cartoon.d.ts +39 -0
  487. package/lib/mol-repr/structure/representation/cartoon.js +2 -1
  488. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +39 -0
  489. package/lib/mol-repr/structure/representation/ellipsoid.js +2 -1
  490. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +39 -0
  491. package/lib/mol-repr/structure/representation/gaussian-surface.js +2 -1
  492. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +33 -0
  493. package/lib/mol-repr/structure/representation/label.d.ts +36 -3
  494. package/lib/mol-repr/structure/representation/line.d.ts +33 -0
  495. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +39 -0
  496. package/lib/mol-repr/structure/representation/molecular-surface.js +2 -1
  497. package/lib/mol-repr/structure/representation/orientation.d.ts +39 -0
  498. package/lib/mol-repr/structure/representation/orientation.js +2 -1
  499. package/lib/mol-repr/structure/representation/point.d.ts +33 -0
  500. package/lib/mol-repr/structure/representation/putty.d.ts +39 -0
  501. package/lib/mol-repr/structure/representation/putty.js +2 -1
  502. package/lib/mol-repr/structure/representation/spacefill.d.ts +39 -0
  503. package/lib/mol-repr/structure/representation/spacefill.js +2 -1
  504. package/lib/mol-repr/structure/units-visual.d.ts +96 -0
  505. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +26 -0
  506. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +11 -0
  507. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +26 -0
  508. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
  509. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +11 -0
  510. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  511. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +13 -0
  512. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +13 -0
  513. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +13 -0
  514. package/lib/mol-repr/structure/visual/element-cross.d.ts +11 -0
  515. package/lib/mol-repr/structure/visual/element-point.d.ts +11 -0
  516. package/lib/mol-repr/structure/visual/element-sphere.d.ts +26 -0
  517. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +13 -0
  518. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -0
  519. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +52 -0
  520. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +11 -0
  521. package/lib/mol-repr/structure/visual/label-text.d.ts +13 -2
  522. package/lib/mol-repr/structure/visual/label-text.js +2 -2
  523. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +13 -0
  524. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +11 -0
  525. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +13 -0
  526. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +13 -0
  527. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +13 -0
  528. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +26 -0
  529. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +26 -0
  530. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +13 -0
  531. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +13 -0
  532. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +13 -0
  533. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  534. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +13 -0
  535. package/lib/mol-repr/structure/visual/util/bond.js +1 -1
  536. package/lib/mol-repr/visual.js +11 -7
  537. package/lib/mol-repr/volume/direct-volume.d.ts +33 -0
  538. package/lib/mol-repr/volume/isosurface.d.ts +76 -0
  539. package/lib/mol-repr/volume/isosurface.js +2 -1
  540. package/lib/mol-repr/volume/registry.d.ts +35 -0
  541. package/lib/mol-repr/volume/representation.d.ts +11 -0
  542. package/lib/mol-repr/volume/slice.d.ts +33 -0
  543. package/lib/mol-theme/clipping.d.ts +7 -15
  544. package/lib/mol-theme/clipping.js +5 -12
  545. package/lib/mol-theme/color/illustrative.d.ts +2 -0
  546. package/lib/mol-theme/color/illustrative.js +2 -2
  547. package/lib/mol-theme/color.d.ts +1 -0
  548. package/lib/mol-util/clip.d.ts +49 -0
  549. package/lib/mol-util/clip.js +93 -0
  550. package/lib/mol-util/material.d.ts +5 -1
  551. package/lib/mol-util/material.js +9 -7
  552. package/package.json +5 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -70,6 +70,14 @@ declare namespace Quat {
70
70
  function fromArray(a: Quat, array: NumberArray, offset: number): Quat;
71
71
  function copy(out: Quat, a: Quat): Quat;
72
72
  function set(out: Quat, x: number, y: number, z: number, w: number): Quat;
73
+ /**
74
+ * Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===)
75
+ */
76
+ function exactEquals(a: Quat, b: Quat): boolean;
77
+ /**
78
+ * Returns whether or not the quaternions have approximately the same elements in the same position.
79
+ */
80
+ function equals(a: Quat, b: Quat): boolean;
73
81
  function add(out: Quat, a: Quat, b: Quat): Quat;
74
82
  function normalize(out: Quat, a: Quat): Quat;
75
83
  function rotationTo(out: Quat, a: Vec3, b: Vec3): Quat;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -311,6 +311,25 @@ function Quat() {
311
311
  return out;
312
312
  }
313
313
  Quat.set = set;
314
+ /**
315
+ * Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===)
316
+ */
317
+ function exactEquals(a, b) {
318
+ return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];
319
+ }
320
+ Quat.exactEquals = exactEquals;
321
+ /**
322
+ * Returns whether or not the quaternions have approximately the same elements in the same position.
323
+ */
324
+ function equals(a, b) {
325
+ var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3];
326
+ var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3];
327
+ return (Math.abs(a0 - b0) <= EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) &&
328
+ Math.abs(a1 - b1) <= EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) &&
329
+ Math.abs(a2 - b2) <= EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) &&
330
+ Math.abs(a3 - b3) <= EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)));
331
+ }
332
+ Quat.equals = equals;
314
333
  function add(out, a, b) {
315
334
  out[0] = a[0] + b[0];
316
335
  out[1] = a[1] + b[1];
@@ -124,6 +124,7 @@ export declare namespace Model {
124
124
  function hasProtein(model: Model): boolean;
125
125
  function hasNucleic(model: Model): boolean;
126
126
  function isFromPdbArchive(model: Model): boolean;
127
+ function hasPdbId(model: Model): boolean;
127
128
  function hasSecondaryStructure(model: Model): boolean;
128
129
  function hasCrystalSymmetry(model: Model): boolean;
129
130
  function isFromXray(model: Model): boolean;
@@ -201,13 +201,23 @@ export var Model;
201
201
  if (!MmcifFormat.is(model.sourceData))
202
202
  return false;
203
203
  var db = model.sourceData.data.db;
204
- return (db.database_2.database_id.isDefined ||
205
- // 4 character PDB id
206
- model.entryId.match(/^[1-9][a-z0-9]{3,3}$/i) !== null ||
204
+ for (var i = 0, il = db.database_2.database_id.rowCount; i < il; ++i) {
205
+ if (db.database_2.database_id.value(i) === 'PDB')
206
+ return true;
207
+ }
208
+ return false;
209
+ }
210
+ Model.isFromPdbArchive = isFromPdbArchive;
211
+ function hasPdbId(model) {
212
+ if (!MmcifFormat.is(model.sourceData))
213
+ return false;
214
+ return (
215
+ // 4 character PDB id
216
+ model.entryId.match(/^[1-9][a-z0-9]{3,3}$/i) !== null ||
207
217
  // long PDB id
208
218
  model.entryId.match(/^pdb_[0-9]{4,4}[1-9][a-z0-9]{3,3}$/i) !== null);
209
219
  }
210
- Model.isFromPdbArchive = isFromPdbArchive;
220
+ Model.hasPdbId = hasPdbId;
211
221
  function hasSecondaryStructure(model) {
212
222
  if (!MmcifFormat.is(model.sourceData))
213
223
  return false;
@@ -304,7 +314,7 @@ export var Model;
304
314
  var db = model.sourceData.data.db;
305
315
  return hasDensityMap(model) || (
306
316
  // check if from pdb archive but missing relevant meta data
307
- isFromPdbArchive(model) && (!db.exptl.method.isDefined ||
317
+ hasPdbId(model) && (!db.exptl.method.isDefined ||
308
318
  (isFromXray(model) && (!db.pdbx_database_status.status_code_sf.isDefined ||
309
319
  db.pdbx_database_status.status_code_sf.valueKind(0) === 2 /* Unknown */)) ||
310
320
  (isFromEm(model) && (!db.pdbx_database_related.db_name.isDefined))));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -181,6 +181,11 @@ export interface AtomicIndex {
181
181
  * @returns first found index or -1 if none of the given atoms are present.
182
182
  */
183
183
  findAtomsOnResidue(residueIndex: ResidueIndex, label_atom_ids: Set<string>): ElementIndex;
184
+ /**
185
+ * Find element index of an atom on a given residue.
186
+ * @returns index or -1 if the atom is not present.
187
+ */
188
+ findElementOnResidue(residueIndex: ResidueIndex, type_symbol: ElementSymbol): ElementIndex;
184
189
  }
185
190
  export declare namespace AtomicIndex {
186
191
  interface ChainLabelKey {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
6
  import { AtomNumber } from '../atomic';
7
- import { getMoleculeType, getComponentType, getPolymerType } from '../../types';
7
+ import { getMoleculeType, getComponentType, getPolymerType, isPolymer, ElementSymbol } from '../../types';
8
8
  import { getAtomIdForAtomRole } from '../../../../../mol-model/structure/util';
9
9
  import { isProductionMode } from '../../../../../mol-util/debug';
10
10
  export function getAtomicDerivedData(data, segments, index, chemicalComponentMap) {
@@ -54,6 +54,9 @@ export function getAtomicDerivedData(data, segments, index, chemicalComponentMap
54
54
  if (traceIndex === -1) {
55
55
  var coarseAtomId = getAtomIdForAtomRole(polyType, 'coarseBackbone');
56
56
  traceIndex = index.findAtomsOnResidue(i, coarseAtomId);
57
+ if (traceIndex === -1 && isPolymer(molType)) {
58
+ traceIndex = index.findElementOnResidue(i, ElementSymbol('C'));
59
+ }
57
60
  }
58
61
  traceElementIndex[i] = traceIndex;
59
62
  var directionFromAtomId = getAtomIdForAtomRole(polyType, 'directionFrom');
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2017-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2017-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -40,6 +40,7 @@ function createMapping(entities, data, segments) {
40
40
  label_atom_id: data.atoms.label_atom_id,
41
41
  auth_atom_id: data.atoms.auth_atom_id,
42
42
  label_alt_id: data.atoms.label_alt_id,
43
+ type_symbol: data.atoms.type_symbol,
43
44
  chain_index_entity_index: new Int32Array(data.chains._rowCount),
44
45
  entity_index_label_asym_id: new Map(),
45
46
  chain_index_label_seq_id: new Map(),
@@ -148,6 +149,9 @@ var Index = /** @class */ (function () {
148
149
  Index.prototype.findAtomsOnResidue = function (rI, label_atom_ids) {
149
150
  return findAtomByNames(this.residueOffsets[rI], this.residueOffsets[rI + 1], this.map.label_atom_id, label_atom_ids);
150
151
  };
152
+ Index.prototype.findElementOnResidue = function (rI, type_symbol) {
153
+ return findAtomByElement(this.residueOffsets[rI], this.residueOffsets[rI + 1], this.map.type_symbol, type_symbol);
154
+ };
151
155
  return Index;
152
156
  }());
153
157
  function findAtomByName(start, end, data, atomName) {
@@ -171,6 +175,13 @@ function findAtomByNameAndAltLoc(start, end, nameData, altLocData, atomName, alt
171
175
  }
172
176
  return -1;
173
177
  }
178
+ function findAtomByElement(start, end, data, typeSymbol) {
179
+ for (var i = start; i < end; i++) {
180
+ if (data.value(i) === typeSymbol)
181
+ return i;
182
+ }
183
+ return -1;
184
+ }
174
185
  export function getAtomicIndex(data, entities, segments) {
175
186
  var map = createMapping(entities, data, segments);
176
187
  var _a = data.residues, label_seq_id = _a.label_seq_id, auth_seq_id = _a.auth_seq_id, pdbx_PDB_ins_code = _a.pdbx_PDB_ins_code;
@@ -261,6 +261,15 @@ export function getMoleculeType(compType, compId) {
261
261
  // trust our saccharide table more than given 'non-polymer' or 'other' component type
262
262
  return 9 /* Saccharide */;
263
263
  }
264
+ else if (AminoAcidNames.has(compId)) {
265
+ return 5 /* Protein */;
266
+ }
267
+ else if (RnaBaseNames.has(compId)) {
268
+ return 6 /* RNA */;
269
+ }
270
+ else if (DnaBaseNames.has(compId)) {
271
+ return 7 /* DNA */;
272
+ }
264
273
  else {
265
274
  return 1 /* Other */;
266
275
  }
@@ -125,6 +125,8 @@ var UnitRing;
125
125
  return true;
126
126
  if (!hasAromaticRingElement)
127
127
  return false;
128
+ if (ring.length < 5)
129
+ return false;
128
130
  var ma = PrincipalAxes.calculateMomentsAxes(getPositions(unit, ring));
129
131
  return Vec3.magnitude(ma.dirC) < AromaticRingPlanarityThreshold;
130
132
  }
@@ -30,11 +30,24 @@ export declare const PlyShapeParams: {
30
30
  flatShaded: PD.BooleanParam;
31
31
  ignoreLight: PD.BooleanParam;
32
32
  xrayShaded: PD.BooleanParam;
33
+ bumpFrequency: PD.Numeric;
34
+ bumpAmplitude: PD.Numeric;
33
35
  alpha: PD.Numeric;
34
36
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
35
37
  material: PD.Group<PD.Normalize<{
36
38
  metalness: number;
37
39
  roughness: number;
40
+ bumpiness: number;
41
+ }>>;
42
+ clip: PD.Group<PD.Normalize<{
43
+ variant: import("../../mol-util/clip").Clip.Variant;
44
+ objects: PD.Normalize<{
45
+ type: any;
46
+ invert: any;
47
+ position: any;
48
+ rotation: any;
49
+ scale: any;
50
+ }>[];
38
51
  }>>;
39
52
  };
40
53
  export declare type PlyShapeParams = typeof PlyShapeParams;
@@ -58,10 +71,23 @@ export declare function shapeFromPly(source: PlyFile, params?: {}): Task<ShapePr
58
71
  flatShaded: PD.BooleanParam;
59
72
  ignoreLight: PD.BooleanParam;
60
73
  xrayShaded: PD.BooleanParam;
74
+ bumpFrequency: PD.Numeric;
75
+ bumpAmplitude: PD.Numeric;
61
76
  alpha: PD.Numeric;
62
77
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
63
78
  material: PD.Group<PD.Normalize<{
64
79
  metalness: number;
65
80
  roughness: number;
81
+ bumpiness: number;
82
+ }>>;
83
+ clip: PD.Group<PD.Normalize<{
84
+ variant: import("../../mol-util/clip").Clip.Variant;
85
+ objects: PD.Normalize<{
86
+ type: any;
87
+ invert: any;
88
+ position: any;
89
+ rotation: any;
90
+ scale: any;
91
+ }>[];
66
92
  }>>;
67
93
  }>>;
@@ -25,11 +25,24 @@ export declare const InteractionsInterUnitParams: {
25
25
  flatShaded: PD.BooleanParam;
26
26
  ignoreLight: PD.BooleanParam;
27
27
  xrayShaded: PD.BooleanParam;
28
+ bumpFrequency: PD.Numeric;
29
+ bumpAmplitude: PD.Numeric;
28
30
  alpha: PD.Numeric;
29
31
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
30
32
  material: PD.Group<PD.Normalize<{
31
33
  metalness: number;
32
34
  roughness: number;
35
+ bumpiness: number;
36
+ }>>;
37
+ clip: PD.Group<PD.Normalize<{
38
+ variant: import("../../../mol-util/clip").Clip.Variant;
39
+ objects: PD.Normalize<{
40
+ type: any;
41
+ invert: any;
42
+ position: any;
43
+ rotation: any;
44
+ scale: any;
45
+ }>[];
33
46
  }>>;
34
47
  };
35
48
  export declare type InteractionsInterUnitParams = typeof InteractionsInterUnitParams;
@@ -25,11 +25,24 @@ export declare const InteractionsIntraUnitParams: {
25
25
  flatShaded: PD.BooleanParam;
26
26
  ignoreLight: PD.BooleanParam;
27
27
  xrayShaded: PD.BooleanParam;
28
+ bumpFrequency: PD.Numeric;
29
+ bumpAmplitude: PD.Numeric;
28
30
  alpha: PD.Numeric;
29
31
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
30
32
  material: PD.Group<PD.Normalize<{
31
33
  metalness: number;
32
34
  roughness: number;
35
+ bumpiness: number;
36
+ }>>;
37
+ clip: PD.Group<PD.Normalize<{
38
+ variant: import("../../../mol-util/clip").Clip.Variant;
39
+ objects: PD.Normalize<{
40
+ type: any;
41
+ invert: any;
42
+ position: any;
43
+ rotation: any;
44
+ scale: any;
45
+ }>[];
33
46
  }>>;
34
47
  };
35
48
  export declare type InteractionsIntraUnitParams = typeof InteractionsIntraUnitParams;
@@ -29,11 +29,24 @@ export declare const InteractionsParams: {
29
29
  flatShaded: PD.BooleanParam;
30
30
  ignoreLight: PD.BooleanParam;
31
31
  xrayShaded: PD.BooleanParam;
32
+ bumpFrequency: PD.Numeric;
33
+ bumpAmplitude: PD.Numeric;
32
34
  alpha: PD.Numeric;
33
35
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
34
36
  material: PD.Group<PD.Normalize<{
35
37
  metalness: number;
36
38
  roughness: number;
39
+ bumpiness: number;
40
+ }>>;
41
+ clip: PD.Group<PD.Normalize<{
42
+ variant: import("../../../mol-util/clip").Clip.Variant;
43
+ objects: PD.Normalize<{
44
+ type: any;
45
+ invert: any;
46
+ position: any;
47
+ rotation: any;
48
+ scale: any;
49
+ }>[];
37
50
  }>>;
38
51
  };
39
52
  export declare type InteractionsParams = typeof InteractionsParams;
@@ -58,11 +71,24 @@ export declare function getInteractionParams(ctx: ThemeRegistryContext, structur
58
71
  flatShaded: PD.BooleanParam;
59
72
  ignoreLight: PD.BooleanParam;
60
73
  xrayShaded: PD.BooleanParam;
74
+ bumpFrequency: PD.Numeric;
75
+ bumpAmplitude: PD.Numeric;
61
76
  alpha: PD.Numeric;
62
77
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
63
78
  material: PD.Group<PD.Normalize<{
64
79
  metalness: number;
65
80
  roughness: number;
81
+ bumpiness: number;
82
+ }>>;
83
+ clip: PD.Group<PD.Normalize<{
84
+ variant: import("../../../mol-util/clip").Clip.Variant;
85
+ objects: PD.Normalize<{
86
+ type: any;
87
+ invert: any;
88
+ position: any;
89
+ rotation: any;
90
+ scale: any;
91
+ }>[];
66
92
  }>>;
67
93
  };
68
94
  export declare type InteractionRepresentation = StructureRepresentation<InteractionsParams>;
@@ -88,10 +114,23 @@ export declare const InteractionsRepresentationProvider: StructureRepresentation
88
114
  flatShaded: PD.BooleanParam;
89
115
  ignoreLight: PD.BooleanParam;
90
116
  xrayShaded: PD.BooleanParam;
117
+ bumpFrequency: PD.Numeric;
118
+ bumpAmplitude: PD.Numeric;
91
119
  alpha: PD.Numeric;
92
120
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
93
121
  material: PD.Group<PD.Normalize<{
94
122
  metalness: number;
95
123
  roughness: number;
124
+ bumpiness: number;
125
+ }>>;
126
+ clip: PD.Group<PD.Normalize<{
127
+ variant: import("../../../mol-util/clip").Clip.Variant;
128
+ objects: PD.Normalize<{
129
+ type: any;
130
+ invert: any;
131
+ position: any;
132
+ rotation: any;
133
+ scale: any;
134
+ }>[];
96
135
  }>>;
97
136
  }, "interactions">;
@@ -30,11 +30,24 @@ export declare const CrossLinkRestraintCylinderParams: {
30
30
  flatShaded: PD.BooleanParam;
31
31
  ignoreLight: PD.BooleanParam;
32
32
  xrayShaded: PD.BooleanParam;
33
+ bumpFrequency: PD.Numeric;
34
+ bumpAmplitude: PD.Numeric;
33
35
  alpha: PD.Numeric;
34
36
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
35
37
  material: PD.Group<PD.Normalize<{
36
38
  metalness: number;
37
39
  roughness: number;
40
+ bumpiness: number;
41
+ }>>;
42
+ clip: PD.Group<PD.Normalize<{
43
+ variant: import("../../../mol-util/clip").Clip.Variant;
44
+ objects: PD.Normalize<{
45
+ type: any;
46
+ invert: any;
47
+ position: any;
48
+ rotation: any;
49
+ scale: any;
50
+ }>[];
38
51
  }>>;
39
52
  };
40
53
  export declare type CrossLinkRestraintCylinderParams = typeof CrossLinkRestraintCylinderParams;
@@ -59,11 +72,24 @@ export declare const CrossLinkRestraintParams: {
59
72
  flatShaded: PD.BooleanParam;
60
73
  ignoreLight: PD.BooleanParam;
61
74
  xrayShaded: PD.BooleanParam;
75
+ bumpFrequency: PD.Numeric;
76
+ bumpAmplitude: PD.Numeric;
62
77
  alpha: PD.Numeric;
63
78
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
64
79
  material: PD.Group<PD.Normalize<{
65
80
  metalness: number;
66
81
  roughness: number;
82
+ bumpiness: number;
83
+ }>>;
84
+ clip: PD.Group<PD.Normalize<{
85
+ variant: import("../../../mol-util/clip").Clip.Variant;
86
+ objects: PD.Normalize<{
87
+ type: any;
88
+ invert: any;
89
+ position: any;
90
+ rotation: any;
91
+ scale: any;
92
+ }>[];
67
93
  }>>;
68
94
  };
69
95
  export declare type CrossLinkRestraintParams = typeof CrossLinkRestraintParams;
@@ -87,11 +113,24 @@ export declare function getCrossLinkRestraintParams(ctx: ThemeRegistryContext, s
87
113
  flatShaded: PD.BooleanParam;
88
114
  ignoreLight: PD.BooleanParam;
89
115
  xrayShaded: PD.BooleanParam;
116
+ bumpFrequency: PD.Numeric;
117
+ bumpAmplitude: PD.Numeric;
90
118
  alpha: PD.Numeric;
91
119
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
92
120
  material: PD.Group<PD.Normalize<{
93
121
  metalness: number;
94
122
  roughness: number;
123
+ bumpiness: number;
124
+ }>>;
125
+ clip: PD.Group<PD.Normalize<{
126
+ variant: import("../../../mol-util/clip").Clip.Variant;
127
+ objects: PD.Normalize<{
128
+ type: any;
129
+ invert: any;
130
+ position: any;
131
+ rotation: any;
132
+ scale: any;
133
+ }>[];
95
134
  }>>;
96
135
  };
97
136
  export declare type CrossLinkRestraintRepresentation = StructureRepresentation<CrossLinkRestraintParams>;
@@ -116,10 +155,23 @@ export declare const CrossLinkRestraintRepresentationProvider: StructureRepresen
116
155
  flatShaded: PD.BooleanParam;
117
156
  ignoreLight: PD.BooleanParam;
118
157
  xrayShaded: PD.BooleanParam;
158
+ bumpFrequency: PD.Numeric;
159
+ bumpAmplitude: PD.Numeric;
119
160
  alpha: PD.Numeric;
120
161
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
121
162
  material: PD.Group<PD.Normalize<{
122
163
  metalness: number;
123
164
  roughness: number;
165
+ bumpiness: number;
166
+ }>>;
167
+ clip: PD.Group<PD.Normalize<{
168
+ variant: import("../../../mol-util/clip").Clip.Variant;
169
+ objects: PD.Normalize<{
170
+ type: any;
171
+ invert: any;
172
+ position: any;
173
+ rotation: any;
174
+ scale: any;
175
+ }>[];
124
176
  }>>;
125
177
  }, CrossLinkRestraint.Tag>;
@@ -7,6 +7,7 @@
7
7
  import { PluginBehavior } from '../../../behavior';
8
8
  import { ParamDefinition as PD } from '../../../../mol-util/param-definition';
9
9
  import { PluginContext } from '../../../context';
10
+ import { Clip } from '../../../../mol-util/clip';
10
11
  declare const StructureFocusRepresentationParams: (plugin: PluginContext) => {
11
12
  expandRadius: PD.Numeric;
12
13
  targetParams: PD.Group<PD.Normalize<{
@@ -24,6 +25,17 @@ declare const StructureFocusRepresentationParams: (plugin: PluginContext) => {
24
25
  material: PD.Group<PD.Normalize<{
25
26
  metalness: number;
26
27
  roughness: number;
28
+ bumpiness: number;
29
+ }>>;
30
+ clip: PD.Group<PD.Normalize<{
31
+ variant: Clip.Variant;
32
+ objects: PD.Normalize<{
33
+ type: any;
34
+ invert: any;
35
+ position: any;
36
+ rotation: any;
37
+ scale: any;
38
+ }>[];
27
39
  }>>;
28
40
  };
29
41
  declare type StructureFocusRepresentationProps = PD.ValuesFor<ReturnType<typeof StructureFocusRepresentationParams>>;
@@ -17,6 +17,7 @@ import { SizeTheme } from '../../../../mol-theme/size';
17
17
  import { ParamDefinition as PD } from '../../../../mol-util/param-definition';
18
18
  import { PluginCommands } from '../../../commands';
19
19
  import { Material } from '../../../../mol-util/material';
20
+ import { Clip } from '../../../../mol-util/clip';
20
21
  var StructureFocusRepresentationParams = function (plugin) {
21
22
  var reprParams = StateTransforms.Representation.StructureRepresentation3D.definition.params(void 0, plugin);
22
23
  return {
@@ -41,6 +42,7 @@ var StructureFocusRepresentationParams = function (plugin) {
41
42
  excludeTargetFromSurroundings: PD.Boolean(false, { label: 'Exclude Target', description: 'Exclude the focus "target" from the surroudings component.' }),
42
43
  ignoreHydrogens: PD.Boolean(false),
43
44
  material: Material.getParam(),
45
+ clip: PD.Group(Clip.Params),
44
46
  };
45
47
  };
46
48
  var FocusComponents = ['target', 'surroundings', 'interactions'];
@@ -68,7 +70,7 @@ var StructureFocusRepresentationBehavior = /** @class */ (function (_super) {
68
70
  StructureFocusRepresentationBehavior.prototype.getReprParams = function (reprParams) {
69
71
  return __assign(__assign({}, this.params.targetParams), { type: {
70
72
  name: reprParams.type.name,
71
- params: __assign(__assign({}, reprParams.type.params), { ignoreHydrogens: this.params.ignoreHydrogens, material: this.params.material })
73
+ params: __assign(__assign({}, reprParams.type.params), { ignoreHydrogens: this.params.ignoreHydrogens, material: this.params.material, clip: this.params.clip })
72
74
  } });
73
75
  };
74
76
  StructureFocusRepresentationBehavior.prototype.ensureShape = function (cell) {
@@ -232,6 +232,7 @@ export declare const PluginCommands: {
232
232
  outline: import("../mol-util/param-definition").ParamDefinition.NamedParams<import("../mol-util/param-definition").ParamDefinition.Normalize<unknown>, "off"> | import("../mol-util/param-definition").ParamDefinition.NamedParams<import("../mol-util/param-definition").ParamDefinition.Normalize<{
233
233
  scale: any;
234
234
  threshold: any;
235
+ color: any;
235
236
  }>, "on">;
236
237
  antialiasing: import("../mol-util/param-definition").ParamDefinition.NamedParams<import("../mol-util/param-definition").ParamDefinition.Normalize<unknown>, "off"> | import("../mol-util/param-definition").ParamDefinition.NamedParams<import("../mol-util/param-definition").ParamDefinition.Normalize<{
237
238
  edgeThreshold: any;
@@ -271,10 +272,6 @@ export declare const PluginCommands: {
271
272
  }>[];
272
273
  ambientColor: import("../mol-util/color").Color;
273
274
  ambientIntensity: number;
274
- clip: import("../mol-util/param-definition").ParamDefinition.Normalize<{
275
- variant: any;
276
- objects: any;
277
- }>;
278
275
  }>>;
279
276
  trackball: import("../mol-util/param-definition").ParamDefinition.Group<import("../mol-util/param-definition").ParamDefinition.Normalize<{
280
277
  noScroll: boolean;
@@ -329,8 +326,11 @@ export declare const PluginCommands: {
329
326
  flipSided: any;
330
327
  flatShaded: any;
331
328
  xrayShaded: any;
329
+ bumpFrequency: any;
330
+ bumpAmplitude: any;
332
331
  quality: any;
333
332
  material: any;
333
+ clip: any;
334
334
  }>, "on">;
335
335
  }>>;
336
336
  }>> | ((old: Canvas3DProps) => Partial<Canvas3DProps> | void);
@@ -16,6 +16,7 @@ export declare class PluginConfigItem<T = any> {
16
16
  constructor(key: string, defaultValue?: T | undefined);
17
17
  }
18
18
  declare function item<T>(key: string, defaultValue?: T): PluginConfigItem<T>;
19
+ export declare function preferWebGl1(): boolean;
19
20
  export declare const PluginConfig: {
20
21
  item: typeof item;
21
22
  General: {
@@ -58,6 +59,7 @@ export declare const PluginConfig: {
58
59
  highSymmetryUnitCount: number;
59
60
  fiberResidueCount: number;
60
61
  }>;
62
+ DefaultRepresentationPreset: PluginConfigItem<string>;
61
63
  DefaultRepresentationPresetParams: PluginConfigItem<StructureRepresentationPresetProvider.CommonParams>;
62
64
  };
63
65
  };
@@ -16,12 +16,17 @@ var PluginConfigItem = /** @class */ (function () {
16
16
  }());
17
17
  export { PluginConfigItem };
18
18
  function item(key, defaultValue) { return new PluginConfigItem(key, defaultValue); }
19
- function preferWebGl1() {
19
+ export function preferWebGl1() {
20
20
  if (typeof navigator === 'undefined' || typeof window === 'undefined')
21
21
  return false;
22
- // WebGL2 isn't working in MacOS 12.0.1 Safari 15.1 (but is working in Safari tech preview)
22
+ // WebGL2 isn't working in MacOS 12.0.1 Safari 15.1, 15.2. It is working in Safari 15.4 tech preview, so disabling all versions before that.
23
23
  // prefer webgl 1 based on the userAgent substring
24
- if (navigator.userAgent.indexOf('Version/15.1 Safari') > 0) {
24
+ var unpportedSafariVersions = [
25
+ 'Version/15.1 Safari',
26
+ 'Version/15.2 Safari',
27
+ 'Version/15.3 Safari'
28
+ ];
29
+ if (unpportedSafariVersions.some(function (v) { return navigator.userAgent.indexOf(v) > 0; })) {
25
30
  return true;
26
31
  }
27
32
  // Check for iOS device which enabled WebGL2 recently but it doesn't seem
@@ -72,6 +77,7 @@ export var PluginConfig = {
72
77
  },
73
78
  Structure: {
74
79
  SizeThresholds: item('structure.size-thresholds', Structure.DefaultSizeThresholds),
80
+ DefaultRepresentationPreset: item('structure.default-representation-preset', 'auto'),
75
81
  DefaultRepresentationPresetParams: item('structure.default-representation-preset-params', {})
76
82
  }
77
83
  };
@@ -67,6 +67,7 @@ export var DefaultPluginSpec = function () { return ({
67
67
  PluginSpec.Action(StateTransforms.Representation.UnwindStructureAssemblyRepresentation3D),
68
68
  PluginSpec.Action(StateTransforms.Representation.OverpaintStructureRepresentation3DFromScript),
69
69
  PluginSpec.Action(StateTransforms.Representation.TransparencyStructureRepresentation3DFromScript),
70
+ PluginSpec.Action(StateTransforms.Representation.ClippingStructureRepresentation3DFromScript),
70
71
  PluginSpec.Action(StateTransforms.Representation.SubstanceStructureRepresentation3DFromScript),
71
72
  PluginSpec.Action(AssignColorVolume),
72
73
  PluginSpec.Action(StateTransforms.Volume.VolumeFromCcp4),