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) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
@@ -93,4 +93,37 @@ export interface COMPAT_sRGB {
93
93
  readonly SRGB: number;
94
94
  }
95
95
  export declare function getSRGB(gl: GLRenderingContext): COMPAT_sRGB | null;
96
+ export interface COMPAT_disjoint_timer_query {
97
+ /** A GLint indicating the number of bits used to hold the query result for the given target. */
98
+ QUERY_COUNTER_BITS: number;
99
+ /** A WebGLQuery object, which is the currently active query for the given target. */
100
+ CURRENT_QUERY: number;
101
+ /** A GLuint64EXT containing the query result. */
102
+ QUERY_RESULT: number;
103
+ /** A GLboolean indicating whether or not a query result is available. */
104
+ QUERY_RESULT_AVAILABLE: number;
105
+ /** Elapsed time (in nanoseconds). */
106
+ TIME_ELAPSED: number;
107
+ /** The current time. */
108
+ TIMESTAMP: number;
109
+ /** A GLboolean indicating whether or not the GPU performed any disjoint operation. */
110
+ GPU_DISJOINT: number;
111
+ /** Creates a new WebGLTimerQueryEXT. */
112
+ createQuery: () => WebGLQuery;
113
+ /** Deletes a given WebGLTimerQueryEXT. */
114
+ deleteQuery: (query: WebGLQuery) => void;
115
+ /** Returns true if a given object is a valid WebGLTimerQueryEXT. */
116
+ isQuery: (query: WebGLQuery) => boolean;
117
+ /** The timer starts when all commands prior to beginQueryEXT have been fully executed. */
118
+ beginQuery: (target: number, query: WebGLQuery) => void;
119
+ /** The timer stops when all commands prior to endQueryEXT have been fully executed. */
120
+ endQuery: (target: number) => void;
121
+ /** Records the current time into the corresponding query object. */
122
+ queryCounter: (query: WebGLQuery, target: number) => void;
123
+ /** Returns information about a query target. */
124
+ getQuery: (target: number, pname: number) => WebGLQuery | number;
125
+ /** Return the state of a query object. */
126
+ getQueryParameter: (query: WebGLQuery, pname: number) => number | boolean;
127
+ }
128
+ export declare function getDisjointTimerQuery(gl: GLRenderingContext): COMPAT_disjoint_timer_query | null;
96
129
  export declare function testColorBuffer(gl: GLRenderingContext, type: number): boolean;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.testColorBuffer = exports.getSRGB = exports.getDepthTexture = exports.getShaderTextureLod = exports.getDrawBuffers = exports.getColorBufferHalfFloat = exports.getColorBufferFloat = exports.getFragDepth = exports.getBlendMinMax = exports.getTextureHalfFloatLinear = exports.getTextureHalfFloat = exports.getTextureFloatLinear = exports.getTextureFloat = exports.getVertexArrayObject = exports.getElementIndexUint = exports.getStandardDerivatives = exports.getInstancedArrays = exports.isWebGL2 = exports.isWebGL = void 0;
8
+ exports.testColorBuffer = exports.getDisjointTimerQuery = exports.getSRGB = exports.getDepthTexture = exports.getShaderTextureLod = exports.getDrawBuffers = exports.getColorBufferHalfFloat = exports.getColorBufferFloat = exports.getFragDepth = exports.getBlendMinMax = exports.getTextureHalfFloatLinear = exports.getTextureHalfFloat = exports.getTextureFloatLinear = exports.getTextureFloat = exports.getVertexArrayObject = exports.getElementIndexUint = exports.getStandardDerivatives = exports.getInstancedArrays = exports.isWebGL2 = exports.isWebGL = void 0;
9
9
  var debug_1 = require("../../mol-util/debug");
10
10
  var context_1 = require("./context");
11
11
  var program_1 = require("./program");
@@ -252,6 +252,54 @@ function getSRGB(gl) {
252
252
  }
253
253
  }
254
254
  exports.getSRGB = getSRGB;
