molstar 3.8.2 → 3.10.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 (596) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +202 -202
  3. package/build/viewer/embedded.html +43 -43
  4. package/build/viewer/index.html +109 -106
  5. package/build/viewer/molstar.js +1 -1
  6. package/lib/apps/docking-viewer/index.html +36 -36
  7. package/lib/apps/viewer/app.d.ts +5 -2
  8. package/lib/apps/viewer/app.js +11 -7
  9. package/lib/apps/viewer/embedded.html +43 -43
  10. package/lib/apps/viewer/index.html +109 -106
  11. package/lib/cli/cif2bcif/converter.js +1 -1
  12. package/lib/commonjs/apps/viewer/app.d.ts +5 -2
  13. package/lib/commonjs/apps/viewer/app.js +12 -7
  14. package/lib/commonjs/cli/cif2bcif/converter.js +1 -1
  15. package/lib/commonjs/examples/alpha-orbitals/index.d.ts +1 -1
  16. package/lib/commonjs/examples/alpha-orbitals/index.js +4 -1
  17. package/lib/commonjs/examples/basic-wrapper/custom-theme.js +1 -1
  18. package/lib/commonjs/examples/proteopedia-wrapper/coloring.js +3 -3
  19. package/lib/commonjs/extensions/alpha-orbitals/density.d.ts +1 -1
  20. package/lib/commonjs/extensions/alpha-orbitals/density.js +6 -2
  21. package/lib/commonjs/extensions/alpha-orbitals/orbitals.d.ts +1 -1
  22. package/lib/commonjs/extensions/alpha-orbitals/orbitals.js +6 -3
  23. package/lib/commonjs/extensions/anvil/algorithm.js +1 -1
  24. package/lib/commonjs/extensions/cellpack/color/generate.js +1 -1
  25. package/lib/commonjs/extensions/cellpack/color/provided.js +1 -1
  26. package/lib/commonjs/extensions/cellpack/state.js +1 -1
  27. package/lib/commonjs/extensions/dnatco/confal-pyramids/color.js +1 -1
  28. package/lib/commonjs/extensions/g3d/model.js +1 -1
  29. package/lib/commonjs/extensions/geo-export/ui.js +1 -0
  30. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
  31. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
  32. package/lib/commonjs/extensions/mp4-export/ui.js +1 -0
  33. package/lib/commonjs/extensions/pdbe/structure-quality-report/color.js +1 -1
  34. package/lib/commonjs/extensions/rcsb/assembly-symmetry/color.js +4 -4
  35. package/lib/commonjs/extensions/rcsb/validation-report/color/density-fit.js +1 -1
  36. package/lib/commonjs/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
  37. package/lib/commonjs/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
  38. package/lib/commonjs/extensions/rcsb/validation-report/representation.js +2 -2
  39. package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
  40. package/lib/commonjs/mol-canvas3d/controls/trackball.js +7 -7
  41. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +14 -14
  42. package/lib/commonjs/mol-canvas3d/helper/interaction-events.js +5 -5
  43. package/lib/commonjs/mol-canvas3d/passes/draw.js +34 -5
  44. package/lib/commonjs/mol-canvas3d/passes/fxaa.js +5 -0
  45. package/lib/commonjs/mol-canvas3d/passes/marking.js +5 -0
  46. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +9 -0
  47. package/lib/commonjs/mol-canvas3d/passes/pick.d.ts +18 -5
  48. package/lib/commonjs/mol-canvas3d/passes/pick.js +125 -24
  49. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +5 -0
  50. package/lib/commonjs/mol-canvas3d/passes/smaa.js +4 -0
  51. package/lib/commonjs/mol-canvas3d/passes/wboit.js +4 -0
  52. package/lib/commonjs/mol-data/db/column.js +5 -5
  53. package/lib/commonjs/mol-data/db/table.js +2 -2
  54. package/lib/commonjs/mol-data/util/array.d.ts +1 -1
  55. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +1 -1
  56. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +0 -1
  57. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +1 -1
  58. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
  59. package/lib/commonjs/mol-gl/compute/grid3d.d.ts +2 -2
  60. package/lib/commonjs/mol-gl/compute/grid3d.js +30 -8
  61. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
  62. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
  63. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
  64. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +6 -1
  65. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
  66. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
  67. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
  68. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -10
  69. package/lib/commonjs/mol-gl/renderer.js +77 -32
  70. package/lib/commonjs/mol-gl/scene.js +2 -0
  71. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  72. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  73. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  74. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  75. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  76. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  77. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  78. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  79. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  80. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  81. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  82. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  83. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  84. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  85. package/lib/commonjs/mol-gl/shader/lines.frag.d.ts +1 -1
  86. package/lib/commonjs/mol-gl/shader/lines.frag.js +1 -1
  87. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  88. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  89. package/lib/commonjs/mol-gl/shader/points.frag.d.ts +1 -1
  90. package/lib/commonjs/mol-gl/shader/points.frag.js +1 -1
  91. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  92. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  93. package/lib/commonjs/mol-gl/shader/text.frag.d.ts +1 -1
  94. package/lib/commonjs/mol-gl/shader/text.frag.js +1 -1
  95. package/lib/commonjs/mol-gl/shader-code.d.ts +1 -1
  96. package/lib/commonjs/mol-gl/shader-code.js +41 -9
  97. package/lib/commonjs/mol-gl/webgl/compat.d.ts +34 -1
  98. package/lib/commonjs/mol-gl/webgl/compat.js +50 -2
  99. package/lib/commonjs/mol-gl/webgl/context.d.ts +2 -0
  100. package/lib/commonjs/mol-gl/webgl/context.js +3 -0
  101. package/lib/commonjs/mol-gl/webgl/extensions.d.ts +3 -2
  102. package/lib/commonjs/mol-gl/webgl/extensions.js +6 -1
  103. package/lib/commonjs/mol-gl/webgl/timer.d.ts +22 -0
  104. package/lib/commonjs/mol-gl/webgl/timer.js +169 -0
  105. package/lib/commonjs/mol-io/common/binary-cif/array-encoder.js +18 -18
  106. package/lib/commonjs/mol-io/common/binary-cif/decoder.js +16 -16
  107. package/lib/commonjs/mol-io/common/binary-cif/encoding.js +9 -9
  108. package/lib/commonjs/mol-io/reader/cif/binary/field.js +3 -3
  109. package/lib/commonjs/mol-io/reader/cif/data-model.js +14 -14
  110. package/lib/commonjs/mol-io/reader/cif/schema.js +1 -1
  111. package/lib/commonjs/mol-io/reader/cif/text/parser.js +23 -23
  112. package/lib/commonjs/mol-io/reader/common/text/column/fixed.js +1 -1
  113. package/lib/commonjs/mol-io/reader/common/text/column/token.js +1 -1
  114. package/lib/commonjs/mol-io/reader/common/text/number-parser.js +6 -6
  115. package/lib/commonjs/mol-io/reader/csv/parser.js +8 -8
  116. package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +10 -10
  117. package/lib/commonjs/mol-io/writer/cif/encoder/text.js +7 -7
  118. package/lib/commonjs/mol-io/writer/cif/encoder.js +8 -8
  119. package/lib/commonjs/mol-io/writer/mol2/encoder.js +4 -4
  120. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +13 -2
  121. package/lib/commonjs/mol-model/sequence/alignment/sequence.js +3 -3
  122. package/lib/commonjs/mol-model/sequence/sequence.js +9 -9
  123. package/lib/commonjs/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
  124. package/lib/commonjs/mol-model/structure/export/categories/secondary-structure.js +2 -2
  125. package/lib/commonjs/mol-model/structure/export/categories/utils.js +1 -1
  126. package/lib/commonjs/mol-model/structure/model/model.js +2 -2
  127. package/lib/commonjs/mol-model/structure/model/properties/custom/indexed.js +6 -6
  128. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
  129. package/lib/commonjs/mol-model/structure/model/types.js +116 -116
  130. package/lib/commonjs/mol-model/structure/query/context.js +1 -1
  131. package/lib/commonjs/mol-model/structure/query/queries/generators.js +5 -5
  132. package/lib/commonjs/mol-model/structure/query/queries/internal.js +4 -4
  133. package/lib/commonjs/mol-model/structure/query/queries/modifiers.js +4 -4
  134. package/lib/commonjs/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
  135. package/lib/commonjs/mol-model/structure/query/utils/structure-distance.js +9 -9
  136. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.d.ts +3 -1
  137. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.js +192 -108
  138. package/lib/commonjs/mol-model/structure/structure/element/loci.js +5 -5
  139. package/lib/commonjs/mol-model/structure/structure/element/stats.js +5 -5
  140. package/lib/commonjs/mol-model/structure/structure/properties.js +5 -5
  141. package/lib/commonjs/mol-model/structure/structure/structure.js +11 -11
  142. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
  143. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
  144. package/lib/commonjs/mol-model/structure/structure/unit/bonds.js +2 -2
  145. package/lib/commonjs/mol-model/structure/structure/unit/resonance.js +1 -1
  146. package/lib/commonjs/mol-model/structure/structure/unit/rings/compute.js +6 -6
  147. package/lib/commonjs/mol-model/structure/structure/unit/rings.js +6 -6
  148. package/lib/commonjs/mol-model/structure/structure/unit.js +16 -16
  149. package/lib/commonjs/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
  150. package/lib/commonjs/mol-model/structure/util.js +4 -4
  151. package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +2 -2
  152. package/lib/commonjs/mol-model-formats/structure/basic/parser.js +4 -4
  153. package/lib/commonjs/mol-model-formats/structure/basic/properties.js +1 -1
  154. package/lib/commonjs/mol-model-formats/structure/basic/sort.js +1 -1
  155. package/lib/commonjs/mol-model-formats/structure/basic/util.js +1 -1
  156. package/lib/commonjs/mol-model-formats/structure/cif-core.js +6 -6
  157. package/lib/commonjs/mol-model-formats/structure/common/entity.js +1 -1
  158. package/lib/commonjs/mol-model-formats/structure/cube.js +1 -1
  159. package/lib/commonjs/mol-model-formats/structure/gro.js +1 -1
  160. package/lib/commonjs/mol-model-formats/structure/mol.js +1 -1
  161. package/lib/commonjs/mol-model-formats/structure/mol2.js +4 -4
  162. package/lib/commonjs/mol-model-formats/structure/prmtop.js +1 -1
  163. package/lib/commonjs/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
  164. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
  165. package/lib/commonjs/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
  166. package/lib/commonjs/mol-model-formats/structure/property/secondary-structure.js +8 -8
  167. package/lib/commonjs/mol-model-formats/structure/psf.js +1 -1
  168. package/lib/commonjs/mol-model-formats/structure/top.js +1 -1
  169. package/lib/commonjs/mol-model-formats/structure/xyz.js +1 -1
  170. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
  171. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
  172. package/lib/commonjs/mol-model-props/computed/accessible-surface-area.js +2 -2
  173. package/lib/commonjs/mol-model-props/computed/chemistry/functional-group.js +31 -31
  174. package/lib/commonjs/mol-model-props/computed/chemistry/geometry.js +22 -22
  175. package/lib/commonjs/mol-model-props/computed/chemistry/valence-model.js +32 -32
  176. package/lib/commonjs/mol-model-props/computed/interactions/charged.js +39 -39
  177. package/lib/commonjs/mol-model-props/computed/interactions/common.js +34 -34
  178. package/lib/commonjs/mol-model-props/computed/interactions/contacts-builder.js +1 -1
  179. package/lib/commonjs/mol-model-props/computed/interactions/contacts.js +1 -1
  180. package/lib/commonjs/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
  181. package/lib/commonjs/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
  182. package/lib/commonjs/mol-model-props/computed/interactions/hydrophobic.js +9 -9
  183. package/lib/commonjs/mol-model-props/computed/interactions/metal.js +26 -26
  184. package/lib/commonjs/mol-model-props/computed/interactions/refine.js +20 -20
  185. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
  186. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
  187. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
  188. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
  189. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
  190. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
  191. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
  192. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
  193. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp.js +30 -30
  194. package/lib/commonjs/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
  195. package/lib/commonjs/mol-model-props/computed/themes/interaction-type.js +10 -10
  196. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
  197. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
  198. package/lib/commonjs/mol-model-props/sequence/sifts-mapping.js +1 -1
  199. package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
  200. package/lib/commonjs/mol-plugin/animation-loop.d.ts +2 -1
  201. package/lib/commonjs/mol-plugin/animation-loop.js +18 -5
  202. package/lib/commonjs/mol-plugin/behavior/dynamic/camera.js +12 -12
  203. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +7 -7
  204. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
  205. package/lib/commonjs/mol-plugin/config.d.ts +3 -0
  206. package/lib/commonjs/mol-plugin/config.js +3 -1
  207. package/lib/commonjs/mol-plugin/context.d.ts +2 -2
  208. package/lib/commonjs/mol-plugin/context.js +3 -0
  209. package/lib/commonjs/mol-plugin/state.d.ts +1 -14
  210. package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +12 -11
  211. package/lib/commonjs/mol-plugin-state/formats/volume.js +20 -13
  212. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +5 -5
  213. package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
  214. package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +1 -1
  215. package/lib/commonjs/mol-plugin-ui/controls.js +1 -1
  216. package/lib/commonjs/mol-plugin-ui/sequence/polymer.js +1 -1
  217. package/lib/commonjs/mol-plugin-ui/sequence/sequence.js +1 -1
  218. package/lib/commonjs/mol-plugin-ui/state/snapshots.js +1 -0
  219. package/lib/commonjs/mol-plugin-ui/structure/focus.js +1 -1
  220. package/lib/commonjs/mol-plugin-ui/viewport/screenshot.js +1 -0
  221. package/lib/commonjs/mol-plugin-ui/viewport.d.ts +2 -2
  222. package/lib/commonjs/mol-repr/shape/representation.d.ts +1 -1
  223. package/lib/commonjs/mol-repr/shape/representation.js +2 -1
  224. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +1 -1
  225. package/lib/commonjs/mol-repr/structure/complex-visual.js +2 -1
  226. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +1 -1
  227. package/lib/commonjs/mol-repr/structure/units-visual.js +2 -1
  228. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
  229. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
  230. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -15
  231. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +12 -15
  232. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
  233. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
  234. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
  235. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
  236. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  237. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
  238. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +2 -2
  239. package/lib/commonjs/mol-repr/structure/visual/util/common.js +3 -3
  240. package/lib/commonjs/mol-repr/structure/visual/util/link.js +30 -30
  241. package/lib/commonjs/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
  242. package/lib/commonjs/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
  243. package/lib/commonjs/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
  244. package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +6 -6
  245. package/lib/commonjs/mol-repr/volume/representation.d.ts +1 -1
  246. package/lib/commonjs/mol-repr/volume/representation.js +2 -1
  247. package/lib/commonjs/mol-script/language/builder.d.ts +1 -0
  248. package/lib/commonjs/mol-script/language/symbol-table/core.d.ts +2 -2
  249. package/lib/commonjs/mol-script/runtime/query/table.js +13 -13
  250. package/lib/commonjs/mol-state/object.d.ts +3 -3
  251. package/lib/commonjs/mol-task/util/user-timing.js +1 -1
  252. package/lib/commonjs/mol-theme/clipping.js +19 -19
  253. package/lib/commonjs/mol-theme/color/atom-id.js +1 -1
  254. package/lib/commonjs/mol-theme/color/carbohydrate-symbol.js +1 -1
  255. package/lib/commonjs/mol-theme/color/chain-id.js +4 -4
  256. package/lib/commonjs/mol-theme/color/element-index.js +1 -1
  257. package/lib/commonjs/mol-theme/color/element-symbol.js +1 -1
  258. package/lib/commonjs/mol-theme/color/entity-id.js +4 -4
  259. package/lib/commonjs/mol-theme/color/entity-source.js +5 -4
  260. package/lib/commonjs/mol-theme/color/hydrophobicity.js +1 -1
  261. package/lib/commonjs/mol-theme/color/illustrative.js +1 -1
  262. package/lib/commonjs/mol-theme/color/model-index.js +1 -1
  263. package/lib/commonjs/mol-theme/color/molecule-type.js +8 -8
  264. package/lib/commonjs/mol-theme/color/occupancy.js +1 -1
  265. package/lib/commonjs/mol-theme/color/operator-hkl.js +1 -1
  266. package/lib/commonjs/mol-theme/color/operator-name.js +1 -1
  267. package/lib/commonjs/mol-theme/color/partial-charge.js +1 -1
  268. package/lib/commonjs/mol-theme/color/polymer-id.js +4 -4
  269. package/lib/commonjs/mol-theme/color/polymer-index.js +1 -1
  270. package/lib/commonjs/mol-theme/color/residue-name.js +1 -1
  271. package/lib/commonjs/mol-theme/color/secondary-structure.js +12 -12
  272. package/lib/commonjs/mol-theme/color/sequence-id.js +7 -7
  273. package/lib/commonjs/mol-theme/color/shape-group.js +1 -1
  274. package/lib/commonjs/mol-theme/color/uncertainty.js +1 -1
  275. package/lib/commonjs/mol-theme/color/uniform.js +1 -1
  276. package/lib/commonjs/mol-theme/color/unit-index.js +1 -1
  277. package/lib/commonjs/mol-theme/color/volume-value.js +1 -1
  278. package/lib/commonjs/mol-theme/label.js +3 -3
  279. package/lib/commonjs/mol-util/binding.js +4 -4
  280. package/lib/commonjs/mol-util/debug.d.ts +6 -1
  281. package/lib/commonjs/mol-util/debug.js +11 -1
  282. package/lib/commonjs/mol-util/input/input-observer.js +20 -20
  283. package/lib/commonjs/mol-util/string-builder.js +1 -1
  284. package/lib/commonjs/servers/model/preprocess/converter.js +1 -1
  285. package/lib/commonjs/servers/model/server/query.js +1 -1
  286. package/lib/commonjs/servers/model/utils/fetch-retry.js +3 -2
  287. package/lib/commonjs/servers/volume/server/algebra/coordinate.js +6 -6
  288. package/lib/commonjs/servers/volume/server/query/encode.js +1 -1
  289. package/lib/examples/alpha-orbitals/index.d.ts +1 -1
  290. package/lib/examples/alpha-orbitals/index.html +72 -61
  291. package/lib/examples/alpha-orbitals/index.js +4 -1
  292. package/lib/examples/basic-wrapper/custom-theme.js +1 -1
  293. package/lib/examples/basic-wrapper/index.html +137 -137
  294. package/lib/examples/lighting/index.html +88 -88
  295. package/lib/examples/proteopedia-wrapper/coloring.js +3 -3
  296. package/lib/examples/proteopedia-wrapper/index.html +236 -236
  297. package/lib/extensions/alpha-orbitals/density.d.ts +1 -1
  298. package/lib/extensions/alpha-orbitals/density.js +6 -2
  299. package/lib/extensions/alpha-orbitals/orbitals.d.ts +1 -1
  300. package/lib/extensions/alpha-orbitals/orbitals.js +6 -3
  301. package/lib/extensions/anvil/algorithm.js +1 -1
  302. package/lib/extensions/cellpack/color/generate.js +1 -1
  303. package/lib/extensions/cellpack/color/provided.js +1 -1
  304. package/lib/extensions/cellpack/state.js +1 -1
  305. package/lib/extensions/dnatco/confal-pyramids/color.js +1 -1
  306. package/lib/extensions/g3d/model.js +1 -1
  307. package/lib/extensions/geo-export/ui.js +1 -0
  308. package/lib/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
  309. package/lib/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
  310. package/lib/extensions/mp4-export/ui.js +1 -0
  311. package/lib/extensions/pdbe/structure-quality-report/color.js +1 -1
  312. package/lib/extensions/rcsb/assembly-symmetry/color.js +4 -4
  313. package/lib/extensions/rcsb/validation-report/color/density-fit.js +1 -1
  314. package/lib/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
  315. package/lib/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
  316. package/lib/extensions/rcsb/validation-report/representation.js +2 -2
  317. package/lib/mol-canvas3d/canvas3d.js +5 -1
  318. package/lib/mol-canvas3d/controls/trackball.js +7 -7
  319. package/lib/mol-canvas3d/helper/camera-helper.js +14 -14
  320. package/lib/mol-canvas3d/helper/interaction-events.js +5 -5
  321. package/lib/mol-canvas3d/passes/draw.js +34 -5
  322. package/lib/mol-canvas3d/passes/fxaa.js +5 -0
  323. package/lib/mol-canvas3d/passes/marking.js +5 -0
  324. package/lib/mol-canvas3d/passes/multi-sample.js +9 -0
  325. package/lib/mol-canvas3d/passes/pick.d.ts +18 -5
  326. package/lib/mol-canvas3d/passes/pick.js +125 -24
  327. package/lib/mol-canvas3d/passes/postprocessing.js +5 -0
  328. package/lib/mol-canvas3d/passes/smaa.js +5 -1
  329. package/lib/mol-canvas3d/passes/wboit.js +5 -1
  330. package/lib/mol-data/db/column.js +5 -5
  331. package/lib/mol-data/db/table.js +2 -2
  332. package/lib/mol-data/util/array.d.ts +1 -1
  333. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +1 -1
  334. package/lib/mol-geo/geometry/lines/lines.d.ts +0 -1
  335. package/lib/mol-geo/geometry/points/points.d.ts +1 -1
  336. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
  337. package/lib/mol-gl/compute/grid3d.d.ts +2 -2
  338. package/lib/mol-gl/compute/grid3d.js +30 -8
  339. package/lib/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
  340. package/lib/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
  341. package/lib/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
  342. package/lib/mol-gl/compute/histogram-pyramid/sum.js +6 -1
  343. package/lib/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
  344. package/lib/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
  345. package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
  346. package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -10
  347. package/lib/mol-gl/renderer.js +77 -32
  348. package/lib/mol-gl/scene.js +2 -0
  349. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  350. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  351. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  352. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  353. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  354. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  355. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  356. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  357. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  358. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  359. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  360. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  361. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  362. package/lib/mol-gl/shader/image.frag.js +1 -1
  363. package/lib/mol-gl/shader/lines.frag.d.ts +1 -1
  364. package/lib/mol-gl/shader/lines.frag.js +1 -1
  365. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  366. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  367. package/lib/mol-gl/shader/points.frag.d.ts +1 -1
  368. package/lib/mol-gl/shader/points.frag.js +1 -1
  369. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  370. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  371. package/lib/mol-gl/shader/text.frag.d.ts +1 -1
  372. package/lib/mol-gl/shader/text.frag.js +1 -1
  373. package/lib/mol-gl/shader-code.d.ts +1 -1
  374. package/lib/mol-gl/shader-code.js +41 -9
  375. package/lib/mol-gl/webgl/compat.d.ts +34 -1
  376. package/lib/mol-gl/webgl/compat.js +48 -1
  377. package/lib/mol-gl/webgl/context.d.ts +2 -0
  378. package/lib/mol-gl/webgl/context.js +3 -0
  379. package/lib/mol-gl/webgl/extensions.d.ts +3 -2
  380. package/lib/mol-gl/webgl/extensions.js +7 -2
  381. package/lib/mol-gl/webgl/timer.d.ts +22 -0
  382. package/lib/mol-gl/webgl/timer.js +164 -0
  383. package/lib/mol-io/common/binary-cif/array-encoder.js +18 -18
  384. package/lib/mol-io/common/binary-cif/decoder.js +16 -16
  385. package/lib/mol-io/common/binary-cif/encoding.js +9 -9
  386. package/lib/mol-io/reader/cif/binary/field.js +3 -3
  387. package/lib/mol-io/reader/cif/data-model.js +14 -14
  388. package/lib/mol-io/reader/cif/schema.js +1 -1
  389. package/lib/mol-io/reader/cif/text/parser.js +23 -23
  390. package/lib/mol-io/reader/common/text/column/fixed.js +1 -1
  391. package/lib/mol-io/reader/common/text/column/token.js +1 -1
  392. package/lib/mol-io/reader/common/text/number-parser.js +6 -6
  393. package/lib/mol-io/reader/csv/parser.js +8 -8
  394. package/lib/mol-io/writer/cif/encoder/binary.js +10 -10
  395. package/lib/mol-io/writer/cif/encoder/text.js +7 -7
  396. package/lib/mol-io/writer/cif/encoder.js +8 -8
  397. package/lib/mol-io/writer/mol2/encoder.js +4 -4
  398. package/lib/mol-math/geometry/gaussian-density/gpu.js +13 -2
  399. package/lib/mol-model/sequence/alignment/sequence.js +3 -3
  400. package/lib/mol-model/sequence/sequence.js +9 -9
  401. package/lib/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
  402. package/lib/mol-model/structure/export/categories/secondary-structure.js +2 -2
  403. package/lib/mol-model/structure/export/categories/utils.js +1 -1
  404. package/lib/mol-model/structure/model/model.js +2 -2
  405. package/lib/mol-model/structure/model/properties/custom/indexed.js +6 -6
  406. package/lib/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
  407. package/lib/mol-model/structure/model/types.js +116 -116
  408. package/lib/mol-model/structure/query/context.js +1 -1
  409. package/lib/mol-model/structure/query/queries/generators.js +5 -5
  410. package/lib/mol-model/structure/query/queries/internal.js +4 -4
  411. package/lib/mol-model/structure/query/queries/modifiers.js +4 -4
  412. package/lib/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
  413. package/lib/mol-model/structure/query/utils/structure-distance.js +9 -9
  414. package/lib/mol-model/structure/structure/carbohydrates/constants.d.ts +3 -1
  415. package/lib/mol-model/structure/structure/carbohydrates/constants.js +190 -107
  416. package/lib/mol-model/structure/structure/element/loci.js +5 -5
  417. package/lib/mol-model/structure/structure/element/stats.js +5 -5
  418. package/lib/mol-model/structure/structure/properties.js +5 -5
  419. package/lib/mol-model/structure/structure/structure.js +11 -11
  420. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
  421. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
  422. package/lib/mol-model/structure/structure/unit/bonds.js +2 -2
  423. package/lib/mol-model/structure/structure/unit/resonance.js +1 -1
  424. package/lib/mol-model/structure/structure/unit/rings/compute.js +6 -6
  425. package/lib/mol-model/structure/structure/unit/rings.js +6 -6
  426. package/lib/mol-model/structure/structure/unit.js +16 -16
  427. package/lib/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
  428. package/lib/mol-model/structure/util.js +4 -4
  429. package/lib/mol-model-formats/structure/basic/atomic.js +2 -2
  430. package/lib/mol-model-formats/structure/basic/parser.js +4 -4
  431. package/lib/mol-model-formats/structure/basic/properties.js +1 -1
  432. package/lib/mol-model-formats/structure/basic/sort.js +1 -1
  433. package/lib/mol-model-formats/structure/basic/util.js +1 -1
  434. package/lib/mol-model-formats/structure/cif-core.js +6 -6
  435. package/lib/mol-model-formats/structure/common/entity.js +1 -1
  436. package/lib/mol-model-formats/structure/cube.js +1 -1
  437. package/lib/mol-model-formats/structure/gro.js +1 -1
  438. package/lib/mol-model-formats/structure/mol.js +1 -1
  439. package/lib/mol-model-formats/structure/mol2.js +4 -4
  440. package/lib/mol-model-formats/structure/prmtop.js +1 -1
  441. package/lib/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
  442. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
  443. package/lib/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
  444. package/lib/mol-model-formats/structure/property/secondary-structure.js +8 -8
  445. package/lib/mol-model-formats/structure/psf.js +1 -1
  446. package/lib/mol-model-formats/structure/top.js +1 -1
  447. package/lib/mol-model-formats/structure/xyz.js +1 -1
  448. package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
  449. package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
  450. package/lib/mol-model-props/computed/accessible-surface-area.js +2 -2
  451. package/lib/mol-model-props/computed/chemistry/functional-group.js +31 -31
  452. package/lib/mol-model-props/computed/chemistry/geometry.js +22 -22
  453. package/lib/mol-model-props/computed/chemistry/valence-model.js +32 -32
  454. package/lib/mol-model-props/computed/interactions/charged.js +39 -39
  455. package/lib/mol-model-props/computed/interactions/common.js +34 -34
  456. package/lib/mol-model-props/computed/interactions/contacts-builder.js +1 -1
  457. package/lib/mol-model-props/computed/interactions/contacts.js +1 -1
  458. package/lib/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
  459. package/lib/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
  460. package/lib/mol-model-props/computed/interactions/hydrophobic.js +9 -9
  461. package/lib/mol-model-props/computed/interactions/metal.js +26 -26
  462. package/lib/mol-model-props/computed/interactions/refine.js +20 -20
  463. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
  464. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
  465. package/lib/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
  466. package/lib/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
  467. package/lib/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
  468. package/lib/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
  469. package/lib/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
  470. package/lib/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
  471. package/lib/mol-model-props/computed/secondary-structure/dssp.js +30 -30
  472. package/lib/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
  473. package/lib/mol-model-props/computed/themes/interaction-type.js +10 -10
  474. package/lib/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
  475. package/lib/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
  476. package/lib/mol-model-props/sequence/sifts-mapping.js +1 -1
  477. package/lib/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
  478. package/lib/mol-plugin/animation-loop.d.ts +2 -1
  479. package/lib/mol-plugin/animation-loop.js +18 -5
  480. package/lib/mol-plugin/behavior/dynamic/camera.js +12 -12
  481. package/lib/mol-plugin/behavior/dynamic/representation.js +7 -7
  482. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
  483. package/lib/mol-plugin/config.d.ts +3 -0
  484. package/lib/mol-plugin/config.js +3 -1
  485. package/lib/mol-plugin/context.d.ts +2 -2
  486. package/lib/mol-plugin/context.js +3 -0
  487. package/lib/mol-plugin/state.d.ts +1 -14
  488. package/lib/mol-plugin/version.js +2 -2
  489. package/lib/mol-plugin-state/formats/volume.d.ts +12 -11
  490. package/lib/mol-plugin-state/formats/volume.js +20 -13
  491. package/lib/mol-plugin-state/helpers/structure-selection-query.js +5 -5
  492. package/lib/mol-plugin-state/transforms/representation.js +2 -2
  493. package/lib/mol-plugin-ui/controls/parameters.d.ts +1 -1
  494. package/lib/mol-plugin-ui/controls.js +1 -1
  495. package/lib/mol-plugin-ui/sequence/polymer.js +1 -1
  496. package/lib/mol-plugin-ui/sequence/sequence.js +1 -1
  497. package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
  498. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  499. package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
  500. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  501. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  502. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  503. package/lib/mol-plugin-ui/skin/base/components/misc.scss +643 -643
  504. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  505. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  506. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  507. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  508. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  509. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +128 -128
  510. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  511. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  512. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  513. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  514. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  515. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  516. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  517. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  518. package/lib/mol-plugin-ui/skin/base/variables.scss +85 -85
  519. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  520. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  521. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  522. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  523. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  524. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  525. package/lib/mol-plugin-ui/state/snapshots.js +1 -0
  526. package/lib/mol-plugin-ui/structure/focus.js +1 -1
  527. package/lib/mol-plugin-ui/viewport/screenshot.js +1 -0
  528. package/lib/mol-plugin-ui/viewport.d.ts +2 -2
  529. package/lib/mol-repr/shape/representation.d.ts +1 -1
  530. package/lib/mol-repr/shape/representation.js +2 -1
  531. package/lib/mol-repr/structure/complex-visual.d.ts +1 -1
  532. package/lib/mol-repr/structure/complex-visual.js +2 -1
  533. package/lib/mol-repr/structure/units-visual.d.ts +1 -1
  534. package/lib/mol-repr/structure/units-visual.js +2 -1
  535. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
  536. package/lib/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
  537. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -15
  538. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +12 -15
  539. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
  540. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
  541. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
  542. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
  543. package/lib/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  544. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
  545. package/lib/mol-repr/structure/visual/util/bond.js +2 -2
  546. package/lib/mol-repr/structure/visual/util/common.js +3 -3
  547. package/lib/mol-repr/structure/visual/util/link.js +30 -30
  548. package/lib/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
  549. package/lib/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
  550. package/lib/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
  551. package/lib/mol-repr/structure/visual/util/polymer.js +6 -6
  552. package/lib/mol-repr/volume/representation.d.ts +1 -1
  553. package/lib/mol-repr/volume/representation.js +2 -1
  554. package/lib/mol-script/language/builder.d.ts +1 -0
  555. package/lib/mol-script/language/symbol-table/core.d.ts +2 -2
  556. package/lib/mol-script/runtime/query/table.js +13 -13
  557. package/lib/mol-state/object.d.ts +3 -3
  558. package/lib/mol-task/util/user-timing.js +1 -1
  559. package/lib/mol-theme/clipping.js +19 -19
  560. package/lib/mol-theme/color/atom-id.js +1 -1
  561. package/lib/mol-theme/color/carbohydrate-symbol.js +1 -1
  562. package/lib/mol-theme/color/chain-id.js +4 -4
  563. package/lib/mol-theme/color/element-index.js +1 -1
  564. package/lib/mol-theme/color/element-symbol.js +1 -1
  565. package/lib/mol-theme/color/entity-id.js +4 -4
  566. package/lib/mol-theme/color/entity-source.js +5 -4
  567. package/lib/mol-theme/color/hydrophobicity.js +1 -1
  568. package/lib/mol-theme/color/illustrative.js +1 -1
  569. package/lib/mol-theme/color/model-index.js +1 -1
  570. package/lib/mol-theme/color/molecule-type.js +8 -8
  571. package/lib/mol-theme/color/occupancy.js +1 -1
  572. package/lib/mol-theme/color/operator-hkl.js +1 -1
  573. package/lib/mol-theme/color/operator-name.js +1 -1
  574. package/lib/mol-theme/color/partial-charge.js +1 -1
  575. package/lib/mol-theme/color/polymer-id.js +4 -4
  576. package/lib/mol-theme/color/polymer-index.js +1 -1
  577. package/lib/mol-theme/color/residue-name.js +1 -1
  578. package/lib/mol-theme/color/secondary-structure.js +12 -12
  579. package/lib/mol-theme/color/sequence-id.js +7 -7
  580. package/lib/mol-theme/color/shape-group.js +1 -1
  581. package/lib/mol-theme/color/uncertainty.js +1 -1
  582. package/lib/mol-theme/color/uniform.js +1 -1
  583. package/lib/mol-theme/color/unit-index.js +1 -1
  584. package/lib/mol-theme/color/volume-value.js +1 -1
  585. package/lib/mol-theme/label.js +3 -3
  586. package/lib/mol-util/binding.js +4 -4
  587. package/lib/mol-util/debug.d.ts +6 -1
  588. package/lib/mol-util/debug.js +9 -1
  589. package/lib/mol-util/input/input-observer.js +20 -20
  590. package/lib/mol-util/string-builder.js +1 -1
  591. package/lib/servers/model/preprocess/converter.js +1 -1
  592. package/lib/servers/model/server/query.js +1 -1
  593. package/lib/servers/model/utils/fetch-retry.js +3 -2
  594. package/lib/servers/volume/server/algebra/coordinate.js +6 -6
  595. package/lib/servers/volume/server/query/encode.js +1 -1
  596. package/package.json +162 -162
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author David Sehnal <david.sehnal@gmail.com>
6
6
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
7
+ * @author Aliaksei Chareshneu <chareshneu.tech@gmail.com>
7
8
  */
