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
@@ -6,88 +6,88 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.rgba_to_float = void 0;
9
- exports.rgba_to_float = `
10
- // rgbaToFloat adapted from https://github.com/ihmeuw/glsl-rgba-to-float
11
- // BSD 3-Clause License
12
- //
13
- // Copyright (c) 2019, Institute for Health Metrics and Evaluation All rights reserved.
14
- // Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
15
- // - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
16
- // - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
17
- // - Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
18
- //
19
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
20
- // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21
- // IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
22
- // OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23
- // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24
- // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
25
- // OF THE POSSIBILITY OF SUCH DAMAGE.
26
-
27
- ivec4 floatsToBytes(vec4 inputFloats, bool littleEndian) {
28
- ivec4 bytes = ivec4(inputFloats * 255.0);
29
- return (
30
- littleEndian
31
- ? bytes.abgr
32
- : bytes
33
- );
34
- }
35
-
36
- // Break the four bytes down into an array of 32 bits.
37
- void bytesToBits(const in ivec4 bytes, out bool bits[32]) {
38
- for (int channelIndex = 0; channelIndex < 4; ++channelIndex) {
39
- float acc = float(bytes[channelIndex]);
40
- for (int indexInByte = 7; indexInByte >= 0; --indexInByte) {
41
- float powerOfTwo = exp2(float(indexInByte));
42
- bool bit = acc >= powerOfTwo;
43
- bits[channelIndex * 8 + (7 - indexInByte)] = bit;
44
- acc = mod(acc, powerOfTwo);
45
- }
46
- }
47
- }
48
-
49
- // Compute the exponent of the 32-bit float.
50
- float getExponent(bool bits[32]) {
51
- const int startIndex = 1;
52
- const int bitStringLength = 8;
53
- const int endBeforeIndex = startIndex + bitStringLength;
54
- float acc = 0.0;
55
- int pow2 = bitStringLength - 1;
56
- for (int bitIndex = startIndex; bitIndex < endBeforeIndex; ++bitIndex) {
57
- acc += float(bits[bitIndex]) * exp2(float(pow2--));
58
- }
59
- return acc;
60
- }
61
-
62
- // Compute the mantissa of the 32-bit float.
63
- float getMantissa(bool bits[32], bool subnormal) {
64
- const int startIndex = 9;
65
- const int bitStringLength = 23;
66
- const int endBeforeIndex = startIndex + bitStringLength;
67
- // Leading/implicit/hidden bit convention:
68
- // If the number is not subnormal (with exponent 0), we add a leading 1 digit.
69
- float acc = float(!subnormal) * exp2(float(bitStringLength));
70
- int pow2 = bitStringLength - 1;
71
- for (int bitIndex = startIndex; bitIndex < endBeforeIndex; ++bitIndex) {
72
- acc += float(bits[bitIndex]) * exp2(float(pow2--));
73
- }
74
- return acc;
75
- }
76
-
77
- // Parse the float from its 32 bits.
78
- float bitsToFloat(bool bits[32]) {
79
- float signBit = float(bits[0]) * -2.0 + 1.0;
80
- float exponent = getExponent(bits);
81
- bool subnormal = abs(exponent - 0.0) < 0.01;
82
- float mantissa = getMantissa(bits, subnormal);
83
- float exponentBias = 127.0;
84
- return signBit * mantissa * exp2(exponent - exponentBias - 23.0);
85
- }
86
-
87
- float rgbaToFloat(vec4 texelRGBA, bool littleEndian) {
88
- ivec4 rgbaBytes = floatsToBytes(texelRGBA, littleEndian);
89
- bool bits[32];
90
- bytesToBits(rgbaBytes, bits);
91
- return bitsToFloat(bits);
92
- }
9
+ exports.rgba_to_float = `
10
+ // rgbaToFloat adapted from https://github.com/ihmeuw/glsl-rgba-to-float
11
+ // BSD 3-Clause License
12
+ //
13
+ // Copyright (c) 2019, Institute for Health Metrics and Evaluation All rights reserved.
14
+ // Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
15
+ // - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
16
+ // - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
17
+ // - Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
18
+ //
19
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
20
+ // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21
+ // IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
22
+ // OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
23
+ // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24
+ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
25
+ // OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
27
+ ivec4 floatsToBytes(vec4 inputFloats, bool littleEndian) {
28
+ ivec4 bytes = ivec4(inputFloats * 255.0);
29
+ return (
30
+ littleEndian
31
+ ? bytes.abgr
32
+ : bytes
33
+ );
34
+ }
35
+
36
+ // Break the four bytes down into an array of 32 bits.
37
+ void bytesToBits(const in ivec4 bytes, out bool bits[32]) {
38
+ for (int channelIndex = 0; channelIndex < 4; ++channelIndex) {
39
+ float acc = float(bytes[channelIndex]);
40
+ for (int indexInByte = 7; indexInByte >= 0; --indexInByte) {
41
+ float powerOfTwo = exp2(float(indexInByte));
42
+ bool bit = acc >= powerOfTwo;
43
+ bits[channelIndex * 8 + (7 - indexInByte)] = bit;
44
+ acc = mod(acc, powerOfTwo);
45
+ }
46
+ }
47
+ }
48
+
49
+ // Compute the exponent of the 32-bit float.
50
+ float getExponent(bool bits[32]) {
51
+ const int startIndex = 1;
52
+ const int bitStringLength = 8;
53
+ const int endBeforeIndex = startIndex + bitStringLength;
54
+ float acc = 0.0;
55
+ int pow2 = bitStringLength - 1;
56
+ for (int bitIndex = startIndex; bitIndex < endBeforeIndex; ++bitIndex) {
57
+ acc += float(bits[bitIndex]) * exp2(float(pow2--));
58
+ }
59
+ return acc;
60
+ }
61
+
62
+ // Compute the mantissa of the 32-bit float.
63
+ float getMantissa(bool bits[32], bool subnormal) {
64
+ const int startIndex = 9;
65
+ const int bitStringLength = 23;
66
+ const int endBeforeIndex = startIndex + bitStringLength;
67
+ // Leading/implicit/hidden bit convention:
68
+ // If the number is not subnormal (with exponent 0), we add a leading 1 digit.
69
+ float acc = float(!subnormal) * exp2(float(bitStringLength));
70
+ int pow2 = bitStringLength - 1;
71
+ for (int bitIndex = startIndex; bitIndex < endBeforeIndex; ++bitIndex) {
72
+ acc += float(bits[bitIndex]) * exp2(float(pow2--));
73
+ }
74
+ return acc;
75
+ }
76
+
77
+ // Parse the float from its 32 bits.
78
+ float bitsToFloat(bool bits[32]) {
79
+ float signBit = float(bits[0]) * -2.0 + 1.0;
80
+ float exponent = getExponent(bits);
81
+ bool subnormal = abs(exponent - 0.0) < 0.01;
82
+ float mantissa = getMantissa(bits, subnormal);
83
+ float exponentBias = 127.0;
84
+ return signBit * mantissa * exp2(exponent - exponentBias - 23.0);
85
+ }
86
+
87
+ float rgbaToFloat(vec4 texelRGBA, bool littleEndian) {
88
+ ivec4 rgbaBytes = floatsToBytes(texelRGBA, littleEndian);
89
+ bool bits[32];
90
+ bytesToBits(rgbaBytes, bits);
91
+ return bitsToFloat(bits);
92
+ }
93
93
  `;
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.size_vert_params = void 0;
4
- exports.size_vert_params = `
5
- #if defined(dSizeType_uniform)
6
- uniform float uSize;
7
- #elif defined(dSizeType_attribute)
8
- attribute float aSize;
9
- #elif defined(dSizeType_instance) || defined(dSizeType_group) || defined(dSizeType_groupInstance)
10
- uniform vec2 uSizeTexDim;
11
- uniform sampler2D tSize;
12
- #endif
13
-
14
- uniform float uSizeFactor;
4
+ exports.size_vert_params = `
5
+ #if defined(dSizeType_uniform)
6
+ uniform float uSize;
7
+ #elif defined(dSizeType_attribute)
8
+ attribute float aSize;
9
+ #elif defined(dSizeType_instance) || defined(dSizeType_group) || defined(dSizeType_groupInstance)
10
+ uniform vec2 uSizeTexDim;
11
+ uniform sampler2D tSize;
12
+ #endif
13
+
14
+ uniform float uSizeFactor;
15
15
  `;
