molstar 3.0.0-dev.5 → 3.0.0-dev.9

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 (688) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +187 -187
  3. package/build/viewer/embedded.html +43 -43
  4. package/build/viewer/index.html +106 -95
  5. package/build/viewer/molstar.js +1 -1
  6. package/lib/apps/docking-viewer/index.d.ts +2 -1
  7. package/lib/apps/docking-viewer/index.html +36 -36
  8. package/lib/apps/docking-viewer/index.js +87 -74
  9. package/lib/apps/viewer/app.d.ts +230 -0
  10. package/lib/apps/viewer/app.js +515 -0
  11. package/lib/apps/viewer/embedded.html +43 -43
  12. package/lib/apps/viewer/index.d.ts +2 -403
  13. package/lib/apps/viewer/index.html +106 -95
  14. package/lib/apps/viewer/index.js +2 -420
  15. package/lib/cli/cifschema/index.d.ts +1 -1
  16. package/lib/cli/cifschema/index.js +15 -35
  17. package/lib/commonjs/apps/docking-viewer/index.d.ts +2 -1
  18. package/lib/commonjs/apps/docking-viewer/index.js +86 -73
  19. package/lib/commonjs/apps/viewer/app.d.ts +230 -0
  20. package/lib/commonjs/apps/viewer/app.js +521 -0
  21. package/lib/commonjs/apps/viewer/index.d.ts +2 -403
  22. package/lib/commonjs/apps/viewer/index.js +2 -423
  23. package/lib/commonjs/cli/cifschema/index.d.ts +1 -1
  24. package/lib/commonjs/cli/cifschema/index.js +15 -35
  25. package/lib/commonjs/examples/alpha-orbitals/index.js +3 -4
  26. package/lib/commonjs/examples/basic-wrapper/index.js +23 -11
  27. package/lib/commonjs/examples/lighting/index.d.ts +1 -1
  28. package/lib/commonjs/examples/lighting/index.js +57 -41
  29. package/lib/commonjs/examples/proteopedia-wrapper/index.js +26 -14
  30. package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +0 -1
  31. package/lib/commonjs/extensions/alpha-orbitals/transforms.js +1 -14
  32. package/lib/commonjs/extensions/anvil/behavior.d.ts +4 -0
  33. package/lib/commonjs/extensions/anvil/representation.d.ts +50 -0
  34. package/lib/commonjs/extensions/cellpack/representation.d.ts +10 -0
  35. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  36. package/lib/commonjs/extensions/geo-export/mesh-exporter.js +4 -4
  37. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
  38. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.js +236 -0
  39. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
  40. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +125 -0
  41. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
  42. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +111 -0
  43. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
  44. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.js +130 -0
  45. package/lib/commonjs/extensions/pdbe/structure-quality-report/prop.js +1 -1
  46. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  47. package/lib/commonjs/extensions/rcsb/assembly-symmetry/prop.js +1 -1
  48. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  49. package/lib/commonjs/extensions/rcsb/validation-report/prop.js +1 -1
  50. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +50 -0
  51. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +3 -9
  52. package/lib/commonjs/mol-canvas3d/canvas3d.js +34 -23
  53. package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  54. package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  55. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
  56. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  57. package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
  58. package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
  59. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +13 -1
  60. package/lib/commonjs/mol-canvas3d/passes/draw.js +16 -15
  61. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -0
  62. package/lib/commonjs/mol-canvas3d/passes/image.js +3 -2
  63. package/lib/commonjs/mol-canvas3d/passes/marking.js +1 -1
  64. package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +10 -2
  65. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +18 -14
  66. package/lib/commonjs/mol-canvas3d/passes/pick.js +12 -12
  67. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +3 -3
  68. package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
  69. package/lib/commonjs/mol-geo/geometry/base.d.ts +18 -0
  70. package/lib/commonjs/mol-geo/geometry/base.js +18 -1
  71. package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
  72. package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
  73. package/lib/commonjs/mol-geo/geometry/color-data.d.ts +1 -1
  74. package/lib/commonjs/mol-geo/geometry/color-data.js +22 -0
  75. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +12 -2
  76. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +2 -2
  77. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  78. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +21 -66
  79. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  80. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  81. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +10 -0
  82. package/lib/commonjs/mol-geo/geometry/image/image.js +1 -1
  83. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +11 -0
  84. package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
  85. package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
  86. package/lib/commonjs/mol-geo/geometry/marker-data.js +13 -9
  87. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  88. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +2 -2
  89. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +11 -1
  90. package/lib/commonjs/mol-geo/geometry/points/points.js +1 -1
  91. package/lib/commonjs/mol-geo/geometry/size-data.js +5 -5
  92. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  93. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +2 -2
  94. package/lib/commonjs/mol-geo/geometry/text/text.d.ts +10 -0
  95. package/lib/commonjs/mol-geo/geometry/text/text.js +1 -1
  96. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  97. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  98. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  99. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  100. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  101. package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
  102. package/lib/commonjs/mol-gl/render-object.js +10 -10
  103. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +11 -5
  104. package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
  105. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +15 -14
  106. package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
  107. package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
  108. package/lib/commonjs/mol-gl/renderable/image.js +2 -2
  109. package/lib/commonjs/mol-gl/renderable/lines.d.ts +39 -33
  110. package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
  111. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +11 -5
  112. package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
  113. package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
  114. package/lib/commonjs/mol-gl/renderable/points.js +2 -2
  115. package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
  116. package/lib/commonjs/mol-gl/renderable/schema.js +4 -10
  117. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +11 -5
  118. package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
  119. package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
  120. package/lib/commonjs/mol-gl/renderable/text.js +2 -2
  121. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +11 -6
  122. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
  123. package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
  124. package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
  125. package/lib/commonjs/mol-gl/renderer.js +23 -92
  126. package/lib/commonjs/mol-gl/scene.d.ts +2 -2
  127. package/lib/commonjs/mol-gl/scene.js +7 -5
  128. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  129. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  130. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  131. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  132. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  133. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  134. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  135. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  136. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  137. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  138. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  139. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  140. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  141. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  142. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  143. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  144. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  145. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  146. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  147. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  148. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  149. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  150. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  151. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
  152. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  153. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  154. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  155. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  156. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  157. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  158. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  159. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  160. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  161. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +1 -1
  162. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  163. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  164. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  165. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  166. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  167. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  168. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  169. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  170. package/lib/commonjs/mol-gl/shader/mesh.vert.d.ts +1 -1
  171. package/lib/commonjs/mol-gl/shader/mesh.vert.js +1 -1
  172. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  173. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  174. package/lib/commonjs/mol-gl/shader-code.d.ts +3 -1
  175. package/lib/commonjs/mol-gl/shader-code.js +43 -14
  176. package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
  177. package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
  178. package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
  179. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
  180. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +326 -1
  181. package/lib/commonjs/mol-io/reader/mol2/parser.d.ts +1 -1
  182. package/lib/commonjs/mol-io/reader/mol2/parser.js +33 -3
  183. package/lib/commonjs/mol-io/reader/mol2/schema.d.ts +12 -1
  184. package/lib/commonjs/mol-io/reader/mol2/schema.js +1 -1
  185. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +2 -2
  186. package/lib/commonjs/mol-math/geometry/symmetry-operator.js +3 -2
  187. package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  188. package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
  189. package/lib/commonjs/mol-model/structure/model/model.d.ts +1 -0
  190. package/lib/commonjs/mol-model/structure/model/model.js +8 -2
  191. package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
  192. package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
  193. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
  194. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.js +4 -1
  195. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
  196. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
  197. package/lib/commonjs/mol-model/structure/model/types.js +9 -0
  198. package/lib/commonjs/mol-model/structure/structure/element/stats.js +8 -0
  199. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  200. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.js +11 -2
  201. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  202. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +20 -10
  203. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  204. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +21 -11
  205. package/lib/commonjs/mol-model/structure/structure/unit/rings.js +2 -0
  206. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +20 -0
  207. package/lib/commonjs/mol-model-formats/structure/mol2.d.ts +1 -1
  208. package/lib/commonjs/mol-model-formats/structure/mol2.js +37 -7
  209. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  210. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  211. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  212. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
  213. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +30 -0
  214. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  215. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +4 -6
  216. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  217. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  218. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
  219. package/lib/commonjs/mol-plugin/commands.d.ts +1 -4
  220. package/lib/commonjs/mol-plugin/config.d.ts +2 -2
  221. package/lib/commonjs/mol-plugin/config.js +5 -25
  222. package/lib/commonjs/mol-plugin/features.d.ts +9 -0
  223. package/lib/commonjs/mol-plugin/features.js +38 -0
  224. package/lib/commonjs/mol-plugin/spec.js +1 -0
  225. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  226. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +8 -1
  227. package/lib/commonjs/mol-plugin-state/actions/structure.js +183 -72
  228. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
  229. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +13 -8
  230. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
  231. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +4 -4
  232. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  233. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
  234. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +33 -19
  235. package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +13 -1
  236. package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
  237. package/lib/commonjs/mol-plugin-state/manager/structure/selection.js +3 -1
  238. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +32 -0
  239. package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
  240. package/lib/commonjs/mol-plugin-ui/index.d.ts +4 -4
  241. package/lib/commonjs/mol-plugin-ui/index.js +13 -16
  242. package/lib/commonjs/mol-plugin-ui/plugin.js +1 -1
  243. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +2 -6
  244. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +10 -0
  245. package/lib/commonjs/mol-repr/shape/loci/common.d.ts +10 -0
  246. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +10 -0
  247. package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +10 -0
  248. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +10 -0
  249. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +10 -0
  250. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +10 -0
  251. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +10 -0
  252. package/lib/commonjs/mol-repr/structure/complex-representation.js +1 -1
  253. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +61 -19
  254. package/lib/commonjs/mol-repr/structure/params.d.ts +81 -19
  255. package/lib/commonjs/mol-repr/structure/registry.d.ts +141 -19
  256. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +30 -0
  257. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  258. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  259. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +30 -0
  260. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  261. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  262. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +1 -1
  263. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  264. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +2 -7
  265. package/lib/commonjs/mol-repr/structure/representation/label.d.ts +30 -0
  266. package/lib/commonjs/mol-repr/structure/representation/label.js +1 -1
  267. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +30 -0
  268. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  269. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +1 -1
  270. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +30 -0
  271. package/lib/commonjs/mol-repr/structure/representation/point.d.ts +30 -0
  272. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +30 -0
  273. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +30 -0
  274. package/lib/commonjs/mol-repr/structure/units-representation.js +1 -1
  275. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +81 -19
  276. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  277. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  278. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  279. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
  280. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  281. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  282. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
  283. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
  284. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
  285. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +10 -0
  286. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +10 -0
  287. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  288. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  289. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  290. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  291. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  292. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  293. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  294. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  295. package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +10 -0
  296. package/lib/commonjs/mol-repr/structure/visual/label-text.js +1 -2
  297. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  298. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  299. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  300. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  301. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  302. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  303. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  304. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  305. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  306. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  307. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  308. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  309. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  310. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  311. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +1 -1
  312. package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +3 -2
  313. package/lib/commonjs/mol-repr/structure/visual/util/common.js +2 -5
  314. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  315. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +12 -12
  316. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  317. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  318. package/lib/commonjs/mol-repr/visual.js +11 -7
  319. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -57
  320. package/lib/commonjs/mol-repr/volume/direct-volume.js +8 -12
  321. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +60 -0
  322. package/lib/commonjs/mol-repr/volume/isosurface.js +11 -2
  323. package/lib/commonjs/mol-repr/volume/registry.d.ts +31 -19
  324. package/lib/commonjs/mol-repr/volume/representation.d.ts +10 -0
  325. package/lib/commonjs/mol-repr/volume/slice.d.ts +30 -0
  326. package/lib/commonjs/mol-repr/volume/slice.js +2 -2
  327. package/lib/commonjs/mol-repr/volume/util.js +2 -2
  328. package/lib/commonjs/mol-script/language/builder.d.ts +0 -1
  329. package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
  330. package/lib/commonjs/mol-theme/clipping.js +5 -12
  331. package/lib/commonjs/mol-theme/color/volume-value.d.ts +17 -0
  332. package/lib/commonjs/mol-theme/color/volume-value.js +57 -0
  333. package/lib/commonjs/mol-theme/color.d.ts +3 -0
  334. package/lib/commonjs/mol-theme/color.js +2 -0
  335. package/lib/commonjs/mol-util/clip.d.ts +49 -0
  336. package/lib/commonjs/mol-util/clip.js +97 -0
  337. package/lib/commonjs/mol-util/number-packing.d.ts +11 -0
  338. package/lib/commonjs/mol-util/{float-packing.js → number-packing.js} +10 -19
  339. package/lib/examples/alpha-orbitals/index.html +61 -60
  340. package/lib/examples/alpha-orbitals/index.js +4 -5
  341. package/lib/examples/basic-wrapper/index.html +137 -136
  342. package/lib/examples/basic-wrapper/index.js +24 -12
  343. package/lib/examples/lighting/index.d.ts +1 -1
  344. package/lib/examples/lighting/index.html +88 -86
  345. package/lib/examples/lighting/index.js +58 -42
  346. package/lib/examples/proteopedia-wrapper/index.html +236 -235
  347. package/lib/examples/proteopedia-wrapper/index.js +27 -15
  348. package/lib/extensions/alpha-orbitals/transforms.d.ts +0 -1
  349. package/lib/extensions/alpha-orbitals/transforms.js +1 -14
  350. package/lib/extensions/anvil/behavior.d.ts +4 -0
  351. package/lib/extensions/anvil/representation.d.ts +50 -0
  352. package/lib/extensions/cellpack/representation.d.ts +10 -0
  353. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  354. package/lib/extensions/geo-export/mesh-exporter.js +4 -4
  355. package/lib/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
  356. package/lib/extensions/model-archive/quality-assessment/behavior.js +233 -0
  357. package/lib/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
  358. package/lib/extensions/model-archive/quality-assessment/color/plddt.js +120 -0
  359. package/lib/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
  360. package/lib/extensions/model-archive/quality-assessment/color/qmean.js +106 -0
  361. package/lib/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
  362. package/lib/extensions/model-archive/quality-assessment/prop.js +127 -0
  363. package/lib/extensions/pdbe/structure-quality-report/prop.js +1 -1
  364. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  365. package/lib/extensions/rcsb/assembly-symmetry/prop.js +1 -1
  366. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  367. package/lib/extensions/rcsb/validation-report/prop.js +1 -1
  368. package/lib/extensions/rcsb/validation-report/representation.d.ts +50 -0
  369. package/lib/mol-canvas3d/canvas3d.d.ts +3 -9
  370. package/lib/mol-canvas3d/canvas3d.js +34 -23
  371. package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  372. package/lib/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  373. package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
  374. package/lib/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  375. package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
  376. package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
  377. package/lib/mol-canvas3d/passes/draw.d.ts +13 -1
  378. package/lib/mol-canvas3d/passes/draw.js +16 -15
  379. package/lib/mol-canvas3d/passes/image.d.ts +1 -0
  380. package/lib/mol-canvas3d/passes/image.js +3 -2
  381. package/lib/mol-canvas3d/passes/marking.js +1 -1
  382. package/lib/mol-canvas3d/passes/multi-sample.d.ts +10 -2
  383. package/lib/mol-canvas3d/passes/multi-sample.js +18 -14
  384. package/lib/mol-canvas3d/passes/pick.js +11 -11
  385. package/lib/mol-canvas3d/passes/postprocessing.js +3 -3
  386. package/lib/mol-canvas3d/passes/smaa.js +1 -1
  387. package/lib/mol-geo/geometry/base.d.ts +18 -0
  388. package/lib/mol-geo/geometry/base.js +18 -1
  389. package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
  390. package/lib/mol-geo/geometry/clipping-data.js +3 -8
  391. package/lib/mol-geo/geometry/color-data.d.ts +1 -1
  392. package/lib/mol-geo/geometry/color-data.js +22 -0
  393. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +12 -2
  394. package/lib/mol-geo/geometry/cylinders/cylinders.js +2 -2
  395. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  396. package/lib/mol-geo/geometry/direct-volume/direct-volume.js +22 -67
  397. package/lib/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  398. package/lib/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  399. package/lib/mol-geo/geometry/image/image.d.ts +10 -0
  400. package/lib/mol-geo/geometry/image/image.js +1 -1
  401. package/lib/mol-geo/geometry/lines/lines.d.ts +11 -0
  402. package/lib/mol-geo/geometry/lines/lines.js +1 -1
  403. package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
  404. package/lib/mol-geo/geometry/marker-data.js +13 -9
  405. package/lib/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  406. package/lib/mol-geo/geometry/mesh/mesh.js +2 -2
  407. package/lib/mol-geo/geometry/points/points.d.ts +11 -1
  408. package/lib/mol-geo/geometry/points/points.js +1 -1
  409. package/lib/mol-geo/geometry/size-data.js +5 -5
  410. package/lib/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  411. package/lib/mol-geo/geometry/spheres/spheres.js +2 -2
  412. package/lib/mol-geo/geometry/text/text.d.ts +10 -0
  413. package/lib/mol-geo/geometry/text/text.js +1 -1
  414. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  415. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  416. package/lib/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  417. package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  418. package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  419. package/lib/mol-gl/render-object.d.ts +2 -1
  420. package/lib/mol-gl/render-object.js +10 -10
  421. package/lib/mol-gl/renderable/cylinders.d.ts +11 -5
  422. package/lib/mol-gl/renderable/cylinders.js +3 -3
  423. package/lib/mol-gl/renderable/direct-volume.d.ts +15 -14
  424. package/lib/mol-gl/renderable/direct-volume.js +3 -3
  425. package/lib/mol-gl/renderable/image.d.ts +10 -4
  426. package/lib/mol-gl/renderable/image.js +2 -2
  427. package/lib/mol-gl/renderable/lines.d.ts +39 -33
  428. package/lib/mol-gl/renderable/lines.js +4 -4
  429. package/lib/mol-gl/renderable/mesh.d.ts +11 -5
  430. package/lib/mol-gl/renderable/mesh.js +3 -3
  431. package/lib/mol-gl/renderable/points.d.ts +10 -4
  432. package/lib/mol-gl/renderable/points.js +2 -2
  433. package/lib/mol-gl/renderable/schema.d.ts +10 -11
  434. package/lib/mol-gl/renderable/schema.js +4 -10
  435. package/lib/mol-gl/renderable/spheres.d.ts +11 -5
  436. package/lib/mol-gl/renderable/spheres.js +3 -3
  437. package/lib/mol-gl/renderable/text.d.ts +10 -4
  438. package/lib/mol-gl/renderable/text.js +2 -2
  439. package/lib/mol-gl/renderable/texture-mesh.d.ts +11 -6
  440. package/lib/mol-gl/renderable/texture-mesh.js +3 -3
  441. package/lib/mol-gl/renderable.d.ts +0 -1
  442. package/lib/mol-gl/renderer.d.ts +12 -12
  443. package/lib/mol-gl/renderer.js +24 -93
  444. package/lib/mol-gl/scene.d.ts +2 -2
  445. package/lib/mol-gl/scene.js +7 -5
  446. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  447. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  448. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  449. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  450. package/lib/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  451. package/lib/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  452. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  453. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  454. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  455. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  456. package/lib/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  457. package/lib/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  458. package/lib/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  459. package/lib/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  460. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  461. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  462. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  463. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  464. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  465. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  466. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  467. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  468. package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  469. package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
  470. package/lib/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  471. package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  472. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  473. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  474. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  475. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  476. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  477. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  478. package/lib/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  479. package/lib/mol-gl/shader/gaussian-density.frag.js +1 -1
  480. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  481. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  482. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  483. package/lib/mol-gl/shader/image.frag.js +1 -1
  484. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  485. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  486. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  487. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  488. package/lib/mol-gl/shader/mesh.vert.d.ts +1 -1
  489. package/lib/mol-gl/shader/mesh.vert.js +1 -1
  490. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  491. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  492. package/lib/mol-gl/shader-code.d.ts +3 -1
  493. package/lib/mol-gl/shader-code.js +43 -14
  494. package/lib/mol-gl/webgl/render-item.d.ts +7 -6
  495. package/lib/mol-gl/webgl/render-item.js +8 -6
  496. package/lib/mol-gl/webgl/resources.js +8 -1
  497. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
  498. package/lib/mol-io/reader/cif/schema/mmcif.js +326 -1
  499. package/lib/mol-io/reader/mol2/parser.d.ts +1 -1
  500. package/lib/mol-io/reader/mol2/parser.js +33 -3
  501. package/lib/mol-io/reader/mol2/schema.d.ts +12 -1
  502. package/lib/mol-io/reader/mol2/schema.js +1 -1
  503. package/lib/mol-math/geometry/gaussian-density/gpu.js +2 -2
  504. package/lib/mol-math/geometry/symmetry-operator.js +3 -2
  505. package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  506. package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
  507. package/lib/mol-model/structure/model/model.d.ts +1 -0
  508. package/lib/mol-model/structure/model/model.js +8 -2
  509. package/lib/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
  510. package/lib/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
  511. package/lib/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
  512. package/lib/mol-model/structure/model/properties/utils/atomic-derived.js +5 -2
  513. package/lib/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
  514. package/lib/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
  515. package/lib/mol-model/structure/model/types.js +9 -0
  516. package/lib/mol-model/structure/structure/element/stats.js +8 -0
  517. package/lib/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  518. package/lib/mol-model/structure/structure/unit/bonds/common.js +9 -1
  519. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  520. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +21 -11
  521. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  522. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +22 -12
  523. package/lib/mol-model/structure/structure/unit/rings.js +2 -0
  524. package/lib/mol-model-formats/shape/ply.d.ts +20 -0
  525. package/lib/mol-model-formats/structure/mol2.d.ts +1 -1
  526. package/lib/mol-model-formats/structure/mol2.js +37 -7
  527. package/lib/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  528. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  529. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  530. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
  531. package/lib/mol-model-props/computed/representations/interactions.d.ts +30 -0
  532. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  533. package/lib/mol-plugin/behavior/dynamic/representation.js +4 -6
  534. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  535. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  536. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
  537. package/lib/mol-plugin/commands.d.ts +1 -4
  538. package/lib/mol-plugin/config.d.ts +2 -2
  539. package/lib/mol-plugin/config.js +4 -23
  540. package/lib/mol-plugin/features.d.ts +9 -0
  541. package/lib/mol-plugin/features.js +35 -0
  542. package/lib/mol-plugin/spec.js +1 -0
  543. package/lib/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  544. package/lib/mol-plugin/version.js +2 -2
  545. package/lib/mol-plugin-state/actions/structure.d.ts +8 -1
  546. package/lib/mol-plugin-state/actions/structure.js +183 -72
  547. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
  548. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.js +14 -9
  549. package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
  550. package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +4 -4
  551. package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  552. package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
  553. package/lib/mol-plugin-state/helpers/structure-selection-query.js +34 -20
  554. package/lib/mol-plugin-state/manager/structure/component.d.ts +13 -1
  555. package/lib/mol-plugin-state/manager/structure/component.js +14 -9
  556. package/lib/mol-plugin-state/manager/structure/selection.js +3 -1
  557. package/lib/mol-plugin-state/transforms/representation.d.ts +32 -0
  558. package/lib/mol-plugin-state/transforms/representation.js +2 -2
  559. package/lib/mol-plugin-ui/index.d.ts +4 -4
  560. package/lib/mol-plugin-ui/index.js +11 -13
  561. package/lib/mol-plugin-ui/plugin.js +1 -1
  562. package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
  563. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  564. package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
  565. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  566. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  567. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  568. package/lib/mol-plugin-ui/skin/base/components/misc.scss +643 -643
  569. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  570. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  571. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  572. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  573. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  574. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +127 -127
  575. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  576. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  577. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  578. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  579. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  580. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  581. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  582. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  583. package/lib/mol-plugin-ui/skin/base/variables.scss +85 -85
  584. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  585. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  586. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  587. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  588. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  589. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  590. package/lib/mol-plugin-ui/viewport/simple-settings.js +2 -6
  591. package/lib/mol-repr/shape/loci/angle.d.ts +10 -0
  592. package/lib/mol-repr/shape/loci/common.d.ts +10 -0
  593. package/lib/mol-repr/shape/loci/dihedral.d.ts +10 -0
  594. package/lib/mol-repr/shape/loci/distance.d.ts +10 -0
  595. package/lib/mol-repr/shape/loci/label.d.ts +10 -0
  596. package/lib/mol-repr/shape/loci/orientation.d.ts +10 -0
  597. package/lib/mol-repr/shape/loci/plane.d.ts +10 -0
  598. package/lib/mol-repr/shape/model/unitcell.d.ts +10 -0
  599. package/lib/mol-repr/structure/complex-representation.js +1 -1
  600. package/lib/mol-repr/structure/complex-visual.d.ts +61 -19
  601. package/lib/mol-repr/structure/params.d.ts +81 -19
  602. package/lib/mol-repr/structure/registry.d.ts +141 -19
  603. package/lib/mol-repr/structure/representation/backbone.d.ts +30 -0
  604. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  605. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  606. package/lib/mol-repr/structure/representation/cartoon.d.ts +30 -0
  607. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  608. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  609. package/lib/mol-repr/structure/representation/gaussian-surface.js +1 -1
  610. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  611. package/lib/mol-repr/structure/representation/gaussian-volume.js +2 -7
  612. package/lib/mol-repr/structure/representation/label.d.ts +30 -0
  613. package/lib/mol-repr/structure/representation/label.js +1 -1
  614. package/lib/mol-repr/structure/representation/line.d.ts +30 -0
  615. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  616. package/lib/mol-repr/structure/representation/molecular-surface.js +1 -1
  617. package/lib/mol-repr/structure/representation/orientation.d.ts +30 -0
  618. package/lib/mol-repr/structure/representation/point.d.ts +30 -0
  619. package/lib/mol-repr/structure/representation/putty.d.ts +30 -0
  620. package/lib/mol-repr/structure/representation/spacefill.d.ts +30 -0
  621. package/lib/mol-repr/structure/units-representation.js +1 -1
  622. package/lib/mol-repr/structure/units-visual.d.ts +81 -19
  623. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  624. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  625. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  626. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
  627. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  628. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  629. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
  630. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
  631. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
  632. package/lib/mol-repr/structure/visual/element-cross.d.ts +10 -0
  633. package/lib/mol-repr/structure/visual/element-point.d.ts +10 -0
  634. package/lib/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  635. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  636. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  637. package/lib/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  638. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  639. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  640. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  641. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  642. package/lib/mol-repr/structure/visual/label-text.d.ts +10 -0
  643. package/lib/mol-repr/structure/visual/label-text.js +1 -2
  644. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  645. package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  646. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  647. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  648. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  649. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  650. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  651. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  652. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  653. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  654. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  655. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  656. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  657. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  658. package/lib/mol-repr/structure/visual/util/bond.js +1 -1
  659. package/lib/mol-repr/structure/visual/util/common.d.ts +3 -2
  660. package/lib/mol-repr/structure/visual/util/common.js +2 -5
  661. package/lib/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  662. package/lib/mol-repr/structure/visual/util/gaussian.js +12 -12
  663. package/lib/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  664. package/lib/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  665. package/lib/mol-repr/visual.js +11 -7
  666. package/lib/mol-repr/volume/direct-volume.d.ts +33 -57
  667. package/lib/mol-repr/volume/direct-volume.js +8 -12
  668. package/lib/mol-repr/volume/isosurface.d.ts +60 -0
  669. package/lib/mol-repr/volume/isosurface.js +11 -2
  670. package/lib/mol-repr/volume/registry.d.ts +31 -19
  671. package/lib/mol-repr/volume/representation.d.ts +10 -0
  672. package/lib/mol-repr/volume/slice.d.ts +30 -0
  673. package/lib/mol-repr/volume/slice.js +2 -2
  674. package/lib/mol-repr/volume/util.js +2 -2
  675. package/lib/mol-script/language/builder.d.ts +0 -1
  676. package/lib/mol-theme/clipping.d.ts +7 -15
  677. package/lib/mol-theme/clipping.js +5 -12
  678. package/lib/mol-theme/color/volume-value.d.ts +17 -0
  679. package/lib/mol-theme/color/volume-value.js +52 -0
  680. package/lib/mol-theme/color.d.ts +3 -0
  681. package/lib/mol-theme/color.js +2 -0
  682. package/lib/mol-util/clip.d.ts +49 -0
  683. package/lib/mol-util/clip.js +93 -0
  684. package/lib/mol-util/number-packing.d.ts +11 -0
  685. package/lib/mol-util/{float-packing.js → number-packing.js} +7 -14
  686. package/package.json +162 -162
  687. package/lib/commonjs/mol-util/float-packing.d.ts +0 -15
  688. package/lib/mol-util/float-packing.d.ts +0 -15
