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