molstar 3.0.0-dev.6 → 3.0.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 (734) hide show
  1. package/README.md +7 -0
  2. package/build/viewer/index.html +4 -0
  3. package/build/viewer/molstar.js +1 -1
  4. package/lib/apps/viewer/app.d.ts +230 -0
  5. package/lib/apps/viewer/app.js +525 -0
  6. package/lib/apps/viewer/index.d.ts +2 -224
  7. package/lib/apps/viewer/index.html +4 -0
  8. package/lib/apps/viewer/index.js +2 -507
  9. package/lib/commonjs/apps/viewer/app.d.ts +230 -0
  10. package/lib/commonjs/apps/viewer/app.js +531 -0
  11. package/lib/commonjs/apps/viewer/index.d.ts +2 -224
  12. package/lib/commonjs/apps/viewer/index.js +2 -510
  13. package/lib/commonjs/examples/alpha-orbitals/index.js +1 -1
  14. package/lib/commonjs/examples/basic-wrapper/index.js +7 -3
  15. package/lib/commonjs/examples/proteopedia-wrapper/index.js +7 -1
  16. package/lib/commonjs/extensions/anvil/behavior.d.ts +4 -0
  17. package/lib/commonjs/extensions/anvil/representation.d.ts +50 -0
  18. package/lib/commonjs/extensions/anvil/representation.js +1 -1
  19. package/lib/commonjs/extensions/cellpack/representation.d.ts +10 -0
  20. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  21. package/lib/commonjs/extensions/geo-export/mesh-exporter.js +4 -4
  22. package/lib/commonjs/extensions/model-export/export.d.ts +9 -0
  23. package/lib/commonjs/extensions/model-export/export.js +129 -0
  24. package/lib/commonjs/extensions/model-export/index.d.ts +7 -0
  25. package/lib/commonjs/extensions/model-export/index.js +36 -0
  26. package/lib/commonjs/extensions/model-export/ui.d.ts +11 -0
  27. package/lib/commonjs/extensions/model-export/ui.js +77 -0
  28. package/lib/commonjs/extensions/mp4-export/encoder.js +1 -1
  29. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  30. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  31. package/lib/commonjs/extensions/rcsb/graphql/types.d.ts +2 -2
  32. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +50 -0
  33. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +15 -13
  34. package/lib/commonjs/mol-canvas3d/canvas3d.js +34 -29
  35. package/lib/commonjs/mol-canvas3d/controls/trackball.d.ts +9 -4
  36. package/lib/commonjs/mol-canvas3d/controls/trackball.js +50 -11
  37. package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  38. package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  39. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
  40. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  41. package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
  42. package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
  43. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +13 -1
  44. package/lib/commonjs/mol-canvas3d/passes/draw.js +16 -15
  45. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -0
  46. package/lib/commonjs/mol-canvas3d/passes/image.js +3 -2
  47. package/lib/commonjs/mol-canvas3d/passes/marking.js +1 -1
  48. package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +9 -2
  49. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +14 -12
  50. package/lib/commonjs/mol-canvas3d/passes/pick.js +12 -12
  51. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +3 -3
  52. package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
  53. package/lib/commonjs/mol-geo/geometry/base.d.ts +18 -0
  54. package/lib/commonjs/mol-geo/geometry/base.js +18 -1
  55. package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
  56. package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
  57. package/lib/commonjs/mol-geo/geometry/color-data.d.ts +1 -1
  58. package/lib/commonjs/mol-geo/geometry/color-data.js +22 -0
  59. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +10 -0
  60. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +2 -2
  61. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  62. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +21 -66
  63. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  64. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  65. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +10 -0
  66. package/lib/commonjs/mol-geo/geometry/image/image.js +1 -1
  67. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +10 -0
  68. package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
  69. package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
  70. package/lib/commonjs/mol-geo/geometry/marker-data.js +13 -9
  71. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  72. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +2 -2
  73. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +10 -0
  74. package/lib/commonjs/mol-geo/geometry/points/points.js +1 -1
  75. package/lib/commonjs/mol-geo/geometry/size-data.js +5 -5
  76. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  77. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +2 -2
  78. package/lib/commonjs/mol-geo/geometry/text/text.d.ts +10 -0
  79. package/lib/commonjs/mol-geo/geometry/text/text.js +1 -1
  80. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  81. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  82. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  83. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  84. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  85. package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
  86. package/lib/commonjs/mol-gl/render-object.js +10 -10
  87. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +11 -5
  88. package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
  89. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +15 -14
  90. package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
  91. package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
  92. package/lib/commonjs/mol-gl/renderable/image.js +2 -2
  93. package/lib/commonjs/mol-gl/renderable/lines.d.ts +39 -33
  94. package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
  95. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +11 -5
  96. package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
  97. package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
  98. package/lib/commonjs/mol-gl/renderable/points.js +2 -2
  99. package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
  100. package/lib/commonjs/mol-gl/renderable/schema.js +4 -10
  101. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +11 -5
  102. package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
  103. package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
  104. package/lib/commonjs/mol-gl/renderable/text.js +2 -2
  105. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +11 -6
  106. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
  107. package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
  108. package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
  109. package/lib/commonjs/mol-gl/renderer.js +23 -92
  110. package/lib/commonjs/mol-gl/scene.d.ts +2 -2
  111. package/lib/commonjs/mol-gl/scene.js +7 -5
  112. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  113. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  114. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  115. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  116. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  117. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  118. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  119. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  120. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  121. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  122. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  123. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  124. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  125. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  126. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  127. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  128. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  129. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  130. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  131. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  132. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  133. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  134. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  135. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
  136. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  137. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  138. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  139. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  140. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  141. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  142. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  143. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  144. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  145. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +1 -1
  146. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  147. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  148. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  149. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  150. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  151. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  152. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  153. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  154. package/lib/commonjs/mol-gl/shader/mesh.vert.d.ts +1 -1
  155. package/lib/commonjs/mol-gl/shader/mesh.vert.js +1 -1
  156. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  157. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  158. package/lib/commonjs/mol-gl/shader-code.d.ts +3 -1
  159. package/lib/commonjs/mol-gl/shader-code.js +43 -14
  160. package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
  161. package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
  162. package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
  163. package/lib/commonjs/mol-io/reader/cif/schema/bird.d.ts +1 -1
  164. package/lib/commonjs/mol-io/reader/cif/schema/bird.js +1 -1
  165. package/lib/commonjs/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  166. package/lib/commonjs/mol-io/reader/cif/schema/ccd.js +1 -1
  167. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +2 -2
  168. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +1 -1
  169. package/lib/commonjs/mol-io/reader/mol/parser.d.ts +23 -1
  170. package/lib/commonjs/mol-io/reader/mol/parser.js +116 -4
  171. package/lib/commonjs/mol-io/reader/mol2/parser.d.ts +1 -1
  172. package/lib/commonjs/mol-io/reader/mol2/parser.js +33 -3
  173. package/lib/commonjs/mol-io/reader/mol2/schema.d.ts +12 -1
  174. package/lib/commonjs/mol-io/reader/mol2/schema.js +1 -1
  175. package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.d.ts +6 -0
  176. package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.js +9 -0
  177. package/lib/commonjs/mol-io/reader/sdf/parser.d.ts +3 -1
  178. package/lib/commonjs/mol-io/reader/sdf/parser.js +11 -2
  179. package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +9 -2
  180. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +2 -2
  181. package/lib/commonjs/mol-math/geometry/symmetry-operator.d.ts +1 -1
  182. package/lib/commonjs/mol-math/geometry/symmetry-operator.js +10 -4
  183. package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  184. package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
  185. package/lib/commonjs/mol-model/structure/export/mmcif.d.ts +1 -1
  186. package/lib/commonjs/mol-model/structure/export/mmcif.js +8 -5
  187. package/lib/commonjs/mol-model/structure/model/properties/common.d.ts +1 -1
  188. package/lib/commonjs/mol-model/structure/structure/element/stats.js +8 -0
  189. package/lib/commonjs/mol-model/structure/structure/properties.d.ts +1 -0
  190. package/lib/commonjs/mol-model/structure/structure/properties.js +2 -1
  191. package/lib/commonjs/mol-model/structure/structure/symmetry.js +1 -3
  192. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  193. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.js +11 -2
  194. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  195. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +20 -10
  196. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  197. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +21 -11
  198. package/lib/commonjs/mol-model/structure/structure/util/superposition-db-mapping.js +10 -5
  199. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +20 -0
  200. package/lib/commonjs/mol-model-formats/structure/basic/atomic.d.ts +2 -2
  201. package/lib/commonjs/mol-model-formats/structure/basic/atomic.js +6 -6
  202. package/lib/commonjs/mol-model-formats/structure/basic/coarse.d.ts +1 -1
  203. package/lib/commonjs/mol-model-formats/structure/basic/coarse.js +3 -3
  204. package/lib/commonjs/mol-model-formats/structure/basic/entities.d.ts +2 -1
  205. package/lib/commonjs/mol-model-formats/structure/basic/entities.js +28 -24
  206. package/lib/commonjs/mol-model-formats/structure/basic/parser.js +17 -8
  207. package/lib/commonjs/mol-model-formats/structure/basic/properties.d.ts +6 -1
  208. package/lib/commonjs/mol-model-formats/structure/basic/properties.js +12 -22
  209. package/lib/commonjs/mol-model-formats/structure/mol.d.ts +2 -1
  210. package/lib/commonjs/mol-model-formats/structure/mol.js +19 -5
  211. package/lib/commonjs/mol-model-formats/structure/mol2.d.ts +1 -1
  212. package/lib/commonjs/mol-model-formats/structure/mol2.js +37 -7
  213. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  214. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  215. package/lib/commonjs/mol-model-props/common/custom-property.d.ts +1 -1
  216. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  217. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +11 -1
  218. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +25 -10
  219. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +30 -0
  220. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  221. package/lib/commonjs/mol-model-props/sequence/best-database-mapping.js +15 -15
  222. package/lib/commonjs/mol-plugin/animation-loop.d.ts +2 -0
  223. package/lib/commonjs/mol-plugin/animation-loop.js +1 -1
  224. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +4 -6
  225. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  226. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  227. package/lib/commonjs/mol-plugin/commands.d.ts +7 -6
  228. package/lib/commonjs/mol-plugin/config.d.ts +1 -2
  229. package/lib/commonjs/mol-plugin/config.js +4 -25
  230. package/lib/commonjs/mol-plugin/features.d.ts +9 -0
  231. package/lib/commonjs/mol-plugin/features.js +38 -0
  232. package/lib/commonjs/mol-plugin/spec.d.ts +1 -1
  233. package/lib/commonjs/mol-plugin/spec.js +4 -1
  234. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  235. package/lib/commonjs/mol-plugin-state/actions/file.d.ts +3 -2
  236. package/lib/commonjs/mol-plugin-state/actions/file.js +67 -31
  237. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +1 -0
  238. package/lib/commonjs/mol-plugin-state/actions/structure.js +41 -8
  239. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-rock.d.ts +16 -0
  240. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-rock.js +62 -0
  241. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-spin.d.ts +1 -1
  242. package/lib/commonjs/mol-plugin-state/animation/built-in/camera-spin.js +9 -8
  243. package/lib/commonjs/mol-plugin-state/animation/model.d.ts +4 -0
  244. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +6 -6
  245. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -1
  246. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +149 -5
  247. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.js +74 -2
  248. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  249. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
  250. package/lib/commonjs/mol-plugin-state/manager/animation.d.ts +5 -1
  251. package/lib/commonjs/mol-plugin-state/manager/animation.js +5 -5
  252. package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +13 -1
  253. package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
  254. package/lib/commonjs/mol-plugin-state/manager/structure/selection.js +3 -1
  255. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +32 -0
  256. package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
  257. package/lib/commonjs/mol-plugin-ui/structure/superposition.js +2 -2
  258. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.d.ts +1 -1
  259. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +6 -14
  260. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +10 -0
  261. package/lib/commonjs/mol-repr/shape/loci/common.d.ts +10 -0
  262. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +10 -0
  263. package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +10 -0
  264. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +10 -0
  265. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +10 -0
  266. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +10 -0
  267. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +10 -0
  268. package/lib/commonjs/mol-repr/structure/complex-representation.js +1 -1
  269. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +61 -19
  270. package/lib/commonjs/mol-repr/structure/params.d.ts +81 -19
  271. package/lib/commonjs/mol-repr/structure/registry.d.ts +141 -19
  272. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +30 -0
  273. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  274. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  275. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +30 -0
  276. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  277. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  278. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +1 -1
  279. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  280. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +2 -7
  281. package/lib/commonjs/mol-repr/structure/representation/label.d.ts +30 -0
  282. package/lib/commonjs/mol-repr/structure/representation/label.js +1 -1
  283. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +30 -0
  284. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  285. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +1 -1
  286. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +30 -0
  287. package/lib/commonjs/mol-repr/structure/representation/point.d.ts +30 -0
  288. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +30 -0
  289. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +30 -0
  290. package/lib/commonjs/mol-repr/structure/units-representation.js +1 -1
  291. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +81 -19
  292. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  293. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  294. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  295. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  296. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +11 -1
  297. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.js +8 -4
  298. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +11 -1
  299. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +10 -6
  300. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +11 -1
  301. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +8 -4
  302. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +10 -0
  303. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +10 -0
  304. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  305. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  306. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  307. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  308. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  309. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  310. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  311. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  312. package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +10 -0
  313. package/lib/commonjs/mol-repr/structure/visual/label-text.js +1 -2
  314. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  315. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  316. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  317. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  318. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  319. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  320. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  321. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  322. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  323. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  324. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  325. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  326. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  327. package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +3 -2
  328. package/lib/commonjs/mol-repr/structure/visual/util/common.js +2 -5
  329. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  330. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +12 -12
  331. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  332. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  333. package/lib/commonjs/mol-repr/visual.d.ts +1 -1
  334. package/lib/commonjs/mol-repr/visual.js +13 -8
  335. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -57
  336. package/lib/commonjs/mol-repr/volume/direct-volume.js +8 -12
  337. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +60 -0
  338. package/lib/commonjs/mol-repr/volume/isosurface.js +11 -2
  339. package/lib/commonjs/mol-repr/volume/registry.d.ts +31 -19
  340. package/lib/commonjs/mol-repr/volume/representation.d.ts +10 -0
  341. package/lib/commonjs/mol-repr/volume/slice.d.ts +30 -0
  342. package/lib/commonjs/mol-repr/volume/slice.js +2 -2
  343. package/lib/commonjs/mol-repr/volume/util.js +2 -2
  344. package/lib/commonjs/mol-state/tree/immutable.d.ts +18 -0
  345. package/lib/commonjs/mol-state/tree/transient.d.ts +3 -4
  346. package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
  347. package/lib/commonjs/mol-theme/clipping.js +5 -12
  348. package/lib/commonjs/mol-theme/color/element-symbol.d.ts +243 -1
  349. package/lib/commonjs/mol-theme/color/element-symbol.js +10 -5
  350. package/lib/commonjs/mol-theme/color/entity-id.d.ts +1 -1
  351. package/lib/commonjs/mol-theme/color/entity-id.js +26 -5
  352. package/lib/commonjs/mol-theme/color/illustrative.d.ts +100 -29
  353. package/lib/commonjs/mol-theme/color/illustrative.js +26 -7
  354. package/lib/commonjs/mol-theme/color/molecule-type.d.ts +19 -1
  355. package/lib/commonjs/mol-theme/color/molecule-type.js +10 -5
  356. package/lib/commonjs/mol-theme/color/residue-name.d.ts +77 -1
  357. package/lib/commonjs/mol-theme/color/residue-name.js +10 -5
  358. package/lib/commonjs/mol-theme/color/secondary-structure.d.ts +27 -1
  359. package/lib/commonjs/mol-theme/color/secondary-structure.js +10 -5
  360. package/lib/commonjs/mol-theme/color/volume-value.d.ts +17 -0
  361. package/lib/commonjs/mol-theme/color/volume-value.js +57 -0
  362. package/lib/commonjs/mol-theme/color.d.ts +233 -14
  363. package/lib/commonjs/mol-theme/color.js +2 -0
  364. package/lib/commonjs/mol-util/clip.d.ts +49 -0
  365. package/lib/commonjs/mol-util/clip.js +97 -0
  366. package/lib/commonjs/mol-util/color/color.d.ts +1 -1
  367. package/lib/commonjs/mol-util/color/color.js +1 -1
  368. package/lib/commonjs/mol-util/color/params.d.ts +10 -0
  369. package/lib/commonjs/mol-util/color/params.js +19 -0
  370. package/lib/commonjs/mol-util/number-packing.d.ts +11 -0
  371. package/lib/commonjs/mol-util/{float-packing.js → number-packing.js} +10 -19
  372. package/lib/examples/alpha-orbitals/index.js +1 -1
  373. package/lib/examples/basic-wrapper/index.js +7 -3
  374. package/lib/examples/proteopedia-wrapper/index.js +7 -1
  375. package/lib/extensions/anvil/behavior.d.ts +4 -0
  376. package/lib/extensions/anvil/representation.d.ts +50 -0
  377. package/lib/extensions/anvil/representation.js +1 -1
  378. package/lib/extensions/cellpack/representation.d.ts +10 -0
  379. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  380. package/lib/extensions/geo-export/mesh-exporter.js +4 -4
  381. package/lib/extensions/model-export/export.d.ts +9 -0
  382. package/lib/extensions/model-export/export.js +125 -0
  383. package/lib/extensions/model-export/index.d.ts +7 -0
  384. package/lib/extensions/model-export/index.js +33 -0
  385. package/lib/extensions/model-export/ui.d.ts +11 -0
  386. package/lib/extensions/model-export/ui.js +74 -0
  387. package/lib/extensions/mp4-export/encoder.js +1 -1
  388. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  389. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  390. package/lib/extensions/rcsb/graphql/types.d.ts +2 -2
  391. package/lib/extensions/rcsb/validation-report/representation.d.ts +50 -0
  392. package/lib/mol-canvas3d/canvas3d.d.ts +15 -13
  393. package/lib/mol-canvas3d/canvas3d.js +34 -29
  394. package/lib/mol-canvas3d/controls/trackball.d.ts +9 -4
  395. package/lib/mol-canvas3d/controls/trackball.js +51 -12
  396. package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  397. package/lib/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  398. package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
  399. package/lib/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  400. package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
  401. package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
  402. package/lib/mol-canvas3d/passes/draw.d.ts +13 -1
  403. package/lib/mol-canvas3d/passes/draw.js +16 -15
  404. package/lib/mol-canvas3d/passes/image.d.ts +1 -0
  405. package/lib/mol-canvas3d/passes/image.js +3 -2
  406. package/lib/mol-canvas3d/passes/marking.js +1 -1
  407. package/lib/mol-canvas3d/passes/multi-sample.d.ts +9 -2
  408. package/lib/mol-canvas3d/passes/multi-sample.js +14 -12
  409. package/lib/mol-canvas3d/passes/pick.js +11 -11
  410. package/lib/mol-canvas3d/passes/postprocessing.js +3 -3
  411. package/lib/mol-canvas3d/passes/smaa.js +1 -1
  412. package/lib/mol-geo/geometry/base.d.ts +18 -0
  413. package/lib/mol-geo/geometry/base.js +18 -1
  414. package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
  415. package/lib/mol-geo/geometry/clipping-data.js +3 -8
  416. package/lib/mol-geo/geometry/color-data.d.ts +1 -1
  417. package/lib/mol-geo/geometry/color-data.js +22 -0
  418. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +10 -0
  419. package/lib/mol-geo/geometry/cylinders/cylinders.js +2 -2
  420. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  421. package/lib/mol-geo/geometry/direct-volume/direct-volume.js +22 -67
  422. package/lib/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  423. package/lib/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  424. package/lib/mol-geo/geometry/image/image.d.ts +10 -0
  425. package/lib/mol-geo/geometry/image/image.js +1 -1
  426. package/lib/mol-geo/geometry/lines/lines.d.ts +10 -0
  427. package/lib/mol-geo/geometry/lines/lines.js +1 -1
  428. package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
  429. package/lib/mol-geo/geometry/marker-data.js +13 -9
  430. package/lib/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  431. package/lib/mol-geo/geometry/mesh/mesh.js +2 -2
  432. package/lib/mol-geo/geometry/points/points.d.ts +10 -0
  433. package/lib/mol-geo/geometry/points/points.js +1 -1
  434. package/lib/mol-geo/geometry/size-data.js +5 -5
  435. package/lib/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  436. package/lib/mol-geo/geometry/spheres/spheres.js +2 -2
  437. package/lib/mol-geo/geometry/text/text.d.ts +10 -0
  438. package/lib/mol-geo/geometry/text/text.js +1 -1
  439. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  440. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  441. package/lib/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  442. package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  443. package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  444. package/lib/mol-gl/render-object.d.ts +2 -1
  445. package/lib/mol-gl/render-object.js +10 -10
  446. package/lib/mol-gl/renderable/cylinders.d.ts +11 -5
  447. package/lib/mol-gl/renderable/cylinders.js +3 -3
  448. package/lib/mol-gl/renderable/direct-volume.d.ts +15 -14
  449. package/lib/mol-gl/renderable/direct-volume.js +3 -3
  450. package/lib/mol-gl/renderable/image.d.ts +10 -4
  451. package/lib/mol-gl/renderable/image.js +2 -2
  452. package/lib/mol-gl/renderable/lines.d.ts +39 -33
  453. package/lib/mol-gl/renderable/lines.js +4 -4
  454. package/lib/mol-gl/renderable/mesh.d.ts +11 -5
  455. package/lib/mol-gl/renderable/mesh.js +3 -3
  456. package/lib/mol-gl/renderable/points.d.ts +10 -4
  457. package/lib/mol-gl/renderable/points.js +2 -2
  458. package/lib/mol-gl/renderable/schema.d.ts +10 -11
  459. package/lib/mol-gl/renderable/schema.js +4 -10
  460. package/lib/mol-gl/renderable/spheres.d.ts +11 -5
  461. package/lib/mol-gl/renderable/spheres.js +3 -3
  462. package/lib/mol-gl/renderable/text.d.ts +10 -4
  463. package/lib/mol-gl/renderable/text.js +2 -2
  464. package/lib/mol-gl/renderable/texture-mesh.d.ts +11 -6
  465. package/lib/mol-gl/renderable/texture-mesh.js +3 -3
  466. package/lib/mol-gl/renderable.d.ts +0 -1
  467. package/lib/mol-gl/renderer.d.ts +12 -12
  468. package/lib/mol-gl/renderer.js +24 -93
  469. package/lib/mol-gl/scene.d.ts +2 -2
  470. package/lib/mol-gl/scene.js +7 -5
  471. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  472. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  473. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  474. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  475. package/lib/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  476. package/lib/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  477. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  478. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  479. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  480. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  481. package/lib/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  482. package/lib/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  483. package/lib/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  484. package/lib/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  485. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  486. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  487. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  488. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  489. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  490. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  491. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  492. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  493. package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  494. package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
  495. package/lib/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  496. package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  497. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  498. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  499. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  500. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  501. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  502. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  503. package/lib/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  504. package/lib/mol-gl/shader/gaussian-density.frag.js +1 -1
  505. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  506. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  507. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  508. package/lib/mol-gl/shader/image.frag.js +1 -1
  509. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  510. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  511. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  512. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  513. package/lib/mol-gl/shader/mesh.vert.d.ts +1 -1
  514. package/lib/mol-gl/shader/mesh.vert.js +1 -1
  515. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  516. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  517. package/lib/mol-gl/shader-code.d.ts +3 -1
  518. package/lib/mol-gl/shader-code.js +43 -14
  519. package/lib/mol-gl/webgl/render-item.d.ts +7 -6
  520. package/lib/mol-gl/webgl/render-item.js +8 -6
  521. package/lib/mol-gl/webgl/resources.js +8 -1
  522. package/lib/mol-io/reader/cif/schema/bird.d.ts +1 -1
  523. package/lib/mol-io/reader/cif/schema/bird.js +1 -1
  524. package/lib/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  525. package/lib/mol-io/reader/cif/schema/ccd.js +1 -1
  526. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +2 -2
  527. package/lib/mol-io/reader/cif/schema/mmcif.js +1 -1
  528. package/lib/mol-io/reader/mol/parser.d.ts +23 -1
  529. package/lib/mol-io/reader/mol/parser.js +112 -3
  530. package/lib/mol-io/reader/mol2/parser.d.ts +1 -1
  531. package/lib/mol-io/reader/mol2/parser.js +33 -3
  532. package/lib/mol-io/reader/mol2/schema.d.ts +12 -1
  533. package/lib/mol-io/reader/mol2/schema.js +1 -1
  534. package/lib/mol-io/reader/sdf/parser-v3-util.d.ts +6 -0
  535. package/lib/mol-io/reader/sdf/parser-v3-util.js +9 -0
  536. package/lib/mol-io/reader/sdf/parser.d.ts +3 -1
  537. package/lib/mol-io/reader/sdf/parser.js +12 -3
  538. package/lib/mol-io/writer/cif/encoder/binary.js +9 -2
  539. package/lib/mol-math/geometry/gaussian-density/gpu.js +2 -2
  540. package/lib/mol-math/geometry/symmetry-operator.d.ts +1 -1
  541. package/lib/mol-math/geometry/symmetry-operator.js +10 -4
  542. package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  543. package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
  544. package/lib/mol-model/structure/export/mmcif.d.ts +1 -1
  545. package/lib/mol-model/structure/export/mmcif.js +8 -5
  546. package/lib/mol-model/structure/model/properties/common.d.ts +1 -1
  547. package/lib/mol-model/structure/structure/element/stats.js +8 -0
  548. package/lib/mol-model/structure/structure/properties.d.ts +1 -0
  549. package/lib/mol-model/structure/structure/properties.js +2 -1
  550. package/lib/mol-model/structure/structure/symmetry.js +1 -3
  551. package/lib/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  552. package/lib/mol-model/structure/structure/unit/bonds/common.js +9 -1
  553. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  554. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +21 -11
  555. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  556. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +22 -12
  557. package/lib/mol-model/structure/structure/util/superposition-db-mapping.js +10 -5
  558. package/lib/mol-model-formats/shape/ply.d.ts +20 -0
  559. package/lib/mol-model-formats/structure/basic/atomic.d.ts +2 -2
  560. package/lib/mol-model-formats/structure/basic/atomic.js +6 -6
  561. package/lib/mol-model-formats/structure/basic/coarse.d.ts +1 -1
  562. package/lib/mol-model-formats/structure/basic/coarse.js +3 -3
  563. package/lib/mol-model-formats/structure/basic/entities.d.ts +2 -1
  564. package/lib/mol-model-formats/structure/basic/entities.js +25 -22
  565. package/lib/mol-model-formats/structure/basic/parser.js +19 -10
  566. package/lib/mol-model-formats/structure/basic/properties.d.ts +6 -1
  567. package/lib/mol-model-formats/structure/basic/properties.js +12 -25
  568. package/lib/mol-model-formats/structure/mol.d.ts +2 -1
  569. package/lib/mol-model-formats/structure/mol.js +17 -3
  570. package/lib/mol-model-formats/structure/mol2.d.ts +1 -1
  571. package/lib/mol-model-formats/structure/mol2.js +37 -7
  572. package/lib/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  573. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  574. package/lib/mol-model-props/common/custom-property.d.ts +1 -1
  575. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  576. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +11 -1
  577. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.js +25 -10
  578. package/lib/mol-model-props/computed/representations/interactions.d.ts +30 -0
  579. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  580. package/lib/mol-model-props/sequence/best-database-mapping.js +15 -15
  581. package/lib/mol-plugin/animation-loop.d.ts +2 -0
  582. package/lib/mol-plugin/animation-loop.js +1 -1
  583. package/lib/mol-plugin/behavior/dynamic/representation.js +4 -6
  584. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  585. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  586. package/lib/mol-plugin/commands.d.ts +7 -6
  587. package/lib/mol-plugin/config.d.ts +1 -2
  588. package/lib/mol-plugin/config.js +3 -23
  589. package/lib/mol-plugin/features.d.ts +9 -0
  590. package/lib/mol-plugin/features.js +35 -0
  591. package/lib/mol-plugin/spec.d.ts +1 -1
  592. package/lib/mol-plugin/spec.js +4 -1
  593. package/lib/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  594. package/lib/mol-plugin/version.js +2 -2
  595. package/lib/mol-plugin-state/actions/file.d.ts +3 -2
  596. package/lib/mol-plugin-state/actions/file.js +67 -31
  597. package/lib/mol-plugin-state/actions/structure.d.ts +1 -0
  598. package/lib/mol-plugin-state/actions/structure.js +41 -8
  599. package/lib/mol-plugin-state/animation/built-in/camera-rock.d.ts +16 -0
  600. package/lib/mol-plugin-state/animation/built-in/camera-rock.js +59 -0
  601. package/lib/mol-plugin-state/animation/built-in/camera-spin.d.ts +1 -1
  602. package/lib/mol-plugin-state/animation/built-in/camera-spin.js +9 -8
  603. package/lib/mol-plugin-state/animation/model.d.ts +4 -0
  604. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +6 -6
  605. package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -1
  606. package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +149 -5
  607. package/lib/mol-plugin-state/builder/structure/representation-preset.js +74 -2
  608. package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  609. package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
  610. package/lib/mol-plugin-state/manager/animation.d.ts +5 -1
  611. package/lib/mol-plugin-state/manager/animation.js +5 -5
  612. package/lib/mol-plugin-state/manager/structure/component.d.ts +13 -1
  613. package/lib/mol-plugin-state/manager/structure/component.js +13 -8
  614. package/lib/mol-plugin-state/manager/structure/selection.js +3 -1
  615. package/lib/mol-plugin-state/transforms/representation.d.ts +32 -0
  616. package/lib/mol-plugin-state/transforms/representation.js +2 -2
  617. package/lib/mol-plugin-ui/structure/superposition.js +2 -2
  618. package/lib/mol-plugin-ui/viewport/simple-settings.d.ts +1 -1
  619. package/lib/mol-plugin-ui/viewport/simple-settings.js +6 -14
  620. package/lib/mol-repr/shape/loci/angle.d.ts +10 -0
  621. package/lib/mol-repr/shape/loci/common.d.ts +10 -0
  622. package/lib/mol-repr/shape/loci/dihedral.d.ts +10 -0
  623. package/lib/mol-repr/shape/loci/distance.d.ts +10 -0
  624. package/lib/mol-repr/shape/loci/label.d.ts +10 -0
  625. package/lib/mol-repr/shape/loci/orientation.d.ts +10 -0
  626. package/lib/mol-repr/shape/loci/plane.d.ts +10 -0
  627. package/lib/mol-repr/shape/model/unitcell.d.ts +10 -0
  628. package/lib/mol-repr/structure/complex-representation.js +1 -1
  629. package/lib/mol-repr/structure/complex-visual.d.ts +61 -19
  630. package/lib/mol-repr/structure/params.d.ts +81 -19
  631. package/lib/mol-repr/structure/registry.d.ts +141 -19
  632. package/lib/mol-repr/structure/representation/backbone.d.ts +30 -0
  633. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  634. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  635. package/lib/mol-repr/structure/representation/cartoon.d.ts +30 -0
  636. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  637. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  638. package/lib/mol-repr/structure/representation/gaussian-surface.js +1 -1
  639. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  640. package/lib/mol-repr/structure/representation/gaussian-volume.js +2 -7
  641. package/lib/mol-repr/structure/representation/label.d.ts +30 -0
  642. package/lib/mol-repr/structure/representation/label.js +1 -1
  643. package/lib/mol-repr/structure/representation/line.d.ts +30 -0
  644. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  645. package/lib/mol-repr/structure/representation/molecular-surface.js +1 -1
  646. package/lib/mol-repr/structure/representation/orientation.d.ts +30 -0
  647. package/lib/mol-repr/structure/representation/point.d.ts +30 -0
  648. package/lib/mol-repr/structure/representation/putty.d.ts +30 -0
  649. package/lib/mol-repr/structure/representation/spacefill.d.ts +30 -0
  650. package/lib/mol-repr/structure/units-representation.js +1 -1
  651. package/lib/mol-repr/structure/units-visual.d.ts +81 -19
  652. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  653. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  654. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  655. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  656. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +11 -1
  657. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.js +8 -4
  658. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +11 -1
  659. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.js +10 -6
  660. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +11 -1
  661. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.js +8 -4
  662. package/lib/mol-repr/structure/visual/element-cross.d.ts +10 -0
  663. package/lib/mol-repr/structure/visual/element-point.d.ts +10 -0
  664. package/lib/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  665. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  666. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  667. package/lib/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  668. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  669. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  670. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  671. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  672. package/lib/mol-repr/structure/visual/label-text.d.ts +10 -0
  673. package/lib/mol-repr/structure/visual/label-text.js +1 -2
  674. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  675. package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  676. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  677. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  678. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  679. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  680. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  681. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  682. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  683. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  684. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  685. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  686. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  687. package/lib/mol-repr/structure/visual/util/common.d.ts +3 -2
  688. package/lib/mol-repr/structure/visual/util/common.js +2 -5
  689. package/lib/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  690. package/lib/mol-repr/structure/visual/util/gaussian.js +12 -12
  691. package/lib/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  692. package/lib/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  693. package/lib/mol-repr/visual.d.ts +1 -1
  694. package/lib/mol-repr/visual.js +13 -8
  695. package/lib/mol-repr/volume/direct-volume.d.ts +33 -57
  696. package/lib/mol-repr/volume/direct-volume.js +8 -12
  697. package/lib/mol-repr/volume/isosurface.d.ts +60 -0
  698. package/lib/mol-repr/volume/isosurface.js +11 -2
  699. package/lib/mol-repr/volume/registry.d.ts +31 -19
  700. package/lib/mol-repr/volume/representation.d.ts +10 -0
  701. package/lib/mol-repr/volume/slice.d.ts +30 -0
  702. package/lib/mol-repr/volume/slice.js +2 -2
  703. package/lib/mol-repr/volume/util.js +2 -2
  704. package/lib/mol-state/tree/immutable.d.ts +18 -0
  705. package/lib/mol-state/tree/transient.d.ts +3 -4
  706. package/lib/mol-theme/clipping.d.ts +7 -15
  707. package/lib/mol-theme/clipping.js +5 -12
  708. package/lib/mol-theme/color/element-symbol.d.ts +243 -1
  709. package/lib/mol-theme/color/element-symbol.js +10 -5
  710. package/lib/mol-theme/color/entity-id.d.ts +1 -1
  711. package/lib/mol-theme/color/entity-id.js +26 -5
  712. package/lib/mol-theme/color/illustrative.d.ts +100 -29
  713. package/lib/mol-theme/color/illustrative.js +26 -7
  714. package/lib/mol-theme/color/molecule-type.d.ts +19 -1
  715. package/lib/mol-theme/color/molecule-type.js +10 -5
  716. package/lib/mol-theme/color/residue-name.d.ts +77 -1
  717. package/lib/mol-theme/color/residue-name.js +10 -5
  718. package/lib/mol-theme/color/secondary-structure.d.ts +27 -1
  719. package/lib/mol-theme/color/secondary-structure.js +10 -5
  720. package/lib/mol-theme/color/volume-value.d.ts +17 -0
  721. package/lib/mol-theme/color/volume-value.js +52 -0
  722. package/lib/mol-theme/color.d.ts +233 -14
  723. package/lib/mol-theme/color.js +2 -0
  724. package/lib/mol-util/clip.d.ts +49 -0
  725. package/lib/mol-util/clip.js +93 -0
  726. package/lib/mol-util/color/color.d.ts +1 -1
  727. package/lib/mol-util/color/color.js +1 -1
  728. package/lib/mol-util/color/params.d.ts +10 -0
  729. package/lib/mol-util/color/params.js +15 -0
  730. package/lib/mol-util/number-packing.d.ts +11 -0
  731. package/lib/mol-util/{float-packing.js → number-packing.js} +7 -14
  732. package/package.json +36 -35
  733. package/lib/commonjs/mol-util/float-packing.d.ts +0 -15
  734. package/lib/mol-util/float-packing.d.ts +0 -15
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Copyright (c) 2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author David Sehnal <david.sehnal@gmail.com>
5
+ */
6
+ export var PluginFeatureDetection = {
7
+ get preferWebGl1() {
8
+ if (typeof navigator === 'undefined' || typeof window === 'undefined')
9
+ return false;
10
+ // WebGL2 isn't working in MacOS 12.0.1 Safari 15.1, 15.2. It is working in Safari 15.4 tech preview, so disabling all versions before that.
11
+ // prefer webgl 1 based on the userAgent substring
12
+ var unpportedSafariVersions = [
13
+ 'Version/15.1 Safari',
14
+ 'Version/15.2 Safari',
15
+ 'Version/15.3 Safari'
16
+ ];
17
+ if (unpportedSafariVersions.some(function (v) { return navigator.userAgent.indexOf(v) > 0; })) {
18
+ return true;
19
+ }
20
+ // Check for iOS device which enabled WebGL2 recently but it doesn't seem
21
+ // to be full up to speed yet.
22
+ // adapted from https://stackoverflow.com/questions/9038625/detect-if-device-is-ios
23
+ var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent);
24
+ var isAppleDevice = navigator.userAgent.includes('Macintosh');
25
+ var isTouchScreen = navigator.maxTouchPoints >= 4; // true for iOS 13 (and hopefully beyond)
26
+ return !window.MSStream && (isIOS || (isAppleDevice && isTouchScreen));
27
+ },
28
+ get wboit() {
29
+ if (typeof navigator === 'undefined' || typeof window === 'undefined')
30
+ return true;
31
+ // disable Wboit in Safari 15
32
+ return !/Version\/15.\d Safari/.test(navigator.userAgent);
33
+ }
34
+ };
35
+ //# sourceMappingURL=features.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
@@ -16,6 +16,7 @@ import { StateTransforms } from '../mol-plugin-state/transforms';
16
16
  import { BoxifyVolumeStreaming, CreateVolumeStreamingBehavior, InitVolumeStreaming } from '../mol-plugin/behavior/dynamic/volume-streaming/transformers';