@@ -10,6 +10,7 @@ import { Loci } from '../../../../mol-model/loci';
10
10
  import { ParamDefinition as PD } from '../../../../mol-util/param-definition';
11
11
  import { AssignableArrayLike } from '../../../../mol-util/type-helpers';
12
12
  import { Box3D } from '../../../../mol-math/geometry';
13
+ import { SizeTheme } from '../../../../mol-theme/size';
13
14
  /** Return a Loci for the elements of a whole residue the elementIndex belongs to. */
14
15
  export declare function getResidueLoci(structure: Structure, unit: Unit.Atomic, elementIndex: ElementIndex): Loci;
15
16
  /**
@@ -60,7 +61,7 @@ export declare const DefaultCommonSurfaceProps: PD.Values<{
60
61
  includeParent: PD.BooleanParam;
61
62
  }>;
62
63
  export declare type CommonSurfaceProps = typeof DefaultCommonSurfaceProps;
63
- export declare function getUnitConformationAndRadius(structure: Structure, unit: Unit, props: CommonSurfaceProps): {
64
+ export declare function getUnitConformationAndRadius(structure: Structure, unit: Unit, sizeTheme: SizeTheme<any>, props: CommonSurfaceProps): {
64
65
  position: {
65
66
  indices: SortedArray<ElementIndex>;
66
67
  x: ArrayLike<number>;
@@ -71,7 +72,7 @@ export declare function getUnitConformationAndRadius(structure: Structure, unit:
71
72
  boundary: import("../../../../mol-math/geometry/boundary").Boundary;
72
73
  radius: (index: number) => number;
73
74
  };
74
- export declare function getStructureConformationAndRadius(structure: Structure, ignoreHydrogens: boolean, traceOnly: boolean): {
75
+ export declare function getStructureConformationAndRadius(structure: Structure, sizeTheme: SizeTheme<any>, ignoreHydrogens: boolean, traceOnly: boolean): {
75
76
  position: {
76
77
  indices: OrderedSet<number>;
77
78
  x: ArrayLike<number>;
@@ -12,7 +12,6 @@ var linear_algebra_1 = require("../../../../mol-math/linear-algebra");
12
12
  var transform_data_1 = require("../../../../mol-geo/geometry/transform-data");
13
13
  var int_1 = require("../../../../mol-data/int");
14
14
  var loci_1 = require("../../../../mol-model/loci");
15
- var physical_1 = require("../../../../mol-theme/size/physical");
16
15
  var atomic_1 = require("../../../../mol-model/structure/model/properties/atomic");
17
16
  var array_1 = require("../../../../mol-util/array");
18
17
  var param_definition_1 = require("../../../../mol-util/param-definition");
@@ -160,7 +159,7 @@ function filterId(id, elements, indices) {
160
159
  }
161
160
  }
162
161
  }
163
- function getUnitConformationAndRadius(structure, unit, props) {
162
+ function getUnitConformationAndRadius(structure, unit, sizeTheme, props) {
164
163
  var ignoreHydrogens = props.ignoreHydrogens, traceOnly = props.traceOnly, includeParent = props.includeParent;
165
164
  var rootUnit = includeParent ? structure.root.unitMap.get(unit.id) : unit;
166
165
  var _a = getConformation(rootUnit), x = _a.x, y = _a.y, z = _a.z;
@@ -197,7 +196,6 @@ function getUnitConformationAndRadius(structure, unit, props) {
197
196
  var position = { indices: indices, x: x, y: y, z: z, id: id };
198
197
  var boundary = unit === rootUnit ? unit.boundary : (0, boundary_1.getBoundary)(position);
199
198
  var l = structure_1.StructureElement.Location.create(structure, rootUnit);
200
- var sizeTheme = (0, physical_1.PhysicalSizeTheme)({}, { scale: 1 });
201
199
  var radius = function (index) {
202
200
  l.element = index;
203
201
  return sizeTheme.size(l);
@@ -205,9 +203,8 @@ function getUnitConformationAndRadius(structure, unit, props) {
205
203
  return { position: position, boundary: boundary, radius: radius };
206
204
  }
207
205
  exports.getUnitConformationAndRadius = getUnitConformationAndRadius;
208
- function getStructureConformationAndRadius(structure, ignoreHydrogens, traceOnly) {
206
+ function getStructureConformationAndRadius(structure, sizeTheme, ignoreHydrogens, traceOnly) {
209
207
  var l = structure_1.StructureElement.Location.create(structure);
210
- var sizeTheme = (0, physical_1.PhysicalSizeTheme)({}, { scale: 1 });
211
208
  var xs;
212
209
  var ys;
213
210
  var zs;
@@ -8,6 +8,7 @@ import { Task } from '../../../../mol-task';
8
8
  import { ParamDefinition as PD } from '../../../../mol-util/param-definition';
9
9
  import { Texture } from '../../../../mol-gl/webgl/texture';
10
10
  import { WebGLContext } from '../../../../mol-gl/webgl/context';
11
+ import { SizeTheme } from '../../../../mol-theme/size';
11
12
  export declare const GaussianDensityParams: {
12
13
  ignoreHydrogens: PD.BooleanParam;
13
14
  traceOnly: PD.BooleanParam;
@@ -26,9 +27,9 @@ export declare const DefaultGaussianDensityProps: PD.Values<{
26
27
  }>;
27
28
  export declare type GaussianDensityProps = typeof DefaultGaussianDensityProps;
28
29
  export declare function getTextureMaxCells(webgl: WebGLContext, structure?: Structure): number;
29
- export declare function computeUnitGaussianDensity(structure: Structure, unit: Unit, props: GaussianDensityProps): Task<import("../../../../mol-math/geometry/gaussian-density").GaussianDensityData>;
30
- export declare function computeUnitGaussianDensityTexture(structure: Structure, unit: Unit, props: GaussianDensityProps, webgl: WebGLContext, texture?: Texture): Task<import("../../../../mol-math/geometry/gaussian-density").GaussianDensityTextureData>;
31
- export declare function computeUnitGaussianDensityTexture2d(structure: Structure, unit: Unit, powerOfTwo: boolean, props: GaussianDensityProps, webgl: WebGLContext, texture?: Texture): Task<import("../../../../mol-math/geometry/gaussian-density").GaussianDensityTextureData>;
32
- export declare function computeStructureGaussianDensity(structure: Structure, props: GaussianDensityProps): Task<import("../../../../mol-math/geometry/gaussian-density").GaussianDensityData>;
33
- export declare function computeStructureGaussianDensityTexture(structure: Structure, props: GaussianDensityProps, webgl: WebGLContext, texture?: Texture): Task<import("../../../../mol-math/geometry/gaussian-density").GaussianDensityTextureData>;
34
- export declare function computeStructureGaussianDensityTexture2d(structure: Structure, powerOfTwo: boolean, props: GaussianDensityProps, webgl: WebGLContext, texture?: Texture): Task<import("../../../../mol-math/geometry/gaussian-density").GaussianDensityTextureData>;
30
+ export declare function computeUnitGaussianDensity(structure: Structure, unit: Unit, sizeTheme: SizeTheme<any>, props: GaussianDensityProps): Task<import("../../../../mol-math/geometry/gaussian-density").GaussianDensityData>;
31
+ export declare function computeUnitGaussianDensityTexture(structure: Structure, unit: Unit, sizeTheme: SizeTheme<any>, props: GaussianDensityProps, webgl: WebGLContext, texture?: Texture): Task<import("../../../../mol-math/geometry/gaussian-density").GaussianDensityTextureData>;
32
+ export declare function computeUnitGaussianDensityTexture2d(structure: Structure, unit: Unit, sizeTheme: SizeTheme<any>, powerOfTwo: boolean, props: GaussianDensityProps, webgl: WebGLContext, texture?: Texture): Task<import("../../../../mol-math/geometry/gaussian-density").GaussianDensityTextureData>;
33
+ export declare function computeStructureGaussianDensity(structure: Structure, sizeTheme: SizeTheme<any>, props: GaussianDensityProps): Task<import("../../../../mol-math/geometry/gaussian-density").GaussianDensityData>;
34
+ export declare function computeStructureGaussianDensityTexture(structure: Structure, sizeTheme: SizeTheme<any>, props: GaussianDensityProps, webgl: WebGLContext, texture?: Texture): Task<import("../../../../mol-math/geometry/gaussian-density").GaussianDensityTextureData>;
35
+ export declare function computeStructureGaussianDensityTexture2d(structure: Structure, sizeTheme: SizeTheme<any>, powerOfTwo: boolean, props: GaussianDensityProps, webgl: WebGLContext, texture?: Texture): Task<import("../../../../mol-math/geometry/gaussian-density").GaussianDensityTextureData>;
@@ -22,11 +22,11 @@ function getTextureMaxCells(webgl, structure) {
22
22
  }
23
23
  exports.getTextureMaxCells = getTextureMaxCells;
24
24
  //
25
- function computeUnitGaussianDensity(structure, unit, props) {
25
+ function computeUnitGaussianDensity(structure, unit, sizeTheme, props) {
26
26
  var _this = this;
27
27
  var box = unit.lookup3d.boundary.box;
28
28
  var p = (0, common_1.ensureReasonableResolution)(box, props);
29
- var _a = (0, common_1.getUnitConformationAndRadius)(structure, unit, p), position = _a.position, radius = _a.radius;
29
+ var _a = (0, common_1.getUnitConformationAndRadius)(structure, unit, sizeTheme, p), position = _a.position, radius = _a.radius;
30
30
  return mol_task_1.Task.create('Gaussian Density', function (ctx) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
31
31
  return (0, tslib_1.__generator)(this, function (_a) {
32
32
  switch (_a.label) {
@@ -37,11 +37,11 @@ function computeUnitGaussianDensity(structure, unit, props) {
37
37
  }); });
38
38
  }
39
39
  exports.computeUnitGaussianDensity = computeUnitGaussianDensity;
40
- function computeUnitGaussianDensityTexture(structure, unit, props, webgl, texture) {
40
+ function computeUnitGaussianDensityTexture(structure, unit, sizeTheme, props, webgl, texture) {
41
41
  var _this = this;
42
42
  var box = unit.lookup3d.boundary.box;
43
43
  var p = (0, common_1.ensureReasonableResolution)(box, props, getTextureMaxCells(webgl, structure));
44
- var _a = (0, common_1.getUnitConformationAndRadius)(structure, unit, p), position = _a.position, radius = _a.radius;
44
+ var _a = (0, common_1.getUnitConformationAndRadius)(structure, unit, sizeTheme, p), position = _a.position, radius = _a.radius;
45
45
  return mol_task_1.Task.create('Gaussian Density', function (ctx) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
46
46
  return (0, tslib_1.__generator)(this, function (_a) {
47
47
  return [2 /*return*/, (0, gpu_1.GaussianDensityTexture)(webgl, position, box, radius, p, texture)];