@@ -6,27 +6,27 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.texture3d_from_1d_trilinear = void 0;
9
- exports.texture3d_from_1d_trilinear = `
10
- vec4 texture3dFrom1dTrilinear(const in sampler2D tex, const in vec3 pos, const in vec3 gridDim, const in vec2 texDim, const in float offset) {
11
- float gdYZ = gridDim.z * gridDim.y;
12
- float gdZ = gridDim.z;
13
- vec3 p0 = floor(pos * gridDim);
14
- vec3 p1 = ceil(pos * gridDim);
15
- vec3 pd = (pos * gridDim - p0) / (p1 - p0);
16
- vec4 s000 = readFromTexture(tex, offset + p0.z + p0.y * gdZ + p0.x * gdYZ, texDim);
17
- vec4 s100 = readFromTexture(tex, offset + p0.z + p0.y * gdZ + p1.x * gdYZ, texDim);
18
- vec4 s001 = readFromTexture(tex, offset + p1.z + p0.y * gdZ + p0.x * gdYZ, texDim);
19
- vec4 s101 = readFromTexture(tex, offset + p1.z + p0.y * gdZ + p1.x * gdYZ, texDim);
20
- vec4 s010 = readFromTexture(tex, offset + p0.z + p1.y * gdZ + p0.x * gdYZ, texDim);
21
- vec4 s110 = readFromTexture(tex, offset + p0.z + p1.y * gdZ + p1.x * gdYZ, texDim);
22
- vec4 s011 = readFromTexture(tex, offset + p1.z + p1.y * gdZ + p0.x * gdYZ, texDim);
23
- vec4 s111 = readFromTexture(tex, offset + p1.z + p1.y * gdZ + p1.x * gdYZ, texDim);
24
- vec4 s00 = mix(s000, s100, pd.x);
25
- vec4 s01 = mix(s001, s101, pd.x);
26
- vec4 s10 = mix(s010, s110, pd.x);
27
- vec4 s11 = mix(s011, s111, pd.x);
28
- vec4 s0 = mix(s00, s10, pd.y);
29
- vec4 s1 = mix(s01, s11, pd.y);
30
- return mix(s0, s1, pd.z);
31
- }
9
+ exports.texture3d_from_1d_trilinear = `
10
+ vec4 texture3dFrom1dTrilinear(const in sampler2D tex, const in vec3 pos, const in vec3 gridDim, const in vec2 texDim, const in float offset) {
11
+ float gdYZ = gridDim.z * gridDim.y;
12
+ float gdZ = gridDim.z;
13
+ vec3 p0 = floor(pos * gridDim);
14
+ vec3 p1 = ceil(pos * gridDim);
15
+ vec3 pd = (pos * gridDim - p0) / (p1 - p0);
16
+ vec4 s000 = readFromTexture(tex, offset + p0.z + p0.y * gdZ + p0.x * gdYZ, texDim);
17
+ vec4 s100 = readFromTexture(tex, offset + p0.z + p0.y * gdZ + p1.x * gdYZ, texDim);
18
+ vec4 s001 = readFromTexture(tex, offset + p1.z + p0.y * gdZ + p0.x * gdYZ, texDim);
19
+ vec4 s101 = readFromTexture(tex, offset + p1.z + p0.y * gdZ + p1.x * gdYZ, texDim);
20
+ vec4 s010 = readFromTexture(tex, offset + p0.z + p1.y * gdZ + p0.x * gdYZ, texDim);
21
+ vec4 s110 = readFromTexture(tex, offset + p0.z + p1.y * gdZ + p1.x * gdYZ, texDim);
22
+ vec4 s011 = readFromTexture(tex, offset + p1.z + p1.y * gdZ + p0.x * gdYZ, texDim);
23
+ vec4 s111 = readFromTexture(tex, offset + p1.z + p1.y * gdZ + p1.x * gdYZ, texDim);
24
+ vec4 s00 = mix(s000, s100, pd.x);
25
+ vec4 s01 = mix(s001, s101, pd.x);
26
+ vec4 s10 = mix(s010, s110, pd.x);
27
+ vec4 s11 = mix(s011, s111, pd.x);
28
+ vec4 s0 = mix(s00, s10, pd.y);
29
+ vec4 s1 = mix(s01, s11, pd.y);
30
+ return mix(s0, s1, pd.z);
31
+ }
32
32
  `;
@@ -7,21 +7,21 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.texture3d_from_2d_linear = void 0;
10
- exports.texture3d_from_2d_linear = `
11
- vec4 texture3dFrom2dLinear(sampler2D tex, vec3 pos, vec3 gridDim, vec2 texDim) {
12
- float zSlice0 = floor(pos.z * gridDim.z);
13
- float column0 = intMod(zSlice0 * gridDim.x, texDim.x) / gridDim.x;
14
- float row0 = floor(intDiv(zSlice0 * gridDim.x, texDim.x));
15
- vec2 coord0 = (vec2(column0 * gridDim.x, row0 * gridDim.y) + (pos.xy * gridDim.xy)) / texDim;
16
- vec4 color0 = texture2D(tex, coord0);
17
-
18
- float zSlice1 = zSlice0 + 1.0;
19
- float column1 = intMod(zSlice1 * gridDim.x, texDim.x) / gridDim.x;
20
- float row1 = floor(intDiv(zSlice1 * gridDim.x, texDim.x));
21
- vec2 coord1 = (vec2(column1 * gridDim.x, row1 * gridDim.y) + (pos.xy * gridDim.xy)) / texDim;
22
- vec4 color1 = texture2D(tex, coord1);
23
-
24
- float delta0 = abs((pos.z * gridDim.z) - zSlice0);
25
- return mix(color0, color1, delta0);
26
- }
10
+ exports.texture3d_from_2d_linear = `
11
+ vec4 texture3dFrom2dLinear(sampler2D tex, vec3 pos, vec3 gridDim, vec2 texDim) {
12
+ float zSlice0 = floor(pos.z * gridDim.z);
13
+ float column0 = intMod(zSlice0 * gridDim.x, texDim.x) / gridDim.x;
14
+ float row0 = floor(intDiv(zSlice0 * gridDim.x, texDim.x));
15
+ vec2 coord0 = (vec2(column0 * gridDim.x, row0 * gridDim.y) + (pos.xy * gridDim.xy)) / texDim;
16
+ vec4 color0 = texture2D(tex, coord0);
17
+
18
+ float zSlice1 = zSlice0 + 1.0;
19
+ float column1 = intMod(zSlice1 * gridDim.x, texDim.x) / gridDim.x;
20
+ float row1 = floor(intDiv(zSlice1 * gridDim.x, texDim.x));
21
+ vec2 coord1 = (vec2(column1 * gridDim.x, row1 * gridDim.y) + (pos.xy * gridDim.xy)) / texDim;
22
+ vec4 color1 = texture2D(tex, coord1);
23
+
24
+ float delta0 = abs((pos.z * gridDim.z) - zSlice0);
25
+ return mix(color0, color1, delta0);
26
+ }
27
27
  `;
