molstar 3.0.0-dev.6 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (734) hide show
  1. package/README.md +7 -0
  2. package/build/viewer/index.html +4 -0
  3. package/build/viewer/molstar.js +1 -1
  4. package/lib/apps/viewer/app.d.ts +230 -0
  5. package/lib/apps/viewer/app.js +525 -0
  6. package/lib/apps/viewer/index.d.ts +2 -224
  7. package/lib/apps/viewer/index.html +4 -0
  8. package/lib/apps/viewer/index.js +2 -507
  9. package/lib/commonjs/apps/viewer/app.d.ts +230 -0
  10. package/lib/commonjs/apps/viewer/app.js +531 -0
  11. package/lib/commonjs/apps/viewer/index.d.ts +2 -224
  12. package/lib/commonjs/apps/viewer/index.js +2 -510
  13. package/lib/commonjs/examples/alpha-orbitals/index.js +1 -1
  14. package/lib/commonjs/examples/basic-wrapper/index.js +7 -3
  15. package/lib/commonjs/examples/proteopedia-wrapper/index.js +7 -1
  16. package/lib/commonjs/extensions/anvil/behavior.d.ts +4 -0
  17. package/lib/commonjs/extensions/anvil/representation.d.ts +50 -0
  18. package/lib/commonjs/extensions/anvil/representation.js +1 -1
  19. package/lib/commonjs/extensions/cellpack/representation.d.ts +10 -0
  20. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  21. package/lib/commonjs/extensions/geo-export/mesh-exporter.js +4 -4
  22. package/lib/commonjs/extensions/model-export/export.d.ts +9 -0
  23. package/lib/commonjs/extensions/model-export/export.js +129 -0
  24. package/lib/commonjs/extensions/model-export/index.d.ts +7 -0
  25. package/lib/commonjs/extensions/model-export/index.js +36 -0
  26. package/lib/commonjs/extensions/model-export/ui.d.ts +11 -0
  27. package/lib/commonjs/extensions/model-export/ui.js +77 -0
  28. package/lib/commonjs/extensions/mp4-export/encoder.js +1 -1
  29. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  30. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  31. package/lib/commonjs/extensions/rcsb/graphql/types.d.ts +2 -2
  32. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +50 -0
  33. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +15 -13
  34. package/lib/commonjs/mol-canvas3d/canvas3d.js +34 -29
  35. package/lib/commonjs/mol-canvas3d/controls/trackball.d.ts +9 -4
  36. package/lib/commonjs/mol-canvas3d/controls/trackball.js +50 -11
  37. package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  38. package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  39. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
  40. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  41. package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
  42. package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
  43. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +13 -1
  44. package/lib/commonjs/mol-canvas3d/passes/draw.js +16 -15
  45. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -0
  46. package/lib/commonjs/mol-canvas3d/passes/image.js +3 -2
  47. package/lib/commonjs/mol-canvas3d/passes/marking.js +1 -1
  48. package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +9 -2
  49. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +14 -12
  50. package/lib/commonjs/mol-canvas3d/passes/pick.js +12 -12
  51. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +3 -3
  52. package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
  53. package/lib/commonjs/mol-geo/geometry/base.d.ts +18 -0
  54. package/lib/commonjs/mol-geo/geometry/base.js +18 -1
  55. package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
  56. package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
  57. package/lib/commonjs/mol-geo/geometry/color-data.d.ts +1 -1
  58. package/lib/commonjs/mol-geo/geometry/color-data.js +22 -0
  59. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +10 -0
  60. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +2 -2
  61. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  62. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +21 -66
  63. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  64. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  65. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +10 -0
  66. package/lib/commonjs/mol-geo/geometry/image/image.js +1 -1
  67. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +10 -0
  68. package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
  69. package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
  70. package/lib/commonjs/mol-geo/geometry/marker-data.js +13 -9
  71. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  72. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +2 -2
  73. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +10 -0
  74. package/lib/commonjs/mol-geo/geometry/points/points.js +1 -1
  75. package/lib/commonjs/mol-geo/geometry/size-data.js +5 -5
  76. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  77. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +2 -2
  78. package/lib/commonjs/mol-geo/geometry/text/text.d.ts +10 -0
  79. package/lib/commonjs/mol-geo/geometry/text/text.js +1 -1
  80. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  81. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  82. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  83. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  84. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  85. package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
  86. package/lib/commonjs/mol-gl/render-object.js +10 -10
  87. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +11 -5
  88. package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
  89. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +15 -14
  90. package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
  91. package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
  92. package/lib/commonjs/mol-gl/renderable/image.js +2 -2
  93. package/lib/commonjs/mol-gl/renderable/lines.d.ts +39 -33
  94. package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
  95. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +11 -5
  96. package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
  97. package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
  98. package/lib/commonjs/mol-gl/renderable/points.js +2 -2
  99. package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
  100. package/lib/commonjs/mol-gl/renderable/schema.js +4 -10
  101. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +11 -5
  102. package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
  103. package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
  104. package/lib/commonjs/mol-gl/renderable/text.js +2 -2
  105. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +11 -6
  106. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
  107. package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
  108. package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
  109. package/lib/commonjs/mol-gl/renderer.js +23 -92
  110. package/lib/commonjs/mol-gl/scene.d.ts +2 -2
  111. package/lib/commonjs/mol-gl/scene.js +7 -5
  112. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  113. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  114. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  115. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  116. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  117. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  118. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  119. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  120. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  121. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  122. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  123. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  124. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  125. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  126. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  127. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  128. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  129. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  130. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  131. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  132. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  133. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  134. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  135. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
  136. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  137. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  138. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  139. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  140. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  141. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  142. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  143. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  144. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  145. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +1 -1
  146. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  147. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  148. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  149. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  150. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  151. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  152. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  153. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  154. package/lib/commonjs/mol-gl/shader/mesh.vert.d.ts +1 -1
  155. package/lib/commonjs/mol-gl/shader/mesh.vert.js +1 -1
  156. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  157. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  158. package/lib/commonjs/mol-gl/shader-code.d.ts +3 -1
  159. package/lib/commonjs/mol-gl/shader-code.js +43 -14
  160. package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
  161. package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
  162. package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
  163. package/lib/commonjs/mol-io/reader/cif/schema/bird.d.ts +1 -1
  164. package/lib/commonjs/mol-io/reader/cif/schema/bird.js +1 -1
  165. package/lib/commonjs/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  166. package/lib/commonjs/mol-io/reader/cif/schema/ccd.js +1 -1
  167. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +2 -2
  168. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +1 -1
  169. package/lib/commonjs/mol-io/reader/mol/parser.d.ts +23 -1
  170. package/lib/commonjs/mol-io/reader/mol/parser.js +116 -4
  171. package/lib/commonjs/mol-io/reader/mol2/parser.d.ts +1 -1
  172. package/lib/commonjs/mol-io/reader/mol2/parser.js +33 -3
  173. package/lib/commonjs/mol-io/reader/mol2/schema.d.ts +12 -1
  174. package/lib/commonjs/mol-io/reader/mol2/schema.js +1 -1
  175. package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.d.ts +6 -0
  176. package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.js +9 -0
  177. package/lib/commonjs/mol-io/reader/sdf/parser.d.ts +3 -1
  178. package/lib/commonjs/mol-io/reader/sdf/parser.js +11 -2
  179. package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +9 -2
  180. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +2 -2
  181. package/lib/commonjs/mol-math/geometry/symmetry-operator.d.ts +1 -1
  182. package/lib/commonjs/mol-math/geometry/symmetry-operator.js +10 -4
  183. package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  184. package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
  185. package/lib/commonjs/mol-model/structure/export/mmcif.d.ts +1 -1
  186. package/lib/commonjs/mol-model/structure/export/mmcif.js +8 -5
  187. package/lib/commonjs/mol-model/structure/model/properties/common.d.ts +1 -1
  188. package/lib/commonjs/mol-model/structure/structure/element/stats.js +8 -0
  189. package/lib/commonjs/mol-model/structure/structure/properties.d.ts +1 -0
  190. package/lib/commonjs/mol-model/structure/structure/properties.js +2 -1
  191. package/lib/commonjs/mol-model/structure/structure/symmetry.js +1 -3
  192. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  193. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.js +11 -2
  194. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  195. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +20 -10
  196. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  197. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +21 -11
  198. package/lib/commonjs/mol-model/structure/structure/util/superposition-db-mapping.js +10 -5
  199. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +20 -0
  200. package/lib/commonjs/mol-model-formats/structure/basic/atomic.d.ts +2 -2
  201. package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +6 -6
  202. package/lib/commonjs/mol-model-formats/structure/basic/coarse.d.ts +1 -1
  203. package/lib/commonjs/mol-model-formats/structure/basic/coarse.js +3 -3
  204. package/lib/commonjs/mol-model-formats/structure/basic/entities.d.ts +2 -1
  205. package/lib/commonjs/mol-model-formats/structure/basic/entities.js +28 -24
  206. package/lib/commonjs/mol-model-formats/structure/basic/parser.js +17 -8
  207. package/lib/commonjs/mol-model-formats/structure/basic/properties.d.ts +6 -1
  208. package/lib/commonjs/mol-model-formats/structure/basic/properties.js +12 -22
  209. package/lib/commonjs/mol-model-formats/structure/mol.d.ts +2 -1
  210. package/lib/commonjs/mol-model-formats/structure/mol.js +19 -5
  211. package/lib/commonjs/mol-model-formats/structure/mol2.d.ts +1 -1
  212. package/lib/commonjs/mol-model-formats/structure/mol2.js +37 -7
  213. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  214. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  215. package/lib/commonjs/mol-model-props/common/custom-property.d.ts +1 -1
  216. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  217. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +11 -1
  218. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +25 -10
  219. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +30 -0
  220. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  221. package/lib/commonjs/mol-model-props/sequence/best-database-mapping.js +15 -15
  222. package/lib/commonjs/mol-plugin/animation-loop.d.ts +2 -0
  223. package/lib/commonjs/mol-plugin/animation-loop.js +1 -1
  224. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +4 -6
  225. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  226. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  227. package/lib/commonjs/mol-plugin/commands.d.ts +7 -6
  228. package/lib/commonjs/mol-plugin/config.d.ts +1 -2
  229. package/lib/commonjs/mol-plugin/config.js +4 -25
  230. package/lib/commonjs/mol-plugin/features.d.ts +9 -0
  231. package/lib/commonjs/mol-plugin/features.js +38 -0
  232. package/lib/commonjs/mol-plugin/spec.d.ts +1 -1
  233. package/lib/commonjs/mol-plugin/spec.js +4 -1
  234. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  235. package/lib/commonjs/mol-plugin-state/actions/file.d.ts +3 -2
  236. package/lib/commonjs/mol-plugin-state/actions/file.js +67 -31
  237. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +1 -0
  238. package/lib/commonjs/mol-plugin-state/actions/structure.js +41 -8
  239. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-rock.d.ts +16 -0
  240. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-rock.js +62 -0
  241. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-spin.d.ts +1 -1
  242. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-spin.js +9 -8
  243. package/lib/commonjs/mol-plugin-state/animation/model.d.ts +4 -0
  244. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +6 -6
  245. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -1
  246. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +149 -5
  247. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.js +74 -2
  248. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  249. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
  250. package/lib/commonjs/mol-plugin-state/manager/animation.d.ts +5 -1
  251. package/lib/commonjs/mol-plugin-state/manager/animation.js +5 -5
  252. package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +13 -1
  253. package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
  254. package/lib/commonjs/mol-plugin-state/manager/structure/selection.js +3 -1
  255. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +32 -0
  256. package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
  257. package/lib/commonjs/mol-plugin-ui/structure/superposition.js +2 -2
  258. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.d.ts +1 -1
  259. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +6 -14
  260. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +10 -0
  261. package/lib/commonjs/mol-repr/shape/loci/common.d.ts +10 -0
  262. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +10 -0
  263. package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +10 -0
  264. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +10 -0
  265. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +10 -0
  266. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +10 -0
  267. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +10 -0
  268. package/lib/commonjs/mol-repr/structure/complex-representation.js +1 -1
  269. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +61 -19
  270. package/lib/commonjs/mol-repr/structure/params.d.ts +81 -19
  271. package/lib/commonjs/mol-repr/structure/registry.d.ts +141 -19
  272. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +30 -0
  273. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  274. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  275. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +30 -0
  276. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  277. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  278. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +1 -1
  279. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  280. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +2 -7
  281. package/lib/commonjs/mol-repr/structure/representation/label.d.ts +30 -0
  282. package/lib/commonjs/mol-repr/structure/representation/label.js +1 -1
  283. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +30 -0
  284. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  285. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +1 -1
  286. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +30 -0
  287. package/lib/commonjs/mol-repr/structure/representation/point.d.ts +30 -0
  288. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +30 -0
  289. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +30 -0
  290. package/lib/commonjs/mol-repr/structure/units-representation.js +1 -1
  291. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +81 -19
  292. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  293. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  294. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  295. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  296. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +11 -1
  297. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.js +8 -4
  298. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +11 -1
  299. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +10 -6
  300. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +11 -1
  301. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +8 -4
  302. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +10 -0
  303. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +10 -0
  304. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  305. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  306. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  307. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  308. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  309. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  310. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  311. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  312. package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +10 -0
  313. package/lib/commonjs/mol-repr/structure/visual/label-text.js +1 -2
  314. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  315. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  316. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  317. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  318. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  319. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  320. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  321. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  322. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  323. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  324. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  325. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  326. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  327. package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +3 -2
  328. package/lib/commonjs/mol-repr/structure/visual/util/common.js +2 -5
  329. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  330. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +12 -12
  331. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  332. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  333. package/lib/commonjs/mol-repr/visual.d.ts +1 -1
  334. package/lib/commonjs/mol-repr/visual.js +13 -8
  335. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -57
  336. package/lib/commonjs/mol-repr/volume/direct-volume.js +8 -12
  337. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +60 -0
  338. package/lib/commonjs/mol-repr/volume/isosurface.js +11 -2
  339. package/lib/commonjs/mol-repr/volume/registry.d.ts +31 -19
  340. package/lib/commonjs/mol-repr/volume/representation.d.ts +10 -0
  341. package/lib/commonjs/mol-repr/volume/slice.d.ts +30 -0
  342. package/lib/commonjs/mol-repr/volume/slice.js +2 -2
  343. package/lib/commonjs/mol-repr/volume/util.js +2 -2
  344. package/lib/commonjs/mol-state/tree/immutable.d.ts +18 -0
  345. package/lib/commonjs/mol-state/tree/transient.d.ts +3 -4
  346. package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
  347. package/lib/commonjs/mol-theme/clipping.js +5 -12
  348. package/lib/commonjs/mol-theme/color/element-symbol.d.ts +243 -1
  349. package/lib/commonjs/mol-theme/color/element-symbol.js +10 -5
  350. package/lib/commonjs/mol-theme/color/entity-id.d.ts +1 -1
  351. package/lib/commonjs/mol-theme/color/entity-id.js +26 -5
  352. package/lib/commonjs/mol-theme/color/illustrative.d.ts +100 -29
  353. package/lib/commonjs/mol-theme/color/illustrative.js +26 -7
  354. package/lib/commonjs/mol-theme/color/molecule-type.d.ts +19 -1
  355. package/lib/commonjs/mol-theme/color/molecule-type.js +10 -5
  356. package/lib/commonjs/mol-theme/color/residue-name.d.ts +77 -1
  357. package/lib/commonjs/mol-theme/color/residue-name.js +10 -5
  358. package/lib/commonjs/mol-theme/color/secondary-structure.d.ts +27 -1
  359. package/lib/commonjs/mol-theme/color/secondary-structure.js +10 -5
  360. package/lib/commonjs/mol-theme/color/volume-value.d.ts +17 -0
  361. package/lib/commonjs/mol-theme/color/volume-value.js +57 -0
  362. package/lib/commonjs/mol-theme/color.d.ts +233 -14
  363. package/lib/commonjs/mol-theme/color.js +2 -0
  364. package/lib/commonjs/mol-util/clip.d.ts +49 -0
  365. package/lib/commonjs/mol-util/clip.js +97 -0
  366. package/lib/commonjs/mol-util/color/color.d.ts +1 -1
  367. package/lib/commonjs/mol-util/color/color.js +1 -1
  368. package/lib/commonjs/mol-util/color/params.d.ts +10 -0
  369. package/lib/commonjs/mol-util/color/params.js +19 -0
  370. package/lib/commonjs/mol-util/number-packing.d.ts +11 -0
  371. package/lib/commonjs/mol-util/{float-packing.js → number-packing.js} +10 -19
  372. package/lib/examples/alpha-orbitals/index.js +1 -1
  373. package/lib/examples/basic-wrapper/index.js +7 -3
  374. package/lib/examples/proteopedia-wrapper/index.js +7 -1
  375. package/lib/extensions/anvil/behavior.d.ts +4 -0
  376. package/lib/extensions/anvil/representation.d.ts +50 -0
  377. package/lib/extensions/anvil/representation.js +1 -1
  378. package/lib/extensions/cellpack/representation.d.ts +10 -0
  379. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  380. package/lib/extensions/geo-export/mesh-exporter.js +4 -4
  381. package/lib/extensions/model-export/export.d.ts +9 -0
  382. package/lib/extensions/model-export/export.js +125 -0
  383. package/lib/extensions/model-export/index.d.ts +7 -0
  384. package/lib/extensions/model-export/index.js +33 -0
  385. package/lib/extensions/model-export/ui.d.ts +11 -0
  386. package/lib/extensions/model-export/ui.js +74 -0
  387. package/lib/extensions/mp4-export/encoder.js +1 -1
  388. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  389. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  390. package/lib/extensions/rcsb/graphql/types.d.ts +2 -2
  391. package/lib/extensions/rcsb/validation-report/representation.d.ts +50 -0
  392. package/lib/mol-canvas3d/canvas3d.d.ts +15 -13
  393. package/lib/mol-canvas3d/canvas3d.js +34 -29
  394. package/lib/mol-canvas3d/controls/trackball.d.ts +9 -4
  395. package/lib/mol-canvas3d/controls/trackball.js +51 -12
  396. package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  397. package/lib/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  398. package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
  399. package/lib/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  400. package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
  401. package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
  402. package/lib/mol-canvas3d/passes/draw.d.ts +13 -1
  403. package/lib/mol-canvas3d/passes/draw.js +16 -15
  404. package/lib/mol-canvas3d/passes/image.d.ts +1 -0
  405. package/lib/mol-canvas3d/passes/image.js +3 -2
  406. package/lib/mol-canvas3d/passes/marking.js +1 -1
  407. package/lib/mol-canvas3d/passes/multi-sample.d.ts +9 -2
  408. package/lib/mol-canvas3d/passes/multi-sample.js +14 -12
  409. package/lib/mol-canvas3d/passes/pick.js +11 -11
  410. package/lib/mol-canvas3d/passes/postprocessing.js +3 -3
  411. package/lib/mol-canvas3d/passes/smaa.js +1 -1
  412. package/lib/mol-geo/geometry/base.d.ts +18 -0
  413. package/lib/mol-geo/geometry/base.js +18 -1
  414. package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
  415. package/lib/mol-geo/geometry/clipping-data.js +3 -8
  416. package/lib/mol-geo/geometry/color-data.d.ts +1 -1
  417. package/lib/mol-geo/geometry/color-data.js +22 -0
  418. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +10 -0
  419. package/lib/mol-geo/geometry/cylinders/cylinders.js +2 -2
  420. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  421. package/lib/mol-geo/geometry/direct-volume/direct-volume.js +22 -67
  422. package/lib/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  423. package/lib/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  424. package/lib/mol-geo/geometry/image/image.d.ts +10 -0
  425. package/lib/mol-geo/geometry/image/image.js +1 -1
  426. package/lib/mol-geo/geometry/lines/lines.d.ts +10 -0
  427. package/lib/mol-geo/geometry/lines/lines.js +1 -1
  428. package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
  429. package/lib/mol-geo/geometry/marker-data.js +13 -9
  430. package/lib/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  431. package/lib/mol-geo/geometry/mesh/mesh.js +2 -2
  432. package/lib/mol-geo/geometry/points/points.d.ts +10 -0
  433. package/lib/mol-geo/geometry/points/points.js +1 -1
  434. package/lib/mol-geo/geometry/size-data.js +5 -5
  435. package/lib/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  436. package/lib/mol-geo/geometry/spheres/spheres.js +2 -2
  437. package/lib/mol-geo/geometry/text/text.d.ts +10 -0
  438. package/lib/mol-geo/geometry/text/text.js +1 -1
  439. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  440. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  441. package/lib/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  442. package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  443. package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  444. package/lib/mol-gl/render-object.d.ts +2 -1
  445. package/lib/mol-gl/render-object.js +10 -10
  446. package/lib/mol-gl/renderable/cylinders.d.ts +11 -5
  447. package/lib/mol-gl/renderable/cylinders.js +3 -3
  448. package/lib/mol-gl/renderable/direct-volume.d.ts +15 -14
  449. package/lib/mol-gl/renderable/direct-volume.js +3 -3
  450. package/lib/mol-gl/renderable/image.d.ts +10 -4
  451. package/lib/mol-gl/renderable/image.js +2 -2
  452. package/lib/mol-gl/renderable/lines.d.ts +39 -33
  453. package/lib/mol-gl/renderable/lines.js +4 -4
  454. package/lib/mol-gl/renderable/mesh.d.ts +11 -5
  455. package/lib/mol-gl/renderable/mesh.js +3 -3
  456. package/lib/mol-gl/renderable/points.d.ts +10 -4
  457. package/lib/mol-gl/renderable/points.js +2 -2
  458. package/lib/mol-gl/renderable/schema.d.ts +10 -11
  459. package/lib/mol-gl/renderable/schema.js +4 -10
  460. package/lib/mol-gl/renderable/spheres.d.ts +11 -5
  461. package/lib/mol-gl/renderable/spheres.js +3 -3
  462. package/lib/mol-gl/renderable/text.d.ts +10 -4
  463. package/lib/mol-gl/renderable/text.js +2 -2
  464. package/lib/mol-gl/renderable/texture-mesh.d.ts +11 -6
  465. package/lib/mol-gl/renderable/texture-mesh.js +3 -3
  466. package/lib/mol-gl/renderable.d.ts +0 -1
  467. package/lib/mol-gl/renderer.d.ts +12 -12
  468. package/lib/mol-gl/renderer.js +24 -93
  469. package/lib/mol-gl/scene.d.ts +2 -2
  470. package/lib/mol-gl/scene.js +7 -5
  471. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  472. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  473. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  474. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  475. package/lib/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  476. package/lib/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  477. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  478. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  479. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  480. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  481. package/lib/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  482. package/lib/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  483. package/lib/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  484. package/lib/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  485. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  486. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  487. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  488. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  489. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  490. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  491. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  492. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  493. package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  494. package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
  495. package/lib/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  496. package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  497. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  498. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  499. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  500. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  501. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  502. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  503. package/lib/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  504. package/lib/mol-gl/shader/gaussian-density.frag.js +1 -1
  505. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  506. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  507. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  508. package/lib/mol-gl/shader/image.frag.js +1 -1
  509. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  510. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  511. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  512. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  513. package/lib/mol-gl/shader/mesh.vert.d.ts +1 -1
  514. package/lib/mol-gl/shader/mesh.vert.js +1 -1
  515. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  516. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  517. package/lib/mol-gl/shader-code.d.ts +3 -1
  518. package/lib/mol-gl/shader-code.js +43 -14
  519. package/lib/mol-gl/webgl/render-item.d.ts +7 -6
  520. package/lib/mol-gl/webgl/render-item.js +8 -6
  521. package/lib/mol-gl/webgl/resources.js +8 -1
  522. package/lib/mol-io/reader/cif/schema/bird.d.ts +1 -1
  523. package/lib/mol-io/reader/cif/schema/bird.js +1 -1
  524. package/lib/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  525. package/lib/mol-io/reader/cif/schema/ccd.js +1 -1
  526. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +2 -2
  527. package/lib/mol-io/reader/cif/schema/mmcif.js +1 -1
  528. package/lib/mol-io/reader/mol/parser.d.ts +23 -1
  529. package/lib/mol-io/reader/mol/parser.js +112 -3
  530. package/lib/mol-io/reader/mol2/parser.d.ts +1 -1
  531. package/lib/mol-io/reader/mol2/parser.js +33 -3
  532. package/lib/mol-io/reader/mol2/schema.d.ts +12 -1
  533. package/lib/mol-io/reader/mol2/schema.js +1 -1
  534. package/lib/mol-io/reader/sdf/parser-v3-util.d.ts +6 -0
  535. package/lib/mol-io/reader/sdf/parser-v3-util.js +9 -0
  536. package/lib/mol-io/reader/sdf/parser.d.ts +3 -1
  537. package/lib/mol-io/reader/sdf/parser.js +12 -3
  538. package/lib/mol-io/writer/cif/encoder/binary.js +9 -2
  539. package/lib/mol-math/geometry/gaussian-density/gpu.js +2 -2
  540. package/lib/mol-math/geometry/symmetry-operator.d.ts +1 -1
  541. package/lib/mol-math/geometry/symmetry-operator.js +10 -4
  542. package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  543. package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
  544. package/lib/mol-model/structure/export/mmcif.d.ts +1 -1
  545. package/lib/mol-model/structure/export/mmcif.js +8 -5
  546. package/lib/mol-model/structure/model/properties/common.d.ts +1 -1
  547. package/lib/mol-model/structure/structure/element/stats.js +8 -0
  548. package/lib/mol-model/structure/structure/properties.d.ts +1 -0
  549. package/lib/mol-model/structure/structure/properties.js +2 -1
  550. package/lib/mol-model/structure/structure/symmetry.js +1 -3
  551. package/lib/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  552. package/lib/mol-model/structure/structure/unit/bonds/common.js +9 -1
  553. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  554. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +21 -11
  555. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  556. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +22 -12
  557. package/lib/mol-model/structure/structure/util/superposition-db-mapping.js +10 -5
  558. package/lib/mol-model-formats/shape/ply.d.ts +20 -0
  559. package/lib/mol-model-formats/structure/basic/atomic.d.ts +2 -2
  560. package/lib/mol-model-formats/structure/basic/atomic.js +6 -6
  561. package/lib/mol-model-formats/structure/basic/coarse.d.ts +1 -1
  562. package/lib/mol-model-formats/structure/basic/coarse.js +3 -3
  563. package/lib/mol-model-formats/structure/basic/entities.d.ts +2 -1
  564. package/lib/mol-model-formats/structure/basic/entities.js +25 -22
  565. package/lib/mol-model-formats/structure/basic/parser.js +19 -10
  566. package/lib/mol-model-formats/structure/basic/properties.d.ts +6 -1
  567. package/lib/mol-model-formats/structure/basic/properties.js +12 -25
  568. package/lib/mol-model-formats/structure/mol.d.ts +2 -1
  569. package/lib/mol-model-formats/structure/mol.js +17 -3
  570. package/lib/mol-model-formats/structure/mol2.d.ts +1 -1
  571. package/lib/mol-model-formats/structure/mol2.js +37 -7
  572. package/lib/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  573. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  574. package/lib/mol-model-props/common/custom-property.d.ts +1 -1
  575. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  576. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +11 -1
  577. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +25 -10
  578. package/lib/mol-model-props/computed/representations/interactions.d.ts +30 -0
  579. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  580. package/lib/mol-model-props/sequence/best-database-mapping.js +15 -15
  581. package/lib/mol-plugin/animation-loop.d.ts +2 -0
  582. package/lib/mol-plugin/animation-loop.js +1 -1
  583. package/lib/mol-plugin/behavior/dynamic/representation.js +4 -6
  584. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  585. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  586. package/lib/mol-plugin/commands.d.ts +7 -6
  587. package/lib/mol-plugin/config.d.ts +1 -2
  588. package/lib/mol-plugin/config.js +3 -23
  589. package/lib/mol-plugin/features.d.ts +9 -0
  590. package/lib/mol-plugin/features.js +35 -0
  591. package/lib/mol-plugin/spec.d.ts +1 -1
  592. package/lib/mol-plugin/spec.js +4 -1
  593. package/lib/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  594. package/lib/mol-plugin/version.js +2 -2
  595. package/lib/mol-plugin-state/actions/file.d.ts +3 -2
  596. package/lib/mol-plugin-state/actions/file.js +67 -31
  597. package/lib/mol-plugin-state/actions/structure.d.ts +1 -0
  598. package/lib/mol-plugin-state/actions/structure.js +41 -8
  599. package/lib/mol-plugin-state/animation/built-in/camera-rock.d.ts +16 -0
  600. package/lib/mol-plugin-state/animation/built-in/camera-rock.js +59 -0
  601. package/lib/mol-plugin-state/animation/built-in/camera-spin.d.ts +1 -1
  602. package/lib/mol-plugin-state/animation/built-in/camera-spin.js +9 -8
  603. package/lib/mol-plugin-state/animation/model.d.ts +4 -0
  604. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +6 -6
  605. package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -1
  606. package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +149 -5
  607. package/lib/mol-plugin-state/builder/structure/representation-preset.js +74 -2
  608. package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  609. package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
  610. package/lib/mol-plugin-state/manager/animation.d.ts +5 -1
  611. package/lib/mol-plugin-state/manager/animation.js +5 -5
  612. package/lib/mol-plugin-state/manager/structure/component.d.ts +13 -1
  613. package/lib/mol-plugin-state/manager/structure/component.js +13 -8
  614. package/lib/mol-plugin-state/manager/structure/selection.js +3 -1
  615. package/lib/mol-plugin-state/transforms/representation.d.ts +32 -0
  616. package/lib/mol-plugin-state/transforms/representation.js +2 -2
  617. package/lib/mol-plugin-ui/structure/superposition.js +2 -2
  618. package/lib/mol-plugin-ui/viewport/simple-settings.d.ts +1 -1
  619. package/lib/mol-plugin-ui/viewport/simple-settings.js +6 -14
  620. package/lib/mol-repr/shape/loci/angle.d.ts +10 -0
  621. package/lib/mol-repr/shape/loci/common.d.ts +10 -0
  622. package/lib/mol-repr/shape/loci/dihedral.d.ts +10 -0
  623. package/lib/mol-repr/shape/loci/distance.d.ts +10 -0
  624. package/lib/mol-repr/shape/loci/label.d.ts +10 -0
  625. package/lib/mol-repr/shape/loci/orientation.d.ts +10 -0
  626. package/lib/mol-repr/shape/loci/plane.d.ts +10 -0
  627. package/lib/mol-repr/shape/model/unitcell.d.ts +10 -0
  628. package/lib/mol-repr/structure/complex-representation.js +1 -1
  629. package/lib/mol-repr/structure/complex-visual.d.ts +61 -19
  630. package/lib/mol-repr/structure/params.d.ts +81 -19
  631. package/lib/mol-repr/structure/registry.d.ts +141 -19
  632. package/lib/mol-repr/structure/representation/backbone.d.ts +30 -0
  633. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  634. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  635. package/lib/mol-repr/structure/representation/cartoon.d.ts +30 -0
  636. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  637. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  638. package/lib/mol-repr/structure/representation/gaussian-surface.js +1 -1
  639. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  640. package/lib/mol-repr/structure/representation/gaussian-volume.js +2 -7
  641. package/lib/mol-repr/structure/representation/label.d.ts +30 -0
  642. package/lib/mol-repr/structure/representation/label.js +1 -1
  643. package/lib/mol-repr/structure/representation/line.d.ts +30 -0
  644. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  645. package/lib/mol-repr/structure/representation/molecular-surface.js +1 -1
  646. package/lib/mol-repr/structure/representation/orientation.d.ts +30 -0
  647. package/lib/mol-repr/structure/representation/point.d.ts +30 -0
  648. package/lib/mol-repr/structure/representation/putty.d.ts +30 -0
  649. package/lib/mol-repr/structure/representation/spacefill.d.ts +30 -0
  650. package/lib/mol-repr/structure/units-representation.js +1 -1
  651. package/lib/mol-repr/structure/units-visual.d.ts +81 -19
  652. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  653. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  654. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  655. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  656. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +11 -1
  657. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.js +8 -4
  658. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +11 -1
  659. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +10 -6
  660. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +11 -1
  661. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +8 -4
  662. package/lib/mol-repr/structure/visual/element-cross.d.ts +10 -0
  663. package/lib/mol-repr/structure/visual/element-point.d.ts +10 -0
  664. package/lib/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  665. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  666. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  667. package/lib/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  668. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  669. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  670. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  671. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  672. package/lib/mol-repr/structure/visual/label-text.d.ts +10 -0
  673. package/lib/mol-repr/structure/visual/label-text.js +1 -2
  674. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  675. package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  676. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  677. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  678. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  679. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  680. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  681. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  682. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  683. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  684. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  685. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  686. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  687. package/lib/mol-repr/structure/visual/util/common.d.ts +3 -2
  688. package/lib/mol-repr/structure/visual/util/common.js +2 -5
  689. package/lib/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  690. package/lib/mol-repr/structure/visual/util/gaussian.js +12 -12
  691. package/lib/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  692. package/lib/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  693. package/lib/mol-repr/visual.d.ts +1 -1
  694. package/lib/mol-repr/visual.js +13 -8
  695. package/lib/mol-repr/volume/direct-volume.d.ts +33 -57
  696. package/lib/mol-repr/volume/direct-volume.js +8 -12
  697. package/lib/mol-repr/volume/isosurface.d.ts +60 -0
  698. package/lib/mol-repr/volume/isosurface.js +11 -2
  699. package/lib/mol-repr/volume/registry.d.ts +31 -19
  700. package/lib/mol-repr/volume/representation.d.ts +10 -0
  701. package/lib/mol-repr/volume/slice.d.ts +30 -0
  702. package/lib/mol-repr/volume/slice.js +2 -2
  703. package/lib/mol-repr/volume/util.js +2 -2
  704. package/lib/mol-state/tree/immutable.d.ts +18 -0
  705. package/lib/mol-state/tree/transient.d.ts +3 -4
  706. package/lib/mol-theme/clipping.d.ts +7 -15
  707. package/lib/mol-theme/clipping.js +5 -12
  708. package/lib/mol-theme/color/element-symbol.d.ts +243 -1
  709. package/lib/mol-theme/color/element-symbol.js +10 -5
  710. package/lib/mol-theme/color/entity-id.d.ts +1 -1
  711. package/lib/mol-theme/color/entity-id.js +26 -5
  712. package/lib/mol-theme/color/illustrative.d.ts +100 -29
  713. package/lib/mol-theme/color/illustrative.js +26 -7
  714. package/lib/mol-theme/color/molecule-type.d.ts +19 -1
  715. package/lib/mol-theme/color/molecule-type.js +10 -5
  716. package/lib/mol-theme/color/residue-name.d.ts +77 -1
  717. package/lib/mol-theme/color/residue-name.js +10 -5
  718. package/lib/mol-theme/color/secondary-structure.d.ts +27 -1
  719. package/lib/mol-theme/color/secondary-structure.js +10 -5
  720. package/lib/mol-theme/color/volume-value.d.ts +17 -0
  721. package/lib/mol-theme/color/volume-value.js +52 -0
  722. package/lib/mol-theme/color.d.ts +233 -14
  723. package/lib/mol-theme/color.js +2 -0
  724. package/lib/mol-util/clip.d.ts +49 -0
  725. package/lib/mol-util/clip.js +93 -0
  726. package/lib/mol-util/color/color.d.ts +1 -1
  727. package/lib/mol-util/color/color.js +1 -1
  728. package/lib/mol-util/color/params.d.ts +10 -0
  729. package/lib/mol-util/color/params.js +15 -0
  730. package/lib/mol-util/number-packing.d.ts +11 -0
  731. package/lib/mol-util/{float-packing.js → number-packing.js} +7 -14
  732. package/package.json +36 -35
  733. package/lib/commonjs/mol-util/float-packing.d.ts +0 -15
  734. package/lib/mol-util/float-packing.d.ts +0 -15
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2019-2021 Mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-2022 Mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
@@ -10,6 +10,7 @@ import { FormatPropertyProvider } from '../../common/property';
10
10
  import { BondType } from '../../../../mol-model/structure/model/types';
