molstar 4.2.0 → 4.3.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 (339) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +197 -197
  3. package/build/viewer/embedded.html +52 -52
  4. package/build/viewer/index.html +129 -129
  5. package/build/viewer/molstar.js +1 -1
  6. package/build/viewer/molstar.js.LICENSE.txt +9 -0
  7. package/lib/apps/docking-viewer/index.html +36 -36
  8. package/lib/apps/mesoscale-explorer/index.html +100 -100
  9. package/lib/apps/mesoscale-explorer/style.scss +33 -33
  10. package/lib/apps/viewer/app.d.ts +2 -1
  11. package/lib/apps/viewer/app.js +2 -1
  12. package/lib/apps/viewer/embedded.html +52 -52
  13. package/lib/apps/viewer/index.html +129 -129
  14. package/lib/cli/chem-comp-dict/create-ions.js +9 -9
  15. package/lib/cli/chem-comp-dict/create-saccharides.js +9 -9
  16. package/lib/cli/cifschema/util/generate.js +12 -12
  17. package/lib/cli/lipid-params/index.js +9 -9
  18. package/lib/commonjs/apps/viewer/app.d.ts +2 -1
  19. package/lib/commonjs/apps/viewer/app.js +1 -0
  20. package/lib/commonjs/cli/chem-comp-dict/create-ions.js +9 -9
  21. package/lib/commonjs/cli/chem-comp-dict/create-saccharides.js +9 -9
  22. package/lib/commonjs/cli/cifschema/util/generate.js +12 -12
  23. package/lib/commonjs/cli/lipid-params/index.js +9 -9
  24. package/lib/commonjs/examples/alpha-orbitals/example-data.js +160 -160
  25. package/lib/commonjs/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
  26. package/lib/commonjs/extensions/assembly-symmetry/prop.js +24 -24
  27. package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.js +5 -5
  28. package/lib/commonjs/extensions/dnatco/ntc-tube/behavior.js +5 -5
  29. package/lib/commonjs/extensions/geo-export/usdz-exporter.js +41 -41
  30. package/lib/commonjs/extensions/meshes/mesh-extension.d.ts +1 -0
  31. package/lib/commonjs/extensions/mp4-export/encoder.js +1 -1
  32. package/lib/commonjs/extensions/mvs/components/annotation-label/representation.d.ts +0 -2
  33. package/lib/commonjs/extensions/mvs/components/custom-label/representation.d.ts +2 -2
  34. package/lib/commonjs/extensions/mvs/tree/mvs/mvs-builder.d.ts +8 -2
  35. package/lib/commonjs/extensions/sb-ncbr/index.d.ts +8 -0
  36. package/lib/commonjs/extensions/sb-ncbr/index.js +14 -1
  37. package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
  38. package/lib/commonjs/extensions/sb-ncbr/tunnels/actions.js +89 -0
  39. package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
  40. package/lib/commonjs/extensions/sb-ncbr/tunnels/algorithm.js +474 -0
  41. package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
  42. package/lib/commonjs/extensions/sb-ncbr/tunnels/behavior.js +96 -0
  43. package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
  44. package/lib/commonjs/extensions/sb-ncbr/tunnels/data-model.js +28 -0
  45. package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
  46. package/lib/commonjs/extensions/sb-ncbr/tunnels/examples.js +54 -0
  47. package/lib/commonjs/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
  48. package/lib/commonjs/extensions/sb-ncbr/tunnels/props.js +26 -0
  49. package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
  50. package/lib/commonjs/extensions/sb-ncbr/tunnels/representation.js +99 -0
  51. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +17 -0
  52. package/lib/commonjs/mol-canvas3d/canvas3d.js +4 -0
  53. package/lib/commonjs/mol-canvas3d/passes/dof.d.ts +34 -0
  54. package/lib/commonjs/mol-canvas3d/passes/dof.js +167 -0
  55. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +2 -0
  56. package/lib/commonjs/mol-canvas3d/passes/draw.js +31 -8
  57. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +8 -0
  58. package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +8 -0
  59. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +5 -0
  60. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +0 -1
  61. package/lib/commonjs/mol-gl/shader/background.frag.js +95 -95
  62. package/lib/commonjs/mol-gl/shader/background.vert.js +11 -11
  63. package/lib/commonjs/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
  64. package/lib/commonjs/mol-gl/shader/bloom/blur.frag.js +28 -28
  65. package/lib/commonjs/mol-gl/shader/bloom/composite.frag.js +33 -33
  66. package/lib/commonjs/mol-gl/shader/bloom/luminosity.frag.js +52 -52
  67. package/lib/commonjs/mol-gl/shader/cas.frag.js +144 -144
  68. package/lib/commonjs/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
  69. package/lib/commonjs/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
  70. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +77 -77
  71. package/lib/commonjs/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
  72. package/lib/commonjs/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
  73. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +140 -140
  74. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
  75. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
  76. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +112 -112
  77. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
  78. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
  79. package/lib/commonjs/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
  80. package/lib/commonjs/mol-gl/shader/chunks/check-transparency.glsl.js +16 -16
  81. package/lib/commonjs/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
  82. package/lib/commonjs/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
  83. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +60 -60
  84. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +122 -122
  85. package/lib/commonjs/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
  86. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +150 -150
  87. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
  88. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +234 -234
  89. package/lib/commonjs/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
  90. package/lib/commonjs/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
  91. package/lib/commonjs/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
  92. package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
  93. package/lib/commonjs/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
  94. package/lib/commonjs/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
  95. package/lib/commonjs/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
  96. package/lib/commonjs/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
  97. package/lib/commonjs/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
  98. package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
  99. package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
  100. package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
  101. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
  102. package/lib/commonjs/mol-gl/shader/compose.frag.js +12 -12
  103. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
  104. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
  105. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
  106. package/lib/commonjs/mol-gl/shader/copy.frag.js +11 -11
  107. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +266 -266
  108. package/lib/commonjs/mol-gl/shader/cylinders.vert.js +89 -89
  109. package/lib/commonjs/mol-gl/shader/depth-merge.frag.js +23 -23
  110. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +362 -362
  111. package/lib/commonjs/mol-gl/shader/direct-volume.vert.js +41 -41
  112. package/lib/commonjs/mol-gl/shader/dof.frag.d.ts +7 -0
  113. package/lib/commonjs/mol-gl/shader/dof.frag.js +122 -0
  114. package/lib/commonjs/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
  115. package/lib/commonjs/mol-gl/shader/evaluate-wboit.frag.js +17 -17
  116. package/lib/commonjs/mol-gl/shader/fxaa.frag.js +228 -228
  117. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +49 -49
  118. package/lib/commonjs/mol-gl/shader/gaussian-density.vert.js +27 -27
  119. package/lib/commonjs/mol-gl/shader/hi-z.frag.js +18 -18
  120. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
  121. package/lib/commonjs/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
  122. package/lib/commonjs/mol-gl/shader/image.frag.js +169 -169
  123. package/lib/commonjs/mol-gl/shader/image.vert.js +21 -21
  124. package/lib/commonjs/mol-gl/shader/lines.frag.js +42 -42
  125. package/lib/commonjs/mol-gl/shader/lines.vert.js +117 -117
  126. package/lib/commonjs/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
  127. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
  128. package/lib/commonjs/mol-gl/shader/marking/edge.frag.js +28 -28
  129. package/lib/commonjs/mol-gl/shader/marking/overlay.frag.js +26 -26
  130. package/lib/commonjs/mol-gl/shader/mesh.frag.js +65 -65
  131. package/lib/commonjs/mol-gl/shader/mesh.vert.js +49 -49
  132. package/lib/commonjs/mol-gl/shader/outlines.frag.js +95 -95
  133. package/lib/commonjs/mol-gl/shader/points.frag.js +59 -59
  134. package/lib/commonjs/mol-gl/shader/points.vert.js +38 -38
  135. package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +150 -150
  136. package/lib/commonjs/mol-gl/shader/quad.vert.js +10 -10
  137. package/lib/commonjs/mol-gl/shader/shadows.frag.js +123 -123
  138. package/lib/commonjs/mol-gl/shader/smaa/blend.frag.js +56 -56
  139. package/lib/commonjs/mol-gl/shader/smaa/blend.vert.js +25 -25
  140. package/lib/commonjs/mol-gl/shader/smaa/edges.frag.js +66 -66
  141. package/lib/commonjs/mol-gl/shader/smaa/edges.vert.js +26 -26
  142. package/lib/commonjs/mol-gl/shader/smaa/weights.frag.js +206 -206
  143. package/lib/commonjs/mol-gl/shader/smaa/weights.vert.js +32 -32
  144. package/lib/commonjs/mol-gl/shader/spheres.frag.js +148 -148
  145. package/lib/commonjs/mol-gl/shader/spheres.vert.js +132 -132
  146. package/lib/commonjs/mol-gl/shader/ssao-blur.frag.js +97 -97
  147. package/lib/commonjs/mol-gl/shader/ssao.frag.js +211 -211
  148. package/lib/commonjs/mol-gl/shader/text.frag.js +85 -85
  149. package/lib/commonjs/mol-gl/shader/text.vert.js +85 -85
  150. package/lib/commonjs/mol-gl/shader/util/grid3d-template.frag.js +46 -46
  151. package/lib/commonjs/mol-gl/shader-code.js +15 -15
  152. package/lib/commonjs/mol-gl/webgl/compat.js +12 -12
  153. package/lib/commonjs/mol-gl/webgl/context.js +1 -0
  154. package/lib/commonjs/mol-gl/webgl/timer.d.ts +1 -1
  155. package/lib/commonjs/mol-gl/webgl/timer.js +8 -1
  156. package/lib/commonjs/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
  157. package/lib/commonjs/mol-plugin/animation-loop.d.ts +1 -0
  158. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +6 -6
  159. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +1 -1
  160. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
  161. package/lib/commonjs/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
  162. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +3 -0
  163. package/lib/commonjs/servers/common/swagger-ui/indexTemplate.js +66 -66
  164. package/lib/commonjs/servers/volume/config.js +5 -5
  165. package/lib/examples/alpha-orbitals/example-data.js +160 -160
  166. package/lib/examples/alpha-orbitals/index.html +72 -72
  167. package/lib/examples/basic-wrapper/index.html +137 -137
  168. package/lib/examples/lighting/index.html +88 -88
  169. package/lib/examples/proteopedia-wrapper/index.html +236 -236
  170. package/lib/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
  171. package/lib/extensions/assembly-symmetry/prop.js +24 -24
  172. package/lib/extensions/dnatco/confal-pyramids/behavior.js +5 -5
  173. package/lib/extensions/dnatco/ntc-tube/behavior.js +5 -5
  174. package/lib/extensions/geo-export/usdz-exporter.js +41 -41
  175. package/lib/extensions/meshes/mesh-extension.d.ts +1 -0
  176. package/lib/extensions/mp4-export/encoder.js +1 -1
  177. package/lib/extensions/mvs/components/annotation-label/representation.d.ts +0 -2
  178. package/lib/extensions/mvs/components/custom-label/representation.d.ts +2 -2
  179. package/lib/extensions/mvs/tree/mvs/mvs-builder.d.ts +8 -2
  180. package/lib/extensions/sb-ncbr/index.d.ts +8 -0
  181. package/lib/extensions/sb-ncbr/index.js +8 -0
  182. package/lib/extensions/sb-ncbr/tunnels/actions.d.ts +20 -0
  183. package/lib/extensions/sb-ncbr/tunnels/actions.js +86 -0
  184. package/lib/extensions/sb-ncbr/tunnels/algorithm.d.ts +26 -0
  185. package/lib/extensions/sb-ncbr/tunnels/algorithm.js +469 -0
  186. package/lib/extensions/sb-ncbr/tunnels/behavior.d.ts +40 -0
  187. package/lib/extensions/sb-ncbr/tunnels/behavior.js +92 -0
  188. package/lib/extensions/sb-ncbr/tunnels/data-model.d.ts +146 -0
  189. package/lib/extensions/sb-ncbr/tunnels/data-model.js +23 -0
  190. package/lib/extensions/sb-ncbr/tunnels/examples.d.ts +12 -0
  191. package/lib/extensions/sb-ncbr/tunnels/examples.js +49 -0
  192. package/lib/extensions/sb-ncbr/tunnels/props.d.ts +19 -0
  193. package/lib/extensions/sb-ncbr/tunnels/props.js +22 -0
  194. package/lib/extensions/sb-ncbr/tunnels/representation.d.ts +29 -0
  195. package/lib/extensions/sb-ncbr/tunnels/representation.js +96 -0
  196. package/lib/mol-canvas3d/canvas3d.d.ts +17 -0
  197. package/lib/mol-canvas3d/canvas3d.js +4 -0
  198. package/lib/mol-canvas3d/passes/dof.d.ts +34 -0
  199. package/lib/mol-canvas3d/passes/dof.js +163 -0
  200. package/lib/mol-canvas3d/passes/draw.d.ts +2 -0
  201. package/lib/mol-canvas3d/passes/draw.js +31 -8
  202. package/lib/mol-canvas3d/passes/image.d.ts +8 -0
  203. package/lib/mol-canvas3d/passes/postprocessing.d.ts +8 -0
  204. package/lib/mol-canvas3d/passes/postprocessing.js +5 -0
  205. package/lib/mol-geo/geometry/lines/lines.d.ts +0 -1
  206. package/lib/mol-gl/shader/background.frag.js +95 -95
  207. package/lib/mol-gl/shader/background.vert.js +11 -11
  208. package/lib/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
  209. package/lib/mol-gl/shader/bloom/blur.frag.js +28 -28
  210. package/lib/mol-gl/shader/bloom/composite.frag.js +33 -33
  211. package/lib/mol-gl/shader/bloom/luminosity.frag.js +52 -52
  212. package/lib/mol-gl/shader/cas.frag.js +144 -144
  213. package/lib/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
  214. package/lib/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
  215. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +77 -77
  216. package/lib/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
  217. package/lib/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
  218. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +140 -140
  219. package/lib/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
  220. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
  221. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +112 -112
  222. package/lib/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
  223. package/lib/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
  224. package/lib/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
  225. package/lib/mol-gl/shader/chunks/check-transparency.glsl.js +16 -16
  226. package/lib/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
  227. package/lib/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
  228. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +60 -60
  229. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +122 -122
  230. package/lib/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
  231. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +150 -150
  232. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
  233. package/lib/mol-gl/shader/chunks/common.glsl.js +234 -234
  234. package/lib/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
  235. package/lib/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
  236. package/lib/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
  237. package/lib/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
  238. package/lib/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
  239. package/lib/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
  240. package/lib/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
  241. package/lib/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
  242. package/lib/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
  243. package/lib/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
  244. package/lib/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
  245. package/lib/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
  246. package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
  247. package/lib/mol-gl/shader/compose.frag.js +12 -12
  248. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
  249. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
  250. package/lib/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
  251. package/lib/mol-gl/shader/copy.frag.js +11 -11
  252. package/lib/mol-gl/shader/cylinders.frag.js +266 -266
  253. package/lib/mol-gl/shader/cylinders.vert.js +89 -89
  254. package/lib/mol-gl/shader/depth-merge.frag.js +23 -23
  255. package/lib/mol-gl/shader/direct-volume.frag.js +362 -362
  256. package/lib/mol-gl/shader/direct-volume.vert.js +41 -41
  257. package/lib/mol-gl/shader/dof.frag.d.ts +7 -0
  258. package/lib/mol-gl/shader/dof.frag.js +119 -0
  259. package/lib/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
  260. package/lib/mol-gl/shader/evaluate-wboit.frag.js +17 -17
  261. package/lib/mol-gl/shader/fxaa.frag.js +228 -228
  262. package/lib/mol-gl/shader/gaussian-density.frag.js +49 -49
  263. package/lib/mol-gl/shader/gaussian-density.vert.js +27 -27
  264. package/lib/mol-gl/shader/hi-z.frag.js +18 -18
  265. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
  266. package/lib/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
  267. package/lib/mol-gl/shader/image.frag.js +169 -169
  268. package/lib/mol-gl/shader/image.vert.js +21 -21
  269. package/lib/mol-gl/shader/lines.frag.js +42 -42
  270. package/lib/mol-gl/shader/lines.vert.js +117 -117
  271. package/lib/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
  272. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
  273. package/lib/mol-gl/shader/marking/edge.frag.js +28 -28
  274. package/lib/mol-gl/shader/marking/overlay.frag.js +26 -26
  275. package/lib/mol-gl/shader/mesh.frag.js +65 -65
  276. package/lib/mol-gl/shader/mesh.vert.js +49 -49
  277. package/lib/mol-gl/shader/outlines.frag.js +95 -95
  278. package/lib/mol-gl/shader/points.frag.js +59 -59
  279. package/lib/mol-gl/shader/points.vert.js +38 -38
  280. package/lib/mol-gl/shader/postprocessing.frag.js +150 -150
  281. package/lib/mol-gl/shader/quad.vert.js +10 -10
  282. package/lib/mol-gl/shader/shadows.frag.js +123 -123
  283. package/lib/mol-gl/shader/smaa/blend.frag.js +56 -56
  284. package/lib/mol-gl/shader/smaa/blend.vert.js +25 -25
  285. package/lib/mol-gl/shader/smaa/edges.frag.js +66 -66
  286. package/lib/mol-gl/shader/smaa/edges.vert.js +26 -26
  287. package/lib/mol-gl/shader/smaa/weights.frag.js +206 -206
  288. package/lib/mol-gl/shader/smaa/weights.vert.js +32 -32
  289. package/lib/mol-gl/shader/spheres.frag.js +148 -148
  290. package/lib/mol-gl/shader/spheres.vert.js +132 -132
  291. package/lib/mol-gl/shader/ssao-blur.frag.js +97 -97
  292. package/lib/mol-gl/shader/ssao.frag.js +211 -211
  293. package/lib/mol-gl/shader/text.frag.js +85 -85
  294. package/lib/mol-gl/shader/text.vert.js +85 -85
  295. package/lib/mol-gl/shader/util/grid3d-template.frag.js +46 -46
  296. package/lib/mol-gl/shader-code.js +15 -15
  297. package/lib/mol-gl/webgl/compat.js +12 -12
  298. package/lib/mol-gl/webgl/context.js +1 -0
  299. package/lib/mol-gl/webgl/timer.d.ts +1 -1
  300. package/lib/mol-gl/webgl/timer.js +8 -1
  301. package/lib/mol-math/linear-algebra/3d/minimize-rmsd.js +2 -1
  302. package/lib/mol-plugin/animation-loop.d.ts +1 -0
  303. package/lib/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +6 -6
  304. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +1 -1
  305. package/lib/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +3 -3
  306. package/lib/mol-plugin/version.js +2 -2
  307. package/lib/mol-plugin-state/animation/built-in/state-snapshots.js +7 -3
  308. package/lib/mol-plugin-ui/skin/base/base.scss +37 -37
  309. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  310. package/lib/mol-plugin-ui/skin/base/components/controls.scss +445 -445
  311. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  312. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  313. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  314. package/lib/mol-plugin-ui/skin/base/components/misc.scss +663 -663
  315. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  316. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  317. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  318. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  319. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  320. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +194 -194
  321. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  322. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  323. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  324. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  325. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  326. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  327. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  328. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  329. package/lib/mol-plugin-ui/skin/base/variables.scss +88 -88
  330. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  331. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  332. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  333. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  334. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  335. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  336. package/lib/mol-plugin-ui/viewport/simple-settings.js +3 -0
  337. package/lib/servers/common/swagger-ui/indexTemplate.js +66 -66
  338. package/lib/servers/volume/config.js +5 -5
  339. package/package.json +196 -195