@@ -7,12 +7,12 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.texture3d_from_2d_nearest = void 0;
10
- exports.texture3d_from_2d_nearest = `
11
- vec4 texture3dFrom2dNearest(sampler2D tex, vec3 pos, vec3 gridDim, vec2 texDim) {
12
- float zSlice = floor(pos.z * gridDim.z + 0.5); // round to nearest z-slice
13
- float column = intMod(zSlice * gridDim.x, texDim.x) / gridDim.x;
14
- float row = floor(intDiv(zSlice * gridDim.x, texDim.x));
15
- vec2 coord = (vec2(column * gridDim.x, row * gridDim.y) + (pos.xy * gridDim.xy)) / texDim;
16
- return texture2D(tex, coord);
17
- }
10
+ exports.texture3d_from_2d_nearest = `
11
+ vec4 texture3dFrom2dNearest(sampler2D tex, vec3 pos, vec3 gridDim, vec2 texDim) {
12
+ float zSlice = floor(pos.z * gridDim.z + 0.5); // round to nearest z-slice
13
+ float column = intMod(zSlice * gridDim.x, texDim.x) / gridDim.x;
14
+ float row = floor(intDiv(zSlice * gridDim.x, texDim.x));
15
+ vec2 coord = (vec2(column * gridDim.x, row * gridDim.y) + (pos.xy * gridDim.xy)) / texDim;
16
+ return texture2D(tex, coord);
17
+ }
18
18
  `;
@@ -7,29 +7,29 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.wboit_write = void 0;
10
- exports.wboit_write = `
11
- #if defined(dRenderVariant_colorWboit)
12
- if (uRenderMask == MaskOpaque) {
13
- if (preFogAlpha < 1.0) {
14
- discard;
15
- }
16
- } else if (uRenderMask == MaskTransparent) {
17
- if (preFogAlpha != 1.0 && fragmentDepth < getDepth(gl_FragCoord.xy / uDrawingBufferSize)) {
18
- #ifdef dTransparentBackfaces_off
19
- if (interior) discard;
20
- #endif
21
- float alpha = gl_FragColor.a;
22
- float wboitWeight = alpha * clamp(pow(1.0 - fragmentDepth, 2.0), 0.01, 1.0);
23
- gl_FragColor = vec4(gl_FragColor.rgb * alpha * wboitWeight, alpha);
24
- // extra alpha is to handle pre-multiplied alpha
25
- #ifndef dGeometryType_directVolume
26
- gl_FragData[1] = vec4((uTransparentBackground ? alpha : 1.0) * alpha * wboitWeight);
27
- #else
28
- gl_FragData[1] = vec4(alpha * alpha * wboitWeight);
29
- #endif
30
- } else {
31
- discard;
32
- }
33
- }
34
- #endif
10
+ exports.wboit_write = `
11
+ #if defined(dRenderVariant_colorWboit)
12
+ if (uRenderMask == MaskOpaque) {
13
+ if (preFogAlpha < 1.0) {
14
+ discard;
15
+ }
16
+ } else if (uRenderMask == MaskTransparent) {
17
+ if (preFogAlpha != 1.0 && fragmentDepth < getDepth(gl_FragCoord.xy / uDrawingBufferSize)) {
18
+ #ifdef dTransparentBackfaces_off
19
+ if (interior) discard;
20
+ #endif
21
+ float alpha = gl_FragColor.a;
22
+ float wboitWeight = alpha * clamp(pow(1.0 - fragmentDepth, 2.0), 0.01, 1.0);
23
+ gl_FragColor = vec4(gl_FragColor.rgb * alpha * wboitWeight, alpha);
24
+ // extra alpha is to handle pre-multiplied alpha
25
+ #ifndef dGeometryType_directVolume
26
+ gl_FragData[1] = vec4((uTransparentBackground ? alpha : 1.0) * alpha * wboitWeight);
27
+ #else
28
+ gl_FragData[1] = vec4(alpha * alpha * wboitWeight);
29
+ #endif
30
+ } else {
31
+ discard;
32
+ }
33
+ }
34
+ #endif
35
35
  `;
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.compose_frag = void 0;
4
- exports.compose_frag = `
5
- precision highp float;
6
- precision highp sampler2D;
7
-
8
- uniform sampler2D tColor;
9
- uniform vec2 uTexSize;
10
- uniform float uWeight;
11
-
12
- void main() {
13
- vec2 coords = gl_FragCoord.xy / uTexSize;
14
- gl_FragColor = texture2D(tColor, coords) * uWeight;
15
- }
4
+ exports.compose_frag = `
5
+ precision highp float;
6
+ precision highp sampler2D;
7
+
8
+ uniform sampler2D tColor;
9
+ uniform vec2 uTexSize;
10
+ uniform float uWeight;
11
+
12
+ void main() {
13
+ vec2 coords = gl_FragCoord.xy / uTexSize;
14
+ gl_FragColor = texture2D(tColor, coords) * uWeight;
15
+ }
16
16
  `;
@@ -6,27 +6,27 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.accumulate_frag = void 0;
9
- exports.accumulate_frag = `
10
- precision highp float;
11
-
12
- varying vec3 vPosition;
13
- varying vec4 vColor;
14
-
15
- uniform float uCurrentSlice;
16
- uniform float uCurrentX;
17
- uniform float uCurrentY;
18
- uniform float uResolution;
19
-
20
- const float p = 2.0;
21
-
22
- void main() {
23
- vec2 v = gl_FragCoord.xy - vec2(uCurrentX, uCurrentY) - 0.5;
24
- vec3 fragPos = vec3(v.x, v.y, uCurrentSlice);
25
- float dist = distance(fragPos, vPosition);
26
- if (dist > p) discard;
27
-
28
- float f = p - dist;
29
- gl_FragColor = vColor * f;
30
- gl_FragData[1] = vec4(f);
31
- }
9
+ exports.accumulate_frag = `
10
+ precision highp float;
11
+
12
+ varying vec3 vPosition;
13
+ varying vec4 vColor;
14
+
15
+ uniform float uCurrentSlice;
16
+ uniform float uCurrentX;
17
+ uniform float uCurrentY;
18
+ uniform float uResolution;
19
+
20
+ const float p = 2.0;
21
+
22
+ void main() {
23
+ vec2 v = gl_FragCoord.xy - vec2(uCurrentX, uCurrentY) - 0.5;
24
+ vec3 fragPos = vec3(v.x, v.y, uCurrentSlice);
25
+ float dist = distance(fragPos, vPosition);
26
+ if (dist > p) discard;
27
+
28
+ float f = p - dist;
29
+ gl_FragColor = vColor * f;
30
+ gl_FragData[1] = vec4(f);
31
+ }
32
32
  `;