11
11
  import { ElementIndex } from '../../../../mol-model/structure';
12
12
  export declare type IndexPairsProps = {
13
+ readonly key: ArrayLike<number>;
13
14
  readonly order: ArrayLike<number>;
14
15
  readonly distance: ArrayLike<number>;
15
16
  readonly flag: ArrayLike<BondType.Flag>;
@@ -26,13 +27,29 @@ export declare namespace IndexPairBonds {
26
27
  pairs: {
27
28
  indexA: Column<number>;
28
29
  indexB: Column<number>;
30
+ key?: Column<number>;
29
31
  order?: Column<number>;
32
+ /**
33
+ * Useful for bonds in periodic cells. That is, only bonds within the given
34
+ * distance are added. This allows for bond between periodic image but
35
+ * avoids unwanted bonds with wrong distances. If negative, test using the
36
+ * `maxDistance` option from `Props`.
37
+ */
30
38
  distance?: Column<number>;
31
39
  flag?: Column<BondType.Flag>;
32
40
  };
33
41
  count: number;
34
42
  };
35
43
  const DefaultProps: {
44
+ /**
45
+ * If negative, test using element-based threshold, otherwise distance in Angstrom.
46
+ *
47
+ * This option exists to handle bonds in periodic cells. For systems that are
48
+ * made from beads (as opposed to atomic elements), set to a specific distance.
49
+ *
50
+ * Note that `Data` has a `distance` field which allows specifying a distance
51
+ * for each bond individually which takes precedence over this option.
52
+ */
36
53
  maxDistance: number;
37
54
  };
38
55
  type Props = typeof DefaultProps;
@@ -1,24 +1,25 @@
1
1
  /**
2
- * Copyright (c) 2019-2021 Mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-2022 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 { __assign } from "tslib";
7
7
  import { IntAdjacencyGraph } from '../../../../mol-math/graph';
8
8
  import { FormatPropertyProvider } from '../../common/property';
9
- import { DefaultBondMaxRadius } from '../../../../mol-model/structure/structure/unit/bonds/common';
10
9
  function getGraph(indexA, indexB, props, count) {
11
10
  var builder = new IntAdjacencyGraph.EdgeBuilder(count, indexA, indexB);
11
+ var key = new Int32Array(builder.slotCount);
12
12
  var order = new Int8Array(builder.slotCount);
13
13
  var distance = new Array(builder.slotCount);
14
14
  var flag = new Array(builder.slotCount);
15
15
  for (var i = 0, _i = builder.edgeCount; i < _i; i++) {
16
16
  builder.addNextEdge();
17
+ builder.assignProperty(key, props.key ? props.key[i] : -1);
17
18
  builder.assignProperty(order, props.order ? props.order[i] : 1);
18
19
  builder.assignProperty(distance, props.distance ? props.distance[i] : -1);
19
20
  builder.assignProperty(flag, props.flag ? props.flag[i] : 1 /* Covalent */);