8
9
  Object.defineProperty(exports, "__esModule", { value: true });
9
10
  exports.BuiltInVolumeFormats = exports.DscifProvider = exports.CubeProvider = exports.DxProvider = exports.Dsn6Provider = exports.Ccp4Provider = exports.VolumeFormatCategory = void 0;
@@ -246,35 +247,41 @@ exports.DscifProvider = (0, provider_1.DataFormatProvider)({
246
247
  },
247
248
  parse: function (plugin, data, params) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
248
249
  var cifCell, b, blocks, volumes, i, _i, blocks_1, block, entryId, _a, volumes_1, v;
249
- return tslib_1.__generator(this, function (_b) {
250
- switch (_b.label) {
250
+ var _b;
251
+ return tslib_1.__generator(this, function (_c) {
252
+ switch (_c.label) {
251
253
  case 0: return [4 /*yield*/, plugin.build().to(data).apply(transforms_1.StateTransforms.Data.ParseCif).commit()];
252
254
  case 1:
253
- cifCell = _b.sent();
255
+ cifCell = _c.sent();
254
256
  b = plugin.build().to(cifCell);
255
- blocks = cifCell.obj.data.blocks.slice(1);
256
- if (blocks.length !== 1 && blocks.length !== 2)
257
- throw new Error('unknown number of blocks');
257
+ blocks = cifCell.obj.data.blocks;
258
+ if (blocks.length === 0)
259
+ throw new Error('no data blocks');
258
260
  volumes = [];
259
261
  i = 0;
260
262
  for (_i = 0, blocks_1 = blocks; _i < blocks_1.length; _i++) {
261
263
  block = blocks_1[_i];
264
+ // Skip "server" data block.
265
+ if (block.header.toUpperCase() === 'SERVER')
266
+ continue;
262
267
  entryId = Array.isArray(params === null || params === void 0 ? void 0 : params.entryId) ? params === null || params === void 0 ? void 0 : params.entryId[i] : params === null || params === void 0 ? void 0 : params.entryId;
263
- volumes.push(b.apply(transforms_1.StateTransforms.Volume.VolumeFromDensityServerCif, { blockHeader: block.header, entryId: entryId }).selector);
264
- i++;
268
+ if (((_b = block.categories['volume_data_3d_info']) === null || _b === void 0 ? void 0 : _b.rowCount) > 0) {
269
+ volumes.push(b.apply(transforms_1.StateTransforms.Volume.VolumeFromDensityServerCif, { blockHeader: block.header, entryId: entryId }).selector);
270
+ i++;
271
+ }
265
272
  }
266
273
  return [4 /*yield*/, b.commit()];
267
274
  case 2:
268
- _b.sent();
275
+ _c.sent();
269
276
  _a = 0, volumes_1 = volumes;
270
- _b.label = 3;
277
+ _c.label = 3;
271
278
  case 3:
272
279
  if (!(_a < volumes_1.length)) return [3 /*break*/, 6];
273
280
  v = volumes_1[_a];
274
281
  return [4 /*yield*/, tryObtainRecommendedIsoValue(plugin, v.data)];
275
282
  case 4:
276
- _b.sent();
277
- _b.label = 5;
283
+ _c.sent();
284
+ _c.label = 5;
278
285
  case 5:
279
286
  _a++;
280
287
  return [3 /*break*/, 3];
@@ -224,7 +224,7 @@ var helix = StructureSelectionQuery('Helix', builder_1.MolScriptBuilder.struct.m
224
224
  'entity-test': _proteinEntityTest,
225
225
  'residue-test': builder_1.MolScriptBuilder.core.flags.hasAny([
226
226
  builder_1.MolScriptBuilder.ammp('secondaryStructureFlags'),
227
- builder_1.MolScriptBuilder.core.type.bitflags([2 /* Helix */])
227
+ builder_1.MolScriptBuilder.core.type.bitflags([2 /* SecondaryStructureType.Flag.Helix */])
228
228
  ])
229
229
  })
230
230
  ]), {
@@ -238,7 +238,7 @@ var beta = StructureSelectionQuery('Beta Strand/Sheet', builder_1.MolScriptBuild
238
238
  'entity-test': _proteinEntityTest,
239
239
  'residue-test': builder_1.MolScriptBuilder.core.flags.hasAny([
240
240
  builder_1.MolScriptBuilder.ammp('secondaryStructureFlags'),
241
- builder_1.MolScriptBuilder.core.type.bitflags([4 /* Beta */])
241
+ builder_1.MolScriptBuilder.core.type.bitflags([4 /* SecondaryStructureType.Flag.Beta */])
242
242
  ])
243
243
  })
244
244
  ]), {
@@ -341,7 +341,7 @@ var ligandPlusConnected = StructureSelectionQuery('Ligand with Connected', build
341
341
  'bond-test': builder_1.MolScriptBuilder.core.flags.hasAny([
342
342
  builder_1.MolScriptBuilder.struct.bondProperty.flags(),
343
343
  builder_1.MolScriptBuilder.core.type.bitflags([
344
- 1 /* Covalent */ | 2 /* MetallicCoordination */
344
+ 1 /* BondType.Flag.Covalent */ | 2 /* BondType.Flag.MetallicCoordination */
345
345
  ])
346
346
  ])
347
347
  })
@@ -385,7 +385,7 @@ var disulfideBridges = StructureSelectionQuery('Disulfide Bridges', builder_1.Mo
385
385
  builder_1.MolScriptBuilder.struct.generator.bondedAtomicPairs({
386
386
  0: builder_1.MolScriptBuilder.core.flags.hasAny([
387
387
  builder_1.MolScriptBuilder.struct.bondProperty.flags(),
388
- builder_1.MolScriptBuilder.core.type.bitflags([8 /* Disulfide */])
388
+ builder_1.MolScriptBuilder.core.type.bitflags([8 /* BondType.Flag.Disulfide */])
389
389
  ])
390
390
  })
391
391
  ])
@@ -503,7 +503,7 @@ var covalentlyOrMetallicBonded = StructureSelectionQuery('Residues with Cov. or
503
503
  'bond-test': builder_1.MolScriptBuilder.core.flags.hasAny([
504
504
  builder_1.MolScriptBuilder.struct.bondProperty.flags(),
505
505
  builder_1.MolScriptBuilder.core.type.bitflags([
506
- 1 /* Covalent */ | 2 /* MetallicCoordination */
506
+ 1 /* BondType.Flag.Covalent */ | 2 /* BondType.Flag.MetallicCoordination */
507
507
  ])
508
508
  ])
509
509
  })