@@ -49,11 +49,11 @@ function computeUnitGaussianDensityTexture(structure, unit, props, webgl, textur
49
49
  }); });
50
50
  }
51
51
  exports.computeUnitGaussianDensityTexture = computeUnitGaussianDensityTexture;
52
- function computeUnitGaussianDensityTexture2d(structure, unit, powerOfTwo, props, webgl, texture) {
52
+ function computeUnitGaussianDensityTexture2d(structure, unit, sizeTheme, powerOfTwo, props, webgl, texture) {
53
53
  var _this = this;
54
54
  var box = unit.lookup3d.boundary.box;
55
55
  var p = (0, common_1.ensureReasonableResolution)(box, props, getTextureMaxCells(webgl, structure));
56
- var _a = (0, common_1.getUnitConformationAndRadius)(structure, unit, p), position = _a.position, radius = _a.radius;
56
+ var _a = (0, common_1.getUnitConformationAndRadius)(structure, unit, sizeTheme, p), position = _a.position, radius = _a.radius;
57
57
  return mol_task_1.Task.create('Gaussian Density', function (ctx) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
58
58
  return (0, tslib_1.__generator)(this, function (_a) {
59
59
  return [2 /*return*/, (0, gpu_1.GaussianDensityTexture2d)(webgl, position, box, radius, powerOfTwo, p, texture)];
@@ -62,11 +62,11 @@ function computeUnitGaussianDensityTexture2d(structure, unit, powerOfTwo, props,
62
62
  }
63
63
  exports.computeUnitGaussianDensityTexture2d = computeUnitGaussianDensityTexture2d;
64
64
  //
65
- function computeStructureGaussianDensity(structure, props) {
65
+ function computeStructureGaussianDensity(structure, sizeTheme, props) {
66
66
  var _this = this;
67
67
  var box = structure.lookup3d.boundary.box;
68
68
  var p = (0, common_1.ensureReasonableResolution)(box, props);
69
- var _a = (0, common_1.getStructureConformationAndRadius)(structure, props.ignoreHydrogens, props.traceOnly), position = _a.position, radius = _a.radius;
69
+ var _a = (0, common_1.getStructureConformationAndRadius)(structure, sizeTheme, props.ignoreHydrogens, props.traceOnly), position = _a.position, radius = _a.radius;
70
70
  return mol_task_1.Task.create('Gaussian Density', function (ctx) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
71
71
  return (0, tslib_1.__generator)(this, function (_a) {
72
72
  switch (_a.label) {
@@ -77,11 +77,11 @@ function computeStructureGaussianDensity(structure, props) {
77
77
  }); });
78
78
  }
79
79
  exports.computeStructureGaussianDensity = computeStructureGaussianDensity;
80
- function computeStructureGaussianDensityTexture(structure, props, webgl, texture) {
80
+ function computeStructureGaussianDensityTexture(structure, sizeTheme, props, webgl, texture) {
81
81
  var _this = this;
82
82
  var box = structure.lookup3d.boundary.box;
83
83
  var p = (0, common_1.ensureReasonableResolution)(box, props, getTextureMaxCells(webgl));
84
- var _a = (0, common_1.getStructureConformationAndRadius)(structure, props.ignoreHydrogens, props.traceOnly), position = _a.position, radius = _a.radius;
84
+ var _a = (0, common_1.getStructureConformationAndRadius)(structure, sizeTheme, props.ignoreHydrogens, props.traceOnly), position = _a.position, radius = _a.radius;
85
85
  return mol_task_1.Task.create('Gaussian Density', function (ctx) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
86
86
  return (0, tslib_1.__generator)(this, function (_a) {
87
87
  return [2 /*return*/, (0, gpu_1.GaussianDensityTexture)(webgl, position, box, radius, p, texture)];
@@ -89,11 +89,11 @@ function computeStructureGaussianDensityTexture(structure, props, webgl, texture
89
89
  }); });
90
90
  }
91
91
  exports.computeStructureGaussianDensityTexture = computeStructureGaussianDensityTexture;
92
- function computeStructureGaussianDensityTexture2d(structure, powerOfTwo, props, webgl, texture) {
92
+ function computeStructureGaussianDensityTexture2d(structure, sizeTheme, powerOfTwo, props, webgl, texture) {
93
93
  var _this = this;
94
94
  var box = structure.lookup3d.boundary.box;
95
95
  var p = (0, common_1.ensureReasonableResolution)(box, props, getTextureMaxCells(webgl));
96
- var _a = (0, common_1.getStructureConformationAndRadius)(structure, props.ignoreHydrogens, props.traceOnly), position = _a.position, radius = _a.radius;
96
+ var _a = (0, common_1.getStructureConformationAndRadius)(structure, sizeTheme, props.ignoreHydrogens, props.traceOnly), position = _a.position, radius = _a.radius;
97
97
  return mol_task_1.Task.create('Gaussian Density', function (ctx) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
98
98
  return (0, tslib_1.__generator)(this, function (_a) {
99
99
  return [2 /*return*/, (0, gpu_1.GaussianDensityTexture2d)(webgl, position, box, radius, powerOfTwo, p, texture)];
@@ -8,5 +8,6 @@ import { Task } from '../../../../mol-task';
8
8
  import { CommonSurfaceProps } from './common';
9
9
  import { DensityData } from '../../../../mol-math/geometry';
10
10
  import { MolecularSurfaceCalculationProps } from '../../../../mol-math/geometry/molecular-surface';
11
+ import { SizeTheme } from '../../../../mol-theme/size';
11
12
  export declare type MolecularSurfaceProps = MolecularSurfaceCalculationProps & CommonSurfaceProps;
12
- export declare function computeUnitMolecularSurface(structure: Structure, unit: Unit, props: MolecularSurfaceProps): Task<DensityData>;
13
+ export declare function computeUnitMolecularSurface(structure: Structure, unit: Unit, sizeTheme: SizeTheme<any>, props: MolecularSurfaceProps): Task<DensityData>;
@@ -11,9 +11,9 @@ var mol_task_1 = require("../../../../mol-task");
11
11
  var common_1 = require("./common");
12
12
  var molecular_surface_1 = require("../../../../mol-math/geometry/molecular-surface");
13
13
  var int_1 = require("../../../../mol-data/int");
14
- function getPositionDataAndMaxRadius(structure, unit, props) {
14
+ function getPositionDataAndMaxRadius(structure, unit, sizeTheme, props) {
15
15
  var probeRadius = props.probeRadius;
16
- var _a = (0, common_1.getUnitConformationAndRadius)(structure, unit, props), position = _a.position, boundary = _a.boundary, radius = _a.radius;
16
+ var _a = (0, common_1.getUnitConformationAndRadius)(structure, unit, sizeTheme, props), position = _a.position, boundary = _a.boundary, radius = _a.radius;
17
17
  var indices = position.indices;
18
18
  var n = int_1.OrderedSet.size(indices);
19
19
  var radii = new Float32Array(int_1.OrderedSet.end(indices));
@@ -27,11 +27,11 @@ function getPositionDataAndMaxRadius(structure, unit, props) {
27
27
  }
28
28
  return { position: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, position), { radius: radii }), boundary: boundary, maxRadius: maxRadius };
29
29
  }
30
- function computeUnitMolecularSurface(structure, unit, props) {
30
+ function computeUnitMolecularSurface(structure, unit, sizeTheme, props) {
31
31
  var _this = this;
32
32
  var box = unit.lookup3d.boundary.box;
33
33
  var p = (0, common_1.ensureReasonableResolution)(box, props);
34
- var _a = getPositionDataAndMaxRadius(structure, unit, p), position = _a.position, boundary = _a.boundary, maxRadius = _a.maxRadius;
34
+ var _a = getPositionDataAndMaxRadius(structure, unit, sizeTheme, p), position = _a.position, boundary = _a.boundary, maxRadius = _a.maxRadius;
35
35
  return mol_task_1.Task.create('Molecular Surface', function (ctx) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
36
36
  return (0, tslib_1.__generator)(this, function (_a) {
37
37
  switch (_a.label) {
@@ -46,7 +46,7 @@ var Visual;
46
46
  function mark(renderObject, loci, action, lociApply, previous) {
47
47
  if (!renderObject || (0, loci_1.isEmptyLoci)(loci))
48
48
  return false;
49
- var _a = renderObject.values, tMarker = _a.tMarker, dMarkerType = _a.dMarkerType, uMarker = _a.uMarker, markerAverage = _a.markerAverage, markerStatus = _a.markerStatus, uGroupCount = _a.uGroupCount, instanceCount = _a.instanceCount;
49
+ var _a = renderObject.values, tMarker = _a.tMarker, uMarker = _a.uMarker, markerAverage = _a.markerAverage, markerStatus = _a.markerStatus, uGroupCount = _a.uGroupCount, instanceCount = _a.instanceCount;
50
50
  var count = uGroupCount.ref.value * instanceCount.ref.value;
51
51
  var array = tMarker.ref.value.array;
52
52
  var currentStatus = markerStatus.ref.value;
@@ -103,7 +103,6 @@ var Visual;
103
103
  mol_util_1.ValueCell.updateIfChanged(uMarker, status);
104
104
  if (status === -1)
105
105
  mol_util_1.ValueCell.update(tMarker, tMarker.ref.value);
106
- mol_util_1.ValueCell.updateIfChanged(dMarkerType, status === -1 ? 'groupInstance' : 'uniform');
107
106
  mol_util_1.ValueCell.updateIfChanged(markerAverage, average);
108
107
  mol_util_1.ValueCell.updateIfChanged(markerStatus, status);
109
108
  }
@@ -113,7 +112,7 @@ var Visual;
113
112
  function setOverpaint(renderObject, overpaint, lociApply, clear, smoothing) {
114
113
  if (!renderObject)
115
114
  return;
116
- var _a = renderObject.values, tOverpaint = _a.tOverpaint, dOverpaintType = _a.dOverpaintType, uGroupCount = _a.uGroupCount, instanceCount = _a.instanceCount;
115
+ var _a = renderObject.values, tOverpaint = _a.tOverpaint, dOverpaintType = _a.dOverpaintType, dOverpaint = _a.dOverpaint, uGroupCount = _a.uGroupCount, instanceCount = _a.instanceCount;
117
116
  var count = uGroupCount.ref.value * instanceCount.ref.value;
118
117
  // ensure texture has right size
119
118
  (0, overpaint_data_1.createOverpaint)(overpaint.layers.length ? count : 0, renderObject.values);
@@ -137,6 +136,7 @@ var Visual;
137
136
  }
138
137
  mol_util_1.ValueCell.update(tOverpaint, tOverpaint.ref.value);
139
138
  mol_util_1.ValueCell.updateIfChanged(dOverpaintType, 'groupInstance');
139
+ mol_util_1.ValueCell.updateIfChanged(dOverpaint, overpaint.layers.length > 0);
140
140
  if (overpaint.layers.length === 0)
141
141
  return;
142
142
  if (smoothing && (0, base_1.hasColorSmoothingProp)(smoothing.props)) {
@@ -163,7 +163,7 @@ var Visual;
163
163
  function setTransparency(renderObject, transparency, lociApply, clear, smoothing) {
164
164
  if (!renderObject)
165
165
  return;
166
- var _a = renderObject.values, tTransparency = _a.tTransparency, dTransparencyType = _a.dTransparencyType, transparencyAverage = _a.transparencyAverage, uGroupCount = _a.uGroupCount, instanceCount = _a.instanceCount;
166
+ var _a = renderObject.values, tTransparency = _a.tTransparency, dTransparencyType = _a.dTransparencyType, transparencyAverage = _a.transparencyAverage, dTransparency = _a.dTransparency, uGroupCount = _a.uGroupCount, instanceCount = _a.instanceCount;
167
167
  var count = uGroupCount.ref.value * instanceCount.ref.value;
168
168
  // ensure texture has right size and variant
169
169
  (0, transparency_data_1.createTransparency)(transparency.layers.length ? count : 0, renderObject.values);
@@ -186,6 +186,7 @@ var Visual;
186
186
  mol_util_1.ValueCell.update(tTransparency, tTransparency.ref.value);
187
187
  mol_util_1.ValueCell.updateIfChanged(transparencyAverage, (0, transparency_data_1.getTransparencyAverage)(array, count));
188
188
  mol_util_1.ValueCell.updateIfChanged(dTransparencyType, 'groupInstance');
189
+ mol_util_1.ValueCell.updateIfChanged(dTransparency, transparency.layers.length > 0);
189
190
  if (transparency.layers.length === 0)
190
191
  return;
191
192
  if (smoothing && (0, base_1.hasColorSmoothingProp)(smoothing.props)) {
@@ -212,7 +213,7 @@ var Visual;
212
213
  function setSubstance(renderObject, substance, lociApply, clear, smoothing) {
213
214
  if (!renderObject)
214
215
  return;
215
- var _a = renderObject.values, tSubstance = _a.tSubstance, dSubstanceType = _a.dSubstanceType, uGroupCount = _a.uGroupCount, instanceCount = _a.instanceCount;
216
+ var _a = renderObject.values, tSubstance = _a.tSubstance, dSubstanceType = _a.dSubstanceType, dSubstance = _a.dSubstance, uGroupCount = _a.uGroupCount, instanceCount = _a.instanceCount;
216
217
  var count = uGroupCount.ref.value * instanceCount.ref.value;
217
218
  // ensure texture has right size
218
219
  (0, substance_data_1.createSubstance)(substance.layers.length ? count : 0, renderObject.values);
@@ -236,6 +237,7 @@ var Visual;
236
237
  }
237
238
  mol_util_1.ValueCell.update(tSubstance, tSubstance.ref.value);
238
239
  mol_util_1.ValueCell.updateIfChanged(dSubstanceType, 'groupInstance');
240
+ mol_util_1.ValueCell.updateIfChanged(dSubstance, substance.layers.length > 0);
239
241
  if (substance.layers.length === 0)
240
242
  return;
241
243
  if (smoothing && (0, base_1.hasColorSmoothingProp)(smoothing.props)) {
@@ -262,10 +264,11 @@ var Visual;
262
264
  function setClipping(renderObject, clipping, lociApply, clear) {
263
265
  if (!renderObject)
264
266
  return;
265
- var _a = renderObject.values, tClipping = _a.tClipping, uGroupCount = _a.uGroupCount, instanceCount = _a.instanceCount;
267
+ var _a = renderObject.values, tClipping = _a.tClipping, dClipping = _a.dClipping, uGroupCount = _a.uGroupCount, instanceCount = _a.instanceCount;
266
268
  var count = uGroupCount.ref.value * instanceCount.ref.value;
269
+ var layers = clipping.layers;
267
270
  // ensure texture has right size
268
- (0, clipping_data_1.createClipping)(clipping.layers.length ? count : 0, renderObject.values);
271
+ (0, clipping_data_1.createClipping)(layers.length ? count : 0, renderObject.values);
269
272
  var array = tClipping.ref.value.array;
270
273
  // clear if requested
271
274
  if (clear)
@@ -283,6 +286,7 @@ var Visual;
283
286
  _loop_4(i, il);
284
287
  }
285
288
  mol_util_1.ValueCell.update(tClipping, tClipping.ref.value);
289
+ mol_util_1.ValueCell.updateIfChanged(dClipping, clipping.layers.length > 0);
286
290
  }
287
291
  Visual.setClipping = setClipping;
288
292
  function setTransform(renderObject, transform, instanceTransforms) {
@@ -46,27 +46,9 @@ export declare const DirectVolumeParams: {
46
46
  legend?: import("../../mol-util/legend").Legend | undefined;
47
47
  }) | undefined;
48
48
  };
49
- doubleSided: PD.BooleanParam;
50
- flipSided: PD.BooleanParam;
51
- flatShaded: PD.BooleanParam;
52
49
  ignoreLight: PD.BooleanParam;
53
50
  xrayShaded: PD.BooleanParam;
54
- renderMode: PD.Mapped<PD.NamedParams<PD.Normalize<{
55
- controlPoints: import("../../mol-math/linear-algebra/3d/vec2").Vec2[];
56
- list: {
57
- kind: "set" | "interpolate";
58
- colors: import("../../mol-util/color/color").ColorListEntry[];
59
- };
60
- }>, "volume"> | PD.NamedParams<PD.Normalize<{
61
- isoValue: Readonly<{
62
- kind: "absolute";
63
- absoluteValue: number;
64
- }> | Readonly<{
65
- kind: "relative";
66
- relativeValue: number;
67
- }>;
68
- singleLayer: boolean;
69
- }>, "isosurface">>;
51
+ controlPoints: PD.LineGraph;
70
52
  stepsPerCell: PD.Numeric;
71
53
  jumpLength: PD.Numeric;
72
54
  alpha: PD.Numeric;
@@ -75,6 +57,16 @@ export declare const DirectVolumeParams: {
75
57
  roughness: number;
76
58
  bumpiness: number;
77
59
  }>>;
60
+ clip: PD.Group<PD.Normalize<{
61
+ variant: import("../../mol-util/clip").Clip.Variant;
62
+ objects: PD.Normalize<{
63
+ type: any;
64
+ invert: any;
65
+ position: any;
66
+ rotation: any;
67
+ scale: any;
68
+ }>[];
69
+ }>>;
78
70
  };
79
71
  export declare type DirectVolumeParams = typeof DirectVolumeParams;
80
72
  export declare function getDirectVolumeParams(ctx: ThemeRegistryContext, volume: Volume): {
@@ -101,27 +93,9 @@ export declare function getDirectVolumeParams(ctx: ThemeRegistryContext, volume:
101
93
  legend?: import("../../mol-util/legend").Legend | undefined;
102
94
  }) | undefined;
103
95
  };
104
- doubleSided: PD.BooleanParam;
105
- flipSided: PD.BooleanParam;
106
- flatShaded: PD.BooleanParam;
107
96
  ignoreLight: PD.BooleanParam;
108
97
  xrayShaded: PD.BooleanParam;
109
- renderMode: PD.Mapped<PD.NamedParams<PD.Normalize<{
110
- controlPoints: import("../../mol-math/linear-algebra/3d/vec2").Vec2[];
111
- list: {
112
- kind: "set" | "interpolate";
113
- colors: import("../../mol-util/color/color").ColorListEntry[];
114
- };
115
- }>, "volume"> | PD.NamedParams<PD.Normalize<{
116
- isoValue: Readonly<{
117
- kind: "absolute";
118
- absoluteValue: number;
119
- }> | Readonly<{
120
- kind: "relative";
121
- relativeValue: number;
122
- }>;
123
- singleLayer: boolean;
124
- }>, "isosurface">>;
98
+ controlPoints: PD.LineGraph;
125
99
  stepsPerCell: PD.Numeric;
126
100
  jumpLength: PD.Numeric;
127
101
  alpha: PD.Numeric;
@@ -130,6 +104,16 @@ export declare function getDirectVolumeParams(ctx: ThemeRegistryContext, volume:
130
104
  roughness: number;
131
105
  bumpiness: number;
132
106
  }>>;
107
+ clip: PD.Group<PD.Normalize<{
108
+ variant: import("../../mol-util/clip").Clip.Variant;
109
+ objects: PD.Normalize<{
110
+ type: any;
111
+ invert: any;
112
+ position: any;
113
+ rotation: any;
114
+ scale: any;
115
+ }>[];
116
+ }>>;
133
117
  };
134
118
  export declare type DirectVolumeProps = PD.Values<DirectVolumeParams>;
135
119
  export declare function DirectVolumeVisual(materialId: number): VolumeVisual<DirectVolumeParams>;
@@ -158,27 +142,9 @@ export declare const DirectVolumeRepresentationProvider: VolumeRepresentationPro
158
142
  legend?: import("../../mol-util/legend").Legend | undefined;
159
143
  }) | undefined;
160
144
  };
161
- doubleSided: PD.BooleanParam;
162
- flipSided: PD.BooleanParam;
163
- flatShaded: PD.BooleanParam;
164
145
  ignoreLight: PD.BooleanParam;
165
146
  xrayShaded: PD.BooleanParam;
166
- renderMode: PD.Mapped<PD.NamedParams<PD.Normalize<{
167
- controlPoints: import("../../mol-math/linear-algebra/3d/vec2").Vec2[];
168
- list: {
169
- kind: "set" | "interpolate";
170
- colors: import("../../mol-util/color/color").ColorListEntry[];
171
- };
172
- }>, "volume"> | PD.NamedParams<PD.Normalize<{
173
- isoValue: Readonly<{
174
- kind: "absolute";
175
- absoluteValue: number;
176
- }> | Readonly<{
177
- kind: "relative";
178
- relativeValue: number;
179
- }>;
180
- singleLayer: boolean;
181
- }>, "isosurface">>;
147
+ controlPoints: PD.LineGraph;
182
148
  stepsPerCell: PD.Numeric;
183
149
  jumpLength: PD.Numeric;
184
150
  alpha: PD.Numeric;
@@ -187,4 +153,14 @@ export declare const DirectVolumeRepresentationProvider: VolumeRepresentationPro
187
153
  roughness: number;
188
154
  bumpiness: number;
189
155
  }>>;
156
+ clip: PD.Group<PD.Normalize<{
157
+ variant: import("../../mol-util/clip").Clip.Variant;
158
+ objects: PD.Normalize<{
159
+ type: any;
160
+ invert: any;
161
+ position: any;
162
+ rotation: any;
163
+ scale: any;
164
+ }>[];
165
+ }>>;
190
166
  }, "direct-volume">;
@@ -38,7 +38,8 @@ function createDirectVolume2d(ctx, webgl, volume, directVolume) {
38
38
  var texture = directVolume ? directVolume.gridTexture.ref.value : webgl.resources.texture('image-uint8', 'rgba', 'ubyte', 'linear');
39
39
  texture.load(textureImage);
40
40
  var _b = getUnitToCartn(volume.grid), unitToCartn = _b.unitToCartn, cellDim = _b.cellDim;
41
- return direct_volume_1.DirectVolume.create(bbox, gridDimension, transform, unitToCartn, cellDim, texture, volume.grid.stats, false, directVolume);
41
+ var axisOrder = volume.grid.cells.space.axisOrderSlowToFast;
42
+ return direct_volume_1.DirectVolume.create(bbox, gridDimension, transform, unitToCartn, cellDim, texture, volume.grid.stats, false, axisOrder, directVolume);
42
43
  }
43
44
  exports.createDirectVolume2d = createDirectVolume2d;
44
45
  // 3d volume texture
@@ -67,7 +68,8 @@ function createDirectVolume3d(ctx, webgl, volume, directVolume) {
67
68
  var texture = directVolume ? directVolume.gridTexture.ref.value : webgl.resources.texture('volume-uint8', 'rgba', 'ubyte', 'linear');
68
69
  texture.load(textureVolume);
69
70
  var _a = getUnitToCartn(volume.grid), unitToCartn = _a.unitToCartn, cellDim = _a.cellDim;
70
- return direct_volume_1.DirectVolume.create(bbox, gridDimension, transform, unitToCartn, cellDim, texture, volume.grid.stats, false, directVolume);
71
+ var axisOrder = volume.grid.cells.space.axisOrderSlowToFast;
72
+ return direct_volume_1.DirectVolume.create(bbox, gridDimension, transform, unitToCartn, cellDim, texture, volume.grid.stats, false, axisOrder, directVolume);
71
73
  }
72
74
  exports.createDirectVolume3d = createDirectVolume3d;
73
75
  //
@@ -86,9 +88,7 @@ function createDirectVolume(ctx, volume, theme, props, directVolume) {
86
88
  }
87
89
  exports.createDirectVolume = createDirectVolume;
88
90
  function getLoci(volume, props) {
89
- return props.renderMode.name === 'isosurface'
90
- ? volume_1.Volume.Isosurface.Loci(volume, props.renderMode.params.isoValue)
91
- : volume_1.Volume.Loci(volume);
91
+ return volume_1.Volume.Loci(volume);
92
92
  }
93
93
  function getDirectVolumeLoci(pickingId, volume, props, id) {
94
94
  var objectId = pickingId.objectId, groupId = pickingId.groupId;
@@ -99,17 +99,13 @@ function getDirectVolumeLoci(pickingId, volume, props, id) {
99
99
  }
100
100
  exports.getDirectVolumeLoci = getDirectVolumeLoci;
101
101
  function eachDirectVolume(loci, volume, props, apply) {
102
- var isoValue = props.renderMode.name === 'isosurface'
103
- ? props.renderMode.params.isoValue : undefined;
104
- return (0, util_1.eachVolumeLoci)(loci, volume, isoValue, apply);
102
+ return (0, util_1.eachVolumeLoci)(loci, volume, undefined, apply);
105
103
  }
106
104
  exports.eachDirectVolume = eachDirectVolume;
107
105
  //
108
106
  exports.DirectVolumeParams = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, direct_volume_1.DirectVolume.Params), { quality: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, direct_volume_1.DirectVolume.Params.quality), { isEssential: false }) });
109
107
  function getDirectVolumeParams(ctx, volume) {
110
- var p = param_definition_1.ParamDefinition.clone(exports.DirectVolumeParams);
111
- p.renderMode = direct_volume_1.DirectVolume.createRenderModeParam(volume.grid.stats);
112
- return p;
108
+ return param_definition_1.ParamDefinition.clone(exports.DirectVolumeParams);
113
109
  }
114
110
  exports.getDirectVolumeParams = getDirectVolumeParams;
115
111
  function DirectVolumeVisual(materialId) {
@@ -139,7 +135,7 @@ exports.DirectVolumeRepresentationProvider = (0, representation_1.VolumeRepresen
139
135
  factory: DirectVolumeRepresentation,
140
136
  getParams: getDirectVolumeParams,
141
137
  defaultValues: param_definition_1.ParamDefinition.getDefaultValues(exports.DirectVolumeParams),
142
- defaultColorTheme: { name: 'uniform' },
138
+ defaultColorTheme: { name: 'volume-value' },
143
139
  defaultSizeTheme: { name: 'uniform' },
144
140
  isApplicable: function (volume) { return !volume_1.Volume.isEmpty(volume); }
145
141
  });
@@ -101,6 +101,16 @@ export declare function IsosurfaceVisual(materialId: number, volume: Volume, pro
101
101
  roughness: number;
102
102
  bumpiness: number;
103
103
  }>>;
104
+ clip: PD.Group<PD.Normalize<{
105
+ variant: import("../../mol-util/clip").Clip.Variant;
106
+ objects: PD.Normalize<{
107
+ type: any;
108
+ invert: any;
109
+ position: any;
110
+ rotation: any;
111
+ scale: any;
112
+ }>[];
113
+ }>>;
104
114
  }>;
105
115
  export declare function eachIsosurface(loci: Loci, volume: Volume, props: VolumeIsosurfaceProps, apply: (interval: Interval) => boolean): boolean;
106
116
  export declare function createVolumeIsosurfaceMesh(ctx: VisualContext, volume: Volume, theme: Theme, props: VolumeIsosurfaceProps, mesh?: Mesh): Promise<Mesh>;
@@ -164,6 +174,16 @@ export declare const IsosurfaceMeshParams: {
164
174
  roughness: number;
165
175
  bumpiness: number;
166
176
  }>>;
177
+ clip: PD.Group<PD.Normalize<{
178
+ variant: import("../../mol-util/clip").Clip.Variant;
179
+ objects: PD.Normalize<{
180
+ type: any;
181
+ invert: any;
182
+ position: any;
183
+ rotation: any;
184
+ scale: any;
185
+ }>[];
186
+ }>>;
167
187
  };
168
188
  export declare type IsosurfaceMeshParams = typeof IsosurfaceMeshParams;
169
189
  export declare function IsosurfaceMeshVisual(materialId: number): VolumeVisual<IsosurfaceMeshParams>;
@@ -223,6 +243,16 @@ export declare const IsosurfaceWireframeParams: {
223
243
  roughness: number;
224
244
  bumpiness: number;
225
245
  }>>;
246
+ clip: PD.Group<PD.Normalize<{
247
+ variant: import("../../mol-util/clip").Clip.Variant;
248
+ objects: PD.Normalize<{
249
+ type: any;
250
+ invert: any;
251
+ position: any;
252
+ rotation: any;
253
+ scale: any;
254
+ }>[];
255
+ }>>;
226
256
  };
227
257
  export declare type IsosurfaceWireframeParams = typeof IsosurfaceWireframeParams;
228
258
  export declare function IsosurfaceWireframeVisual(materialId: number): VolumeVisual<IsosurfaceWireframeParams>;
@@ -282,6 +312,16 @@ export declare const IsosurfaceParams: {
282
312
  roughness: number;
283
313
  bumpiness: number;
284
314
  }>>;
315
+ clip: PD.Group<PD.Normalize<{
316
+ variant: import("../../mol-util/clip").Clip.Variant;
317
+ objects: PD.Normalize<{
318
+ type: any;
319
+ invert: any;
320
+ position: any;
321
+ rotation: any;
322
+ scale: any;
323
+ }>[];
324
+ }>>;
285
325
  tryUseGpu: PD.BooleanParam;
286
326
  doubleSided: PD.BooleanParam;
287
327
  flipSided: PD.BooleanParam;
@@ -347,6 +387,16 @@ export declare function getIsosurfaceParams(ctx: ThemeRegistryContext, volume: V
347
387
  roughness: number;
348
388
  bumpiness: number;
349
389
  }>>;
390
+ clip: PD.Group<PD.Normalize<{
391
+ variant: import("../../mol-util/clip").Clip.Variant;
392
+ objects: PD.Normalize<{
393
+ type: any;
394
+ invert: any;
395
+ position: any;
396
+ rotation: any;
397
+ scale: any;
398
+ }>[];
399
+ }>>;
350
400
  tryUseGpu: PD.BooleanParam;
351
401
  doubleSided: PD.BooleanParam;
352
402
  flipSided: PD.BooleanParam;
@@ -413,6 +463,16 @@ export declare const IsosurfaceRepresentationProvider: VolumeRepresentationProvi
413
463
  roughness: number;
414
464
  bumpiness: number;
415
465
  }>>;
466
+ clip: PD.Group<PD.Normalize<{
467
+ variant: import("../../mol-util/clip").Clip.Variant;
468
+ objects: PD.Normalize<{
469
+ type: any;
470
+ invert: any;
471
+ position: any;
472
+ rotation: any;
473
+ scale: any;
474
+ }>[];
475
+ }>>;
416
476
  tryUseGpu: PD.BooleanParam;
417
477
  doubleSided: PD.BooleanParam;
418
478
  flipSided: PD.BooleanParam;
@@ -34,6 +34,11 @@ function gpuSupport(webgl) {
34
34
  }
35
35
  var Padding = 1;
36
36
  function suitableForGpu(volume, webgl) {
37
+ // small volumes are about as fast or faster on CPU vs integrated GPU
38
+ if (volume.grid.cells.data.length < Math.pow(10, 3))
39
+ return false;
40
+ // the GPU is much more memory contraint, especially true for integrated GPUs,
41
+ // fallback to CPU for large volumes
37
42
  var gridDim = volume.grid.cells.space.dimensions;
38
43
  var powerOfTwoSize = (0, util_1.getVolumeTexture2dLayout)(gridDim, Padding).powerOfTwoSize;
39
44
  return powerOfTwoSize <= webgl.maxTextureSize / 2;
@@ -147,17 +152,21 @@ var VolumeIsosurfaceTexture;
147
152
  })(VolumeIsosurfaceTexture || (VolumeIsosurfaceTexture = {}));
148
153
  function createVolumeIsosurfaceTextureMesh(ctx, volume, theme, props, textureMesh) {
149
154
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
150
- var _a, max, min, diff, value, isoLevel, _b, texture, gridDimension, gridTexDim, gridTexScale, transform, buffer, gv, surface;
155
+ var _a, max, min, diff, value, isoLevel, _b, texture, gridDimension, gridTexDim, gridTexScale, transform, axisOrder, buffer, gv, surface;
151
156
  return (0, tslib_1.__generator)(this, function (_c) {
152
157
  if (!ctx.webgl)
153
158
  throw new Error('webgl context required to create volume isosurface texture-mesh');
159
+ if (volume.grid.cells.data.length <= 1) {
160
+ return [2 /*return*/, texture_mesh_1.TextureMesh.createEmpty(textureMesh)];
161
+ }
154
162
  _a = volume.grid.stats, max = _a.max, min = _a.min;
155
163
  diff = max - min;
156
164
  value = volume_1.Volume.IsoValue.toAbsolute(props.isoValue, volume.grid.stats).absoluteValue;
157
165
  isoLevel = ((value - min) / diff);
158
166
  _b = VolumeIsosurfaceTexture.get(volume, ctx.webgl), texture = _b.texture, gridDimension = _b.gridDimension, gridTexDim = _b.gridTexDim, gridTexScale = _b.gridTexScale, transform = _b.transform;
167
+ axisOrder = volume.grid.cells.space.axisOrderSlowToFast;
159
168
  buffer = textureMesh === null || textureMesh === void 0 ? void 0 : textureMesh.doubleBuffer.get();
160
- gv = (0, isosurface_1.extractIsosurface)(ctx.webgl, texture, gridDimension, gridTexDim, gridTexScale, transform, isoLevel, value < 0, false, buffer === null || buffer === void 0 ? void 0 : buffer.vertex, buffer === null || buffer === void 0 ? void 0 : buffer.group, buffer === null || buffer === void 0 ? void 0 : buffer.normal);
169
+ gv = (0, isosurface_1.extractIsosurface)(ctx.webgl, texture, gridDimension, gridTexDim, gridTexScale, transform, isoLevel, value < 0, false, axisOrder, buffer === null || buffer === void 0 ? void 0 : buffer.vertex, buffer === null || buffer === void 0 ? void 0 : buffer.group, buffer === null || buffer === void 0 ? void 0 : buffer.normal);
161
170
  surface = texture_mesh_1.TextureMesh.create(gv.vertexCount, 1, gv.vertexTexture, gv.groupTexture, gv.normalTexture, volume_1.Volume.getBoundingSphere(volume), textureMesh);
162
171
  return [2 /*return*/, surface];
163
172
  });