20
21
  }
21
- return builder.createGraph({ order: order, distance: distance, flag: flag });
22
+ return builder.createGraph({ key: key, order: order, distance: distance, flag: flag });
22
23
  }
23
24
  export var IndexPairBonds;
24
25
  (function (IndexPairBonds) {
@@ -26,18 +27,30 @@ export var IndexPairBonds;
26
27
  name: 'index_pair_bonds',
27
28
  };
28
29
  IndexPairBonds.Provider = FormatPropertyProvider.create(IndexPairBonds.Descriptor);
29
- IndexPairBonds.DefaultProps = { maxDistance: DefaultBondMaxRadius };
30
+ IndexPairBonds.DefaultProps = {
31
+ /**
32
+ * If negative, test using element-based threshold, otherwise distance in Angstrom.
33
+ *
34
+ * This option exists to handle bonds in periodic cells. For systems that are
35
+ * made from beads (as opposed to atomic elements), set to a specific distance.
36
+ *
37
+ * Note that `Data` has a `distance` field which allows specifying a distance
38
+ * for each bond individually which takes precedence over this option.
39
+ */
40
+ maxDistance: -1
41
+ };
30
42
  function fromData(data, props) {
31
43
  if (props === void 0) { props = {}; }
32
44
  var p = __assign(__assign({}, IndexPairBonds.DefaultProps), props);
33
45
  var pairs = data.pairs, count = data.count;
34
46
  var indexA = pairs.indexA.toArray();
35
47
  var indexB = pairs.indexB.toArray();
48
+ var key = pairs.key && pairs.key.toArray();
36
49
  var order = pairs.order && pairs.order.toArray();
37
50
  var distance = pairs.distance && pairs.distance.toArray();
38
51
  var flag = pairs.flag && pairs.flag.toArray();
39
52
  return {
40
- bonds: getGraph(indexA, indexB, { order: order, distance: distance, flag: flag }, count),
53
+ bonds: getGraph(indexA, indexB, { key: key, order: order, distance: distance, flag: flag }, count),
41
54
  maxDistance: p.maxDistance
42
55
  };
43
56
  }
@@ -47,7 +47,7 @@ declare namespace CustomProperty {
47
47
  }>>;
48
48
  };