@@ -657,7 +657,7 @@ var ClippingStructureRepresentation3DFromScript = objects_1.PluginStateTransform
657
657
  }, function (e) { return "".concat(clipping_1.Clipping.Groups.toNames(e.groups).length, " group(s)"); }, {
658
658
  defaultValue: [{
659
659
  script: (0, script_1.Script)('(sel.atom.all)', 'mol-script'),
660
- groups: 0 /* None */,
660
+ groups: 0 /* Clipping.Groups.Flag.None */,
661
661
  }]
662
662
  }),
663
663
  }); }
@@ -706,7 +706,7 @@ var ClippingStructureRepresentation3DFromBundle = objects_1.PluginStateTransform
706
706
  }, function (e) { return "".concat(clipping_1.Clipping.Groups.toNames(e.groups).length, " group(s)"); }, {
707
707
  defaultValue: [{
708
708
  bundle: structure_1.StructureElement.Bundle.Empty,
709
- groups: 0 /* None */,
709
+ groups: 0 /* Clipping.Groups.Flag.None */,
710
710
  }],
711
711
  isHidden: true
712
712
  }),
@@ -94,7 +94,7 @@ export declare class LineGraphControl extends React.PureComponent<ParamProps<PD.
94
94
  isOverPoint: boolean;
95
95
  message: string;
