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,89 +3,89 @@
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
- export const text_frag = `
7
- precision highp float;
8
- precision highp int;
9
-
10
- #include common
11
- #include common_frag_params
12
- #include color_frag_params
13
- #include common_clip
14
-
15
- uniform sampler2D tFont;
16
-
17
- uniform vec3 uBorderColor;
18
- uniform float uBorderWidth;
19
- uniform vec3 uBackgroundColor;
20
- uniform float uBackgroundOpacity;
21
-
22
- varying vec2 vTexCoord;
23
-
24
- const float smoothness = 32.0;
25
- const float gamma = 2.2;
26
-
27
- void main2(){
28
- gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
29
- }
30
-
31
- void main(){
32
- #include fade_lod
33
- #include clip_pixel
34
-
35
- float fragmentDepth = gl_FragCoord.z;
36
- #include assign_material_color
37
-
38
- if (vTexCoord.x > 1.0) {
39
- #if defined(dRenderVariant_color)
40
- material = vec4(uBackgroundColor, uBackgroundOpacity * material.a);
41
- #endif
42
- } else {
43
- // retrieve signed distance
44
- float sdf = texture2D(tFont, vTexCoord).a + uBorderWidth;
45
-
46
- // perform adaptive anti-aliasing of the edges
47
- float w = clamp(smoothness * (abs(dFdx(vTexCoord.x)) + abs(dFdy(vTexCoord.y))), 0.0, 0.5);
48
- float a = clamp(0.0, 1.0, smoothstep(0.5 - w, 0.5 + w, sdf));
49
-
50
- // gamma correction for linear attenuation
51
- a = pow(a, 1.0 / gamma);
52
-
53
- if (a < 0.5) discard;
54
-
55
- #if defined(dRenderVariant_color)
56
- // add border
57
- float t = 0.5 + uBorderWidth;
58
- if (uBorderWidth > 0.0 && sdf < t) {
59
- material.xyz = mix(uBorderColor, material.xyz, smoothstep(t - w, t, sdf));
60
- }
61
- #endif
62
- }
63
-
64
- #include check_transparency
65
-
66
- #if defined(dRenderVariant_pick)
67
- #include check_picking_alpha
68
- #ifdef requiredDrawBuffers
69
- gl_FragColor = vObject;
70
- gl_FragData[1] = vInstance;
71
- gl_FragData[2] = vGroup;
72
- gl_FragData[3] = packDepthToRGBA(fragmentDepth);
73
- #else
74
- gl_FragColor = vColor;
75
- #endif
76
- #elif defined(dRenderVariant_depth)
77
- gl_FragColor = material;
78
- #elif defined(dRenderVariant_marking)
79
- gl_FragColor = material;
80
- #elif defined(dRenderVariant_emissive)
81
- gl_FragColor = material;
82
- #elif defined(dRenderVariant_color)
83
- gl_FragColor = material;
84
-
85
- #include apply_marker_color
86
- #include apply_fog
87
- #include wboit_write
88
- #include dpoit_write
89
- #endif
90
- }
6
+ export const text_frag = `
7
+ precision highp float;
8
+ precision highp int;
9
+
10
+ #include common
11
+ #include common_frag_params
12
+ #include color_frag_params
13
+ #include common_clip
14
+
15
+ uniform sampler2D tFont;
16
+
17
+ uniform vec3 uBorderColor;
18
+ uniform float uBorderWidth;
19
+ uniform vec3 uBackgroundColor;
20
+ uniform float uBackgroundOpacity;
21
+
22
+ varying vec2 vTexCoord;
23
+
24
+ const float smoothness = 32.0;
25
+ const float gamma = 2.2;
26
+
27
+ void main2(){
28
+ gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
29
+ }
30
+
31
+ void main(){
32
+ #include fade_lod
33
+ #include clip_pixel
34
+
35
+ float fragmentDepth = gl_FragCoord.z;
36
+ #include assign_material_color
37
+
38
+ if (vTexCoord.x > 1.0) {
39
+ #if defined(dRenderVariant_color)
40
+ material = vec4(uBackgroundColor, uBackgroundOpacity * material.a);
41
+ #endif
42
+ } else {
43
+ // retrieve signed distance
44
+ float sdf = texture2D(tFont, vTexCoord).a + uBorderWidth;
45
+
46
+ // perform adaptive anti-aliasing of the edges
47
+ float w = clamp(smoothness * (abs(dFdx(vTexCoord.x)) + abs(dFdy(vTexCoord.y))), 0.0, 0.5);
48
+ float a = clamp(0.0, 1.0, smoothstep(0.5 - w, 0.5 + w, sdf));
49
+
50
+ // gamma correction for linear attenuation
51
+ a = pow(a, 1.0 / gamma);
52
+
53
+ if (a < 0.5) discard;
54
+
55
+ #if defined(dRenderVariant_color)
56
+ // add border
57
+ float t = 0.5 + uBorderWidth;
58
+ if (uBorderWidth > 0.0 && sdf < t) {
59
+ material.xyz = mix(uBorderColor, material.xyz, smoothstep(t - w, t, sdf));
60
+ }
61
+ #endif
62
+ }
63
+
64
+ #include check_transparency
65
+
66
+ #if defined(dRenderVariant_pick)
67
+ #include check_picking_alpha
68
+ #ifdef requiredDrawBuffers
69
+ gl_FragColor = vObject;
70
+ gl_FragData[1] = vInstance;
71
+ gl_FragData[2] = vGroup;
72
+ gl_FragData[3] = packDepthToRGBA(fragmentDepth);
73
+ #else
74
+ gl_FragColor = vColor;
75
+ #endif
76
+ #elif defined(dRenderVariant_depth)
77
+ gl_FragColor = material;
78
+ #elif defined(dRenderVariant_marking)
79
+ gl_FragColor = material;
80
+ #elif defined(dRenderVariant_emissive)
81
+ gl_FragColor = material;
82
+ #elif defined(dRenderVariant_color)
83
+ gl_FragColor = material;
84
+
85
+ #include apply_marker_color
86
+ #include apply_fog
87
+ #include wboit_write
88
+ #include dpoit_write
89
+ #endif
90
+ }
91
91
  `;
@@ -3,89 +3,89 @@
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
- export const text_vert = `
7
- precision highp float;
8
- precision highp int;
9
-
10
- #include common
11
- #include read_from_texture
12
- #include common_vert_params
13
- #include color_vert_params
14
- #include size_vert_params
15
- #include common_clip
16
-
17
- uniform mat4 uModelView;
18
-
19
- attribute vec3 aPosition;
20
- attribute vec2 aMapping;
21
- attribute float aDepth;
22
- attribute vec2 aTexCoord;
23
- attribute mat4 aTransform;
24
- attribute float aInstance;
25
- attribute float aGroup;
26
-
27
- uniform float uOffsetX;
28
- uniform float uOffsetY;
29
- uniform float uOffsetZ;
30
-
31
- uniform float uIsOrtho;
32
- uniform float uPixelRatio;
33
- uniform vec4 uViewport;
34
-
35
- varying vec2 vTexCoord;
36
-
37
- #include matrix_scale
38
-
39
- void main(void){
40
- #include assign_group
41
- #include assign_color_varying
42
- #include assign_marker_varying
43
- #include assign_clipping_varying
44
- #include assign_size
45
-
46
- vTexCoord = aTexCoord;
47
-
48
- float scale = matrixScale(uModelView);
49
-
50
- float offsetX = uOffsetX * scale;
51
- float offsetY = uOffsetY * scale;
52
- float offsetZ = (uOffsetZ + aDepth * 0.95) * scale;
53
-
54
- vec4 position4 = vec4(aPosition, 1.0);
55
- vec4 mvPosition = uModelView * aTransform * position4;
56
-
57
- vModelPosition = (uModel * aTransform * position4).xyz; // for clipping in frag shader
58
-
59
- // TODO
60
- // #ifdef FIXED_SIZE
61
- // if (ortho) {
62
- // scale /= pixelRatio * ((uViewport.w / 2.0) / -uCameraPosition.z) * 0.1;
63
- // } else {
64
- // scale /= pixelRatio * ((uViewport.w / 2.0) / -mvPosition.z) * 0.1;
65
- // }
66
- // #endif
67
-
68
- vec4 mvCorner = vec4(mvPosition.xyz, 1.0);
69
-
70
- if (vTexCoord.x == 10.0) { // indicates background plane
71
- // move a bit to the back, taking distance to camera into account to avoid z-fighting
72
- offsetZ -= 0.001 * distance(uCameraPosition, (uProjection * mvCorner).xyz);
73
- }
74
-
75
- mvCorner.xy += aMapping * size * scale;
76
- mvCorner.x += offsetX;
77
- mvCorner.y += offsetY;
78
-
79
- if (uIsOrtho == 1.0) {
80
- mvCorner.z += offsetZ;
81
- } else {
82
- mvCorner.xyz += normalize(-mvCorner.xyz) * offsetZ;
83
- }
84
-
85
- gl_Position = uProjection * mvCorner;
86
-
87
- vViewPosition = -mvCorner.xyz;
88
-
89
- #include clip_instance
90
- }
6
+ export const text_vert = `
7
+ precision highp float;
8
+ precision highp int;
9
+
10
+ #include common
11
+ #include read_from_texture
12
+ #include common_vert_params
13
+ #include color_vert_params
14
+ #include size_vert_params
15
+ #include common_clip
16
+
17
+ uniform mat4 uModelView;
18
+
19
+ attribute vec3 aPosition;
20
+ attribute vec2 aMapping;
21
+ attribute float aDepth;
22
+ attribute vec2 aTexCoord;
23
+ attribute mat4 aTransform;
24
+ attribute float aInstance;
25
+ attribute float aGroup;
26
+
27
+ uniform float uOffsetX;
28
+ uniform float uOffsetY;
29
+ uniform float uOffsetZ;
30
+
31
+ uniform float uIsOrtho;
32
+ uniform float uPixelRatio;
33
+ uniform vec4 uViewport;
34
+
35
+ varying vec2 vTexCoord;
36
+
37
+ #include matrix_scale
38
+
39
+ void main(void){
40
+ #include assign_group
41
+ #include assign_color_varying
42
+ #include assign_marker_varying
43
+ #include assign_clipping_varying
44
+ #include assign_size
45
+
46
+ vTexCoord = aTexCoord;
47
+
48
+ float scale = matrixScale(uModelView);
49
+
50
+ float offsetX = uOffsetX * scale;
51
+ float offsetY = uOffsetY * scale;
52
+ float offsetZ = (uOffsetZ + aDepth * 0.95) * scale;
53
+
54
+ vec4 position4 = vec4(aPosition, 1.0);
55
+ vec4 mvPosition = uModelView * aTransform * position4;
56
+
57
+ vModelPosition = (uModel * aTransform * position4).xyz; // for clipping in frag shader
58
+
59
+ // TODO
60
+ // #ifdef FIXED_SIZE
61
+ // if (ortho) {
62
+ // scale /= pixelRatio * ((uViewport.w / 2.0) / -uCameraPosition.z) * 0.1;
63
+ // } else {
64
+ // scale /= pixelRatio * ((uViewport.w / 2.0) / -mvPosition.z) * 0.1;
65
+ // }
66
+ // #endif
67
+
68
+ vec4 mvCorner = vec4(mvPosition.xyz, 1.0);
69
+
70
+ if (vTexCoord.x == 10.0) { // indicates background plane
71
+ // move a bit to the back, taking distance to camera into account to avoid z-fighting
72
+ offsetZ -= 0.001 * distance(uCameraPosition, (uProjection * mvCorner).xyz);
73
+ }
74
+
75
+ mvCorner.xy += aMapping * size * scale;
76
+ mvCorner.x += offsetX;
77
+ mvCorner.y += offsetY;
78
+
79
+ if (uIsOrtho == 1.0) {
80
+ mvCorner.z += offsetZ;
81
+ } else {
82
+ mvCorner.xyz += normalize(-mvCorner.xyz) * offsetZ;
83
+ }
84
+
85
+ gl_Position = uProjection * mvCorner;
86
+
87
+ vViewPosition = -mvCorner.xyz;
88
+
89
+ #include clip_instance
90
+ }
91
91
  `;