49
49
  setDefaultAutoAttach(name: string, value: boolean): void;
50
- get(name: string): Provider<Data, any, any>;
50
+ get(name: string): Provider<Data, any, any> | undefined;
51
51
  register(provider: Provider<Data, any, any>, defaultAutoAttach: boolean): void;
52
52
  unregister(name: string): void;
53
53
  }
@@ -34,6 +34,16 @@ export declare const InteractionsInterUnitParams: {
34
34
  roughness: number;
35
35
  bumpiness: number;
36
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
+ }>[];
46
+ }>>;
37
47
  };
38
48
  export declare type InteractionsInterUnitParams = typeof InteractionsInterUnitParams;
39
49
  export declare function InteractionsInterUnitVisual(materialId: number): ComplexVisual<InteractionsInterUnitParams>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2019-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
@@ -34,6 +34,16 @@ export declare const InteractionsIntraUnitParams: {
34
34
  roughness: number;
35
35
  bumpiness: number;
36
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
+ }>[];
46
+ }>>;
37
47
  };
38
48
  export declare type InteractionsIntraUnitParams = typeof InteractionsIntraUnitParams;
39
49
  export declare function InteractionsIntraUnitVisual(materialId: number): UnitsVisual<InteractionsIntraUnitParams>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2019-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