@@ -3,141 +3,141 @@
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  */
6
- export const UTILS = `
7
- float L1(vec3 p, float a0, float a1, float a2) {
8
- return a0 * p.z + a1 * p.x + a2 * p.y;
9
- }
10
-
11
- float L2(vec3 p, float a0, float a1, float a2, float a3, float a4) {
12
- float x = p.x, y = p.y, z = p.z;
13
- float xx = x * x, yy = y * y, zz = z * z;
14
- return (
15
- a0 * (-0.5 * xx - 0.5 * yy + zz) +
16
- a1 * (1.7320508075688772 * x * z) +
17
- a2 * (1.7320508075688772 * y * z) +
18
- a3 * (0.8660254037844386 * xx - 0.8660254037844386 * yy) +
19
- a4 * (1.7320508075688772 * x * y)
20
- );
21
- }
22
-
23
- float L3(vec3 p, float a0, float a1, float a2, float a3, float a4, float a5, float a6) {
24
- float x = p.x, y = p.y, z = p.z;
25
- float xx = x * x, yy = y * y, zz = z * z;
26
- float xxx = xx * x, yyy = yy * y, zzz = zz * z;
27
- return (
28
- a0 * (-1.5 * xx * z - 1.5 * yy * z + zzz) +
29
- a1 * (-0.6123724356957945 * xxx - 0.6123724356957945 * x * yy + 2.449489742783178 * x * zz) +
30
- a2 * (-0.6123724356957945 * xx * y - 0.6123724356957945 * yyy + 2.449489742783178 * y * zz) +
31
- a3 * (1.9364916731037085 * xx * z - 1.9364916731037085 * yy * z) +
32
- a4 * (3.872983346207417 * x * y * z) +
33
- a5 * (0.7905694150420949 * xxx - 2.3717082451262845 * x * yy) +
34
- a6 * (2.3717082451262845 * xx * y - 0.7905694150420949 * yyy)
35
- );
36
- }
37
-
38
- float L4(vec3 p, float a0, float a1, float a2, float a3, float a4, float a5, float a6, float a7, float a8) {
39
- float x = p.x, y = p.y, z = p.z;
40
- float xx = x * x, yy = y * y, zz = z * z;
41
- float xxx = xx * x, yyy = yy * y, zzz = zz * z;
42
- float xxxx = xxx * x, yyyy = yyy * y, zzzz = zzz * z;
43
- return (
44
- a0 * (0.375 * xxxx + 0.75 * xx * yy + 0.375 * yyyy - 3.0 * xx * zz - 3.0 * yy * zz + zzzz) +
45
- a1 * (-2.3717082451262845 * xxx * z - 2.3717082451262845 * x * yy * z + 3.1622776601683795 * x * zzz) +
46
- a2 * (-2.3717082451262845 * xx * y * z - 2.3717082451262845 * yyy * z + 3.1622776601683795 * y * zzz) +
47
- a3 * (-0.5590169943749475 * xxxx + 0.5590169943749475 * yyyy + 3.3541019662496847 * xx * zz - 3.3541019662496847 * yy * zz) +
48
- a4 * (-1.118033988749895 * xxx * y - 1.118033988749895 * x * yyy + 6.708203932499369 * x * y * zz) +
49
- a5 * (2.091650066335189 * xxx * z + -6.274950199005566 * x * yy * z) +
50
- a6 * (6.274950199005566 * xx * y * z + -2.091650066335189 * yyy * z) +
51
- a7 * (0.739509972887452 * xxxx - 4.437059837324712 * xx * yy + 0.739509972887452 * yyyy) +
52
- a8 * (2.958039891549808 * xxx * y + -2.958039891549808 * x * yyy)
53
- );
54
- }
55
-
56
- float alpha(float offset, float f) {
57
- #ifdef WEBGL1
58
- // in webgl1, the value is in the alpha channel!
59
- return texture2D(tAlpha, vec2(offset * f, 0.5)).a;
60
- #else
61
- return texture2D(tAlpha, vec2(offset * f, 0.5)).x;
62
- #endif
63
- }
64
-
65
- float Y(int L, vec3 X, float aO, float fA) {
66
- if (L == 0) {
67
- return alpha(aO, fA);
68
- } else if (L == 1) {
69
- return L1(X,
70
- alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA)
71
- );
72
- } else if (L == 2) {
73
- return L2(X,
74
- alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA), alpha(aO + 3.0, fA), alpha(aO + 4.0, fA)
75
- );
76
- } else if (L == 3) {
77
- return L3(X,
78
- alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA), alpha(aO + 3.0, fA), alpha(aO + 4.0, fA),
79
- alpha(aO + 5.0, fA), alpha(aO + 6.0, fA)
80
- );
81
- } else if (L == 4) {
82
- return L4(X,
83
- alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA), alpha(aO + 3.0, fA), alpha(aO + 4.0, fA),
84
- alpha(aO + 5.0, fA), alpha(aO + 6.0, fA), alpha(aO + 7.0, fA), alpha(aO + 8.0, fA)
85
- );
86
- }
87
- // TODO: do we need L > 4?
88
- return 0.0;
89
- }
90
-
91
- #ifndef WEBGL1
92
- float R(float R2, int start, int end, float fCoeff) {
93
- float gauss = 0.0;
94
- for (int i = start; i < end; i++) {
95
- vec2 c = texture2D(tCoeff, vec2(float(i) * fCoeff, 0.5)).xy;
96
- gauss += c.x * exp(-c.y * R2);
97
- }
98
- return gauss;
99
- }
100
- #else
101
- float R(float R2, int start, int end, float fCoeff) {
102
- float gauss = 0.0;
103
- int o = start;
104
- for (int i = 0; i < uMaxCoeffs; i++) {
105
- if (o >= end) break;
106
-
107
- vec2 c = texture2D(tCoeff, vec2(float(o) * fCoeff, 0.5)).xy;
108
- gauss += c.x * exp(-c.y * R2);
109
- o++;
110
- }
111
- return gauss;
112
- }
113
- #endif
6
+ export const UTILS = `
7
+ float L1(vec3 p, float a0, float a1, float a2) {
8
+ return a0 * p.z + a1 * p.x + a2 * p.y;
9
+ }
10
+
11
+ float L2(vec3 p, float a0, float a1, float a2, float a3, float a4) {
12
+ float x = p.x, y = p.y, z = p.z;
13
+ float xx = x * x, yy = y * y, zz = z * z;
14
+ return (
15
+ a0 * (-0.5 * xx - 0.5 * yy + zz) +
16
+ a1 * (1.7320508075688772 * x * z) +
17
+ a2 * (1.7320508075688772 * y * z) +
18
+ a3 * (0.8660254037844386 * xx - 0.8660254037844386 * yy) +
19
+ a4 * (1.7320508075688772 * x * y)
20
+ );
21
+ }
22
+
23
+ float L3(vec3 p, float a0, float a1, float a2, float a3, float a4, float a5, float a6) {
24
+ float x = p.x, y = p.y, z = p.z;
25
+ float xx = x * x, yy = y * y, zz = z * z;
26
+ float xxx = xx * x, yyy = yy * y, zzz = zz * z;
27
+ return (
28
+ a0 * (-1.5 * xx * z - 1.5 * yy * z + zzz) +
29
+ a1 * (-0.6123724356957945 * xxx - 0.6123724356957945 * x * yy + 2.449489742783178 * x * zz) +
30
+ a2 * (-0.6123724356957945 * xx * y - 0.6123724356957945 * yyy + 2.449489742783178 * y * zz) +
31
+ a3 * (1.9364916731037085 * xx * z - 1.9364916731037085 * yy * z) +
32
+ a4 * (3.872983346207417 * x * y * z) +
33
+ a5 * (0.7905694150420949 * xxx - 2.3717082451262845 * x * yy) +
34
+ a6 * (2.3717082451262845 * xx * y - 0.7905694150420949 * yyy)
35
+ );
36
+ }
37
+
38
+ float L4(vec3 p, float a0, float a1, float a2, float a3, float a4, float a5, float a6, float a7, float a8) {
39
+ float x = p.x, y = p.y, z = p.z;
40
+ float xx = x * x, yy = y * y, zz = z * z;
41
+ float xxx = xx * x, yyy = yy * y, zzz = zz * z;
42
+ float xxxx = xxx * x, yyyy = yyy * y, zzzz = zzz * z;
43
+ return (
44
+ a0 * (0.375 * xxxx + 0.75 * xx * yy + 0.375 * yyyy - 3.0 * xx * zz - 3.0 * yy * zz + zzzz) +
45
+ a1 * (-2.3717082451262845 * xxx * z - 2.3717082451262845 * x * yy * z + 3.1622776601683795 * x * zzz) +
46
+ a2 * (-2.3717082451262845 * xx * y * z - 2.3717082451262845 * yyy * z + 3.1622776601683795 * y * zzz) +
47
+ a3 * (-0.5590169943749475 * xxxx + 0.5590169943749475 * yyyy + 3.3541019662496847 * xx * zz - 3.3541019662496847 * yy * zz) +
48
+ a4 * (-1.118033988749895 * xxx * y - 1.118033988749895 * x * yyy + 6.708203932499369 * x * y * zz) +
49
+ a5 * (2.091650066335189 * xxx * z + -6.274950199005566 * x * yy * z) +
50
+ a6 * (6.274950199005566 * xx * y * z + -2.091650066335189 * yyy * z) +
51
+ a7 * (0.739509972887452 * xxxx - 4.437059837324712 * xx * yy + 0.739509972887452 * yyyy) +
52
+ a8 * (2.958039891549808 * xxx * y + -2.958039891549808 * x * yyy)
53
+ );
54
+ }
55
+
56
+ float alpha(float offset, float f) {
57
+ #ifdef WEBGL1
58
+ // in webgl1, the value is in the alpha channel!
59
+ return texture2D(tAlpha, vec2(offset * f, 0.5)).a;
60
+ #else
61
+ return texture2D(tAlpha, vec2(offset * f, 0.5)).x;
62
+ #endif
63
+ }
64
+
65
+ float Y(int L, vec3 X, float aO, float fA) {
66
+ if (L == 0) {
67
+ return alpha(aO, fA);
68
+ } else if (L == 1) {
69
+ return L1(X,
70
+ alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA)
71
+ );
72
+ } else if (L == 2) {
73
+ return L2(X,
74
+ alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA), alpha(aO + 3.0, fA), alpha(aO + 4.0, fA)
75
+ );
76
+ } else if (L == 3) {
77
+ return L3(X,
78
+ alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA), alpha(aO + 3.0, fA), alpha(aO + 4.0, fA),
79
+ alpha(aO + 5.0, fA), alpha(aO + 6.0, fA)
80
+ );
81
+ } else if (L == 4) {
82
+ return L4(X,
83
+ alpha(aO, fA), alpha(aO + 1.0, fA), alpha(aO + 2.0, fA), alpha(aO + 3.0, fA), alpha(aO + 4.0, fA),
84
+ alpha(aO + 5.0, fA), alpha(aO + 6.0, fA), alpha(aO + 7.0, fA), alpha(aO + 8.0, fA)
85
+ );
86
+ }
87
+ // TODO: do we need L > 4?
88
+ return 0.0;
89
+ }
90
+
91
+ #ifndef WEBGL1
92
+ float R(float R2, int start, int end, float fCoeff) {
93
+ float gauss = 0.0;
94
+ for (int i = start; i < end; i++) {
95
+ vec2 c = texture2D(tCoeff, vec2(float(i) * fCoeff, 0.5)).xy;
96
+ gauss += c.x * exp(-c.y * R2);
97
+ }
98
+ return gauss;
99
+ }
100
+ #else
101
+ float R(float R2, int start, int end, float fCoeff) {
102
+ float gauss = 0.0;
103
+ int o = start;
104
+ for (int i = 0; i < uMaxCoeffs; i++) {
105
+ if (o >= end) break;
106
+
107
+ vec2 c = texture2D(tCoeff, vec2(float(o) * fCoeff, 0.5)).xy;
108
+ gauss += c.x * exp(-c.y * R2);
109
+ o++;
110
+ }
111
+ return gauss;
112
+ }
113
+ #endif
114
114
  `;
115
- export const MAIN = `
116
- float fCenter = 1.0 / float(uNCenters - 1);
117
- float fCoeff = 1.0 / float(uNCoeff - 1);
118
- float fA = 1.0 / float(uNAlpha - 1);
119
-
120
- float v = 0.0;
121
-
122
- for (int i = 0; i < uNCenters; i++) {
123
- vec2 cCoord = vec2(float(i) * fCenter, 0.5);
124
-
125
- vec4 center = texture2D(tCenters, cCoord);
126
- vec3 X = xyz - center.xyz;
127
- float R2 = dot(X, X);
128
-
129
- // center.w is squared cutoff radius
130
- if (R2 > center.w) {
131
- continue;
132
- }
133
-
134
- vec4 info = texture2D(tInfo, cCoord);
135
-
136
- int L = int(info.x);
137
- float aO = info.y;
138
- int coeffStart = int(info.z);
139
- int coeffEnd = int(info.w);
140
-
141
- v += R(R2, coeffStart, coeffEnd, fCoeff) * Y(L, X, aO, fA);
142
- }
115
+ export const MAIN = `
116
+ float fCenter = 1.0 / float(uNCenters - 1);
117
+ float fCoeff = 1.0 / float(uNCoeff - 1);
118
+ float fA = 1.0 / float(uNAlpha - 1);
119
+
120
+ float v = 0.0;
121
+
122
+ for (int i = 0; i < uNCenters; i++) {
123
+ vec2 cCoord = vec2(float(i) * fCenter, 0.5);
124
+
125
+ vec4 center = texture2D(tCenters, cCoord);
126
+ vec3 X = xyz - center.xyz;
127
+ float R2 = dot(X, X);
128
+
129
+ // center.w is squared cutoff radius
130
+ if (R2 > center.w) {
131
+ continue;
132
+ }
133
+
134
+ vec4 info = texture2D(tInfo, cCoord);
135
+
136
+ int L = int(info.x);
137
+ float aO = info.y;
138
+ int coeffStart = int(info.z);
139
+ int coeffEnd = int(info.w);
140
+
141
+ v += R(R2, coeffStart, coeffEnd, fCoeff) * Y(L, X, aO, fA);
142
+ }
143
143
  `;
