molstar 4.2.0 → 4.4.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 (1216) hide show
  1. package/build/viewer/molstar.css +1 -1
  2. package/build/viewer/molstar.js +1 -1
  3. package/lib/apps/docking-viewer/viewport.d.ts +1 -1
  4. package/lib/apps/docking-viewer/viewport.js +2 -1
  5. package/lib/apps/mesoscale-explorer/app.d.ts +3 -1
  6. package/lib/apps/mesoscale-explorer/app.js +12 -1
  7. package/lib/apps/mesoscale-explorer/behavior/camera.d.ts +12 -0
  8. package/lib/apps/mesoscale-explorer/behavior/camera.js +32 -6
  9. package/lib/apps/mesoscale-explorer/behavior/select.d.ts +1 -0
  10. package/lib/apps/mesoscale-explorer/behavior/select.js +58 -9
  11. package/lib/apps/mesoscale-explorer/data/cellpack/model.js +4 -6
  12. package/lib/apps/mesoscale-explorer/data/cellpack/preset.js +8 -5
  13. package/lib/apps/mesoscale-explorer/data/generic/model.d.ts +1 -0
  14. package/lib/apps/mesoscale-explorer/data/generic/model.js +2 -1
  15. package/lib/apps/mesoscale-explorer/data/generic/preset.js +7 -6
  16. package/lib/apps/mesoscale-explorer/data/mmcif/model.js +3 -1
  17. package/lib/apps/mesoscale-explorer/data/mmcif/preset.js +6 -3
  18. package/lib/apps/mesoscale-explorer/data/petworld/model.js +3 -1
  19. package/lib/apps/mesoscale-explorer/data/petworld/preset.js +6 -3
  20. package/lib/apps/mesoscale-explorer/data/state.d.ts +48 -10
  21. package/lib/apps/mesoscale-explorer/data/state.js +83 -8
  22. package/lib/apps/mesoscale-explorer/index.html +6 -1
  23. package/lib/apps/mesoscale-explorer/style.scss +33 -0
  24. package/lib/apps/mesoscale-explorer/ui/entities.d.ts +23 -1
  25. package/lib/apps/mesoscale-explorer/ui/entities.js +301 -32
  26. package/lib/apps/mesoscale-explorer/ui/panels.d.ts +1 -0
  27. package/lib/apps/mesoscale-explorer/ui/panels.js +42 -5
  28. package/lib/apps/mesoscale-explorer/ui/states.d.ts +60 -2
  29. package/lib/apps/mesoscale-explorer/ui/states.js +471 -11
  30. package/lib/apps/viewer/app.d.ts +12 -5
  31. package/lib/apps/viewer/app.js +30 -1
  32. package/lib/commonjs/apps/docking-viewer/viewport.d.ts +1 -1
  33. package/lib/commonjs/apps/docking-viewer/viewport.js +2 -1
  34. package/lib/commonjs/apps/mesoscale-explorer/app.d.ts +3 -1
  35. package/lib/commonjs/apps/mesoscale-explorer/app.js +12 -1
  36. package/lib/commonjs/apps/mesoscale-explorer/behavior/camera.d.ts +12 -0
  37. package/lib/commonjs/apps/mesoscale-explorer/behavior/camera.js +34 -8
  38. package/lib/commonjs/apps/mesoscale-explorer/behavior/select.d.ts +1 -0
  39. package/lib/commonjs/apps/mesoscale-explorer/behavior/select.js +58 -9
  40. package/lib/commonjs/apps/mesoscale-explorer/data/cellpack/model.js +4 -6
  41. package/lib/commonjs/apps/mesoscale-explorer/data/cellpack/preset.js +8 -6
  42. package/lib/commonjs/apps/mesoscale-explorer/data/generic/model.d.ts +1 -0
  43. package/lib/commonjs/apps/mesoscale-explorer/data/generic/model.js +2 -1
  44. package/lib/commonjs/apps/mesoscale-explorer/data/generic/preset.js +9 -9
  45. package/lib/commonjs/apps/mesoscale-explorer/data/mmcif/model.js +3 -1
  46. package/lib/commonjs/apps/mesoscale-explorer/data/mmcif/preset.js +6 -4
  47. package/lib/commonjs/apps/mesoscale-explorer/data/petworld/model.js +3 -1
  48. package/lib/commonjs/apps/mesoscale-explorer/data/petworld/preset.js +6 -4
  49. package/lib/commonjs/apps/mesoscale-explorer/data/state.d.ts +48 -10
  50. package/lib/commonjs/apps/mesoscale-explorer/data/state.js +107 -28
  51. package/lib/commonjs/apps/mesoscale-explorer/data/util.js +2 -3
  52. package/lib/commonjs/apps/mesoscale-explorer/ui/entities.d.ts +23 -1
  53. package/lib/commonjs/apps/mesoscale-explorer/ui/entities.js +302 -30
  54. package/lib/commonjs/apps/mesoscale-explorer/ui/panels.d.ts +1 -0
  55. package/lib/commonjs/apps/mesoscale-explorer/ui/panels.js +39 -2
  56. package/lib/commonjs/apps/mesoscale-explorer/ui/states.d.ts +60 -2
  57. package/lib/commonjs/apps/mesoscale-explorer/ui/states.js +477 -13
  58. package/lib/commonjs/apps/viewer/app.d.ts +12 -5
  59. package/lib/commonjs/apps/viewer/app.js +29 -0
  60. package/lib/commonjs/cli/chem-comp-dict/util.js +7 -7
  61. package/lib/commonjs/cli/cif2bcif/converter.js +1 -2
  62. package/lib/commonjs/cli/cifschema/util/cif-dic.js +2 -3
  63. package/lib/commonjs/cli/cifschema/util/generate.js +1 -2
  64. package/lib/commonjs/cli/cifschema/util/helper.js +1 -2
  65. package/lib/commonjs/cli/cifschema/util/schema.js +9 -10
  66. package/lib/commonjs/cli/state-docs/pd-to-md.js +1 -2
  67. package/lib/commonjs/cli/structure-info/helpers.js +2 -3
  68. package/lib/commonjs/cli/structure-info/model.js +11 -12
  69. package/lib/commonjs/examples/alpha-orbitals/controls.js +1 -2
  70. package/lib/commonjs/examples/basic-wrapper/custom-theme.js +2 -2
  71. package/lib/commonjs/examples/basic-wrapper/superposition.js +3 -3
  72. package/lib/commonjs/examples/domain-annotation-server/mapping.js +1 -2
  73. package/lib/commonjs/examples/lighting/index.d.ts +1 -1
  74. package/lib/commonjs/examples/lighting/index.js +2 -1
  75. package/lib/commonjs/examples/proteopedia-wrapper/coloring.d.ts +5 -20
  76. package/lib/commonjs/examples/proteopedia-wrapper/coloring.js +1 -2
  77. package/lib/commonjs/examples/proteopedia-wrapper/ui/controls.js +1 -2
  78. package/lib/commonjs/examples/task.js +6 -6
  79. package/lib/commonjs/extensions/alpha-orbitals/collocation.js +1 -2
  80. package/lib/commonjs/extensions/alpha-orbitals/data-model.js +4 -5
  81. package/lib/commonjs/extensions/alpha-orbitals/density.js +2 -3
  82. package/lib/commonjs/extensions/alpha-orbitals/gpu/compute.js +2 -3
  83. package/lib/commonjs/extensions/alpha-orbitals/orbitals.js +2 -3
  84. package/lib/commonjs/extensions/alpha-orbitals/spherical-functions.js +2 -2
  85. package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +3 -3
  86. package/lib/commonjs/extensions/anvil/algorithm.js +5 -5
  87. package/lib/commonjs/extensions/anvil/behavior.d.ts +1 -0
  88. package/lib/commonjs/extensions/anvil/behavior.js +2 -2
  89. package/lib/commonjs/extensions/anvil/representation.d.ts +4 -0
  90. package/lib/commonjs/extensions/anvil/representation.js +3 -3
  91. package/lib/commonjs/extensions/assembly-symmetry/behavior.d.ts +1 -0
  92. package/lib/commonjs/extensions/assembly-symmetry/behavior.js +3 -3
  93. package/lib/commonjs/extensions/assembly-symmetry/color.d.ts +2 -2
  94. package/lib/commonjs/extensions/assembly-symmetry/color.js +3 -3
  95. package/lib/commonjs/extensions/assembly-symmetry/prop.js +3 -3
  96. package/lib/commonjs/extensions/assembly-symmetry/representation.d.ts +1 -0
  97. package/lib/commonjs/extensions/assembly-symmetry/representation.js +2 -2
  98. package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.js +2 -2
  99. package/lib/commonjs/extensions/dnatco/confal-pyramids/color.js +3 -3
  100. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +3 -0
  101. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.js +3 -3
  102. package/lib/commonjs/extensions/dnatco/ntc-tube/behavior.js +2 -2
  103. package/lib/commonjs/extensions/dnatco/ntc-tube/color.js +3 -3
  104. package/lib/commonjs/extensions/dnatco/ntc-tube/representation.d.ts +3 -0
  105. package/lib/commonjs/extensions/dnatco/ntc-tube/representation.js +3 -3
  106. package/lib/commonjs/extensions/g3d/data.js +2 -3
  107. package/lib/commonjs/extensions/g3d/format.d.ts +3 -3
  108. package/lib/commonjs/extensions/g3d/model.js +5 -5
  109. package/lib/commonjs/extensions/geo-export/mesh-exporter.d.ts +2 -2
  110. package/lib/commonjs/extensions/geo-export/ui.d.ts +0 -1
  111. package/lib/commonjs/extensions/meshes/examples.js +9 -9
  112. package/lib/commonjs/extensions/meshes/mesh-extension.d.ts +3 -5
  113. package/lib/commonjs/extensions/meshes/mesh-extension.js +2 -2
  114. package/lib/commonjs/extensions/meshes/mesh-streaming/behavior.d.ts +3 -3
  115. package/lib/commonjs/extensions/meshes/mesh-streaming/server-info.d.ts +3 -3
  116. package/lib/commonjs/extensions/meshes/mesh-utils.js +9 -9
  117. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.d.ts +1 -1
  118. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +11 -8
  119. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +3 -3
  120. package/lib/commonjs/extensions/model-export/export.js +2 -2
  121. package/lib/commonjs/extensions/model-export/ui.d.ts +0 -1
  122. package/lib/commonjs/extensions/mp4-export/controls.d.ts +1 -1
  123. package/lib/commonjs/extensions/mp4-export/encoder.js +2 -3
  124. package/lib/commonjs/extensions/mp4-export/ui.d.ts +0 -1
  125. package/lib/commonjs/extensions/mvs/camera.js +4 -5
  126. package/lib/commonjs/extensions/mvs/components/annotation-color-theme.js +2 -2
  127. package/lib/commonjs/extensions/mvs/components/annotation-label/representation.d.ts +32 -34
  128. package/lib/commonjs/extensions/mvs/components/annotation-label/representation.js +2 -2
  129. package/lib/commonjs/extensions/mvs/components/annotation-label/visual.d.ts +16 -16
  130. package/lib/commonjs/extensions/mvs/components/annotation-label/visual.js +2 -2
  131. package/lib/commonjs/extensions/mvs/components/annotation-prop.js +2 -2
  132. package/lib/commonjs/extensions/mvs/components/annotation-structure-component.js +4 -4
  133. package/lib/commonjs/extensions/mvs/components/custom-label/representation.d.ts +32 -32
  134. package/lib/commonjs/extensions/mvs/components/custom-label/representation.js +2 -2
  135. package/lib/commonjs/extensions/mvs/components/custom-label/visual.d.ts +16 -16
  136. package/lib/commonjs/extensions/mvs/components/custom-label/visual.js +2 -2
  137. package/lib/commonjs/extensions/mvs/components/formats.d.ts +6 -6
  138. package/lib/commonjs/extensions/mvs/components/formats.js +2 -2
  139. package/lib/commonjs/extensions/mvs/components/is-mvs-model-prop.js +3 -3
  140. package/lib/commonjs/extensions/mvs/components/multilayer-color-theme.js +3 -3
  141. package/lib/commonjs/extensions/mvs/components/selector.js +3 -3
  142. package/lib/commonjs/extensions/mvs/helpers/indexing.d.ts +2 -2
  143. package/lib/commonjs/extensions/mvs/helpers/label-text.js +1 -2
  144. package/lib/commonjs/extensions/mvs/helpers/param-definition.js +2 -3
  145. package/lib/commonjs/extensions/mvs/helpers/schemas.d.ts +1 -1
  146. package/lib/commonjs/extensions/mvs/helpers/schemas.js +2 -2
  147. package/lib/commonjs/extensions/mvs/helpers/selections.js +6 -7
  148. package/lib/commonjs/extensions/mvs/helpers/utils.d.ts +1 -1
  149. package/lib/commonjs/extensions/mvs/helpers/utils.js +7 -7
  150. package/lib/commonjs/extensions/mvs/load-helpers.d.ts +1 -1
  151. package/lib/commonjs/extensions/mvs/load-helpers.js +17 -17
  152. package/lib/commonjs/extensions/mvs/load.js +1 -2
  153. package/lib/commonjs/extensions/mvs/tree/generic/params-schema.js +8 -8
  154. package/lib/commonjs/extensions/mvs/tree/generic/tree-schema.js +8 -9
  155. package/lib/commonjs/extensions/mvs/tree/generic/tree-utils.js +10 -11
  156. package/lib/commonjs/extensions/mvs/tree/molstar/conversion.js +4 -4
  157. package/lib/commonjs/extensions/mvs/tree/mvs/mvs-builder.d.ts +0 -2
  158. package/lib/commonjs/extensions/mvs/tree/mvs/mvs-builder.js +3 -3
  159. package/lib/commonjs/extensions/pdbe/structure-quality-report/color.js +2 -2
  160. package/lib/commonjs/extensions/rcsb/validation-report/color/density-fit.js +2 -2
  161. package/lib/commonjs/extensions/rcsb/validation-report/color/geometry-quality.js +3 -3
  162. package/lib/commonjs/extensions/rcsb/validation-report/color/random-coil-index.js +2 -2
  163. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +5 -0
  164. package/lib/commonjs/extensions/rcsb/validation-report/representation.js +5 -5
  165. package/lib/commonjs/extensions/sb-ncbr/index.d.ts +8 -0
  166. package/lib/commonjs/extensions/sb-ncbr/index.js +14 -1
  167. package/lib/commonjs/extensions/sb-ncbr/partial-charges/color.js +3 -3
  168. package/lib/commonjs/extensions/sb-ncbr/partial-charges/labels.js +1 -2
  169. package/lib/commonjs/extensions/sb-ncbr/partial-charges/property.js +2 -2
  170. package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
  171. package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.js +89 -0
  172. package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
  173. package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.js +473 -0
  174. package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
  175. package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.js +96 -0
  176. package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
  177. package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.js +28 -0
  178. package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
  179. package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.js +54 -0
  180. package/lib/commonjs/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
  181. package/lib/commonjs/extensions/sb-ncbr/tunnels/props.js +26 -0
  182. package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
  183. package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.js +99 -0
  184. package/lib/commonjs/extensions/volumes-and-segmentations/entry-root.d.ts +3 -3
  185. package/lib/commonjs/extensions/volumes-and-segmentations/entry-root.js +3 -3
  186. package/lib/commonjs/extensions/volumes-and-segmentations/entry-state.d.ts +3 -3
  187. package/lib/commonjs/extensions/volumes-and-segmentations/external-api.js +2 -3
  188. package/lib/commonjs/extensions/volumes-and-segmentations/global-state.d.ts +3 -3
  189. package/lib/commonjs/extensions/volumes-and-segmentations/helpers.js +6 -6
  190. package/lib/commonjs/extensions/volumes-and-segmentations/ui.d.ts +0 -1
  191. package/lib/commonjs/extensions/zenodo/ui.d.ts +0 -1
  192. package/lib/commonjs/mol-canvas3d/camera/transition.d.ts +1 -1
  193. package/lib/commonjs/mol-canvas3d/camera/transition.js +23 -6
  194. package/lib/commonjs/mol-canvas3d/camera/util.js +3 -4
  195. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +26 -1
  196. package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
  197. package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.d.ts +1 -6
  198. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
  199. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +1 -0
  200. package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
  201. package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
  202. package/lib/commonjs/mol-canvas3d/passes/dof.d.ts +34 -0
  203. package/lib/commonjs/mol-canvas3d/passes/dof.js +167 -0
  204. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +2 -0
  205. package/lib/commonjs/mol-canvas3d/passes/draw.js +31 -8
  206. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +10 -0
  207. package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +2 -1
  208. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +4 -3
  209. package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +9 -0
  210. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +12 -2
  211. package/lib/commonjs/mol-canvas3d/util.js +3 -4
  212. package/lib/commonjs/mol-data/db/column-helpers.js +6 -7
  213. package/lib/commonjs/mol-data/db/column.d.ts +1 -1
  214. package/lib/commonjs/mol-data/generic/hash-set.js +1 -2
  215. package/lib/commonjs/mol-data/generic/linked-list.js +1 -2
  216. package/lib/commonjs/mol-data/int/impl/interval.js +15 -15
  217. package/lib/commonjs/mol-data/int/impl/ordered-set.js +25 -25
  218. package/lib/commonjs/mol-data/int/impl/segmentation.js +7 -7
  219. package/lib/commonjs/mol-data/int/impl/sorted-array.js +31 -31
  220. package/lib/commonjs/mol-data/int/linked-index.js +1 -2
  221. package/lib/commonjs/mol-data/util/array.js +5 -6
  222. package/lib/commonjs/mol-data/util/buckets.js +1 -2
  223. package/lib/commonjs/mol-data/util/combination.js +2 -2
  224. package/lib/commonjs/mol-data/util/equivalence-classes.js +2 -2
  225. package/lib/commonjs/mol-data/util/grouping.js +2 -3
  226. package/lib/commonjs/mol-data/util/hash-functions.js +9 -10
  227. package/lib/commonjs/mol-data/util/sort.js +5 -6
  228. package/lib/commonjs/mol-geo/geometry/base.d.ts +1 -1
  229. package/lib/commonjs/mol-geo/geometry/base.js +3 -3
  230. package/lib/commonjs/mol-geo/geometry/clipping-data.js +4 -5
  231. package/lib/commonjs/mol-geo/geometry/color-data.js +4 -5
  232. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +1 -0
  233. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +3 -0
  234. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +1 -0
  235. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +3 -0
  236. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +3 -4
  237. package/lib/commonjs/mol-geo/geometry/emissive-data.js +5 -6
  238. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +1 -1
  239. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +0 -1
  240. package/lib/commonjs/mol-geo/geometry/marker-data.js +3 -4
  241. package/lib/commonjs/mol-geo/geometry/mesh/builder/axes.js +1 -2
  242. package/lib/commonjs/mol-geo/geometry/mesh/builder/box.js +2 -3
  243. package/lib/commonjs/mol-geo/geometry/mesh/builder/cylinder.js +4 -5
  244. package/lib/commonjs/mol-geo/geometry/mesh/builder/ellipsoid.js +1 -2
  245. package/lib/commonjs/mol-geo/geometry/mesh/builder/ribbon.js +1 -2
  246. package/lib/commonjs/mol-geo/geometry/mesh/builder/sheet.js +1 -2
  247. package/lib/commonjs/mol-geo/geometry/mesh/builder/sphere.js +2 -3
  248. package/lib/commonjs/mol-geo/geometry/mesh/builder/tube.js +1 -2
  249. package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.js +7 -8
  250. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +1 -0
  251. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +3 -0
  252. package/lib/commonjs/mol-geo/geometry/overpaint-data.js +4 -5
  253. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +1 -1
  254. package/lib/commonjs/mol-geo/geometry/size-data.js +9 -9
  255. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +1 -0
  256. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +3 -0
  257. package/lib/commonjs/mol-geo/geometry/substance-data.js +4 -5
  258. package/lib/commonjs/mol-geo/geometry/text/font-atlas.js +3 -3
  259. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +7 -7
  260. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +1 -0
  261. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +3 -0
  262. package/lib/commonjs/mol-geo/geometry/transform-data.js +4 -5
  263. package/lib/commonjs/mol-geo/geometry/transparency-data.js +5 -6
  264. package/lib/commonjs/mol-geo/primitive/box.js +3 -4
  265. package/lib/commonjs/mol-geo/primitive/cage.js +3 -4
  266. package/lib/commonjs/mol-geo/primitive/circle.js +2 -2
  267. package/lib/commonjs/mol-geo/primitive/cylinder.js +2 -2
  268. package/lib/commonjs/mol-geo/primitive/dodecahedron.js +3 -3
  269. package/lib/commonjs/mol-geo/primitive/icosahedron.js +2 -3
  270. package/lib/commonjs/mol-geo/primitive/octahedron.js +4 -4
  271. package/lib/commonjs/mol-geo/primitive/plane.js +2 -3
  272. package/lib/commonjs/mol-geo/primitive/polygon.js +1 -2
  273. package/lib/commonjs/mol-geo/primitive/polyhedron.js +2 -2
  274. package/lib/commonjs/mol-geo/primitive/primitive.js +4 -5
  275. package/lib/commonjs/mol-geo/primitive/prism.js +11 -11
  276. package/lib/commonjs/mol-geo/primitive/pyramid.js +6 -7
  277. package/lib/commonjs/mol-geo/primitive/sphere.js +2 -3
  278. package/lib/commonjs/mol-geo/primitive/spiked-ball.js +1 -2
  279. package/lib/commonjs/mol-geo/primitive/star.js +2 -2
  280. package/lib/commonjs/mol-geo/primitive/tetrahedron.js +3 -3
  281. package/lib/commonjs/mol-geo/primitive/torus.js +2 -2
  282. package/lib/commonjs/mol-geo/primitive/wedge.js +3 -4
  283. package/lib/commonjs/mol-geo/util/location-iterator.js +3 -4
  284. package/lib/commonjs/mol-geo/util/marching-cubes/algorithm.js +2 -3
  285. package/lib/commonjs/mol-geo/util/marching-cubes/builder.js +2 -3
  286. package/lib/commonjs/mol-geo/util/marching-cubes/tables.js +3 -3
  287. package/lib/commonjs/mol-geo/util.js +7 -8
  288. package/lib/commonjs/mol-gl/compute/grid3d.js +2 -3
  289. package/lib/commonjs/mol-gl/compute/hi-z.js +1 -2
  290. package/lib/commonjs/mol-gl/compute/histogram-pyramid/reduction.js +1 -2
  291. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +1 -2
  292. package/lib/commonjs/mol-gl/compute/marching-cubes/active-voxels.js +1 -2
  293. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +2 -3
  294. package/lib/commonjs/mol-gl/compute/marching-cubes/tables.js +2 -3
  295. package/lib/commonjs/mol-gl/compute/util.js +5 -5
  296. package/lib/commonjs/mol-gl/render-object.js +3 -3
  297. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +1 -0
  298. package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -2
  299. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +1 -0
  300. package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -2
  301. package/lib/commonjs/mol-gl/renderable/image.js +2 -2
  302. package/lib/commonjs/mol-gl/renderable/lines.js +2 -2
  303. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +1 -0
  304. package/lib/commonjs/mol-gl/renderable/mesh.js +3 -2
  305. package/lib/commonjs/mol-gl/renderable/points.js +2 -2
  306. package/lib/commonjs/mol-gl/renderable/schema.d.ts +1 -0
  307. package/lib/commonjs/mol-gl/renderable/schema.js +10 -9
  308. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +1 -0
  309. package/lib/commonjs/mol-gl/renderable/spheres.js +3 -2
  310. package/lib/commonjs/mol-gl/renderable/text.js +2 -2
  311. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +1 -0
  312. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -2
  313. package/lib/commonjs/mol-gl/renderable/util.js +7 -8
  314. package/lib/commonjs/mol-gl/renderable.js +2 -3
  315. package/lib/commonjs/mol-gl/renderer.d.ts +1 -0
  316. package/lib/commonjs/mol-gl/renderer.js +6 -0
  317. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +2 -1
  318. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +57 -24
  319. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  320. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -0
  321. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  322. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +6 -0
  323. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +2 -1
  324. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +11 -2
  325. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  326. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -0
  327. package/lib/commonjs/mol-gl/shader/dof.frag.d.ts +7 -0
  328. package/lib/commonjs/mol-gl/shader/dof.frag.js +122 -0
  329. package/lib/commonjs/mol-gl/shader/ssao-blur.frag.d.ts +1 -1
  330. package/lib/commonjs/mol-gl/shader/ssao-blur.frag.js +9 -6
  331. package/lib/commonjs/mol-gl/shader-code.js +4 -4
  332. package/lib/commonjs/mol-gl/webgl/buffer.js +8 -9
  333. package/lib/commonjs/mol-gl/webgl/compat.js +32 -33
  334. package/lib/commonjs/mol-gl/webgl/context.js +7 -7
  335. package/lib/commonjs/mol-gl/webgl/extensions.js +1 -2
  336. package/lib/commonjs/mol-gl/webgl/framebuffer.js +3 -4
  337. package/lib/commonjs/mol-gl/webgl/program.js +2 -3
  338. package/lib/commonjs/mol-gl/webgl/render-item.d.ts +2 -2
  339. package/lib/commonjs/mol-gl/webgl/render-item.js +5 -5
  340. package/lib/commonjs/mol-gl/webgl/render-target.js +2 -3
  341. package/lib/commonjs/mol-gl/webgl/renderbuffer.js +3 -4
  342. package/lib/commonjs/mol-gl/webgl/resources.js +1 -2
  343. package/lib/commonjs/mol-gl/webgl/shader.js +2 -3
  344. package/lib/commonjs/mol-gl/webgl/state.js +1 -2
  345. package/lib/commonjs/mol-gl/webgl/texture.js +13 -14
  346. package/lib/commonjs/mol-gl/webgl/timer.d.ts +1 -1
  347. package/lib/commonjs/mol-gl/webgl/timer.js +10 -4
  348. package/lib/commonjs/mol-gl/webgl/uniform.js +6 -7
  349. package/lib/commonjs/mol-gl/webgl/vertex-array.js +1 -2
  350. package/lib/commonjs/mol-io/common/ascii.js +1 -2
  351. package/lib/commonjs/mol-io/common/binary-cif/classifier.js +2 -3
  352. package/lib/commonjs/mol-io/common/binary-cif/decoder.js +1 -2
  353. package/lib/commonjs/mol-io/common/binary.js +3 -3
  354. package/lib/commonjs/mol-io/common/msgpack/decode.js +1 -2
  355. package/lib/commonjs/mol-io/common/msgpack/encode.js +1 -2
  356. package/lib/commonjs/mol-io/common/simple-buffer.d.ts +0 -1
  357. package/lib/commonjs/mol-io/common/typed-array.js +6 -6
  358. package/lib/commonjs/mol-io/common/utf8.js +3 -4
  359. package/lib/commonjs/mol-io/reader/ccp4/parser.js +6 -7
  360. package/lib/commonjs/mol-io/reader/cif/binary/field.js +1 -2
  361. package/lib/commonjs/mol-io/reader/cif/binary/parser.js +1 -2
  362. package/lib/commonjs/mol-io/reader/cif/data-model.js +8 -8
  363. package/lib/commonjs/mol-io/reader/cif/schema/bird.d.ts +1 -1
  364. package/lib/commonjs/mol-io/reader/cif/schema/bird.js +1 -1
  365. package/lib/commonjs/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  366. package/lib/commonjs/mol-io/reader/cif/schema/ccd.js +1 -1
  367. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +9 -1
  368. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +9 -1
  369. package/lib/commonjs/mol-io/reader/cif/schema.js +4 -4
  370. package/lib/commonjs/mol-io/reader/cif/text/parser.js +1 -2
  371. package/lib/commonjs/mol-io/reader/common/text/column/fixed.d.ts +1 -1
  372. package/lib/commonjs/mol-io/reader/common/text/column/fixed.js +2 -3
  373. package/lib/commonjs/mol-io/reader/common/text/column/token.d.ts +1 -1
  374. package/lib/commonjs/mol-io/reader/common/text/column/token.js +4 -5
  375. package/lib/commonjs/mol-io/reader/common/text/number-parser.js +6 -6
  376. package/lib/commonjs/mol-io/reader/common/text/tokenizer.js +3 -3
  377. package/lib/commonjs/mol-io/reader/csv/data-model.js +3 -3
  378. package/lib/commonjs/mol-io/reader/csv/parser.js +1 -2
  379. package/lib/commonjs/mol-io/reader/cube/parser.js +1 -2
  380. package/lib/commonjs/mol-io/reader/dcd/parser.js +2 -3
  381. package/lib/commonjs/mol-io/reader/dsn6/parser.js +6 -6
  382. package/lib/commonjs/mol-io/reader/dx/parser.js +1 -2
  383. package/lib/commonjs/mol-io/reader/gro/parser.js +1 -2
  384. package/lib/commonjs/mol-io/reader/mol/parser.js +6 -7
  385. package/lib/commonjs/mol-io/reader/mol2/parser.js +1 -2
  386. package/lib/commonjs/mol-io/reader/nctraj/parser.js +1 -2
  387. package/lib/commonjs/mol-io/reader/obj/parser.js +1 -2
  388. package/lib/commonjs/mol-io/reader/pdb/parser.js +1 -2
  389. package/lib/commonjs/mol-io/reader/ply/parser.js +1 -2
  390. package/lib/commonjs/mol-io/reader/ply/schema.d.ts +1 -1
  391. package/lib/commonjs/mol-io/reader/ply/schema.js +3 -3
  392. package/lib/commonjs/mol-io/reader/prmtop/parser.js +1 -2
  393. package/lib/commonjs/mol-io/reader/psf/parser.js +1 -2
  394. package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.js +4 -5
  395. package/lib/commonjs/mol-io/reader/sdf/parser.js +1 -2
  396. package/lib/commonjs/mol-io/reader/top/parser.js +1 -2
  397. package/lib/commonjs/mol-io/reader/trr/parser.js +1 -2
  398. package/lib/commonjs/mol-io/reader/xtc/parser.js +1 -2
  399. package/lib/commonjs/mol-io/reader/xyz/parser.js +1 -2
  400. package/lib/commonjs/mol-io/writer/cif/encoder/util.js +3 -4
  401. package/lib/commonjs/mol-math/approx.js +24 -25
  402. package/lib/commonjs/mol-math/easing.js +18 -19
  403. package/lib/commonjs/mol-math/geometry/boundary.js +2 -3
  404. package/lib/commonjs/mol-math/geometry/common.js +2 -3
  405. package/lib/commonjs/mol-math/geometry/distance-transform.js +1 -2
  406. package/lib/commonjs/mol-math/geometry/gaussian-density/cpu.js +1 -2
  407. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +4 -5
  408. package/lib/commonjs/mol-math/geometry/gaussian-density.js +5 -5
  409. package/lib/commonjs/mol-math/geometry/instance-grid.js +2 -3
  410. package/lib/commonjs/mol-math/geometry/lookup3d/grid.js +1 -2
  411. package/lib/commonjs/mol-math/geometry/molecular-surface.js +2 -2
  412. package/lib/commonjs/mol-math/geometry/polygon.js +1 -2
  413. package/lib/commonjs/mol-math/geometry/primitives/axes3d.js +1 -2
  414. package/lib/commonjs/mol-math/geometry/primitives/box3d.js +1 -2
  415. package/lib/commonjs/mol-math/geometry/primitives/frustum3d.js +1 -2
  416. package/lib/commonjs/mol-math/geometry/primitives/plane3d.js +1 -2
  417. package/lib/commonjs/mol-math/geometry/primitives/sphere3d.js +1 -2
  418. package/lib/commonjs/mol-math/geometry/spacegroup/cell.js +1 -2
  419. package/lib/commonjs/mol-math/geometry/spacegroup/tables.js +4 -4
  420. package/lib/commonjs/mol-math/histogram.js +1 -2
  421. package/lib/commonjs/mol-math/interpolate.js +12 -13
  422. package/lib/commonjs/mol-math/linear-algebra/3d/common.js +2 -2
  423. package/lib/commonjs/mol-math/linear-algebra/3d/euler.js +1 -2
  424. package/lib/commonjs/mol-math/linear-algebra/3d/mat3.js +1 -2
  425. package/lib/commonjs/mol-math/linear-algebra/3d/mat4.js +1 -2
  426. package/lib/commonjs/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
  427. package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +1 -2
  428. package/lib/commonjs/mol-math/linear-algebra/3d/vec2.js +1 -2
  429. package/lib/commonjs/mol-math/linear-algebra/3d/vec3.js +1 -2
  430. package/lib/commonjs/mol-math/linear-algebra/3d/vec4.js +1 -2
  431. package/lib/commonjs/mol-math/linear-algebra/matrix/svd.js +4 -5
  432. package/lib/commonjs/mol-math/misc.js +7 -7
  433. package/lib/commonjs/mol-model/custom-property.js +2 -2
  434. package/lib/commonjs/mol-model/location.js +4 -4
  435. package/lib/commonjs/mol-model/loci.d.ts +1 -1
  436. package/lib/commonjs/mol-model/loci.js +7 -7
  437. package/lib/commonjs/mol-model/sequence/alignment/alignment.d.ts +2 -1
  438. package/lib/commonjs/mol-model/sequence/alignment/alignment.js +1 -2
  439. package/lib/commonjs/mol-model/sequence/alignment/sequence.js +3 -3
  440. package/lib/commonjs/mol-model/sequence/constants.js +3 -4
  441. package/lib/commonjs/mol-model/structure/coordinates/coordinates.js +2 -2
  442. package/lib/commonjs/mol-model/structure/export/categories/atom_site.js +5 -5
  443. package/lib/commonjs/mol-model/structure/export/categories/atom_site_operator_mapping.js +2 -2
  444. package/lib/commonjs/mol-model/structure/export/categories/utils.js +6 -7
  445. package/lib/commonjs/mol-model/structure/export/mmcif.js +3 -3
  446. package/lib/commonjs/mol-model/structure/model/properties/atomic/bonds.js +2 -3
  447. package/lib/commonjs/mol-model/structure/model/properties/atomic/measures.js +4 -4
  448. package/lib/commonjs/mol-model/structure/model/properties/atomic/types.js +14 -14
  449. package/lib/commonjs/mol-model/structure/model/properties/secondary-structure.js +1 -2
  450. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.js +1 -2
  451. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.js +1 -2
  452. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-ranges.js +1 -2
  453. package/lib/commonjs/mol-model/structure/model/properties/utils/coarse-keys.js +1 -2
  454. package/lib/commonjs/mol-model/structure/model/properties/utils/coarse-ranges.js +1 -2
  455. package/lib/commonjs/mol-model/structure/model/types/saccharides.js +1 -1
  456. package/lib/commonjs/mol-model/structure/model/types.d.ts +3 -3
  457. package/lib/commonjs/mol-model/structure/model/types.js +12 -12
  458. package/lib/commonjs/mol-model/structure/model/util.js +2 -3
  459. package/lib/commonjs/mol-model/structure/query/queries/atom-set.js +3 -4
  460. package/lib/commonjs/mol-model/structure/query/queries/combinators.js +2 -3
  461. package/lib/commonjs/mol-model/structure/query/queries/filters.js +7 -8
  462. package/lib/commonjs/mol-model/structure/query/queries/generators.js +9 -9
  463. package/lib/commonjs/mol-model/structure/query/queries/internal.js +7 -8
  464. package/lib/commonjs/mol-model/structure/query/queries/modifiers.js +9 -10
  465. package/lib/commonjs/mol-model/structure/query/utils/structure-distance.js +2 -3
  466. package/lib/commonjs/mol-model/structure/query/utils/structure-set.js +5 -6
  467. package/lib/commonjs/mol-model/structure/structure/carbohydrates/compute.js +1 -2
  468. package/lib/commonjs/mol-model/structure/structure/carbohydrates/constants.js +4 -4
  469. package/lib/commonjs/mol-model/structure/structure/element/loci.js +1 -2
  470. package/lib/commonjs/mol-model/structure/structure/element/util.js +6 -7
  471. package/lib/commonjs/mol-model/structure/structure/properties.d.ts +1 -0
  472. package/lib/commonjs/mol-model/structure/structure/properties.js +1 -0
  473. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.js +6 -6
  474. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +1 -2
  475. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +1 -2
  476. package/lib/commonjs/mol-model/structure/structure/unit/resonance.js +1 -2
  477. package/lib/commonjs/mol-model/structure/structure/unit/rings/compute.js +3 -4
  478. package/lib/commonjs/mol-model/structure/structure/util/boundary.js +1 -2
  479. package/lib/commonjs/mol-model/structure/structure/util/lookup3d.js +2 -2
  480. package/lib/commonjs/mol-model/structure/structure/util/polymer.js +6 -7
  481. package/lib/commonjs/mol-model/structure/structure/util/principal-axes.js +2 -3
  482. package/lib/commonjs/mol-model/structure/structure/util/superposition-sifts-mapping.js +1 -2
  483. package/lib/commonjs/mol-model/structure/structure/util/superposition.js +3 -4
  484. package/lib/commonjs/mol-model/structure/util.js +5 -6
  485. package/lib/commonjs/mol-model/volume/volume.d.ts +6 -6
  486. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +2 -0
  487. package/lib/commonjs/mol-model-formats/shape/ply.js +2 -2
  488. package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +1 -2
  489. package/lib/commonjs/mol-model-formats/structure/basic/coarse.js +2 -2
  490. package/lib/commonjs/mol-model-formats/structure/basic/entities.js +2 -3
  491. package/lib/commonjs/mol-model-formats/structure/basic/parser.js +1 -2
  492. package/lib/commonjs/mol-model-formats/structure/basic/properties.js +4 -5
  493. package/lib/commonjs/mol-model-formats/structure/basic/schema.d.ts +1 -0
  494. package/lib/commonjs/mol-model-formats/structure/basic/schema.js +2 -2
  495. package/lib/commonjs/mol-model-formats/structure/basic/sequence.js +1 -2
  496. package/lib/commonjs/mol-model-formats/structure/basic/sort.js +1 -2
  497. package/lib/commonjs/mol-model-formats/structure/basic/util.js +2 -3
  498. package/lib/commonjs/mol-model-formats/structure/cif-core.js +2 -2
  499. package/lib/commonjs/mol-model-formats/structure/common/entity.d.ts +1 -0
  500. package/lib/commonjs/mol-model-formats/structure/cube.js +1 -2
  501. package/lib/commonjs/mol-model-formats/structure/dcd.js +1 -2
  502. package/lib/commonjs/mol-model-formats/structure/gro.js +2 -2
  503. package/lib/commonjs/mol-model-formats/structure/mmcif.js +3 -3
  504. package/lib/commonjs/mol-model-formats/structure/mol.js +3 -3
  505. package/lib/commonjs/mol-model-formats/structure/mol2.js +2 -2
  506. package/lib/commonjs/mol-model-formats/structure/nctraj.js +1 -2
  507. package/lib/commonjs/mol-model-formats/structure/pdb/anisotropic.js +3 -4
  508. package/lib/commonjs/mol-model-formats/structure/pdb/assembly.js +3 -4
  509. package/lib/commonjs/mol-model-formats/structure/pdb/atom-site.js +3 -4
  510. package/lib/commonjs/mol-model-formats/structure/pdb/conect.js +1 -2
  511. package/lib/commonjs/mol-model-formats/structure/pdb/entity.js +2 -3
  512. package/lib/commonjs/mol-model-formats/structure/pdb/header.js +1 -2
  513. package/lib/commonjs/mol-model-formats/structure/pdb/secondary-structure.js +2 -3
  514. package/lib/commonjs/mol-model-formats/structure/pdb/to-cif.js +1 -2
  515. package/lib/commonjs/mol-model-formats/structure/pdb.js +2 -2
  516. package/lib/commonjs/mol-model-formats/structure/prmtop.js +2 -2
  517. package/lib/commonjs/mol-model-formats/structure/property/assembly.js +3 -4
  518. package/lib/commonjs/mol-model-formats/structure/psf.js +2 -2
  519. package/lib/commonjs/mol-model-formats/structure/sdf.js +2 -2
  520. package/lib/commonjs/mol-model-formats/structure/top.js +2 -2
  521. package/lib/commonjs/mol-model-formats/structure/trr.js +1 -2
  522. package/lib/commonjs/mol-model-formats/structure/util.js +2 -3
  523. package/lib/commonjs/mol-model-formats/structure/xtc.js +1 -2
  524. package/lib/commonjs/mol-model-formats/structure/xyz.js +2 -2
  525. package/lib/commonjs/mol-model-formats/volume/ccp4.js +3 -3
  526. package/lib/commonjs/mol-model-formats/volume/cube.js +2 -2
  527. package/lib/commonjs/mol-model-formats/volume/density-server.js +2 -2
  528. package/lib/commonjs/mol-model-formats/volume/dsn6.js +2 -2
  529. package/lib/commonjs/mol-model-formats/volume/dx.js +2 -2
  530. package/lib/commonjs/mol-model-formats/volume/segmentation.js +2 -2
  531. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/area.js +1 -2
  532. package/lib/commonjs/mol-model-props/computed/accessible-surface-area/shrake-rupley/radii.js +1 -2
  533. package/lib/commonjs/mol-model-props/computed/chemistry/functional-group.js +16 -17
  534. package/lib/commonjs/mol-model-props/computed/chemistry/geometry.js +5 -5
  535. package/lib/commonjs/mol-model-props/computed/chemistry/util.js +16 -17
  536. package/lib/commonjs/mol-model-props/computed/chemistry/valence-model.js +4 -4
  537. package/lib/commonjs/mol-model-props/computed/helix-orientation/helix-orientation.js +1 -2
  538. package/lib/commonjs/mol-model-props/computed/interactions/common.js +4 -4
  539. package/lib/commonjs/mol-model-props/computed/interactions/contacts.js +3 -3
  540. package/lib/commonjs/mol-model-props/computed/interactions/interactions.js +2 -2
  541. package/lib/commonjs/mol-model-props/computed/interactions/refine.js +1 -2
  542. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +1 -0
  543. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.js +2 -2
  544. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +1 -0
  545. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +2 -2
  546. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +3 -0
  547. package/lib/commonjs/mol-model-props/computed/representations/interactions.js +3 -3
  548. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/backbone-hbonds.js +1 -2
  549. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bends.js +1 -2
  550. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/bridges.js +1 -2
  551. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/dihedral-angles.js +1 -2
  552. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/helices.js +1 -2
  553. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/ladders.js +1 -2
  554. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/protein-info.js +1 -2
  555. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/sheets.js +1 -2
  556. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/trace-lookup.js +1 -2
  557. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp/turns.js +1 -2
  558. package/lib/commonjs/mol-model-props/computed/secondary-structure/dssp.js +2 -2
  559. package/lib/commonjs/mol-model-props/computed/themes/accessible-surface-area.js +3 -3
  560. package/lib/commonjs/mol-model-props/computed/themes/interaction-type.js +3 -3
  561. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/color.js +3 -3
  562. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +4 -0
  563. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.js +4 -4
  564. package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.d.ts +2 -2
  565. package/lib/commonjs/mol-model-props/sequence/themes/sifts-mapping.js +3 -3
  566. package/lib/commonjs/mol-plugin/animation-loop.d.ts +1 -0
  567. package/lib/commonjs/mol-plugin/behavior/behavior.d.ts +9 -9
  568. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +9 -9
  569. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -3
  570. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
  571. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/util.js +8 -9
  572. package/lib/commonjs/mol-plugin/behavior/static/camera.js +6 -7
  573. package/lib/commonjs/mol-plugin/behavior/static/misc.js +2 -3
  574. package/lib/commonjs/mol-plugin/behavior/static/representation.js +4 -5
  575. package/lib/commonjs/mol-plugin/behavior/static/state.js +12 -13
  576. package/lib/commonjs/mol-plugin/command.js +2 -2
  577. package/lib/commonjs/mol-plugin/commands.d.ts +23 -87
  578. package/lib/commonjs/mol-plugin/context.d.ts +3 -2
  579. package/lib/commonjs/mol-plugin/context.js +4 -2
  580. package/lib/commonjs/mol-plugin/state.d.ts +7 -7
  581. package/lib/commonjs/mol-plugin/util/headless-screenshot.d.ts +1 -1
  582. package/lib/commonjs/mol-plugin/util/headless-screenshot.js +7 -5
  583. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +1 -1
  584. package/lib/commonjs/mol-plugin/util/viewport-screenshot.js +2 -1
  585. package/lib/commonjs/mol-plugin-state/actions/volume.d.ts +1 -1
  586. package/lib/commonjs/mol-plugin-state/actions/volume.js +4 -12
  587. package/lib/commonjs/mol-plugin-state/animation/built-in/model-index.d.ts +2 -2
  588. package/lib/commonjs/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
  589. package/lib/commonjs/mol-plugin-state/animation/helpers.js +5 -5
  590. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +2 -2
  591. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.js +4 -4
  592. package/lib/commonjs/mol-plugin-state/formats/provider.js +2 -3
  593. package/lib/commonjs/mol-plugin-state/formats/registry.d.ts +1 -1
  594. package/lib/commonjs/mol-plugin-state/formats/trajectory.d.ts +9 -9
  595. package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +0 -1
  596. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -2
  597. package/lib/commonjs/mol-plugin-state/helpers/structure-component.js +3 -3
  598. package/lib/commonjs/mol-plugin-state/helpers/structure-emissive.js +2 -3
  599. package/lib/commonjs/mol-plugin-state/helpers/structure-overpaint.js +2 -3
  600. package/lib/commonjs/mol-plugin-state/helpers/structure-representation-params.js +4 -5
  601. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +9 -9
  602. package/lib/commonjs/mol-plugin-state/helpers/structure-substance.js +2 -3
  603. package/lib/commonjs/mol-plugin-state/helpers/structure-transparency.js +2 -3
  604. package/lib/commonjs/mol-plugin-state/helpers/volume-representation-params.js +4 -5
  605. package/lib/commonjs/mol-plugin-state/manager/focus-camera/focus-first-residue.js +2 -3
  606. package/lib/commonjs/mol-plugin-state/manager/focus-camera/orient-axes.js +4 -4
  607. package/lib/commonjs/mol-plugin-state/manager/structure/hierarchy-state.js +2 -3
  608. package/lib/commonjs/mol-plugin-state/manager/structure/hierarchy.d.ts +3 -3
  609. package/lib/commonjs/mol-plugin-state/manager/structure/measurement.d.ts +4 -0
  610. package/lib/commonjs/mol-plugin-state/manager/volume/hierarchy-state.js +2 -3
  611. package/lib/commonjs/mol-plugin-state/objects.d.ts +97 -97
  612. package/lib/commonjs/mol-plugin-state/transforms/data.d.ts +10 -1
  613. package/lib/commonjs/mol-plugin-state/transforms/data.js +31 -2
  614. package/lib/commonjs/mol-plugin-state/transforms/helpers.js +6 -7
  615. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +6 -0
  616. package/lib/commonjs/mol-plugin-state/transforms/shape.js +2 -2
  617. package/lib/commonjs/mol-plugin-ui/base.js +2 -1
  618. package/lib/commonjs/mol-plugin-ui/controls/color.js +3 -3
  619. package/lib/commonjs/mol-plugin-ui/controls/common.js +5 -5
  620. package/lib/commonjs/mol-plugin-ui/controls/icons.d.ts +5 -0
  621. package/lib/commonjs/mol-plugin-ui/controls/icons.js +87 -73
  622. package/lib/commonjs/mol-plugin-ui/controls/legend.js +2 -2
  623. package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +3 -3
  624. package/lib/commonjs/mol-plugin-ui/controls/parameters.js +2 -2
  625. package/lib/commonjs/mol-plugin-ui/controls.js +3 -3
  626. package/lib/commonjs/mol-plugin-ui/hooks/use-behavior.js +1 -2
  627. package/lib/commonjs/mol-plugin-ui/index.js +1 -2
  628. package/lib/commonjs/mol-plugin-ui/left-panel.d.ts +0 -1
  629. package/lib/commonjs/mol-plugin-ui/plugin.js +5 -4
  630. package/lib/commonjs/mol-plugin-ui/react18.js +1 -2
  631. package/lib/commonjs/mol-plugin-ui/sequence.js +8 -8
  632. package/lib/commonjs/mol-plugin-ui/spec.d.ts +10 -10
  633. package/lib/commonjs/mol-plugin-ui/spec.js +1 -1
  634. package/lib/commonjs/mol-plugin-ui/state/apply-action.d.ts +1 -1
  635. package/lib/commonjs/mol-plugin-ui/state/update-transform.d.ts +1 -1
  636. package/lib/commonjs/mol-plugin-ui/structure/quick-styles.d.ts +2 -1
  637. package/lib/commonjs/mol-plugin-ui/structure/quick-styles.js +5 -2
  638. package/lib/commonjs/mol-plugin-ui/structure/selection.d.ts +2 -2
  639. package/lib/commonjs/mol-plugin-ui/task.js +2 -3
  640. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +3 -0
  641. package/lib/commonjs/mol-repr/representation.d.ts +3 -3
  642. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +1 -0
  643. package/lib/commonjs/mol-repr/shape/loci/angle.js +2 -2
  644. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +1 -0
  645. package/lib/commonjs/mol-repr/shape/loci/dihedral.js +2 -2
  646. package/lib/commonjs/mol-repr/shape/loci/distance.js +2 -2
  647. package/lib/commonjs/mol-repr/shape/loci/label.js +2 -2
  648. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +1 -0
  649. package/lib/commonjs/mol-repr/shape/loci/orientation.js +2 -2
  650. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +1 -0
  651. package/lib/commonjs/mol-repr/shape/loci/plane.js +2 -2
  652. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +1 -0
  653. package/lib/commonjs/mol-repr/shape/model/unitcell.js +3 -3
  654. package/lib/commonjs/mol-repr/shape/representation.js +1 -2
  655. package/lib/commonjs/mol-repr/structure/complex-representation.js +1 -2
  656. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +5 -0
  657. package/lib/commonjs/mol-repr/structure/complex-visual.js +9 -9
  658. package/lib/commonjs/mol-repr/structure/params.d.ts +5 -0
  659. package/lib/commonjs/mol-repr/structure/params.js +2 -2
  660. package/lib/commonjs/mol-repr/structure/registry.d.ts +11 -0
  661. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +3 -0
  662. package/lib/commonjs/mol-repr/structure/representation/backbone.js +3 -3
  663. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +3 -0
  664. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.js +3 -3
  665. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +3 -0
  666. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.js +3 -3
  667. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +3 -0
  668. package/lib/commonjs/mol-repr/structure/representation/cartoon.js +3 -3
  669. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +3 -0
  670. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.js +3 -3
  671. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +3 -0
  672. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +3 -3
  673. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
  674. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +3 -3
  675. package/lib/commonjs/mol-repr/structure/representation/label.js +3 -3
  676. package/lib/commonjs/mol-repr/structure/representation/line.js +3 -3
  677. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +3 -0
  678. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +3 -3
  679. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +3 -0
  680. package/lib/commonjs/mol-repr/structure/representation/orientation.js +3 -3
  681. package/lib/commonjs/mol-repr/structure/representation/point.js +3 -3
  682. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +3 -0
  683. package/lib/commonjs/mol-repr/structure/representation/putty.js +3 -3
  684. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +3 -0
  685. package/lib/commonjs/mol-repr/structure/representation/spacefill.js +3 -3
  686. package/lib/commonjs/mol-repr/structure/representation.js +2 -2
  687. package/lib/commonjs/mol-repr/structure/units-representation.js +1 -2
  688. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +5 -0
  689. package/lib/commonjs/mol-repr/structure/units-visual.js +10 -10
  690. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +2 -0
  691. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +4 -4
  692. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +2 -2
  693. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +2 -0
  694. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +4 -4
  695. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  696. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +1 -0
  697. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.js +2 -2
  698. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -0
  699. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +2 -2
  700. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +1 -0
  701. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +2 -2
  702. package/lib/commonjs/mol-repr/structure/visual/element-cross.js +3 -3
  703. package/lib/commonjs/mol-repr/structure/visual/element-point.js +3 -3
  704. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +4 -0
  705. package/lib/commonjs/mol-repr/structure/visual/element-sphere.js +7 -7
  706. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -0
  707. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.js +3 -3
  708. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
  709. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +3 -3
  710. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -0
  711. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +7 -7
  712. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +2 -2
  713. package/lib/commonjs/mol-repr/structure/visual/label-text.js +2 -2
  714. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -0
  715. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +3 -3
  716. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +2 -2
  717. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-bond.d.ts +2 -0
  718. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-bond.js +4 -4
  719. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-element.d.ts +2 -0
  720. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-element.js +4 -4
  721. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-ring-fill.d.ts +1 -0
  722. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-ring-fill.js +2 -2
  723. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -0
  724. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.js +2 -2
  725. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -0
  726. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.js +2 -2
  727. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -0
  728. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.js +3 -3
  729. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -0
  730. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.js +4 -4
  731. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -0
  732. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.js +4 -4
  733. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -0
  734. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +2 -2
  735. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -0
  736. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.js +2 -2
  737. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -0
  738. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +2 -2
  739. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -0
  740. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.js +2 -2
  741. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +8 -8
  742. package/lib/commonjs/mol-repr/structure/visual/util/common.js +14 -14
  743. package/lib/commonjs/mol-repr/structure/visual/util/element.js +10 -10
  744. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +8 -8
  745. package/lib/commonjs/mol-repr/structure/visual/util/link.js +5 -5
  746. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +2 -3
  747. package/lib/commonjs/mol-repr/structure/visual/util/nucleotide.d.ts +60 -60
  748. package/lib/commonjs/mol-repr/structure/visual/util/nucleotide.js +11 -11
  749. package/lib/commonjs/mol-repr/structure/visual/util/polymer/backbone.js +3 -4
  750. package/lib/commonjs/mol-repr/structure/visual/util/polymer/curve-segment.js +5 -6
  751. package/lib/commonjs/mol-repr/structure/visual/util/polymer/gap-iterator.js +2 -2
  752. package/lib/commonjs/mol-repr/structure/visual/util/polymer/trace-iterator.js +2 -2
  753. package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +8 -8
  754. package/lib/commonjs/mol-repr/util.js +3 -3
  755. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +48 -45
  756. package/lib/commonjs/mol-repr/volume/direct-volume.js +9 -9
  757. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +95 -90
  758. package/lib/commonjs/mol-repr/volume/isosurface.js +10 -10
  759. package/lib/commonjs/mol-repr/volume/registry.d.ts +63 -60
  760. package/lib/commonjs/mol-repr/volume/representation.js +4 -4
  761. package/lib/commonjs/mol-repr/volume/segment.d.ts +80 -75
  762. package/lib/commonjs/mol-repr/volume/segment.js +8 -8
  763. package/lib/commonjs/mol-repr/volume/slice.d.ts +45 -45
  764. package/lib/commonjs/mol-repr/volume/slice.js +5 -5
  765. package/lib/commonjs/mol-repr/volume/util.js +5 -6
  766. package/lib/commonjs/mol-script/language/expression-formatter.js +1 -2
  767. package/lib/commonjs/mol-script/language/helpers.js +3 -4
  768. package/lib/commonjs/mol-script/language/parser.js +1 -2
  769. package/lib/commonjs/mol-script/language/symbol-table/core.d.ts +1 -1
  770. package/lib/commonjs/mol-script/language/symbol.js +5 -5
  771. package/lib/commonjs/mol-script/runtime/query/base.js +2 -2
  772. package/lib/commonjs/mol-script/script/mol-script/script-macro.js +4 -5
  773. package/lib/commonjs/mol-script/script/mol-script/symbols.js +3 -3
  774. package/lib/commonjs/mol-script/script.js +1 -2
  775. package/lib/commonjs/mol-script/transpile.js +1 -2
  776. package/lib/commonjs/mol-script/transpilers/helper.js +28 -28
  777. package/lib/commonjs/mol-script/transpilers/jmol/properties.js +2 -2
  778. package/lib/commonjs/mol-script/transpilers/vmd/properties.js +2 -2
  779. package/lib/commonjs/mol-script/util/id-list.js +1 -2
  780. package/lib/commonjs/mol-state/object.d.ts +4 -4
  781. package/lib/commonjs/mol-state/state.d.ts +4 -4
  782. package/lib/commonjs/mol-state/transform.d.ts +1 -1
  783. package/lib/commonjs/mol-state/transformer.d.ts +1 -1
  784. package/lib/commonjs/mol-task/execution/observable.js +4 -5
  785. package/lib/commonjs/mol-task/util/chunked.js +1 -2
  786. package/lib/commonjs/mol-task/util/multistep.js +1 -2
  787. package/lib/commonjs/mol-task/util/scheduler.d.ts +0 -1
  788. package/lib/commonjs/mol-theme/clipping.js +1 -2
  789. package/lib/commonjs/mol-theme/color/atom-id.d.ts +2 -2
  790. package/lib/commonjs/mol-theme/color/atom-id.js +3 -3
  791. package/lib/commonjs/mol-theme/color/carbohydrate-symbol.js +3 -3
  792. package/lib/commonjs/mol-theme/color/cartoon.js +3 -3
  793. package/lib/commonjs/mol-theme/color/chain-id.d.ts +2 -2
  794. package/lib/commonjs/mol-theme/color/chain-id.js +3 -3
  795. package/lib/commonjs/mol-theme/color/element-index.d.ts +2 -2
  796. package/lib/commonjs/mol-theme/color/element-index.js +3 -3
  797. package/lib/commonjs/mol-theme/color/element-symbol.js +4 -4
  798. package/lib/commonjs/mol-theme/color/entity-id.d.ts +2 -2
  799. package/lib/commonjs/mol-theme/color/entity-id.js +3 -3
  800. package/lib/commonjs/mol-theme/color/entity-source.d.ts +2 -2
  801. package/lib/commonjs/mol-theme/color/entity-source.js +3 -3
  802. package/lib/commonjs/mol-theme/color/external-volume.d.ts +2 -2
  803. package/lib/commonjs/mol-theme/color/external-volume.js +2 -2
  804. package/lib/commonjs/mol-theme/color/hydrophobicity.js +4 -4
  805. package/lib/commonjs/mol-theme/color/illustrative.js +3 -3
  806. package/lib/commonjs/mol-theme/color/model-index.d.ts +2 -2
  807. package/lib/commonjs/mol-theme/color/model-index.js +3 -3
  808. package/lib/commonjs/mol-theme/color/molecule-type.js +4 -4
  809. package/lib/commonjs/mol-theme/color/occupancy.js +4 -4
  810. package/lib/commonjs/mol-theme/color/operator-hkl.d.ts +2 -2
  811. package/lib/commonjs/mol-theme/color/operator-hkl.js +3 -3
  812. package/lib/commonjs/mol-theme/color/operator-name.d.ts +2 -2
  813. package/lib/commonjs/mol-theme/color/operator-name.js +3 -3
  814. package/lib/commonjs/mol-theme/color/partial-charge.js +3 -3
  815. package/lib/commonjs/mol-theme/color/polymer-id.d.ts +2 -2
  816. package/lib/commonjs/mol-theme/color/polymer-id.js +3 -3
  817. package/lib/commonjs/mol-theme/color/polymer-index.d.ts +2 -2
  818. package/lib/commonjs/mol-theme/color/polymer-index.js +3 -3
  819. package/lib/commonjs/mol-theme/color/residue-name.js +4 -4
  820. package/lib/commonjs/mol-theme/color/secondary-structure.js +4 -4
  821. package/lib/commonjs/mol-theme/color/sequence-id.js +3 -3
  822. package/lib/commonjs/mol-theme/color/shape-group.js +3 -3
  823. package/lib/commonjs/mol-theme/color/structure-index.d.ts +2 -2
  824. package/lib/commonjs/mol-theme/color/structure-index.js +3 -3
  825. package/lib/commonjs/mol-theme/color/trajectory-index.d.ts +2 -2
  826. package/lib/commonjs/mol-theme/color/trajectory-index.js +3 -3
  827. package/lib/commonjs/mol-theme/color/uncertainty.js +4 -4
  828. package/lib/commonjs/mol-theme/color/uniform.js +3 -3
  829. package/lib/commonjs/mol-theme/color/unit-index.d.ts +2 -2
  830. package/lib/commonjs/mol-theme/color/unit-index.js +3 -3
  831. package/lib/commonjs/mol-theme/color/volume-segment.d.ts +2 -2
  832. package/lib/commonjs/mol-theme/color/volume-segment.js +3 -3
  833. package/lib/commonjs/mol-theme/color/volume-value.js +3 -3
  834. package/lib/commonjs/mol-theme/color.d.ts +16 -16
  835. package/lib/commonjs/mol-theme/color.js +2 -2
  836. package/lib/commonjs/mol-theme/emissive.js +1 -2
  837. package/lib/commonjs/mol-theme/label.js +11 -11
  838. package/lib/commonjs/mol-theme/overpaint.js +1 -2
  839. package/lib/commonjs/mol-theme/size/physical.js +4 -4
  840. package/lib/commonjs/mol-theme/size/shape-group.js +3 -3
  841. package/lib/commonjs/mol-theme/size/uncertainty.js +4 -4
  842. package/lib/commonjs/mol-theme/size/uniform.js +3 -3
  843. package/lib/commonjs/mol-theme/substance.js +1 -2
  844. package/lib/commonjs/mol-theme/theme.d.ts +3 -3
  845. package/lib/commonjs/mol-theme/transparency.js +1 -2
  846. package/lib/commonjs/mol-util/array.js +22 -23
  847. package/lib/commonjs/mol-util/binding.js +1 -2
  848. package/lib/commonjs/mol-util/clip.js +1 -2
  849. package/lib/commonjs/mol-util/color/color.js +6 -7
  850. package/lib/commonjs/mol-util/color/distinct.js +2 -2
  851. package/lib/commonjs/mol-util/color/lists.js +2 -2
  852. package/lib/commonjs/mol-util/color/palette.d.ts +4 -3
  853. package/lib/commonjs/mol-util/color/palette.js +2 -3
  854. package/lib/commonjs/mol-util/color/params.js +1 -2
  855. package/lib/commonjs/mol-util/color/scale.d.ts +2 -1
  856. package/lib/commonjs/mol-util/color/spaces/hcl.js +1 -2
  857. package/lib/commonjs/mol-util/color/spaces/lab.js +1 -2
  858. package/lib/commonjs/mol-util/data-source.d.ts +0 -1
  859. package/lib/commonjs/mol-util/data-source.js +7 -7
  860. package/lib/commonjs/mol-util/date.js +2 -3
  861. package/lib/commonjs/mol-util/debug.js +7 -7
  862. package/lib/commonjs/mol-util/download.js +1 -2
  863. package/lib/commonjs/mol-util/file-info.js +1 -2
  864. package/lib/commonjs/mol-util/id-factory.js +1 -2
  865. package/lib/commonjs/mol-util/index.js +13 -13
  866. package/lib/commonjs/mol-util/input/event-offset.js +1 -2
  867. package/lib/commonjs/mol-util/input/input-observer.js +4 -4
  868. package/lib/commonjs/mol-util/is-little-endian.js +1 -2
  869. package/lib/commonjs/mol-util/json.js +2 -3
  870. package/lib/commonjs/mol-util/legend.js +2 -3
  871. package/lib/commonjs/mol-util/make-dir.js +1 -2
  872. package/lib/commonjs/mol-util/map.js +1 -2
  873. package/lib/commonjs/mol-util/marker-action.js +6 -6
  874. package/lib/commonjs/mol-util/mask.js +2 -2
  875. package/lib/commonjs/mol-util/material.js +1 -2
  876. package/lib/commonjs/mol-util/memoize.js +2 -3
  877. package/lib/commonjs/mol-util/nodejs-shims.d.ts +1 -1
  878. package/lib/commonjs/mol-util/now.js +2 -2
  879. package/lib/commonjs/mol-util/number-packing.js +3 -4
  880. package/lib/commonjs/mol-util/number.js +7 -8
  881. package/lib/commonjs/mol-util/object.js +14 -15
  882. package/lib/commonjs/mol-util/param-mapping.js +1 -2
  883. package/lib/commonjs/mol-util/read.js +6 -7
  884. package/lib/commonjs/mol-util/reference-cache.js +3 -4
  885. package/lib/commonjs/mol-util/retry-if.js +1 -2
  886. package/lib/commonjs/mol-util/sleep.js +1 -2
  887. package/lib/commonjs/mol-util/string.js +18 -18
  888. package/lib/commonjs/mol-util/type-helpers.js +3 -4
  889. package/lib/commonjs/mol-util/url.js +2 -3
  890. package/lib/commonjs/mol-util/zip/bin.js +9 -10
  891. package/lib/commonjs/mol-util/zip/checksum.js +2 -3
  892. package/lib/commonjs/mol-util/zip/deflate.js +1 -2
  893. package/lib/commonjs/mol-util/zip/huffman.js +1 -2
  894. package/lib/commonjs/mol-util/zip/inflate.js +1 -2
  895. package/lib/commonjs/mol-util/zip/util.js +4 -4
  896. package/lib/commonjs/mol-util/zip/zip.js +8 -9
  897. package/lib/commonjs/servers/common/file-handle.js +1 -2
  898. package/lib/commonjs/servers/common/swagger-ui/index.js +2 -3
  899. package/lib/commonjs/servers/common/util.js +1 -2
  900. package/lib/commonjs/servers/model/config.d.ts +4 -4
  901. package/lib/commonjs/servers/model/config.js +2 -2
  902. package/lib/commonjs/servers/model/preprocess/converter.js +1 -2
  903. package/lib/commonjs/servers/model/preprocess/parallel.js +2 -3
  904. package/lib/commonjs/servers/model/preprocess/preprocess.js +1 -2
  905. package/lib/commonjs/servers/model/preprocess/util.js +2 -3
  906. package/lib/commonjs/servers/model/property-provider.js +2 -3
  907. package/lib/commonjs/servers/model/query/atoms.js +1 -2
  908. package/lib/commonjs/servers/model/server/api-local.js +1 -2
  909. package/lib/commonjs/servers/model/server/api-schema.js +2 -2
  910. package/lib/commonjs/servers/model/server/api-web-multiple.js +1 -2
  911. package/lib/commonjs/servers/model/server/api-web.js +2 -3
  912. package/lib/commonjs/servers/model/server/api.js +4 -4
  913. package/lib/commonjs/servers/model/server/jobs.js +3 -3
  914. package/lib/commonjs/servers/model/server/query.js +2 -3
  915. package/lib/commonjs/servers/model/server/structure-wrapper.js +6 -6
  916. package/lib/commonjs/servers/model/utils/fetch-retry.js +1 -2
  917. package/lib/commonjs/servers/model/utils/tar.d.ts +0 -1
  918. package/lib/commonjs/servers/model/utils/tar.js +2 -2
  919. package/lib/commonjs/servers/plugin-state/api-schema.js +2 -2
  920. package/lib/commonjs/servers/plugin-state/config.js +1 -2
  921. package/lib/commonjs/servers/volume/common/binary-schema.d.ts +0 -1
  922. package/lib/commonjs/servers/volume/common/binary-schema.js +5 -5
  923. package/lib/commonjs/servers/volume/common/data-format.d.ts +0 -1
  924. package/lib/commonjs/servers/volume/common/data-format.js +2 -3
  925. package/lib/commonjs/servers/volume/common/file.js +4 -5
  926. package/lib/commonjs/servers/volume/config.d.ts +1 -5
  927. package/lib/commonjs/servers/volume/config.js +3 -3
  928. package/lib/commonjs/servers/volume/pack/data-model.js +2 -3
  929. package/lib/commonjs/servers/volume/pack/downsampling.js +2 -3
  930. package/lib/commonjs/servers/volume/pack/format/ccp4.js +2 -2
  931. package/lib/commonjs/servers/volume/pack/format/dsn6.js +2 -2
  932. package/lib/commonjs/servers/volume/pack/format.js +4 -5
  933. package/lib/commonjs/servers/volume/pack/main.js +1 -2
  934. package/lib/commonjs/servers/volume/pack/sampling.js +2 -3
  935. package/lib/commonjs/servers/volume/pack/writer.js +1 -2
  936. package/lib/commonjs/servers/volume/server/algebra/box.js +14 -15
  937. package/lib/commonjs/servers/volume/server/algebra/coordinate.js +17 -18
  938. package/lib/commonjs/servers/volume/server/api.js +3 -4
  939. package/lib/commonjs/servers/volume/server/local-api.js +1 -2
  940. package/lib/commonjs/servers/volume/server/query/compose.js +1 -2
  941. package/lib/commonjs/servers/volume/server/query/encode.js +1 -2
  942. package/lib/commonjs/servers/volume/server/query/execute.js +1 -2
  943. package/lib/commonjs/servers/volume/server/query/identify.js +1 -2
  944. package/lib/commonjs/servers/volume/server/web-api.js +1 -2
  945. package/lib/commonjs/servers/volume/server/web-schema.js +2 -2
  946. package/lib/examples/lighting/index.d.ts +1 -1
  947. package/lib/examples/lighting/index.js +2 -1
  948. package/lib/examples/proteopedia-wrapper/coloring.d.ts +5 -20
  949. package/lib/extensions/alpha-orbitals/transforms.d.ts +3 -3
  950. package/lib/extensions/anvil/behavior.d.ts +1 -0
  951. package/lib/extensions/anvil/representation.d.ts +4 -0
  952. package/lib/extensions/assembly-symmetry/behavior.d.ts +1 -0
  953. package/lib/extensions/assembly-symmetry/color.d.ts +2 -2
  954. package/lib/extensions/assembly-symmetry/representation.d.ts +1 -0
  955. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +3 -0
  956. package/lib/extensions/dnatco/ntc-tube/representation.d.ts +3 -0
  957. package/lib/extensions/g3d/format.d.ts +3 -3
  958. package/lib/extensions/geo-export/mesh-exporter.d.ts +2 -2
  959. package/lib/extensions/geo-export/ui.d.ts +0 -1
  960. package/lib/extensions/meshes/mesh-extension.d.ts +3 -5
  961. package/lib/extensions/meshes/mesh-streaming/behavior.d.ts +3 -3
  962. package/lib/extensions/meshes/mesh-streaming/server-info.d.ts +3 -3
  963. package/lib/extensions/model-archive/quality-assessment/color/plddt.d.ts +1 -1
  964. package/lib/extensions/model-archive/quality-assessment/color/plddt.js +8 -5
  965. package/lib/extensions/model-export/ui.d.ts +0 -1
  966. package/lib/extensions/mp4-export/controls.d.ts +1 -1
  967. package/lib/extensions/mp4-export/encoder.js +1 -1
  968. package/lib/extensions/mp4-export/ui.d.ts +0 -1
  969. package/lib/extensions/mvs/components/annotation-label/representation.d.ts +32 -34
  970. package/lib/extensions/mvs/components/annotation-label/visual.d.ts +16 -16
  971. package/lib/extensions/mvs/components/custom-label/representation.d.ts +32 -32
  972. package/lib/extensions/mvs/components/custom-label/visual.d.ts +16 -16
  973. package/lib/extensions/mvs/components/formats.d.ts +6 -6
  974. package/lib/extensions/mvs/helpers/indexing.d.ts +2 -2
  975. package/lib/extensions/mvs/helpers/schemas.d.ts +1 -1
  976. package/lib/extensions/mvs/helpers/utils.d.ts +1 -1
  977. package/lib/extensions/mvs/load-helpers.d.ts +1 -1
  978. package/lib/extensions/mvs/tree/mvs/mvs-builder.d.ts +0 -2
  979. package/lib/extensions/rcsb/validation-report/representation.d.ts +5 -0
  980. package/lib/extensions/sb-ncbr/index.d.ts +8 -0
  981. package/lib/extensions/sb-ncbr/index.js +8 -0
  982. package/lib/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
  983. package/lib/extensions/sb-ncbr/tunnels/actions.js +86 -0
  984. package/lib/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
  985. package/lib/extensions/sb-ncbr/tunnels/algorithm.js +469 -0
  986. package/lib/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
  987. package/lib/extensions/sb-ncbr/tunnels/behavior.js +92 -0
  988. package/lib/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
  989. package/lib/extensions/sb-ncbr/tunnels/data-model.js +23 -0
  990. package/lib/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
  991. package/lib/extensions/sb-ncbr/tunnels/examples.js +49 -0
  992. package/lib/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
  993. package/lib/extensions/sb-ncbr/tunnels/props.js +22 -0
  994. package/lib/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
  995. package/lib/extensions/sb-ncbr/tunnels/representation.js +96 -0
  996. package/lib/extensions/volumes-and-segmentations/entry-root.d.ts +3 -3
  997. package/lib/extensions/volumes-and-segmentations/entry-state.d.ts +3 -3
  998. package/lib/extensions/volumes-and-segmentations/global-state.d.ts +3 -3
  999. package/lib/extensions/volumes-and-segmentations/ui.d.ts +0 -1
  1000. package/lib/extensions/zenodo/ui.d.ts +0 -1
  1001. package/lib/mol-canvas3d/camera/transition.d.ts +1 -1
  1002. package/lib/mol-canvas3d/camera/transition.js +23 -6
  1003. package/lib/mol-canvas3d/canvas3d.d.ts +26 -1
  1004. package/lib/mol-canvas3d/canvas3d.js +4 -0
  1005. package/lib/mol-canvas3d/helper/bounding-sphere-helper.d.ts +1 -6
  1006. package/lib/mol-canvas3d/helper/handle-helper.d.ts +1 -0
  1007. package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
  1008. package/lib/mol-canvas3d/passes/dof.d.ts +34 -0
  1009. package/lib/mol-canvas3d/passes/dof.js +163 -0
  1010. package/lib/mol-canvas3d/passes/draw.d.ts +2 -0
  1011. package/lib/mol-canvas3d/passes/draw.js +31 -8
  1012. package/lib/mol-canvas3d/passes/image.d.ts +10 -0
  1013. package/lib/mol-canvas3d/passes/multi-sample.d.ts +2 -1
  1014. package/lib/mol-canvas3d/passes/multi-sample.js +4 -3
  1015. package/lib/mol-canvas3d/passes/postprocessing.d.ts +9 -0
  1016. package/lib/mol-canvas3d/passes/postprocessing.js +10 -0
  1017. package/lib/mol-data/db/column.d.ts +1 -1
  1018. package/lib/mol-geo/geometry/base.d.ts +1 -1
  1019. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +1 -0
  1020. package/lib/mol-geo/geometry/cylinders/cylinders.js +3 -0
  1021. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +1 -0
  1022. package/lib/mol-geo/geometry/direct-volume/direct-volume.js +3 -0
  1023. package/lib/mol-geo/geometry/image/image.d.ts +1 -1
  1024. package/lib/mol-geo/geometry/lines/lines.d.ts +0 -1
  1025. package/lib/mol-geo/geometry/mesh/mesh.d.ts +1 -0
  1026. package/lib/mol-geo/geometry/mesh/mesh.js +3 -0
  1027. package/lib/mol-geo/geometry/points/points.d.ts +1 -1
  1028. package/lib/mol-geo/geometry/spheres/spheres.d.ts +1 -0
  1029. package/lib/mol-geo/geometry/spheres/spheres.js +3 -0
  1030. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +1 -0
  1031. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +3 -0
  1032. package/lib/mol-gl/renderable/cylinders.d.ts +1 -0
  1033. package/lib/mol-gl/renderable/cylinders.js +1 -0
  1034. package/lib/mol-gl/renderable/direct-volume.d.ts +1 -0
  1035. package/lib/mol-gl/renderable/direct-volume.js +1 -0
  1036. package/lib/mol-gl/renderable/mesh.d.ts +1 -0
  1037. package/lib/mol-gl/renderable/mesh.js +1 -0
  1038. package/lib/mol-gl/renderable/schema.d.ts +1 -0
  1039. package/lib/mol-gl/renderable/schema.js +1 -0
  1040. package/lib/mol-gl/renderable/spheres.d.ts +1 -0
  1041. package/lib/mol-gl/renderable/spheres.js +1 -0
  1042. package/lib/mol-gl/renderable/texture-mesh.d.ts +1 -0
  1043. package/lib/mol-gl/renderable/texture-mesh.js +1 -0
  1044. package/lib/mol-gl/renderer.d.ts +1 -0
  1045. package/lib/mol-gl/renderer.js +6 -0
  1046. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +2 -1
  1047. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +57 -24
  1048. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  1049. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -0
  1050. package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  1051. package/lib/mol-gl/shader/chunks/common.glsl.js +6 -0
  1052. package/lib/mol-gl/shader/cylinders.frag.d.ts +2 -1
  1053. package/lib/mol-gl/shader/cylinders.frag.js +11 -2
  1054. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  1055. package/lib/mol-gl/shader/direct-volume.frag.js +1 -0
  1056. package/lib/mol-gl/shader/dof.frag.d.ts +7 -0
  1057. package/lib/mol-gl/shader/dof.frag.js +119 -0
  1058. package/lib/mol-gl/shader/ssao-blur.frag.d.ts +1 -1
  1059. package/lib/mol-gl/shader/ssao-blur.frag.js +9 -6
  1060. package/lib/mol-gl/shader-code.js +1 -1
  1061. package/lib/mol-gl/webgl/context.js +1 -0
  1062. package/lib/mol-gl/webgl/render-item.d.ts +2 -2
  1063. package/lib/mol-gl/webgl/timer.d.ts +1 -1
  1064. package/lib/mol-gl/webgl/timer.js +8 -1
  1065. package/lib/mol-io/common/simple-buffer.d.ts +0 -1
  1066. package/lib/mol-io/reader/cif/schema/bird.d.ts +1 -1
  1067. package/lib/mol-io/reader/cif/schema/bird.js +1 -1
  1068. package/lib/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  1069. package/lib/mol-io/reader/cif/schema/ccd.js +1 -1
  1070. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +9 -1
  1071. package/lib/mol-io/reader/cif/schema/mmcif.js +9 -1
  1072. package/lib/mol-io/reader/common/text/column/fixed.d.ts +1 -1
  1073. package/lib/mol-io/reader/common/text/column/token.d.ts +1 -1
  1074. package/lib/mol-io/reader/ply/schema.d.ts +1 -1
  1075. package/lib/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
  1076. package/lib/mol-model/loci.d.ts +1 -1
  1077. package/lib/mol-model/sequence/alignment/alignment.d.ts +2 -1
  1078. package/lib/mol-model/structure/model/types/saccharides.js +1 -1
  1079. package/lib/mol-model/structure/model/types.d.ts +3 -3
  1080. package/lib/mol-model/structure/query/queries/generators.js +2 -2
  1081. package/lib/mol-model/structure/structure/properties.d.ts +1 -0
  1082. package/lib/mol-model/structure/structure/properties.js +1 -0
  1083. package/lib/mol-model/volume/volume.d.ts +6 -6
  1084. package/lib/mol-model-formats/shape/ply.d.ts +2 -0
  1085. package/lib/mol-model-formats/structure/basic/schema.d.ts +1 -0
  1086. package/lib/mol-model-formats/structure/common/entity.d.ts +1 -0
  1087. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +1 -0
  1088. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +1 -0
  1089. package/lib/mol-model-props/computed/representations/interactions.d.ts +3 -0
  1090. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +4 -0
  1091. package/lib/mol-model-props/sequence/themes/sifts-mapping.d.ts +2 -2
  1092. package/lib/mol-plugin/animation-loop.d.ts +1 -0
  1093. package/lib/mol-plugin/behavior/behavior.d.ts +9 -9
  1094. package/lib/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +9 -9
  1095. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -3
  1096. package/lib/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
  1097. package/lib/mol-plugin/commands.d.ts +23 -87
  1098. package/lib/mol-plugin/context.d.ts +3 -2
  1099. package/lib/mol-plugin/context.js +4 -2
  1100. package/lib/mol-plugin/state.d.ts +7 -7
  1101. package/lib/mol-plugin/util/headless-screenshot.d.ts +1 -1
  1102. package/lib/mol-plugin/util/headless-screenshot.js +3 -1
  1103. package/lib/mol-plugin/util/viewport-screenshot.d.ts +1 -1
  1104. package/lib/mol-plugin/util/viewport-screenshot.js +2 -1
  1105. package/lib/mol-plugin/version.js +2 -2
  1106. package/lib/mol-plugin-state/actions/volume.d.ts +1 -1
  1107. package/lib/mol-plugin-state/actions/volume.js +4 -12
  1108. package/lib/mol-plugin-state/animation/built-in/model-index.d.ts +2 -2
  1109. package/lib/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
  1110. package/lib/mol-plugin-state/formats/registry.d.ts +1 -1
  1111. package/lib/mol-plugin-state/formats/trajectory.d.ts +9 -9
  1112. package/lib/mol-plugin-state/formats/volume.d.ts +0 -1
  1113. package/lib/mol-plugin-state/manager/structure/hierarchy.d.ts +3 -3
  1114. package/lib/mol-plugin-state/manager/structure/measurement.d.ts +4 -0
  1115. package/lib/mol-plugin-state/objects.d.ts +97 -97
  1116. package/lib/mol-plugin-state/transforms/data.d.ts +10 -1
  1117. package/lib/mol-plugin-state/transforms/data.js +30 -1
  1118. package/lib/mol-plugin-state/transforms/representation.d.ts +6 -0
  1119. package/lib/mol-plugin-ui/base.js +2 -1
  1120. package/lib/mol-plugin-ui/controls/icons.d.ts +5 -0
  1121. package/lib/mol-plugin-ui/controls/icons.js +10 -0
  1122. package/lib/mol-plugin-ui/controls/parameters.d.ts +3 -3
  1123. package/lib/mol-plugin-ui/controls.js +1 -1
  1124. package/lib/mol-plugin-ui/left-panel.d.ts +0 -1
  1125. package/lib/mol-plugin-ui/plugin.js +3 -2
  1126. package/lib/mol-plugin-ui/skin/base/components/controls.scss +6 -0
  1127. package/lib/mol-plugin-ui/spec.d.ts +10 -10
  1128. package/lib/mol-plugin-ui/spec.js +1 -1
  1129. package/lib/mol-plugin-ui/state/apply-action.d.ts +1 -1
  1130. package/lib/mol-plugin-ui/state/update-transform.d.ts +1 -1
  1131. package/lib/mol-plugin-ui/structure/quick-styles.d.ts +2 -1
  1132. package/lib/mol-plugin-ui/structure/quick-styles.js +5 -2
  1133. package/lib/mol-plugin-ui/structure/selection.d.ts +2 -2
  1134. package/lib/mol-plugin-ui/viewport/simple-settings.js +3 -0
  1135. package/lib/mol-repr/representation.d.ts +3 -3
  1136. package/lib/mol-repr/shape/loci/angle.d.ts +1 -0
  1137. package/lib/mol-repr/shape/loci/dihedral.d.ts +1 -0
  1138. package/lib/mol-repr/shape/loci/orientation.d.ts +1 -0
  1139. package/lib/mol-repr/shape/loci/plane.d.ts +1 -0
  1140. package/lib/mol-repr/shape/model/unitcell.d.ts +1 -0
  1141. package/lib/mol-repr/structure/complex-visual.d.ts +5 -0
  1142. package/lib/mol-repr/structure/params.d.ts +5 -0
  1143. package/lib/mol-repr/structure/registry.d.ts +11 -0
  1144. package/lib/mol-repr/structure/representation/backbone.d.ts +3 -0
  1145. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +3 -0
  1146. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +3 -0
  1147. package/lib/mol-repr/structure/representation/cartoon.d.ts +3 -0
  1148. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +3 -0
  1149. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +3 -0
  1150. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
  1151. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +3 -0
  1152. package/lib/mol-repr/structure/representation/orientation.d.ts +3 -0
  1153. package/lib/mol-repr/structure/representation/putty.d.ts +3 -0
  1154. package/lib/mol-repr/structure/representation/spacefill.d.ts +3 -0
  1155. package/lib/mol-repr/structure/units-visual.d.ts +5 -0
  1156. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +2 -0
  1157. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +2 -0
  1158. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +1 -0
  1159. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -0
  1160. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +1 -0
  1161. package/lib/mol-repr/structure/visual/element-sphere.d.ts +4 -0
  1162. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -0
  1163. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
  1164. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -0
  1165. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -0
  1166. package/lib/mol-repr/structure/visual/nucleotide-atomic-bond.d.ts +2 -0
  1167. package/lib/mol-repr/structure/visual/nucleotide-atomic-element.d.ts +2 -0
  1168. package/lib/mol-repr/structure/visual/nucleotide-atomic-ring-fill.d.ts +1 -0
  1169. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -0
  1170. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -0
  1171. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -0
  1172. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -0
  1173. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -0
  1174. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -0
  1175. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -0
  1176. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -0
  1177. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -0
  1178. package/lib/mol-repr/structure/visual/util/nucleotide.d.ts +60 -60
  1179. package/lib/mol-repr/volume/direct-volume.d.ts +48 -45
  1180. package/lib/mol-repr/volume/isosurface.d.ts +95 -90
  1181. package/lib/mol-repr/volume/registry.d.ts +63 -60
  1182. package/lib/mol-repr/volume/segment.d.ts +80 -75
  1183. package/lib/mol-repr/volume/slice.d.ts +45 -45
  1184. package/lib/mol-script/language/symbol-table/core.d.ts +1 -1
  1185. package/lib/mol-state/object.d.ts +4 -4
  1186. package/lib/mol-state/state.d.ts +4 -4
  1187. package/lib/mol-state/transform.d.ts +1 -1
  1188. package/lib/mol-state/transformer.d.ts +1 -1
  1189. package/lib/mol-task/util/scheduler.d.ts +0 -1
  1190. package/lib/mol-theme/color/atom-id.d.ts +2 -2
  1191. package/lib/mol-theme/color/chain-id.d.ts +2 -2
  1192. package/lib/mol-theme/color/element-index.d.ts +2 -2
  1193. package/lib/mol-theme/color/entity-id.d.ts +2 -2
  1194. package/lib/mol-theme/color/entity-source.d.ts +2 -2
  1195. package/lib/mol-theme/color/external-volume.d.ts +2 -2
  1196. package/lib/mol-theme/color/model-index.d.ts +2 -2
  1197. package/lib/mol-theme/color/operator-hkl.d.ts +2 -2
  1198. package/lib/mol-theme/color/operator-name.d.ts +2 -2
  1199. package/lib/mol-theme/color/polymer-id.d.ts +2 -2
  1200. package/lib/mol-theme/color/polymer-index.d.ts +2 -2
  1201. package/lib/mol-theme/color/structure-index.d.ts +2 -2
  1202. package/lib/mol-theme/color/trajectory-index.d.ts +2 -2
  1203. package/lib/mol-theme/color/unit-index.d.ts +2 -2
  1204. package/lib/mol-theme/color/volume-segment.d.ts +2 -2
  1205. package/lib/mol-theme/color.d.ts +16 -16
  1206. package/lib/mol-theme/theme.d.ts +3 -3
  1207. package/lib/mol-util/color/palette.d.ts +4 -3
  1208. package/lib/mol-util/color/scale.d.ts +2 -1
  1209. package/lib/mol-util/data-source.d.ts +0 -1
  1210. package/lib/mol-util/nodejs-shims.d.ts +1 -1
  1211. package/lib/servers/model/config.d.ts +4 -4
  1212. package/lib/servers/model/utils/tar.d.ts +0 -1
  1213. package/lib/servers/volume/common/binary-schema.d.ts +0 -1
  1214. package/lib/servers/volume/common/data-format.d.ts +0 -1
  1215. package/lib/servers/volume/config.d.ts +1 -5
  1216. package/package.json +18 -16
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SbNcbrPartialChargesColorThemeProvider = exports.PartialChargesColorTheme = exports.getPartialChargesThemeParams = exports.PartialChargesThemeParams = void 0;
3
+ exports.SbNcbrPartialChargesColorThemeProvider = exports.PartialChargesThemeParams = void 0;
4
+ exports.getPartialChargesThemeParams = getPartialChargesThemeParams;
5
+ exports.PartialChargesColorTheme = PartialChargesColorTheme;
4
6
  const structure_1 = require("../../../mol-model/structure");