@@ -98,6 +98,7 @@ function getInteractionLoci(pickingId, structureGroup, id) {
98
98
  }
99
99
  return EmptyLoci;
100
100
  }
101
+ var __contactIndicesSet = new Set();
101
102
  function eachInteraction(loci, structureGroup, apply, isMarking) {
102
103
  var changed = false;
103
104
  if (Interactions.isLoci(loci)) {
@@ -132,28 +133,42 @@ function eachInteraction(loci, structureGroup, apply, isMarking) {
132
133
  if (!interactions)
133
134
  return false;
134
135
  var unit = group.units[0];
135
- var contacts = interactions.unitsContacts.get(unit.id);
136
+ var contacts_1 = interactions.unitsContacts.get(unit.id);
136
137
  var features = interactions.unitsFeatures.get(unit.id);
137
- var groupCount_1 = contacts.edgeCount * 2;
138
- var offset_1 = contacts.offset;
138
+ var groupCount_1 = contacts_1.edgeCount * 2;
139
+ var offset_1 = contacts_1.offset;
139
140
  var _b = features.elementsIndex, fOffsets_1 = _b.offsets, fIndices_1 = _b.indices;
141
+ var members_1 = features.members, offsets_1 = features.offsets;
140
142
  var _loop_1 = function (e) {
141
143
  var unitIdx = group.unitIndexMap.get(e.unit.id);
142
- if (unitIdx !== undefined)
143
- return "continue";
144
- if (isMarking && OrderedSet.size(e.indices) === 1)
144
+ if (unitIdx === undefined)
145
145
  return "continue";
146
+ __contactIndicesSet.clear();
146
147
  OrderedSet.forEach(e.indices, function (v) {
147
148
  for (var i = fOffsets_1[v], il = fOffsets_1[v + 1]; i < il; ++i) {
148
149
  var fI = fIndices_1[i];
149
150
  for (var j = offset_1[fI], jl = offset_1[fI + 1]; j < jl; ++j) {
150
- if (apply(Interval.ofSingleton(unitIdx * groupCount_1 + j)))
151
- changed = true;
151
+ __contactIndicesSet.add(j);
152
+ }
153
+ }
154
+ });
155
+ __contactIndicesSet.forEach(function (i) {
156
+ if (isMarking) {
157
+ var fA = contacts_1.a[i];
158
+ for (var j = offsets_1[fA], jl = offsets_1[fA + 1]; j < jl; ++j) {
159
+ if (!OrderedSet.has(e.indices, members_1[j]))
160
+ return;
161
+ }
162
+ var fB = contacts_1.b[i];
163
+ for (var j = offsets_1[fB], jl = offsets_1[fB + 1]; j < jl; ++j) {
164
+ if (!OrderedSet.has(e.indices, members_1[j]))
165
+ return;
152
166
  }
153
167
  }
168
+ if (apply(Interval.ofSingleton(unitIdx * groupCount_1 + i)))
169
+ changed = true;
154
170
  });
155
171
  };
156
- // TODO: when isMarking, all elements of contact features need to be in the loci
157
172
  for (var _c = 0, _d = loci.elements; _c < _d.length; _c++) {
158
173
  var e = _d[_c];
159
174
  _loop_1(e);
@@ -38,6 +38,16 @@ export declare const InteractionsParams: {
38
38
  roughness: number;
39
39
  bumpiness: number;
40
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
+ }>[];
50
+ }>>;
41
51
  };
42
52
  export declare type InteractionsParams = typeof InteractionsParams;
43
53
  export declare function getInteractionParams(ctx: ThemeRegistryContext, structure: Structure): {
@@ -70,6 +80,16 @@ export declare function getInteractionParams(ctx: ThemeRegistryContext, structur
70
80
  roughness: number;
71
81
  bumpiness: number;
72
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
+ }>[];
92
+ }>>;
73
93
  };
74
94
  export declare type InteractionRepresentation = StructureRepresentation<InteractionsParams>;
75
95
  export declare function InteractionRepresentation(ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, InteractionsParams>): InteractionRepresentation;
@@ -103,4 +123,14 @@ export declare const InteractionsRepresentationProvider: StructureRepresentation
103
123
  roughness: number;
104
124
  bumpiness: number;
105
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
+ }>[];
135
+ }>>;
106
136
  }, "interactions">;