96
96
  };
97
- onHover: (point?: Vec2 | undefined) => void;
97
+ onHover: (point?: Vec2) => void;
98
98
  onDrag: (point: Vec2) => void;
99
99
  onChange: (value: PD.LineGraph['defaultValue']) => void;
100
100
  toggleExpanded: (e: React.MouseEvent<HTMLButtonElement>) => void;
@@ -77,7 +77,7 @@ var TrajectoryViewportControls = /** @class */ (function (_super) {
77
77
  };
78
78
  TrajectoryViewportControls.prototype.render = function () {
79
79
  var isAnimating = this.plugin.behaviors.state.isAnimating.value;
80
- if (!this.state.show || (isAnimating && !this.state.label))
80
+ if (!this.state.show || (isAnimating && !this.state.label) || !this.plugin.config.get(config_1.PluginConfig.Viewport.ShowTrajectoryControls))
81
81
  return null;
82
82
  return (0, jsx_runtime_1.jsxs)("div", tslib_1.__assign({ className: 'msp-traj-controls' }, { children: [!isAnimating && (0, jsx_runtime_1.jsx)(common_1.IconButton, { svg: icons_1.SkipPreviousSvg, title: 'First Model', onClick: this.reset, disabled: isAnimating }), !isAnimating && (0, jsx_runtime_1.jsx)(common_1.IconButton, { svg: icons_1.NavigateBeforeSvg, title: 'Previous Model', onClick: this.prev, disabled: isAnimating }), !isAnimating && (0, jsx_runtime_1.jsx)(common_1.IconButton, { svg: icons_1.NavigateNextSvg, title: 'Next Model', onClick: this.next, disabled: isAnimating }), !!this.state.label && (0, jsx_runtime_1.jsx)("span", { children: this.state.label })] }));
83
83
  };
@@ -97,7 +97,7 @@ function createResidueQuery(chainGroupId, operatorName, label_seq_id) {
97
97
  structure_1.StructureProperties.unit.operator_name(ctx.element) === operatorName);
98
98
  },
