molstar 3.8.2 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +202 -202
  3. package/build/viewer/embedded.html +43 -43
  4. package/build/viewer/index.html +109 -106
  5. package/build/viewer/molstar.js +1 -1
  6. package/lib/apps/docking-viewer/index.html +36 -36
  7. package/lib/apps/viewer/app.d.ts +5 -2
  8. package/lib/apps/viewer/app.js +11 -7
  9. package/lib/apps/viewer/embedded.html +43 -43
  10. package/lib/apps/viewer/index.html +109 -106
  11. package/lib/cli/cif2bcif/converter.js +1 -1
  12. package/lib/commonjs/apps/viewer/app.d.ts +5 -2
  13. package/lib/commonjs/apps/viewer/app.js +12 -7
  14. package/lib/commonjs/cli/cif2bcif/converter.js +1 -1
  15. package/lib/commonjs/examples/alpha-orbitals/index.d.ts +1 -1
  16. package/lib/commonjs/examples/alpha-orbitals/index.js +4 -1
  17. package/lib/commonjs/examples/basic-wrapper/custom-theme.js +1 -1
  18. package/lib/commonjs/examples/proteopedia-wrapper/coloring.js +3 -3
  19. package/lib/commonjs/extensions/alpha-orbitals/density.d.ts +1 -1
  20. package/lib/commonjs/extensions/alpha-orbitals/density.js +6 -2
  21. package/lib/commonjs/extensions/alpha-orbitals/orbitals.d.ts +1 -1
  22. package/lib/commonjs/extensions/alpha-orbitals/orbitals.js +6 -3
  23. package/lib/commonjs/extensions/anvil/algorithm.js +1 -1
  24. package/lib/commonjs/extensions/cellpack/color/generate.js +1 -1
  25. package/lib/commonjs/extensions/cellpack/color/provided.js +1 -1
  26. package/lib/commonjs/extensions/cellpack/state.js +1 -1
  27. package/lib/commonjs/extensions/dnatco/confal-pyramids/color.js +1 -1
  28. package/lib/commonjs/extensions/g3d/model.js +1 -1
  29. package/lib/commonjs/extensions/geo-export/ui.js +1 -0
  30. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
  31. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
  32. package/lib/commonjs/extensions/mp4-export/ui.js +1 -0
  33. package/lib/commonjs/extensions/pdbe/structure-quality-report/color.js +1 -1
  34. package/lib/commonjs/extensions/rcsb/assembly-symmetry/color.js +4 -4
  35. package/lib/commonjs/extensions/rcsb/validation-report/color/density-fit.js +1 -1
  36. package/lib/commonjs/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
  37. package/lib/commonjs/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
  38. package/lib/commonjs/extensions/rcsb/validation-report/representation.js +2 -2
  39. package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
  40. package/lib/commonjs/mol-canvas3d/controls/trackball.js +7 -7
  41. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +14 -14
  42. package/lib/commonjs/mol-canvas3d/helper/interaction-events.js +5 -5
  43. package/lib/commonjs/mol-canvas3d/passes/draw.js +34 -5
  44. package/lib/commonjs/mol-canvas3d/passes/fxaa.js +5 -0
  45. package/lib/commonjs/mol-canvas3d/passes/marking.js +5 -0
  46. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +9 -0
  47. package/lib/commonjs/mol-canvas3d/passes/pick.d.ts +18 -5
  48. package/lib/commonjs/mol-canvas3d/passes/pick.js +125 -24
  49. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +5 -0
  50. package/lib/commonjs/mol-canvas3d/passes/smaa.js +4 -0
  51. package/lib/commonjs/mol-canvas3d/passes/wboit.js +4 -0
  52. package/lib/commonjs/mol-data/db/column.js +5 -5
  53. package/lib/commonjs/mol-data/db/table.js +2 -2
  54. package/lib/commonjs/mol-data/util/array.d.ts +1 -1
  55. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +1 -1
  56. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +0 -1
  57. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +1 -1
  58. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
  59. package/lib/commonjs/mol-gl/compute/grid3d.d.ts +2 -2
  60. package/lib/commonjs/mol-gl/compute/grid3d.js +30 -8
  61. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
  62. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
  63. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
  64. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +6 -1
  65. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
  66. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
  67. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
  68. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -10
  69. package/lib/commonjs/mol-gl/renderer.js +77 -32
  70. package/lib/commonjs/mol-gl/scene.js +2 -0
  71. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  72. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  73. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  74. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  75. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  76. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  77. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  78. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  79. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  80. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  81. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  82. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  83. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  84. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  85. package/lib/commonjs/mol-gl/shader/lines.frag.d.ts +1 -1
  86. package/lib/commonjs/mol-gl/shader/lines.frag.js +1 -1
  87. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  88. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  89. package/lib/commonjs/mol-gl/shader/points.frag.d.ts +1 -1
  90. package/lib/commonjs/mol-gl/shader/points.frag.js +1 -1
  91. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  92. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  93. package/lib/commonjs/mol-gl/shader/text.frag.d.ts +1 -1
  94. package/lib/commonjs/mol-gl/shader/text.frag.js +1 -1
  95. package/lib/commonjs/mol-gl/shader-code.d.ts +1 -1
  96. package/lib/commonjs/mol-gl/shader-code.js +41 -9
  97. package/lib/commonjs/mol-gl/webgl/compat.d.ts +34 -1
  98. package/lib/commonjs/mol-gl/webgl/compat.js +50 -2
  99. package/lib/commonjs/mol-gl/webgl/context.d.ts +2 -0
  100. package/lib/commonjs/mol-gl/webgl/context.js +3 -0
  101. package/lib/commonjs/mol-gl/webgl/extensions.d.ts +3 -2
  102. package/lib/commonjs/mol-gl/webgl/extensions.js +6 -1
  103. package/lib/commonjs/mol-gl/webgl/timer.d.ts +22 -0
  104. package/lib/commonjs/mol-gl/webgl/timer.js +169 -0
  105. package/lib/commonjs/mol-io/common/binary-cif/array-encoder.js +18 -18
  106. package/lib/commonjs/mol-io/common/binary-cif/decoder.js +16 -16
  107. package/lib/commonjs/mol-io/common/binary-cif/encoding.js +9 -9
  108. package/lib/commonjs/mol-io/reader/cif/binary/field.js +3 -3
  109. package/lib/commonjs/mol-io/reader/cif/data-model.js +14 -14
  110. package/lib/commonjs/mol-io/reader/cif/schema.js +1 -1
  111. package/lib/commonjs/mol-io/reader/cif/text/parser.js +23 -23
  112. package/lib/commonjs/mol-io/reader/common/text/column/fixed.js +1 -1
  113. package/lib/commonjs/mol-io/reader/common/text/column/token.js +1 -1
  114. package/lib/commonjs/mol-io/reader/common/text/number-parser.js +6 -6
  115. package/lib/commonjs/mol-io/reader/csv/parser.js +8 -8
  116. package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +10 -10
  117. package/lib/commonjs/mol-io/writer/cif/encoder/text.js +7 -7
  118. package/lib/commonjs/mol-io/writer/cif/encoder.js +8 -8
  119. package/lib/commonjs/mol-io/writer/mol2/encoder.js +4 -4
  120. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +13 -2
  121. package/lib/commonjs/mol-model/sequence/alignment/sequence.js +3 -3
  122. package/lib/commonjs/mol-model/sequence/sequence.js +9 -9
  123. package/lib/commonjs/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
  124. package/lib/commonjs/mol-model/structure/export/categories/secondary-structure.js +2 -2
  125. package/lib/commonjs/mol-model/structure/export/categories/utils.js +1 -1
  126. package/lib/commonjs/mol-model/structure/model/model.js +2 -2
  127. package/lib/commonjs/mol-model/structure/model/properties/custom/indexed.js +6 -6
  128. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
  129. package/lib/commonjs/mol-model/structure/model/types.js +116 -116
  130. package/lib/commonjs/mol-model/structure/query/context.js +1 -1
  131. package/lib/commonjs/mol-model/structure/query/queries/generators.js +5 -5
  132. package/lib/commonjs/mol-model/structure/query/queries/internal.js +4 -4
  133. package/lib/commonjs/mol-model/structure/query/queries/modifiers.js +4 -4
  134. package/lib/commonjs/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
  135. package/lib/commonjs/mol-model/structure/query/utils/structure-distance.js +9 -9
  136. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.d.ts +3 -1
  137. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.js +192 -108
  138. package/lib/commonjs/mol-model/structure/structure/element/loci.js +5 -5
  139. package/lib/commonjs/mol-model/structure/structure/element/stats.js +5 -5
  140. package/lib/commonjs/mol-model/structure/structure/properties.js +5 -5
  141. package/lib/commonjs/mol-model/structure/structure/structure.js +11 -11
  142. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
  143. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
  144. package/lib/commonjs/mol-model/structure/structure/unit/bonds.js +2 -2
  145. package/lib/commonjs/mol-model/structure/structure/unit/resonance.js +1 -1
  146. package/lib/commonjs/mol-model/structure/structure/unit/rings/compute.js +6 -6
  147. package/lib/commonjs/mol-model/structure/structure/unit/rings.js +6 -6
  148. package/lib/commonjs/mol-model/structure/structure/unit.js +16 -16
  149. package/lib/commonjs/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
  150. package/lib/commonjs/mol-model/structure/util.js +4 -4
  151. package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +2 -2
  152. package/lib/commonjs/mol-model-formats/structure/basic/parser.js +4 -4
  153. package/lib/commonjs/mol-model-formats/structure/basic/properties.js +1 -1
  154. package/lib/commonjs/mol-model-formats/structure/basic/sort.js +1 -1
  155. package/lib/commonjs/mol-model-formats/structure/basic/util.js +1 -1
  156. package/lib/commonjs/mol-model-formats/structure/cif-core.js +6 -6
  157. package/lib/commonjs/mol-model-formats/structure/common/entity.js +1 -1
  158. package/lib/commonjs/mol-model-formats/structure/cube.js +1 -1
  159. package/lib/commonjs/mol-model-formats/structure/gro.js +1 -1
  160. package/lib/commonjs/mol-model-formats/structure/mol.js +1 -1
  161. package/lib/commonjs/mol-model-formats/structure/mol2.js +4 -4
  162. package/lib/commonjs/mol-model-formats/structure/prmtop.js +1 -1
  163. package/lib/commonjs/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
  164. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
  165. package/lib/commonjs/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
  166. package/lib/commonjs/mol-model-formats/structure/property/secondary-structure.js +8 -8
  167. package/lib/commonjs/mol-model-formats/structure/psf.js +1 -1
  168. package/lib/commonjs/mol-model-formats/structure/top.js +1 -1
  169. package/lib/commonjs/mol-model-formats/structure/xyz.js +1 -1
  170. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
  171. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
  172. package/lib/commonjs/mol-model-props/computed/accessible-surface-area.js +2 -2
  173. package/lib/commonjs/mol-model-props/computed/chemistry/functional-group.js +31 -31
  174. package/lib/commonjs/mol-model-props/computed/chemistry/geometry.js +22 -22
  175. package/lib/commonjs/mol-model-props/computed/chemistry/valence-model.js +32 -32
  176. package/lib/commonjs/mol-model-props/computed/interactions/charged.js +39 -39
  177. package/lib/commonjs/mol-model-props/computed/interactions/common.js +34 -34
  178. package/lib/commonjs/mol-model-props/computed/interactions/contacts-builder.js +1 -1
  179. package/lib/commonjs/mol-model-props/computed/interactions/contacts.js +1 -1
  180. package/lib/commonjs/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
  181. package/lib/commonjs/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
  182. package/lib/commonjs/mol-model-props/computed/interactions/hydrophobic.js +9 -9
  183. package/lib/commonjs/mol-model-props/computed/interactions/metal.js +26 -26
  184. package/lib/commonjs/mol-model-props/computed/interactions/refine.js +20 -20
  185. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
  186. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
  187. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
  188. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
  189. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
  190. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
  191. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
  192. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
  193. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp.js +30 -30
  194. package/lib/commonjs/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
  195. package/lib/commonjs/mol-model-props/computed/themes/interaction-type.js +10 -10
  196. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
  197. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
  198. package/lib/commonjs/mol-model-props/sequence/sifts-mapping.js +1 -1
  199. package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
  200. package/lib/commonjs/mol-plugin/animation-loop.d.ts +2 -1
  201. package/lib/commonjs/mol-plugin/animation-loop.js +18 -5
  202. package/lib/commonjs/mol-plugin/behavior/dynamic/camera.js +12 -12
  203. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +7 -7
  204. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
  205. package/lib/commonjs/mol-plugin/config.d.ts +3 -0
  206. package/lib/commonjs/mol-plugin/config.js +3 -1
  207. package/lib/commonjs/mol-plugin/context.d.ts +2 -2
  208. package/lib/commonjs/mol-plugin/context.js +3 -0
  209. package/lib/commonjs/mol-plugin/state.d.ts +1 -14
  210. package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +12 -11
  211. package/lib/commonjs/mol-plugin-state/formats/volume.js +20 -13
  212. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +5 -5
  213. package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
  214. package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +1 -1
  215. package/lib/commonjs/mol-plugin-ui/controls.js +1 -1
  216. package/lib/commonjs/mol-plugin-ui/sequence/polymer.js +1 -1
  217. package/lib/commonjs/mol-plugin-ui/sequence/sequence.js +1 -1
  218. package/lib/commonjs/mol-plugin-ui/state/snapshots.js +1 -0
  219. package/lib/commonjs/mol-plugin-ui/structure/focus.js +1 -1
  220. package/lib/commonjs/mol-plugin-ui/viewport/screenshot.js +1 -0
  221. package/lib/commonjs/mol-plugin-ui/viewport.d.ts +2 -2
  222. package/lib/commonjs/mol-repr/shape/representation.d.ts +1 -1
  223. package/lib/commonjs/mol-repr/shape/representation.js +2 -1
  224. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +1 -1
  225. package/lib/commonjs/mol-repr/structure/complex-visual.js +2 -1
  226. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +1 -1
  227. package/lib/commonjs/mol-repr/structure/units-visual.js +2 -1
  228. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
  229. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
  230. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -15
  231. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +12 -15
  232. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
  233. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
  234. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
  235. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
  236. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  237. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
  238. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +2 -2
  239. package/lib/commonjs/mol-repr/structure/visual/util/common.js +3 -3
  240. package/lib/commonjs/mol-repr/structure/visual/util/link.js +30 -30
  241. package/lib/commonjs/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
  242. package/lib/commonjs/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
  243. package/lib/commonjs/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
  244. package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +6 -6
  245. package/lib/commonjs/mol-repr/volume/representation.d.ts +1 -1
  246. package/lib/commonjs/mol-repr/volume/representation.js +2 -1
  247. package/lib/commonjs/mol-script/language/builder.d.ts +1 -0
  248. package/lib/commonjs/mol-script/language/symbol-table/core.d.ts +2 -2
  249. package/lib/commonjs/mol-script/runtime/query/table.js +13 -13
  250. package/lib/commonjs/mol-state/object.d.ts +3 -3
  251. package/lib/commonjs/mol-task/util/user-timing.js +1 -1
  252. package/lib/commonjs/mol-theme/clipping.js +19 -19
  253. package/lib/commonjs/mol-theme/color/atom-id.js +1 -1
  254. package/lib/commonjs/mol-theme/color/carbohydrate-symbol.js +1 -1
  255. package/lib/commonjs/mol-theme/color/chain-id.js +4 -4
  256. package/lib/commonjs/mol-theme/color/element-index.js +1 -1
  257. package/lib/commonjs/mol-theme/color/element-symbol.js +1 -1
  258. package/lib/commonjs/mol-theme/color/entity-id.js +4 -4
  259. package/lib/commonjs/mol-theme/color/entity-source.js +5 -4
  260. package/lib/commonjs/mol-theme/color/hydrophobicity.js +1 -1
  261. package/lib/commonjs/mol-theme/color/illustrative.js +1 -1
  262. package/lib/commonjs/mol-theme/color/model-index.js +1 -1
  263. package/lib/commonjs/mol-theme/color/molecule-type.js +8 -8
  264. package/lib/commonjs/mol-theme/color/occupancy.js +1 -1
  265. package/lib/commonjs/mol-theme/color/operator-hkl.js +1 -1
  266. package/lib/commonjs/mol-theme/color/operator-name.js +1 -1
  267. package/lib/commonjs/mol-theme/color/partial-charge.js +1 -1
  268. package/lib/commonjs/mol-theme/color/polymer-id.js +4 -4
  269. package/lib/commonjs/mol-theme/color/polymer-index.js +1 -1
  270. package/lib/commonjs/mol-theme/color/residue-name.js +1 -1
  271. package/lib/commonjs/mol-theme/color/secondary-structure.js +12 -12
  272. package/lib/commonjs/mol-theme/color/sequence-id.js +7 -7
  273. package/lib/commonjs/mol-theme/color/shape-group.js +1 -1
  274. package/lib/commonjs/mol-theme/color/uncertainty.js +1 -1
  275. package/lib/commonjs/mol-theme/color/uniform.js +1 -1
  276. package/lib/commonjs/mol-theme/color/unit-index.js +1 -1
  277. package/lib/commonjs/mol-theme/color/volume-value.js +1 -1
  278. package/lib/commonjs/mol-theme/label.js +3 -3
  279. package/lib/commonjs/mol-util/binding.js +4 -4
  280. package/lib/commonjs/mol-util/debug.d.ts +6 -1
  281. package/lib/commonjs/mol-util/debug.js +11 -1
  282. package/lib/commonjs/mol-util/input/input-observer.js +20 -20
  283. package/lib/commonjs/mol-util/string-builder.js +1 -1
  284. package/lib/commonjs/servers/model/preprocess/converter.js +1 -1
  285. package/lib/commonjs/servers/model/server/query.js +1 -1
  286. package/lib/commonjs/servers/model/utils/fetch-retry.js +3 -2
  287. package/lib/commonjs/servers/volume/server/algebra/coordinate.js +6 -6
  288. package/lib/commonjs/servers/volume/server/query/encode.js +1 -1
  289. package/lib/examples/alpha-orbitals/index.d.ts +1 -1
  290. package/lib/examples/alpha-orbitals/index.html +72 -61
  291. package/lib/examples/alpha-orbitals/index.js +4 -1
  292. package/lib/examples/basic-wrapper/custom-theme.js +1 -1
  293. package/lib/examples/basic-wrapper/index.html +137 -137
  294. package/lib/examples/lighting/index.html +88 -88
  295. package/lib/examples/proteopedia-wrapper/coloring.js +3 -3
  296. package/lib/examples/proteopedia-wrapper/index.html +236 -236
  297. package/lib/extensions/alpha-orbitals/density.d.ts +1 -1
  298. package/lib/extensions/alpha-orbitals/density.js +6 -2
  299. package/lib/extensions/alpha-orbitals/orbitals.d.ts +1 -1
  300. package/lib/extensions/alpha-orbitals/orbitals.js +6 -3
  301. package/lib/extensions/anvil/algorithm.js +1 -1
  302. package/lib/extensions/cellpack/color/generate.js +1 -1
  303. package/lib/extensions/cellpack/color/provided.js +1 -1
  304. package/lib/extensions/cellpack/state.js +1 -1
  305. package/lib/extensions/dnatco/confal-pyramids/color.js +1 -1
  306. package/lib/extensions/g3d/model.js +1 -1
  307. package/lib/extensions/geo-export/ui.js +1 -0
  308. package/lib/extensions/model-archive/quality-assessment/color/plddt.js +1 -1
  309. package/lib/extensions/model-archive/quality-assessment/color/qmean.js +1 -1
  310. package/lib/extensions/mp4-export/ui.js +1 -0
  311. package/lib/extensions/pdbe/structure-quality-report/color.js +1 -1
  312. package/lib/extensions/rcsb/assembly-symmetry/color.js +4 -4
  313. package/lib/extensions/rcsb/validation-report/color/density-fit.js +1 -1
  314. package/lib/extensions/rcsb/validation-report/color/geometry-quality.js +2 -2
  315. package/lib/extensions/rcsb/validation-report/color/random-coil-index.js +1 -1
  316. package/lib/extensions/rcsb/validation-report/representation.js +2 -2
  317. package/lib/mol-canvas3d/canvas3d.js +5 -1
  318. package/lib/mol-canvas3d/controls/trackball.js +7 -7
  319. package/lib/mol-canvas3d/helper/camera-helper.js +14 -14
  320. package/lib/mol-canvas3d/helper/interaction-events.js +5 -5
  321. package/lib/mol-canvas3d/passes/draw.js +34 -5
  322. package/lib/mol-canvas3d/passes/fxaa.js +5 -0
  323. package/lib/mol-canvas3d/passes/marking.js +5 -0
  324. package/lib/mol-canvas3d/passes/multi-sample.js +9 -0
  325. package/lib/mol-canvas3d/passes/pick.d.ts +18 -5
  326. package/lib/mol-canvas3d/passes/pick.js +125 -24
  327. package/lib/mol-canvas3d/passes/postprocessing.js +5 -0
  328. package/lib/mol-canvas3d/passes/smaa.js +5 -1
  329. package/lib/mol-canvas3d/passes/wboit.js +5 -1
  330. package/lib/mol-data/db/column.js +5 -5
  331. package/lib/mol-data/db/table.js +2 -2
  332. package/lib/mol-data/util/array.d.ts +1 -1
  333. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +1 -1
  334. package/lib/mol-geo/geometry/lines/lines.d.ts +0 -1
  335. package/lib/mol-geo/geometry/points/points.d.ts +1 -1
  336. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +13 -0
  337. package/lib/mol-gl/compute/grid3d.d.ts +2 -2
  338. package/lib/mol-gl/compute/grid3d.js +30 -8
  339. package/lib/mol-gl/compute/histogram-pyramid/reduction.d.ts +1 -1
  340. package/lib/mol-gl/compute/histogram-pyramid/reduction.js +6 -1
  341. package/lib/mol-gl/compute/histogram-pyramid/sum.d.ts +1 -1
  342. package/lib/mol-gl/compute/histogram-pyramid/sum.js +6 -1
  343. package/lib/mol-gl/compute/marching-cubes/active-voxels.d.ts +1 -1
  344. package/lib/mol-gl/compute/marching-cubes/active-voxels.js +6 -1
  345. package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +1 -1
  346. package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -10
  347. package/lib/mol-gl/renderer.js +77 -32
  348. package/lib/mol-gl/scene.js +2 -0
  349. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  350. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  351. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  352. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  353. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  354. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  355. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  356. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  357. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  358. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  359. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  360. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  361. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  362. package/lib/mol-gl/shader/image.frag.js +1 -1
  363. package/lib/mol-gl/shader/lines.frag.d.ts +1 -1
  364. package/lib/mol-gl/shader/lines.frag.js +1 -1
  365. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  366. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  367. package/lib/mol-gl/shader/points.frag.d.ts +1 -1
  368. package/lib/mol-gl/shader/points.frag.js +1 -1
  369. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  370. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  371. package/lib/mol-gl/shader/text.frag.d.ts +1 -1
  372. package/lib/mol-gl/shader/text.frag.js +1 -1
  373. package/lib/mol-gl/shader-code.d.ts +1 -1
  374. package/lib/mol-gl/shader-code.js +41 -9
  375. package/lib/mol-gl/webgl/compat.d.ts +34 -1
  376. package/lib/mol-gl/webgl/compat.js +48 -1
  377. package/lib/mol-gl/webgl/context.d.ts +2 -0
  378. package/lib/mol-gl/webgl/context.js +3 -0
  379. package/lib/mol-gl/webgl/extensions.d.ts +3 -2
  380. package/lib/mol-gl/webgl/extensions.js +7 -2
  381. package/lib/mol-gl/webgl/timer.d.ts +22 -0
  382. package/lib/mol-gl/webgl/timer.js +164 -0
  383. package/lib/mol-io/common/binary-cif/array-encoder.js +18 -18
  384. package/lib/mol-io/common/binary-cif/decoder.js +16 -16
  385. package/lib/mol-io/common/binary-cif/encoding.js +9 -9
  386. package/lib/mol-io/reader/cif/binary/field.js +3 -3
  387. package/lib/mol-io/reader/cif/data-model.js +14 -14
  388. package/lib/mol-io/reader/cif/schema.js +1 -1
  389. package/lib/mol-io/reader/cif/text/parser.js +23 -23
  390. package/lib/mol-io/reader/common/text/column/fixed.js +1 -1
  391. package/lib/mol-io/reader/common/text/column/token.js +1 -1
  392. package/lib/mol-io/reader/common/text/number-parser.js +6 -6
  393. package/lib/mol-io/reader/csv/parser.js +8 -8
  394. package/lib/mol-io/writer/cif/encoder/binary.js +10 -10
  395. package/lib/mol-io/writer/cif/encoder/text.js +7 -7
  396. package/lib/mol-io/writer/cif/encoder.js +8 -8
  397. package/lib/mol-io/writer/mol2/encoder.js +4 -4
  398. package/lib/mol-math/geometry/gaussian-density/gpu.js +13 -2
  399. package/lib/mol-model/sequence/alignment/sequence.js +3 -3
  400. package/lib/mol-model/sequence/sequence.js +9 -9
  401. package/lib/mol-model/structure/export/categories/atom_site_operator_mapping.js +3 -3
  402. package/lib/mol-model/structure/export/categories/secondary-structure.js +2 -2
  403. package/lib/mol-model/structure/export/categories/utils.js +1 -1
  404. package/lib/mol-model/structure/model/model.js +2 -2
  405. package/lib/mol-model/structure/model/properties/custom/indexed.js +6 -6
  406. package/lib/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -1
  407. package/lib/mol-model/structure/model/types.js +116 -116
  408. package/lib/mol-model/structure/query/context.js +1 -1
  409. package/lib/mol-model/structure/query/queries/generators.js +5 -5
  410. package/lib/mol-model/structure/query/queries/internal.js +4 -4
  411. package/lib/mol-model/structure/query/queries/modifiers.js +4 -4
  412. package/lib/mol-model/structure/query/utils/structure-distance.d.ts +5 -54
  413. package/lib/mol-model/structure/query/utils/structure-distance.js +9 -9
  414. package/lib/mol-model/structure/structure/carbohydrates/constants.d.ts +3 -1
  415. package/lib/mol-model/structure/structure/carbohydrates/constants.js +190 -107
  416. package/lib/mol-model/structure/structure/element/loci.js +5 -5
  417. package/lib/mol-model/structure/structure/element/stats.js +5 -5
  418. package/lib/mol-model/structure/structure/properties.js +5 -5
  419. package/lib/mol-model/structure/structure/structure.js +11 -11
  420. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +5 -5
  421. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +4 -4
  422. package/lib/mol-model/structure/structure/unit/bonds.js +2 -2
  423. package/lib/mol-model/structure/structure/unit/resonance.js +1 -1
  424. package/lib/mol-model/structure/structure/unit/rings/compute.js +6 -6
  425. package/lib/mol-model/structure/structure/unit/rings.js +6 -6
  426. package/lib/mol-model/structure/structure/unit.js +16 -16
  427. package/lib/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -1
  428. package/lib/mol-model/structure/util.js +4 -4
  429. package/lib/mol-model-formats/structure/basic/atomic.js +2 -2
  430. package/lib/mol-model-formats/structure/basic/parser.js +4 -4
  431. package/lib/mol-model-formats/structure/basic/properties.js +1 -1
  432. package/lib/mol-model-formats/structure/basic/sort.js +1 -1
  433. package/lib/mol-model-formats/structure/basic/util.js +1 -1
  434. package/lib/mol-model-formats/structure/cif-core.js +6 -6
  435. package/lib/mol-model-formats/structure/common/entity.js +1 -1
  436. package/lib/mol-model-formats/structure/cube.js +1 -1
  437. package/lib/mol-model-formats/structure/gro.js +1 -1
  438. package/lib/mol-model-formats/structure/mol.js +1 -1
  439. package/lib/mol-model-formats/structure/mol2.js +4 -4
  440. package/lib/mol-model-formats/structure/prmtop.js +1 -1
  441. package/lib/mol-model-formats/structure/property/bonds/chem_comp.js +3 -3
  442. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +1 -1
  443. package/lib/mol-model-formats/structure/property/bonds/struct_conn.js +6 -6
  444. package/lib/mol-model-formats/structure/property/secondary-structure.js +8 -8
  445. package/lib/mol-model-formats/structure/psf.js +1 -1
  446. package/lib/mol-model-formats/structure/top.js +1 -1
  447. package/lib/mol-model-formats/structure/xyz.js +1 -1
  448. package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +2 -2
  449. package/lib/mol-model-props/computed/accessible-surface-area/shrake-rupley.js +3 -3
  450. package/lib/mol-model-props/computed/accessible-surface-area.js +2 -2
  451. package/lib/mol-model-props/computed/chemistry/functional-group.js +31 -31
  452. package/lib/mol-model-props/computed/chemistry/geometry.js +22 -22
  453. package/lib/mol-model-props/computed/chemistry/valence-model.js +32 -32
  454. package/lib/mol-model-props/computed/interactions/charged.js +39 -39
  455. package/lib/mol-model-props/computed/interactions/common.js +34 -34
  456. package/lib/mol-model-props/computed/interactions/contacts-builder.js +1 -1
  457. package/lib/mol-model-props/computed/interactions/contacts.js +1 -1
  458. package/lib/mol-model-props/computed/interactions/halogen-bonds.js +12 -12
  459. package/lib/mol-model-props/computed/interactions/hydrogen-bonds.js +32 -32
  460. package/lib/mol-model-props/computed/interactions/hydrophobic.js +9 -9
  461. package/lib/mol-model-props/computed/interactions/metal.js +26 -26
  462. package/lib/mol-model-props/computed/interactions/refine.js +20 -20
  463. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
  464. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
  465. package/lib/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -1
  466. package/lib/mol-model-props/computed/secondary-structure/dssp/bridges.js +12 -12
  467. package/lib/mol-model-props/computed/secondary-structure/dssp/helices.js +6 -6
  468. package/lib/mol-model-props/computed/secondary-structure/dssp/ladders.js +3 -3
  469. package/lib/mol-model-props/computed/secondary-structure/dssp/sheets.js +11 -11
  470. package/lib/mol-model-props/computed/secondary-structure/dssp/turns.js +3 -3
  471. package/lib/mol-model-props/computed/secondary-structure/dssp.js +30 -30
  472. package/lib/mol-model-props/computed/themes/accessible-surface-area.js +1 -1
  473. package/lib/mol-model-props/computed/themes/interaction-type.js +10 -10
  474. package/lib/mol-model-props/integrative/cross-link-restraint/color.js +1 -1
  475. package/lib/mol-model-props/integrative/cross-link-restraint/format.js +3 -3
  476. package/lib/mol-model-props/sequence/sifts-mapping.js +1 -1
  477. package/lib/mol-model-props/sequence/themes/sifts-mapping.js +1 -1
  478. package/lib/mol-plugin/animation-loop.d.ts +2 -1
  479. package/lib/mol-plugin/animation-loop.js +18 -5
  480. package/lib/mol-plugin/behavior/dynamic/camera.js +12 -12
  481. package/lib/mol-plugin/behavior/dynamic/representation.js +7 -7
  482. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -3
  483. package/lib/mol-plugin/config.d.ts +3 -0
  484. package/lib/mol-plugin/config.js +3 -1
  485. package/lib/mol-plugin/context.d.ts +2 -2
  486. package/lib/mol-plugin/context.js +3 -0
  487. package/lib/mol-plugin/state.d.ts +1 -14
  488. package/lib/mol-plugin/version.js +2 -2
  489. package/lib/mol-plugin-state/formats/volume.d.ts +12 -11
  490. package/lib/mol-plugin-state/formats/volume.js +20 -13
  491. package/lib/mol-plugin-state/helpers/structure-selection-query.js +5 -5
  492. package/lib/mol-plugin-state/transforms/representation.js +2 -2
  493. package/lib/mol-plugin-ui/controls/parameters.d.ts +1 -1
  494. package/lib/mol-plugin-ui/controls.js +1 -1
  495. package/lib/mol-plugin-ui/sequence/polymer.js +1 -1
  496. package/lib/mol-plugin-ui/sequence/sequence.js +1 -1
  497. package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
  498. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  499. package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
  500. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  501. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  502. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  503. package/lib/mol-plugin-ui/skin/base/components/misc.scss +643 -643
  504. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  505. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  506. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  507. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  508. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  509. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +128 -128
  510. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  511. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  512. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  513. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  514. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  515. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  516. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  517. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  518. package/lib/mol-plugin-ui/skin/base/variables.scss +85 -85
  519. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  520. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  521. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  522. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  523. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  524. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  525. package/lib/mol-plugin-ui/state/snapshots.js +1 -0
  526. package/lib/mol-plugin-ui/structure/focus.js +1 -1
  527. package/lib/mol-plugin-ui/viewport/screenshot.js +1 -0
  528. package/lib/mol-plugin-ui/viewport.d.ts +2 -2
  529. package/lib/mol-repr/shape/representation.d.ts +1 -1
  530. package/lib/mol-repr/shape/representation.js +2 -1
  531. package/lib/mol-repr/structure/complex-visual.d.ts +1 -1
  532. package/lib/mol-repr/structure/complex-visual.js +2 -1
  533. package/lib/mol-repr/structure/units-visual.d.ts +1 -1
  534. package/lib/mol-repr/structure/units-visual.js +2 -1
  535. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js +10 -10
  536. package/lib/mol-repr/structure/visual/bond-inter-unit-line.js +10 -10
  537. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +12 -15
  538. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +12 -15
  539. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +16 -16
  540. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +1 -1
  541. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -0
  542. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +4 -4
  543. package/lib/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  544. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
  545. package/lib/mol-repr/structure/visual/util/bond.js +2 -2
  546. package/lib/mol-repr/structure/visual/util/common.js +3 -3
  547. package/lib/mol-repr/structure/visual/util/link.js +30 -30
  548. package/lib/mol-repr/structure/visual/util/polymer/backbone.js +6 -6
  549. package/lib/mol-repr/structure/visual/util/polymer/gap-iterator.js +3 -3
  550. package/lib/mol-repr/structure/visual/util/polymer/trace-iterator.js +20 -20
  551. package/lib/mol-repr/structure/visual/util/polymer.js +6 -6
  552. package/lib/mol-repr/volume/representation.d.ts +1 -1
  553. package/lib/mol-repr/volume/representation.js +2 -1
  554. package/lib/mol-script/language/builder.d.ts +1 -0
  555. package/lib/mol-script/language/symbol-table/core.d.ts +2 -2
  556. package/lib/mol-script/runtime/query/table.js +13 -13
  557. package/lib/mol-state/object.d.ts +3 -3
  558. package/lib/mol-task/util/user-timing.js +1 -1
  559. package/lib/mol-theme/clipping.js +19 -19
  560. package/lib/mol-theme/color/atom-id.js +1 -1
  561. package/lib/mol-theme/color/carbohydrate-symbol.js +1 -1
  562. package/lib/mol-theme/color/chain-id.js +4 -4
  563. package/lib/mol-theme/color/element-index.js +1 -1
  564. package/lib/mol-theme/color/element-symbol.js +1 -1
  565. package/lib/mol-theme/color/entity-id.js +4 -4
  566. package/lib/mol-theme/color/entity-source.js +5 -4
  567. package/lib/mol-theme/color/hydrophobicity.js +1 -1
  568. package/lib/mol-theme/color/illustrative.js +1 -1
  569. package/lib/mol-theme/color/model-index.js +1 -1
  570. package/lib/mol-theme/color/molecule-type.js +8 -8
  571. package/lib/mol-theme/color/occupancy.js +1 -1
  572. package/lib/mol-theme/color/operator-hkl.js +1 -1
  573. package/lib/mol-theme/color/operator-name.js +1 -1
  574. package/lib/mol-theme/color/partial-charge.js +1 -1
  575. package/lib/mol-theme/color/polymer-id.js +4 -4
  576. package/lib/mol-theme/color/polymer-index.js +1 -1
  577. package/lib/mol-theme/color/residue-name.js +1 -1
  578. package/lib/mol-theme/color/secondary-structure.js +12 -12
  579. package/lib/mol-theme/color/sequence-id.js +7 -7
  580. package/lib/mol-theme/color/shape-group.js +1 -1
  581. package/lib/mol-theme/color/uncertainty.js +1 -1
  582. package/lib/mol-theme/color/uniform.js +1 -1
  583. package/lib/mol-theme/color/unit-index.js +1 -1
  584. package/lib/mol-theme/color/volume-value.js +1 -1
  585. package/lib/mol-theme/label.js +3 -3
  586. package/lib/mol-util/binding.js +4 -4
  587. package/lib/mol-util/debug.d.ts +6 -1
  588. package/lib/mol-util/debug.js +9 -1
  589. package/lib/mol-util/input/input-observer.js +20 -20
  590. package/lib/mol-util/string-builder.js +1 -1
  591. package/lib/servers/model/preprocess/converter.js +1 -1
  592. package/lib/servers/model/server/query.js +1 -1
  593. package/lib/servers/model/utils/fetch-retry.js +3 -2
  594. package/lib/servers/volume/server/algebra/coordinate.js +6 -6
  595. package/lib/servers/volume/server/query/encode.js +1 -1
  596. package/package.json +162 -162