255
+ function getDisjointTimerQuery(gl) {
256
+ if (isWebGL2(gl)) {
257
+ // Firefox has EXT_disjoint_timer_query in webgl2
258
+ var ext = gl.getExtension('EXT_disjoint_timer_query_webgl2') || gl.getExtension('EXT_disjoint_timer_query');
259
+ if (ext === null)
260
+ return null;
261
+ return {
262
+ QUERY_COUNTER_BITS: ext.QUERY_COUNTER_BITS_EXT,
263
+ CURRENT_QUERY: gl.CURRENT_QUERY,
264
+ QUERY_RESULT: gl.QUERY_RESULT,
265
+ QUERY_RESULT_AVAILABLE: gl.QUERY_RESULT_AVAILABLE,
266
+ TIME_ELAPSED: ext.TIME_ELAPSED_EXT,
267
+ TIMESTAMP: ext.TIMESTAMP_EXT,
268
+ GPU_DISJOINT: ext.GPU_DISJOINT_EXT,
269
+ createQuery: gl.createQuery.bind(gl),
270
+ deleteQuery: gl.deleteQuery.bind(gl),
271
+ isQuery: gl.isQuery.bind(gl),
272
+ beginQuery: gl.beginQuery.bind(gl),
273
+ endQuery: gl.endQuery.bind(gl),
274
+ queryCounter: ext.queryCounterEXT.bind(ext),
275
+ getQuery: gl.getQuery.bind(gl),
276
+ getQueryParameter: gl.getQueryParameter.bind(gl),
277
+ };
278
+ }
279
+ else {
280
+ var ext = gl.getExtension('EXT_disjoint_timer_query');
281
+ if (ext === null)
282
+ return null;
283
+ return {
284
+ QUERY_COUNTER_BITS: ext.QUERY_COUNTER_BITS_EXT,
285
+ CURRENT_QUERY: ext.CURRENT_QUERY_EXT,
286
+ QUERY_RESULT: ext.QUERY_RESULT_EXT,
287
+ QUERY_RESULT_AVAILABLE: ext.QUERY_RESULT_AVAILABLE_EXT,
288
+ TIME_ELAPSED: ext.TIME_ELAPSED_EXT,
289
+ TIMESTAMP: ext.TIMESTAMP_EXT,
290
+ GPU_DISJOINT: ext.GPU_DISJOINT_EXT,
291
+ createQuery: ext.createQueryEXT.bind(ext),
292
+ deleteQuery: ext.deleteQueryEXT.bind(ext),
293
+ isQuery: ext.isQueryEXT.bind(ext),
294
+ beginQuery: ext.beginQueryEXT.bind(ext),
295
+ endQuery: ext.endQueryEXT.bind(ext),
296
+ queryCounter: ext.queryCounterEXT.bind(ext),
297
+ getQuery: ext.getQueryEXT.bind(ext),
298
+ getQueryParameter: ext.getQueryObjectEXT.bind(ext),
299
+ };
300
+ }
301
+ }
302
+ exports.getDisjointTimerQuery = getDisjointTimerQuery;
255
303
  //
256
304
  var TextureTestVertShader = "\nattribute vec4 aPosition;\n\nvoid main() {\n gl_Position = aPosition;\n}";
257
305
  var TextureTestFragShader = "\nprecision mediump float;\nuniform vec4 uColor;\nuniform sampler2D uTexture;\n\nvoid main() {\n gl_FragColor = texture2D(uTexture, vec2(0.5, 0.5)) * uColor;\n}";
@@ -14,6 +14,7 @@ import { BehaviorSubject } from 'rxjs';
14
14
  import { now } from '../../mol-util/now';
15
15
  import { Texture, TextureFilter } from './texture';
16
16
  import { ComputeRenderable } from '../renderable';
17
+ import { WebGLTimer } from './timer';
17
18
  export declare function getGLContext(canvas: HTMLCanvasElement, attribs?: WebGLContextAttributes & {
18
19
  preferWebGl1?: boolean;
19
20
  }): GLRenderingContext | null;