5
7
  const color_1 = require("../../../mol-theme/color");
6
8
  const color_2 = require("../../../mol-util/color");
@@ -38,7 +40,6 @@ exports.PartialChargesThemeParams = {
38
40
  function getPartialChargesThemeParams() {
39
41
  return param_definition_1.ParamDefinition.clone(exports.PartialChargesThemeParams);
40
42
  }
41
- exports.getPartialChargesThemeParams = getPartialChargesThemeParams;
42
43
  function PartialChargesColorTheme(ctx, props) {
43
44
  var _a, _b;
44
45
  const model = (_a = ctx.structure) === null || _a === void 0 ? void 0 : _a.models[0];
@@ -106,7 +107,6 @@ function PartialChargesColorTheme(ctx, props) {
106
107
  contextHash,
107
108
  };
108
109
  }
109
- exports.PartialChargesColorTheme = PartialChargesColorTheme;
110
110
  exports.SbNcbrPartialChargesColorThemeProvider = {
111
111
  label: 'SB NCBR Partial Charges',
112
112
  name: 'sb-ncbr-partial-charges',
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SbNcbrPartialChargesLociLabelProvider = void 0;
3
+ exports.SbNcbrPartialChargesLociLabelProvider = SbNcbrPartialChargesLociLabelProvider;
4
4
  const structure_1 = require("../../../mol-model/structure");
5
5
  const property_1 = require("./property");
6
6
  function SbNcbrPartialChargesLociLabelProvider(ctx) {
@@ -35,4 +35,3 @@ function SbNcbrPartialChargesLociLabelProvider(ctx) {
35
35
  group: (label) => label.toString().replace(/Model [0-9]+/g, 'Models'),
36
36
  };
37
37
  }
38
- exports.SbNcbrPartialChargesLociLabelProvider = SbNcbrPartialChargesLociLabelProvider;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SbNcbrPartialChargesPropertyProvider = exports.hasPartialChargesCategories = void 0;
3
+ exports.SbNcbrPartialChargesPropertyProvider = void 0;
4
+ exports.hasPartialChargesCategories = hasPartialChargesCategories;
4
5
  const param_definition_1 = require("../../../mol-util/param-definition");
5
6
  const mmcif_1 = require("../../../mol-model-formats/structure/mmcif");
6
7
  const custom_property_1 = require("../../../mol-model/custom-property");
@@ -139,7 +140,6 @@ function hasPartialChargesCategories(model) {
139
140
  'sb_ncbr_partial_atomic_charges' in categories &&
140
141
  'sb_ncbr_partial_atomic_charges_meta' in categories);
141
142
  }
142
- exports.hasPartialChargesCategories = hasPartialChargesCategories;
143
143
  exports.SbNcbrPartialChargesPropertyProvider = custom_model_property_1.CustomModelProperty.createProvider({
144
144
  label: 'SB NCBR Partial Charges Property Provider',
145
145
  descriptor: (0, custom_property_1.CustomPropertyDescriptor)({
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Dušan Veľký <dvelky@mail.muni.cz>
5
+ */
6
+ import { PluginStateObject } from '../../../mol-plugin-state/objects';
7
+ import { StateAction } from '../../../mol-state';
8
+ import { ParamDefinition as PD } from '../../../mol-util/param-definition';
9
+ export declare const TunnelDownloadServer: {
10
+ channelsdb: PD.Group<PD.Normalize<unknown>>;
11
+ };
12
+ export declare const DownloadTunnels: StateAction<PluginStateObject.Root, void, PD.Normalize<{
13
+ source: PD.NamedParams<PD.Normalize<{
14
+ url: any;
15
+ }>, "url"> | PD.NamedParams<PD.Normalize<{
16
+ provider: any;
17
+ }>, "alphafolddb"> | PD.NamedParams<PD.Normalize<{
18
+ provider: any;
19
+ }>, "pdb">;
20
+ }>>;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ *
5
+ * @author Dušan Veľký <dvelky@mail.muni.cz>
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.DownloadTunnels = exports.TunnelDownloadServer = void 0;
9
+ const objects_1 = require("../../../mol-plugin-state/objects");
10
+ const transforms_1 = require("../../../mol-plugin-state/transforms");
11
+ const mol_state_1 = require("../../../mol-state");
12
+ const mol_task_1 = require("../../../mol-task");
13
+ const param_definition_1 = require("../../../mol-util/param-definition");
14
+ const type_helpers_1 = require("../../../mol-util/type-helpers");
15
+ const props_1 = require("./props");
16
+ const representation_1 = require("./representation");
17
+ exports.TunnelDownloadServer = {
18
+ 'channelsdb': param_definition_1.ParamDefinition.EmptyGroup({ label: 'ChannelsDB' })
19
+ };
20
+ exports.DownloadTunnels = mol_state_1.StateAction.build({
21
+ display: { name: 'Download Tunnels', description: 'Load a tunnels from the provided source and create theirs representations' },
22
+ from: objects_1.PluginStateObject.Root,
23
+ params: (_, plugin) => {
24
+ return {
25
+ source: param_definition_1.ParamDefinition.MappedStatic('pdb', {
26
+ 'pdb': param_definition_1.ParamDefinition.Group({
27
+ provider: param_definition_1.ParamDefinition.Group({
28
+ id: param_definition_1.ParamDefinition.Text('1tqn', { label: 'PDB Id(s)', description: 'One or more comma/space separated PDB ids.' }),
29
+ server: param_definition_1.ParamDefinition.MappedStatic('channelsdb', exports.TunnelDownloadServer),
30
+ }, { pivot: 'id' }),
31
+ }, { isFlat: true, label: 'PDB' }),
32
+ 'alphafolddb': param_definition_1.ParamDefinition.Group({
33
+ provider: param_definition_1.ParamDefinition.Group({
34
+ id: param_definition_1.ParamDefinition.Text('Q8W3K0', { label: 'UniProtKB AC(s)', description: 'One or more comma/space separated ACs.' }),
35
+ server: param_definition_1.ParamDefinition.MappedStatic('channelsdb', exports.TunnelDownloadServer),
36
+ }, { pivot: 'id' })
37
+ }, { isFlat: true, label: 'AlphaFold DB', description: 'Loads the predicted model if available' }),
38
+ 'url': param_definition_1.ParamDefinition.Group({
39
+ url: param_definition_1.ParamDefinition.Url(''),
40
+ }, { isFlat: true, label: 'URL' })
41
+ })
42
+ };
43
+ }
44
+ })(({ params, state }, plugin) => mol_task_1.Task.create('Download Tunnels', async (ctx) => {
45
+ plugin.behaviors.layout.leftPanelTabName.next('data');
46
+ const src = params.source;
47
+ let downloadParams;
48
+ switch (src.name) {
49
+ case 'url':
50
+ downloadParams = [{ url: src.params.url }];
51
+ break;
52
+ case 'pdb':
53
+ downloadParams = src.params.provider.server.name === 'channelsdb'
54
+ ? [{ url: `${plugin === null || plugin === void 0 ? void 0 : plugin.config.get(props_1.TunnelsServerConfig.DefaultServerUrl)}/channels/pdb/${src.params.provider.id}` }]
55
+ : (0, type_helpers_1.assertUnreachable)(src);
56
+ break;
57
+ case 'alphafolddb':
58
+ downloadParams = src.params.provider.server.name === 'channelsdb'
59
+ ? [{ url: `${plugin === null || plugin === void 0 ? void 0 : plugin.config.get(props_1.TunnelsServerConfig.DefaultServerUrl)}/channels/alphafill/${src.params.provider.id.toLowerCase()}` }]
60
+ : (0, type_helpers_1.assertUnreachable)(src);
61
+ break;
62
+ default: (0, type_helpers_1.assertUnreachable)(src);
63
+ }
64
+ await state.transaction(async () => {
65
+ var _a;
66
+ const update = plugin.build();
67
+ const webgl = (_a = plugin.canvas3dContext) === null || _a === void 0 ? void 0 : _a.webgl;
68
+ for (const download of downloadParams) {
69
+ const response = await (await fetch(download.url.toString())).json();
70
+ const tunnels = [];
71
+ Object.entries(response.Channels).forEach(([key, values]) => {
72
+ if (values.length > 0) {
73
+ values.forEach((item) => {
74
+ tunnels.push({ data: item.Profile, props: { id: item.Id, type: item.Type } });
75
+ });
76
+ }
77
+ });
78
+ update
79
+ .toRoot()
80
+ .apply(representation_1.TunnelsFromRawData, { data: tunnels })
81
+ .apply(representation_1.SelectTunnel)
82
+ .apply(representation_1.TunnelShapeProvider, {
83
+ webgl,
84
+ })
85
+ .apply(transforms_1.StateTransforms.Representation.ShapeRepresentation3D);
86
+ await update.commit();
87
+ }
88
+ }).runInContext(ctx);
89
+ }));
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Dušan Veľký <dvelky@mail.muni.cz>
5
+ */
6
+ import { Mesh } from '../../../mol-geo/geometry/mesh/mesh';
7
+ import { WebGLContext } from '../../../mol-gl/webgl/context';
8
+ import { Shape } from '../../../mol-model/shape';
9
+ import { Color } from '../../../mol-util/color';
10
+ import { Tunnel } from './data-model';
11
+ export declare function createSpheresShape(options: {
12
+ tunnel: Tunnel;
13
+ color: Color;
14
+ resolution: number;
15
+ sampleRate: number;
16
+ showRadii: boolean;
17
+ prev?: Shape<Mesh>;
18
+ }): Promise<Shape<Mesh>>;
19
+ export declare function createTunnelShape(options: {
20
+ tunnel: Tunnel;
21
+ color: Color;
22
+ resolution: number;
23
+ sampleRate: number;
24
+ webgl: WebGLContext | undefined;
25
+ prev?: Shape<Mesh>;
26
+ }): Promise<Shape<Mesh>>;
@@ -0,0 +1,473 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ *
5
+ * @author Dušan Veľký <dvelky@mail.muni.cz>
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.createSpheresShape = createSpheresShape;
9
+ exports.createTunnelShape = createTunnelShape;
10
+ const int_1 = require("../../../mol-data/int");
11
+ const sphere_1 = require("../../../mol-geo/geometry/mesh/builder/sphere");
12
+ const mesh_1 = require("../../../mol-geo/geometry/mesh/mesh");
13
+ const mesh_builder_1 = require("../../../mol-geo/geometry/mesh/mesh-builder");
14
+ const algorithm_1 = require("../../../mol-geo/util/marching-cubes/algorithm");
15
+ const geometry_1 = require("../../../mol-math/geometry");
16
+ const boundary_1 = require("../../../mol-math/geometry/boundary");
17
+ const molecular_surface_1 = require("../../../mol-math/geometry/molecular-surface");
18
+ const interpolate_1 = require("../../../mol-math/interpolate");
19
+ const linear_algebra_1 = require("../../../mol-math/linear-algebra");
20
+ const shape_1 = require("../../../mol-model/shape");
21
+ const common_1 = require("../../../mol-repr/structure/visual/util/common");
22
+ const mol_task_1 = require("../../../mol-task");
23
+ const mol_util_1 = require("../../../mol-util");
24
+ const color_1 = require("../../../mol-util/color");
25
+ async function createSpheresShape(options) {
26
+ var _a;
27
+ const builder = mesh_builder_1.MeshBuilder.createState(512, 512, (_a = options.prev) === null || _a === void 0 ? void 0 : _a.geometry);
28
+ const tunnel = options.tunnel;
29
+ const processedData = interpolateTunnel(tunnel.data, options.sampleRate);
30
+ if (options.showRadii) {
31
+ for (let i = 0; i < processedData.length; i += 1) {
32
+ const p = processedData[i];
33
+ builder.currentGroup = i;
34
+ const center = [p.X, p.Y, p.Z];
35
+ (0, sphere_1.addSphere)(builder, center, p.Radius, options.resolution);
36
+ }
37
+ }
38
+ else {
39
+ for (let i = 0; i < processedData.length; i += 1) {
40
+ const p = processedData[i];
41
+ builder.currentGroup = 0;
42
+ const center = [p.X, p.Y, p.Z];
43
+ (0, sphere_1.addSphere)(builder, center, p.Radius, options.resolution);
44
+ }
45
+ }
46
+ const mesh = mesh_builder_1.MeshBuilder.getMesh(builder);
47
+ const name = tunnel.props.highlight_label ?
48
+ tunnel.props.highlight_label :
49
+ tunnel.props.type && tunnel.props.id ?
50
+ `${tunnel.props.type} ${tunnel.props.id}` :
51
+ 'Tunnel';
52
+ if (options.showRadii)
53
+ return shape_1.Shape.create(name, tunnel.props, mesh, () => (0, color_1.Color)(options.color), () => 1, (i) => `[${processedData[i].X.toFixed(3)}, ${processedData[i].Y.toFixed(3)}, ${processedData[i].Z.toFixed(3)}] - radius: ${processedData[i].Radius.toFixed(3)}`);
54
+ return shape_1.Shape.create(name, tunnel.props, mesh, () => (0, color_1.Color)(options.color), () => 1, () => name);
55
+ }
56
+ async function createTunnelShape(options) {
57
+ var _a;
58
+ const tunnel = options.tunnel;
59
+ const mesh = await createTunnelMesh(tunnel.data, {
60
+ detail: options.resolution,
61
+ sampleRate: options.sampleRate,
62
+ webgl: options.webgl,
63
+ prev: (_a = options.prev) === null || _a === void 0 ? void 0 : _a.geometry
64
+ });
65
+ const name = tunnel.props.highlight_label ?
66
+ tunnel.props.highlight_label :
67
+ tunnel.props.type && tunnel.props.id ?
68
+ `${tunnel.props.type} ${tunnel.props.id}` :
69
+ 'Tunnel';
70
+ return shape_1.Shape.create(name, tunnel.props, mesh, () => (0, color_1.Color)(options.color), () => 1, () => name);
71
+ }
72
+ function profileToVec3(profile) {
73
+ return linear_algebra_1.Vec3.create(profile.X, profile.Y, profile.Z);
74
+ }
75
+ // Centripetal Catmull–Rom spline interpolation
76
+ function interpolateTunnel(profile, sampleRate) {
77
+ const interpolatedProfiles = [];
78
+ if (profile.length < 4)
79
+ return profile; // Ensuring there are enough points to interpolate
80
+ interpolatedProfiles.push(profile[0]);
81
+ let lastPoint = profileToVec3(profile[0]);
82
+ let currentDistance = 0;
83
+ const pointInterval = 1 / sampleRate;
84
+ for (let i = 1; i < profile.length - 2; i++) {
85
+ const P0 = profile[i - 1];
86
+ const P1 = profile[i];
87
+ const P2 = profile[i + 1];
88
+ const P3 = profile[i + 2];
89
+ for (let t = 0; t <= 1; t += 0.05) {
90
+ const interpolatedX = (0, interpolate_1.spline)(P0.X, P1.X, P2.X, P3.X, t, 0.5);
91
+ const interpolatedY = (0, interpolate_1.spline)(P0.Y, P1.Y, P2.Y, P3.Y, t, 0.5);
92
+ const interpolatedZ = (0, interpolate_1.spline)(P0.Z, P1.Z, P2.Z, P3.Z, t, 0.5);
93
+ const interpolatedPoint = linear_algebra_1.Vec3.create(interpolatedX, interpolatedY, interpolatedZ);
94
+ const distanceToAdd = linear_algebra_1.Vec3.distance(lastPoint, interpolatedPoint);
95
+ currentDistance += distanceToAdd;
96
+ if (currentDistance >= pointInterval) {
97
+ interpolatedProfiles.push({
98
+ X: interpolatedX,
99
+ Y: interpolatedY,
100
+ Z: interpolatedZ,
101
+ Radius: (0, interpolate_1.spline)(P0.Radius, P1.Radius, P2.Radius, P3.Radius, t, 0.5),
102
+ Charge: (0, interpolate_1.lerp)(P1.Charge, P2.Charge, t),
103
+ FreeRadius: (0, interpolate_1.spline)(P0.FreeRadius, P1.FreeRadius, P2.FreeRadius, P3.FreeRadius, t, 0.5),
104
+ T: (0, interpolate_1.lerp)(P1.T, P2.T, t),
105
+ Distance: (0, interpolate_1.lerp)(P1.Distance, P2.Distance, t)
106
+ });
107
+ lastPoint = interpolatedPoint;
108
+ currentDistance -= pointInterval;
109
+ }
110
+ }
111
+ }
112
+ // Ensuring the last profile point is included
113
+ interpolatedProfiles.push(profile[profile.length - 1]);
114
+ return interpolatedProfiles;
115
+ }
116
+ function convertToPositionData(profile, probeRadius) {
117
+ let position = {};
118
+ const x = [];
119
+ const y = [];
120
+ const z = [];
121
+ const indices = [];
122
+ const radius = [];
123
+ let maxRadius = Number.MIN_SAFE_INTEGER;
124
+ let sphereCounter = 0;
125
+ for (const sphere of profile) {
126
+ x.push(sphere.X);
127
+ y.push(sphere.Y);
128
+ z.push(sphere.Z);
129
+ indices.push(sphereCounter);
130
+ radius.push(sphere.Radius + probeRadius);
131
+ if (sphere.Radius > maxRadius)
132
+ maxRadius = sphere.Radius;
133
+ sphereCounter++;
134
+ }
135
+ position = { x, y, z, indices: int_1.OrderedSet.ofSortedArray(indices), radius, id: indices };
136
+ return position;
137
+ }
138
+ async function createTunnelMesh(data, options) {
139
+ const props = {
140
+ ...molecular_surface_1.DefaultMolecularSurfaceCalculationProps,
141
+ };
142
+ const preprocessedData = interpolateTunnel(data, options.sampleRate);
143
+ const positions = convertToPositionData(preprocessedData, props.probeRadius);
144
+ const bounds = (0, boundary_1.getBoundary)(positions);
145
+ let maxR = 0;
146
+ for (let i = 0; i < positions.radius.length; ++i) {
147
+ const r = positions.radius[i];
148
+ if (maxR < r)
149
+ maxR = r;
150
+ }
151
+ const p = (0, common_1.ensureReasonableResolution)(bounds.box, props);
152
+ const { field, transform, /* resolution,*/ maxRadius, /* idField */ } = await computeTunnelSurface({
153
+ positions,
154
+ boundary: bounds,
155
+ maxRadius: maxR,
156
+ box: bounds.box,
157
+ props: p
158
+ }).run();
159
+ const params = {
160
+ isoLevel: p.probeRadius,
161
+ scalarField: field,
162
+ };
163
+ const surface = await (0, algorithm_1.computeMarchingCubesMesh)(params, options.prev).run();
164
+ const iterations = Math.ceil(2 / 1);
165
+ mesh_1.Mesh.smoothEdges(surface, { iterations, maxNewEdgeLength: Math.sqrt(2) });
166
+ mesh_1.Mesh.transform(surface, transform);
167
+ if (options.webgl && !options.webgl.isWebGL2) {
168
+ mesh_1.Mesh.uniformTriangleGroup(surface);
169
+ mol_util_1.ValueCell.updateIfChanged(surface.varyingGroup, false);
170
+ }
171
+ else {
172
+ mol_util_1.ValueCell.updateIfChanged(surface.varyingGroup, true);
173
+ }
174
+ const sphere = geometry_1.Sphere3D.expand((0, geometry_1.Sphere3D)(), bounds.sphere, maxRadius);
175
+ surface.setBoundingSphere(sphere);
176
+ surface.meta.resolution = options.detail;
177
+ return surface;
178
+ }
179
+ function normalToLine(out, p) {
180
+ out[0] = out[1] = out[2] = 1.0;
181
+ if (p[0] !== 0) {
182
+ out[0] = (p[1] + p[2]) / -p[0];
183
+ }
184
+ else if (p[1] !== 0) {
185
+ out[1] = (p[0] + p[2]) / -p[1];
186
+ }
187
+ else if (p[2] !== 0) {
188
+ out[2] = (p[0] + p[1]) / -p[2];
189
+ }
190
+ return out;
191
+ }
192
+ function computeTunnelSurface(surfaceData) {
193
+ return mol_task_1.Task.create('Tunnel Surface', async (ctx) => {
194
+ return await calcTunnelSurface(ctx, surfaceData);
195
+ });
196
+ }
197
+ function getAngleTables(probePositions) {
198
+ let theta = 0.0;
199
+ const step = 2 * Math.PI / probePositions;
200
+ const cosTable = new Float32Array(probePositions);
201
+ const sinTable = new Float32Array(probePositions);
202
+ for (let i = 0; i < probePositions; i++) {
203
+ cosTable[i] = Math.cos(theta);
204
+ sinTable[i] = Math.sin(theta);
205
+ theta += step;
206
+ }
207
+ return { cosTable, sinTable };
208
+ }
209
+ // From '../../../\mol-math\geometry\molecular-surface.ts'
210
+ async function calcTunnelSurface(ctx, surfaceData) {
211
+ // Field generation method adapted from AstexViewer (Mike Hartshorn) by Fred Ludlow.
212
+ // Other parts based heavily on NGL (Alexander Rose) EDT Surface class
213
+ let lastClip = -1;
214
+ /**
215
+ * Is the point at x,y,z obscured by any of the atoms specifeid by indices in neighbours.
216
+ * Ignore indices a and b (these are the relevant atoms in projectPoints/Torii)
217
+ *
218
+ * Cache the last clipped atom (as very often the same one in subsequent calls)
219
+ *
220
+ * `a` and `b` must be resolved indices
221
+ */
222
+ function obscured(x, y, z, a, b) {
223
+ if (lastClip !== -1) {
224
+ const ai = lastClip;
225
+ if (ai !== a && ai !== b && singleAtomObscures(ai, x, y, z)) {
226
+ return ai;
227
+ }
228
+ else {
229
+ lastClip = -1;
230
+ }
231
+ }
232
+ for (let j = 0, jl = neighbours.count; j < jl; ++j) {
233
+ const ai = int_1.OrderedSet.getAt(indices, neighbours.indices[j]);
234
+ if (ai !== a && ai !== b && singleAtomObscures(ai, x, y, z)) {
235
+ lastClip = ai;
236
+ return ai;
237
+ }
238
+ }
239
+ return -1;
240
+ }
241
+ /**
242
+ * `ai` must be a resolved index
243
+ */
244
+ function singleAtomObscures(ai, x, y, z) {
245
+ const r = radius[ai];
246
+ const dx = px[ai] - x;
247
+ const dy = py[ai] - y;
248
+ const dz = pz[ai] - z;
249
+ const dSq = dx * dx + dy * dy + dz * dz;
250
+ return dSq < (r * r);
251
+ }
252
+ /**
253
+ * For each atom:
254
+ * Iterate over a subsection of the grid, for each point:
255
+ * If current value < 0.0, unvisited, set positive
256
+ *
257
+ * In any case: Project this point onto surface of the atomic sphere
258
+ * If this projected point is not obscured by any other atom
259
+ * Calculate delta distance and set grid value to minimum of
260
+ * itself and delta
261
+ */
262
+ function projectPointsRange(begI, endI) {
263
+ for (let i = begI; i < endI; ++i) {
264
+ const j = int_1.OrderedSet.getAt(indices, i);
265
+ const vx = px[j], vy = py[j], vz = pz[j];
266
+ const rad = radius[j];
267
+ const rSq = rad * rad;
268
+ lookup3d.find(vx, vy, vz, rad);
269
+ // Number of grid points, round this up...
270
+ const ng = Math.ceil(rad * scaleFactor);
271
+ // Center of the atom, mapped to grid points (take floor)
272
+ const iax = Math.floor(scaleFactor * (vx - minX));
273
+ const iay = Math.floor(scaleFactor * (vy - minY));
274
+ const iaz = Math.floor(scaleFactor * (vz - minZ));
275
+ // Extents of grid to consider for this atom
276
+ const begX = Math.max(0, iax - ng);
277
+ const begY = Math.max(0, iay - ng);
278
+ const begZ = Math.max(0, iaz - ng);
279
+ // Add two to these points:
280
+ // - iax are floor'd values so this ensures coverage
281
+ // - these are loop limits (exclusive)
282
+ const endX = Math.min(dimX, iax + ng + 2);
283
+ const endY = Math.min(dimY, iay + ng + 2);
284
+ const endZ = Math.min(dimZ, iaz + ng + 2);
285
+ for (let xi = begX; xi < endX; ++xi) {
286
+ const dx = gridx[xi] - vx;
287
+ const xIdx = xi * iuv;
288
+ for (let yi = begY; yi < endY; ++yi) {
289
+ const dy = gridy[yi] - vy;
290
+ const dxySq = dx * dx + dy * dy;
291
+ const xyIdx = yi * iu + xIdx;
292
+ for (let zi = begZ; zi < endZ; ++zi) {
293
+ const dz = gridz[zi] - vz;
294
+ const dSq = dxySq + dz * dz;
295
+ if (dSq < rSq) {
296
+ const idx = zi + xyIdx;
297
+ // if unvisited, make positive
298
+ if (data[idx] < 0.0)
299
+ data[idx] *= -1;
300
+ // Project on to the surface of the sphere
301
+ // sp is the projected point ( dx, dy, dz ) * ( ra / d )
302
+ const d = Math.sqrt(dSq);
303
+ const ap = rad / d;
304
+ const spx = dx * ap + vx;
305
+ const spy = dy * ap + vy;
306
+ const spz = dz * ap + vz;
307
+ if (obscured(spx, spy, spz, j, -1) === -1) {
308
+ const dd = rad - d;
309
+ if (dd < data[idx]) {
310
+ data[idx] = dd;
311
+ idData[idx] = id[i];
312
+ }
313
+ }
314
+ }
315
+ }
316
+ }
317
+ }
318
+ }
319
+ }
320
+ async function projectPoints() {
321
+ for (let i = 0; i < n; i += updateChunk) {
322
+ projectPointsRange(i, Math.min(i + updateChunk, n));
323
+ if (ctx.shouldUpdate) {
324
+ await ctx.update({ message: 'projecting points', current: i, max: n });
325
+ }
326
+ }
327
+ }
328
+ // Vectors for Torus Projection
329
+ const atob = (0, linear_algebra_1.Vec3)();
330
+ const mid = (0, linear_algebra_1.Vec3)();
331
+ const n1 = (0, linear_algebra_1.Vec3)();
332
+ const n2 = (0, linear_algebra_1.Vec3)();
333
+ /**
334
+ * `a` and `b` must be resolved indices
335
+ */
336
+ function projectTorus(a, b) {
337
+ const rA = radius[a];
338
+ const rB = radius[b];
339
+ const dx = atob[0] = px[b] - px[a];
340
+ const dy = atob[1] = py[b] - py[a];
341
+ const dz = atob[2] = pz[b] - pz[a];
342
+ const dSq = dx * dx + dy * dy + dz * dz;
343
+ // This check now redundant as already done in AVHash.withinRadii
344
+ // if (dSq > ((rA + rB) * (rA + rB))) { return }
345
+ const d = Math.sqrt(dSq);
346
+ // Find angle between a->b vector and the circle
347
+ // of their intersection by cosine rule
348
+ const cosA = (rA * rA + d * d - rB * rB) / (2.0 * rA * d);
349
+ // distance along a->b at intersection
350
+ const dmp = rA * cosA;
351
+ linear_algebra_1.Vec3.normalize(atob, atob);
352
+ // Create normal to line
353
+ normalToLine(n1, atob);
354
+ linear_algebra_1.Vec3.normalize(n1, n1);
355
+ // Cross together for second normal vector
356
+ linear_algebra_1.Vec3.cross(n2, atob, n1);
357
+ linear_algebra_1.Vec3.normalize(n2, n2);
358
+ // r is radius of circle of intersection
359
+ const rInt = Math.sqrt(rA * rA - dmp * dmp);
360
+ linear_algebra_1.Vec3.scale(n1, n1, rInt);
361
+ linear_algebra_1.Vec3.scale(n2, n2, rInt);
362
+ linear_algebra_1.Vec3.scale(atob, atob, dmp);
363
+ mid[0] = atob[0] + px[a];
364
+ mid[1] = atob[1] + py[a];
365
+ mid[2] = atob[2] + pz[a];
366
+ lastClip = -1;
367
+ for (let i = 0; i < probePositions; ++i) {
368
+ const cost = cosTable[i];
369
+ const sint = sinTable[i];
370
+ const px = mid[0] + cost * n1[0] + sint * n2[0];
371
+ const py = mid[1] + cost * n1[1] + sint * n2[1];
372
+ const pz = mid[2] + cost * n1[2] + sint * n2[2];
373
+ if (obscured(px, py, pz, a, b) === -1) {
374
+ const iax = Math.floor(scaleFactor * (px - minX));
375
+ const iay = Math.floor(scaleFactor * (py - minY));
376
+ const iaz = Math.floor(scaleFactor * (pz - minZ));
377
+ const begX = Math.max(0, iax - ngTorus);
378
+ const begY = Math.max(0, iay - ngTorus);
379
+ const begZ = Math.max(0, iaz - ngTorus);
380
+ const endX = Math.min(dimX, iax + ngTorus + 2);
381
+ const endY = Math.min(dimY, iay + ngTorus + 2);
382
+ const endZ = Math.min(dimZ, iaz + ngTorus + 2);
383
+ for (let xi = begX; xi < endX; ++xi) {
384
+ const dx = px - gridx[xi];
385
+ const xIdx = xi * iuv;
386
+ for (let yi = begY; yi < endY; ++yi) {
387
+ const dy = py - gridy[yi];
388
+ const dxySq = dx * dx + dy * dy;
389
+ const xyIdx = yi * iu + xIdx;
390
+ for (let zi = begZ; zi < endZ; ++zi) {
391
+ const dz = pz - gridz[zi];
392
+ const dSq = dxySq + dz * dz;
393
+ const idx = zi + xyIdx;
394
+ const current = data[idx];
395
+ if (current > 0.0 && dSq < (current * current)) {
396
+ data[idx] = Math.sqrt(dSq);
397
+ // Is this grid point closer to a or b?
398
+ // Take dot product of atob and gridpoint->p (dx, dy, dz)
399
+ const dp = dx * atob[0] + dy * atob[1] + dz * atob[2];
400
+ idData[idx] = id[int_1.OrderedSet.indexOf(indices, dp < 0.0 ? b : a)];
401
+ }
402
+ }
403
+ }
404
+ }
405
+ }
406
+ }
407
+ }
408
+ function projectToriiRange(begI, endI) {
409
+ for (let i = begI; i < endI; ++i) {
410
+ const k = int_1.OrderedSet.getAt(indices, i);
411
+ lookup3d.find(px[k], py[k], pz[k], radius[k]);
412
+ for (let j = 0, jl = neighbours.count; j < jl; ++j) {
413
+ const l = int_1.OrderedSet.getAt(indices, neighbours.indices[j]);
414
+ if (k < l)
415
+ projectTorus(k, l);
416
+ }
417
+ }
418
+ }
419
+ async function projectTorii() {
420
+ for (let i = 0; i < n; i += updateChunk) {
421
+ projectToriiRange(i, Math.min(i + updateChunk, n));
422
+ if (ctx.shouldUpdate) {
423
+ await ctx.update({ message: 'projecting torii', current: i, max: n });
424
+ }
425
+ }
426
+ }
427
+ // console.time('MolecularSurface')
428
+ // console.time('MolecularSurface createState')
429
+ const { resolution, probeRadius, probePositions } = surfaceData.props;
430
+ const scaleFactor = 1 / resolution;
431
+ const ngTorus = Math.max(5, 2 + Math.floor(probeRadius * scaleFactor));
432
+ const cellSize = linear_algebra_1.Vec3.create(surfaceData.maxRadius, surfaceData.maxRadius, surfaceData.maxRadius);
433
+ linear_algebra_1.Vec3.scale(cellSize, cellSize, 2);
434
+ const lookup3d = (0, geometry_1.GridLookup3D)(surfaceData.positions, surfaceData.boundary, cellSize);
435
+ const neighbours = lookup3d.result;
436
+ if (surfaceData.box === null)
437
+ surfaceData.box = lookup3d.boundary.box;
438
+ const { indices, x: px, y: py, z: pz, id, radius } = surfaceData.positions;
439
+ const n = int_1.OrderedSet.size(indices);
440
+ const pad = surfaceData.maxRadius + resolution;
441
+ const expandedBox = geometry_1.Box3D.expand((0, geometry_1.Box3D)(), surfaceData.box, linear_algebra_1.Vec3.create(pad, pad, pad));
442
+ const [minX, minY, minZ] = expandedBox.min;
443
+ const scaledBox = geometry_1.Box3D.scale((0, geometry_1.Box3D)(), expandedBox, scaleFactor);
444
+ const dim = geometry_1.Box3D.size((0, linear_algebra_1.Vec3)(), scaledBox);
445
+ linear_algebra_1.Vec3.ceil(dim, dim);
446
+ const [dimX, dimY, dimZ] = dim;
447
+ const iu = dimZ, iv = dimY, iuv = iu * iv;
448
+ const { cosTable, sinTable } = getAngleTables(probePositions);
449
+ const space = linear_algebra_1.Tensor.Space(dim, [0, 1, 2], Float32Array);
450
+ const data = space.create();
451
+ const idData = space.create();
452
+ data.fill(-1001.0);
453
+ idData.fill(-1);
454
+ const gridx = (0, geometry_1.fillGridDim)(dimX, minX, resolution);
455
+ const gridy = (0, geometry_1.fillGridDim)(dimY, minY, resolution);
456
+ const gridz = (0, geometry_1.fillGridDim)(dimZ, minZ, resolution);
457
+ const updateChunk = Math.ceil(100000 / ((Math.pow(Math.pow(surfaceData.maxRadius, 3), 3) * scaleFactor)));
458
+ // console.timeEnd('MolecularSurface createState')
459
+ // console.time('MolecularSurface projectPoints')
460
+ await projectPoints();
461
+ // console.timeEnd('MolecularSurface projectPoints')
462
+ // console.time('MolecularSurface projectTorii')
463
+ await projectTorii();
464
+ // console.timeEnd('MolecularSurface projectTorii')
465
+ // console.timeEnd('MolecularSurface')
466
+ const field = linear_algebra_1.Tensor.create(space, data);
467
+ const idField = linear_algebra_1.Tensor.create(space, idData);
468
+ const transform = linear_algebra_1.Mat4.identity();
469
+ linear_algebra_1.Mat4.fromScaling(transform, linear_algebra_1.Vec3.create(resolution, resolution, resolution));
470
+ linear_algebra_1.Mat4.setTranslation(transform, expandedBox.min);
471
+ // console.log({ field, idField, transform, updateChunk })
472
+ return { field, idField, transform, resolution, maxRadius: surfaceData.maxRadius };
473
+ }