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
@@ -0,0 +1,469 @@
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 { OrderedSet } from '../../../mol-data/int';
7
+ import { addSphere } from '../../../mol-geo/geometry/mesh/builder/sphere';
8
+ import { Mesh } from '../../../mol-geo/geometry/mesh/mesh';
9
+ import { MeshBuilder } from '../../../mol-geo/geometry/mesh/mesh-builder';
10
+ import { computeMarchingCubesMesh } from '../../../mol-geo/util/marching-cubes/algorithm';
11
+ import { Sphere3D, Box3D, GridLookup3D, fillGridDim } from '../../../mol-math/geometry';
12
+ import { getBoundary } from '../../../mol-math/geometry/boundary';
13
+ import { DefaultMolecularSurfaceCalculationProps } from '../../../mol-math/geometry/molecular-surface';
14
+ import { lerp, spline } from '../../../mol-math/interpolate';
15
+ import { Vec3, Tensor, Mat4 } from '../../../mol-math/linear-algebra';
16
+ import { Shape } from '../../../mol-model/shape';
17
+ import { ensureReasonableResolution } from '../../../mol-repr/structure/visual/util/common';
18
+ import { Task } from '../../../mol-task';
19
+ import { ValueCell } from '../../../mol-util';
20
+ import { Color } from '../../../mol-util/color';
21
+ export async function createSpheresShape(options) {
22
+ var _a;
23
+ const builder = MeshBuilder.createState(512, 512, (_a = options.prev) === null || _a === void 0 ? void 0 : _a.geometry);
24
+ const tunnel = options.tunnel;
25
+ const processedData = interpolateTunnel(tunnel.data, options.sampleRate);
26
+ if (options.showRadii) {
27
+ for (let i = 0; i < processedData.length; i += 1) {
28
+ const p = processedData[i];
29
+ builder.currentGroup = i;
30
+ const center = [p.X, p.Y, p.Z];
31
+ addSphere(builder, center, p.Radius, options.resolution);
32
+ }
33
+ }
34
+ else {
35
+ for (let i = 0; i < processedData.length; i += 1) {
36
+ const p = processedData[i];
37
+ builder.currentGroup = 0;
38
+ const center = [p.X, p.Y, p.Z];
39
+ addSphere(builder, center, p.Radius, options.resolution);
40
+ }
41
+ }
42
+ const mesh = MeshBuilder.getMesh(builder);
43
+ const name = tunnel.props.highlight_label ?
44
+ tunnel.props.highlight_label :
45
+ tunnel.props.type && tunnel.props.id ?
46
+ `${tunnel.props.type} ${tunnel.props.id}` :
47
+ 'Tunnel';
48
+ if (options.showRadii)
49
+ return Shape.create(name, tunnel.props, mesh, () => 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)}`);
50
+ return Shape.create(name, tunnel.props, mesh, () => Color(options.color), () => 1, () => name);
51
+ }
52
+ export async function createTunnelShape(options) {
53
+ var _a;
54
+ const tunnel = options.tunnel;
55
+ const mesh = await createTunnelMesh(tunnel.data, {
56
+ detail: options.resolution,
57
+ sampleRate: options.sampleRate,
58
+ webgl: options.webgl,
59
+ prev: (_a = options.prev) === null || _a === void 0 ? void 0 : _a.geometry
60
+ });
61
+ const name = tunnel.props.highlight_label ?
62
+ tunnel.props.highlight_label :
63
+ tunnel.props.type && tunnel.props.id ?
64
+ `${tunnel.props.type} ${tunnel.props.id}` :
65
+ 'Tunnel';
66
+ return Shape.create(name, tunnel.props, mesh, () => Color(options.color), () => 1, () => name);
67
+ }
68
+ function profileToVec3(profile) {
69
+ return Vec3.create(profile.X, profile.Y, profile.Z);
70
+ }
71
+ // Centripetal Catmull–Rom spline interpolation
72
+ function interpolateTunnel(profile, sampleRate) {
73
+ const interpolatedProfiles = [];
74
+ if (profile.length < 4)
75
+ return profile; // Ensuring there are enough points to interpolate
76
+ interpolatedProfiles.push(profile[0]);
77
+ let lastPoint = profileToVec3(profile[0]);
78
+ let currentDistance = 0;
79
+ const pointInterval = 1 / sampleRate;
80
+ for (let i = 1; i < profile.length - 2; i++) {
81
+ const P0 = profile[i - 1];
82
+ const P1 = profile[i];
83
+ const P2 = profile[i + 1];
84
+ const P3 = profile[i + 2];
85
+ for (let t = 0; t <= 1; t += 0.05) {
86
+ const interpolatedX = spline(P0.X, P1.X, P2.X, P3.X, t, 0.5);
87
+ const interpolatedY = spline(P0.Y, P1.Y, P2.Y, P3.Y, t, 0.5);
88
+ const interpolatedZ = spline(P0.Z, P1.Z, P2.Z, P3.Z, t, 0.5);
89
+ const interpolatedPoint = Vec3.create(interpolatedX, interpolatedY, interpolatedZ);
90
+ const distanceToAdd = Vec3.distance(lastPoint, interpolatedPoint);
91
+ currentDistance += distanceToAdd;
92
+ if (currentDistance >= pointInterval) {
93
+ interpolatedProfiles.push({
94
+ X: interpolatedX,
95
+ Y: interpolatedY,
96
+ Z: interpolatedZ,
97
+ Radius: spline(P0.Radius, P1.Radius, P2.Radius, P3.Radius, t, 0.5),
98
+ Charge: lerp(P1.Charge, P2.Charge, t),
99
+ FreeRadius: spline(P0.FreeRadius, P1.FreeRadius, P2.FreeRadius, P3.FreeRadius, t, 0.5),
100
+ T: lerp(P1.T, P2.T, t),
101
+ Distance: lerp(P1.Distance, P2.Distance, t)
102
+ });
103
+ lastPoint = interpolatedPoint;
104
+ currentDistance -= pointInterval;
105
+ }
106
+ }
107
+ }
108
+ // Ensuring the last profile point is included
109
+ interpolatedProfiles.push(profile[profile.length - 1]);
110
+ return interpolatedProfiles;
111
+ }
112
+ function convertToPositionData(profile, probeRadius) {
113
+ let position = {};
114
+ const x = [];
115
+ const y = [];
116
+ const z = [];
117
+ const indices = [];
118
+ const radius = [];
119
+ let maxRadius = Number.MIN_SAFE_INTEGER;
120
+ let sphereCounter = 0;
121
+ for (const sphere of profile) {
122
+ x.push(sphere.X);
123
+ y.push(sphere.Y);
124
+ z.push(sphere.Z);
125
+ indices.push(sphereCounter);
126
+ radius.push(sphere.Radius + probeRadius);
127
+ if (sphere.Radius > maxRadius)
128
+ maxRadius = sphere.Radius;
129
+ sphereCounter++;
130
+ }
131
+ position = { x, y, z, indices: OrderedSet.ofSortedArray(indices), radius, id: indices };
132
+ return position;
133
+ }
134
+ async function createTunnelMesh(data, options) {
135
+ const props = {
136
+ ...DefaultMolecularSurfaceCalculationProps,
137
+ };
138
+ const preprocessedData = interpolateTunnel(data, options.sampleRate);
139
+ const positions = convertToPositionData(preprocessedData, props.probeRadius);
140
+ const bounds = getBoundary(positions);
141
+ let maxR = 0;
142
+ for (let i = 0; i < positions.radius.length; ++i) {
143
+ const r = positions.radius[i];
144
+ if (maxR < r)
145
+ maxR = r;
146
+ }
147
+ const p = ensureReasonableResolution(bounds.box, props);
148
+ const { field, transform, /* resolution,*/ maxRadius, /* idField */ } = await computeTunnelSurface({
149
+ positions,
150
+ boundary: bounds,
151
+ maxRadius: maxR,
152
+ box: bounds.box,
153
+ props: p
154
+ }).run();
155
+ const params = {
156
+ isoLevel: p.probeRadius,
157
+ scalarField: field,
158
+ };
159
+ const surface = await computeMarchingCubesMesh(params, options.prev).run();
160
+ const iterations = Math.ceil(2 / 1);
161
+ Mesh.smoothEdges(surface, { iterations, maxNewEdgeLength: Math.sqrt(2) });
162
+ Mesh.transform(surface, transform);
163
+ if (options.webgl && !options.webgl.isWebGL2) {
164
+ Mesh.uniformTriangleGroup(surface);
165
+ ValueCell.updateIfChanged(surface.varyingGroup, false);
166
+ }
167
+ else {
168
+ ValueCell.updateIfChanged(surface.varyingGroup, true);
169
+ }
170
+ const sphere = Sphere3D.expand(Sphere3D(), bounds.sphere, maxRadius);
171
+ surface.setBoundingSphere(sphere);
172
+ surface.meta.resolution = options.detail;
173
+ return surface;
174
+ }
175
+ function normalToLine(out, p) {
176
+ out[0] = out[1] = out[2] = 1.0;
177
+ if (p[0] !== 0) {
178
+ out[0] = (p[1] + p[2]) / -p[0];
179
+ }
180
+ else if (p[1] !== 0) {
181
+ out[1] = (p[0] + p[2]) / -p[1];
182
+ }
183
+ else if (p[2] !== 0) {
184
+ out[2] = (p[0] + p[1]) / -p[2];
185
+ }
186
+ return out;
187
+ }
188
+ function computeTunnelSurface(surfaceData) {
189
+ return Task.create('Tunnel Surface', async (ctx) => {
190
+ return await calcTunnelSurface(ctx, surfaceData);
191
+ });
192
+ }
193
+ function getAngleTables(probePositions) {
194
+ let theta = 0.0;
195
+ const step = 2 * Math.PI / probePositions;
196
+ const cosTable = new Float32Array(probePositions);
197
+ const sinTable = new Float32Array(probePositions);
198
+ for (let i = 0; i < probePositions; i++) {
199
+ cosTable[i] = Math.cos(theta);
200
+ sinTable[i] = Math.sin(theta);
201
+ theta += step;
202
+ }
203
+ return { cosTable, sinTable };
204
+ }
205
+ // From '../../../\mol-math\geometry\molecular-surface.ts'
206
+ async function calcTunnelSurface(ctx, surfaceData) {
207
+ // Field generation method adapted from AstexViewer (Mike Hartshorn) by Fred Ludlow.
208
+ // Other parts based heavily on NGL (Alexander Rose) EDT Surface class
209
+ let lastClip = -1;
210
+ /**
211
+ * Is the point at x,y,z obscured by any of the atoms specifeid by indices in neighbours.
212
+ * Ignore indices a and b (these are the relevant atoms in projectPoints/Torii)
213
+ *
214
+ * Cache the last clipped atom (as very often the same one in subsequent calls)
215
+ *
216
+ * `a` and `b` must be resolved indices
217
+ */
218
+ function obscured(x, y, z, a, b) {
219
+ if (lastClip !== -1) {
220
+ const ai = lastClip;
221
+ if (ai !== a && ai !== b && singleAtomObscures(ai, x, y, z)) {
222
+ return ai;
223
+ }
224
+ else {
225
+ lastClip = -1;
226
+ }
227
+ }
228
+ for (let j = 0, jl = neighbours.count; j < jl; ++j) {
229
+ const ai = OrderedSet.getAt(indices, neighbours.indices[j]);
230
+ if (ai !== a && ai !== b && singleAtomObscures(ai, x, y, z)) {
231
+ lastClip = ai;
232
+ return ai;
233
+ }
234
+ }
235
+ return -1;
236
+ }
237
+ /**
238
+ * `ai` must be a resolved index
239
+ */
240
+ function singleAtomObscures(ai, x, y, z) {
241
+ const r = radius[ai];
242
+ const dx = px[ai] - x;
243
+ const dy = py[ai] - y;
244
+ const dz = pz[ai] - z;
245
+ const dSq = dx * dx + dy * dy + dz * dz;
246
+ return dSq < (r * r);
247
+ }
248
+ /**
249
+ * For each atom:
250
+ * Iterate over a subsection of the grid, for each point:
251
+ * If current value < 0.0, unvisited, set positive
252
+ *
253
+ * In any case: Project this point onto surface of the atomic sphere
254
+ * If this projected point is not obscured by any other atom
255
+ * Calculate delta distance and set grid value to minimum of
256
+ * itself and delta
257
+ */
258
+ function projectPointsRange(begI, endI) {
259
+ for (let i = begI; i < endI; ++i) {
260
+ const j = OrderedSet.getAt(indices, i);
261
+ const vx = px[j], vy = py[j], vz = pz[j];
262
+ const rad = radius[j];
263
+ const rSq = rad * rad;
264
+ lookup3d.find(vx, vy, vz, rad);
265
+ // Number of grid points, round this up...
266
+ const ng = Math.ceil(rad * scaleFactor);
267
+ // Center of the atom, mapped to grid points (take floor)
268
+ const iax = Math.floor(scaleFactor * (vx - minX));
269
+ const iay = Math.floor(scaleFactor * (vy - minY));
270
+ const iaz = Math.floor(scaleFactor * (vz - minZ));
271
+ // Extents of grid to consider for this atom
272
+ const begX = Math.max(0, iax - ng);
273
+ const begY = Math.max(0, iay - ng);
274
+ const begZ = Math.max(0, iaz - ng);
275
+ // Add two to these points:
276
+ // - iax are floor'd values so this ensures coverage
277
+ // - these are loop limits (exclusive)
278
+ const endX = Math.min(dimX, iax + ng + 2);
279
+ const endY = Math.min(dimY, iay + ng + 2);
280
+ const endZ = Math.min(dimZ, iaz + ng + 2);
281
+ for (let xi = begX; xi < endX; ++xi) {
282
+ const dx = gridx[xi] - vx;
283
+ const xIdx = xi * iuv;
284
+ for (let yi = begY; yi < endY; ++yi) {
285
+ const dy = gridy[yi] - vy;
286
+ const dxySq = dx * dx + dy * dy;
287
+ const xyIdx = yi * iu + xIdx;
288
+ for (let zi = begZ; zi < endZ; ++zi) {
289
+ const dz = gridz[zi] - vz;
290
+ const dSq = dxySq + dz * dz;
291
+ if (dSq < rSq) {
292
+ const idx = zi + xyIdx;
293
+ // if unvisited, make positive
294
+ if (data[idx] < 0.0)
295
+ data[idx] *= -1;
296
+ // Project on to the surface of the sphere
297
+ // sp is the projected point ( dx, dy, dz ) * ( ra / d )
298
+ const d = Math.sqrt(dSq);
299
+ const ap = rad / d;
300
+ const spx = dx * ap + vx;
301
+ const spy = dy * ap + vy;
302
+ const spz = dz * ap + vz;
303
+ if (obscured(spx, spy, spz, j, -1) === -1) {
304
+ const dd = rad - d;
305
+ if (dd < data[idx]) {
306
+ data[idx] = dd;
307
+ idData[idx] = id[i];
308
+ }
309
+ }
310
+ }
311
+ }
312
+ }
313
+ }
314
+ }
315
+ }
316
+ async function projectPoints() {
317
+ for (let i = 0; i < n; i += updateChunk) {
318
+ projectPointsRange(i, Math.min(i + updateChunk, n));
319
+ if (ctx.shouldUpdate) {
320
+ await ctx.update({ message: 'projecting points', current: i, max: n });
321
+ }
322
+ }
323
+ }
324
+ // Vectors for Torus Projection
325
+ const atob = Vec3();
326
+ const mid = Vec3();
327
+ const n1 = Vec3();
328
+ const n2 = Vec3();
329
+ /**
330
+ * `a` and `b` must be resolved indices
331
+ */
332
+ function projectTorus(a, b) {
333
+ const rA = radius[a];
334
+ const rB = radius[b];
335
+ const dx = atob[0] = px[b] - px[a];
336
+ const dy = atob[1] = py[b] - py[a];
337
+ const dz = atob[2] = pz[b] - pz[a];
338
+ const dSq = dx * dx + dy * dy + dz * dz;
339
+ // This check now redundant as already done in AVHash.withinRadii
340
+ // if (dSq > ((rA + rB) * (rA + rB))) { return }
341
+ const d = Math.sqrt(dSq);
342
+ // Find angle between a->b vector and the circle
343
+ // of their intersection by cosine rule
344
+ const cosA = (rA * rA + d * d - rB * rB) / (2.0 * rA * d);
345
+ // distance along a->b at intersection
346
+ const dmp = rA * cosA;
347
+ Vec3.normalize(atob, atob);
348
+ // Create normal to line
349
+ normalToLine(n1, atob);
350
+ Vec3.normalize(n1, n1);
351
+ // Cross together for second normal vector
352
+ Vec3.cross(n2, atob, n1);
353
+ Vec3.normalize(n2, n2);
354
+ // r is radius of circle of intersection
355
+ const rInt = Math.sqrt(rA * rA - dmp * dmp);
356
+ Vec3.scale(n1, n1, rInt);
357
+ Vec3.scale(n2, n2, rInt);
358
+ Vec3.scale(atob, atob, dmp);
359
+ mid[0] = atob[0] + px[a];
360
+ mid[1] = atob[1] + py[a];
361
+ mid[2] = atob[2] + pz[a];
362
+ lastClip = -1;
363
+ for (let i = 0; i < probePositions; ++i) {
364
+ const cost = cosTable[i];
365
+ const sint = sinTable[i];
366
+ const px = mid[0] + cost * n1[0] + sint * n2[0];
367
+ const py = mid[1] + cost * n1[1] + sint * n2[1];
368
+ const pz = mid[2] + cost * n1[2] + sint * n2[2];
369
+ if (obscured(px, py, pz, a, b) === -1) {
370
+ const iax = Math.floor(scaleFactor * (px - minX));
371
+ const iay = Math.floor(scaleFactor * (py - minY));
372
+ const iaz = Math.floor(scaleFactor * (pz - minZ));
373
+ const begX = Math.max(0, iax - ngTorus);
374
+ const begY = Math.max(0, iay - ngTorus);
375
+ const begZ = Math.max(0, iaz - ngTorus);
376
+ const endX = Math.min(dimX, iax + ngTorus + 2);
377
+ const endY = Math.min(dimY, iay + ngTorus + 2);
378
+ const endZ = Math.min(dimZ, iaz + ngTorus + 2);
379
+ for (let xi = begX; xi < endX; ++xi) {
380
+ const dx = px - gridx[xi];
381
+ const xIdx = xi * iuv;
382
+ for (let yi = begY; yi < endY; ++yi) {
383
+ const dy = py - gridy[yi];
384
+ const dxySq = dx * dx + dy * dy;
385
+ const xyIdx = yi * iu + xIdx;
386
+ for (let zi = begZ; zi < endZ; ++zi) {
387
+ const dz = pz - gridz[zi];
388
+ const dSq = dxySq + dz * dz;
389
+ const idx = zi + xyIdx;
390
+ const current = data[idx];
391
+ if (current > 0.0 && dSq < (current * current)) {
392
+ data[idx] = Math.sqrt(dSq);
393
+ // Is this grid point closer to a or b?
394
+ // Take dot product of atob and gridpoint->p (dx, dy, dz)
395
+ const dp = dx * atob[0] + dy * atob[1] + dz * atob[2];
396
+ idData[idx] = id[OrderedSet.indexOf(indices, dp < 0.0 ? b : a)];
397
+ }
398
+ }
399
+ }
400
+ }
401
+ }
402
+ }
403
+ }
404
+ function projectToriiRange(begI, endI) {
405
+ for (let i = begI; i < endI; ++i) {
406
+ const k = OrderedSet.getAt(indices, i);
407
+ lookup3d.find(px[k], py[k], pz[k], radius[k]);
408
+ for (let j = 0, jl = neighbours.count; j < jl; ++j) {
409
+ const l = OrderedSet.getAt(indices, neighbours.indices[j]);
410
+ if (k < l)
411
+ projectTorus(k, l);
412
+ }
413
+ }
414
+ }
415
+ async function projectTorii() {
416
+ for (let i = 0; i < n; i += updateChunk) {
417
+ projectToriiRange(i, Math.min(i + updateChunk, n));
418
+ if (ctx.shouldUpdate) {
419
+ await ctx.update({ message: 'projecting torii', current: i, max: n });
420
+ }
421
+ }
422
+ }
423
+ // console.time('MolecularSurface')
424
+ // console.time('MolecularSurface createState')
425
+ const { resolution, probeRadius, probePositions } = surfaceData.props;
426
+ const scaleFactor = 1 / resolution;
427
+ const ngTorus = Math.max(5, 2 + Math.floor(probeRadius * scaleFactor));
428
+ const cellSize = Vec3.create(surfaceData.maxRadius, surfaceData.maxRadius, surfaceData.maxRadius);
429
+ Vec3.scale(cellSize, cellSize, 2);
430
+ const lookup3d = GridLookup3D(surfaceData.positions, surfaceData.boundary, cellSize);
431
+ const neighbours = lookup3d.result;
432
+ if (surfaceData.box === null)
433
+ surfaceData.box = lookup3d.boundary.box;
434
+ const { indices, x: px, y: py, z: pz, id, radius } = surfaceData.positions;
435
+ const n = OrderedSet.size(indices);
436
+ const pad = surfaceData.maxRadius + resolution;
437
+ const expandedBox = Box3D.expand(Box3D(), surfaceData.box, Vec3.create(pad, pad, pad));
438
+ const [minX, minY, minZ] = expandedBox.min;
439
+ const scaledBox = Box3D.scale(Box3D(), expandedBox, scaleFactor);
440
+ const dim = Box3D.size(Vec3(), scaledBox);
441
+ Vec3.ceil(dim, dim);
442
+ const [dimX, dimY, dimZ] = dim;
443
+ const iu = dimZ, iv = dimY, iuv = iu * iv;
444
+ const { cosTable, sinTable } = getAngleTables(probePositions);
445
+ const space = Tensor.Space(dim, [0, 1, 2], Float32Array);
446
+ const data = space.create();
447
+ const idData = space.create();
448
+ data.fill(-1001.0);
449
+ idData.fill(-1);
450
+ const gridx = fillGridDim(dimX, minX, resolution);
451
+ const gridy = fillGridDim(dimY, minY, resolution);
452
+ const gridz = fillGridDim(dimZ, minZ, resolution);
453
+ const updateChunk = Math.ceil(100000 / ((Math.pow(Math.pow(surfaceData.maxRadius, 3), 3) * scaleFactor)));
454
+ // console.timeEnd('MolecularSurface createState')
455
+ // console.time('MolecularSurface projectPoints')
456
+ await projectPoints();
457
+ // console.timeEnd('MolecularSurface projectPoints')
458
+ // console.time('MolecularSurface projectTorii')
459
+ await projectTorii();
460
+ // console.timeEnd('MolecularSurface projectTorii')
461
+ // console.timeEnd('MolecularSurface')
462
+ const field = Tensor.create(space, data);
463
+ const idField = Tensor.create(space, idData);
464
+ const transform = Mat4.identity();
465
+ Mat4.fromScaling(transform, Vec3.create(resolution, resolution, resolution));
466
+ Mat4.setTranslation(transform, expandedBox.min);
467
+ // console.log({ field, idField, transform, updateChunk })
468
+ return { field, idField, transform, resolution, maxRadius: surfaceData.maxRadius };
469
+ }
@@ -0,0 +1,40 @@
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 { PluginBehavior } from '../../../mol-plugin/behavior';
7
+ import { ParamDefinition as PD } from '../../../mol-util/param-definition';
8
+ import { StructureRepresentationPresetProvider } from '../../../mol-plugin-state/builder/structure/representation-preset';
9
+ import { Structure } from '../../../mol-model/structure';
10
+ export declare const SbNcbrTunnels: import("../../../mol-state").StateTransformer<PluginBehavior.Category, PluginBehavior.Behavior, {
11
+ autoAttach: boolean;
12
+ }>;
13
+ export declare function isApplicable(structure?: Structure): boolean;
14
+ export declare const TunnelsPreset: StructureRepresentationPresetProvider<{
15
+ serverType: "pdb";
16
+ serverUrl: string;
17
+ ignoreHydrogens: boolean | undefined;
18
+ ignoreHydrogensVariant: "all" | "non-polar" | undefined;
19
+ ignoreLight: boolean | undefined;
20
+ quality: "auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest" | undefined;
21
+ theme: PD.Normalize<{
22
+ globalName: any;
23
+ globalColorParams: any;
24
+ carbonColor: any;
25
+ symmetryColor: any;
26
+ symmetryColorParams: any;
27
+ focus: any;
28
+ }> | undefined;
29
+ }, {
30
+ components?: undefined;
31
+ representations?: undefined;
32
+ } | {
33
+ components: {
34
+ polymer: import("../../../mol-state").StateObjectSelector<import("../../../mol-plugin-state/objects").PluginStateObject.Molecule.Structure, import("../../../mol-state").StateTransformer<import("../../../mol-state").StateObject<any, import("../../../mol-state").StateObject.Type<any>>, import("../../../mol-state").StateObject<any, import("../../../mol-state").StateObject.Type<any>>, any>> | undefined;
35
+ } | {
36
+ all: import("../../../mol-state").StateObjectSelector<import("../../../mol-plugin-state/objects").PluginStateObject.Molecule.Structure, import("../../../mol-state").StateTransformer<import("../../../mol-state").StateObject<any, import("../../../mol-state").StateObject.Type<any>>, import("../../../mol-state").StateObject<any, import("../../../mol-state").StateObject.Type<any>>, any>> | undefined;
37
+ branched: undefined;
38
+ } | undefined;
39
+ representations: {};
40
+ }>;
@@ -0,0 +1,92 @@
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 { PluginBehavior } from '../../../mol-plugin/behavior';
7
+ import { DownloadTunnels } from './actions';
8
+ import { ParamDefinition as PD } from '../../../mol-util/param-definition';
9
+ import { PresetStructureRepresentations, StructureRepresentationPresetProvider } from '../../../mol-plugin-state/builder/structure/representation-preset';
10
+ import { Model } from '../../../mol-model/structure';
11
+ import { StateObjectRef } from '../../../mol-state';
12
+ import { getTunnelsConfig, TunnelsDataParams } from './props';
13
+ import { StateTransforms } from '../../../mol-plugin-state/transforms';
14
+ import { TunnelShapeProvider, TunnelFromRawData } from './representation';
15
+ import { ColorGenerator } from '../../meshes/mesh-utils';
16
+ export const SbNcbrTunnels = PluginBehavior.create({
17
+ name: 'sb-ncbr-tunnels',
18
+ category: 'misc',
19
+ display: {
20
+ name: 'SB NCBR Tunnels',
21
+ },
22
+ ctor: class extends PluginBehavior.Handler {
23
+ register() {
24
+ this.ctx.state.data.actions.add(DownloadTunnels);
25
+ this.ctx.builders.structure.representation.registerPreset(TunnelsPreset);
26
+ }
27
+ unregister() {
28
+ this.ctx.state.data.actions.remove(DownloadTunnels);
29
+ this.ctx.builders.structure.representation.unregisterPreset(TunnelsPreset);
30
+ }
31
+ },
32
+ params: () => ({
33
+ autoAttach: PD.Boolean(true),
34
+ })
35
+ });
36
+ export function isApplicable(structure) {
37
+ return (!!structure && structure.models.length === 1 &&
38
+ Model.hasPdbId(structure.models[0]));
39
+ }
40
+ export const TunnelsPreset = StructureRepresentationPresetProvider({
41
+ id: 'sb-ncbr-preset-structure-tunnels',
42
+ display: {
43
+ name: 'Tunnels', group: 'Annotation',
44
+ description: 'Shows Tunnels from ChannelsDB contained in the structure.'
45
+ },
46
+ isApplicable(a) {
47
+ return isApplicable(a.data);
48
+ },
49
+ params: (a, plugin) => {
50
+ return {
51
+ ...StructureRepresentationPresetProvider.CommonParams,
52
+ ...getConfiguredDefaultParams(plugin)
53
+ };
54
+ },
55
+ async apply(ref, params, plugin) {
56
+ var _a, _b;
57
+ const structureCell = StateObjectRef.resolveAndCheck(plugin.state.data, ref);
58
+ const structure = (_a = structureCell === null || structureCell === void 0 ? void 0 : structureCell.obj) === null || _a === void 0 ? void 0 : _a.data;
59
+ if (!structureCell || !structure)
60
+ return {};
61
+ const update = plugin.build();
62
+ const webgl = (_b = plugin.canvas3dContext) === null || _b === void 0 ? void 0 : _b.webgl;
63
+ const response = await (await fetch(`${params.serverUrl}/channels/${params.serverType}/${structure.model.entryId.toLowerCase()}`)).json();
64
+ const tunnels = [];
65
+ Object.entries(response.Channels).forEach(([key, values]) => {
66
+ if (values.length > 0) {
67
+ values.forEach((item) => {
68
+ tunnels.push({ data: item.Profile, props: { id: item.Id, type: item.Type } });
69
+ });
70
+ }
71
+ });
72
+ await tunnels.forEach(async (tunnel) => {
73
+ await update
74
+ .toRoot()
75
+ .apply(TunnelFromRawData, { data: tunnel })
76
+ .apply(TunnelShapeProvider, {
77
+ webgl,
78
+ colorTheme: ColorGenerator.next().value,
79
+ })
80
+ .apply(StateTransforms.Representation.ShapeRepresentation3D);
81
+ await update.commit();
82
+ });
83
+ const preset = await PresetStructureRepresentations.auto.apply(ref, { ...params }, plugin);
84
+ return { components: preset.components, representations: { ...preset.representations, } };
85
+ }
86
+ });
87
+ function getConfiguredDefaultParams(plugin) {
88
+ const config = getTunnelsConfig(plugin);
89
+ const params = PD.clone(TunnelsDataParams);
90
+ PD.setDefaultValues(params, { serverType: config.DefaultServerType, serverUrl: config.DefaultServerUrl });
91
+ return params;
92
+ }