@@ -14,30 +14,30 @@ import { MolScriptBuilder as MS } from '../../mol-script/language/builder';
14
14
  import { compile } from '../../mol-script/runtime/query/compiler';
15
15
  import { CustomPropertyDescriptor } from '../../mol-model/custom-property';
16
16
  import { Asset } from '../../mol-util/assets';
17
- const rcsb_symmetry_gql = /* GraphQL */ `
18
- query AssemblySymmetry($assembly_id: String!, $entry_id: String!) {
19
- assembly(assembly_id: $assembly_id, entry_id: $entry_id) {
20
- rcsb_struct_symmetry {
21
- clusters {
22
- avg_rmsd
23
- members {
24
- asym_id
25
- pdbx_struct_oper_list_ids
26
- }
27
- }
28
- kind
29
- oligomeric_state
30
- rotation_axes {
31
- order
32
- start
33
- end
34
- }
35
- stoichiometry
36
- symbol
37
- type
38
- }
39
- }
40
- }
17
+ const rcsb_symmetry_gql = /* GraphQL */ `
18
+ query AssemblySymmetry($assembly_id: String!, $entry_id: String!) {
19
+ assembly(assembly_id: $assembly_id, entry_id: $entry_id) {
20
+ rcsb_struct_symmetry {
21
+ clusters {
22
+ avg_rmsd
23
+ members {
24
+ asym_id
25
+ pdbx_struct_oper_list_ids
26
+ }
27
+ }
28
+ kind
29
+ oligomeric_state
30
+ rotation_axes {
31
+ order
32
+ start
33
+ end
34
+ }
35
+ stoichiometry
36
+ symbol
37
+ type
38
+ }
39
+ }
40
+ }
41
41
  `;
42
42
  const BiologicalAssemblyNames = new Set([
43
43
  'author_and_software_defined_assembly',
@@ -41,10 +41,10 @@ export const ConfalPyramidsPreset = StructureRepresentationPresetProvider({
41
41
  }
42
42
  });
43
43
  export function confalPyramidLabel(step) {
44
- return `
45
- <b>${step.auth_asym_id_1}</b> |
46
- <b>${step.label_comp_id_1} ${step.auth_seq_id_1}${step.PDB_ins_code_1}${step.label_alt_id_1.length > 0 ? ` (alt ${step.label_alt_id_1})` : ''}
47
- ${step.label_comp_id_2} ${step.auth_seq_id_2}${step.PDB_ins_code_2}${step.label_alt_id_2.length > 0 ? ` (alt ${step.label_alt_id_2})` : ''} </b><br />
48
- <i>NtC:</i> ${step.NtC} | <i>Confal score:</i> ${step.confal_score} | <i>RMSD:</i> ${step.rmsd.toFixed(2)}
44
+ return `
45
+ <b>${step.auth_asym_id_1}</b> |
46
+ <b>${step.label_comp_id_1} ${step.auth_seq_id_1}${step.PDB_ins_code_1}${step.label_alt_id_1.length > 0 ? ` (alt ${step.label_alt_id_1})` : ''}
47
+ ${step.label_comp_id_2} ${step.auth_seq_id_2}${step.PDB_ins_code_2}${step.label_alt_id_2.length > 0 ? ` (alt ${step.label_alt_id_2})` : ''} </b><br />
48
+ <i>NtC:</i> ${step.NtC} | <i>Confal score:</i> ${step.confal_score} | <i>RMSD:</i> ${step.rmsd.toFixed(2)}
49
49
  `;