99
99
  residueTest: function (ctx) {
100
- if (ctx.element.unit.kind === 0 /* Atomic */) {
100
+ if (ctx.element.unit.kind === 0 /* Unit.Kind.Atomic */) {
101
101
  return structure_1.StructureProperties.residue.label_seq_id(ctx.element) === label_seq_id;
102
102
  }
103
103
  else {
@@ -96,7 +96,7 @@ var Sequence = /** @class */ (function (_super) {
96
96
  _this.lastMouseOverSeqIdx = seqIdx;
97
97
  if (_this.mouseDownLoci !== undefined) {
98
98
  var loci = _this.getLoci(seqIdx);
99
- _this.hover(loci, 0 /* None */, 0 /* None */, tslib_1.__assign(tslib_1.__assign({}, modifiers), { shift: true }));
99
+ _this.hover(loci, 0 /* ButtonsType.Flag.None */, 0 /* ButtonsType.Flag.None */, tslib_1.__assign(tslib_1.__assign({}, modifiers), { shift: true }));
100
100
  }
101
101
  else {
102
102
  _this.highlightQueue.next({ seqIdx: seqIdx, buttons: buttons, button: button, modifiers: modifiers });
@@ -296,6 +296,7 @@ var RemoteStateSnapshots = /** @class */ (function (_super) {
296
296
  // this.subscribe(UploadedEvent, this.refresh);
297
297
  };
298
298
  RemoteStateSnapshots.prototype.componentWillUnmount = function () {
299
+ _super.prototype.componentWillUnmount.call(this);
299
300
  this._mounted = false;
300
301
  };
301
302
  RemoteStateSnapshots.prototype.serverUrl = function (q) {
@@ -54,7 +54,7 @@ function getFocusEntries(structure) {
54
54
  continue;
55
55
  l.unit = ug.units[0];
56
56
  l.element = ug.elements[0];
57
- var isMultiChain = structure_1.Unit.Traits.is(l.unit.traits, 1 /* MultiChain */);
57
+ var isMultiChain = structure_1.Unit.Traits.is(l.unit.traits, 1 /* Unit.Trait.MultiChain */);
58
58
  var entityType = structure_1.StructureProperties.entity.type(l);
59
59
  var isNonPolymer = entityType === 'non-polymer';
60
60
  var isBranched = entityType === 'branched';
@@ -74,6 +74,7 @@ var DownloadScreenshotControls = /** @class */ (function (_super) {
74
74
  });
75
75
  };
76
76
  DownloadScreenshotControls.prototype.componentWillUnmount = function () {
77
+ _super.prototype.componentWillUnmount.call(this);
77
78
  this.setState({ imageData: void 0 });
78
79
  };
79
80
  DownloadScreenshotControls.prototype.render = function () {
@@ -18,8 +18,8 @@ export declare class ViewportControls extends PluginUIComponent<ViewportControls
18
18
  state: ViewportControlsState;
19
19
  resetCamera: () => void;
20
20
  private toggle;
21
- toggleSettingsExpanded: (e?: React.MouseEvent<HTMLButtonElement, MouseEvent> | undefined) => void;
22
- toggleScreenshotExpanded: (e?: React.MouseEvent<HTMLButtonElement, MouseEvent> | undefined) => void;
21
+ toggleSettingsExpanded: (e?: React.MouseEvent<HTMLButtonElement>) => void;
22
+ toggleScreenshotExpanded: (e?: React.MouseEvent<HTMLButtonElement>) => void;
23
23
  toggleControls: () => void;
24
24
  toggleExpanded: () => void;
25
25
  setSettings: (p: {
@@ -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-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
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  */
@@ -134,6 +134,7 @@ function ShapeRepresentation(getShape, geometryUtils, builder) {
134
134
  // console.log('update geometry')
135
135
  mol_util_1.ValueCell.updateIfChanged(_renderObject.values.drawCount, geometry_1.Geometry.getDrawCount(_shape.geometry));
136
136
  mol_util_1.ValueCell.updateIfChanged(_renderObject.values.uVertexCount, geometry_1.Geometry.getVertexCount(_shape.geometry));
137
+ mol_util_1.ValueCell.updateIfChanged(_renderObject.values.uGroupCount, geometry_1.Geometry.getGroupCount(_shape.geometry));
137
138
  }
138
139
  if (updateState.updateTransform || updateState.createGeometry) {
139
140
  // console.log('updateBoundingSphere')
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-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
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  */
@@ -118,6 +118,7 @@ function ComplexVisual(builder, materialId) {
118
118
  if (newGeometry) {
119
119
  mol_util_1.ValueCell.updateIfChanged(renderObject.values.drawCount, geometry_1.Geometry.getDrawCount(newGeometry));
120
120
  mol_util_1.ValueCell.updateIfChanged(renderObject.values.uVertexCount, geometry_1.Geometry.getVertexCount(newGeometry));
121
+ mol_util_1.ValueCell.updateIfChanged(renderObject.values.uGroupCount, geometry_1.Geometry.getGroupCount(newGeometry));
121
122
  }
122
123
  else {
123
124
  throw new Error('expected geometry to be given');
@@ -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-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
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  */
@@ -159,6 +159,7 @@ function UnitsVisual(builder, materialId) {
159
159
  if (newGeometry) {
160
160
  mol_util_1.ValueCell.updateIfChanged(renderObject.values.drawCount, geometry_1.Geometry.getDrawCount(newGeometry));
161
161
  mol_util_1.ValueCell.updateIfChanged(renderObject.values.uVertexCount, geometry_1.Geometry.getVertexCount(newGeometry));
162
+ mol_util_1.ValueCell.updateIfChanged(renderObject.values.uGroupCount, geometry_1.Geometry.getGroupCount(newGeometry));
162
163
  }
163
164
  else {
164
165
  throw new Error('expected geometry to be given');
@@ -118,21 +118,21 @@ function getInterUnitBondCylinderBuilderProps(structure, theme, props) {
118
118
  style: function (edgeIndex) {
119
119
  var o = edges[edgeIndex].props.order;
120
120
  var f = mol_util_1.BitFlags.create(edges[edgeIndex].props.flag);
121
- if (types_1.BondType.is(f, 2 /* MetallicCoordination */) || types_1.BondType.is(f, 4 /* HydrogenBond */)) {
121
+ if (types_1.BondType.is(f, 2 /* BondType.Flag.MetallicCoordination */) || types_1.BondType.is(f, 4 /* BondType.Flag.HydrogenBond */)) {
122
122
  // show metallic coordinations and hydrogen bonds with dashed cylinders
123
- return 1 /* Dashed */;
123
+ return 1 /* LinkStyle.Dashed */;
124
124
  }
125
125
  else if (o === 3) {
126
- return mbOff ? 0 /* Solid */ :
127
- mbSymmetric ? 4 /* Triple */ :
128
- 5 /* OffsetTriple */;
126
+ return mbOff ? 0 /* LinkStyle.Solid */ :
127
+ mbSymmetric ? 4 /* LinkStyle.Triple */ :
128
+ 5 /* LinkStyle.OffsetTriple */;
129
129
  }
130
- else if (aromaticBonds && types_1.BondType.is(f, 16 /* Aromatic */)) {
131
- return 7 /* Aromatic */;
130
+ else if (aromaticBonds && types_1.BondType.is(f, 16 /* BondType.Flag.Aromatic */)) {
131
+ return 7 /* LinkStyle.Aromatic */;
132
132
  }
133
- return (o !== 2 || mbOff) ? 0 /* Solid */ :
134
- mbSymmetric ? 2 /* Double */ :
135
- 3 /* OffsetDouble */;
133
+ return (o !== 2 || mbOff) ? 0 /* LinkStyle.Solid */ :
134
+ mbSymmetric ? 2 /* LinkStyle.Double */ :
135
+ 3 /* LinkStyle.OffsetDouble */;
136
136
  },
137
137
  radius: function (edgeIndex) {
138
138
  return radius(edgeIndex) * sizeAspectRatio;
@@ -70,21 +70,21 @@ function createInterUnitBondLines(ctx, structure, theme, props, lines) {
70
70
  style: function (edgeIndex) {
71
71
  var o = edges[edgeIndex].props.order;
72
72
  var f = mol_util_1.BitFlags.create(edges[edgeIndex].props.flag);
73
- if (types_1.BondType.is(f, 2 /* MetallicCoordination */) || types_1.BondType.is(f, 4 /* HydrogenBond */)) {
73
+ if (types_1.BondType.is(f, 2 /* BondType.Flag.MetallicCoordination */) || types_1.BondType.is(f, 4 /* BondType.Flag.HydrogenBond */)) {
74
74
  // show metallic coordinations and hydrogen bonds with dashed cylinders
75
- return 1 /* Dashed */;
75
+ return 1 /* LinkStyle.Dashed */;
76
76
  }
77
77
  else if (o === 3) {
78
- return mbOff ? 0 /* Solid */ :
79
- mbSymmetric ? 4 /* Triple */ :
80
- 5 /* OffsetTriple */;
78
+ return mbOff ? 0 /* LinkStyle.Solid */ :
79
+ mbSymmetric ? 4 /* LinkStyle.Triple */ :
80
+ 5 /* LinkStyle.OffsetTriple */;
81
81
  }
82
- else if (aromaticBonds && types_1.BondType.is(f, 16 /* Aromatic */)) {
83
- return 7 /* Aromatic */;
82
+ else if (aromaticBonds && types_1.BondType.is(f, 16 /* BondType.Flag.Aromatic */)) {
83
+ return 7 /* LinkStyle.Aromatic */;
84
84
  }
85
- return (o !== 2 || mbOff) ? 0 /* Solid */ :
86
- mbSymmetric ? 2 /* Double */ :
87
- 3 /* OffsetDouble */;
85
+ return (o !== 2 || mbOff) ? 0 /* LinkStyle.Solid */ :
86
+ mbSymmetric ? 2 /* LinkStyle.Double */ :
87
+ 3 /* LinkStyle.OffsetDouble */;
88
88
  },
89
89
  radius: function (edgeIndex) {
90
90
  var b = edges[edgeIndex];
@@ -34,7 +34,7 @@ function getIntraUnitBondCylinderBuilderProps(unit, structure, theme, props) {
34
34
  var mbSymmetric = multipleBonds === 'symmetric';
35
35
  var include = types_1.BondType.fromNames(includeTypes);
36
36
  var exclude = types_1.BondType.fromNames(excludeTypes);
37
- var ignoreComputedAromatic = (0, bond_1.ignoreBondType)(include, exclude, 32 /* Computed */);
37
+ var ignoreComputedAromatic = (0, bond_1.ignoreBondType)(include, exclude, 32 /* BondType.Flag.Computed */);
38
38
  var vRef = (0, linear_algebra_1.Vec3)(), delta = (0, linear_algebra_1.Vec3)();
39
39
  var pos = unit.conformation.invariantPosition;
40
40
  var stub;
@@ -118,35 +118,32 @@ function getIntraUnitBondCylinderBuilderProps(unit, structure, theme, props) {
118
118
  style: function (edgeIndex) {
119
119
  var o = _order[edgeIndex];
120
120
  var f = _flags[edgeIndex];
121
- if (isBondType(f, 2 /* MetallicCoordination */) || isBondType(f, 4 /* HydrogenBond */)) {
121
+ if (isBondType(f, 2 /* BondType.Flag.MetallicCoordination */) || isBondType(f, 4 /* BondType.Flag.HydrogenBond */)) {
122
122
  // show metallic coordinations and hydrogen bonds with dashed cylinders
123
- return 1 /* Dashed */;
123
+ return 1 /* LinkStyle.Dashed */;
124
124
  }
125
125
  else if (o === 3) {
126
- return mbOff ? 0 /* Solid */ :
127
- mbSymmetric ? 4 /* Triple */ :
128
- 5 /* OffsetTriple */;
126
+ return mbOff ? 0 /* LinkStyle.Solid */ :
127
+ mbSymmetric ? 4 /* LinkStyle.Triple */ :
128
+ 5 /* LinkStyle.OffsetTriple */;
129
129
  }
130
130
  else if (aromaticBonds) {
131
131
  var aI = a[edgeIndex], bI = b[edgeIndex];
132
132
  var aR = elementAromaticRingIndices.get(aI);
133
133
  var bR = elementAromaticRingIndices.get(bI);
134
134
  var arCount = (aR && bR) ? (0, array_1.arrayIntersectionSize)(aR, bR) : 0;
135
- if (isBondType(f, 16 /* Aromatic */) || (arCount && !ignoreComputedAromatic)) {
135
+ if (isBondType(f, 16 /* BondType.Flag.Aromatic */) || (arCount && !ignoreComputedAromatic)) {
136
136
  if (arCount === 2) {
137
- return 8 /* MirroredAromatic */;
138
- }
139
- else if (arCount === 1 || (deloTriplets === null || deloTriplets === void 0 ? void 0 : deloTriplets.getThirdElement(aI, bI))) {
140
- return 7 /* Aromatic */;
137
+ return 8 /* LinkStyle.MirroredAromatic */;
141
138
  }
142
139
  else {
143
- // case for bonds between two aromatic rings
140
+ return 7 /* LinkStyle.Aromatic */;
144
141
  }
145
142
  }
146
143
  }
147
- return (o !== 2 || mbOff) ? 0 /* Solid */ :
148
- mbSymmetric ? 2 /* Double */ :
149
- 3 /* OffsetDouble */;
144
+ return (o !== 2 || mbOff) ? 0 /* LinkStyle.Solid */ :
145
+ mbSymmetric ? 2 /* LinkStyle.Double */ :
146
+ 3 /* LinkStyle.OffsetDouble */;
150
147
  },
151
148
  radius: function (edgeIndex) {
152
149
  return radius(edgeIndex) * sizeAspectRatio;
@@ -40,7 +40,7 @@ function createIntraUnitBondLines(ctx, unit, structure, theme, props, lines) {
40
40
  var mbSymmetric = multipleBonds === 'symmetric';
41
41
  var include = types_1.BondType.fromNames(includeTypes);
42
42
  var exclude = types_1.BondType.fromNames(excludeTypes);
43
- var ignoreComputedAromatic = (0, bond_1.ignoreBondType)(include, exclude, 32 /* Computed */);
43
+ var ignoreComputedAromatic = (0, bond_1.ignoreBondType)(include, exclude, 32 /* BondType.Flag.Computed */);
44
44
  var vRef = (0, linear_algebra_1.Vec3)();
45
45
  var pos = unit.conformation.invariantPosition;
46
46
  var _a = unit.rings, elementRingIndices = _a.elementRingIndices, elementAromaticRingIndices = _a.elementAromaticRingIndices;
@@ -86,35 +86,32 @@ function createIntraUnitBondLines(ctx, unit, structure, theme, props, lines) {
86
86
  style: function (edgeIndex) {
87
87
  var o = _order[edgeIndex];
88
88
  var f = _flags[edgeIndex];
89
- if (isBondType(f, 2 /* MetallicCoordination */) || isBondType(f, 4 /* HydrogenBond */)) {
89
+ if (isBondType(f, 2 /* BondType.Flag.MetallicCoordination */) || isBondType(f, 4 /* BondType.Flag.HydrogenBond */)) {
90
90
  // show metallic coordinations and hydrogen bonds with dashed cylinders
91
- return 1 /* Dashed */;
91
+ return 1 /* LinkStyle.Dashed */;
92
92
  }
93
93
  else if (o === 3) {
94
- return mbOff ? 0 /* Solid */ :
95
- mbSymmetric ? 4 /* Triple */ :
96
- 5 /* OffsetTriple */;
94
+ return mbOff ? 0 /* LinkStyle.Solid */ :
95
+ mbSymmetric ? 4 /* LinkStyle.Triple */ :
96
+ 5 /* LinkStyle.OffsetTriple */;
97
97
  }
98
98
  else if (aromaticBonds) {
99
99
  var aI = a[edgeIndex], bI = b[edgeIndex];
100
100
  var aR = elementAromaticRingIndices.get(aI);
101
101
  var bR = elementAromaticRingIndices.get(bI);
102
102
  var arCount = (aR && bR) ? (0, array_1.arrayIntersectionSize)(aR, bR) : 0;
103
- if (isBondType(f, 16 /* Aromatic */) || (arCount && !ignoreComputedAromatic)) {
103
+ if (isBondType(f, 16 /* BondType.Flag.Aromatic */) || (arCount && !ignoreComputedAromatic)) {
104
104
  if (arCount === 2) {
105
- return 8 /* MirroredAromatic */;
106
- }
107
- else if (arCount === 1 || (deloTriplets === null || deloTriplets === void 0 ? void 0 : deloTriplets.getThirdElement(aI, bI))) {
108
- return 7 /* Aromatic */;
105
+ return 8 /* LinkStyle.MirroredAromatic */;
109
106
  }
110
107
  else {
111
- // case for bonds between two aromatic rings
108
+ return 7 /* LinkStyle.Aromatic */;
112
109
  }
113
110
  }
114
111
  }
115
- return (o !== 2 || mbOff) ? 0 /* Solid */ :
116
- mbSymmetric ? 2 /* Double */ :
117
- 3 /* OffsetDouble */;
112
+ return (o !== 2 || mbOff) ? 0 /* LinkStyle.Solid */ :
113
+ mbSymmetric ? 2 /* LinkStyle.Double */ :
114
+ 3 /* LinkStyle.OffsetDouble */;
118
115
  },
119
116
  radius: function (edgeIndex) {
120
117
  location.element = elements[a[edgeIndex]];
@@ -61,47 +61,47 @@ function createCarbohydrateSymbolMesh(ctx, structure, theme, props, mesh) {
61
61
  linear_algebra_1.Mat4.setTranslation(t, center);
62
62
  builderState.currentGroup = i * 2;
63
63
  switch (shapeType) {
64
- case 0 /* FilledSphere */:
64
+ case 0 /* SaccharideShape.FilledSphere */:
65
65
  (0, sphere_1.addSphere)(builderState, center, radius, detail);
66
66
  break;
67
- case 1 /* FilledCube */:
67
+ case 1 /* SaccharideShape.FilledCube */:
68
68
  linear_algebra_1.Mat4.scaleUniformly(t, t, side);
69
69
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, box);
70
70
  break;
71
- case 2 /* CrossedCube */:
71
+ case 2 /* SaccharideShape.CrossedCube */:
72
72
  linear_algebra_1.Mat4.scaleUniformly(t, t, side);
73
73
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, perforatedBox);
74
74
  linear_algebra_1.Mat4.mul(t, t, linear_algebra_1.Mat4.rotZ90X180);
75
75
  builderState.currentGroup += 1;
76
76
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, perforatedBox);
77
77
  break;
78
- case 4 /* FilledCone */:
78
+ case 4 /* SaccharideShape.FilledCone */:
79
79
  linear_algebra_1.Mat4.scaleUniformly(t, t, side * 1.2);
80
80
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, octagonalPyramid);
81
81
  break;
82
- case 5 /* DevidedCone */:
82
+ case 5 /* SaccharideShape.DevidedCone */:
83
83
  linear_algebra_1.Mat4.scaleUniformly(t, t, side * 1.2);
84
84
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, perforatedOctagonalPyramid);
85
85
  linear_algebra_1.Mat4.mul(t, t, linear_algebra_1.Mat4.rotZ90);
86
86
  builderState.currentGroup += 1;
87
87
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, perforatedOctagonalPyramid);
88
88
  break;
89
- case 6 /* FlatBox */:
89
+ case 6 /* SaccharideShape.FlatBox */:
90
90
  linear_algebra_1.Mat4.mul(t, t, linear_algebra_1.Mat4.rotZY90);
91
91
  linear_algebra_1.Mat4.scale(t, t, linear_algebra_1.Vec3.set(sVec, side, side, side / 2));
92
92
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, box);
93
93
  break;
94
- case 7 /* FilledStar */:
94
+ case 7 /* SaccharideShape.FilledStar */:
95
95
  linear_algebra_1.Mat4.scaleUniformly(t, t, side);
96
96
  linear_algebra_1.Mat4.mul(t, t, linear_algebra_1.Mat4.rotZY90);
97
97
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, star);
98
98
  break;
99
- case 8 /* FilledDiamond */:
99
+ case 8 /* SaccharideShape.FilledDiamond */:
100
100
  linear_algebra_1.Mat4.mul(t, t, linear_algebra_1.Mat4.rotZY90);
101
101
  linear_algebra_1.Mat4.scale(t, t, linear_algebra_1.Vec3.set(sVec, side * 1.4, side * 1.4, side * 1.4));
102
102
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, octahedron);
103
103
  break;
104
- case 3 /* DividedDiamond */:
104
+ case 3 /* SaccharideShape.DividedDiamond */:
105
105
  linear_algebra_1.Mat4.mul(t, t, linear_algebra_1.Mat4.rotZY90);
106
106
  linear_algebra_1.Mat4.scale(t, t, linear_algebra_1.Vec3.set(sVec, side * 1.4, side * 1.4, side * 1.4));
107
107
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, perforatedOctahedron);
@@ -109,33 +109,33 @@ function createCarbohydrateSymbolMesh(ctx, structure, theme, props, mesh) {
109
109
  builderState.currentGroup += 1;
110
110
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, perforatedOctahedron);
111
111
  break;
112
- case 9 /* FlatDiamond */:
112
+ case 9 /* SaccharideShape.FlatDiamond */:
113
113
  linear_algebra_1.Mat4.mul(t, t, linear_algebra_1.Mat4.rotZY90);
114
114
  linear_algebra_1.Mat4.scale(t, t, linear_algebra_1.Vec3.set(sVec, side, side / 2, side / 2));
115
115
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, diamondPrism);
116
116
  break;
117
- case 12 /* DiamondPrism */:
117
+ case 12 /* SaccharideShape.DiamondPrism */:
118
118
  linear_algebra_1.Mat4.mul(t, t, linear_algebra_1.Mat4.rotZY90);
119
119
  linear_algebra_1.Mat4.scale(t, t, linear_algebra_1.Vec3.set(sVec, side, side, side / 2));
120
120
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, diamondPrism);
121
121
  break;
122
- case 13 /* PentagonalPrism */:
123
- case 11 /* Pentagon */:
122
+ case 13 /* SaccharideShape.PentagonalPrism */:
123
+ case 11 /* SaccharideShape.Pentagon */:
124
124
  linear_algebra_1.Mat4.mul(t, t, linear_algebra_1.Mat4.rotZY90);
125
125
  linear_algebra_1.Mat4.scale(t, t, linear_algebra_1.Vec3.set(sVec, side, side, side / 2));
126
126
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, pentagonalPrism);
127
127
  break;
128
- case 14 /* HexagonalPrism */:
128
+ case 14 /* SaccharideShape.HexagonalPrism */:
129
129
  linear_algebra_1.Mat4.mul(t, t, linear_algebra_1.Mat4.rotZY90);
130
130
  linear_algebra_1.Mat4.scale(t, t, linear_algebra_1.Vec3.set(sVec, side, side, side / 2));
131
131
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, hexagonalPrism);
132
132
  break;
133
- case 15 /* HeptagonalPrism */:
133
+ case 15 /* SaccharideShape.HeptagonalPrism */:
134
134
  linear_algebra_1.Mat4.mul(t, t, linear_algebra_1.Mat4.rotZY90);
135
135
  linear_algebra_1.Mat4.scale(t, t, linear_algebra_1.Vec3.set(sVec, side, side, side / 2));
136
136
  mesh_builder_1.MeshBuilder.addPrimitive(builderState, t, heptagonalPrism);
137
137
  break;
138
- case 10 /* FlatHexagon */:
138
+ case 10 /* SaccharideShape.FlatHexagon */:
139
139
  default:
140
140
  linear_algebra_1.Mat4.mul(t, t, linear_algebra_1.Mat4.rotZYZ90);
141
141
  linear_algebra_1.Mat4.scale(t, t, linear_algebra_1.Vec3.set(sVec, side / 1.5, side, side / 2));
@@ -54,7 +54,7 @@ function createCarbohydrateTerminalLinkCylinderMesh(ctx, structure, theme, props
54
54
  var l = terminalLinks[edgeIndex];
55
55
  var eI = l.elementUnit.elements[l.elementIndex];
56
56
  var beI = (0, common_1.getElementIdx)(l.elementUnit.model.atomicHierarchy.atoms.type_symbol.value(eI));
57
- return common_1.MetalsSet.has(beI) ? 1 /* Dashed */ : 0 /* Solid */;
57
+ return common_1.MetalsSet.has(beI) ? 1 /* LinkStyle.Dashed */ : 0 /* LinkStyle.Solid */;
58
58
  }
59
59
  };
60
60
  var _b = (0, link_1.createLinkCylinderMesh)(ctx, builderProps, props, mesh), m = _b.mesh, boundingSphere = _b.boundingSphere;
@@ -22,6 +22,7 @@ var color_smoothing_1 = require("../../../mol-geo/geometry/mesh/color-smoothing"
22
22
  var color_smoothing_2 = require("../../../mol-geo/geometry/texture-mesh/color-smoothing");
23
23
  var base_1 = require("../../../mol-geo/geometry/base");
24
24
  var linear_algebra_1 = require("../../../mol-math/linear-algebra");
25
+ var debug_1 = require("../../../mol-util/debug");
25
26
  var SharedParams = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, gaussian_1.GaussianDensityParams), base_1.ColorSmoothingParams), { ignoreHydrogens: param_definition_1.ParamDefinition.Boolean(false), tryUseGpu: param_definition_1.ParamDefinition.Boolean(true), includeParent: param_definition_1.ParamDefinition.Boolean(false, { isHidden: true }) });
26
27
  exports.GaussianSurfaceMeshParams = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, units_visual_1.UnitsMeshParams), units_visual_1.UnitsTextureMeshParams), SharedParams);
27
28
  exports.StructureGaussianSurfaceMeshParams = tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, complex_visual_1.ComplexMeshParams), complex_visual_1.ComplexTextureMeshParams), SharedParams);
@@ -217,6 +218,8 @@ function createGaussianSurfaceTextureMesh(ctx, unit, structure, theme, props, te
217
218
  case 0:
218
219
  if (!ctx.webgl)
219
220
  throw new Error('webgl context required to create gaussian surface texture-mesh');
221
+ if (debug_1.isTimingMode)
222
+ ctx.webgl.timer.mark('createGaussianSurfaceTextureMesh');
220
223
  _a = ctx.webgl, namedTextures = _a.namedTextures, resources = _a.resources, _b = _a.extensions, colorBufferFloat = _b.colorBufferFloat, textureFloat = _b.textureFloat, colorBufferHalfFloat = _b.colorBufferHalfFloat, textureHalfFloat = _b.textureHalfFloat;
221
224
  if (!namedTextures[GaussianSurfaceName]) {
222
225
  namedTextures[GaussianSurfaceName] = colorBufferHalfFloat && textureHalfFloat
@@ -232,6 +235,8 @@ function createGaussianSurfaceTextureMesh(ctx, unit, structure, theme, props, te
232
235
  axisOrder = linear_algebra_1.Vec3.create(0, 1, 2);
233
236
  buffer = textureMesh === null || textureMesh === void 0 ? void 0 : textureMesh.doubleBuffer.get();
234
237
  gv = (0, isosurface_1.extractIsosurface)(ctx.webgl, densityTextureData.texture, densityTextureData.gridDim, densityTextureData.gridTexDim, densityTextureData.gridTexScale, densityTextureData.transform, isoLevel, false, true, axisOrder, buffer === null || buffer === void 0 ? void 0 : buffer.vertex, buffer === null || buffer === void 0 ? void 0 : buffer.group, buffer === null || buffer === void 0 ? void 0 : buffer.normal);
238
+ if (debug_1.isTimingMode)
239
+ ctx.webgl.timer.markEnd('createGaussianSurfaceTextureMesh');
235
240
  boundingSphere = geometry_1.Sphere3D.expand((0, geometry_1.Sphere3D)(), unit.boundary.sphere, densityTextureData.maxRadius);
236
241
  surface = texture_mesh_1.TextureMesh.create(gv.vertexCount, 1, gv.vertexTexture, gv.groupTexture, gv.normalTexture, boundingSphere, textureMesh);
237
242
  surface.meta.resolution = densityTextureData.resolution;
@@ -301,6 +306,8 @@ function createStructureGaussianSurfaceTextureMesh(ctx, structure, theme, props,
301
306
  case 0:
302
307
  if (!ctx.webgl)
303
308
  throw new Error('webgl context required to create structure gaussian surface texture-mesh');
309
+ if (debug_1.isTimingMode)
310
+ ctx.webgl.timer.mark('createStructureGaussianSurfaceTextureMesh');
304
311
  _a = ctx.webgl, namedTextures = _a.namedTextures, resources = _a.resources, _b = _a.extensions, colorBufferFloat = _b.colorBufferFloat, textureFloat = _b.textureFloat, colorBufferHalfFloat = _b.colorBufferHalfFloat, textureHalfFloat = _b.textureHalfFloat;
305
312
  if (!namedTextures[GaussianSurfaceName]) {
306
313
  namedTextures[GaussianSurfaceName] = colorBufferHalfFloat && textureHalfFloat
@@ -316,6 +323,8 @@ function createStructureGaussianSurfaceTextureMesh(ctx, structure, theme, props,
316
323
  axisOrder = linear_algebra_1.Vec3.create(0, 1, 2);
317
324
  buffer = textureMesh === null || textureMesh === void 0 ? void 0 : textureMesh.doubleBuffer.get();
318
325
  gv = (0, isosurface_1.extractIsosurface)(ctx.webgl, densityTextureData.texture, densityTextureData.gridDim, densityTextureData.gridTexDim, densityTextureData.gridTexScale, densityTextureData.transform, isoLevel, false, true, axisOrder, buffer === null || buffer === void 0 ? void 0 : buffer.vertex, buffer === null || buffer === void 0 ? void 0 : buffer.group, buffer === null || buffer === void 0 ? void 0 : buffer.normal);
326
+ if (debug_1.isTimingMode)
327
+ ctx.webgl.timer.markEnd('createStructureGaussianSurfaceTextureMesh');
319
328
  boundingSphere = geometry_1.Sphere3D.expand((0, geometry_1.Sphere3D)(), structure.boundary.sphere, densityTextureData.maxRadius);
320
329
  surface = texture_mesh_1.TextureMesh.create(gv.vertexCount, 1, gv.vertexTexture, gv.groupTexture, gv.normalTexture, boundingSphere, textureMesh);
321
330
  surface.meta.resolution = densityTextureData.resolution;