@@ -3,50 +3,50 @@
3
3
  *
4
4
  * @author David Sehnal <david.sehnal@gmail.com>
5
5
  */
6
- export const grid3dTemplate_frag = `
7
- precision highp float;
8
- precision highp int;
9
- precision highp sampler2D;
10
-
11
- uniform vec2 uQuadShift;
12
- uniform vec3 uDimensions;
13
- uniform vec3 uMin;
14
- uniform vec3 uDelta;
15
- uniform bool uLittleEndian;
16
- uniform float uWidth;
17
-
18
- #ifdef CUMULATIVE
19
- uniform sampler2D tCumulativeSum;
20
- #endif
21
-
22
- {UNIFORMS}
23
-
24
- {UTILS}
25
-
26
- #include float_to_rgba
27
- #ifdef CUMULATIVE
28
- #include rgba_to_float
29
- #endif
30
-
31
- float intDiv(float a, float b) { return float(int(a) / int(b)); }
32
- float intMod(float a, float b) { return a - b * float(int(a) / int(b)); }
33
-
34
- void main(void) {
35
- float offset = floor(gl_FragCoord.x) + floor(gl_FragCoord.y) * uWidth;
36
-
37
- // axis order fast to slow Z, Y, X
38
- // TODO: support arbitrary axis orders?
39
- float k = intMod(offset, uDimensions.z), kk = intDiv(offset, uDimensions.z);
40
- float j = intMod(kk, uDimensions.y);
41
- float i = intDiv(kk, uDimensions.y);
42
-
43
- vec3 xyz = uMin + uDelta * vec3(i, j, k);
44
-
45
- {MAIN}
46
-
47
- #ifdef CUMULATIVE
48
- float current = rgbaToFloat(texture2D(tCumulativeSum, gl_FragCoord.xy / vec2(uWidth, uWidth)), uLittleEndian);
49
- #endif
50
- gl_FragColor = floatToRgba({RETURN}, uLittleEndian);
51
- }
6
+ export const grid3dTemplate_frag = `
7
+ precision highp float;
8
+ precision highp int;
9
+ precision highp sampler2D;
10
+
11
+ uniform vec2 uQuadShift;
12
+ uniform vec3 uDimensions;
13
+ uniform vec3 uMin;
14
+ uniform vec3 uDelta;
15
+ uniform bool uLittleEndian;
16
+ uniform float uWidth;
17
+
18
+ #ifdef CUMULATIVE
19
+ uniform sampler2D tCumulativeSum;
20
+ #endif
21
+
22
+ {UNIFORMS}
23
+
24
+ {UTILS}
25
+
26
+ #include float_to_rgba
27
+ #ifdef CUMULATIVE
28
+ #include rgba_to_float
29
+ #endif
30
+
31
+ float intDiv(float a, float b) { return float(int(a) / int(b)); }
32
+ float intMod(float a, float b) { return a - b * float(int(a) / int(b)); }
33
+
34
+ void main(void) {
35
+ float offset = floor(gl_FragCoord.x) + floor(gl_FragCoord.y) * uWidth;
36
+
37
+ // axis order fast to slow Z, Y, X
38
+ // TODO: support arbitrary axis orders?
39
+ float k = intMod(offset, uDimensions.z), kk = intDiv(offset, uDimensions.z);
40
+ float j = intMod(kk, uDimensions.y);
41
+ float i = intDiv(kk, uDimensions.y);
42
+
43
+ vec3 xyz = uMin + uDelta * vec3(i, j, k);
44
+
45
+ {MAIN}
46
+
47
+ #ifdef CUMULATIVE
48
+ float current = rgbaToFloat(texture2D(tCumulativeSum, gl_FragCoord.xy / vec2(uWidth, uWidth)), uLittleEndian);
49
+ #endif
50
+ gl_FragColor = floatToRgba({RETURN}, uLittleEndian);
51
+ }
52
52
  `;
@@ -261,22 +261,22 @@ function getGlsl100FragPrefix(extensions, shaderExtensions) {
261
261
  }
262
262
  return prefix.join('\n') + '\n';
263
263
  }
264
- const glsl300VertPrefixCommon = `
265
- #define attribute in
266
- #define varying out
267
- #define texture2D texture
264
+ const glsl300VertPrefixCommon = `
265
+ #define attribute in
266
+ #define varying out
267
+ #define texture2D texture
268
268
  `;