50
50
  }
@@ -41,10 +41,10 @@ export const NtCTubePreset = StructureRepresentationPresetProvider({
41
41
  }
42
42
  });
43
43
  export function NtCTubeSegmentLabel(step) {
44
- return `
45
- <b>${step.auth_asym_id_1}</b> |
46
- <b>${step.label_comp_id_1} ${step.auth_seq_id_1}${step.PDB_ins_code_1}${step.label_alt_id_1.length > 0 ? ` (alt ${step.label_alt_id_1})` : ''}
47
- ${step.label_comp_id_2} ${step.auth_seq_id_2}${step.PDB_ins_code_2}${step.label_alt_id_2.length > 0 ? ` (alt ${step.label_alt_id_2})` : ''} </b><br />
48
- <i>NtC:</i> ${step.NtC} | <i>Confal score:</i> ${step.confal_score} | <i>RMSD:</i> ${step.rmsd.toFixed(2)}
44
+ return `
45
+ <b>${step.auth_asym_id_1}</b> |
46
+ <b>${step.label_comp_id_1} ${step.auth_seq_id_1}${step.PDB_ins_code_1}${step.label_alt_id_1.length > 0 ? ` (alt ${step.label_alt_id_1})` : ''}
47
+ ${step.label_comp_id_2} ${step.auth_seq_id_2}${step.PDB_ins_code_2}${step.label_alt_id_2.length > 0 ? ` (alt ${step.label_alt_id_2})` : ''} </b><br />
48
+ <i>NtC:</i> ${step.NtC} | <i>Confal score:</i> ${step.confal_score} | <i>RMSD:</i> ${step.rmsd.toFixed(2)}
49
49
  `;
50
50
  }
@@ -24,20 +24,20 @@ export class UsdzExporter extends MeshExporter {
24
24
  const materialKey = this.materialMap.size;
25
25
  this.materialMap.set(hash, materialKey);
26
26
  const [r, g, b] = Color.toRgbNormalized(color).map(v => Math.round(v * 1000) / 1000);
27
- this.materials.push(`
28
- def Material "material${materialKey}"
29
- {
30
- token outputs:surface.connect = </material${materialKey}/shader.outputs:surface>
31
- def Shader "shader"
32
- {
33
- uniform token info:id = "UsdPreviewSurface"
34
- color3f inputs:diffuseColor = (${r},${g},${b})
35
- float inputs:opacity = ${alpha}
36
- float inputs:metallic = ${metalness}
37
- float inputs:roughness = ${roughness}
38
- token outputs:surface
39
- }
40
- }
27
+ this.materials.push(`
28
+ def Material "material${materialKey}"
29
+ {
30
+ token outputs:surface.connect = </material${materialKey}/shader.outputs:surface>
31
+ def Shader "shader"
32
+ {
33
+ uniform token info:id = "UsdPreviewSurface"
34
+ color3f inputs:diffuseColor = (${r},${g},${b})
35
+ float inputs:opacity = ${alpha}
36
+ float inputs:metallic = ${metalness}
37
+ float inputs:roughness = ${roughness}
38
+ token outputs:surface
39
+ }
40
+ }
41
41
  `);
42
42
  return materialKey;
43
43
  }
