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,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,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2020-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
  */
@@ -21,6 +21,7 @@ var controls_1 = require("./controls");
21
21
  var example_data_1 = require("./example-data");
22
22
  require("./index.html");
23
23
  require('mol-plugin-ui/skin/light.scss');
24
+ var debug_1 = require("../../mol-util/debug");
24
25
  var AlphaOrbitalsExample = /** @class */ (function () {
25
26
  function AlphaOrbitalsExample() {
26
27
  this.params = new rxjs_1.BehaviorSubject({});
@@ -232,3 +233,5 @@ var AlphaOrbitalsExample = /** @class */ (function () {
232
233
  }());
233
234
  exports.AlphaOrbitalsExample = AlphaOrbitalsExample;
234
235
  window.AlphaOrbitalsExample = new AlphaOrbitalsExample();
236
+ window.AlphaOrbitalsExample.setDebugMode = debug_1.setDebugMode;
237
+ window.AlphaOrbitalsExample.setTimingMode = debug_1.setTimingMode;
@@ -40,7 +40,7 @@ exports.CustomColorTheme = CustomColorTheme;
40
40
  exports.CustomColorThemeProvider = {
41
41
  name: 'basic-wrapper-custom-color-theme',
42
42
  label: 'Custom Color Theme',
43
- category: "Miscellaneous" /* Misc */,
43
+ category: "Miscellaneous" /* ColorTheme.Category.Misc */,
44
44
  factory: CustomColorTheme,
45
45
  getParams: function () { return ({}); },
46
46
  defaultValues: {},
@@ -23,10 +23,10 @@ function createProteopediaCustomTheme(colors) {
23
23
  }
24
24
  function getAsymId(unit) {
25
25
  switch (unit.kind) {
26
- case 0 /* Atomic */:
26
+ case 0 /* Unit.Kind.Atomic */:
27
27
  return structure_1.StructureProperties.chain.label_asym_id;
28
- case 1 /* Spheres */:
29
- case 2 /* Gaussians */:
28
+ case 1 /* Unit.Kind.Spheres */:
29
+ case 2 /* Unit.Kind.Gaussians */:
30
30
  return structure_1.StructureProperties.coarse.asym_id;
31
31
  }
32
32
  }
@@ -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,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2020-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
  */
@@ -10,6 +10,7 @@ var tslib_1 = require("tslib");
10
10
  var util_1 = require("../../mol-data/util");
11
11
  var grid3d_1 = require("../../mol-gl/compute/grid3d");
12
12
  var mol_task_1 = require("../../mol-task");
13
+ var debug_1 = require("../../mol-util/debug");
13
14
  var data_model_1 = require("./data-model");
14
15
  var compute_1 = require("./gpu/compute");
15
16
  function createSphericalCollocationDensityGrid(params, orbitals, webgl) {
@@ -21,10 +22,13 @@ function createSphericalCollocationDensityGrid(params, orbitals, webgl) {
21
22
  case 0:
22
23
  cubeGrid = (0, data_model_1.initCubeGrid)(params);
23
24
  if (!(0, grid3d_1.canComputeGrid3dOnGPU)(webgl)) return [3 /*break*/, 2];
25
+ if (debug_1.isTimingMode)
26
+ webgl.timer.mark('createSphericalCollocationDensityGrid');
24
27
  return [4 /*yield*/, (0, compute_1.gpuComputeAlphaOrbitalsDensityGridValues)(ctx, webgl, cubeGrid, orbitals)];
25
28
  case 1:
26
- // console.time('gpu');
27
29
  matrix = _a.sent();
30
+ if (debug_1.isTimingMode)
31
+ webgl.timer.markEnd('createSphericalCollocationDensityGrid');
28
32
  return [3 /*break*/, 3];
29
33
  case 2: throw new Error('Missing OES_texture_float WebGL extension.');
30
34
  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,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * Inspired by https://github.com/dgasmith/gau2grid.
6
6
  *
@@ -12,10 +12,10 @@ var tslib_1 = require("tslib");
12
12
  var util_1 = require("../../mol-data/util");
13
13
  var grid3d_1 = require("../../mol-gl/compute/grid3d");
14
14
  var mol_task_1 = require("../../mol-task");
15
+ var debug_1 = require("../../mol-util/debug");
15
16
  var collocation_1 = require("./collocation");
16
17
  var data_model_1 = require("./data-model");
17
18
  var compute_1 = require("./gpu/compute");
18
- // setDebugMode(true);
19
19
  function createSphericalCollocationGrid(params, orbital, webgl) {
20
20
  var _this = this;
21
21
  return mol_task_1.Task.create('Spherical Collocation Grid', function (ctx) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
@@ -25,10 +25,13 @@ function createSphericalCollocationGrid(params, orbital, webgl) {
25
25
  case 0:
26
26
  cubeGrid = (0, data_model_1.initCubeGrid)(params);
27
27
  if (!(0, grid3d_1.canComputeGrid3dOnGPU)(webgl)) return [3 /*break*/, 2];
28
+ if (debug_1.isTimingMode)
29
+ webgl.timer.mark('createSphericalCollocationGrid');
28
30
  return [4 /*yield*/, (0, compute_1.gpuComputeAlphaOrbitalsGridValues)(ctx, webgl, cubeGrid, orbital)];
29
31
  case 1:
30
- // console.time('gpu');
31
32
  matrix = _a.sent();
33
+ if (debug_1.isTimingMode)
34
+ webgl.timer.markEnd('createSphericalCollocationGrid');
32
35
  return [3 /*break*/, 4];
33
36
  case 2: return [4 /*yield*/, (0, collocation_1.sphericalCollocation)(cubeGrid, orbital, ctx)];
34
37
  case 3:
@@ -97,7 +97,7 @@ function initialize(structure, props, accessibleSurfaceArea) {
97
97
  eI = elements[j];
98
98
  l.element = eI;
99
99
  // consider only amino acids in chains
100
- if ((0, util_1.getElementMoleculeType)(unit, eI) !== 5 /* Protein */ || !isPartOfEntity(l)) {
100
+ if ((0, util_1.getElementMoleculeType)(unit, eI) !== 5 /* MoleculeType.Protein */ || !isPartOfEntity(l)) {
101
101
  continue;
102
102
  }
103
103
  // only CA is considered for downstream operations
@@ -74,7 +74,7 @@ exports.CellPackGenerateColorTheme = CellPackGenerateColorTheme;
74
74
  exports.CellPackGenerateColorThemeProvider = {
75
75
  name: 'cellpack-generate',
76
76
  label: 'CellPack Generate',
77
- category: "Chain Property" /* Chain */,
77
+ category: "Chain Property" /* ColorTheme.Category.Chain */,
78
78
  factory: CellPackGenerateColorTheme,
79
79
  getParams: getCellPackGenerateColorThemeParams,
80
80
  defaultValues: param_definition_1.ParamDefinition.getDefaultValues(exports.CellPackGenerateColorThemeParams),
@@ -54,7 +54,7 @@ exports.CellPackProvidedColorTheme = CellPackProvidedColorTheme;
54
54
  exports.CellPackProvidedColorThemeProvider = {
55
55
  name: 'cellpack-provided',
56
56
  label: 'CellPack Provided',
57
- category: "Chain Property" /* Chain */,
57
+ category: "Chain Property" /* ColorTheme.Category.Chain */,
58
58
  factory: CellPackProvidedColorTheme,
59
59
  getParams: getCellPackProvidedColorThemeParams,
60
60
  defaultValues: param_definition_1.ParamDefinition.getDefaultValues(exports.CellPackProvidedColorThemeParams),
@@ -338,7 +338,7 @@ var StructureFromAssemblies = objects_1.PluginStateTransform.BuiltIn({
338
338
  invariantId = u.invariantId + offsetInvariantId;
339
339
  if (u.invariantId > maxInvariantId)
340
340
  maxInvariantId = u.invariantId;
341
- builder.addUnit(u.kind, u.model, u.conformation.operator, u.elements, 0 /* None */, invariantId);
341
+ builder.addUnit(u.kind, u.model, u.conformation.operator, u.elements, 0 /* Unit.Trait.None */, invariantId);
342
342
  }
343
343
  offsetInvariantId += maxInvariantId + 1;
344
344
  }
@@ -257,7 +257,7 @@ exports.ConfalPyramidsColorTheme = ConfalPyramidsColorTheme;
257
257
  exports.ConfalPyramidsColorThemeProvider = {
258
258
  name: 'confal-pyramids',
259
259
  label: 'Confal Pyramids',
260
- category: "Residue Property" /* Residue */,
260
+ category: "Residue Property" /* ColorTheme.Category.Residue */,
261
261
  factory: ConfalPyramidsColorTheme,
262
262
  getParams: getConfalPyramidsColorThemeParams,
263
263
  defaultValues: param_definition_1.ParamDefinition.getDefaultValues(exports.ConfalPyramidsColorThemeParams),
@@ -96,7 +96,7 @@ function getTraj(ctx, data) {
96
96
  for (i = 0; i < rowCount; ++i) {
97
97
  e = normalized.entity_id[i];
98
98
  eName.customName = e;
99
- entityId = entityBuilder.getEntityId(e, 7 /* DNA */, e, eName);
99
+ entityId = entityBuilder.getEntityId(e, 7 /* MoleculeType.DNA */, e, eName);
100
100
  entityIds[i] = entityId;
101
101
  }
102
102
  ihm_sphere_obj_site = db_1.Table.ofPartialColumns(schema_1.BasicSchema.ihm_sphere_obj_site, {
@@ -107,6 +107,7 @@ var GeometryExporterUI = /** @class */ (function (_super) {
107
107
  };
108
108
  GeometryExporterUI.prototype.componentWillUnmount = function () {
109
109
  var _a;
110
+ _super.prototype.componentWillUnmount.call(this);
110
111
  (_a = this._controls) === null || _a === void 0 ? void 0 : _a.dispose();
111
112
  this._controls = void 0;
112
113
  };
@@ -80,7 +80,7 @@ exports.PLDDTConfidenceColorTheme = PLDDTConfidenceColorTheme;
80
80
  exports.PLDDTConfidenceColorThemeProvider = {
81
81
  name: 'plddt-confidence',
82
82
  label: 'pLDDT Confidence',
83
- category: "Validation" /* Validation */,
83
+ category: "Validation" /* ColorTheme.Category.Validation */,
84
84
  factory: PLDDTConfidenceColorTheme,
85
85
  getParams: getPLDDTConfidenceColorThemeParams,
86
86
  defaultValues: param_definition_1.ParamDefinition.getDefaultValues(getPLDDTConfidenceColorThemeParams({})),
@@ -66,7 +66,7 @@ exports.QmeanScoreColorTheme = QmeanScoreColorTheme;
66
66
  exports.QmeanScoreColorThemeProvider = {
67
67
  name: 'qmean-score',
68
68
  label: 'QMEAN Score',
69
- category: "Validation" /* Validation */,
69
+ category: "Validation" /* ColorTheme.Category.Validation */,
70
70
  factory: QmeanScoreColorTheme,
71
71
  getParams: getQmeanScoreColorThemeParams,
72
72
  defaultValues: param_definition_1.ParamDefinition.getDefaultValues(getQmeanScoreColorThemeParams({})),
@@ -85,6 +85,7 @@ var Mp4EncoderUI = /** @class */ (function (_super) {
85
85
  };
86
86
  Mp4EncoderUI.prototype.componentWillUnmount = function () {
87
87
  var _a;
88
+ _super.prototype.componentWillUnmount.call(this);
88
89
  (_a = this._controls) === null || _a === void 0 ? void 0 : _a.dispose();
89
90
  this._controls = void 0;
90
91
  };
@@ -83,7 +83,7 @@ exports.StructureQualityReportColorTheme = StructureQualityReportColorTheme;
83
83
  exports.StructureQualityReportColorThemeProvider = {
84
84
  name: 'pdbe-structure-quality-report',
85
85
  label: 'Structure Quality Report',
86
- category: "Validation" /* Validation */,
86
+ category: "Validation" /* ColorTheme.Category.Validation */,
87
87
  factory: StructureQualityReportColorTheme,
88
88
  getParams: function (ctx) {
89
89
  var issueTypes = prop_1.StructureQualityReport.getIssueTypes(ctx.structure);
@@ -15,10 +15,10 @@ var palette_1 = require("../../../mol-util/color/palette");
15
15
  var DefaultColor = (0, color_1.Color)(0xCCCCCC);
16
16
  function getAsymId(unit) {
17
17
  switch (unit.kind) {
18
- case 0 /* Atomic */:
18
+ case 0 /* Unit.Kind.Atomic */:
19
19
  return structure_1.StructureProperties.chain.label_asym_id;
20
- case 1 /* Spheres */:
21
- case 2 /* Gaussians */:
20
+ case 1 /* Unit.Kind.Spheres */:
21
+ case 2 /* Unit.Kind.Gaussians */:
22
22
  return structure_1.StructureProperties.coarse.asym_id;
23
23
  }
24
24
  }
@@ -88,7 +88,7 @@ exports.AssemblySymmetryClusterColorTheme = AssemblySymmetryClusterColorTheme;
88
88
  exports.AssemblySymmetryClusterColorThemeProvider = {
89
89
  name: prop_1.AssemblySymmetry.Tag.Cluster,
90
90
  label: 'Assembly Symmetry Cluster',
91
- category: "Symmetry" /* Symmetry */,
91
+ category: "Symmetry" /* ColorTheme.Category.Symmetry */,
92
92
  factory: AssemblySymmetryClusterColorTheme,
93
93
  getParams: getAssemblySymmetryClusterColorThemeParams,
94
94
  defaultValues: param_definition_1.ParamDefinition.getDefaultValues(exports.AssemblySymmetryClusterColorThemeParams),
@@ -66,7 +66,7 @@ exports.DensityFitColorTheme = DensityFitColorTheme;
66
66
  exports.DensityFitColorThemeProvider = {
67
67
  name: prop_1.ValidationReport.Tag.DensityFit,
68
68
  label: 'Density Fit',
69
- category: "Validation" /* Validation */,
69
+ category: "Validation" /* ColorTheme.Category.Validation */,
70
70
  factory: DensityFitColorTheme,
71
71
  getParams: function () { return ({}); },
72
72
  defaultValues: param_definition_1.ParamDefinition.getDefaultValues({}),
@@ -55,7 +55,7 @@ function GeometryQualityColorTheme(ctx, props) {
55
55
  if (value === undefined)
56
56
  return DefaultColor;
57
57
  var count = set_1.SetUtils.differenceSize(value, ignore_1);
58
- if (count > 0 && polymerType_1[rI] === 0 /* NA */) {
58
+ if (count > 0 && polymerType_1[rI] === 0 /* PolymerType.NA */) {
59
59
  count = 0;
60
60
  if (!ignore_1.has('clash') && clashes_1.getVertexEdgeCount(element) > 0)
61
61
  count += 1;
@@ -97,7 +97,7 @@ exports.GeometryQualityColorTheme = GeometryQualityColorTheme;
97
97
  exports.GeometryQualityColorThemeProvider = {
98
98
  name: prop_1.ValidationReport.Tag.GeometryQuality,
99
99
  label: 'Geometry Quality',
100
- category: "Validation" /* Validation */,
100
+ category: "Validation" /* ColorTheme.Category.Validation */,
101
101
  factory: GeometryQualityColorTheme,
102
102
  getParams: getGeometricQualityColorThemeParams,
103
103
  defaultValues: param_definition_1.ParamDefinition.getDefaultValues(getGeometricQualityColorThemeParams({})),
@@ -54,7 +54,7 @@ exports.RandomCoilIndexColorTheme = RandomCoilIndexColorTheme;
54
54
  exports.RandomCoilIndexColorThemeProvider = {
55
55
  name: prop_1.ValidationReport.Tag.RandomCoilIndex,
56
56
  label: 'Random Coil Index',
57
- category: "Validation" /* Validation */,
57
+ category: "Validation" /* ColorTheme.Category.Validation */,
58
58
  factory: RandomCoilIndexColorTheme,
59
59
  getParams: function () { return ({}); },
60
60
  defaultValues: param_definition_1.ParamDefinition.getDefaultValues({}),
@@ -42,7 +42,7 @@ function createIntraUnitClashCylinderMesh(ctx, unit, structure, theme, props, me
42
42
  pos(elements[a[edgeIndex]], posA);
43
43
  pos(elements[b[edgeIndex]], posB);
44
44
  },
45
- style: function (edgeIndex) { return 6 /* Disk */; },
45
+ style: function (edgeIndex) { return 6 /* LinkStyle.Disk */; },
46
46
  radius: function (edgeIndex) { return magnitude[edgeIndex] * sizeFactor; },
47
47
  };
48
48
  var _a = (0, link_1.createLinkCylinderMesh)(ctx, builderProps, props, mesh), m = _a.mesh, boundingSphere = _a.boundingSphere;
@@ -143,7 +143,7 @@ function createInterUnitClashCylinderMesh(ctx, structure, theme, props, mesh) {
143
143
  uA.conformation.position(uA.elements[b.indexA], posA);
144
144
  uB.conformation.position(uB.elements[b.indexB], posB);
145
145
  },
146
- style: function (edgeIndex) { return 6 /* Disk */; },
146
+ style: function (edgeIndex) { return 6 /* LinkStyle.Disk */; },
147
147
  radius: function (edgeIndex) { return edges[edgeIndex].props.magnitude * sizeFactor; }
148
148
  };
149
149
  var _a = (0, link_1.createLinkCylinderMesh)(ctx, builderProps, props, mesh), m = _a.mesh, boundingSphere = _a.boundingSphere;
@@ -302,6 +302,8 @@ var Canvas3D;
302
302
  stereoCamera.update();
303
303
  cam = stereoCamera;
304
304
  }
305
+ if (debug_1.isTimingMode)
306
+ webgl.timer.mark('Canvas3D.render');
305
307
  var ctx = { renderer: renderer, camera: cam, scene: scene, helper: helper };
306
308
  if (multi_sample_1.MultiSamplePass.isEnabled(p.multiSample)) {
307
309
  var forceOn = !cameraChanged && markingUpdated && !controls.isAnimating;
@@ -310,6 +312,8 @@ var Canvas3D;
310
312
  else {
311
313
  passes.draw.render(ctx, p, true);
312
314
  }
315
+ if (debug_1.isTimingMode)
316
+ webgl.timer.markEnd('Canvas3D.render');
313
317
  // if only marking has updated, do not set the flag to dirty
314
318
  pickHelper.dirty = pickHelper.dirty || shouldRender;
315
319
  didRender = true;
@@ -21,14 +21,14 @@ var B = input_observer_1.ButtonsType;
21
21
  var M = input_observer_1.ModifiersKeys;
22
22
  var Trigger = binding_1.Binding.Trigger;
23
23
  exports.DefaultTrackballBindings = {
24
- dragRotate: (0, binding_1.Binding)([Trigger(1 /* Primary */, M.create())], 'Rotate', 'Drag using ${triggers}'),
25
- dragRotateZ: (0, binding_1.Binding)([Trigger(1 /* Primary */, M.create({ shift: true }))], 'Rotate around z-axis', 'Drag using ${triggers}'),
26
- dragPan: (0, binding_1.Binding)([Trigger(2 /* Secondary */, M.create()), Trigger(1 /* Primary */, M.create({ control: true }))], 'Pan', 'Drag using ${triggers}'),
24
+ dragRotate: (0, binding_1.Binding)([Trigger(1 /* B.Flag.Primary */, M.create())], 'Rotate', 'Drag using ${triggers}'),
25
+ dragRotateZ: (0, binding_1.Binding)([Trigger(1 /* B.Flag.Primary */, M.create({ shift: true }))], 'Rotate around z-axis', 'Drag using ${triggers}'),
26
+ dragPan: (0, binding_1.Binding)([Trigger(2 /* B.Flag.Secondary */, M.create()), Trigger(1 /* B.Flag.Primary */, M.create({ control: true }))], 'Pan', 'Drag using ${triggers}'),
27
27
  dragZoom: binding_1.Binding.Empty,
28
- dragFocus: (0, binding_1.Binding)([Trigger(8 /* Forth */, M.create())], 'Focus', 'Drag using ${triggers}'),
29
- dragFocusZoom: (0, binding_1.Binding)([Trigger(4 /* Auxilary */, M.create())], 'Focus and zoom', 'Drag using ${triggers}'),
30
- scrollZoom: (0, binding_1.Binding)([Trigger(4 /* Auxilary */, M.create())], 'Zoom', 'Scroll using ${triggers}'),
31
- scrollFocus: (0, binding_1.Binding)([Trigger(4 /* Auxilary */, M.create({ shift: true }))], 'Clip', 'Scroll using ${triggers}'),
28
+ dragFocus: (0, binding_1.Binding)([Trigger(8 /* B.Flag.Forth */, M.create())], 'Focus', 'Drag using ${triggers}'),
29
+ dragFocusZoom: (0, binding_1.Binding)([Trigger(4 /* B.Flag.Auxilary */, M.create())], 'Focus and zoom', 'Drag using ${triggers}'),
30
+ scrollZoom: (0, binding_1.Binding)([Trigger(4 /* B.Flag.Auxilary */, M.create())], 'Zoom', 'Scroll using ${triggers}'),
31
+ scrollFocus: (0, binding_1.Binding)([Trigger(4 /* B.Flag.Auxilary */, M.create({ shift: true }))], 'Clip', 'Scroll using ${triggers}'),
32
32
  scrollFocusZoom: binding_1.Binding.Empty,
33
33
  };
34
34
  exports.TrackballControlsParams = {
@@ -89,7 +89,7 @@ var CameraHelper = /** @class */ (function () {
89
89
  });
90
90
  CameraHelper.prototype.getLoci = function (pickingId) {
91
91
  var objectId = pickingId.objectId, groupId = pickingId.groupId, instanceId = pickingId.instanceId;
92
- if (!this.renderObject || objectId !== this.renderObject.id || groupId === 0 /* None */)
92
+ if (!this.renderObject || objectId !== this.renderObject.id || groupId === 0 /* CameraHelperAxis.None */)
93
93
  return loci_1.EmptyLoci;
94
94
  return CameraAxesLoci(this, groupId, instanceId);
95
95
  };
@@ -117,12 +117,12 @@ var CameraHelper = /** @class */ (function () {
117
117
  exports.CameraHelper = CameraHelper;
118
118
  function getAxisLabel(axis) {
119
119
  switch (axis) {
120
- case 1 /* X */: return 'X Axis';
121
- case 2 /* Y */: return 'Y Axis';
122
- case 3 /* Z */: return 'Z Axis';
123
- case 4 /* XY */: return 'XY Plane';
124
- case 5 /* XZ */: return 'XZ Plane';
125
- case 6 /* YZ */: return 'YZ Plane';
120
+ case 1 /* CameraHelperAxis.X */: return 'X Axis';
121
+ case 2 /* CameraHelperAxis.Y */: return 'Y Axis';
122
+ case 3 /* CameraHelperAxis.Z */: return 'Z Axis';
123
+ case 4 /* CameraHelperAxis.XY */: return 'XY Plane';
124
+ case 5 /* CameraHelperAxis.XZ */: return 'XZ Plane';
125
+ case 6 /* CameraHelperAxis.YZ */: return 'YZ Plane';
126
126
  default: return 'Axes';
127
127
  }
128
128
  }
@@ -164,33 +164,33 @@ function createAxesMesh(scale, mesh) {
164
164
  var y = linear_algebra_1.Vec3.scale((0, linear_algebra_1.Vec3)(), linear_algebra_1.Vec3.unitY, scale);
165
165
  var z = linear_algebra_1.Vec3.scale((0, linear_algebra_1.Vec3)(), linear_algebra_1.Vec3.unitZ, scale);
166
166
  var cylinderProps = { radiusTop: radius, radiusBottom: radius, radialSegments: 32 };
167
- state.currentGroup = 0 /* None */;
167
+ state.currentGroup = 0 /* CameraHelperAxis.None */;
168
168
  (0, sphere_1.addSphere)(state, linear_algebra_1.Vec3.origin, radius, 2);
169
- state.currentGroup = 1 /* X */;
169
+ state.currentGroup = 1 /* CameraHelperAxis.X */;
170
170
  (0, sphere_1.addSphere)(state, x, radius, 2);
171
171
  (0, cylinder_1.addCylinder)(state, linear_algebra_1.Vec3.origin, x, 1, cylinderProps);
172
- state.currentGroup = 2 /* Y */;
172
+ state.currentGroup = 2 /* CameraHelperAxis.Y */;
173
173
  (0, sphere_1.addSphere)(state, y, radius, 2);
174
174
  (0, cylinder_1.addCylinder)(state, linear_algebra_1.Vec3.origin, y, 1, cylinderProps);
175
- state.currentGroup = 3 /* Z */;
175
+ state.currentGroup = 3 /* CameraHelperAxis.Z */;
176
176
  (0, sphere_1.addSphere)(state, z, radius, 2);
177
177
  (0, cylinder_1.addCylinder)(state, linear_algebra_1.Vec3.origin, z, 1, cylinderProps);
178
178
  linear_algebra_1.Vec3.scale(x, x, 0.5);
179
179
  linear_algebra_1.Vec3.scale(y, y, 0.5);
180
180
  linear_algebra_1.Vec3.scale(z, z, 0.5);
181
- state.currentGroup = 4 /* XY */;
181
+ state.currentGroup = 4 /* CameraHelperAxis.XY */;
182
182
  mesh_builder_1.MeshBuilder.addTriangle(state, linear_algebra_1.Vec3.origin, x, y);
183
183
  mesh_builder_1.MeshBuilder.addTriangle(state, linear_algebra_1.Vec3.origin, y, x);
184
184
  var xy = linear_algebra_1.Vec3.add((0, linear_algebra_1.Vec3)(), x, y);
185
185
  mesh_builder_1.MeshBuilder.addTriangle(state, xy, x, y);
186
186
  mesh_builder_1.MeshBuilder.addTriangle(state, xy, y, x);
187
- state.currentGroup = 5 /* XZ */;
187
+ state.currentGroup = 5 /* CameraHelperAxis.XZ */;
188
188
  mesh_builder_1.MeshBuilder.addTriangle(state, linear_algebra_1.Vec3.origin, x, z);
189
189
  mesh_builder_1.MeshBuilder.addTriangle(state, linear_algebra_1.Vec3.origin, z, x);
190
190
  var xz = linear_algebra_1.Vec3.add((0, linear_algebra_1.Vec3)(), x, z);
191
191
  mesh_builder_1.MeshBuilder.addTriangle(state, xz, x, z);
192
192
  mesh_builder_1.MeshBuilder.addTriangle(state, xz, z, x);
193
- state.currentGroup = 6 /* YZ */;
193
+ state.currentGroup = 6 /* CameraHelperAxis.YZ */;
194
194
  mesh_builder_1.MeshBuilder.addTriangle(state, linear_algebra_1.Vec3.origin, y, z);
195
195
  mesh_builder_1.MeshBuilder.addTriangle(state, linear_algebra_1.Vec3.origin, z, y);
196
196
  var yz = linear_algebra_1.Vec3.add((0, linear_algebra_1.Vec3)(), y, z);
@@ -88,7 +88,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
88
88
  };
89
89
  Canvas3dInteractionHelper.prototype.identify = function (e, t) {
90
90
  var xyChanged = this.startX !== this.endX || this.startY !== this.endY;
91
- if (e === 2 /* Drag */) {
91
+ if (e === 2 /* InputEvent.Drag */) {
92
92
  if (xyChanged && !this.outsideViewport(this.startX, this.startY)) {
93
93
  this.events.drag.next({ current: this.prevLoci, buttons: this.buttons, button: this.button, modifiers: this.modifiers, pageStart: linear_algebra_1.Vec2.create(this.startX, this.startY), pageEnd: linear_algebra_1.Vec2.create(this.endX, this.endY) });
94
94
  this.startX = this.endX;
@@ -103,7 +103,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
103
103
  this.startX = this.endX;
104
104
  this.startY = this.endY;
105
105
  }
106
- if (e === 1 /* Click */) {
106
+ if (e === 1 /* InputEvent.Click */) {
107
107
  var loci_1 = this.getLoci(this.id, this.position);
108
108
  this.events.click.next({ current: loci_1, buttons: this.buttons, button: this.button, modifiers: this.modifiers, page: linear_algebra_1.Vec2.create(this.endX, this.endY), position: this.position });
109
109
  this.prevLoci = loci_1;
@@ -119,7 +119,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
119
119
  if (this.inside && t - this.prevT > 1000 / this.props.maxFps) {
120
120
  this.prevT = t;
121
121
  this.currentIdentifyT = t;
122
- this.identify(this.isInteracting ? 2 /* Drag */ : 0 /* Move */, t);
122
+ this.identify(this.isInteracting ? 2 /* InputEvent.Drag */ : 0 /* InputEvent.Move */, t);
123
123
  }
124
124
  };
125
125
  Canvas3dInteractionHelper.prototype.leave = function () {
@@ -143,7 +143,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
143
143
  this.buttons = buttons;
144
144
  this.button = button;
145
145
  this.modifiers = modifiers;
146
- this.identify(1 /* Click */, 0);
146
+ this.identify(1 /* InputEvent.Click */, 0);
147
147
  };
148
148
  Canvas3dInteractionHelper.prototype.drag = function (x, y, buttons, button, modifiers) {
149
149
  this.endX = x;
@@ -151,7 +151,7 @@ var Canvas3dInteractionHelper = /** @class */ (function () {
151
151
  this.buttons = buttons;
152
152
  this.button = button;
153
153
  this.modifiers = modifiers;
154
- this.identify(2 /* Drag */, 0);
154
+ this.identify(2 /* InputEvent.Drag */, 0);
155
155
  };
156
156
  Canvas3dInteractionHelper.prototype.modify = function (modifiers) {
157
157
  if (input_observer_1.ModifiersKeys.areEqual(modifiers, this.modifiers))
@@ -15,6 +15,7 @@ var wboit_1 = require("./wboit");
15
15
  var postprocessing_1 = require("./postprocessing");
16
16
  var marking_1 = require("./marking");
17
17
  var util_1 = require("../../mol-gl/compute/util");
18
+ var debug_1 = require("../../mol-util/debug");
18
19
  var DrawPass = /** @class */ (function () {
19
20
  function DrawPass(webgl, width, height, enableWboit) {
20
21
  this.webgl = webgl;
@@ -95,8 +96,12 @@ var DrawPass = /** @class */ (function () {
95
96
  // render transparent primitives and volumes
96
97
  if (scene.opacityAverage < 1 || scene.volumes.renderables.length > 0) {
97
98
  this.wboit.bind();
98
- renderer.renderWboitTransparent(scene.primitives, camera, this.depthTextureOpaque);
99
- renderer.renderWboitTransparent(scene.volumes, camera, this.depthTextureOpaque);
99
+ if (scene.opacityAverage < 1) {
100
+ renderer.renderWboitTransparent(scene.primitives, camera, this.depthTextureOpaque);
101
+ }
102
+ if (scene.volumes.renderables.length > 0) {
103
+ renderer.renderWboitTransparent(scene.volumes, camera, this.depthTextureOpaque);
104
+ }
100
105
  // evaluate wboit
101
106
  if (postprocessing_1.PostprocessingPass.isEnabled(postprocessingProps)) {
102
107
  this.postprocessing.target.bind();
@@ -108,7 +113,7 @@ var DrawPass = /** @class */ (function () {
108
113
  }
109
114
  };
110
115
  DrawPass.prototype._renderBlended = function (renderer, camera, scene, toDrawingBuffer, transparentBackground, postprocessingProps) {
111
- var _a, _b;
116
+ var _a, _b, _c, _d;
112
117
  if (toDrawingBuffer) {
113
118
  this.drawTarget.bind();
114
119
  }
@@ -151,9 +156,29 @@ var DrawPass = /** @class */ (function () {
151
156
  (_b = this.colorTarget.depthRenderbuffer) === null || _b === void 0 ? void 0 : _b.attachFramebuffer(this.postprocessing.target.framebuffer);
152
157
  }
153
158
  }
154
- renderer.renderBlendedVolume(scene.volumes, camera, this.depthTextureOpaque);
159
+ if (scene.volumes.renderables.length > 0) {
160
+ var target = postprocessing_1.PostprocessingPass.isEnabled(postprocessingProps)
161
+ ? this.postprocessing.target : this.colorTarget;
162
+ if (!this.packedDepth) {
163
+ this.depthTextureOpaque.detachFramebuffer(target.framebuffer, 'depth');
164
+ }
165
+ else {
166
+ (_c = this.colorTarget.depthRenderbuffer) === null || _c === void 0 ? void 0 : _c.detachFramebuffer(target.framebuffer);
167
+ }
168
+ target.bind();
169
+ renderer.renderBlendedVolume(scene.volumes, camera, this.depthTextureOpaque);
170
+ if (!this.packedDepth) {
171
+ this.depthTextureOpaque.attachFramebuffer(target.framebuffer, 'depth');
172
+ }
173
+ else {
174
+ (_d = this.colorTarget.depthRenderbuffer) === null || _d === void 0 ? void 0 : _d.attachFramebuffer(target.framebuffer);
175
+ }
176
+ target.bind();
177
+ }
178
+ }
179
+ if (scene.opacityAverage < 1) {
180
+ renderer.renderBlendedTransparent(scene.primitives, camera, null);
155
181
  }
156
- renderer.renderBlendedTransparent(scene.primitives, camera, null);
157
182
  };
158
183
  DrawPass.prototype._render = function (renderer, camera, scene, helper, toDrawingBuffer, props) {
159
184
  var volumeRendering = scene.volumes.renderables.length > 0;
@@ -225,6 +250,8 @@ var DrawPass = /** @class */ (function () {
225
250
  this.webgl.gl.flush();
226
251
  };
227
252
  DrawPass.prototype.render = function (ctx, props, toDrawingBuffer) {
253
+ if (debug_1.isTimingMode)
254
+ this.webgl.timer.mark('DrawPass.render');
228
255
  var renderer = ctx.renderer, camera = ctx.camera, scene = ctx.scene, helper = ctx.helper;
229
256
  renderer.setTransparentBackground(props.transparentBackground);
230
257
  renderer.setDrawingBufferSize(this.colorTarget.getWidth(), this.colorTarget.getHeight());
@@ -236,6 +263,8 @@ var DrawPass = /** @class */ (function () {
236
263
  else {
237
264
  this._render(renderer, camera, scene, helper, toDrawingBuffer, props);
238
265
  }
266
+ if (debug_1.isTimingMode)
267
+ this.webgl.timer.markEnd('DrawPass.render');
239
268
  };
240
269
  DrawPass.prototype.getColorTarget = function (postprocessingProps) {
241
270
  if (postprocessing_1.AntialiasingPass.isEnabled(postprocessingProps)) {
@@ -17,6 +17,7 @@ var mol_util_1 = require("../../mol-util");
17
17
  var param_definition_1 = require("../../mol-util/param-definition");
18
18
  var quad_vert_1 = require("../../mol-gl/shader/quad.vert");
19
19
  var fxaa_frag_1 = require("../../mol-gl/shader/fxaa.frag");
20
+ var debug_1 = require("../../mol-util/debug");
20
21
  exports.FxaaParams = {
21
22
  edgeThresholdMin: param_definition_1.ParamDefinition.Numeric(0.0312, { min: 0.0312, max: 0.0833, step: 0.0001 }, { description: 'Trims the algorithm from processing darks.' }),
22
23
  edgeThresholdMax: param_definition_1.ParamDefinition.Numeric(0.063, { min: 0.063, max: 0.333, step: 0.001 }, { description: 'The minimum amount of local contrast required to apply algorithm.' }),
@@ -68,6 +69,8 @@ var FxaaPass = /** @class */ (function () {
68
69
  }
69
70
  };
70
71
  FxaaPass.prototype.render = function (viewport, target) {
72
+ if (debug_1.isTimingMode)
73
+ this.webgl.timer.mark('FxaaPass.render');
71
74
  if (target) {
72
75
  target.bind();
73
76
  }
@@ -76,6 +79,8 @@ var FxaaPass = /** @class */ (function () {
76
79
  }
77
80
  this.updateState(viewport);
78
81
  this.renderable.render();
82
+ if (debug_1.isTimingMode)
83
+ this.webgl.timer.markEnd('FxaaPass.render');
79
84
  };
80
85
  return FxaaPass;
81
86
  }());
@@ -19,6 +19,7 @@ var quad_vert_1 = require("../../mol-gl/shader/quad.vert");
19
19
  var overlay_frag_1 = require("../../mol-gl/shader/marking/overlay.frag");
20
20
  var color_1 = require("../../mol-util/color");
21
21
  var edge_frag_1 = require("../../mol-gl/shader/marking/edge.frag");
22
+ var debug_1 = require("../../mol-util/debug");
22
23
  exports.MarkingParams = {
23
24
  enabled: param_definition_1.ParamDefinition.Boolean(true),
24
25
  highlightEdgeColor: param_definition_1.ParamDefinition.Color(color_1.Color.darken(color_1.Color.fromNormalizedRgb(1.0, 0.4, 0.6), 1.0)),
@@ -91,6 +92,8 @@ var MarkingPass = /** @class */ (function () {
91
92
  mol_util_1.ValueCell.update(overlayValues.uGhostEdgeStrength, ghostEdgeStrength);
92
93
  };
93
94
  MarkingPass.prototype.render = function (viewport, target) {
95
+ if (debug_1.isTimingMode)
96
+ this.webgl.timer.mark('MarkingPass.render');
94
97
  this.edgesTarget.bind();
95
98
  this.setEdgeState(viewport);
96
99
  this.edge.render();
@@ -102,6 +105,8 @@ var MarkingPass = /** @class */ (function () {
102
105
  }
103
106
  this.setOverlayState(viewport);
104
107
  this.overlay.render();
108
+ if (debug_1.isTimingMode)
109
+ this.webgl.timer.markEnd('MarkingPass.render');
105
110
  };
106
111
  return MarkingPass;
107
112
  }());