molstar 3.8.2 → 3.9.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 (516) hide show
  1. package/build/viewer/index.html +4 -1
  2. package/build/viewer/molstar.js +1 -1
  3. package/lib/apps/viewer/app.d.ts +1 -1
  4. package/lib/apps/viewer/app.js +1 -1
  5. package/lib/apps/viewer/index.html +4 -1
  6. package/lib/cli/cif2bcif/converter.js +1 -1
  7. package/lib/commonjs/apps/viewer/app.d.ts +1 -1
  8. package/lib/commonjs/apps/viewer/app.js +2 -1
  9. package/lib/commonjs/cli/cif2bcif/converter.js +1 -1
  10. package/lib/commonjs/examples/alpha-orbitals/index.d.ts +1 -1
  11. package/lib/commonjs/examples/alpha-orbitals/index.js +4 -1
  12. package/lib/commonjs/examples/basic-wrapper/custom-theme.js +1 -1
  13. package/lib/commonjs/examples/proteopedia-wrapper/coloring.js +3 -3
  14. package/lib/commonjs/extensions/alpha-orbitals/density.d.ts +1 -1
  15. package/lib/commonjs/extensions/alpha-orbitals/density.js +6 -2
  16. package/lib/commonjs/extensions/alpha-orbitals/orbitals.d.ts +1 -1
  17. package/lib/commonjs/extensions/alpha-orbitals/orbitals.js +6 -3
  18. package/lib/commonjs/extensions/anvil/algorithm.js +1 -1
  19. package/lib/commonjs/extensions/cellpack/color/generate.js +1 -1
  20. package/lib/commonjs/extensions/cellpack/color/provided.js +1 -1
  21. package/lib/commonjs/extensions/cellpack/state.js +1 -1
  22. package/lib/commonjs/extensions/dnatco/confal-pyramids/color.js +1 -1
  23. package/lib/commonjs/extensions/g3d/model.js +1 -1
  24. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
  25. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
  26. package/lib/commonjs/extensions/pdbe/structure-quality-report/color.js +1 -1
  27. package/lib/commonjs/extensions/rcsb/assembly-symmetry/color.js +4 -4
  28. package/lib/commonjs/extensions/rcsb/validation-report/color/density-fit.js +1 -1
  29. package/lib/commonjs/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
  30. package/lib/commonjs/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
  31. package/lib/commonjs/extensions/rcsb/validation-report/representation.js +2 -2
  32. package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
  33. package/lib/commonjs/mol-canvas3d/controls/trackball.js +7 -7
  34. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +14 -14
  35. package/lib/commonjs/mol-canvas3d/helper/interaction-events.js +5 -5
  36. package/lib/commonjs/mol-canvas3d/passes/draw.js +34 -5
  37. package/lib/commonjs/mol-canvas3d/passes/fxaa.js +5 -0
  38. package/lib/commonjs/mol-canvas3d/passes/marking.js +5 -0
  39. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +9 -0
  40. package/lib/commonjs/mol-canvas3d/passes/pick.d.ts +18 -5
  41. package/lib/commonjs/mol-canvas3d/passes/pick.js +125 -24
  42. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +5 -0
  43. package/lib/commonjs/mol-canvas3d/passes/smaa.js +4 -0
  44. package/lib/commonjs/mol-canvas3d/passes/wboit.js +4 -0
  45. package/lib/commonjs/mol-data/db/column.js +5 -5
  46. package/lib/commonjs/mol-data/db/table.js +2 -2
  47. package/lib/commonjs/mol-data/util/array.d.ts +1 -1
  48. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
  49. package/lib/commonjs/mol-gl/compute/grid3d.d.ts +2 -2
  50. package/lib/commonjs/mol-gl/compute/grid3d.js +30 -8
  51. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
  52. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
  53. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
  54. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +6 -1
  55. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
  56. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
  57. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
  58. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -10
  59. package/lib/commonjs/mol-gl/renderer.js +77 -32
  60. package/lib/commonjs/mol-gl/scene.js +2 -0
  61. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  62. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  63. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  64. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  65. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  66. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  67. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  68. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  69. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  70. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  71. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  72. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  73. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  74. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  75. package/lib/commonjs/mol-gl/shader/lines.frag.d.ts +1 -1
  76. package/lib/commonjs/mol-gl/shader/lines.frag.js +1 -1
  77. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  78. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  79. package/lib/commonjs/mol-gl/shader/points.frag.d.ts +1 -1
  80. package/lib/commonjs/mol-gl/shader/points.frag.js +1 -1
  81. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  82. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  83. package/lib/commonjs/mol-gl/shader/text.frag.d.ts +1 -1
  84. package/lib/commonjs/mol-gl/shader/text.frag.js +1 -1
  85. package/lib/commonjs/mol-gl/shader-code.d.ts +1 -1
  86. package/lib/commonjs/mol-gl/shader-code.js +41 -9
  87. package/lib/commonjs/mol-gl/webgl/compat.d.ts +34 -1
  88. package/lib/commonjs/mol-gl/webgl/compat.js +50 -2
  89. package/lib/commonjs/mol-gl/webgl/context.d.ts +2 -0
  90. package/lib/commonjs/mol-gl/webgl/context.js +3 -0
  91. package/lib/commonjs/mol-gl/webgl/extensions.d.ts +3 -2
  92. package/lib/commonjs/mol-gl/webgl/extensions.js +6 -1
  93. package/lib/commonjs/mol-gl/webgl/timer.d.ts +22 -0
  94. package/lib/commonjs/mol-gl/webgl/timer.js +169 -0
  95. package/lib/commonjs/mol-io/common/binary-cif/array-encoder.js +18 -18
  96. package/lib/commonjs/mol-io/common/binary-cif/decoder.js +16 -16
  97. package/lib/commonjs/mol-io/common/binary-cif/encoding.js +9 -9
  98. package/lib/commonjs/mol-io/reader/cif/binary/field.js +3 -3
  99. package/lib/commonjs/mol-io/reader/cif/data-model.js +14 -14
  100. package/lib/commonjs/mol-io/reader/cif/schema.js +1 -1
  101. package/lib/commonjs/mol-io/reader/cif/text/parser.js +23 -23
  102. package/lib/commonjs/mol-io/reader/common/text/column/fixed.js +1 -1
  103. package/lib/commonjs/mol-io/reader/common/text/column/token.js +1 -1
  104. package/lib/commonjs/mol-io/reader/common/text/number-parser.js +6 -6
  105. package/lib/commonjs/mol-io/reader/csv/parser.js +8 -8
  106. package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +10 -10
  107. package/lib/commonjs/mol-io/writer/cif/encoder/text.js +7 -7
  108. package/lib/commonjs/mol-io/writer/cif/encoder.js +8 -8
  109. package/lib/commonjs/mol-io/writer/mol2/encoder.js +4 -4
  110. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +13 -2
  111. package/lib/commonjs/mol-model/sequence/alignment/sequence.js +3 -3
  112. package/lib/commonjs/mol-model/sequence/sequence.js +9 -9
  113. package/lib/commonjs/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
  114. package/lib/commonjs/mol-model/structure/export/categories/secondary-structure.js +2 -2
  115. package/lib/commonjs/mol-model/structure/export/categories/utils.js +1 -1
  116. package/lib/commonjs/mol-model/structure/model/model.js +2 -2
  117. package/lib/commonjs/mol-model/structure/model/properties/custom/indexed.js +6 -6
  118. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
  119. package/lib/commonjs/mol-model/structure/model/types.js +116 -116
  120. package/lib/commonjs/mol-model/structure/query/context.js +1 -1
  121. package/lib/commonjs/mol-model/structure/query/queries/generators.js +5 -5
  122. package/lib/commonjs/mol-model/structure/query/queries/internal.js +4 -4
  123. package/lib/commonjs/mol-model/structure/query/queries/modifiers.js +4 -4
  124. package/lib/commonjs/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
  125. package/lib/commonjs/mol-model/structure/query/utils/structure-distance.js +9 -9
  126. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.js +106 -106
  127. package/lib/commonjs/mol-model/structure/structure/element/loci.js +5 -5
  128. package/lib/commonjs/mol-model/structure/structure/element/stats.js +5 -5
  129. package/lib/commonjs/mol-model/structure/structure/properties.js +5 -5
  130. package/lib/commonjs/mol-model/structure/structure/structure.js +11 -11
  131. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
  132. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
  133. package/lib/commonjs/mol-model/structure/structure/unit/bonds.js +2 -2
  134. package/lib/commonjs/mol-model/structure/structure/unit/resonance.js +1 -1
  135. package/lib/commonjs/mol-model/structure/structure/unit/rings/compute.js +6 -6
  136. package/lib/commonjs/mol-model/structure/structure/unit/rings.js +6 -6
  137. package/lib/commonjs/mol-model/structure/structure/unit.js +16 -16
  138. package/lib/commonjs/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
  139. package/lib/commonjs/mol-model/structure/util.js +4 -4
  140. package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +2 -2
  141. package/lib/commonjs/mol-model-formats/structure/basic/parser.js +4 -4
  142. package/lib/commonjs/mol-model-formats/structure/basic/properties.js +1 -1
  143. package/lib/commonjs/mol-model-formats/structure/basic/sort.js +1 -1
  144. package/lib/commonjs/mol-model-formats/structure/basic/util.js +1 -1
  145. package/lib/commonjs/mol-model-formats/structure/cif-core.js +6 -6
  146. package/lib/commonjs/mol-model-formats/structure/common/entity.js +1 -1
  147. package/lib/commonjs/mol-model-formats/structure/cube.js +1 -1
  148. package/lib/commonjs/mol-model-formats/structure/gro.js +1 -1
  149. package/lib/commonjs/mol-model-formats/structure/mol.js +1 -1
  150. package/lib/commonjs/mol-model-formats/structure/mol2.js +4 -4
  151. package/lib/commonjs/mol-model-formats/structure/prmtop.js +1 -1
  152. package/lib/commonjs/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
  153. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
  154. package/lib/commonjs/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
  155. package/lib/commonjs/mol-model-formats/structure/property/secondary-structure.js +8 -8
  156. package/lib/commonjs/mol-model-formats/structure/psf.js +1 -1
  157. package/lib/commonjs/mol-model-formats/structure/top.js +1 -1
  158. package/lib/commonjs/mol-model-formats/structure/xyz.js +1 -1
  159. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
  160. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
  161. package/lib/commonjs/mol-model-props/computed/accessible-surface-area.js +2 -2
  162. package/lib/commonjs/mol-model-props/computed/chemistry/functional-group.js +31 -31
  163. package/lib/commonjs/mol-model-props/computed/chemistry/geometry.js +22 -22
  164. package/lib/commonjs/mol-model-props/computed/chemistry/valence-model.js +32 -32
  165. package/lib/commonjs/mol-model-props/computed/interactions/charged.js +39 -39
  166. package/lib/commonjs/mol-model-props/computed/interactions/common.js +34 -34
  167. package/lib/commonjs/mol-model-props/computed/interactions/contacts-builder.js +1 -1
  168. package/lib/commonjs/mol-model-props/computed/interactions/contacts.js +1 -1
  169. package/lib/commonjs/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
  170. package/lib/commonjs/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
  171. package/lib/commonjs/mol-model-props/computed/interactions/hydrophobic.js +9 -9
  172. package/lib/commonjs/mol-model-props/computed/interactions/metal.js +26 -26
  173. package/lib/commonjs/mol-model-props/computed/interactions/refine.js +20 -20
  174. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
  175. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
  176. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
  177. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
  178. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
  179. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
  180. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
  181. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
  182. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp.js +30 -30
  183. package/lib/commonjs/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
  184. package/lib/commonjs/mol-model-props/computed/themes/interaction-type.js +10 -10
  185. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
  186. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
  187. package/lib/commonjs/mol-model-props/sequence/sifts-mapping.js +1 -1
  188. package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
  189. package/lib/commonjs/mol-plugin/animation-loop.d.ts +2 -1
  190. package/lib/commonjs/mol-plugin/animation-loop.js +18 -5
  191. package/lib/commonjs/mol-plugin/behavior/dynamic/camera.js +12 -12
  192. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +7 -7
  193. package/lib/commonjs/mol-plugin/context.d.ts +2 -2
  194. package/lib/commonjs/mol-plugin/state.d.ts +1 -14
  195. package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +12 -11
  196. package/lib/commonjs/mol-plugin-state/formats/volume.js +20 -13
  197. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +5 -5
  198. package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
  199. package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +1 -1
  200. package/lib/commonjs/mol-plugin-ui/sequence/polymer.js +1 -1
  201. package/lib/commonjs/mol-plugin-ui/sequence/sequence.js +1 -1
  202. package/lib/commonjs/mol-plugin-ui/structure/focus.js +1 -1
  203. package/lib/commonjs/mol-plugin-ui/viewport.d.ts +2 -2
  204. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
  205. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
  206. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -12
  207. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +12 -12
  208. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
  209. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
  210. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
  211. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
  212. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  213. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
  214. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +2 -2
  215. package/lib/commonjs/mol-repr/structure/visual/util/common.js +3 -3
  216. package/lib/commonjs/mol-repr/structure/visual/util/link.js +30 -30
  217. package/lib/commonjs/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
  218. package/lib/commonjs/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
  219. package/lib/commonjs/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
  220. package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +6 -6
  221. package/lib/commonjs/mol-script/language/symbol-table/core.d.ts +2 -2
  222. package/lib/commonjs/mol-script/runtime/query/table.js +13 -13
  223. package/lib/commonjs/mol-state/object.d.ts +3 -3
  224. package/lib/commonjs/mol-task/util/user-timing.js +1 -1
  225. package/lib/commonjs/mol-theme/clipping.js +19 -19
  226. package/lib/commonjs/mol-theme/color/atom-id.js +1 -1
  227. package/lib/commonjs/mol-theme/color/carbohydrate-symbol.js +1 -1
  228. package/lib/commonjs/mol-theme/color/chain-id.js +4 -4
  229. package/lib/commonjs/mol-theme/color/element-index.js +1 -1
  230. package/lib/commonjs/mol-theme/color/element-symbol.js +1 -1
  231. package/lib/commonjs/mol-theme/color/entity-id.js +4 -4
  232. package/lib/commonjs/mol-theme/color/entity-source.js +5 -4
  233. package/lib/commonjs/mol-theme/color/hydrophobicity.js +1 -1
  234. package/lib/commonjs/mol-theme/color/illustrative.js +1 -1
  235. package/lib/commonjs/mol-theme/color/model-index.js +1 -1
  236. package/lib/commonjs/mol-theme/color/molecule-type.js +8 -8
  237. package/lib/commonjs/mol-theme/color/occupancy.js +1 -1
  238. package/lib/commonjs/mol-theme/color/operator-hkl.js +1 -1
  239. package/lib/commonjs/mol-theme/color/operator-name.js +1 -1
  240. package/lib/commonjs/mol-theme/color/partial-charge.js +1 -1
  241. package/lib/commonjs/mol-theme/color/polymer-id.js +4 -4
  242. package/lib/commonjs/mol-theme/color/polymer-index.js +1 -1
  243. package/lib/commonjs/mol-theme/color/residue-name.js +1 -1
  244. package/lib/commonjs/mol-theme/color/secondary-structure.js +12 -12
  245. package/lib/commonjs/mol-theme/color/sequence-id.js +7 -7
  246. package/lib/commonjs/mol-theme/color/shape-group.js +1 -1
  247. package/lib/commonjs/mol-theme/color/uncertainty.js +1 -1
  248. package/lib/commonjs/mol-theme/color/uniform.js +1 -1
  249. package/lib/commonjs/mol-theme/color/unit-index.js +1 -1
  250. package/lib/commonjs/mol-theme/color/volume-value.js +1 -1
  251. package/lib/commonjs/mol-theme/label.js +3 -3
  252. package/lib/commonjs/mol-util/binding.js +4 -4
  253. package/lib/commonjs/mol-util/debug.d.ts +6 -1
  254. package/lib/commonjs/mol-util/debug.js +11 -1
  255. package/lib/commonjs/mol-util/input/input-observer.js +20 -20
  256. package/lib/commonjs/mol-util/string-builder.js +1 -1
  257. package/lib/commonjs/servers/model/preprocess/converter.js +1 -1
  258. package/lib/commonjs/servers/model/server/query.js +1 -1
  259. package/lib/commonjs/servers/model/utils/fetch-retry.js +3 -2
  260. package/lib/commonjs/servers/volume/server/algebra/coordinate.js +6 -6
  261. package/lib/commonjs/servers/volume/server/query/encode.js +1 -1
  262. package/lib/examples/alpha-orbitals/index.d.ts +1 -1
  263. package/lib/examples/alpha-orbitals/index.html +11 -0
  264. package/lib/examples/alpha-orbitals/index.js +4 -1
  265. package/lib/examples/basic-wrapper/custom-theme.js +1 -1
  266. package/lib/examples/proteopedia-wrapper/coloring.js +3 -3
  267. package/lib/extensions/alpha-orbitals/density.d.ts +1 -1
  268. package/lib/extensions/alpha-orbitals/density.js +6 -2
  269. package/lib/extensions/alpha-orbitals/orbitals.d.ts +1 -1
  270. package/lib/extensions/alpha-orbitals/orbitals.js +6 -3
  271. package/lib/extensions/anvil/algorithm.js +1 -1
  272. package/lib/extensions/cellpack/color/generate.js +1 -1
  273. package/lib/extensions/cellpack/color/provided.js +1 -1
  274. package/lib/extensions/cellpack/state.js +1 -1
  275. package/lib/extensions/dnatco/confal-pyramids/color.js +1 -1
  276. package/lib/extensions/g3d/model.js +1 -1
  277. package/lib/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
  278. package/lib/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
  279. package/lib/extensions/pdbe/structure-quality-report/color.js +1 -1
  280. package/lib/extensions/rcsb/assembly-symmetry/color.js +4 -4
  281. package/lib/extensions/rcsb/validation-report/color/density-fit.js +1 -1
  282. package/lib/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
  283. package/lib/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
  284. package/lib/extensions/rcsb/validation-report/representation.js +2 -2
  285. package/lib/mol-canvas3d/canvas3d.js +5 -1
  286. package/lib/mol-canvas3d/controls/trackball.js +7 -7
  287. package/lib/mol-canvas3d/helper/camera-helper.js +14 -14
  288. package/lib/mol-canvas3d/helper/interaction-events.js +5 -5
  289. package/lib/mol-canvas3d/passes/draw.js +34 -5
  290. package/lib/mol-canvas3d/passes/fxaa.js +5 -0
  291. package/lib/mol-canvas3d/passes/marking.js +5 -0
  292. package/lib/mol-canvas3d/passes/multi-sample.js +9 -0
  293. package/lib/mol-canvas3d/passes/pick.d.ts +18 -5
  294. package/lib/mol-canvas3d/passes/pick.js +125 -24
  295. package/lib/mol-canvas3d/passes/postprocessing.js +5 -0
  296. package/lib/mol-canvas3d/passes/smaa.js +5 -1
  297. package/lib/mol-canvas3d/passes/wboit.js +5 -1
  298. package/lib/mol-data/db/column.js +5 -5
  299. package/lib/mol-data/db/table.js +2 -2
  300. package/lib/mol-data/util/array.d.ts +1 -1
  301. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
  302. package/lib/mol-gl/compute/grid3d.d.ts +2 -2
  303. package/lib/mol-gl/compute/grid3d.js +30 -8
  304. package/lib/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
  305. package/lib/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
  306. package/lib/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
  307. package/lib/mol-gl/compute/histogram-pyramid/sum.js +6 -1
  308. package/lib/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
  309. package/lib/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
  310. package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
  311. package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -10
  312. package/lib/mol-gl/renderer.js +77 -32
  313. package/lib/mol-gl/scene.js +2 -0
  314. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  315. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  316. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  317. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  318. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  319. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  320. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  321. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  322. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  323. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  324. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  325. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  326. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  327. package/lib/mol-gl/shader/image.frag.js +1 -1
  328. package/lib/mol-gl/shader/lines.frag.d.ts +1 -1
  329. package/lib/mol-gl/shader/lines.frag.js +1 -1
  330. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  331. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  332. package/lib/mol-gl/shader/points.frag.d.ts +1 -1
  333. package/lib/mol-gl/shader/points.frag.js +1 -1
  334. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  335. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  336. package/lib/mol-gl/shader/text.frag.d.ts +1 -1
  337. package/lib/mol-gl/shader/text.frag.js +1 -1
  338. package/lib/mol-gl/shader-code.d.ts +1 -1
  339. package/lib/mol-gl/shader-code.js +41 -9
  340. package/lib/mol-gl/webgl/compat.d.ts +34 -1
  341. package/lib/mol-gl/webgl/compat.js +48 -1
  342. package/lib/mol-gl/webgl/context.d.ts +2 -0
  343. package/lib/mol-gl/webgl/context.js +3 -0
  344. package/lib/mol-gl/webgl/extensions.d.ts +3 -2
  345. package/lib/mol-gl/webgl/extensions.js +7 -2
  346. package/lib/mol-gl/webgl/timer.d.ts +22 -0
  347. package/lib/mol-gl/webgl/timer.js +164 -0
  348. package/lib/mol-io/common/binary-cif/array-encoder.js +18 -18
  349. package/lib/mol-io/common/binary-cif/decoder.js +16 -16
  350. package/lib/mol-io/common/binary-cif/encoding.js +9 -9
  351. package/lib/mol-io/reader/cif/binary/field.js +3 -3
  352. package/lib/mol-io/reader/cif/data-model.js +14 -14
  353. package/lib/mol-io/reader/cif/schema.js +1 -1
  354. package/lib/mol-io/reader/cif/text/parser.js +23 -23
  355. package/lib/mol-io/reader/common/text/column/fixed.js +1 -1
  356. package/lib/mol-io/reader/common/text/column/token.js +1 -1
  357. package/lib/mol-io/reader/common/text/number-parser.js +6 -6
  358. package/lib/mol-io/reader/csv/parser.js +8 -8
  359. package/lib/mol-io/writer/cif/encoder/binary.js +10 -10
  360. package/lib/mol-io/writer/cif/encoder/text.js +7 -7
  361. package/lib/mol-io/writer/cif/encoder.js +8 -8
  362. package/lib/mol-io/writer/mol2/encoder.js +4 -4
  363. package/lib/mol-math/geometry/gaussian-density/gpu.js +13 -2
  364. package/lib/mol-model/sequence/alignment/sequence.js +3 -3
  365. package/lib/mol-model/sequence/sequence.js +9 -9
  366. package/lib/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
  367. package/lib/mol-model/structure/export/categories/secondary-structure.js +2 -2
  368. package/lib/mol-model/structure/export/categories/utils.js +1 -1
  369. package/lib/mol-model/structure/model/model.js +2 -2
  370. package/lib/mol-model/structure/model/properties/custom/indexed.js +6 -6
  371. package/lib/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
  372. package/lib/mol-model/structure/model/types.js +116 -116
  373. package/lib/mol-model/structure/query/context.js +1 -1
  374. package/lib/mol-model/structure/query/queries/generators.js +5 -5
  375. package/lib/mol-model/structure/query/queries/internal.js +4 -4
  376. package/lib/mol-model/structure/query/queries/modifiers.js +4 -4
  377. package/lib/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
  378. package/lib/mol-model/structure/query/utils/structure-distance.js +9 -9
  379. package/lib/mol-model/structure/structure/carbohydrates/constants.js +106 -106
  380. package/lib/mol-model/structure/structure/element/loci.js +5 -5
  381. package/lib/mol-model/structure/structure/element/stats.js +5 -5
  382. package/lib/mol-model/structure/structure/properties.js +5 -5
  383. package/lib/mol-model/structure/structure/structure.js +11 -11
  384. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
  385. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
  386. package/lib/mol-model/structure/structure/unit/bonds.js +2 -2
  387. package/lib/mol-model/structure/structure/unit/resonance.js +1 -1
  388. package/lib/mol-model/structure/structure/unit/rings/compute.js +6 -6
  389. package/lib/mol-model/structure/structure/unit/rings.js +6 -6
  390. package/lib/mol-model/structure/structure/unit.js +16 -16
  391. package/lib/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
  392. package/lib/mol-model/structure/util.js +4 -4
  393. package/lib/mol-model-formats/structure/basic/atomic.js +2 -2
  394. package/lib/mol-model-formats/structure/basic/parser.js +4 -4
  395. package/lib/mol-model-formats/structure/basic/properties.js +1 -1
  396. package/lib/mol-model-formats/structure/basic/sort.js +1 -1
  397. package/lib/mol-model-formats/structure/basic/util.js +1 -1
  398. package/lib/mol-model-formats/structure/cif-core.js +6 -6
  399. package/lib/mol-model-formats/structure/common/entity.js +1 -1
  400. package/lib/mol-model-formats/structure/cube.js +1 -1
  401. package/lib/mol-model-formats/structure/gro.js +1 -1
  402. package/lib/mol-model-formats/structure/mol.js +1 -1
  403. package/lib/mol-model-formats/structure/mol2.js +4 -4
  404. package/lib/mol-model-formats/structure/prmtop.js +1 -1
  405. package/lib/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
  406. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
  407. package/lib/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
  408. package/lib/mol-model-formats/structure/property/secondary-structure.js +8 -8
  409. package/lib/mol-model-formats/structure/psf.js +1 -1
  410. package/lib/mol-model-formats/structure/top.js +1 -1
  411. package/lib/mol-model-formats/structure/xyz.js +1 -1
  412. package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
  413. package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
  414. package/lib/mol-model-props/computed/accessible-surface-area.js +2 -2
  415. package/lib/mol-model-props/computed/chemistry/functional-group.js +31 -31
  416. package/lib/mol-model-props/computed/chemistry/geometry.js +22 -22
  417. package/lib/mol-model-props/computed/chemistry/valence-model.js +32 -32
  418. package/lib/mol-model-props/computed/interactions/charged.js +39 -39
  419. package/lib/mol-model-props/computed/interactions/common.js +34 -34
  420. package/lib/mol-model-props/computed/interactions/contacts-builder.js +1 -1
  421. package/lib/mol-model-props/computed/interactions/contacts.js +1 -1
  422. package/lib/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
  423. package/lib/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
  424. package/lib/mol-model-props/computed/interactions/hydrophobic.js +9 -9
  425. package/lib/mol-model-props/computed/interactions/metal.js +26 -26
  426. package/lib/mol-model-props/computed/interactions/refine.js +20 -20
  427. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
  428. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
  429. package/lib/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
  430. package/lib/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
  431. package/lib/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
  432. package/lib/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
  433. package/lib/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
  434. package/lib/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
  435. package/lib/mol-model-props/computed/secondary-structure/dssp.js +30 -30
  436. package/lib/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
  437. package/lib/mol-model-props/computed/themes/interaction-type.js +10 -10
  438. package/lib/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
  439. package/lib/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
  440. package/lib/mol-model-props/sequence/sifts-mapping.js +1 -1
  441. package/lib/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
  442. package/lib/mol-plugin/animation-loop.d.ts +2 -1
  443. package/lib/mol-plugin/animation-loop.js +18 -5
  444. package/lib/mol-plugin/behavior/dynamic/camera.js +12 -12
  445. package/lib/mol-plugin/behavior/dynamic/representation.js +7 -7
  446. package/lib/mol-plugin/context.d.ts +2 -2
  447. package/lib/mol-plugin/state.d.ts +1 -14
  448. package/lib/mol-plugin/version.js +2 -2
  449. package/lib/mol-plugin-state/formats/volume.d.ts +12 -11
  450. package/lib/mol-plugin-state/formats/volume.js +20 -13
  451. package/lib/mol-plugin-state/helpers/structure-selection-query.js +5 -5
  452. package/lib/mol-plugin-state/transforms/representation.js +2 -2
  453. package/lib/mol-plugin-ui/controls/parameters.d.ts +1 -1
  454. package/lib/mol-plugin-ui/sequence/polymer.js +1 -1
  455. package/lib/mol-plugin-ui/sequence/sequence.js +1 -1
  456. package/lib/mol-plugin-ui/structure/focus.js +1 -1
  457. package/lib/mol-plugin-ui/viewport.d.ts +2 -2
  458. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
  459. package/lib/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
  460. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -12
  461. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +12 -12
  462. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
  463. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
  464. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
  465. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
  466. package/lib/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  467. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
  468. package/lib/mol-repr/structure/visual/util/bond.js +2 -2
  469. package/lib/mol-repr/structure/visual/util/common.js +3 -3
  470. package/lib/mol-repr/structure/visual/util/link.js +30 -30
  471. package/lib/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
  472. package/lib/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
  473. package/lib/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
  474. package/lib/mol-repr/structure/visual/util/polymer.js +6 -6
  475. package/lib/mol-script/language/symbol-table/core.d.ts +2 -2
  476. package/lib/mol-script/runtime/query/table.js +13 -13
  477. package/lib/mol-state/object.d.ts +3 -3
  478. package/lib/mol-task/util/user-timing.js +1 -1
  479. package/lib/mol-theme/clipping.js +19 -19
  480. package/lib/mol-theme/color/atom-id.js +1 -1
  481. package/lib/mol-theme/color/carbohydrate-symbol.js +1 -1
  482. package/lib/mol-theme/color/chain-id.js +4 -4
  483. package/lib/mol-theme/color/element-index.js +1 -1
  484. package/lib/mol-theme/color/element-symbol.js +1 -1
  485. package/lib/mol-theme/color/entity-id.js +4 -4
  486. package/lib/mol-theme/color/entity-source.js +5 -4
  487. package/lib/mol-theme/color/hydrophobicity.js +1 -1
  488. package/lib/mol-theme/color/illustrative.js +1 -1
  489. package/lib/mol-theme/color/model-index.js +1 -1
  490. package/lib/mol-theme/color/molecule-type.js +8 -8
  491. package/lib/mol-theme/color/occupancy.js +1 -1
  492. package/lib/mol-theme/color/operator-hkl.js +1 -1
  493. package/lib/mol-theme/color/operator-name.js +1 -1
  494. package/lib/mol-theme/color/partial-charge.js +1 -1
  495. package/lib/mol-theme/color/polymer-id.js +4 -4
  496. package/lib/mol-theme/color/polymer-index.js +1 -1
  497. package/lib/mol-theme/color/residue-name.js +1 -1
  498. package/lib/mol-theme/color/secondary-structure.js +12 -12
  499. package/lib/mol-theme/color/sequence-id.js +7 -7
  500. package/lib/mol-theme/color/shape-group.js +1 -1
  501. package/lib/mol-theme/color/uncertainty.js +1 -1
  502. package/lib/mol-theme/color/uniform.js +1 -1
  503. package/lib/mol-theme/color/unit-index.js +1 -1
  504. package/lib/mol-theme/color/volume-value.js +1 -1
  505. package/lib/mol-theme/label.js +3 -3
  506. package/lib/mol-util/binding.js +4 -4
  507. package/lib/mol-util/debug.d.ts +6 -1
  508. package/lib/mol-util/debug.js +9 -1
  509. package/lib/mol-util/input/input-observer.js +20 -20
  510. package/lib/mol-util/string-builder.js +1 -1
  511. package/lib/servers/model/preprocess/converter.js +1 -1
  512. package/lib/servers/model/server/query.js +1 -1
  513. package/lib/servers/model/utils/fetch-retry.js +3 -2
  514. package/lib/servers/volume/server/algebra/coordinate.js +6 -6
  515. package/lib/servers/volume/server/query/encode.js +1 -1
  516. package/package.json +8 -8