@@ -45,6 +46,7 @@ export interface WebGLContext {
45
46
  readonly state: WebGLState;
46
47
  readonly stats: WebGLStats;
47
48
  readonly resources: WebGLResources;
49
+ readonly timer: WebGLTimer;
48
50
  readonly maxTextureSize: number;
49
51
  readonly max3dTextureSize: number;
50
52
  readonly maxRenderbufferSize: number;
@@ -18,6 +18,7 @@ var resources_1 = require("./resources");
18
18
  var render_target_1 = require("./render-target");
19
19
  var rxjs_1 = require("rxjs");
20
20
  var now_1 = require("../../mol-util/now");
21
+ var timer_1 = require("./timer");
21
22
  function getGLContext(canvas, attribs) {
22
23
  function get(id) {
23
24
  try {
@@ -176,6 +177,7 @@ function createContext(gl, props) {
176
177
  var state = (0, state_1.createState)(gl);
177
178
  var stats = createStats();
178
179
  var resources = (0, resources_1.createResources)(gl, state, stats, extensions);
180
+ var timer = (0, timer_1.createTimer)(gl, extensions);
179
181
  var parameters = {
180
182
  maxTextureSize: gl.getParameter(gl.MAX_TEXTURE_SIZE),
181
183
  max3dTextureSize: (0, compat_1.isWebGL2)(gl) ? gl.getParameter(gl.MAX_3D_TEXTURE_SIZE) : 0,
@@ -240,6 +242,7 @@ function createContext(gl, props) {
240
242
  state: state,
241
243
  stats: stats,
242
244
  resources: resources,
245
+ timer: timer,
243
246
  get maxTextureSize() { return parameters.maxTextureSize; },
244
247
  get max3dTextureSize() { return parameters.max3dTextureSize; },
245
248
  get maxRenderbufferSize() { return parameters.maxRenderbufferSize; },
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
- import { GLRenderingContext, COMPAT_instanced_arrays, COMPAT_standard_derivatives, COMPAT_vertex_array_object, COMPAT_element_index_uint, COMPAT_texture_float, COMPAT_texture_float_linear, COMPAT_blend_minmax, COMPAT_frag_depth, COMPAT_color_buffer_float, COMPAT_draw_buffers, COMPAT_shader_texture_lod, COMPAT_depth_texture, COMPAT_sRGB, COMPAT_texture_half_float, COMPAT_texture_half_float_linear, COMPAT_color_buffer_half_float } from './compat';
6
+ import { GLRenderingContext, COMPAT_instanced_arrays, COMPAT_standard_derivatives, COMPAT_vertex_array_object, COMPAT_element_index_uint, COMPAT_texture_float, COMPAT_texture_float_linear, COMPAT_blend_minmax, COMPAT_frag_depth, COMPAT_color_buffer_float, COMPAT_draw_buffers, COMPAT_shader_texture_lod, COMPAT_depth_texture, COMPAT_sRGB, COMPAT_texture_half_float, COMPAT_texture_half_float_linear, COMPAT_color_buffer_half_float, COMPAT_disjoint_timer_query } from './compat';
7
7
  export declare type WebGLExtensions = {
8
8
  instancedArrays: COMPAT_instanced_arrays;
9
9
  elementIndexUint: COMPAT_element_index_uint;
@@ -21,5 +21,6 @@ export declare type WebGLExtensions = {
21
21
  drawBuffers: COMPAT_draw_buffers | null;
22
22
  shaderTextureLod: COMPAT_shader_texture_lod | null;
23
23
  sRGB: COMPAT_sRGB | null;
24
+ disjointTimerQuery: COMPAT_disjoint_timer_query | null;
24
25
  };
25
26
  export declare function createExtensions(gl: GLRenderingContext): WebGLExtensions;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  */
@@ -79,6 +79,10 @@ function createExtensions(gl) {
79
79
  if (debug_1.isDebugMode && sRGB === null) {
80
80
  console.log('Could not find support for "sRGB"');
81
81
  }
82
+ var disjointTimerQuery = (0, compat_1.getDisjointTimerQuery)(gl);
83
+ if (debug_1.isDebugMode && disjointTimerQuery === null) {
84
+ console.log('Could not find support for "disjoint_timer_query"');
85
+ }
82
86
  return {
83
87
  instancedArrays: instancedArrays,
84
88
  standardDerivatives: standardDerivatives,
@@ -96,6 +100,7 @@ function createExtensions(gl) {
96
100
  drawBuffers: drawBuffers,
97
101
  shaderTextureLod: shaderTextureLod,
98
102
  sRGB: sRGB,
103
+ disjointTimerQuery: disjointTimerQuery,
99
104
  };
100
105
  }
101
106
  exports.createExtensions = createExtensions;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright (c) 2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
+ */
6
+ import { GLRenderingContext } from './compat';
7
+ import { WebGLExtensions } from './extensions';
8
+ export declare type TimerResult = {
9
+ readonly label: string;
10
+ readonly timeElapsed: number;
11
+ readonly children: TimerResult[];
12
+ };
13
+ export declare type WebGLTimer = {
14
+ /** Check with GPU for finished timers. */
15
+ resolve: () => TimerResult[];
16
+ mark: (label: string) => void;
17
+ markEnd: (label: string) => void;
18
+ clear: () => void;
19
+ destroy: () => void;
20
+ };
21
+ export declare function createTimer(gl: GLRenderingContext, extensions: WebGLExtensions): WebGLTimer;
22
+ export declare function printTimerResults(results: TimerResult[]): void[];
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ *
5
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.printTimerResults = exports.createTimer = void 0;
9
+ function getQuery(extensions) {
10
+ return extensions.disjointTimerQuery ? extensions.disjointTimerQuery.createQuery() : null;
11
+ }
12
+ function createTimer(gl, extensions) {
13
+ var dtq = extensions.disjointTimerQuery;
14
+ var queries = new Map();
15
+ var pending = new Map();
16
+ var stack = [];
17
+ var measures = [];
18
+ var current = null;
19
+ var clear = function () {
20
+ if (!dtq)
21
+ return;
22
+ queries.forEach(function (_, query) {
23
+ dtq.deleteQuery(query);
24
+ });
25
+ pending.clear();
26
+ measures = [];
27
+ current = null;
28
+ };
29
+ var add = function () {
30
+ if (!dtq)
31
+ return;
32
+ var query = getQuery(extensions);
33
+ if (!query)
34
+ return;
35
+ dtq.beginQuery(dtq.TIME_ELAPSED, query);
36
+ pending.forEach(function (measure, _) {
37
+ measure.queries.push(query);
38
+ });
39
+ queries.set(query, { refCount: pending.size });
40
+ current = query;
41
+ };
42
+ return {
43
+ resolve: function () {
44
+ var results = [];
45
+ if (!dtq || !measures.length)
46
+ return results;
47
+ // console.log('resolve');
48
+ queries.forEach(function (result, query) {
49
+ if (result.timeElapsed !== undefined)
50
+ return;
51
+ var available = dtq.getQueryParameter(query, dtq.QUERY_RESULT_AVAILABLE);
52
+ var disjoint = gl.getParameter(dtq.GPU_DISJOINT);
53
+ if (available && !disjoint) {
54
+ var timeElapsed = dtq.getQueryParameter(query, dtq.QUERY_RESULT);
55
+ result.timeElapsed = timeElapsed;
56
+ // console.log('timeElapsed', result.timeElapsed);
57
+ }
58
+ if (available || disjoint) {
59
+ dtq.deleteQuery(query);
60
+ }
61
+ });
62
+ var unresolved = [];
63
+ var _loop_1 = function (measure) {
64
+ if (measure.queries.every(function (q) { var _a; return ((_a = queries.get(q)) === null || _a === void 0 ? void 0 : _a.timeElapsed) !== undefined; })) {
65
+ var timeElapsed = 0;
66
+ for (var _a = 0, _b = measure.queries; _a < _b.length; _a++) {
67
+ var query = _b[_a];
68
+ var result = queries.get(query);
69
+ timeElapsed += result.timeElapsed;
70
+ result.refCount -= 1;
71
+ }
72
+ measure.timeElapsed = timeElapsed;
73
+ if (measure.root) {
74
+ var children = [];
75
+ var add_1 = function (measures, children) {
76
+ for (var _i = 0, measures_2 = measures; _i < measures_2.length; _i++) {
77
+ var measure_1 = measures_2[_i];
78
+ var result = {
79
+ label: measure_1.label,
80
+ timeElapsed: measure_1.timeElapsed,
81
+ children: []
82
+ };
83
+ children.push(result);
84
+ add_1(measure_1.children, result.children);
85
+ }
86
+ };
87
+ add_1(measure.children, children);
88
+ results.push({ label: measure.label, timeElapsed: timeElapsed, children: children });
89
+ }
90
+ }
91
+ else {
92
+ unresolved.push(measure);
93
+ }
94
+ };
95
+ for (var _i = 0, measures_1 = measures; _i < measures_1.length; _i++) {
96
+ var measure = measures_1[_i];
97
+ _loop_1(measure);
98
+ }
99
+ measures = unresolved;
100
+ queries.forEach(function (result, query) {
101
+ if (result.refCount === 0) {
102
+ queries.delete(query);
103
+ }
104
+ });
105
+ return results;
106
+ },
107
+ mark: function (label) {
108
+ if (!dtq)
109
+ return;
110
+ if (pending.has(label)) {
111
+ throw new Error("Timer mark for '".concat(label, "' already exists"));
112
+ }
113
+ if (current !== null) {
114
+ dtq.endQuery(dtq.TIME_ELAPSED);
115
+ }
116
+ var measure = { label: label, queries: [], children: [], root: current === null };
117
+ pending.set(label, measure);
118
+ if (stack.length) {
119
+ stack[stack.length - 1].children.push(measure);
120
+ }
121
+ stack.push(measure);
122
+ add();
123
+ },
124
+ markEnd: function (label) {
125
+ var _a;
126
+ if (!dtq)
127
+ return;
128
+ var measure = pending.get(label);
129
+ if (!measure) {
130
+ throw new Error("Timer mark for '".concat(label, "' does not exist"));
131
+ }
132
+ if (((_a = stack.pop()) === null || _a === void 0 ? void 0 : _a.label) !== label) {
133
+ throw new Error("Timer mark for '".concat(label, "' has pending nested mark"));
134
+ }
135
+ dtq.endQuery(dtq.TIME_ELAPSED);
136
+ pending.delete(label);
137
+ measures.push(measure);
138
+ if (pending.size > 0) {
139
+ add();
140
+ }
141
+ else {
142
+ current = null;
143
+ }
144
+ },
145
+ clear: clear,
146
+ destroy: function () {
147
+ clear();
148
+ }
149
+ };
150
+ }
151
+ exports.createTimer = createTimer;
152
+ function formatTimerResult(result) {
153
+ var timeElapsed = result.timeElapsed / 1000 / 1000;
154
+ return "".concat(result.label, " ").concat(timeElapsed.toFixed(2), "ms");
155
+ }
156
+ function printTimerResults(results) {
157
+ return results.map(function (r) {
158
+ var f = formatTimerResult(r);
159
+ if (r.children.length) {
160
+ console.groupCollapsed(f);
161
+ printTimerResults(r.children);
162
+ console.groupEnd();
163
+ }
164
+ else {
165
+ console.log(f);
166
+ }
167
+ });
168
+ }
169
+ exports.printTimerResults = printTimerResults;
@@ -78,37 +78,37 @@ var ArrayEncoding;
78
78
  ArrayEncoding.by = by;
79
79
  function uint8(data) {
80
80
  return {
81
- encodings: [{ kind: 'ByteArray', type: 4 /* Uint8 */ }],
81
+ encodings: [{ kind: 'ByteArray', type: 4 /* Encoding.IntDataType.Uint8 */ }],
82
82
  data: data
83
83
  };
84
84
  }
85
85
  function int8(data) {
86
86
  return {
87
- encodings: [{ kind: 'ByteArray', type: 1 /* Int8 */ }],
87
+ encodings: [{ kind: 'ByteArray', type: 1 /* Encoding.IntDataType.Int8 */ }],
88
88
  data: new Uint8Array(data.buffer, data.byteOffset)
89
89
  };
90
90
  }
91
91
  var writers = (_a = {},
92
- _a[2 /* Int16 */] = function (v, i, a) { v.setInt16(2 * i, a, true); },
93
- _a[5 /* Uint16 */] = function (v, i, a) { v.setUint16(2 * i, a, true); },
94
- _a[3 /* Int32 */] = function (v, i, a) { v.setInt32(4 * i, a, true); },
95
- _a[6 /* Uint32 */] = function (v, i, a) { v.setUint32(4 * i, a, true); },
96
- _a[32 /* Float32 */] = function (v, i, a) { v.setFloat32(4 * i, a, true); },
97
- _a[33 /* Float64 */] = function (v, i, a) { v.setFloat64(8 * i, a, true); },
92
+ _a[2 /* Encoding.IntDataType.Int16 */] = function (v, i, a) { v.setInt16(2 * i, a, true); },
93
+ _a[5 /* Encoding.IntDataType.Uint16 */] = function (v, i, a) { v.setUint16(2 * i, a, true); },
94
+ _a[3 /* Encoding.IntDataType.Int32 */] = function (v, i, a) { v.setInt32(4 * i, a, true); },
95
+ _a[6 /* Encoding.IntDataType.Uint32 */] = function (v, i, a) { v.setUint32(4 * i, a, true); },
96
+ _a[32 /* Encoding.FloatDataType.Float32 */] = function (v, i, a) { v.setFloat32(4 * i, a, true); },
97
+ _a[33 /* Encoding.FloatDataType.Float64 */] = function (v, i, a) { v.setFloat64(8 * i, a, true); },
98
98
  _a);
99
99
  var byteSizes = (_b = {},
100
- _b[2 /* Int16 */] = 2,
101
- _b[5 /* Uint16 */] = 2,
102
- _b[3 /* Int32 */] = 4,
103
- _b[6 /* Uint32 */] = 4,
104
- _b[32 /* Float32 */] = 4,
105
- _b[33 /* Float64 */] = 8,
100
+ _b[2 /* Encoding.IntDataType.Int16 */] = 2,
101
+ _b[5 /* Encoding.IntDataType.Uint16 */] = 2,
102
+ _b[3 /* Encoding.IntDataType.Int32 */] = 4,
103
+ _b[6 /* Encoding.IntDataType.Uint32 */] = 4,
104
+ _b[32 /* Encoding.FloatDataType.Float32 */] = 4,
105
+ _b[33 /* Encoding.FloatDataType.Float64 */] = 8,
106
106
  _b);
107
107
  function byteArray(data) {
108
108
  var type = encoding_1.Encoding.getDataType(data);
109
- if (type === 1 /* Int8 */)
109
+ if (type === 1 /* Encoding.IntDataType.Int8 */)
110
110
  return int8(data);
111
- else if (type === 4 /* Uint8 */)
111
+ else if (type === 4 /* Encoding.IntDataType.Uint8 */)
112
112
  return uint8(data);
113
113
  var result = new Uint8Array(data.length * byteSizes[type]);
114
114
  var w = writers[type];
@@ -173,7 +173,7 @@ var ArrayEncoding;
173
173
  var srcType = encoding_1.Encoding.getDataType(data);
174
174
  if (srcType === void 0) {
175
175
  data = new Int32Array(data);
176
- srcType = 3 /* Int32 */;
176
+ srcType = 3 /* Encoding.IntDataType.Int32 */;
177
177
  }
178
178
  if (!data.length) {
179
179
  return {
@@ -217,7 +217,7 @@ var ArrayEncoding;
217
217
  var srcType = encoding_1.Encoding.getDataType(data);
218
218
  if (srcType === void 0) {
219
219
  data = new Int32Array(data);
220
- srcType = 3 /* Int32 */;
220
+ srcType = 3 /* Encoding.IntDataType.Int32 */;
221
221
  }
222
222
  if (!data.length) {
223
223
  return {
@@ -25,14 +25,14 @@ function decodeStep(data, encoding) {
25
25
  switch (encoding.kind) {
26
26
  case 'ByteArray': {
27
27
  switch (encoding.type) {
28
- case 4 /* Uint8 */: return data;
29
- case 1 /* Int8 */: return int8(data);
30
- case 2 /* Int16 */: return int16(data);
31
- case 5 /* Uint16 */: return uint16(data);
32
- case 3 /* Int32 */: return int32(data);
33
- case 6 /* Uint32 */: return uint32(data);
34
- case 32 /* Float32 */: return float32(data);
35
- case 33 /* Float64 */: return float64(data);
28
+ case 4 /* Encoding.IntDataType.Uint8 */: return data;
29
+ case 1 /* Encoding.IntDataType.Int8 */: return int8(data);
30
+ case 2 /* Encoding.IntDataType.Int16 */: return int16(data);
31
+ case 5 /* Encoding.IntDataType.Uint16 */: return uint16(data);
32
+ case 3 /* Encoding.IntDataType.Int32 */: return int32(data);
33
+ case 6 /* Encoding.IntDataType.Uint32 */: return uint32(data);
34
+ case 32 /* Encoding.FloatDataType.Float32 */: return float32(data);
35
+ case 33 /* Encoding.FloatDataType.Float64 */: return float64(data);
36
36
  default: (0, type_helpers_1.assertUnreachable)(encoding.type);
37
37
  }
38
38
  }
@@ -46,19 +46,19 @@ function decodeStep(data, encoding) {
46
46
  }
47
47
  function getIntArray(type, size) {
48
48
  switch (type) {
49
- case 1 /* Int8 */: return new Int8Array(size);
50
- case 2 /* Int16 */: return new Int16Array(size);
51
- case 3 /* Int32 */: return new Int32Array(size);
52
- case 4 /* Uint8 */: return new Uint8Array(size);
53
- case 5 /* Uint16 */: return new Uint16Array(size);
54
- case 6 /* Uint32 */: return new Uint32Array(size);
49
+ case 1 /* Encoding.IntDataType.Int8 */: return new Int8Array(size);
50
+ case 2 /* Encoding.IntDataType.Int16 */: return new Int16Array(size);
51
+ case 3 /* Encoding.IntDataType.Int32 */: return new Int32Array(size);
52
+ case 4 /* Encoding.IntDataType.Uint8 */: return new Uint8Array(size);
53
+ case 5 /* Encoding.IntDataType.Uint16 */: return new Uint16Array(size);
54
+ case 6 /* Encoding.IntDataType.Uint32 */: return new Uint32Array(size);
55
55
  default: (0, type_helpers_1.assertUnreachable)(type);
56
56
  }
57
57
  }
58
58
  function getFloatArray(type, size) {
59
59
  switch (type) {
60
- case 32 /* Float32 */: return new Float32Array(size);
61
- case 33 /* Float64 */: return new Float64Array(size);
60
+ case 32 /* Encoding.FloatDataType.Float32 */: return new Float32Array(size);
61
+ case 33 /* Encoding.FloatDataType.Float64 */: return new Float64Array(size);
62
62
  default: (0, type_helpers_1.assertUnreachable)(type);
63
63
  }
64
64
  }
@@ -13,23 +13,23 @@ var Encoding;
13
13
  function getDataType(data) {
14
14
  var srcType;
15
15
  if (data instanceof Int8Array)
16
- srcType = 1 /* Int8 */;
16
+ srcType = 1 /* Encoding.IntDataType.Int8 */;
17
17
  else if (data instanceof Int16Array)
18
- srcType = 2 /* Int16 */;
18
+ srcType = 2 /* Encoding.IntDataType.Int16 */;
19
19
  else if (data instanceof Int32Array)
20
- srcType = 3 /* Int32 */;
20
+ srcType = 3 /* Encoding.IntDataType.Int32 */;
21
21
  else if (data instanceof Uint8Array)
22
- srcType = 4 /* Uint8 */;
22
+ srcType = 4 /* Encoding.IntDataType.Uint8 */;
23
23
  else if (data instanceof Uint16Array)
24
- srcType = 5 /* Uint16 */;
24
+ srcType = 5 /* Encoding.IntDataType.Uint16 */;
25
25
  else if (data instanceof Uint32Array)
26
- srcType = 6 /* Uint32 */;
26
+ srcType = 6 /* Encoding.IntDataType.Uint32 */;
27
27
  else if (data instanceof Float32Array)
28
- srcType = 32 /* Float32 */;
28
+ srcType = 32 /* Encoding.FloatDataType.Float32 */;
29
29
  else if (data instanceof Float64Array)
30
- srcType = 33 /* Float64 */;
30
+ srcType = 33 /* Encoding.FloatDataType.Float64 */;
31
31
  else
32
- srcType = 3 /* Int32 */; // throw new Error('Unsupported integer data type.');
32
+ srcType = 3 /* Encoding.IntDataType.Int32 */; // throw new Error('Unsupported integer data type.');
33
33
  return srcType;
34
34
  }
35
35
  Encoding.getDataType = getDataType;
@@ -16,10 +16,10 @@ function Field(column) {
16
16
  var isNumeric = db_1.ColumnHelpers.isTypedArray(data);
17
17
  var str = isNumeric
18
18
  ? mask
19
- ? function (row) { return mask[row] === 0 /* Present */ ? '' + data[row] : ''; }
19
+ ? function (row) { return mask[row] === 0 /* Column.ValueKind.Present */ ? '' + data[row] : ''; }
20
20
  : function (row) { return '' + data[row]; }
21
21
  : mask
22
- ? function (row) { return mask[row] === 0 /* Present */ ? data[row] : ''; }
22
+ ? function (row) { return mask[row] === 0 /* Column.ValueKind.Present */ ? data[row] : ''; }
23
23
  : function (row) { return data[row]; };
24
24
  var int = isNumeric
25
25
  ? function (row) { return data[row]; }
@@ -29,7 +29,7 @@ function Field(column) {
29
29
  : function (row) { var v = data[row]; return (0, number_parser_1.parseFloat)(v, 0, v.length); };
30
30
  var valueKind = mask
31
31
  ? function (row) { return mask[row]; }
32
- : function (row) { return 0 /* Present */; };
32
+ : function (row) { return 0 /* Column.ValueKind.Present */; };
33
33
  var rowCount = data.length;
34
34
  return {
35
35
  __array: data,
@@ -78,15 +78,15 @@ var CifField;
78
78
  var valueKind = function (row) {
79
79
  var v = values[row], l = v.length;
80
80
  if (l > 1)
81
- return 0 /* Present */;
81
+ return 0 /* Column.ValueKind.Present */;
82
82
  if (l === 0)
83
- return 1 /* NotPresent */;
83
+ return 1 /* Column.ValueKind.NotPresent */;
84
84
  var c = v.charCodeAt(0);
85
85
  if (c === 46 /* . */)
86
- return 1 /* NotPresent */;
86
+ return 1 /* Column.ValueKind.NotPresent */;
87
87
  if (c === 63 /* ? */)
88
- return 2 /* Unknown */;
89
- return 0 /* Present */;
88
+ return 2 /* Column.ValueKind.Unknown */;
89
+ return 0 /* Column.ValueKind.Present */;
90
90
  };
91
91
  return {
92
92
  __array: void 0,
@@ -108,7 +108,7 @@ var CifField;
108
108
  var rowCount = values.length;
109
109
  var str = function (row) { return '' + values[row]; };
110
110
  var float = function (row) { return values[row]; };
111
- var valueKind = function (row) { return 0 /* Present */; };
111
+ var valueKind = function (row) { return 0 /* Column.ValueKind.Present */; };
112
112
  var toFloatArray = function (params) {
113
113
  if (!params || params.array && values instanceof params.array) {
114
114
  return values;
@@ -150,15 +150,15 @@ var CifField;
150
150
  var valueKind = function (row) {
151
151
  var s = indices[2 * row], l = indices[2 * row + 1] - s;
152
152
  if (l > 1)
153
- return 0 /* Present */;
153
+ return 0 /* Column.ValueKind.Present */;
154
154
  if (l === 0)
155
- return 1 /* NotPresent */;
155
+ return 1 /* Column.ValueKind.NotPresent */;
156
156
  var v = data.charCodeAt(s);
157
157
  if (v === 46 /* . */)
158
- return 1 /* NotPresent */;
158
+ return 1 /* Column.ValueKind.NotPresent */;
159
159
  if (v === 63 /* ? */)
160
- return 2 /* Unknown */;
161
- return 0 /* Present */;
160
+ return 2 /* Column.ValueKind.Unknown */;
161
+ return 0 /* Column.ValueKind.Present */;
162
162
  };
163
163
  return {
164
164
  __array: void 0,
@@ -282,14 +282,14 @@ function getCifFieldType(field) {
282
282
  var floatCount = 0, hasStringOrScientific = false, undefinedCount = 0;
283
283
  for (var i = 0, _i = field.rowCount; i < _i; i++) {
284
284
  var k = field.valueKind(i);
285
- if (k !== 0 /* Present */) {
285
+ if (k !== 0 /* Column.ValueKind.Present */) {
286
286
  undefinedCount++;
287
287
  continue;
288
288
  }
289
289
  var type = (0, number_parser_1.getNumberType)(field.str(i));
290
- if (type === 0 /* Int */)
290
+ if (type === 0 /* NumberType.Int */)
291
291
  continue;
292
- else if (type === 1 /* Float */)
292
+ else if (type === 1 /* NumberType.Float */)
293
293
  floatCount++;
294
294
  else {
295
295
  hasStringOrScientific = true;
@@ -99,7 +99,7 @@ function createListColumn(schema, category, key) {
99
99
  isDefined: !!f,
100
100
  rowCount: category.rowCount,
101
101
  value: value,
102
- valueKind: f ? f.valueKind : function () { return 1 /* NotPresent */; },
102
+ valueKind: f ? f.valueKind : function () { return 1 /* Column.ValueKind.NotPresent */; },
103
103
  areValuesEqual: function (rowA, rowB) { return (0, mol_util_1.arrayEqual)(value(rowA), value(rowB)); },
104
104
  toArray: toArray
105
105
  };