@@ -39,6 +39,16 @@ export declare const CrossLinkRestraintCylinderParams: {
39
39
  roughness: number;
40
40
  bumpiness: number;
41
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
+ }>[];
51
+ }>>;
42
52
  };
43
53
  export declare type CrossLinkRestraintCylinderParams = typeof CrossLinkRestraintCylinderParams;
44
54
  export declare function CrossLinkRestraintVisual(materialId: number): ComplexVisual<CrossLinkRestraintCylinderParams>;
@@ -71,6 +81,16 @@ export declare const CrossLinkRestraintParams: {
71
81
  roughness: number;
72
82
  bumpiness: number;
73
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
+ }>[];
93
+ }>>;
74
94
  };
75
95
  export declare type CrossLinkRestraintParams = typeof CrossLinkRestraintParams;
76
96
  export declare function getCrossLinkRestraintParams(ctx: ThemeRegistryContext, structure: Structure): {
@@ -102,6 +122,16 @@ export declare function getCrossLinkRestraintParams(ctx: ThemeRegistryContext, s
102
122
  roughness: number;
103
123
  bumpiness: number;
104
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
+ }>[];
134
+ }>>;
105
135
  };
106
136
  export declare type CrossLinkRestraintRepresentation = StructureRepresentation<CrossLinkRestraintParams>;