17
17
  import { AnimateStateInterpolation } from '../mol-plugin-state/animation/built-in/state-interpolation';
18
18
  import { AnimateStructureSpin } from '../mol-plugin-state/animation/built-in/spin-structure';
19
+ import { AnimateCameraRock } from '../mol-plugin-state/animation/built-in/camera-rock';
19
20
  export { PluginSpec };
20
21
  var PluginSpec;
21
22
  (function (PluginSpec) {
@@ -67,6 +68,7 @@ export var DefaultPluginSpec = function () { return ({
67
68
  PluginSpec.Action(StateTransforms.Representation.UnwindStructureAssemblyRepresentation3D),
68
69
  PluginSpec.Action(StateTransforms.Representation.OverpaintStructureRepresentation3DFromScript),
69
70
  PluginSpec.Action(StateTransforms.Representation.TransparencyStructureRepresentation3DFromScript),
71
+ PluginSpec.Action(StateTransforms.Representation.ClippingStructureRepresentation3DFromScript),
70
72
  PluginSpec.Action(StateTransforms.Representation.SubstanceStructureRepresentation3DFromScript),
71
73
  PluginSpec.Action(AssignColorVolume),
72
74
  PluginSpec.Action(StateTransforms.Volume.VolumeFromCcp4),
@@ -94,6 +96,7 @@ export var DefaultPluginSpec = function () { return ({
94
96
  animations: [
95
97
  AnimateModelIndex,
96
98
  AnimateCameraSpin,
99
+ AnimateCameraRock,
97
100
  AnimateStateSnapshots,
98
101
  AnimateAssemblyUnwind,
99
102
  AnimateStructureSpin,
@@ -45,6 +45,10 @@ declare class ViewportScreenshotHelper extends PluginComponent {
45
45
  roughness: number;
46
46
  bumpiness: number;
47
47
  }>;
48
+ clip: PD.Normalize<{
49
+ variant: any;
50
+ objects: any;
51
+ }>;
48
52
  }>, "on">>;
49
53
  };
50
54
  readonly behaviors: {
@@ -73,6 +77,10 @@ declare class ViewportScreenshotHelper extends PluginComponent {
73
77
  roughness: number;
74
78
  bumpiness: number;
75
79
  }>;
80
+ clip: PD.Normalize<{
81
+ variant: any;
82
+ objects: any;
83
+ }>;
76
84
  }>, "on">>;
77
85
  }>>;
78
86
  cropParams: import("rxjs").BehaviorSubject<{
@@ -109,6 +117,10 @@ declare class ViewportScreenshotHelper extends PluginComponent {
109
117
  roughness: number;
110
118
  bumpiness: number;
111
119
  }>;
120
+ clip: PD.Normalize<{
121
+ variant: any;
122
+ objects: any;
123
+ }>;
112
124
  }>, "on">>;
113
125
  }>;
114
126
  get cropParams(): {
@@ -1,2 +1,2 @@
1
- export var PLUGIN_VERSION = '3.0.0-dev.6';
2
- export var PLUGIN_VERSION_DATE = new Date(typeof __MOLSTAR_DEBUG_TIMESTAMP__ !== 'undefined' ? __MOLSTAR_DEBUG_TIMESTAMP__ : 1639948444658);
1
+ export var PLUGIN_VERSION = '3.0.0';
2
+ export var PLUGIN_VERSION_DATE = new Date(typeof __MOLSTAR_DEBUG_TIMESTAMP__ !== 'undefined' ? __MOLSTAR_DEBUG_TIMESTAMP__ : 1642990267291);
@@ -4,15 +4,16 @@
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
6
  import { StateAction } from '../../mol-state';
7
+ import { Asset } from '../../mol-util/assets';
7
8
  import { ParamDefinition as PD } from '../../mol-util/param-definition';
8
9
  import { PluginStateObject } from '../objects';
9
10
  export declare const OpenFiles: StateAction<PluginStateObject.Root, void, PD.Normalize<{
10
- files: import("../../mol-util/assets").Asset.File[] | null;
11
+ files: Asset.File[] | null;
11
12
  format: PD.NamedParams<PD.Normalize<unknown>, "auto"> | PD.NamedParams<string, "specific">;
12
13
  visuals: boolean;
13
14
  }>>;
14
15
  export declare const DownloadFile: StateAction<PluginStateObject.Root, void, PD.Normalize<{
15
- url: string | import("../../mol-util/assets").Asset.Url;
16
+ url: string | Asset.Url;
16
17
  format: string;
17
18
  isBinary: boolean;
18
19
  visuals: boolean;
@@ -6,8 +6,10 @@
6
6
  import { __awaiter, __generator } from "tslib";
7
7
  import { StateAction } from '../../mol-state';
8
8
  import { Task } from '../../mol-task';
9
+ import { Asset } from '../../mol-util/assets';
9
10
  import { getFileInfo } from '../../mol-util/file-info';
10
11
  import { ParamDefinition as PD } from '../../mol-util/param-definition';
12
+ import { unzip } from '../../mol-util/zip/zip';
11
13
  import { PluginStateObject } from '../objects';
12
14
  export var OpenFiles = StateAction.build({
13
15
  display: { name: 'Open Files', description: 'Load one or more files and optionally create default visuals' },
@@ -31,53 +33,87 @@ export var OpenFiles = StateAction.build({
31
33
  case 0:
32
34
  plugin.behaviors.layout.leftPanelTabName.next('data');
33
35
  return [4 /*yield*/, state.transaction(function () { return __awaiter(void 0, void 0, void 0, function () {
34
- var _i, _a, file, info, isBinary, data, provider, parsed, e_1;
35
- var _b, _c;
36
- return __generator(this, function (_d) {
37
- switch (_d.label) {
36
+ var processFile, _i, _a, file, zippedFiles, _b, _c, _d, _e, _f, fn, filedata, asset, e_1;
37
+ return __generator(this, function (_g) {
38
+ switch (_g.label) {
38
39
  case 0:
39
40
  if (params.files === null) {
40
41
  plugin.log.error('No file(s) selected');
41
42
  return [2 /*return*/];
42
43
  }
44
+ processFile = function (file) { return __awaiter(void 0, void 0, void 0, function () {
45
+ var info, isBinary, data, provider, parsed;
46
+ var _a, _b;
47
+ return __generator(this, function (_c) {
48
+ switch (_c.label) {
49
+ case 0:
50
+ info = getFileInfo(file.file);
51
+ isBinary = plugin.dataFormats.binaryExtensions.has(info.ext);
52
+ return [4 /*yield*/, plugin.builders.data.readFile({ file: file, isBinary: isBinary })];
53
+ case 1:
54
+ data = (_c.sent()).data;
55
+ provider = params.format.name === 'auto'
56
+ ? plugin.dataFormats.auto(info, (_a = data.cell) === null || _a === void 0 ? void 0 : _a.obj)
57
+ : plugin.dataFormats.get(params.format.params);
58
+ if (!provider) {
59
+ plugin.log.warn("OpenFiles: could not find data provider for '".concat(info.name, ".").concat(info.ext, "'"));
60
+ return [2 /*return*/];
61
+ }
62
+ return [4 /*yield*/, provider.parse(plugin, data)];
63
+ case 2:
64
+ parsed = _c.sent();
65
+ if (!params.visuals) return [3 /*break*/, 4];
66
+ return [4 /*yield*/, ((_b = provider.visuals) === null || _b === void 0 ? void 0 : _b.call(provider, plugin, parsed))];
67
+ case 3:
68
+ _c.sent();
69
+ _c.label = 4;
70
+ case 4: return [2 /*return*/];
71
+ }
72
+ });
73
+ }); };
43
74
  _i = 0, _a = params.files;
44
- _d.label = 1;
75
+ _g.label = 1;
45
76
  case 1:
46
- if (!(_i < _a.length)) return [3 /*break*/, 9];
77
+ if (!(_i < _a.length)) return [3 /*break*/, 14];
47
78
  file = _a[_i];
48
- _d.label = 2;
79
+ _g.label = 2;
49
80
  case 2:
50
- _d.trys.push([2, 7, , 8]);
51
- info = getFileInfo(file.file);
52
- isBinary = plugin.dataFormats.binaryExtensions.has(info.ext);
53
- return [4 /*yield*/, plugin.builders.data.readFile({ file: file, isBinary: isBinary })];
54
- case 3:
55
- data = (_d.sent()).data;
56
- provider = params.format.name === 'auto'
57
- ? plugin.dataFormats.auto(info, (_b = data.cell) === null || _b === void 0 ? void 0 : _b.obj)
58
- : plugin.dataFormats.get(params.format.params);
59
- if (!provider) {
60
- plugin.log.warn("OpenFiles: could not find data provider for '".concat(info.name, ".").concat(info.ext, "'"));
61
- return [3 /*break*/, 8];
62
- }
63
- return [4 /*yield*/, provider.parse(plugin, data)];
81
+ _g.trys.push([2, 12, , 13]);
82
+ if (!(file.file && file.name.toLowerCase().endsWith('.zip'))) return [3 /*break*/, 9];
83
+ _b = unzip;
84
+ _c = [taskCtx];
85
+ return [4 /*yield*/, file.file.arrayBuffer()];
86
+ case 3: return [4 /*yield*/, _b.apply(void 0, _c.concat([_g.sent()]))];
64
87
  case 4:
65
- parsed = _d.sent();
66
- if (!params.visuals) return [3 /*break*/, 6];
67
- return [4 /*yield*/, ((_c = provider.visuals) === null || _c === void 0 ? void 0 : _c.call(provider, plugin, parsed))];
88
+ zippedFiles = _g.sent();
89
+ _d = 0, _e = Object.entries(zippedFiles);
90
+ _g.label = 5;
68
91
  case 5:
69
- _d.sent();
70
- _d.label = 6;
71
- case 6: return [3 /*break*/, 8];
92
+ if (!(_d < _e.length)) return [3 /*break*/, 8];
93
+ _f = _e[_d], fn = _f[0], filedata = _f[1];
94
+ asset = Asset.File(new File([filedata], fn));
95
+ return [4 /*yield*/, processFile(asset)];
96
+ case 6:
97
+ _g.sent();
98
+ _g.label = 7;
72
99
  case 7:
73
- e_1 = _d.sent();
100
+ _d++;
101
+ return [3 /*break*/, 5];
102
+ case 8: return [3 /*break*/, 11];
103
+ case 9: return [4 /*yield*/, processFile(file)];
104
+ case 10:
105
+ _g.sent();
106
+ _g.label = 11;
107
+ case 11: return [3 /*break*/, 13];
108
+ case 12:
109
+ e_1 = _g.sent();
74
110
  console.error(e_1);
75
111
  plugin.log.error("Error opening file '".concat(file.name, "'"));
76
- return [3 /*break*/, 8];
77
- case 8:
112
+ return [3 /*break*/, 13];
113
+ case 13:
78
114
  _i++;
79
115
  return [3 /*break*/, 1];
80
- case 9: return [2 /*return*/];
116
+ case 14: return [2 /*return*/];
81
117
  }
82
118
  });
83
119
  }); }).runInContext(taskCtx)];
@@ -14,6 +14,7 @@ export declare const PdbDownloadProvider: {
14
14
  pdbe: PD.Group<PD.Normalize<{
15
15
  variant: "updated" | "updated-bcif" | "updtaed-bcif" | "archival";
16
16
  }>>;
17
+ pdbj: PD.Group<PD.Normalize<unknown>>;
17
18
  };
18
19
  export declare type PdbDownloadProvider = keyof typeof PdbDownloadProvider;
19
20
  export { DownloadStructure };
@@ -17,6 +17,7 @@ import { CustomModelProperties, CustomStructureProperties, TrajectoryFromModelAn
17
17
  import { Asset } from '../../mol-util/assets';
18
18
  import { PluginConfig } from '../../mol-plugin/config';
19
19
  import { getFileInfo } from '../../mol-util/file-info';
20
+ import { assertUnreachable } from '../../mol-util/type-helpers';
20
21
  var DownloadModelRepresentationOptions = function (plugin) {
21
22
  var representationDefault = plugin.config.get(PluginConfig.Structure.DefaultRepresentationPreset) || PresetStructureRepresentations.auto.id;
22
23
  return PD.Group({
@@ -33,6 +34,7 @@ export var PdbDownloadProvider = {
33
34
  'pdbe': PD.Group({
34
35
  variant: PD.Select('updated-bcif', [['updated-bcif', 'Updated (bcif)'], ['updated', 'Updated'], ['archival', 'Archival']]),
35
36
  }, { label: 'PDBe', isFlat: true }),
37
+ 'pdbj': PD.EmptyGroup({ label: 'PDBj' }),
36
38
  };
37
39
  export { DownloadStructure };
38
40
  var DownloadStructure = StateAction.build({
@@ -108,14 +110,12 @@ var DownloadStructure = StateAction.build({
108
110
  format = src.params.format;
109
111
  return [3 /*break*/, 15];
110
112
  case 2: return [4 /*yield*/, (src.params.provider.server.name === 'pdbe'
111
- ? src.params.provider.server.params.variant === 'updated'
112
- ? getDownloadParams(src.params.provider.id, function (id) { return "https://www.ebi.ac.uk/pdbe/static/entry/".concat(id.toLowerCase(), "_updated.cif"); }, function (id) { return "PDBe: ".concat(id, " (updated cif)"); }, false)
113
- : src.params.provider.server.params.variant === 'updated-bcif'
114
- ? getDownloadParams(src.params.provider.id, function (id) { return "https://www.ebi.ac.uk/pdbe/entry-files/download/".concat(id.toLowerCase(), ".bcif"); }, function (id) { return "PDBe: ".concat(id, " (updated cif)"); }, true)
115
- : getDownloadParams(src.params.provider.id, function (id) { return "https://www.ebi.ac.uk/pdbe/static/entry/".concat(id.toLowerCase(), ".cif"); }, function (id) { return "PDBe: ".concat(id, " (cif)"); }, false)
116
- : src.params.provider.server.params.encoding === 'cif'
117
- ? getDownloadParams(src.params.provider.id, function (id) { return "https://files.rcsb.org/download/".concat(id.toUpperCase(), ".cif"); }, function (id) { return "RCSB: ".concat(id, " (cif)"); }, false)
118
- : getDownloadParams(src.params.provider.id, function (id) { return "https://models.rcsb.org/".concat(id.toUpperCase(), ".bcif"); }, function (id) { return "RCSB: ".concat(id, " (bcif)"); }, true))];
113
+ ? getPdbeDownloadParams(src)
114
+ : src.params.provider.server.name === 'pdbj'
115
+ ? getPdbjDownloadParams(src)
116
+ : src.params.provider.server.name === 'rcsb'
117
+ ? getRcsbDownloadParams(src)
118
+ : assertUnreachable(src))];
119
119
  case 3:
120
120
  downloadParams = _b.sent();
121
121
  asTrajectory = !!src.params.options.asTrajectory;
@@ -267,6 +267,39 @@ function getDownloadParams(src, url, label, isBinary) {
267
267
  });
268
268
  });
269
269
  }
270
+ function getPdbeDownloadParams(src) {
271
+ return __awaiter(this, void 0, void 0, function () {
272
+ return __generator(this, function (_a) {
273
+ if (src.name !== 'pdb' || src.params.provider.server.name !== 'pdbe')
274
+ throw new Error('expected pdbe');
275
+ return [2 /*return*/, src.params.provider.server.params.variant === 'updated'
276
+ ? getDownloadParams(src.params.provider.id, function (id) { return "https://www.ebi.ac.uk/pdbe/static/entry/".concat(id.toLowerCase(), "_updated.cif"); }, function (id) { return "PDBe: ".concat(id, " (updated cif)"); }, false)
277
+ : src.params.provider.server.params.variant === 'updated-bcif'
278
+ ? getDownloadParams(src.params.provider.id, function (id) { return "https://www.ebi.ac.uk/pdbe/entry-files/download/".concat(id.toLowerCase(), ".bcif"); }, function (id) { return "PDBe: ".concat(id, " (updated cif)"); }, true)
279
+ : getDownloadParams(src.params.provider.id, function (id) { return "https://www.ebi.ac.uk/pdbe/static/entry/".concat(id.toLowerCase(), ".cif"); }, function (id) { return "PDBe: ".concat(id, " (cif)"); }, false)];
280
+ });
281
+ });
282
+ }
283
+ function getPdbjDownloadParams(src) {
284
+ return __awaiter(this, void 0, void 0, function () {
285
+ return __generator(this, function (_a) {
286
+ if (src.name !== 'pdb' || src.params.provider.server.name !== 'pdbj')
287
+ throw new Error('expected pdbj');
288
+ return [2 /*return*/, getDownloadParams(src.params.provider.id, function (id) { return "https://data.pdbjbk1.pdbj.org/pub/pdb/data/structures/divided/mmCIF/".concat(id.toLowerCase().substring(1, 3), "/").concat(id.toLowerCase(), ".cif"); }, function (id) { return "PDBj: ".concat(id, " (cif)"); }, false)];
289
+ });
290
+ });
291
+ }
292
+ function getRcsbDownloadParams(src) {
293
+ return __awaiter(this, void 0, void 0, function () {
294
+ return __generator(this, function (_a) {
295
+ if (src.name !== 'pdb' || src.params.provider.server.name !== 'rcsb')
296
+ throw new Error('expected rcsb');
297
+ return [2 /*return*/, src.params.provider.server.params.encoding === 'cif'
298
+ ? getDownloadParams(src.params.provider.id, function (id) { return "https://files.rcsb.org/download/".concat(id.toUpperCase(), ".cif"); }, function (id) { return "RCSB PDB: ".concat(id, " (cif)"); }, false)
299
+ : getDownloadParams(src.params.provider.id, function (id) { return "https://models.rcsb.org/".concat(id.toUpperCase(), ".bcif"); }, function (id) { return "RCSB PDB: ".concat(id, " (bcif)"); }, true)];
300
+ });
301
+ });
302
+ }
270
303
  export var UpdateTrajectory = StateAction.build({
271
304
  display: { name: 'Update Trajectory' },
272
305
  params: {
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright (c) 2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
+ */
6
+ import { Camera } from '../../../mol-canvas3d/camera';
7
+ import { PluginStateAnimation } from '../model';
8
+ declare type State = {
9
+ snapshot: Camera.Snapshot;
10
+ };
11
+ export declare const AnimateCameraRock: PluginStateAnimation<{
12
+ durationInMs: number;
13
+ speed: number;
14
+ angle: number;
15
+ }, State | undefined>;
16
+ export {};
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Copyright (c) 2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
+ */
6
+ import { __assign, __awaiter, __generator } from "tslib";
7
+ import { clamp } from '../../../mol-math/interpolate';
8
+ import { Quat } from '../../../mol-math/linear-algebra/3d/quat';
9
+ import { Vec3 } from '../../../mol-math/linear-algebra/3d/vec3';
10
+ import { degToRad } from '../../../mol-math/misc';
11
+ import { ParamDefinition as PD } from '../../../mol-util/param-definition';
12
+ import { PluginStateAnimation } from '../model';
13
+ var _dir = Vec3(), _axis = Vec3(), _rot = Quat();
14
+ export var AnimateCameraRock = PluginStateAnimation.create({
15
+ name: 'built-in.animate-camera-rock',
16
+ display: { name: 'Camera Rock', description: 'Rock the 3D scene around the x-axis in view space' },
17
+ isExportable: true,
18
+ params: function () { return ({
19
+ durationInMs: PD.Numeric(4000, { min: 100, max: 20000, step: 100 }),
20
+ speed: PD.Numeric(1, { min: 1, max: 10, step: 1 }, { description: 'How many times to rock from side to side.' }),
21
+ angle: PD.Numeric(10, { min: 0, max: 180, step: 1 }, { description: 'How many degrees to rotate in each direction.' }),
22
+ }); },
23
+ initialState: function (p, ctx) { return ({ snapshot: ctx.canvas3d.camera.getSnapshot() }); },
24
+ getDuration: function (p) { return ({ kind: 'fixed', durationMs: p.durationInMs }); },
25
+ teardown: function (_, state, ctx) {
26
+ var _a;
27
+ (_a = ctx.canvas3d) === null || _a === void 0 ? void 0 : _a.requestCameraReset({ snapshot: state.snapshot, durationMs: 0 });
28
+ },
29
+ apply: function (animState, t, ctx) {
30
+ var _a, _b;
31
+ return __awaiter(this, void 0, void 0, function () {
32
+ var snapshot, phase, angle, position;
33
+ return __generator(this, function (_c) {
34
+ if (t.current === 0) {
35
+ return [2 /*return*/, { kind: 'next', state: animState }];
36
+ }
37
+ snapshot = animState.snapshot;
38
+ if (snapshot.radiusMax < 0.0001) {
39
+ return [2 /*return*/, { kind: 'finished' }];
40
+ }
41
+ phase = t.animation
42
+ ? ((_a = t.animation) === null || _a === void 0 ? void 0 : _a.currentFrame) / (t.animation.frameCount + 1)
43
+ : clamp(t.current / ctx.params.durationInMs, 0, 1);
44
+ angle = Math.sin(phase * ctx.params.speed * Math.PI * 2) * degToRad(ctx.params.angle);
45
+ Vec3.sub(_dir, snapshot.position, snapshot.target);
46
+ Vec3.normalize(_axis, snapshot.up);
47
+ Quat.setAxisAngle(_rot, _axis, angle);
48
+ Vec3.transformQuat(_dir, _dir, _rot);
49
+ position = Vec3.add(Vec3(), snapshot.target, _dir);
50
+ (_b = ctx.plugin.canvas3d) === null || _b === void 0 ? void 0 : _b.requestCameraReset({ snapshot: __assign(__assign({}, snapshot), { position: position }), durationMs: 0 });
51
+ if (phase >= 0.99999) {
52
+ return [2 /*return*/, { kind: 'finished' }];
53
+ }
54
+ return [2 /*return*/, { kind: 'next', state: animState }];
55
+ });
56
+ });
57
+ }
58
+ });
59
+ //# sourceMappingURL=camera-rock.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2020-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  */
@@ -12,11 +12,11 @@ import { PluginStateAnimation } from '../model';
12
12
  var _dir = Vec3(), _axis = Vec3(), _rot = Quat();
13
13
  export var AnimateCameraSpin = PluginStateAnimation.create({
14
14
  name: 'built-in.animate-camera-spin',
15
- display: { name: 'Camera Spin' },
15
+ display: { name: 'Camera Spin', description: 'Spin the 3D scene around the x-axis in view space' },
16
16
  isExportable: true,
17
17
  params: function () { return ({
18
18
  durationInMs: PD.Numeric(4000, { min: 100, max: 20000, step: 100 }),
19
- speed: PD.Numeric(1, { min: 1, max: 10, step: 1 }, { description: 'How many times to spin in the specified dutation.' }),
19
+ speed: PD.Numeric(1, { min: 1, max: 10, step: 1 }, { description: 'How many times to spin in the specified duration.' }),
20
20
  direction: PD.Select('cw', [['cw', 'Clockwise'], ['ccw', 'Counter Clockwise']], { cycle: true })
21
21
  }); },
22
22
  initialState: function (_, ctx) { var _a; return ({ snapshot: (_a = ctx.canvas3d) === null || _a === void 0 ? void 0 : _a.camera.getSnapshot() }); },
@@ -37,11 +37,9 @@ export var AnimateCameraSpin = PluginStateAnimation.create({
37
37
  if (snapshot.radiusMax < 0.0001) {
38
38
  return [2 /*return*/, { kind: 'finished' }];
39
39
  }
40
- phase = clamp(t.current / ctx.params.durationInMs, 0, 1);
41
- if (phase >= 0.99999) {
42
- (_a = ctx.plugin.canvas3d) === null || _a === void 0 ? void 0 : _a.requestCameraReset({ snapshot: snapshot, durationMs: 0 });
43
- return [2 /*return*/, { kind: 'finished' }];
44
- }
40
+ phase = t.animation
41
+ ? ((_a = t.animation) === null || _a === void 0 ? void 0 : _a.currentFrame) / (t.animation.frameCount + 1)
42
+ : clamp(t.current / ctx.params.durationInMs, 0, 1);
45
43
  angle = 2 * Math.PI * phase * ctx.params.speed * (ctx.params.direction === 'ccw' ? -1 : 1);
46
44
  Vec3.sub(_dir, snapshot.position, snapshot.target);
47
45
  Vec3.normalize(_axis, snapshot.up);
@@ -49,6 +47,9 @@ export var AnimateCameraSpin = PluginStateAnimation.create({
49
47
  Vec3.transformQuat(_dir, _dir, _rot);
50
48
  position = Vec3.add(Vec3(), snapshot.target, _dir);
51
49
  (_b = ctx.plugin.canvas3d) === null || _b === void 0 ? void 0 : _b.requestCameraReset({ snapshot: __assign(__assign({}, snapshot), { position: position }), durationMs: 0 });
50
+ if (phase >= 0.99999) {
51
+ return [2 /*return*/, { kind: 'finished' }];
52
+ }
52
53
  return [2 /*return*/, { kind: 'next', state: animState }];
53
54
  });
54
55
  });
@@ -56,6 +56,10 @@ declare namespace PluginStateAnimation {
56
56
  interface Time {
57
57
  lastApplied: number;
58
58
  current: number;
59
+ animation?: {
60
+ currentFrame: number;
61
+ frameCount: number;
62
+ };
59
63
  }
60
64
  type ApplyResult<S> = {
61
65
  kind: 'finished';
@@ -28,7 +28,7 @@ export declare namespace TrajectoryHierarchyPresetProvider {
28
28
  [x: string]: any;
29
29
  }>;
30
30
  }>> | undefined>;
31
- representationPreset: PD.Base<"auto" | "empty" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined>;
31
+ representationPreset: PD.Base<"auto" | "empty" | "illustrative" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined>;
32
32
  };
33
33
  }
34
34
  export declare const PresetTrajectoryHierarchy: {
@@ -41,7 +41,7 @@ export declare const PresetTrajectoryHierarchy: {
41
41
  autoAttach: any;
42
42
  properties: any;
43
43
  }>> | undefined;
44
- representationPreset: "auto" | "empty" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined;
44
+ representationPreset: "auto" | "empty" | "illustrative" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined;
45
45
  model: PD.Normalize<PD.Normalize<{
46
46
  modelIndex: any;
47
47
  }>> | undefined;
@@ -86,7 +86,7 @@ export declare const PresetTrajectoryHierarchy: {
86
86
  autoAttach: any;
87
87
  properties: any;
88
88
  }>> | undefined;
89
- representationPreset: "auto" | "empty" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined;
89
+ representationPreset: "auto" | "empty" | "illustrative" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined;
90
90
  useDefaultIfSingleModel: boolean | undefined;
91
91
  representationPresetParams: PD.Normalize<{
92
92
  ignoreHydrogens: any;
@@ -116,7 +116,7 @@ export declare const PresetTrajectoryHierarchy: {
116
116
  autoAttach: any;
117
117
  properties: any;
118
118
  }>> | undefined;
119
- representationPreset: "auto" | "empty" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined;
119
+ representationPreset: "auto" | "empty" | "illustrative" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined;
120
120
  model: PD.Normalize<PD.Normalize<{
121
121
  modelIndex: any;
122
122
  }>> | undefined;
@@ -137,7 +137,7 @@ export declare const PresetTrajectoryHierarchy: {
137
137
  autoAttach: any;
138
138
  properties: any;
139
139
  }>> | undefined;
140
- representationPreset: "auto" | "empty" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined;
140
+ representationPreset: "auto" | "empty" | "illustrative" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined;
141
141
  model: PD.Normalize<PD.Normalize<{
142
142
  modelIndex: any;
143
143
  }>> | undefined;
@@ -158,7 +158,7 @@ export declare const PresetTrajectoryHierarchy: {
158
158
  autoAttach: any;
159
159
  properties: any;
160
160
  }>> | undefined;
161
- representationPreset: "auto" | "empty" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined;
161
+ representationPreset: "auto" | "empty" | "illustrative" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined;
162
162
  model: PD.Normalize<PD.Normalize<{
163
163
  modelIndex: any;
164
164
  }>> | undefined;
@@ -23,7 +23,7 @@ export declare class TrajectoryHierarchyBuilder {
23
23
  autoAttach: any;
24
24
  properties: any;
25
25
  }>> | undefined;
26
- representationPreset: "auto" | "empty" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined;
26
+ representationPreset: "auto" | "empty" | "illustrative" | "atomic-detail" | "polymer-cartoon" | "polymer-and-ligand" | "protein-and-nucleic" | "coarse-surface" | undefined;
27
27
  model: PD.Normalize<PD.Normalize<{
28
28
  modelIndex: any;
29
29
  }>> | undefined;