@@ -1,9 +1,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,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 { getInstancedArrays, getStandardDerivatives, getElementIndexUint, getTextureFloat, getTextureFloatLinear, getBlendMinMax, getFragDepth, getColorBufferFloat, getDrawBuffers, getShaderTextureLod, getDepthTexture, getSRGB, getTextureHalfFloat, getTextureHalfFloatLinear, getColorBufferHalfFloat, getVertexArrayObject } from './compat';
6
+ import { getInstancedArrays, getStandardDerivatives, getElementIndexUint, getTextureFloat, getTextureFloatLinear, getBlendMinMax, getFragDepth, getColorBufferFloat, getDrawBuffers, getShaderTextureLod, getDepthTexture, getSRGB, getTextureHalfFloat, getTextureHalfFloatLinear, getColorBufferHalfFloat, getVertexArrayObject, getDisjointTimerQuery } from './compat';
7
7
  import { isDebugMode } from '../../mol-util/debug';
8
8
  export function createExtensions(gl) {
9
9
  var instancedArrays = getInstancedArrays(gl);
@@ -76,6 +76,10 @@ export function createExtensions(gl) {
76
76
  if (isDebugMode && sRGB === null) {
77
77
  console.log('Could not find support for "sRGB"');
78
78
  }
79
+ var disjointTimerQuery = getDisjointTimerQuery(gl);
80
+ if (isDebugMode && disjointTimerQuery === null) {
81
+ console.log('Could not find support for "disjoint_timer_query"');
82
+ }
79
83
  return {
80
84
  instancedArrays: instancedArrays,
81
85
  standardDerivatives: standardDerivatives,
@@ -93,5 +97,6 @@ export function createExtensions(gl) {
93
97
  drawBuffers: drawBuffers,
94
98
  shaderTextureLod: shaderTextureLod,
95
99
  sRGB: sRGB,
100
+ disjointTimerQuery: disjointTimerQuery,
96
101
  };
97
102
  }
@@ -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,164 @@
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
+ function getQuery(extensions) {
7
+ return extensions.disjointTimerQuery ? extensions.disjointTimerQuery.createQuery() : null;
8
+ }
9
+ export function createTimer(gl, extensions) {
10
+ var dtq = extensions.disjointTimerQuery;
11
+ var queries = new Map();
12
+ var pending = new Map();
13
+ var stack = [];
14
+ var measures = [];
15
+ var current = null;
16
+ var clear = function () {
17
+ if (!dtq)
18
+ return;
19
+ queries.forEach(function (_, query) {
20
+ dtq.deleteQuery(query);
21
+ });
22
+ pending.clear();
23
+ measures = [];
24
+ current = null;
25
+ };
26
+ var add = function () {
27
+ if (!dtq)
28
+ return;
29
+ var query = getQuery(extensions);
30
+ if (!query)
31
+ return;
32
+ dtq.beginQuery(dtq.TIME_ELAPSED, query);
33
+ pending.forEach(function (measure, _) {
34
+ measure.queries.push(query);
35
+ });
36
+ queries.set(query, { refCount: pending.size });
37
+ current = query;
38
+ };
39
+ return {
40
+ resolve: function () {
41
+ var results = [];
42
+ if (!dtq || !measures.length)
43
+ return results;
44
+ // console.log('resolve');
45
+ queries.forEach(function (result, query) {
46
+ if (result.timeElapsed !== undefined)
47
+ return;
48
+ var available = dtq.getQueryParameter(query, dtq.QUERY_RESULT_AVAILABLE);
49
+ var disjoint = gl.getParameter(dtq.GPU_DISJOINT);
50
+ if (available && !disjoint) {
51
+ var timeElapsed = dtq.getQueryParameter(query, dtq.QUERY_RESULT);
52
+ result.timeElapsed = timeElapsed;
53
+ // console.log('timeElapsed', result.timeElapsed);
54
+ }
55
+ if (available || disjoint) {
56
+ dtq.deleteQuery(query);
57
+ }
58
+ });
59
+ var unresolved = [];
60
+ var _loop_1 = function (measure) {
61
+ if (measure.queries.every(function (q) { var _a; return ((_a = queries.get(q)) === null || _a === void 0 ? void 0 : _a.timeElapsed) !== undefined; })) {
62
+ var timeElapsed = 0;
63
+ for (var _a = 0, _b = measure.queries; _a < _b.length; _a++) {
64
+ var query = _b[_a];
65
+ var result = queries.get(query);
66
+ timeElapsed += result.timeElapsed;
67
+ result.refCount -= 1;
68
+ }
69
+ measure.timeElapsed = timeElapsed;
70
+ if (measure.root) {
71
+ var children = [];
72
+ var add_1 = function (measures, children) {
73
+ for (var _i = 0, measures_2 = measures; _i < measures_2.length; _i++) {
74
+ var measure_1 = measures_2[_i];
75
+ var result = {
76
+ label: measure_1.label,
77
+ timeElapsed: measure_1.timeElapsed,
78
+ children: []
79
+ };
80
+ children.push(result);
81
+ add_1(measure_1.children, result.children);
82
+ }
83
+ };
84
+ add_1(measure.children, children);
85
+ results.push({ label: measure.label, timeElapsed: timeElapsed, children: children });
86
+ }
87
+ }
88
+ else {
89
+ unresolved.push(measure);
90
+ }
91
+ };
92
+ for (var _i = 0, measures_1 = measures; _i < measures_1.length; _i++) {
93
+ var measure = measures_1[_i];
94
+ _loop_1(measure);
95
+ }
96
+ measures = unresolved;
97
+ queries.forEach(function (result, query) {
98
+ if (result.refCount === 0) {
99
+ queries.delete(query);
100
+ }
101
+ });
102
+ return results;
103
+ },
104
+ mark: function (label) {
105
+ if (!dtq)
106
+ return;
107
+ if (pending.has(label)) {
108
+ throw new Error("Timer mark for '".concat(label, "' already exists"));
109
+ }
110
+ if (current !== null) {
111
+ dtq.endQuery(dtq.TIME_ELAPSED);
112
+ }
113
+ var measure = { label: label, queries: [], children: [], root: current === null };
114
+ pending.set(label, measure);
115
+ if (stack.length) {
116
+ stack[stack.length - 1].children.push(measure);
117
+ }
118
+ stack.push(measure);
119
+ add();
120
+ },
121
+ markEnd: function (label) {
122
+ var _a;
123
+ if (!dtq)
124
+ return;
125
+ var measure = pending.get(label);
126
+ if (!measure) {
127
+ throw new Error("Timer mark for '".concat(label, "' does not exist"));
128
+ }
129
+ if (((_a = stack.pop()) === null || _a === void 0 ? void 0 : _a.label) !== label) {
130
+ throw new Error("Timer mark for '".concat(label, "' has pending nested mark"));
131
+ }
132
+ dtq.endQuery(dtq.TIME_ELAPSED);
133
+ pending.delete(label);
134
+ measures.push(measure);
135
+ if (pending.size > 0) {
136
+ add();
137
+ }
138
+ else {
139
+ current = null;
140
+ }
141
+ },
142
+ clear: clear,
143
+ destroy: function () {
144
+ clear();
145
+ }
146
+ };
147
+ }
148
+ function formatTimerResult(result) {
149
+ var timeElapsed = result.timeElapsed / 1000 / 1000;
150
+ return "".concat(result.label, " ").concat(timeElapsed.toFixed(2), "ms");
151
+ }
152
+ export function printTimerResults(results) {
153
+ return results.map(function (r) {
154
+ var f = formatTimerResult(r);
155
+ if (r.children.length) {
156
+ console.groupCollapsed(f);
157
+ printTimerResults(r.children);
158
+ console.groupEnd();
159
+ }
160
+ else {
161
+ console.log(f);
162
+ }
163
+ });
164
+ }
@@ -75,37 +75,37 @@ export var ArrayEncoding;
75
75
  ArrayEncoding.by = by;
76
76
  function uint8(data) {
77
77
  return {
78
- encodings: [{ kind: 'ByteArray', type: 4 /* Uint8 */ }],
78
+ encodings: [{ kind: 'ByteArray', type: 4 /* Encoding.IntDataType.Uint8 */ }],
79
79
  data: data
80
80
  };
81
81
  }
82
82
  function int8(data) {
83
83
  return {
84
- encodings: [{ kind: 'ByteArray', type: 1 /* Int8 */ }],
84
+ encodings: [{ kind: 'ByteArray', type: 1 /* Encoding.IntDataType.Int8 */ }],
85
85
  data: new Uint8Array(data.buffer, data.byteOffset)
86
86
  };
87
87
  }
88
88
  var writers = (_a = {},
89
- _a[2 /* Int16 */] = function (v, i, a) { v.setInt16(2 * i, a, true); },
90
- _a[5 /* Uint16 */] = function (v, i, a) { v.setUint16(2 * i, a, true); },
91
- _a[3 /* Int32 */] = function (v, i, a) { v.setInt32(4 * i, a, true); },
92
- _a[6 /* Uint32 */] = function (v, i, a) { v.setUint32(4 * i, a, true); },
93
- _a[32 /* Float32 */] = function (v, i, a) { v.setFloat32(4 * i, a, true); },
94
- _a[33 /* Float64 */] = function (v, i, a) { v.setFloat64(8 * i, a, true); },
89
+ _a[2 /* Encoding.IntDataType.Int16 */] = function (v, i, a) { v.setInt16(2 * i, a, true); },
90
+ _a[5 /* Encoding.IntDataType.Uint16 */] = function (v, i, a) { v.setUint16(2 * i, a, true); },
91
+ _a[3 /* Encoding.IntDataType.Int32 */] = function (v, i, a) { v.setInt32(4 * i, a, true); },
92
+ _a[6 /* Encoding.IntDataType.Uint32 */] = function (v, i, a) { v.setUint32(4 * i, a, true); },
93
+ _a[32 /* Encoding.FloatDataType.Float32 */] = function (v, i, a) { v.setFloat32(4 * i, a, true); },
94
+ _a[33 /* Encoding.FloatDataType.Float64 */] = function (v, i, a) { v.setFloat64(8 * i, a, true); },
95
95
  _a);
96
96
  var byteSizes = (_b = {},
97
- _b[2 /* Int16 */] = 2,
98
- _b[5 /* Uint16 */] = 2,
99
- _b[3 /* Int32 */] = 4,
100
- _b[6 /* Uint32 */] = 4,
101
- _b[32 /* Float32 */] = 4,
102
- _b[33 /* Float64 */] = 8,
97
+ _b[2 /* Encoding.IntDataType.Int16 */] = 2,
98
+ _b[5 /* Encoding.IntDataType.Uint16 */] = 2,
99
+ _b[3 /* Encoding.IntDataType.Int32 */] = 4,
100
+ _b[6 /* Encoding.IntDataType.Uint32 */] = 4,
101
+ _b[32 /* Encoding.FloatDataType.Float32 */] = 4,
102
+ _b[33 /* Encoding.FloatDataType.Float64 */] = 8,
103
103
  _b);
104
104
  function byteArray(data) {
105
105
  var type = Encoding.getDataType(data);
106
- if (type === 1 /* Int8 */)
106
+ if (type === 1 /* Encoding.IntDataType.Int8 */)
107
107
  return int8(data);
108
- else if (type === 4 /* Uint8 */)
108
+ else if (type === 4 /* Encoding.IntDataType.Uint8 */)
109
109
  return uint8(data);
110
110
  var result = new Uint8Array(data.length * byteSizes[type]);
111
111
  var w = writers[type];
@@ -170,7 +170,7 @@ export var ArrayEncoding;
170
170
  var srcType = Encoding.getDataType(data);
171
171
  if (srcType === void 0) {
172
172
  data = new Int32Array(data);
173
- srcType = 3 /* Int32 */;
173
+ srcType = 3 /* Encoding.IntDataType.Int32 */;
174
174
  }
175
175
  if (!data.length) {
176
176
  return {
@@ -214,7 +214,7 @@ export var ArrayEncoding;
214
214
  var srcType = Encoding.getDataType(data);
215
215
  if (srcType === void 0) {
216
216
  data = new Int32Array(data);
217
- srcType = 3 /* Int32 */;
217
+ srcType = 3 /* Encoding.IntDataType.Int32 */;
218
218
  }
219
219
  if (!data.length) {
220
220
  return {
@@ -21,14 +21,14 @@ function decodeStep(data, encoding) {
21
21
  switch (encoding.kind) {
22
22
  case 'ByteArray': {
23
23
  switch (encoding.type) {
24
- case 4 /* Uint8 */: return data;
25
- case 1 /* Int8 */: return int8(data);
26
- case 2 /* Int16 */: return int16(data);
27
- case 5 /* Uint16 */: return uint16(data);
28
- case 3 /* Int32 */: return int32(data);
29
- case 6 /* Uint32 */: return uint32(data);
30
- case 32 /* Float32 */: return float32(data);
31
- case 33 /* Float64 */: return float64(data);
24
+ case 4 /* Encoding.IntDataType.Uint8 */: return data;
25
+ case 1 /* Encoding.IntDataType.Int8 */: return int8(data);
26
+ case 2 /* Encoding.IntDataType.Int16 */: return int16(data);
27
+ case 5 /* Encoding.IntDataType.Uint16 */: return uint16(data);
28
+ case 3 /* Encoding.IntDataType.Int32 */: return int32(data);
29
+ case 6 /* Encoding.IntDataType.Uint32 */: return uint32(data);
30
+ case 32 /* Encoding.FloatDataType.Float32 */: return float32(data);
31
+ case 33 /* Encoding.FloatDataType.Float64 */: return float64(data);
32
32
  default: assertUnreachable(encoding.type);
33
33
  }
34
34
  }
@@ -42,19 +42,19 @@ function decodeStep(data, encoding) {
42
42
  }
43
43
  function getIntArray(type, size) {
44
44
  switch (type) {
45
- case 1 /* Int8 */: return new Int8Array(size);
46
- case 2 /* Int16 */: return new Int16Array(size);
47
- case 3 /* Int32 */: return new Int32Array(size);
48
- case 4 /* Uint8 */: return new Uint8Array(size);
49
- case 5 /* Uint16 */: return new Uint16Array(size);
50
- case 6 /* Uint32 */: return new Uint32Array(size);
45
+ case 1 /* Encoding.IntDataType.Int8 */: return new Int8Array(size);
46
+ case 2 /* Encoding.IntDataType.Int16 */: return new Int16Array(size);
47
+ case 3 /* Encoding.IntDataType.Int32 */: return new Int32Array(size);
48
+ case 4 /* Encoding.IntDataType.Uint8 */: return new Uint8Array(size);
49
+ case 5 /* Encoding.IntDataType.Uint16 */: return new Uint16Array(size);
50
+ case 6 /* Encoding.IntDataType.Uint32 */: return new Uint32Array(size);
51
51
  default: assertUnreachable(type);
52
52
  }
53
53
  }
54
54
  function getFloatArray(type, size) {
55
55
  switch (type) {
56
- case 32 /* Float32 */: return new Float32Array(size);
57
- case 33 /* Float64 */: return new Float64Array(size);
56
+ case 32 /* Encoding.FloatDataType.Float32 */: return new Float32Array(size);
57
+ case 33 /* Encoding.FloatDataType.Float64 */: return new Float64Array(size);
58
58
  default: assertUnreachable(type);
59
59
  }
60
60
  }
@@ -10,23 +10,23 @@ export var Encoding;
10
10
  function getDataType(data) {
11
11
  var srcType;
12
12
  if (data instanceof Int8Array)
13
- srcType = 1 /* Int8 */;
13
+ srcType = 1 /* Encoding.IntDataType.Int8 */;
14
14
  else if (data instanceof Int16Array)
15
- srcType = 2 /* Int16 */;
15
+ srcType = 2 /* Encoding.IntDataType.Int16 */;
16
16
  else if (data instanceof Int32Array)
17
- srcType = 3 /* Int32 */;
17
+ srcType = 3 /* Encoding.IntDataType.Int32 */;
18
18
  else if (data instanceof Uint8Array)
19
- srcType = 4 /* Uint8 */;
19
+ srcType = 4 /* Encoding.IntDataType.Uint8 */;
20
20
  else if (data instanceof Uint16Array)
21
- srcType = 5 /* Uint16 */;
21
+ srcType = 5 /* Encoding.IntDataType.Uint16 */;
22
22
  else if (data instanceof Uint32Array)
23
- srcType = 6 /* Uint32 */;
23
+ srcType = 6 /* Encoding.IntDataType.Uint32 */;
24
24
  else if (data instanceof Float32Array)
25
- srcType = 32 /* Float32 */;
25
+ srcType = 32 /* Encoding.FloatDataType.Float32 */;
26
26
  else if (data instanceof Float64Array)
27
- srcType = 33 /* Float64 */;
27
+ srcType = 33 /* Encoding.FloatDataType.Float64 */;
28
28
  else
29
- srcType = 3 /* Int32 */; // throw new Error('Unsupported integer data type.');
29
+ srcType = 3 /* Encoding.IntDataType.Int32 */; // throw new Error('Unsupported integer data type.');
30
30
  return srcType;
31
31
  }
32
32
  Encoding.getDataType = getDataType;
@@ -13,10 +13,10 @@ export function Field(column) {
13
13
  var isNumeric = ColumnHelpers.isTypedArray(data);
14
14
  var str = isNumeric
15
15
  ? mask
16
- ? function (row) { return mask[row] === 0 /* Present */ ? '' + data[row] : ''; }
16
+ ? function (row) { return mask[row] === 0 /* Column.ValueKind.Present */ ? '' + data[row] : ''; }
17
17
  : function (row) { return '' + data[row]; }
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
  var int = isNumeric
22
22
  ? function (row) { return data[row]; }
@@ -26,7 +26,7 @@ export function Field(column) {
26
26
  : function (row) { var v = data[row]; return fastParseFloat(v, 0, v.length); };
27
27
  var valueKind = mask
28
28
  ? function (row) { return mask[row]; }
29
- : function (row) { return 0 /* Present */; };
29
+ : function (row) { return 0 /* Column.ValueKind.Present */; };
30
30
  var rowCount = data.length;
31
31
  return {
32
32
  __array: data,
@@ -71,15 +71,15 @@ export var CifField;
71
71
  var valueKind = function (row) {
72
72
  var v = values[row], l = v.length;
73
73
  if (l > 1)
74
- return 0 /* Present */;
74
+ return 0 /* Column.ValueKind.Present */;
75
75
  if (l === 0)
76
- return 1 /* NotPresent */;
76
+ return 1 /* Column.ValueKind.NotPresent */;
77
77
  var c = v.charCodeAt(0);
78
78
  if (c === 46 /* . */)
79
- return 1 /* NotPresent */;
79
+ return 1 /* Column.ValueKind.NotPresent */;
80
80
  if (c === 63 /* ? */)
81
- return 2 /* Unknown */;
82
- return 0 /* Present */;
81
+ return 2 /* Column.ValueKind.Unknown */;
82
+ return 0 /* Column.ValueKind.Present */;
83
83
  };
84
84
  return {
85
85
  __array: void 0,
@@ -101,7 +101,7 @@ export var CifField;
101
101
  var rowCount = values.length;
102
102
  var str = function (row) { return '' + values[row]; };
103
103
  var float = function (row) { return values[row]; };
104
- var valueKind = function (row) { return 0 /* Present */; };
104
+ var valueKind = function (row) { return 0 /* Column.ValueKind.Present */; };
105
105
  var toFloatArray = function (params) {
106
106
  if (!params || params.array && values instanceof params.array) {
107
107
  return values;
@@ -143,15 +143,15 @@ export var CifField;
143
143
  var valueKind = function (row) {
144
144
  var s = indices[2 * row], l = indices[2 * row + 1] - s;
145
145
  if (l > 1)
146
- return 0 /* Present */;
146
+ return 0 /* Column.ValueKind.Present */;
147
147
  if (l === 0)
148
- return 1 /* NotPresent */;
148
+ return 1 /* Column.ValueKind.NotPresent */;
149
149
  var v = data.charCodeAt(s);
150
150
  if (v === 46 /* . */)
151
- return 1 /* NotPresent */;
151
+ return 1 /* Column.ValueKind.NotPresent */;
152
152
  if (v === 63 /* ? */)
153
- return 2 /* Unknown */;
154
- return 0 /* Present */;
153
+ return 2 /* Column.ValueKind.Unknown */;
154
+ return 0 /* Column.ValueKind.Present */;
155
155
  };
156
156
  return {
157
157
  __array: void 0,
@@ -273,14 +273,14 @@ export function getCifFieldType(field) {
273
273
  var floatCount = 0, hasStringOrScientific = false, undefinedCount = 0;
274
274
  for (var i = 0, _i = field.rowCount; i < _i; i++) {
275
275
  var k = field.valueKind(i);
276
- if (k !== 0 /* Present */) {
276
+ if (k !== 0 /* Column.ValueKind.Present */) {
277
277
  undefinedCount++;
278
278
  continue;
279
279
  }
280
280
  var type = getNumberType(field.str(i));
281
- if (type === 0 /* Int */)
281
+ if (type === 0 /* NumberType.Int */)
282
282
  continue;
283
- else if (type === 1 /* Float */)
283
+ else if (type === 1 /* NumberType.Float */)
284
284
  floatCount++;
285
285
  else {
286
286
  hasStringOrScientific = true;
@@ -93,7 +93,7 @@ function createListColumn(schema, category, key) {
93
93
  isDefined: !!f,
94
94
  rowCount: category.rowCount,
95
95
  value: value,
96
- valueKind: f ? f.valueKind : function () { return 1 /* NotPresent */; },
96
+ valueKind: f ? f.valueKind : function () { return 1 /* Column.ValueKind.NotPresent */; },
97
97
  areValuesEqual: function (rowA, rowB) { return arrayEqual(value(rowA), value(rowB)); },
98
98
  toArray: toArray
99
99
  };
@@ -373,7 +373,7 @@ function getTokenString(state) {
373
373
  function moveNextInternal(state) {
374
374
  var prev = skipWhitespace(state);
375
375
  if (state.position >= state.length) {
376
- state.tokenType = 6 /* End */;
376
+ state.tokenType = 6 /* CifTokenType.End */;
377
377
  return;
378
378
  }
379
379
  state.tokenStart = state.position;
@@ -383,17 +383,17 @@ function moveNextInternal(state) {
383
383
  switch (c) {
384
384
  case 35: // #, comment
385
385
  skipCommentLine(state);
386
- state.tokenType = 5 /* Comment */;
386
+ state.tokenType = 5 /* CifTokenType.Comment */;
387
387
  break;
388
388
  case 39: // ', escaped value
389
389
  if (isTripleQuoteAtPosition(state)) {
390
390
  eatTripleQuote(state);
391
- state.tokenType = 3 /* Value */;
391
+ state.tokenType = 3 /* CifTokenType.Value */;
392
392
  break;
393
393
  }
394
394
  case 34: // ", escaped value
395
395
  eatEscaped(state, c);
396
- state.tokenType = 3 /* Value */;
396
+ state.tokenType = 3 /* CifTokenType.Value */;
397
397
  break;
398
398
  case 59: // ;, possible multiline value
399
399
  // multiline value must start at the beginning of the line.
@@ -403,7 +403,7 @@ function moveNextInternal(state) {
403
403
  else {
404
404
  eatValue(state);
405
405
  }
406
- state.tokenType = 3 /* Value */;
406
+ state.tokenType = 3 /* CifTokenType.Value */;
407
407
  break;
408
408
  default:
409
409
  if (state.isImportGet) {
@@ -414,29 +414,29 @@ function moveNextInternal(state) {
414
414
  }
415
415
  // escaped is always Value
416
416
  if (state.isEscaped) {
417
- state.tokenType = 3 /* Value */;
417
+ state.tokenType = 3 /* CifTokenType.Value */;
418
418
  // _ means column name, including _import.get
419
419
  }
420
420
  else if (state.data.charCodeAt(state.tokenStart) === 95) { // _
421
421
  if (state.inSaveFrame && isImportGet(state)) {
422
422
  state.isImportGet = true;
423
423
  }
424
- state.tokenType = 4 /* ColumnName */;
424
+ state.tokenType = 4 /* CifTokenType.ColumnName */;
425
425
  // 5th char needs to be _ for data_, save_ or loop_
426
426
  }
427
427
  else if (state.tokenEnd - state.tokenStart >= 5 && state.data.charCodeAt(state.tokenStart + 4) === 95) {
428
428
  if (isData(state))
429
- state.tokenType = 0 /* Data */;
429
+ state.tokenType = 0 /* CifTokenType.Data */;
430
430
  else if (isSave(state))
431
- state.tokenType = 1 /* Save */;
431
+ state.tokenType = 1 /* CifTokenType.Save */;
432
432
  else if (isLoop(state))
433
- state.tokenType = 2 /* Loop */;
433
+ state.tokenType = 2 /* CifTokenType.Loop */;
434
434
  else
435
- state.tokenType = 3 /* Value */;
435
+ state.tokenType = 3 /* CifTokenType.Value */;
436
436
  // all other tests failed, we are at Value token.
437
437
  }
438
438
  else {
439
- state.tokenType = 3 /* Value */;
439
+ state.tokenType = 3 /* CifTokenType.Value */;
440
440
  }
441
441
  break;
442
442
  }
@@ -446,7 +446,7 @@ function moveNextInternal(state) {
446
446
  */
447
447
  function moveNext(state) {
448
448
  moveNextInternal(state);
449
- while (state.tokenType === 5 /* Comment */)
449
+ while (state.tokenType === 5 /* CifTokenType.Comment */)
450
450
  moveNextInternal(state);
451
451
  }
452
452
  function createTokenizer(data, runtimeCtx) {
@@ -456,7 +456,7 @@ function createTokenizer(data, runtimeCtx) {
456
456
  position: 0,
457
457
  tokenStart: 0,
458
458
  tokenEnd: 0,
459
- tokenType: 6 /* End */,
459
+ tokenType: 6 /* CifTokenType.End */,
460
460
  lineNumber: 1,
461
461
  isEscaped: false,
462
462
  isImportGet: false,
@@ -504,13 +504,13 @@ function handleSingle(tokenizer, ctx) {
504
504
  var fieldNames = [];
505
505
  var readingNames = true;
506
506
  while (readingNames) {
507
- if (tokenizer.tokenType !== 4 /* ColumnName */ || !isNamespace(tokenizer, nsStart, nsEnd)) {
507
+ if (tokenizer.tokenType !== 4 /* CifTokenType.ColumnName */ || !isNamespace(tokenizer, nsStart, nsEnd)) {
508
508
  readingNames = false;
509
509
  break;
510
510
  }
511
511
  var fieldName = getTokenString(tokenizer).substring(name.length + 1);
512
512
  moveNext(tokenizer);
513
- if (tokenizer.tokenType !== 3 /* Value */) {
513
+ if (tokenizer.tokenType !== 3 /* CifTokenType.Value */) {
514
514
  return {
515
515
  hasError: true,
516
516
  errorLine: tokenizer.lineNumber,
@@ -532,7 +532,7 @@ function readLoopChunk(chunkSize, state) {
532
532
  var tokenizer = state.tokenizer, tokens = state.tokens, fieldCount = state.fieldCount;
533
533
  var tokenCount = state.tokenCount;
534
534
  var counter = 0;
535
- while (tokenizer.tokenType === 3 /* Value */ && counter < chunkSize) {
535
+ while (tokenizer.tokenType === 3 /* CifTokenType.Value */ && counter < chunkSize) {
536
536
  TokenBuilder.add(tokens[(tokenCount++) % fieldCount], tokenizer.tokenStart, tokenizer.tokenEnd);
537
537
  moveNext(tokenizer);
538
538
  counter++;
@@ -560,7 +560,7 @@ function handleLoop(tokenizer, ctx) {
560
560
  name = getNamespace(tokenizer, getNamespaceEnd(tokenizer));
561
561
  isFlat = isFlatNamespace(tokenizer);
562
562
  fieldNames = [];
563
- while (tokenizer.tokenType === 4 /* ColumnName */) {
563
+ while (tokenizer.tokenType === 4 /* CifTokenType.ColumnName */) {
564
564
  fieldNames[fieldNames.length] = isFlat
565
565
  ? getTokenString(tokenizer)
566
566
  : getTokenString(tokenizer).substring(name.length + 1);
@@ -645,9 +645,9 @@ function parseInternal(data, runtimeCtx) {
645
645
  moveNext(tokenizer);
646
646
  _a.label = 1;
647
647
  case 1:
648
- if (!(tokenizer.tokenType !== 6 /* End */)) return [3 /*break*/, 7];
648
+ if (!(tokenizer.tokenType !== 6 /* CifTokenType.End */)) return [3 /*break*/, 7];
649
649
  token = tokenizer.tokenType;
650
- if (!(token === 0 /* Data */)) return [3 /*break*/, 2];
650
+ if (!(token === 0 /* CifTokenType.Data */)) return [3 /*break*/, 2];
651
651
  if (tokenizer.inSaveFrame) {
652
652
  return [2 /*return*/, error(tokenizer.lineNumber, 'Unexpected data block inside a save frame.')];
653
653
  }
@@ -660,7 +660,7 @@ function parseInternal(data, runtimeCtx) {
660
660
  moveNext(tokenizer);
661
661
  return [3 /*break*/, 6];
662
662
  case 2:
663
- if (!(token === 1 /* Save */)) return [3 /*break*/, 3];
663
+ if (!(token === 1 /* CifTokenType.Save */)) return [3 /*break*/, 3];
664
664
  if (tokenizer.tokenEnd - tokenizer.tokenStart === 5) { // end of save frame
665
665
  if (saveCtx.categoryNames.length > 0) {
666
666
  saveFrames[saveFrames.length] = CifSaveFrame(saveCtx, saveHeader);
@@ -679,7 +679,7 @@ function parseInternal(data, runtimeCtx) {
679
679
  moveNext(tokenizer);
680
680
  return [3 /*break*/, 6];
681
681
  case 3:
682
- if (!(token === 2 /* Loop */)) return [3 /*break*/, 5];
682
+ if (!(token === 2 /* CifTokenType.Loop */)) return [3 /*break*/, 5];
683
683
  return [4 /*yield*/, handleLoop(tokenizer, tokenizer.inSaveFrame ? saveCtx : blockCtx)];
684
684
  case 4:
685
685
  cat = _a.sent();
@@ -688,7 +688,7 @@ function parseInternal(data, runtimeCtx) {
688
688
  }
689
689
  return [3 /*break*/, 6];
690
690
  case 5:
691
- if (token === 4 /* ColumnName */) {
691
+ if (token === 4 /* CifTokenType.ColumnName */) {
692
692
  cat = handleSingle(tokenizer, tokenizer.inSaveFrame ? saveCtx : blockCtx);
693
693
  if (cat.hasError) {
694
694
  return [2 /*return*/, error(cat.errorLine, cat.errorMessage)];