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
@@ -5,121 +5,121 @@
5
5
  *
6
6
  * heavily based on code by WestLangley from https://github.com/WestLangley/three.js/blob/af28b2fb706ac109771ecad0a7447fad90ab3210/examples/js/lines/LineMaterial.js
7
7
  */
8
- export const lines_vert = `
9
- precision highp float;
10
- precision highp int;
11
-
12
- #include common
13
- #include read_from_texture
14
- #include common_vert_params
15
- #include color_vert_params
16
- #include size_vert_params
17
- #include common_clip
18
-
19
- uniform float uPixelRatio;
20
- uniform vec4 uViewport;
21
-
22
- attribute mat4 aTransform;
23
- attribute float aInstance;
24
- attribute float aGroup;
25
-
26
- attribute vec2 aMapping;
27
- attribute vec3 aStart;
28
- attribute vec3 aEnd;
29
-
30
- void trimSegment(const in vec4 start, inout vec4 end) {
31
- // trim end segment so it terminates between the camera plane and the near plane
32
- // conservative estimate of the near plane
33
- float a = uProjection[2][2]; // 3rd entry in 3rd column
34
- float b = uProjection[3][2]; // 3rd entry in 4th column
35
- float nearEstimate = -0.5 * b / a;
36
- float alpha = (nearEstimate - start.z) / (end.z - start.z);
37
- end.xyz = mix(start.xyz, end.xyz, alpha);
38
- }
39
-
40
- void main(){
41
- float aspect = uViewport.z / uViewport.w;
42
-
43
- #include assign_group
44
- #include assign_color_varying
45
- #include assign_marker_varying
46
- #include assign_clipping_varying
47
- #include assign_size
48
-
49
- mat4 modelView = uView * uModel * aTransform;
50
-
51
- // camera space
52
- vec4 start = modelView * vec4(aStart, 1.0);
53
- vec4 end = modelView * vec4(aEnd, 1.0);
54
-
55
- // assign position
56
- vec4 position4 = vec4((aMapping.y < 0.5) ? aStart : aEnd, 1.0);
57
- vec4 mvPosition = modelView * position4;
58
- vViewPosition = mvPosition.xyz;
59
-
60
- vModelPosition = (uModel * aTransform * position4).xyz; // for clipping in frag shader
61
-
62
- // special case for perspective projection, and segments that terminate either in, or behind, the camera plane
63
- // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space
64
- // but we need to perform ndc-space calculations in the shader, so we must address this issue directly
65
- // perhaps there is a more elegant solution -- WestLangley
66
- bool perspective = (uProjection[2][3] == -1.0); // 4th entry in the 3rd column
67
- if (perspective) {
68
- if (start.z < 0.0 && end.z >= 0.0) {
69
- trimSegment(start, end);
70
- } else if (end.z < 0.0 && start.z >= 0.0) {
71
- trimSegment(end, start);
72
- }
73
- }
74
-
75
- // clip space
76
- vec4 clipStart = uProjection * start;
77
- vec4 clipEnd = uProjection * end;
78
-
79
- // ndc space
80
- vec2 ndcStart = clipStart.xy / clipStart.w;
81
- vec2 ndcEnd = clipEnd.xy / clipEnd.w;
82
-
83
- // direction
84
- vec2 dir = ndcEnd - ndcStart;
85
-
86
- // account for clip-space aspect ratio
87
- dir.x *= aspect;
88
- dir = normalize(dir);
89
-
90
- // perpendicular to dir
91
- vec2 offset = vec2(dir.y, - dir.x);
92
-
93
- // undo aspect ratio adjustment
94
- dir.x /= aspect;
95
- offset.x /= aspect;
96
-
97
- // sign flip
98
- if (aMapping.x < 0.0) offset *= -1.0;
99
-
100
- // calculate linewidth
101
- float linewidth;
102
- #ifdef dLineSizeAttenuation
103
- linewidth = size * uPixelRatio * ((uViewport.w / 2.0) / -start.z) * 5.0;
104
- #else
105
- linewidth = size * uPixelRatio;
106
- #endif
107
- linewidth = max(1.0, linewidth);
108
-
109
- // adjust for linewidth
110
- offset *= linewidth;
111
-
112
- // adjust for clip-space to screen-space conversion
113
- offset /= uViewport.w;
114
-
115
- // select end
116
- vec4 clip = (aMapping.y < 0.5) ? clipStart : clipEnd;
117
-
118
- // back to clip space
119
- offset *= clip.w;
120
- clip.xy += offset;
121
- gl_Position = clip;
122
-
123
- #include clip_instance
124
- }
8
+ export const lines_vert = `
9
+ precision highp float;
10
+ precision highp int;
11
+
12
+ #include common
13
+ #include read_from_texture
14
+ #include common_vert_params
15
+ #include color_vert_params
16
+ #include size_vert_params
17
+ #include common_clip
18
+
19
+ uniform float uPixelRatio;
20
+ uniform vec4 uViewport;
21
+
22
+ attribute mat4 aTransform;
23
+ attribute float aInstance;
24
+ attribute float aGroup;
25
+
26
+ attribute vec2 aMapping;
27
+ attribute vec3 aStart;
28
+ attribute vec3 aEnd;
29
+
30
+ void trimSegment(const in vec4 start, inout vec4 end) {
31
+ // trim end segment so it terminates between the camera plane and the near plane
32
+ // conservative estimate of the near plane
33
+ float a = uProjection[2][2]; // 3rd entry in 3rd column
34
+ float b = uProjection[3][2]; // 3rd entry in 4th column
35
+ float nearEstimate = -0.5 * b / a;
36
+ float alpha = (nearEstimate - start.z) / (end.z - start.z);
37
+ end.xyz = mix(start.xyz, end.xyz, alpha);
38
+ }
39
+
40
+ void main(){
41
+ float aspect = uViewport.z / uViewport.w;
42
+
43
+ #include assign_group
44
+ #include assign_color_varying
45
+ #include assign_marker_varying
46
+ #include assign_clipping_varying
47
+ #include assign_size
48
+
49
+ mat4 modelView = uView * uModel * aTransform;
50
+
51
+ // camera space
52
+ vec4 start = modelView * vec4(aStart, 1.0);
53
+ vec4 end = modelView * vec4(aEnd, 1.0);
54
+
55
+ // assign position
56
+ vec4 position4 = vec4((aMapping.y < 0.5) ? aStart : aEnd, 1.0);
57
+ vec4 mvPosition = modelView * position4;
58
+ vViewPosition = mvPosition.xyz;
59
+
60
+ vModelPosition = (uModel * aTransform * position4).xyz; // for clipping in frag shader
61
+
62
+ // special case for perspective projection, and segments that terminate either in, or behind, the camera plane
63
+ // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space
64
+ // but we need to perform ndc-space calculations in the shader, so we must address this issue directly
65
+ // perhaps there is a more elegant solution -- WestLangley
66
+ bool perspective = (uProjection[2][3] == -1.0); // 4th entry in the 3rd column
67
+ if (perspective) {
68
+ if (start.z < 0.0 && end.z >= 0.0) {
69
+ trimSegment(start, end);
70
+ } else if (end.z < 0.0 && start.z >= 0.0) {
71
+ trimSegment(end, start);
72
+ }
73
+ }
74
+
75
+ // clip space
76
+ vec4 clipStart = uProjection * start;
77
+ vec4 clipEnd = uProjection * end;
78
+
79
+ // ndc space
80
+ vec2 ndcStart = clipStart.xy / clipStart.w;
81
+ vec2 ndcEnd = clipEnd.xy / clipEnd.w;
82
+
83
+ // direction
84
+ vec2 dir = ndcEnd - ndcStart;
85
+
86
+ // account for clip-space aspect ratio
87
+ dir.x *= aspect;
88
+ dir = normalize(dir);
89
+
90
+ // perpendicular to dir
91
+ vec2 offset = vec2(dir.y, - dir.x);
92
+
93
+ // undo aspect ratio adjustment
94
+ dir.x /= aspect;
95
+ offset.x /= aspect;
96
+
97
+ // sign flip
98
+ if (aMapping.x < 0.0) offset *= -1.0;
99
+
100
+ // calculate linewidth
101
+ float linewidth;
102
+ #ifdef dLineSizeAttenuation
103
+ linewidth = size * uPixelRatio * ((uViewport.w / 2.0) / -start.z) * 5.0;
104
+ #else
105
+ linewidth = size * uPixelRatio;
106
+ #endif
107
+ linewidth = max(1.0, linewidth);
108
+
109
+ // adjust for linewidth
110
+ offset *= linewidth;
111
+
112
+ // adjust for clip-space to screen-space conversion
113
+ offset /= uViewport.w;
114
+
115
+ // select end
116
+ vec4 clip = (aMapping.y < 0.5) ? clipStart : clipEnd;
117
+
118
+ // back to clip space
119
+ offset *= clip.w;
120
+ clip.xy += offset;
121
+ gl_Position = clip;
122
+
123
+ #include clip_instance
124
+ }
125
125
  `;
@@ -1,71 +1,71 @@
1
- export const activeVoxels_frag = `
2
- precision highp float;
3
- precision highp int;
4
- precision highp sampler2D;
5
-
6
- uniform sampler2D tTriCount;
7
- uniform sampler2D tVolumeData;
8
-
9
- uniform float uIsoValue;
10
- uniform vec3 uGridDim;
11
- uniform vec3 uGridTexDim;
12
- uniform vec2 uScale;
13
-
14
- #include common
15
-
16
- // cube corners (excluding origin)
17
- const vec3 c1 = vec3(1., 0., 0.);
18
- const vec3 c2 = vec3(1., 1., 0.);
19
- const vec3 c3 = vec3(0., 1., 0.);
20
- const vec3 c4 = vec3(0., 0., 1.);
21
- const vec3 c5 = vec3(1., 0., 1.);
22
- const vec3 c6 = vec3(1., 1., 1.);
23
- const vec3 c7 = vec3(0., 1., 1.);
24
-
25
- vec3 index3dFrom2d(vec2 coord) {
26
- vec2 gridTexPos = coord * uGridTexDim.xy;
27
- vec2 columnRow = ivec2Div(gridTexPos, uGridDim.xy);
28
- vec2 posXY = gridTexPos - columnRow * uGridDim.xy;
29
- float posZ = columnRow.y * intDiv(uGridTexDim.x, uGridDim.x) + columnRow.x;
30
- return vec3(posXY, posZ);
31
- }
32
-
33
- vec4 texture3dFrom2dNearest(sampler2D tex, vec3 pos, vec3 gridDim, vec2 texDim) {
34
- float zSlice = floor(pos.z * gridDim.z + 0.5); // round to nearest z-slice
35
- float column = intDiv(intMod(zSlice * gridDim.x, texDim.x), gridDim.x);
36
- float row = intDiv(zSlice * gridDim.x, texDim.x);
37
- vec2 coord = (vec2(column * gridDim.x, row * gridDim.y) + (pos.xy * gridDim.xy)) / (texDim / uScale);
38
- return texture2D(tex, coord);
39
- }
40
-
41
- vec4 voxel(vec3 pos) {
42
- pos = min(max(vec3(0.0), pos), uGridDim - vec3(1.0));
43
- return texture3dFrom2dNearest(tVolumeData, pos / uGridDim, uGridDim, uGridTexDim.xy);
44
- }
45
-
46
- void main(void) {
47
- vec2 uv = gl_FragCoord.xy / uGridTexDim.xy;
48
- vec3 posXYZ = index3dFrom2d(uv);
49
-
50
- // get MC case as the sum of corners that are below the given iso level
51
- float c = step(voxel(posXYZ).a, uIsoValue)
52
- + 2. * step(voxel(posXYZ + c1).a, uIsoValue)
53
- + 4. * step(voxel(posXYZ + c2).a, uIsoValue)
54
- + 8. * step(voxel(posXYZ + c3).a, uIsoValue)
55
- + 16. * step(voxel(posXYZ + c4).a, uIsoValue)
56
- + 32. * step(voxel(posXYZ + c5).a, uIsoValue)
57
- + 64. * step(voxel(posXYZ + c6).a, uIsoValue)
58
- + 128. * step(voxel(posXYZ + c7).a, uIsoValue);
59
- c *= step(c, 254.);
60
-
61
- // handle out of bounds positions
62
- posXYZ += 1.0;
63
- posXYZ.xy += 1.0; // pixel padding (usually ok even if the texture has no padding)
64
- if (posXYZ.x >= uGridDim.x || posXYZ.y >= uGridDim.y || posXYZ.z >= uGridDim.z)
65
- c = 0.0;
66
-
67
- // get total triangles to generate for calculated MC case from triCount texture
68
- float totalTrianglesToGenerate = texture2D(tTriCount, vec2(intMod(c, 16.), floor(c / 16.)) / 16.).a;
69
- gl_FragColor = vec4(vec3(totalTrianglesToGenerate * 3.0), c / 255.0);
70
- }
1
+ export const activeVoxels_frag = `
2
+ precision highp float;
3
+ precision highp int;
4
+ precision highp sampler2D;
5
+
6
+ uniform sampler2D tTriCount;
7
+ uniform sampler2D tVolumeData;
8
+
9
+ uniform float uIsoValue;
10
+ uniform vec3 uGridDim;
11
+ uniform vec3 uGridTexDim;
12
+ uniform vec2 uScale;
13
+
14
+ #include common
15
+
16
+ // cube corners (excluding origin)
17
+ const vec3 c1 = vec3(1., 0., 0.);
18
+ const vec3 c2 = vec3(1., 1., 0.);
19
+ const vec3 c3 = vec3(0., 1., 0.);
20
+ const vec3 c4 = vec3(0., 0., 1.);
21
+ const vec3 c5 = vec3(1., 0., 1.);
22
+ const vec3 c6 = vec3(1., 1., 1.);
23
+ const vec3 c7 = vec3(0., 1., 1.);
24
+
25
+ vec3 index3dFrom2d(vec2 coord) {
26
+ vec2 gridTexPos = coord * uGridTexDim.xy;
27
+ vec2 columnRow = ivec2Div(gridTexPos, uGridDim.xy);
28
+ vec2 posXY = gridTexPos - columnRow * uGridDim.xy;
29
+ float posZ = columnRow.y * intDiv(uGridTexDim.x, uGridDim.x) + columnRow.x;
30
+ return vec3(posXY, posZ);
31
+ }
32
+
33
+ vec4 texture3dFrom2dNearest(sampler2D tex, vec3 pos, vec3 gridDim, vec2 texDim) {
34
+ float zSlice = floor(pos.z * gridDim.z + 0.5); // round to nearest z-slice
35
+ float column = intDiv(intMod(zSlice * gridDim.x, texDim.x), gridDim.x);
36
+ float row = intDiv(zSlice * gridDim.x, texDim.x);
37
+ vec2 coord = (vec2(column * gridDim.x, row * gridDim.y) + (pos.xy * gridDim.xy)) / (texDim / uScale);
38
+ return texture2D(tex, coord);
39
+ }
40
+
41
+ vec4 voxel(vec3 pos) {
42
+ pos = min(max(vec3(0.0), pos), uGridDim - vec3(1.0));
43
+ return texture3dFrom2dNearest(tVolumeData, pos / uGridDim, uGridDim, uGridTexDim.xy);
44
+ }
45
+
46
+ void main(void) {
47
+ vec2 uv = gl_FragCoord.xy / uGridTexDim.xy;
48
+ vec3 posXYZ = index3dFrom2d(uv);
49
+
50
+ // get MC case as the sum of corners that are below the given iso level
51
+ float c = step(voxel(posXYZ).a, uIsoValue)
52
+ + 2. * step(voxel(posXYZ + c1).a, uIsoValue)
53
+ + 4. * step(voxel(posXYZ + c2).a, uIsoValue)
54
+ + 8. * step(voxel(posXYZ + c3).a, uIsoValue)
55
+ + 16. * step(voxel(posXYZ + c4).a, uIsoValue)
56
+ + 32. * step(voxel(posXYZ + c5).a, uIsoValue)
57
+ + 64. * step(voxel(posXYZ + c6).a, uIsoValue)
58
+ + 128. * step(voxel(posXYZ + c7).a, uIsoValue);
59
+ c *= step(c, 254.);
60
+
61
+ // handle out of bounds positions
62
+ posXYZ += 1.0;
63
+ posXYZ.xy += 1.0; // pixel padding (usually ok even if the texture has no padding)
64
+ if (posXYZ.x >= uGridDim.x || posXYZ.y >= uGridDim.y || posXYZ.z >= uGridDim.z)
65
+ c = 0.0;
66
+
67
+ // get total triangles to generate for calculated MC case from triCount texture
68
+ float totalTrianglesToGenerate = texture2D(tTriCount, vec2(intMod(c, 16.), floor(c / 16.)) / 16.).a;
69
+ gl_FragColor = vec4(vec3(totalTrianglesToGenerate * 3.0), c / 255.0);
70
+ }
71
71
  `;