@@ -6,47 +6,47 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.accumulate_vert = void 0;
9
- exports.accumulate_vert = `
10
- precision highp float;
11
-
12
- #include common
13
- #include read_from_texture
14
-
15
- uniform int uGroupCount;
16
-
17
- attribute float aSample;
18
- #define SampleID int(aSample)
19
-
20
- attribute mat4 aTransform;
21
- attribute float aInstance;
22
-
23
- uniform vec2 uGeoTexDim;
24
- uniform sampler2D tPosition;
25
- uniform sampler2D tGroup;
26
-
27
- uniform vec2 uColorTexDim;
28
- uniform sampler2D tColor;
29
-
30
- varying vec3 vPosition;
31
- varying vec4 vColor;
32
-
33
- uniform vec3 uBboxSize;
34
- uniform vec3 uBboxMin;
35
- uniform float uResolution;
36
-
37
- void main() {
38
- vec3 position = readFromTexture(tPosition, SampleID, uGeoTexDim).xyz;
39
- float group = unpackRGBToInt(readFromTexture(tGroup, SampleID, uGeoTexDim).rgb);
40
-
41
- position = (aTransform * vec4(position, 1.0)).xyz;
42
- gl_PointSize = 7.0;
43
- vPosition = (position - uBboxMin) / uResolution;
44
- gl_Position = vec4(((position - uBboxMin) / uBboxSize) * 2.0 - 1.0, 1.0);
45
-
46
- #if defined(dColorType_group)
47
- vColor = readFromTexture(tColor, group, uColorTexDim);
48
- #elif defined(dColorType_groupInstance)
49
- vColor = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim);
50
- #endif
51
- }
9
+ exports.accumulate_vert = `
10
+ precision highp float;
11
+
12
+ #include common
13
+ #include read_from_texture
14
+
15
+ uniform int uGroupCount;
16
+
17
+ attribute float aSample;
18
+ #define SampleID int(aSample)
19
+
20
+ attribute mat4 aTransform;
21
+ attribute float aInstance;
22
+
23
+ uniform vec2 uGeoTexDim;
24
+ uniform sampler2D tPosition;
25
+ uniform sampler2D tGroup;
26
+
27
+ uniform vec2 uColorTexDim;
28
+ uniform sampler2D tColor;
29
+
30
+ varying vec3 vPosition;
31
+ varying vec4 vColor;
32
+
33
+ uniform vec3 uBboxSize;
34
+ uniform vec3 uBboxMin;
35
+ uniform float uResolution;
36
+
37
+ void main() {
38
+ vec3 position = readFromTexture(tPosition, SampleID, uGeoTexDim).xyz;
39
+ float group = unpackRGBToInt(readFromTexture(tGroup, SampleID, uGeoTexDim).rgb);
40
+
41
+ position = (aTransform * vec4(position, 1.0)).xyz;
42
+ gl_PointSize = 7.0;
43
+ vPosition = (position - uBboxMin) / uResolution;
44
+ gl_Position = vec4(((position - uBboxMin) / uBboxSize) * 2.0 - 1.0, 1.0);
45
+
46
+ #if defined(dColorType_group)
47
+ vColor = readFromTexture(tColor, group, uColorTexDim);
48
+ #elif defined(dColorType_groupInstance)
49
+ vColor = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim);
50
+ #endif
51
+ }
52
52
  `;
@@ -6,19 +6,19 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.normalize_frag = void 0;
9
- exports.normalize_frag = `
10
- precision highp float;
11
- precision highp sampler2D;
12
-
13
- uniform sampler2D tColor;
14
- uniform sampler2D tCount;
15
- uniform vec2 uTexSize;
16
-
17
- void main(void) {
18
- vec2 coords = gl_FragCoord.xy / uTexSize;
19
- vec4 color = texture2D(tColor, coords);
20
- float count = texture2D(tCount, coords).r;
21
-
22
- gl_FragColor = color / count;
23
- }
9
+ exports.normalize_frag = `
10
+ precision highp float;
11
+ precision highp sampler2D;
12
+
13
+ uniform sampler2D tColor;
14
+ uniform sampler2D tCount;
15
+ uniform vec2 uTexSize;
16
+
17
+ void main(void) {
18
+ vec2 coords = gl_FragCoord.xy / uTexSize;
19
+ vec4 color = texture2D(tColor, coords);
20
+ float count = texture2D(tCount, coords).r;
21
+
22
+ gl_FragColor = color / count;
23
+ }
24
24
  `;
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.copy_frag = void 0;
4
- exports.copy_frag = `
5
- precision highp float;
6
- precision highp sampler2D;
7
-
8
- uniform sampler2D tColor;
9
- uniform vec2 uTexSize;
10
-
11
- void main() {
12
- vec2 coords = gl_FragCoord.xy / uTexSize;
13
- gl_FragColor = texture2D(tColor, coords);
14
- }
4
+ exports.copy_frag = `
5
+ precision highp float;
6
+ precision highp sampler2D;
7
+
8
+ uniform sampler2D tColor;
9
+ uniform vec2 uTexSize;
10
+
11
+ void main() {
12
+ vec2 coords = gl_FragCoord.xy / uTexSize;
13
+ gl_FragColor = texture2D(tColor, coords);
14
+ }
15
15
  `;