@@ -19,22 +19,22 @@ function domain(kind, info) {
19
19
  }
20
20
  exports.domain = domain;
21
21
  function cartesian(x, y, z) {
22
- return { 0: x, 1: y, 2: z, kind: 0 /* Cartesian */ };
22
+ return { 0: x, 1: y, 2: z, kind: 0 /* Space.Cartesian */ };
23
23
  }
24
24
  exports.cartesian = cartesian;
25
25
  function fractional(x, y, z) {
26
- return { 0: x, 1: y, 2: z, kind: 1 /* Fractional */ };
26
+ return { 0: x, 1: y, 2: z, kind: 1 /* Space.Fractional */ };
27
27
  }
28
28
  exports.fractional = fractional;
29
29
  function grid(domain, x, y, z) {
30
- return { 0: x, 1: y, 2: z, kind: 2 /* Grid */, domain: domain };
30
+ return { 0: x, 1: y, 2: z, kind: 2 /* Space.Grid */, domain: domain };
31
31
  }
32
32
  exports.grid = grid;
33
33
  function withCoord(a, x, y, z) {
34
34
  switch (a.kind) {
35
- case 0 /* Cartesian */: return cartesian(x, y, z);
36
- case 1 /* Fractional */: return fractional(x, y, z);
37
- case 2 /* Grid */: return grid(a.domain, x, y, z);
35
+ case 0 /* Space.Cartesian */: return cartesian(x, y, z);
36
+ case 1 /* Space.Fractional */: return fractional(x, y, z);
37
+ case 2 /* Space.Grid */: return grid(a.domain, x, y, z);
38
38
  }
39
39
  }