269
- const glsl300FragPrefixCommon = `
270
- #define varying in
271
- #define texture2D texture
272
- #define textureCube texture
273
- #define texture2DLodEXT textureLod
274
- #define textureCubeLodEXT textureLod
275
-
276
- #define gl_FragColor out_FragData0
277
- #define gl_FragDepthEXT gl_FragDepth
278
-
279
- #define depthTextureSupport
269
+ const glsl300FragPrefixCommon = `
270
+ #define varying in
271
+ #define texture2D texture
272
+ #define textureCube texture
273
+ #define texture2DLodEXT textureLod
274
+ #define textureCubeLodEXT textureLod
275
+
276
+ #define gl_FragColor out_FragData0
277
+ #define gl_FragDepthEXT gl_FragDepth
278
+
279
+ #define depthTextureSupport
280
280
  `;
281
281
  function getGlsl300VertPrefix(extensions, shaderExtensions) {
282
282
  const prefix = [
@@ -426,19 +426,19 @@ export function getNoNonInstancedActiveAttribs(gl) {
426
426
  return false;
427
427
  }
428
428
  //
429
- const TextureTestVertShader = `
430
- attribute vec4 aPosition;
431
-
432
- void main() {
433
- gl_Position = aPosition;
429
+ const TextureTestVertShader = `
430
+ attribute vec4 aPosition;
431
+
432
+ void main() {
433
+ gl_Position = aPosition;
434
434
  }`;
435
- const TextureTestFragShader = `
436
- precision mediump float;
437
- uniform vec4 uColor;
438
- uniform sampler2D uTexture;
439
-
440
- void main() {
441
- gl_FragColor = texture2D(uTexture, vec2(0.5, 0.5)) * uColor;
435
+ const TextureTestFragShader = `
436
+ precision mediump float;
437
+ uniform vec4 uColor;
438
+ uniform sampler2D uTexture;
439
+
440
+ void main() {
441
+ gl_FragColor = texture2D(uTexture, vec2(0.5, 0.5)) * uColor;
442
442
  }`;
443
443
  const TextureTestTexCoords = new Float32Array([
444
444
  -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0
@@ -271,6 +271,7 @@ export function createContext(gl, props = {}) {
271
271
  contextRestored,
272
272
  setContextLost: () => {
273
273
  isContextLost = true;
274
+ timer.clear();
274
275
  },
275
276
  handleContextRestored: (extraResets) => {
276
277
  Object.assign(extensions, createExtensions(gl));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2022-2023 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2022-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2022-2023 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2022-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
@@ -22,6 +22,9 @@ class MovingAverage {
22
22
  stats() {
23
23
  return Object.fromEntries(this.avgs.entries());
24
24
  }
25
+ clear() {
26
+ this.avgs.clear();
27
+ }
25
28
  constructor(count) {
26
29
  this.count = count;
27
30
  this.avgs = new Map();
@@ -58,8 +61,12 @@ export function createTimer(gl, extensions, stats, options) {
58
61
  dtq.deleteQuery(query);
59
62
  });
60
63
  pending.clear();
64
+ stack.length = 0;
65
+ gpuAvgs.clear();
66
+ cpuAvgs.clear();
61
67
  measures = [];
62
68
  current = null;
69
+ capturingStats = false;
63
70
  };
64
71
  const add = () => {
65
72
  if (!dtq)
@@ -53,7 +53,8 @@ function computeN(state) {
53
53
  const cA = state.centerA;
54
54
  const cB = state.centerB;
55
55
  let sizeSq = 0.0;
56
- for (let i = 0, _l = state.a.x.length; i < _l; i++) {
56
+ const L = Math.min(state.a.x.length, state.b.x.length);
57
+ for (let i = 0; i < L; i++) {
57
58
  const aX = xsA[i] - cA[0], aY = ysA[i] - cA[1], aZ = zsA[i] - cA[2];
58
59
  const bX = xsB[i] - cB[0], bY = ysB[i] - cB[1], bZ = zsB[i] - cB[2];
59
60
  sizeSq += aX * aX + aY * aY + aZ * aZ + bX * bX + bY * bY + bZ * bZ;
@@ -15,6 +15,7 @@ export declare class PluginAnimationLoop {
15
15
  isSynchronous?: boolean;
16
16
  manualDraw?: boolean;
17
17
  animation?: PluginAnimationManager.AnimationInfo;
18
+ updateControls?: boolean;
18
19
  }): Promise<void>;
19
20
  private frame;
20
21
  resetTime(t?: number): void;
@@ -55,14 +55,14 @@ export declare namespace VolumeStreaming {
55
55
  topRight: Vec3;
56
56
  }>, "box"> | PD.NamedParams<PD.Normalize<{
57
57
  radius: number;
58
+ dynamicDetailLevel: number;
58
59
  bottomLeft: Vec3;
59
60
  topRight: Vec3;
60
- }>, "selection-box"> | PD.NamedParams<PD.Normalize<{
61
+ }>, "camera-target"> | PD.NamedParams<PD.Normalize<{
61
62
  radius: number;
62
- dynamicDetailLevel: number;
63
63
  bottomLeft: Vec3;
64
64
  topRight: Vec3;
65
- }>, "camera-target">>;
65
+ }>, "selection-box">>;
66
66
  detailLevel: PD.Select<number>;
67
67
  channels: PD.Group<PD.Normalize<{
68
68
  em: PD.Normalize<ChannelParams>;
@@ -92,14 +92,14 @@ export declare namespace VolumeStreaming {
92
92
  topRight: Vec3;
93
93
  }>, "box"> | PD.NamedParams<PD.Normalize<{
94
94
  radius: number;
95
+ dynamicDetailLevel: number;
95
96
  bottomLeft: Vec3;
96
97
  topRight: Vec3;
97
- }>, "selection-box"> | PD.NamedParams<PD.Normalize<{
98
+ }>, "camera-target"> | PD.NamedParams<PD.Normalize<{
98
99
  radius: number;
99
- dynamicDetailLevel: number;
100
100
  bottomLeft: Vec3;
101
101
  topRight: Vec3;
102
- }>, "camera-target">>;
102
+ }>, "selection-box">>;
103
103
  detailLevel: PD.Select<number>;
104
104
  channels: PD.Group<PD.Normalize<{
105
105
  em: PD.Normalize<ChannelParams>;
@@ -12,7 +12,7 @@ declare const VolumeServerInfo_base: {
12
12
  label: string;
13
13
  description?: string | undefined;
14
14
  } | undefined): {
15
- id: import("../../../../mol-util").UUID;
15
+ id: import("../../../../mol-util").UUID; /** The value are stored in blockSize^3 cubes */
16
16
  type: PluginStateObject.TypeInfo;
17
17
  label: string;
18
18
  description?: string | undefined;
@@ -50,14 +50,14 @@ declare const CreateVolumeStreamingBehavior: StateTransformer<VolumeServerInfo,
50
50
  topRight: any;
51
51
  }>, "box"> | PD.NamedParams<PD.Normalize<{
52
52
  radius: any;
53
+ dynamicDetailLevel: any;
53
54
  bottomLeft: any;
54
55
  topRight: any;
55
- }>, "selection-box"> | PD.NamedParams<PD.Normalize<{
56
+ }>, "camera-target"> | PD.NamedParams<PD.Normalize<{
56
57
  radius: any;
57
- dynamicDetailLevel: any;
58
58
  bottomLeft: any;
59
59
  topRight: any;
60
- }>, "camera-target">>;
60
+ }>, "selection-box">>;
61
61
  detailLevel: PD.Select<number>;
62
62
  channels: PD.Group<PD.Normalize<{
63
63
  em: any;
@@ -1,2 +1,2 @@
1
- export var PLUGIN_VERSION = '4.2.0';
2
- export var PLUGIN_VERSION_DATE = new Date(typeof __MOLSTAR_DEBUG_TIMESTAMP__ !== 'undefined' ? __MOLSTAR_DEBUG_TIMESTAMP__ : 1714873887724);
1
+ export var PLUGIN_VERSION = '4.3.0';
2
+ export var PLUGIN_VERSION_DATE = new Date(typeof __MOLSTAR_DEBUG_TIMESTAMP__ !== 'undefined' ? __MOLSTAR_DEBUG_TIMESTAMP__ : 1716707835175);