@@ -144,41 +144,41 @@ def Material "material${materialKey}"
144
144
  else {
145
145
  const geomSubsets = [];
146
146
  faceIndicesByMaterial.forEach((faceIndices, materialKey) => {
147
- geomSubsets.push(`
148
- def GeomSubset "g${materialKey}"
149
- {
150
- uniform token elementType = "face"
151
- uniform token familyName = "materialBind"
152
- int[] indices = [${faceIndices.join(',')}]
153
- rel material:binding = </material${materialKey}>
154
- }
147
+ geomSubsets.push(`
148
+ def GeomSubset "g${materialKey}"
149
+ {
150
+ uniform token elementType = "face"
151
+ uniform token familyName = "materialBind"
152
+ int[] indices = [${faceIndices.join(',')}]
153
+ rel material:binding = </material${materialKey}>
154
+ }
155
155
  `);
156
156
  });
157
157
  materialBinding = geomSubsets.join('');
158
158
  }
159
- this.meshes.push(`
160
- def Mesh "mesh${this.meshes.length}"
161
- {
162
- int[] faceVertexCounts = [${new Array(drawCount / 3).fill(3).join(',')}]
163
- int[] faceVertexIndices = [${StringBuilder.getString(indexBuilder)}]
164
- point3f[] points = [${StringBuilder.getString(vertexBuilder)}]
165
- normal3f[] primvars:normals = [${StringBuilder.getString(normalBuilder)}] (
166
- interpolation = "vertex"
167
- )
168
- uniform token subdivisionScheme = "none"
169
- ${materialBinding}
170
- }
159
+ this.meshes.push(`
160
+ def Mesh "mesh${this.meshes.length}"
161
+ {
162
+ int[] faceVertexCounts = [${new Array(drawCount / 3).fill(3).join(',')}]
163
+ int[] faceVertexIndices = [${StringBuilder.getString(indexBuilder)}]
164
+ point3f[] points = [${StringBuilder.getString(vertexBuilder)}]
165
+ normal3f[] primvars:normals = [${StringBuilder.getString(normalBuilder)}] (
166
+ interpolation = "vertex"
167
+ )
168
+ uniform token subdivisionScheme = "none"
169
+ ${materialBinding}
170
+ }
171
171
  `);
172
172
  }
173
173
  }
174
174
  async getData(ctx) {
175
- const header = `#usda 1.0
176
- (
177
- customLayerData = {
178
- string creator = "Mol* ${PLUGIN_VERSION}"
179
- }
180
- metersPerUnit = 1
181
- )
175
+ const header = `#usda 1.0
176
+ (
177
+ customLayerData = {
178
+ string creator = "Mol* ${PLUGIN_VERSION}"
179
+ }
180
+ metersPerUnit = 1
181
+ )
182
182
  `;
183
183
  const usda = [header, ...this.materials, ...this.meshes].join('');
184
184
  const usdaData = new Uint8Array(usda.length);
@@ -44,6 +44,7 @@ declare const MeshlistStateObject_base: {
44
44
  type: PluginStateObject.TypeInfo;
45
45
  /** Data type for `MeshlistStateObject` - list of meshes */
46
46
  label: string;
47
+ /** Data type for `MeshlistStateObject` - list of meshes */
47
48
  description?: string | undefined;
48
49
  data: MeshlistData;
49
50
  };
@@ -47,7 +47,7 @@ export async function encodeMp4Animation(plugin, ctx, params) {
47
47
  await plugin.managers.animation.play(params.animation.definition, params.animation.params);
48
48
  stoppedAnimation = false;
49
49
  for (let i = 0; i <= N; i++) {
50
- await loop.tick(i * dt, { isSynchronous: true, animation: { currentFrame: i, frameCount: N }, manualDraw: true });
50
+ await loop.tick(i * dt, { isSynchronous: true, animation: { currentFrame: i, frameCount: N }, manualDraw: true, updateControls: true });
51
51
  const image = params.pass.getImageData(width, height, normalizedViewport);
52
52
  encoder.addFrameRgba(image.data);
53
53
  if (ctx.shouldUpdate) {
@@ -77,7 +77,6 @@ export declare const MVSAnnotationLabelParams: {
77
77
  ignoreHydrogensVariant: PD.Select<"all" | "non-polar">;
78
78
  includeParent: PD.BooleanParam;
79
79
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
80
- /** Parameter values for representation type "MVS Annotation Label" */
81
80
  annotationId: PD.Text<string>;
82
81
  fieldName: PD.Text<string>;
83
82
  };
@@ -155,7 +154,6 @@ export declare const MVSAnnotationLabelRepresentationProvider: StructureRepresen
155
154
  ignoreHydrogensVariant: PD.Select<"all" | "non-polar">;
156
155
  includeParent: PD.BooleanParam;
157
156
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
158
- /** Parameter values for representation type "MVS Annotation Label" */
159
157
  annotationId: PD.Text<string>;
160
158
  fieldName: PD.Text<string>;
161
159
  }, "mvs-annotation-label">;
@@ -15,7 +15,7 @@ export declare const CustomLabelParams: {
15
15
  defaultValue: import("../../../../mol-util/color").Color;
16
16
  type: "color";
17
17
  isExpanded?: boolean | undefined;
18
- isOptional?: boolean | undefined;
18
+ isOptional?: boolean | undefined; /** A thingy that is needed to register representation type "Custom Label", allowing user-defined labels at at user-defined positions */
19
19
  label?: string | undefined;
20
20
  description?: string | undefined;
21
21
  legend?: import("../../../../mol-util/legend").Legend | undefined;
@@ -101,7 +101,7 @@ export declare const CustomLabelRepresentationProvider: StructureRepresentationP
101
101
  defaultValue: import("../../../../mol-util/color").Color;
102
102
  type: "color";
103
103
  isExpanded?: boolean | undefined;
104
- isOptional?: boolean | undefined;
104
+ isOptional?: boolean | undefined; /** A thingy that is needed to register representation type "Custom Label", allowing user-defined labels at at user-defined positions */
105
105
  label?: string | undefined;
106
106
  description?: string | undefined;
107
107
  legend?: import("../../../../mol-util/legend").Legend | undefined;
@@ -85,7 +85,6 @@ declare class _Base<TKind extends MVSKind> {
85
85
  }[]>;
86
86
  };
87
87
  component_from_uri: {
88
- /** Add a 'representation' node and return builder pointing to it. 'representation' node instructs to create a visual representation of a component. */
89
88
  field_values: import("../generic/params-schema").OptionalField<string[] | null>;
90
89
  uri: import("../generic/params-schema").RequiredField<string>;
91
90
  format: import("../generic/params-schema").RequiredField<"json" | "cif" | "bcif">;
@@ -97,6 +96,7 @@ declare class _Base<TKind extends MVSKind> {
97
96
  };
98
97
  component_from_source: {
99
98
  field_values: import("../generic/params-schema").OptionalField<string[] | null>;
99
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
100
100
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
101
101
  block_header: import("../generic/params-schema").OptionalField<string | null>;
102
102
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -152,6 +152,7 @@ declare class _Base<TKind extends MVSKind> {
152
152
  field_name: import("../generic/params-schema").OptionalField<string>;
153
153
  };
154
154
  color_from_source: {
155
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
155
156
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
156
157
  block_header: import("../generic/params-schema").OptionalField<string | null>;
157
158
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -171,6 +172,7 @@ declare class _Base<TKind extends MVSKind> {
171
172
  field_name: import("../generic/params-schema").OptionalField<string>;
172
173
  };
173
174
  label_from_source: {
175
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
174
176
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
175
177
  block_header: import("../generic/params-schema").OptionalField<string | null>;
176
178
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -190,6 +192,7 @@ declare class _Base<TKind extends MVSKind> {
190
192
  field_name: import("../generic/params-schema").OptionalField<string>;
191
193
  };
192
194
  tooltip_from_source: {
195
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
193
196
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
194
197
  block_header: import("../generic/params-schema").OptionalField<string | null>;
195
198
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -266,7 +269,6 @@ declare class _Base<TKind extends MVSKind> {
266
269
  }[]>;
267
270
  };
268
271
  component_from_uri: {
269
- /** Add a 'representation' node and return builder pointing to it. 'representation' node instructs to create a visual representation of a component. */
270
272
  field_values: import("../generic/params-schema").OptionalField<string[] | null>;
271
273
  uri: import("../generic/params-schema").RequiredField<string>;
272
274
  format: import("../generic/params-schema").RequiredField<"json" | "cif" | "bcif">;
@@ -278,6 +280,7 @@ declare class _Base<TKind extends MVSKind> {
278
280
  };
279
281
  component_from_source: {
280
282
  field_values: import("../generic/params-schema").OptionalField<string[] | null>;
283
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
281
284
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
282
285
  block_header: import("../generic/params-schema").OptionalField<string | null>;
283
286
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -333,6 +336,7 @@ declare class _Base<TKind extends MVSKind> {
333
336
  field_name: import("../generic/params-schema").OptionalField<string>;
334
337
  };
335
338
  color_from_source: {
339
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
336
340
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
337
341
  block_header: import("../generic/params-schema").OptionalField<string | null>;
338
342
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -352,6 +356,7 @@ declare class _Base<TKind extends MVSKind> {
352
356
  field_name: import("../generic/params-schema").OptionalField<string>;
353
357
  };
354
358
  label_from_source: {
359
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
355
360
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
356
361
  block_header: import("../generic/params-schema").OptionalField<string | null>;
357
362
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -371,6 +376,7 @@ declare class _Base<TKind extends MVSKind> {
371
376
  field_name: import("../generic/params-schema").OptionalField<string>;
372
377
  };
373
378
  tooltip_from_source: {
379
+ /** Add a 'camera' node and return builder pointing to the root. 'camera' node instructs to set the camera position and orientation. */
374
380
  schema: import("../generic/params-schema").RequiredField<"atom" | "residue" | "entity" | "chain" | "whole_structure" | "auth_chain" | "auth_residue" | "residue_range" | "auth_residue_range" | "auth_atom" | "all_atomic">;
375
381
  block_header: import("../generic/params-schema").OptionalField<string | null>;
376
382
  block_index: import("../generic/params-schema").OptionalField<number>;
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Dominik Tichý <tichydominik451@gmail.com>
5
+ * @author Dušan Veľký <dvelky@mail.muni.cz>
6
+ */
1
7
  export { SbNcbrPartialCharges } from './partial-charges/behavior';
2
8
  export { SbNcbrPartialChargesPreset } from './partial-charges/preset';
3
9
  export { SbNcbrPartialChargesPropertyProvider } from './partial-charges/property';
10
+ export { SbNcbrTunnels } from './tunnels/behavior';
11
+ export { TunnelsFromRawData, SelectTunnel, TunnelFromRawData, TunnelShapeProvider } from './tunnels/representation';
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Dominik Tichý <tichydominik451@gmail.com>
5
+ * @author Dušan Veľký <dvelky@mail.muni.cz>
6
+ */
1
7
  export { SbNcbrPartialCharges } from './partial-charges/behavior';
2
8
  export { SbNcbrPartialChargesPreset } from './partial-charges/preset';
3
9
  export { SbNcbrPartialChargesPropertyProvider } from './partial-charges/property';
10
+ export { SbNcbrTunnels } from './tunnels/behavior';
11
+ export { TunnelsFromRawData, SelectTunnel, TunnelFromRawData, TunnelShapeProvider } from './tunnels/representation';