40
40
  exports.withCoord = withCoord;
@@ -21,7 +21,7 @@ function encode(query, output) {
21
21
  exports.encode = encode;
22
22
  function string(name, str, isSpecified) {
23
23
  if (isSpecified) {
24
- return cif_1.CifWriter.Field.str(name, function (i, d) { return str(d); }, { valueKind: function (i, d) { return isSpecified(d) ? 0 /* Present */ : 1 /* NotPresent */; } });
24
+ return cif_1.CifWriter.Field.str(name, function (i, d) { return str(d); }, { valueKind: function (i, d) { return isSpecified(d) ? 0 /* Column.ValueKind.Present */ : 1 /* Column.ValueKind.NotPresent */; } });
25
25
  }
26
26
  return cif_1.CifWriter.Field.str(name, function (i, d) { return str(d); });
27
27
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  */
@@ -55,6 +55,17 @@
55
55
  </a>
56
56
  </div>
57
57
  <script>
58
+ function getParam(name, regex) {
59
+ var r = new RegExp(name + '=' + '(' + regex + ')[&]?', 'i');
60
+ return decodeURIComponent(((window.location.search || '').match(r) || [])[1] || '');
61
+ }
62
+
63
+ var debugMode = getParam('debug-mode', '[^&]+').trim() === '1';
64
+ if (debugMode) AlphaOrbitalsExample.setDebugMode(debugMode);
65
+
66
+ var timingMode = getParam('timing-mode', '[^&]+').trim() === '1';
67
+ if (timingMode) AlphaOrbitalsExample.setTimingMode(timingMode);
68
+
58
69
  AlphaOrbitalsExample.init('app')
59
70
  </script>
60
71
  <!-- __MOLSTAR_ANALYTICS__ -->
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  */
@@ -18,6 +18,7 @@ import { mountControls } from './controls';
18
18
  import { DemoMoleculeSDF, DemoOrbitals } from './example-data';
19
19
  import './index.html';
20
20
  require('mol-plugin-ui/skin/light.scss');
21
+ import { setDebugMode, setTimingMode } from '../../mol-util/debug';
21
22
  var AlphaOrbitalsExample = /** @class */ (function () {
22
23
  function AlphaOrbitalsExample() {
23
24
  this.params = new BehaviorSubject({});
@@ -229,3 +230,5 @@ var AlphaOrbitalsExample = /** @class */ (function () {
229
230
  }());
230
231
  export { AlphaOrbitalsExample };
231
232
  window.AlphaOrbitalsExample = new AlphaOrbitalsExample();
233
+ window.AlphaOrbitalsExample.setDebugMode = setDebugMode;
234
+ window.AlphaOrbitalsExample.setTimingMode = setTimingMode;
@@ -36,7 +36,7 @@ export function CustomColorTheme(ctx, props) {
36
36
  export var CustomColorThemeProvider = {
37
37
  name: 'basic-wrapper-custom-color-theme',
38
38
  label: 'Custom Color Theme',
39
- category: "Miscellaneous" /* Misc */,
39
+ category: "Miscellaneous" /* ColorTheme.Category.Misc */,
40
40
  factory: CustomColorTheme,
41
41
  getParams: function () { return ({}); },
42
42
  defaultValues: {},
@@ -20,10 +20,10 @@ export function createProteopediaCustomTheme(colors) {
20
20
  }
21
21
  function getAsymId(unit) {
22
22
  switch (unit.kind) {
23
- case 0 /* Atomic */:
23
+ case 0 /* Unit.Kind.Atomic */:
24
24
  return StructureProperties.chain.label_asym_id;
25
- case 1 /* Spheres */:
26
- case 2 /* Gaussians */:
25
+ case 1 /* Unit.Kind.Spheres */:
26
+ case 2 /* Unit.Kind.Gaussians */:
27
27
  return StructureProperties.coarse.asym_id;
28
28
  }
29
29
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  */
@@ -7,6 +7,7 @@ import { __awaiter, __generator } from "tslib";
7
7
  import { sortArray } from '../../mol-data/util';
8
8
  import { canComputeGrid3dOnGPU } from '../../mol-gl/compute/grid3d';
9
9
  import { Task } from '../../mol-task';
10
+ import { isTimingMode } from '../../mol-util/debug';
10
11
  import { createGrid, initCubeGrid } from './data-model';
11
12
  import { gpuComputeAlphaOrbitalsDensityGridValues } from './gpu/compute';
12
13
  export function createSphericalCollocationDensityGrid(params, orbitals, webgl) {
@@ -18,10 +19,13 @@ export function createSphericalCollocationDensityGrid(params, orbitals, webgl) {
18
19
  case 0:
19
20
  cubeGrid = initCubeGrid(params);
20
21
  if (!canComputeGrid3dOnGPU(webgl)) return [3 /*break*/, 2];
22
+ if (isTimingMode)
23
+ webgl.timer.mark('createSphericalCollocationDensityGrid');
21
24
  return [4 /*yield*/, gpuComputeAlphaOrbitalsDensityGridValues(ctx, webgl, cubeGrid, orbitals)];
22
25
  case 1:
23
- // console.time('gpu');
24
26
  matrix = _a.sent();
27
+ if (isTimingMode)
28
+ webgl.timer.markEnd('createSphericalCollocationDensityGrid');
25
29
  return [3 /*break*/, 3];
26
30
  case 2: throw new Error('Missing OES_texture_float WebGL extension.');
27
31
  case 3:
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * Inspired by https://github.com/dgasmith/gau2grid.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * Inspired by https://github.com/dgasmith/gau2grid.
5
5
  *
@@ -9,10 +9,10 @@ import { __awaiter, __generator } from "tslib";
9
9
  import { sortArray } from '../../mol-data/util';
10
10
  import { canComputeGrid3dOnGPU } from '../../mol-gl/compute/grid3d';
11
11
  import { Task } from '../../mol-task';
12
+ import { isTimingMode } from '../../mol-util/debug';
12
13
  import { sphericalCollocation } from './collocation';
13
14
  import { createGrid, initCubeGrid } from './data-model';
14
15
  import { gpuComputeAlphaOrbitalsGridValues } from './gpu/compute';
15
- // setDebugMode(true);
16
16
  export function createSphericalCollocationGrid(params, orbital, webgl) {
17
17
  var _this = this;
18
18
  return Task.create('Spherical Collocation Grid', function (ctx) { return __awaiter(_this, void 0, void 0, function () {
@@ -22,10 +22,13 @@ export function createSphericalCollocationGrid(params, orbital, webgl) {
22
22
  case 0:
23
23
  cubeGrid = initCubeGrid(params);
24
24
  if (!canComputeGrid3dOnGPU(webgl)) return [3 /*break*/, 2];
25
+ if (isTimingMode)
26
+ webgl.timer.mark('createSphericalCollocationGrid');
25
27
  return [4 /*yield*/, gpuComputeAlphaOrbitalsGridValues(ctx, webgl, cubeGrid, orbital)];
26
28
  case 1:
27
- // console.time('gpu');
28
29
  matrix = _a.sent();
30
+ if (isTimingMode)
31
+ webgl.timer.markEnd('createSphericalCollocationGrid');
29
32
  return [3 /*break*/, 4];
30
33
  case 2: return [4 /*yield*/, sphericalCollocation(cubeGrid, orbital, ctx)];
31
34
  case 3:
@@ -93,7 +93,7 @@ function initialize(structure, props, accessibleSurfaceArea) {
93
93
  eI = elements[j];
94
94
  l.element = eI;
95
95
  // consider only amino acids in chains
96
- if (getElementMoleculeType(unit, eI) !== 5 /* Protein */ || !isPartOfEntity(l)) {
96
+ if (getElementMoleculeType(unit, eI) !== 5 /* MoleculeType.Protein */ || !isPartOfEntity(l)) {
97
97
  continue;
98
98
  }
99
99
  // only CA is considered for downstream operations
@@ -69,7 +69,7 @@ export function CellPackGenerateColorTheme(ctx, props) {
69
69
  export var CellPackGenerateColorThemeProvider = {
70
70
  name: 'cellpack-generate',
71
71
  label: 'CellPack Generate',
72
- category: "Chain Property" /* Chain */,
72
+ category: "Chain Property" /* ColorTheme.Category.Chain */,
73
73
  factory: CellPackGenerateColorTheme,
74
74
  getParams: getCellPackGenerateColorThemeParams,
75
75
  defaultValues: PD.getDefaultValues(CellPackGenerateColorThemeParams),
@@ -49,7 +49,7 @@ export function CellPackProvidedColorTheme(ctx, props) {
49
49
  export var CellPackProvidedColorThemeProvider = {
50
50
  name: 'cellpack-provided',
51
51
  label: 'CellPack Provided',
52
- category: "Chain Property" /* Chain */,
52
+ category: "Chain Property" /* ColorTheme.Category.Chain */,
53
53
  factory: CellPackProvidedColorTheme,
54
54
  getParams: getCellPackProvidedColorThemeParams,
55
55
  defaultValues: PD.getDefaultValues(CellPackProvidedColorThemeParams),
@@ -336,7 +336,7 @@ var StructureFromAssemblies = PluginStateTransform.BuiltIn({
336
336
  invariantId = u.invariantId + offsetInvariantId;
337
337
  if (u.invariantId > maxInvariantId)
338
338
  maxInvariantId = u.invariantId;
339
- builder.addUnit(u.kind, u.model, u.conformation.operator, u.elements, 0 /* None */, invariantId);
339
+ builder.addUnit(u.kind, u.model, u.conformation.operator, u.elements, 0 /* Unit.Trait.None */, invariantId);
340
340
  }
341
341
  offsetInvariantId += maxInvariantId + 1;
342
342
  }
@@ -252,7 +252,7 @@ export function ConfalPyramidsColorTheme(ctx, props) {
252
252
  export var ConfalPyramidsColorThemeProvider = {
253
253
  name: 'confal-pyramids',
254
254
  label: 'Confal Pyramids',
255
- category: "Residue Property" /* Residue */,
255
+ category: "Residue Property" /* ColorTheme.Category.Residue */,
256
256
  factory: ConfalPyramidsColorTheme,
257
257
  getParams: getConfalPyramidsColorThemeParams,
258
258
  defaultValues: PD.getDefaultValues(ConfalPyramidsColorThemeParams),
@@ -93,7 +93,7 @@ function getTraj(ctx, data) {
93
93
  for (i = 0; i < rowCount; ++i) {
94
94
  e = normalized.entity_id[i];
95
95
  eName.customName = e;
96
- entityId = entityBuilder.getEntityId(e, 7 /* DNA */, e, eName);
96
+ entityId = entityBuilder.getEntityId(e, 7 /* MoleculeType.DNA */, e, eName);
97
97
  entityIds[i] = entityId;
98
98
  }
99
99
  ihm_sphere_obj_site = Table.ofPartialColumns(BasicSchema.ihm_sphere_obj_site, {
@@ -75,7 +75,7 @@ export function PLDDTConfidenceColorTheme(ctx, props) {
75
75
  export var PLDDTConfidenceColorThemeProvider = {
76
76
  name: 'plddt-confidence',
77
77
  label: 'pLDDT Confidence',
78
- category: "Validation" /* Validation */,
78
+ category: "Validation" /* ColorTheme.Category.Validation */,
79
79
  factory: PLDDTConfidenceColorTheme,
80
80
  getParams: getPLDDTConfidenceColorThemeParams,
81
81
  defaultValues: PD.getDefaultValues(getPLDDTConfidenceColorThemeParams({})),
@@ -61,7 +61,7 @@ export function QmeanScoreColorTheme(ctx, props) {
61
61
  export var QmeanScoreColorThemeProvider = {
62
62
  name: 'qmean-score',
63
63
  label: 'QMEAN Score',
64
- category: "Validation" /* Validation */,
64
+ category: "Validation" /* ColorTheme.Category.Validation */,
65
65
  factory: QmeanScoreColorTheme,
66
66
  getParams: getQmeanScoreColorThemeParams,
67
67
  defaultValues: PD.getDefaultValues(getQmeanScoreColorThemeParams({})),
@@ -79,7 +79,7 @@ export function StructureQualityReportColorTheme(ctx, props) {
79
79
  export var StructureQualityReportColorThemeProvider = {
80
80
  name: 'pdbe-structure-quality-report',
81
81
  label: 'Structure Quality Report',
82
- category: "Validation" /* Validation */,
82
+ category: "Validation" /* ColorTheme.Category.Validation */,
83
83
  factory: StructureQualityReportColorTheme,
84
84
  getParams: function (ctx) {
85
85
  var issueTypes = StructureQualityReport.getIssueTypes(ctx.structure);
@@ -12,10 +12,10 @@ import { getPalette, getPaletteParams } from '../../../mol-util/color/palette';
12
12
  var DefaultColor = Color(0xCCCCCC);
13
13
  function getAsymId(unit) {
14
14
  switch (unit.kind) {
15
- case 0 /* Atomic */:
15
+ case 0 /* Unit.Kind.Atomic */:
16
16
  return StructureProperties.chain.label_asym_id;
17
- case 1 /* Spheres */:
18
- case 2 /* Gaussians */:
17
+ case 1 /* Unit.Kind.Spheres */:
18
+ case 2 /* Unit.Kind.Gaussians */:
19
19
  return StructureProperties.coarse.asym_id;
20
20
  }
21
21
  }
@@ -83,7 +83,7 @@ export function AssemblySymmetryClusterColorTheme(ctx, props) {
83
83
  export var AssemblySymmetryClusterColorThemeProvider = {
84
84
  name: AssemblySymmetry.Tag.Cluster,
85
85
  label: 'Assembly Symmetry Cluster',
86
- category: "Symmetry" /* Symmetry */,
86
+ category: "Symmetry" /* ColorTheme.Category.Symmetry */,
87
87
  factory: AssemblySymmetryClusterColorTheme,
88
88
  getParams: getAssemblySymmetryClusterColorThemeParams,
89
89
  defaultValues: PD.getDefaultValues(AssemblySymmetryClusterColorThemeParams),
@@ -62,7 +62,7 @@ export function DensityFitColorTheme(ctx, props) {
62
62
  export var DensityFitColorThemeProvider = {
63
63
  name: ValidationReport.Tag.DensityFit,
64
64
  label: 'Density Fit',
65
- category: "Validation" /* Validation */,
65
+ category: "Validation" /* ColorTheme.Category.Validation */,
66
66
  factory: DensityFitColorTheme,
67
67
  getParams: function () { return ({}); },
68
68
  defaultValues: PD.getDefaultValues({}),
@@ -51,7 +51,7 @@ export function GeometryQualityColorTheme(ctx, props) {
51
51
  if (value === undefined)
52
52
  return DefaultColor;
53
53
  var count = SetUtils.differenceSize(value, ignore_1);
54
- if (count > 0 && polymerType_1[rI] === 0 /* NA */) {
54
+ if (count > 0 && polymerType_1[rI] === 0 /* PolymerType.NA */) {
55
55
  count = 0;
56
56
  if (!ignore_1.has('clash') && clashes_1.getVertexEdgeCount(element) > 0)
57
57
  count += 1;
@@ -92,7 +92,7 @@ export function GeometryQualityColorTheme(ctx, props) {
92
92
  export var GeometryQualityColorThemeProvider = {
93
93
  name: ValidationReport.Tag.GeometryQuality,
94
94
  label: 'Geometry Quality',
95
- category: "Validation" /* Validation */,
95
+ category: "Validation" /* ColorTheme.Category.Validation */,
96
96
  factory: GeometryQualityColorTheme,
97
97
  getParams: getGeometricQualityColorThemeParams,
98
98
  defaultValues: PD.getDefaultValues(getGeometricQualityColorThemeParams({})),
@@ -50,7 +50,7 @@ export function RandomCoilIndexColorTheme(ctx, props) {
50
50
  export var RandomCoilIndexColorThemeProvider = {
51
51
  name: ValidationReport.Tag.RandomCoilIndex,
52
52
  label: 'Random Coil Index',
53
- category: "Validation" /* Validation */,
53
+ category: "Validation" /* ColorTheme.Category.Validation */,
54
54
  factory: RandomCoilIndexColorTheme,
55
55
  getParams: function () { return ({}); },
56
56
  defaultValues: PD.getDefaultValues({}),
@@ -39,7 +39,7 @@ function createIntraUnitClashCylinderMesh(ctx, unit, structure, theme, props, me
39
39
  pos(elements[a[edgeIndex]], posA);
40
40
  pos(elements[b[edgeIndex]], posB);
41
41
  },
42
- style: function (edgeIndex) { return 6 /* Disk */; },
42
+ style: function (edgeIndex) { return 6 /* LinkStyle.Disk */; },
43
43
  radius: function (edgeIndex) { return magnitude[edgeIndex] * sizeFactor; },
44
44
  };
45
45
  var _a = createLinkCylinderMesh(ctx, builderProps, props, mesh), m = _a.mesh, boundingSphere = _a.boundingSphere;
@@ -139,7 +139,7 @@ function createInterUnitClashCylinderMesh(ctx, structure, theme, props, mesh) {
139
139
  uA.conformation.position(uA.elements[b.indexA], posA);
140
140
  uB.conformation.position(uB.elements[b.indexB], posB);
141
141
  },
142
- style: function (edgeIndex) { return 6 /* Disk */; },
142
+ style: function (edgeIndex) { return 6 /* LinkStyle.Disk */; },
143
143
  radius: function (edgeIndex) { return edges[edgeIndex].props.magnitude * sizeFactor; }
144
144
  };
145
145
  var _a = createLinkCylinderMesh(ctx, builderProps, props, mesh), m = _a.mesh, boundingSphere = _a.boundingSphere;
@@ -26,7 +26,7 @@ import { MultiSampleHelper, MultiSampleParams, MultiSamplePass } from './passes/
26
26
  import { PickHelper } from './passes/pick';
27
27
  import { ImagePass } from './passes/image';
28
28
  import { Sphere3D } from '../mol-math/geometry';
29
- import { isDebugMode } from '../mol-util/debug';
29
+ import { isDebugMode, isTimingMode } from '../mol-util/debug';
30
30
  import { CameraHelperParams } from './helper/camera-helper';
31
31
  import { produce } from 'immer';
32
32
  import { HandleHelperParams } from './helper/handle-helper';
@@ -300,6 +300,8 @@ var Canvas3D;
300
300
  stereoCamera.update();
301
301
  cam = stereoCamera;
302
302
  }
303
+ if (isTimingMode)
304
+ webgl.timer.mark('Canvas3D.render');
303
305
  var ctx = { renderer: renderer, camera: cam, scene: scene, helper: helper };
304
306
  if (MultiSamplePass.isEnabled(p.multiSample)) {
305
307
  var forceOn = !cameraChanged && markingUpdated && !controls.isAnimating;
@@ -308,6 +310,8 @@ var Canvas3D;
308
310
  else {
309
311
  passes.draw.render(ctx, p, true);
310
312
  }
313
+ if (isTimingMode)
314
+ webgl.timer.markEnd('Canvas3D.render');
311
315
  // if only marking has updated, do not set the flag to dirty
312
316
  pickHelper.dirty = pickHelper.dirty || shouldRender;
313
317
  didRender = true;
@@ -18,14 +18,14 @@ var B = ButtonsType;
18
18
  var M = ModifiersKeys;
19
19
  var Trigger = Binding.Trigger;
20
20
  export var DefaultTrackballBindings = {
21
- dragRotate: Binding([Trigger(1 /* Primary */, M.create())], 'Rotate', 'Drag using ${triggers}'),
22
- dragRotateZ: Binding([Trigger(1 /* Primary */, M.create({ shift: true }))], 'Rotate around z-axis', 'Drag using ${triggers}'),
23
- dragPan: Binding([Trigger(2 /* Secondary */, M.create()), Trigger(1 /* Primary */, M.create({ control: true }))], 'Pan', 'Drag using ${triggers}'),
21
+ dragRotate: Binding([Trigger(1 /* B.Flag.Primary */, M.create())], 'Rotate', 'Drag using ${triggers}'),
22
+ dragRotateZ: Binding([Trigger(1 /* B.Flag.Primary */, M.create({ shift: true }))], 'Rotate around z-axis', 'Drag using ${triggers}'),
23
+ dragPan: Binding([Trigger(2 /* B.Flag.Secondary */, M.create()), Trigger(1 /* B.Flag.Primary */, M.create({ control: true }))], 'Pan', 'Drag using ${triggers}'),
24
24
  dragZoom: Binding.Empty,
25
- dragFocus: Binding([Trigger(8 /* Forth */, M.create())], 'Focus', 'Drag using ${triggers}'),
26
- dragFocusZoom: Binding([Trigger(4 /* Auxilary */, M.create())], 'Focus and zoom', 'Drag using ${triggers}'),
27
- scrollZoom: Binding([Trigger(4 /* Auxilary */, M.create())], 'Zoom', 'Scroll using ${triggers}'),
28
- scrollFocus: Binding([Trigger(4 /* Auxilary */, M.create({ shift: true }))], 'Clip', 'Scroll using ${triggers}'),
25
+ dragFocus: Binding([Trigger(8 /* B.Flag.Forth */, M.create())], 'Focus', 'Drag using ${triggers}'),
26
+ dragFocusZoom: Binding([Trigger(4 /* B.Flag.Auxilary */, M.create())], 'Focus and zoom', 'Drag using ${triggers}'),
27
+ scrollZoom: Binding([Trigger(4 /* B.Flag.Auxilary */, M.create())], 'Zoom', 'Scroll using ${triggers}'),
28
+ scrollFocus: Binding([Trigger(4 /* B.Flag.Auxilary */, M.create({ shift: true }))], 'Clip', 'Scroll using ${triggers}'),
29
29
  scrollFocusZoom: Binding.Empty,
30
30
  };
31
31
  export var TrackballControlsParams = {
@@ -86,7 +86,7 @@ var CameraHelper = /** @class */ (function () {
86
86
  });
87
87
  CameraHelper.prototype.getLoci = function (pickingId) {
88
88
  var objectId = pickingId.objectId, groupId = pickingId.groupId, instanceId = pickingId.instanceId;
89
- if (!this.renderObject || objectId !== this.renderObject.id || groupId === 0 /* None */)
89
+ if (!this.renderObject || objectId !== this.renderObject.id || groupId === 0 /* CameraHelperAxis.None */)
90
90
  return EmptyLoci;
91
91
  return CameraAxesLoci(this, groupId, instanceId);
92
92
  };
@@ -114,12 +114,12 @@ var CameraHelper = /** @class */ (function () {
114
114
  export { CameraHelper };
115
115
  function getAxisLabel(axis) {
116
116
  switch (axis) {
117
- case 1 /* X */: return 'X Axis';
118
- case 2 /* Y */: return 'Y Axis';
119
- case 3 /* Z */: return 'Z Axis';
120
- case 4 /* XY */: return 'XY Plane';
121
- case 5 /* XZ */: return 'XZ Plane';
122
- case 6 /* YZ */: return 'YZ Plane';
117
+ case 1 /* CameraHelperAxis.X */: return 'X Axis';
118
+ case 2 /* CameraHelperAxis.Y */: return 'Y Axis';
119
+ case 3 /* CameraHelperAxis.Z */: return 'Z Axis';
120
+ case 4 /* CameraHelperAxis.XY */: return 'XY Plane';
121
+ case 5 /* CameraHelperAxis.XZ */: return 'XZ Plane';
122
+ case 6 /* CameraHelperAxis.YZ */: return 'YZ Plane';
123
123
  default: return 'Axes';
124
124
  }
125
125
  }
@@ -160,33 +160,33 @@ function createAxesMesh(scale, mesh) {
160
160
  var y = Vec3.scale(Vec3(), Vec3.unitY, scale);
161
161
  var z = Vec3.scale(Vec3(), Vec3.unitZ, scale);
162
162
  var cylinderProps = { radiusTop: radius, radiusBottom: radius, radialSegments: 32 };
163
- state.currentGroup = 0 /* None */;
163
+ state.currentGroup = 0 /* CameraHelperAxis.None */;
164
164
  addSphere(state, Vec3.origin, radius, 2);
165
- state.currentGroup = 1 /* X */;
165
+ state.currentGroup = 1 /* CameraHelperAxis.X */;
166
166
  addSphere(state, x, radius, 2);
167
167
  addCylinder(state, Vec3.origin, x, 1, cylinderProps);
168
- state.currentGroup = 2 /* Y */;
168
+ state.currentGroup = 2 /* CameraHelperAxis.Y */;
169
169
  addSphere(state, y, radius, 2);
170
170
  addCylinder(state, Vec3.origin, y, 1, cylinderProps);
171
- state.currentGroup = 3 /* Z */;
171
+ state.currentGroup = 3 /* CameraHelperAxis.Z */;
172
172
  addSphere(state, z, radius, 2);
173
173
  addCylinder(state, Vec3.origin, z, 1, cylinderProps);
174
174
  Vec3.scale(x, x, 0.5);
175
175
  Vec3.scale(y, y, 0.5);
176
176
  Vec3.scale(z, z, 0.5);
177
- state.currentGroup = 4 /* XY */;
177
+ state.currentGroup = 4 /* CameraHelperAxis.XY */;
178
178
  MeshBuilder.addTriangle(state, Vec3.origin, x, y);
179
179
  MeshBuilder.addTriangle(state, Vec3.origin, y, x);
180
180
  var xy = Vec3.add(Vec3(), x, y);
181
181
  MeshBuilder.addTriangle(state, xy, x, y);
182
182
  MeshBuilder.addTriangle(state, xy, y, x);
183
- state.currentGroup = 5 /* XZ */;
183
+ state.currentGroup = 5 /* CameraHelperAxis.XZ */;
184
184
  MeshBuilder.addTriangle(state, Vec3.origin, x, z);
185
185
  MeshBuilder.addTriangle(state, Vec3.origin, z, x);
186
186
  var xz = Vec3.add(Vec3(), x, z);
187
187
  MeshBuilder.addTriangle(state, xz, x, z);
188
188
  MeshBuilder.addTriangle(state, xz, z, x);
189
- state.currentGroup = 6 /* YZ */;
189
+ state.currentGroup = 6 /* CameraHelperAxis.YZ */;
190
190
  MeshBuilder.addTriangle(state, Vec3.origin, y, z);
191
191
  MeshBuilder.addTriangle(state, Vec3.origin, z, y);
192
192
  var yz = Vec3.add(Vec3(), y, z);
@@ -85,7 +85,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
85
85
  };
86
86
  Canvas3dInteractionHelper.prototype.identify = function (e, t) {
87
87
  var xyChanged = this.startX !== this.endX || this.startY !== this.endY;
88
- if (e === 2 /* Drag */) {
88
+ if (e === 2 /* InputEvent.Drag */) {
89
89
  if (xyChanged && !this.outsideViewport(this.startX, this.startY)) {
90
90
  this.events.drag.next({ current: this.prevLoci, buttons: this.buttons, button: this.button, modifiers: this.modifiers, pageStart: Vec2.create(this.startX, this.startY), pageEnd: Vec2.create(this.endX, this.endY) });
91
91
  this.startX = this.endX;
@@ -100,7 +100,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
100
100
  this.startX = this.endX;
101
101
  this.startY = this.endY;
102
102
  }
103
- if (e === 1 /* Click */) {
103
+ if (e === 1 /* InputEvent.Click */) {
104
104
  var loci_1 = this.getLoci(this.id, this.position);
105
105
  this.events.click.next({ current: loci_1, buttons: this.buttons, button: this.button, modifiers: this.modifiers, page: Vec2.create(this.endX, this.endY), position: this.position });
106
106
  this.prevLoci = loci_1;
@@ -116,7 +116,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
116
116
  if (this.inside && t - this.prevT > 1000 / this.props.maxFps) {
117
117
  this.prevT = t;
118
118
  this.currentIdentifyT = t;
119
- this.identify(this.isInteracting ? 2 /* Drag */ : 0 /* Move */, t);
119
+ this.identify(this.isInteracting ? 2 /* InputEvent.Drag */ : 0 /* InputEvent.Move */, t);
120
120
  }
121
121
  };
122
122
  Canvas3dInteractionHelper.prototype.leave = function () {
@@ -140,7 +140,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
140
140
  this.buttons = buttons;
141
141
  this.button = button;
142
142
  this.modifiers = modifiers;
143
- this.identify(1 /* Click */, 0);
143
+ this.identify(1 /* InputEvent.Click */, 0);
144
144
  };
145
145
  Canvas3dInteractionHelper.prototype.drag = function (x, y, buttons, button, modifiers) {
146
146
  this.endX = x;
@@ -148,7 +148,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
148
148
  this.buttons = buttons;
149
149
  this.button = button;
150
150
  this.modifiers = modifiers;
151
- this.identify(2 /* Drag */, 0);
151
+ this.identify(2 /* InputEvent.Drag */, 0);
152
152
  };
153
153
  Canvas3dInteractionHelper.prototype.modify = function (modifiers) {
154
154
  if (ModifiersKeys.areEqual(modifiers, this.modifiers))
@@ -12,6 +12,7 @@ import { WboitPass } from './wboit';
12
12
  import { AntialiasingPass, PostprocessingPass } from './postprocessing';
13
13
  import { MarkingPass } from './marking';
14
14
  import { createCopyRenderable } from '../../mol-gl/compute/util';
15
+ import { isTimingMode } from '../../mol-util/debug';
15
16
  var DrawPass = /** @class */ (function () {
16
17
  function DrawPass(webgl, width, height, enableWboit) {
17
18
  this.webgl = webgl;
@@ -92,8 +93,12 @@ var DrawPass = /** @class */ (function () {
92
93
  // render transparent primitives and volumes
93
94
  if (scene.opacityAverage < 1 || scene.volumes.renderables.length > 0) {
94
95
  this.wboit.bind();
95
- renderer.renderWboitTransparent(scene.primitives, camera, this.depthTextureOpaque);
96
- renderer.renderWboitTransparent(scene.volumes, camera, this.depthTextureOpaque);
96
+ if (scene.opacityAverage < 1) {
97
+ renderer.renderWboitTransparent(scene.primitives, camera, this.depthTextureOpaque);
98
+ }
99
+ if (scene.volumes.renderables.length > 0) {
100
+ renderer.renderWboitTransparent(scene.volumes, camera, this.depthTextureOpaque);
101
+ }
97
102
  // evaluate wboit
98
103
  if (PostprocessingPass.isEnabled(postprocessingProps)) {
99
104
  this.postprocessing.target.bind();
@@ -105,7 +110,7 @@ var DrawPass = /** @class */ (function () {
105
110
  }
106
111
  };
107
112
  DrawPass.prototype._renderBlended = function (renderer, camera, scene, toDrawingBuffer, transparentBackground, postprocessingProps) {
108
- var _a, _b;
113
+ var _a, _b, _c, _d;
109
114
  if (toDrawingBuffer) {
110
115
  this.drawTarget.bind();
111
116
  }
@@ -148,9 +153,29 @@ var DrawPass = /** @class */ (function () {
148
153
  (_b = this.colorTarget.depthRenderbuffer) === null || _b === void 0 ? void 0 : _b.attachFramebuffer(this.postprocessing.target.framebuffer);
149
154
  }
150
155
  }
151
- renderer.renderBlendedVolume(scene.volumes, camera, this.depthTextureOpaque);
156
+ if (scene.volumes.renderables.length > 0) {
157
+ var target = PostprocessingPass.isEnabled(postprocessingProps)
158
+ ? this.postprocessing.target : this.colorTarget;
159
+ if (!this.packedDepth) {
160
+ this.depthTextureOpaque.detachFramebuffer(target.framebuffer, 'depth');
161
+ }
162
+ else {
163
+ (_c = this.colorTarget.depthRenderbuffer) === null || _c === void 0 ? void 0 : _c.detachFramebuffer(target.framebuffer);
164
+ }
165
+ target.bind();
166
+ renderer.renderBlendedVolume(scene.volumes, camera, this.depthTextureOpaque);
167
+ if (!this.packedDepth) {
168
+ this.depthTextureOpaque.attachFramebuffer(target.framebuffer, 'depth');
169
+ }
170
+ else {
171
+ (_d = this.colorTarget.depthRenderbuffer) === null || _d === void 0 ? void 0 : _d.attachFramebuffer(target.framebuffer);
172
+ }
173
+ target.bind();
174
+ }
175
+ }
176
+ if (scene.opacityAverage < 1) {
177
+ renderer.renderBlendedTransparent(scene.primitives, camera, null);
152
178
  }
153
- renderer.renderBlendedTransparent(scene.primitives, camera, null);
154
179
  };
155
180
  DrawPass.prototype._render = function (renderer, camera, scene, helper, toDrawingBuffer, props) {
156
181
  var volumeRendering = scene.volumes.renderables.length > 0;
@@ -222,6 +247,8 @@ var DrawPass = /** @class */ (function () {
222
247
  this.webgl.gl.flush();
223
248
  };
224
249
  DrawPass.prototype.render = function (ctx, props, toDrawingBuffer) {
250
+ if (isTimingMode)
251
+ this.webgl.timer.mark('DrawPass.render');
225
252
  var renderer = ctx.renderer, camera = ctx.camera, scene = ctx.scene, helper = ctx.helper;
226
253
  renderer.setTransparentBackground(props.transparentBackground);
227
254
  renderer.setDrawingBufferSize(this.colorTarget.getWidth(), this.colorTarget.getHeight());
@@ -233,6 +260,8 @@ var DrawPass = /** @class */ (function () {
233
260
  else {
234
261
  this._render(renderer, camera, scene, helper, toDrawingBuffer, props);
235
262
  }
263
+ if (isTimingMode)
264
+ this.webgl.timer.markEnd('DrawPass.render');
236
265
  };
237
266
  DrawPass.prototype.getColorTarget = function (postprocessingProps) {
238
267
  if (AntialiasingPass.isEnabled(postprocessingProps)) {