107
137
  export declare function CrossLinkRestraintRepresentation(ctx: RepresentationContext, getParams: RepresentationParamsGetter<Structure, CrossLinkRestraintParams>): CrossLinkRestraintRepresentation;
@@ -134,4 +164,14 @@ export declare const CrossLinkRestraintRepresentationProvider: StructureRepresen
134
164
  roughness: number;
135
165
  bumpiness: number;
136
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
+ }>[];
176
+ }>>;
137
177
  }, CrossLinkRestraint.Tag>;
@@ -19,7 +19,7 @@ var BestDatabaseSequenceMapping;
19
19
  type: 'static',
20
20
  defaultParams: {},
21
21
  getParams: function () { return ({}); },
22
- isApplicable: function (data) { var _a, _b; return MmcifFormat.is(data.sourceData) && ((_b = (_a = data.sourceData.data.frame.categories) === null || _a === void 0 ? void 0 : _a.atom_site) === null || _b === void 0 ? void 0 : _b.fieldNames.indexOf('db_name')) >= 0; },
22
+ isApplicable: function (data) { var _a, _b; return MmcifFormat.is(data.sourceData) && ((_b = (_a = data.sourceData.data.frame.categories) === null || _a === void 0 ? void 0 : _a.atom_site) === null || _b === void 0 ? void 0 : _b.fieldNames.indexOf('pdbx_sifts_xref_db_name')) >= 0; },
23
23
  obtain: function (ctx, data) { return __awaiter(_this, void 0, void 0, function () {
24
24
  return __generator(this, function (_a) {
25
25
  return [2 /*return*/, { value: fromCif(data) }];
@@ -32,7 +32,7 @@ var BestDatabaseSequenceMapping;
32
32
  if (!data)
33
33
  return '';
34
34
  var eI = loc.unit.elements[loc.element];
35
- var rI = model.atomicHierarchy.residueAtomSegments.offsets[eI];
35
+ var rI = model.atomicHierarchy.residueAtomSegments.index[eI];
36
36
  return data.accession[rI];
37
37
  }
38
38
  BestDatabaseSequenceMapping.getKey = getKey;
@@ -42,7 +42,7 @@ var BestDatabaseSequenceMapping;
42
42
  if (!data)
43
43
  return;
44
44
  var eI = loc.unit.elements[loc.element];
45
- var rI = model.atomicHierarchy.residueAtomSegments.offsets[eI];
45
+ var rI = model.atomicHierarchy.residueAtomSegments.index[eI];
46
46
  var dbName = data.dbName[rI];
47
47
  if (!dbName)
48
48
  return;
@@ -53,10 +53,10 @@ var BestDatabaseSequenceMapping;
53
53
  if (!MmcifFormat.is(model.sourceData))
54
54
  return;
55
55
  var atom_site = model.sourceData.data.frame.categories.atom_site;
56
- var db_name = atom_site.getField('db_name');
57
- var db_acc = atom_site.getField('db_acc');
58
- var db_num = atom_site.getField('db_num');
59
- var db_res = atom_site.getField('db_res');
56
+ var db_name = atom_site.getField('pdbx_sifts_xref_db_name');
57
+ var db_acc = atom_site.getField('pdbx_sifts_xref_db_acc');
58
+ var db_num = atom_site.getField('pdbx_sifts_xref_db_num');
59
+ var db_res = atom_site.getField('pdbx_sifts_xref_db_res');
60
60
  if (!db_name || !db_acc || !db_num || !db_res)
61
61
  return;
62
62
  var atomSourceIndex = model.atomicHierarchy.atomSourceIndex;
@@ -68,16 +68,16 @@ var BestDatabaseSequenceMapping;
68
68
  for (var i = 0; i < count; i++) {
69
69
  var row = atomSourceIndex.value(residueOffsets[i]);
70
70
  if (db_name.valueKind(row) !== 0 /* Present */) {
71
- dbName[row] = '';
72
- accession[row] = '';
73
- num[row] = 0;
74
- residue[row] = '';
71
+ dbName[i] = '';
72
+ accession[i] = '';
73
+ num[i] = 0;
74
+ residue[i] = '';
75
75
  continue;
76
76
  }
77
- dbName[row] = db_name.str(row);
78
- accession[row] = db_acc.str(row);
79
- num[row] = db_num.int(row);
80
- residue[row] = db_res.str(row);
77
+ dbName[i] = db_name.str(row);
78
+ accession[i] = db_acc.str(row);
79
+ num[i] = db_num.int(row);
80
+ residue[i] = db_res.str(row);
81
81
  }
82
82
  return { dbName: dbName, accession: accession, num: num, residue: residue };
83
83
  }
@@ -4,6 +4,7 @@
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  */
6
6
  import { PluginContext } from './context';
7
+ import { PluginAnimationManager } from '../mol-plugin-state/manager/animation';
7
8
  export declare class PluginAnimationLoop {
8
9
  private plugin;
9
10
  private currentFrame;
@@ -12,6 +13,7 @@ export declare class PluginAnimationLoop {
12
13
  tick(t: number, options?: {
13
14
  isSynchronous?: boolean;
14
15
  manualDraw?: boolean;
16
+ animation?: PluginAnimationManager.AnimationInfo;
15
17
  }): Promise<void>;
16
18
  private frame;
17
19
  resetTime(t?: number): void;
@@ -30,7 +30,7 @@ var PluginAnimationLoop = /** @class */ (function () {
30
30
  return __awaiter(this, void 0, void 0, function () {
31
31
  return __generator(this, function (_b) {
32
32
  switch (_b.label) {
33
- case 0: return [4 /*yield*/, this.plugin.managers.animation.tick(t, options === null || options === void 0 ? void 0 : options.isSynchronous)];
33
+ case 0: return [4 /*yield*/, this.plugin.managers.animation.tick(t, options === null || options === void 0 ? void 0 : options.isSynchronous, options === null || options === void 0 ? void 0 : options.animation)];
34
34
  case 1:
35
35
  _b.sent();
36
36
  (_a = this.plugin.canvas3d) === null || _a === void 0 ? void 0 : _a.tick(t, options);
@@ -53,12 +53,11 @@ export var HighlightLoci = PluginBehavior.create({
53
53
  class_1.prototype.register = function () {
54
54
  var _this = this;
55
55
  this.subscribeObservable(this.ctx.behaviors.interaction.hover, function (_a) {
56
- var _b;
57
56
  var current = _a.current, buttons = _a.buttons, modifiers = _a.modifiers;
58
57
  if (!_this.ctx.canvas3d || _this.ctx.isBusy)
59
58
  return;
60
59
  var loci = _this.getLoci(current.loci);
61
- if (((_b = _this.params.ignore) === null || _b === void 0 ? void 0 : _b.indexOf(loci.kind)) >= 0) {
60
+ if (_this.params.ignore.includes(loci.kind)) {
62
61
  _this.ctx.managers.interactivity.lociHighlights.highlightOnly({ repr: current.repr, loci: EmptyLoci });
63
62
  return;
64
63
  }
@@ -156,16 +155,15 @@ export var SelectLoci = PluginBehavior.create({
156
155
  return l - k;
157
156
  });
158
157
  this.subscribeObservable(this.ctx.behaviors.interaction.click, function (_a) {
159
- var _b;
160
158
  var current = _a.current, button = _a.button, modifiers = _a.modifiers;
161
159
  if (!_this.ctx.canvas3d || _this.ctx.isBusy || !_this.ctx.selectionMode)
162
160
  return;
163
161
  var loci = _this.getLoci(current.loci);
164
- if (((_b = _this.params.ignore) === null || _b === void 0 ? void 0 : _b.indexOf(loci.kind)) >= 0)
162
+ if (_this.params.ignore.includes(loci.kind))
165
163
  return;
166
164
  // only trigger the 1st action that matches
167
165
  for (var _i = 0, actions_1 = actions; _i < actions_1.length; _i++) {
168
- var _c = actions_1[_i], binding = _c[0], action = _c[1], condition = _c[2];
166
+ var _b = actions_1[_i], binding = _b[0], action = _b[1], condition = _b[2];
169
167
  if (Binding.match(_this.params.bindings[binding], button, modifiers) && (!condition || condition(loci))) {
170
168
  action({ repr: current.repr, loci: loci });
171
169
  break;
@@ -189,7 +187,7 @@ export var SelectLoci = PluginBehavior.create({
189
187
  Structure.areEquivalent(structure, oldStructure) &&
190
188
  Structure.areHierarchiesEqual(structure, oldStructure))
191
189
  return;
192
- var reprs = _this.ctx.state.data.select(StateSelection.Generators.ofType(SO.Molecule.Structure.Representation3D, ref));
190
+ var reprs = _this.ctx.state.data.select(StateSelection.children(ref).ofType(SO.Molecule.Structure.Representation3D));
193
191
  for (var _i = 0, reprs_1 = reprs; _i < reprs_1.length; _i++) {
194
192
  var repr = reprs_1[_i];
195
193
  _this.applySelectMark(repr.transform.ref, true);
@@ -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<{
@@ -26,6 +27,16 @@ declare const StructureFocusRepresentationParams: (plugin: PluginContext) => {
26
27
  roughness: number;
27
28
  bumpiness: number;
28
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
+ }>[];
39
+ }>>;
29
40
  };
30
41
  declare type StructureFocusRepresentationProps = PD.ValuesFor<ReturnType<typeof StructureFocusRepresentationParams>>;
31
42
  export declare enum StructureFocusRepresentationTags {
@@ -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) {
@@ -272,18 +272,18 @@ export declare const PluginCommands: {
272
272
  }>[];
273
273
  ambientColor: import("../mol-util/color").Color;
274
274
  ambientIntensity: number;
275
- clip: import("../mol-util/param-definition").ParamDefinition.Normalize<{
276
- variant: any;
277
- objects: any;
278
- }>;
279
275
  }>>;
280
276
  trackball: import("../mol-util/param-definition").ParamDefinition.Group<import("../mol-util/param-definition").ParamDefinition.Normalize<{
281
277
  noScroll: boolean;
282
278
  rotateSpeed: number;
283
279
  zoomSpeed: number;
284
280
  panSpeed: number;
285
- spin: boolean;
286
- spinSpeed: number;
281
+ animate: 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<{
282
+ speed: any;
283
+ }>, "spin"> | import("../mol-util/param-definition").ParamDefinition.NamedParams<import("../mol-util/param-definition").ParamDefinition.Normalize<{
284
+ speed: any;
285
+ angle: any;
286
+ }>, "rock">;
287
287
  staticMoving: boolean;
288
288
  dynamicDampingFactor: number;
289
289
  minDistance: number;
@@ -334,6 +334,7 @@ export declare const PluginCommands: {
334
334
  bumpAmplitude: any;
335
335
  quality: any;
336
336
  material: any;
337
+ clip: any;
337
338
  }>, "on">;
338
339
  }>>;
339
340
  }>> | ((old: Canvas3DProps) => Partial<Canvas3DProps> | void);
@@ -16,7 +16,6 @@ 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;
20
19
  export declare const PluginConfig: {
21
20
  item: typeof item;
22
21
  General: {
@@ -48,7 +47,7 @@ export declare const PluginConfig: {
48
47
  ShowAnimation: PluginConfigItem<boolean>;
49
48
  };
50
49
  Download: {
51
- DefaultPdbProvider: PluginConfigItem<"rcsb" | "pdbe">;
50
+ DefaultPdbProvider: PluginConfigItem<"rcsb" | "pdbe" | "pdbj">;
52
51
  DefaultEmdbProvider: PluginConfigItem<EmdbDownloadProvider>;
53
52
  };
54
53
  Structure: {
@@ -5,6 +5,7 @@
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  */
7
7
  import { Structure, Model } from '../mol-model/structure';
8
+ import { PluginFeatureDetection } from './features';
8
9
  var PluginConfigItem = /** @class */ (function () {
9
10
  function PluginConfigItem(key, defaultValue) {
10
11
  this.key = key;
@@ -16,27 +17,6 @@ var PluginConfigItem = /** @class */ (function () {
16
17
  }());
17
18
  export { PluginConfigItem };
18
19
  function item(key, defaultValue) { return new PluginConfigItem(key, defaultValue); }
19
- export function preferWebGl1() {
20
- if (typeof navigator === 'undefined' || typeof window === 'undefined')
21
- return false;
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
- // prefer webgl 1 based on the userAgent substring
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; })) {
30
- return true;
31
- }
32
- // Check for iOS device which enabled WebGL2 recently but it doesn't seem
33
- // to be full up to speed yet.
34
- // adapted from https://stackoverflow.com/questions/9038625/detect-if-device-is-ios
35
- var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent);
36
- var isAppleDevice = navigator.userAgent.includes('Macintosh');
37
- var isTouchScreen = navigator.maxTouchPoints >= 4; // true for iOS 13 (and hopefully beyond)
38
- return !window.MSStream && (isIOS || (isAppleDevice && isTouchScreen));
39
- }
40
20
  export var PluginConfig = {
41
21
  item: item,
42
22
  General: {
@@ -46,10 +26,10 @@ export var PluginConfig = {
46
26
  PixelScale: item('plugin-config.pixel-scale', 1),
47
27
  PickScale: item('plugin-config.pick-scale', 0.25),
48
28
  PickPadding: item('plugin-config.pick-padding', 3),
49
- EnableWboit: item('plugin-config.enable-wboit', true),
29
+ EnableWboit: item('plugin-config.enable-wboit', PluginFeatureDetection.wboit),
50
30
  // as of Oct 1 2021, WebGL 2 doesn't work on iOS 15.
51
31
  // TODO: check back in a few weeks to see if it was fixed
52
- PreferWebGl1: item('plugin-config.prefer-webgl1', preferWebGl1()),
32
+ PreferWebGl1: item('plugin-config.prefer-webgl1', PluginFeatureDetection.preferWebGl1),
53
33
  },
54
34
  State: {
55
35
  DefaultServer: item('plugin-state.server', 'https://webchem.ncbr.muni.cz/molstar-state'),
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author David Sehnal <david.sehnal@gmail.com>
5
+ */
6
+ export declare const PluginFeatureDetection: {
7
+ readonly preferWebGl1: boolean;
8
+ readonly wboit: boolean;
9
+ };