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
@@ -1,20 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.apply_marker_color = void 0;
4
- exports.apply_marker_color = `
5
-
6
- #if defined(dColorMarker)
7
- if (marker > 0.0) {
8
- if ((uMarkerPriority == 1 && marker != 2.0) || (uMarkerPriority != 1 && marker == 1.0)) {
9
- gl_FragColor.rgb = mix(gl_FragColor.rgb, uHighlightColor, uHighlightStrength);
10
- gl_FragColor.a = max(gl_FragColor.a, uHighlightStrength * 0.002); // for direct-volume rendering
11
- } else {
12
- gl_FragColor.rgb = mix(gl_FragColor.rgb, uSelectColor, uSelectStrength);
13
- gl_FragColor.a = max(gl_FragColor.a, uSelectStrength * 0.002); // for direct-volume rendering
14
- }
15
- } else if (uMarkerAverage > 0.0) {
16
- gl_FragColor.rgb = mix(gl_FragColor.rgb, uDimColor, uDimStrength);
17
- gl_FragColor.a = max(gl_FragColor.a, uDimStrength * 0.002); // for direct-volume rendering
18
- }
19
- #endif
4
+ exports.apply_marker_color = `
5
+
6
+ #if defined(dColorMarker)
7
+ if (marker > 0.0) {
8
+ if ((uMarkerPriority == 1 && marker != 2.0) || (uMarkerPriority != 1 && marker == 1.0)) {
9
+ gl_FragColor.rgb = mix(gl_FragColor.rgb, uHighlightColor, uHighlightStrength);
10
+ gl_FragColor.a = max(gl_FragColor.a, uHighlightStrength * 0.002); // for direct-volume rendering
11
+ } else {
12
+ gl_FragColor.rgb = mix(gl_FragColor.rgb, uSelectColor, uSelectStrength);
13
+ gl_FragColor.a = max(gl_FragColor.a, uSelectStrength * 0.002); // for direct-volume rendering
14
+ }
15
+ } else if (uMarkerAverage > 0.0) {
16
+ gl_FragColor.rgb = mix(gl_FragColor.rgb, uDimColor, uDimStrength);
17
+ gl_FragColor.a = max(gl_FragColor.a, uDimStrength * 0.002); // for direct-volume rendering
18
+ }
19
+ #endif
20
20
  `;
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assign_clipping_varying = void 0;
4
- exports.assign_clipping_varying = `
5
- #if dClipObjectCount != 0 && defined(dClipping)
6
- #if defined(dClippingType_instance)
7
- vClipping = readFromTexture(tClipping, aInstance, uClippingTexDim).a;
8
- #elif defined(dMarkerType_groupInstance)
9
- vClipping = readFromTexture(tClipping, aInstance * float(uGroupCount) + group, uClippingTexDim).a;
10
- #endif
11
- #endif
4
+ exports.assign_clipping_varying = `
5
+ #if dClipObjectCount != 0 && defined(dClipping)
6
+ #if defined(dClippingType_instance)
7
+ vClipping = readFromTexture(tClipping, aInstance, uClippingTexDim).a;
8
+ #elif defined(dMarkerType_groupInstance)
9
+ vClipping = readFromTexture(tClipping, aInstance * float(uGroupCount) + group, uClippingTexDim).a;
10
+ #endif
11
+ #endif
12
12
  `;
@@ -1,144 +1,144 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assign_color_varying = void 0;
4
- exports.assign_color_varying = `
5
- #if defined(dRenderVariant_color)
6
- #if defined(dColorType_attribute)
7
- vColor.rgb = aColor;
8
- #elif defined(dColorType_instance)
9
- vColor.rgb = readFromTexture(tColor, aInstance, uColorTexDim).rgb;
10
- #elif defined(dColorType_group)
11
- #if defined(dDualColor)
12
- vec4 color2;
13
- if (aColorMode == 2.0) {
14
- vColor.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;
15
- } else {
16
- vColor.rgb = readFromTexture(tColor, group * 2.0, uColorTexDim).rgb;
17
- color2.rgb = readFromTexture(tColor, group * 2.0 + 1.0, uColorTexDim).rgb;
18
- }
19
- #else
20
- vColor.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;
21
- #endif
22
- #elif defined(dColorType_groupInstance)
23
- #if defined(dDualColor)
24
- vec4 color2;
25
- if (aColorMode == 2.0) {
26
- vColor.rgb = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim).rgb;
27
- } else {
28
- vColor.rgb = readFromTexture(tColor, (aInstance * float(uGroupCount) + group) * 2.0, uColorTexDim).rgb;
29
- color2.rgb = readFromTexture(tColor, (aInstance * float(uGroupCount) + group) * 2.0 + 1.0, uColorTexDim).rgb;
30
- }
31
- #else
32
- vColor.rgb = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim).rgb;
33
- #endif
34
- #elif defined(dColorType_vertex)
35
- vColor.rgb = readFromTexture(tColor, VertexID, uColorTexDim).rgb;
36
- #elif defined(dColorType_vertexInstance)
37
- vColor.rgb = readFromTexture(tColor, int(aInstance) * uVertexCount + VertexID, uColorTexDim).rgb;
38
- #elif defined(dColorType_volume)
39
- vec3 cgridPos = (uColorGridTransform.w * (position - uColorGridTransform.xyz)) / uColorGridDim;
40
- vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;
41
- #elif defined(dColorType_volumeInstance)
42
- vec3 cgridPos = (uColorGridTransform.w * (vModelPosition - uColorGridTransform.xyz)) / uColorGridDim;
43
- vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;
44
- #endif
45
-
46
- #ifdef dUsePalette
47
- vPaletteV = ((vColor.r * 256.0 * 256.0 * 255.0 + vColor.g * 256.0 * 255.0 + vColor.b * 255.0) - 1.0) / 16777215.0;
48
- #endif
49
-
50
- #ifdef dOverpaint
51
- #if defined(dOverpaintType_instance)
52
- vOverpaint = readFromTexture(tOverpaint, aInstance, uOverpaintTexDim);
53
- #elif defined(dOverpaintType_groupInstance)
54
- vOverpaint = readFromTexture(tOverpaint, aInstance * float(uGroupCount) + group, uOverpaintTexDim);
55
- #elif defined(dOverpaintType_vertexInstance)
56
- vOverpaint = readFromTexture(tOverpaint, int(aInstance) * uVertexCount + VertexID, uOverpaintTexDim);
57
- #elif defined(dOverpaintType_volumeInstance)
58
- vec3 ogridPos = (uOverpaintGridTransform.w * (vModelPosition - uOverpaintGridTransform.xyz)) / uOverpaintGridDim;
59
- vOverpaint = texture3dFrom2dLinear(tOverpaintGrid, ogridPos, uOverpaintGridDim, uOverpaintTexDim);
60
- #endif
61
-
62
- // pre-mix to avoid darkening due to empty overpaint
63
- #ifdef dColorType_uniform
64
- vOverpaint.rgb = mix(uColor.rgb, vOverpaint.rgb, vOverpaint.a);
65
- #else
66
- vOverpaint.rgb = mix(vColor.rgb, vOverpaint.rgb, vOverpaint.a);
67
- #endif
68
- vOverpaint *= uOverpaintStrength;
69
- #endif
70
-
71
- #ifdef dEmissive
72
- #if defined(dEmissiveType_instance)
73
- vEmissive = readFromTexture(tEmissive, aInstance, uEmissiveTexDim).a;
74
- #elif defined(dEmissiveType_groupInstance)
75
- vEmissive = readFromTexture(tEmissive, aInstance * float(uGroupCount) + group, uEmissiveTexDim).a;
76
- #elif defined(dEmissiveType_vertexInstance)
77
- vEmissive = readFromTexture(tEmissive, int(aInstance) * uVertexCount + VertexID, uEmissiveTexDim).a;
78
- #elif defined(dEmissiveType_volumeInstance)
79
- vec3 egridPos = (uEmissiveGridTransform.w * (vModelPosition - uEmissiveGridTransform.xyz)) / uEmissiveGridDim;
80
- vEmissive = texture3dFrom2dLinear(tEmissiveGrid, egridPos, uEmissiveGridDim, uEmissiveTexDim).a;
81
- #endif
82
- vEmissive *= uEmissiveStrength;
83
- #endif
84
-
85
- #ifdef dSubstance
86
- #if defined(dSubstanceType_instance)
87
- vSubstance = readFromTexture(tSubstance, aInstance, uSubstanceTexDim);
88
- #elif defined(dSubstanceType_groupInstance)
89
- vSubstance = readFromTexture(tSubstance, aInstance * float(uGroupCount) + group, uSubstanceTexDim);
90
- #elif defined(dSubstanceType_vertexInstance)
91
- vSubstance = readFromTexture(tSubstance, int(aInstance) * uVertexCount + VertexID, uSubstanceTexDim);
92
- #elif defined(dSubstanceType_volumeInstance)
93
- vec3 sgridPos = (uSubstanceGridTransform.w * (vModelPosition - uSubstanceGridTransform.xyz)) / uSubstanceGridDim;
94
- vSubstance = texture3dFrom2dLinear(tSubstanceGrid, sgridPos, uSubstanceGridDim, uSubstanceTexDim);
95
- #endif
96
-
97
- // pre-mix to avoid artifacts due to empty substance
98
- vSubstance.rgb = mix(vec3(uMetalness, uRoughness, uBumpiness), vSubstance.rgb, vSubstance.a);
99
- vSubstance *= uSubstanceStrength;
100
- #endif
101
- #elif defined(dRenderVariant_emissive)
102
- #ifdef dEmissive
103
- #if defined(dEmissiveType_instance)
104
- vEmissive = readFromTexture(tEmissive, aInstance, uEmissiveTexDim).a;
105
- #elif defined(dEmissiveType_groupInstance)
106
- vEmissive = readFromTexture(tEmissive, aInstance * float(uGroupCount) + group, uEmissiveTexDim).a;
107
- #elif defined(dEmissiveType_vertexInstance)
108
- vEmissive = readFromTexture(tEmissive, int(aInstance) * uVertexCount + VertexID, uEmissiveTexDim).a;
109
- #elif defined(dEmissiveType_volumeInstance)
110
- vec3 egridPos = (uEmissiveGridTransform.w * (vModelPosition - uEmissiveGridTransform.xyz)) / uEmissiveGridDim;
111
- vEmissive = texture3dFrom2dLinear(tEmissiveGrid, egridPos, uEmissiveGridDim, uEmissiveTexDim).a;
112
- #endif
113
- vEmissive *= uEmissiveStrength;
114
- #endif
115
- #elif defined(dRenderVariant_pick)
116
- #ifdef requiredDrawBuffers
117
- vObject = vec4(packIntToRGB(float(uObjectId)), 1.0);
118
- vInstance = vec4(packIntToRGB(aInstance), 1.0);
119
- vGroup = vec4(packIntToRGB(group), 1.0);
120
- #else
121
- if (uPickType == 1) {
122
- vColor = vec4(packIntToRGB(float(uObjectId)), 1.0);
123
- } else if (uPickType == 2) {
124
- vColor = vec4(packIntToRGB(aInstance), 1.0);
125
- } else {
126
- vColor = vec4(packIntToRGB(group), 1.0);
127
- }
128
- #endif
129
- #endif
130
-
131
- #ifdef dTransparency
132
- #if defined(dTransparencyType_instance)
133
- vTransparency = readFromTexture(tTransparency, aInstance, uTransparencyTexDim).a;
134
- #elif defined(dTransparencyType_groupInstance)
135
- vTransparency = readFromTexture(tTransparency, aInstance * float(uGroupCount) + group, uTransparencyTexDim).a;
136
- #elif defined(dTransparencyType_vertexInstance)
137
- vTransparency = readFromTexture(tTransparency, int(aInstance) * uVertexCount + VertexID, uTransparencyTexDim).a;
138
- #elif defined(dTransparencyType_volumeInstance)
139
- vec3 tgridPos = (uTransparencyGridTransform.w * (vModelPosition - uTransparencyGridTransform.xyz)) / uTransparencyGridDim;
140
- vTransparency = texture3dFrom2dLinear(tTransparencyGrid, tgridPos, uTransparencyGridDim, uTransparencyTexDim).a;
141
- #endif
142
- vTransparency *= uTransparencyStrength;
143
- #endif
4
+ exports.assign_color_varying = `
5
+ #if defined(dRenderVariant_color)
6
+ #if defined(dColorType_attribute)
7
+ vColor.rgb = aColor;
8
+ #elif defined(dColorType_instance)
9
+ vColor.rgb = readFromTexture(tColor, aInstance, uColorTexDim).rgb;
10
+ #elif defined(dColorType_group)
11
+ #if defined(dDualColor)
12
+ vec4 color2;
13
+ if (aColorMode == 2.0) {
14
+ vColor.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;
15
+ } else {
16
+ vColor.rgb = readFromTexture(tColor, group * 2.0, uColorTexDim).rgb;
17
+ color2.rgb = readFromTexture(tColor, group * 2.0 + 1.0, uColorTexDim).rgb;
18
+ }
19
+ #else
20
+ vColor.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;
21
+ #endif
22
+ #elif defined(dColorType_groupInstance)
23
+ #if defined(dDualColor)
24
+ vec4 color2;
25
+ if (aColorMode == 2.0) {
26
+ vColor.rgb = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim).rgb;
27
+ } else {
28
+ vColor.rgb = readFromTexture(tColor, (aInstance * float(uGroupCount) + group) * 2.0, uColorTexDim).rgb;
29
+ color2.rgb = readFromTexture(tColor, (aInstance * float(uGroupCount) + group) * 2.0 + 1.0, uColorTexDim).rgb;
30
+ }
31
+ #else
32
+ vColor.rgb = readFromTexture(tColor, aInstance * float(uGroupCount) + group, uColorTexDim).rgb;
33
+ #endif
34
+ #elif defined(dColorType_vertex)
35
+ vColor.rgb = readFromTexture(tColor, VertexID, uColorTexDim).rgb;
36
+ #elif defined(dColorType_vertexInstance)
37
+ vColor.rgb = readFromTexture(tColor, int(aInstance) * uVertexCount + VertexID, uColorTexDim).rgb;
38
+ #elif defined(dColorType_volume)
39
+ vec3 cgridPos = (uColorGridTransform.w * (position - uColorGridTransform.xyz)) / uColorGridDim;
40
+ vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;
41
+ #elif defined(dColorType_volumeInstance)
42
+ vec3 cgridPos = (uColorGridTransform.w * (vModelPosition - uColorGridTransform.xyz)) / uColorGridDim;
43
+ vColor.rgb = texture3dFrom2dLinear(tColorGrid, cgridPos, uColorGridDim, uColorTexDim).rgb;
44
+ #endif
45
+
46
+ #ifdef dUsePalette
47
+ vPaletteV = ((vColor.r * 256.0 * 256.0 * 255.0 + vColor.g * 256.0 * 255.0 + vColor.b * 255.0) - 1.0) / 16777215.0;
48
+ #endif
49
+
50
+ #ifdef dOverpaint
51
+ #if defined(dOverpaintType_instance)
52
+ vOverpaint = readFromTexture(tOverpaint, aInstance, uOverpaintTexDim);
53
+ #elif defined(dOverpaintType_groupInstance)
54
+ vOverpaint = readFromTexture(tOverpaint, aInstance * float(uGroupCount) + group, uOverpaintTexDim);
55
+ #elif defined(dOverpaintType_vertexInstance)
56
+ vOverpaint = readFromTexture(tOverpaint, int(aInstance) * uVertexCount + VertexID, uOverpaintTexDim);
57
+ #elif defined(dOverpaintType_volumeInstance)
58
+ vec3 ogridPos = (uOverpaintGridTransform.w * (vModelPosition - uOverpaintGridTransform.xyz)) / uOverpaintGridDim;
59
+ vOverpaint = texture3dFrom2dLinear(tOverpaintGrid, ogridPos, uOverpaintGridDim, uOverpaintTexDim);
60
+ #endif
61
+
62
+ // pre-mix to avoid darkening due to empty overpaint
63
+ #ifdef dColorType_uniform
64
+ vOverpaint.rgb = mix(uColor.rgb, vOverpaint.rgb, vOverpaint.a);
65
+ #else
66
+ vOverpaint.rgb = mix(vColor.rgb, vOverpaint.rgb, vOverpaint.a);
67
+ #endif
68
+ vOverpaint *= uOverpaintStrength;
69
+ #endif
70
+
71
+ #ifdef dEmissive
72
+ #if defined(dEmissiveType_instance)
73
+ vEmissive = readFromTexture(tEmissive, aInstance, uEmissiveTexDim).a;
74
+ #elif defined(dEmissiveType_groupInstance)
75
+ vEmissive = readFromTexture(tEmissive, aInstance * float(uGroupCount) + group, uEmissiveTexDim).a;
76
+ #elif defined(dEmissiveType_vertexInstance)
77
+ vEmissive = readFromTexture(tEmissive, int(aInstance) * uVertexCount + VertexID, uEmissiveTexDim).a;
78
+ #elif defined(dEmissiveType_volumeInstance)
79
+ vec3 egridPos = (uEmissiveGridTransform.w * (vModelPosition - uEmissiveGridTransform.xyz)) / uEmissiveGridDim;
80
+ vEmissive = texture3dFrom2dLinear(tEmissiveGrid, egridPos, uEmissiveGridDim, uEmissiveTexDim).a;
81
+ #endif
82
+ vEmissive *= uEmissiveStrength;
83
+ #endif
84
+
85
+ #ifdef dSubstance
86
+ #if defined(dSubstanceType_instance)
87
+ vSubstance = readFromTexture(tSubstance, aInstance, uSubstanceTexDim);
88
+ #elif defined(dSubstanceType_groupInstance)
89
+ vSubstance = readFromTexture(tSubstance, aInstance * float(uGroupCount) + group, uSubstanceTexDim);
90
+ #elif defined(dSubstanceType_vertexInstance)
91
+ vSubstance = readFromTexture(tSubstance, int(aInstance) * uVertexCount + VertexID, uSubstanceTexDim);
92
+ #elif defined(dSubstanceType_volumeInstance)
93
+ vec3 sgridPos = (uSubstanceGridTransform.w * (vModelPosition - uSubstanceGridTransform.xyz)) / uSubstanceGridDim;
94
+ vSubstance = texture3dFrom2dLinear(tSubstanceGrid, sgridPos, uSubstanceGridDim, uSubstanceTexDim);
95
+ #endif
96
+
97
+ // pre-mix to avoid artifacts due to empty substance
98
+ vSubstance.rgb = mix(vec3(uMetalness, uRoughness, uBumpiness), vSubstance.rgb, vSubstance.a);
99
+ vSubstance *= uSubstanceStrength;
100
+ #endif
101
+ #elif defined(dRenderVariant_emissive)
102
+ #ifdef dEmissive
103
+ #if defined(dEmissiveType_instance)
104
+ vEmissive = readFromTexture(tEmissive, aInstance, uEmissiveTexDim).a;
105
+ #elif defined(dEmissiveType_groupInstance)
106
+ vEmissive = readFromTexture(tEmissive, aInstance * float(uGroupCount) + group, uEmissiveTexDim).a;
107
+ #elif defined(dEmissiveType_vertexInstance)
108
+ vEmissive = readFromTexture(tEmissive, int(aInstance) * uVertexCount + VertexID, uEmissiveTexDim).a;
109
+ #elif defined(dEmissiveType_volumeInstance)
110
+ vec3 egridPos = (uEmissiveGridTransform.w * (vModelPosition - uEmissiveGridTransform.xyz)) / uEmissiveGridDim;
111
+ vEmissive = texture3dFrom2dLinear(tEmissiveGrid, egridPos, uEmissiveGridDim, uEmissiveTexDim).a;
112
+ #endif
113
+ vEmissive *= uEmissiveStrength;
114
+ #endif
115
+ #elif defined(dRenderVariant_pick)
116
+ #ifdef requiredDrawBuffers
117
+ vObject = vec4(packIntToRGB(float(uObjectId)), 1.0);
118
+ vInstance = vec4(packIntToRGB(aInstance), 1.0);
119
+ vGroup = vec4(packIntToRGB(group), 1.0);
120
+ #else
121
+ if (uPickType == 1) {
122
+ vColor = vec4(packIntToRGB(float(uObjectId)), 1.0);
123
+ } else if (uPickType == 2) {
124
+ vColor = vec4(packIntToRGB(aInstance), 1.0);
125
+ } else {
126
+ vColor = vec4(packIntToRGB(group), 1.0);
127
+ }
128
+ #endif
129
+ #endif
130
+
131
+ #ifdef dTransparency
132
+ #if defined(dTransparencyType_instance)
133
+ vTransparency = readFromTexture(tTransparency, aInstance, uTransparencyTexDim).a;
134
+ #elif defined(dTransparencyType_groupInstance)
135
+ vTransparency = readFromTexture(tTransparency, aInstance * float(uGroupCount) + group, uTransparencyTexDim).a;
136
+ #elif defined(dTransparencyType_vertexInstance)
137
+ vTransparency = readFromTexture(tTransparency, int(aInstance) * uVertexCount + VertexID, uTransparencyTexDim).a;
138
+ #elif defined(dTransparencyType_volumeInstance)
139
+ vec3 tgridPos = (uTransparencyGridTransform.w * (vModelPosition - uTransparencyGridTransform.xyz)) / uTransparencyGridDim;
140
+ vTransparency = texture3dFrom2dLinear(tTransparencyGrid, tgridPos, uTransparencyGridDim, uTransparencyTexDim).a;
141
+ #endif
142
+ vTransparency *= uTransparencyStrength;
143
+ #endif
144
144
  `;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assign_group = void 0;
4
- exports.assign_group = `
5
- #ifdef dGeometryType_textureMesh
6
- float group = unpackRGBToInt(readFromTexture(tGroup, VertexID, uGeoTexDim).rgb);
7
- #else
8
- float group = aGroup;
9
- #endif
4
+ exports.assign_group = `
5
+ #ifdef dGeometryType_textureMesh
6
+ float group = unpackRGBToInt(readFromTexture(tGroup, VertexID, uGeoTexDim).rgb);
7
+ #else
8
+ float group = aGroup;
9
+ #endif
10
10
  `;
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assign_marker_varying = void 0;
4
- exports.assign_marker_varying = `
5
- #if defined(dNeedsMarker)
6
- #if defined(dMarkerType_instance)
7
- vMarker = readFromTexture(tMarker, aInstance, uMarkerTexDim).a;
8
- #elif defined(dMarkerType_groupInstance)
9
- vMarker = readFromTexture(tMarker, aInstance * float(uGroupCount) + group, uMarkerTexDim).a;
10
- #endif
11
- #endif
4
+ exports.assign_marker_varying = `
5
+ #if defined(dNeedsMarker)
6
+ #if defined(dMarkerType_instance)
7
+ vMarker = readFromTexture(tMarker, aInstance, uMarkerTexDim).a;
8
+ #elif defined(dMarkerType_groupInstance)
9
+ vMarker = readFromTexture(tMarker, aInstance * float(uGroupCount) + group, uMarkerTexDim).a;
10
+ #endif
11
+ #endif
12
12
  `;
@@ -1,116 +1,116 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assign_material_color = void 0;
4
- exports.assign_material_color = `
5
- #if defined(dNeedsMarker)
6
- float marker = uMarker;
7
- if (uMarker == -1.0) {
8
- marker = floor(vMarker * 255.0 + 0.5); // rounding required to work on some cards on win
9
- }
10
- #endif
11
-
12
- #if defined(dRenderVariant_color)
13
- #if defined(dUsePalette)
14
- vec4 material = vec4(texture2D(tPalette, vec2(vPaletteV, 0.5)).rgb, uAlpha);
15
- #elif defined(dColorType_uniform)
16
- vec4 material = vec4(uColor, uAlpha);
17
- #elif defined(dColorType_varying)
18
- vec4 material = vec4(vColor.rgb, uAlpha);
19
- #endif
20
-
21
- // mix material with overpaint
22
- #if defined(dOverpaint)
23
- material.rgb = mix(material.rgb, vOverpaint.rgb, vOverpaint.a);
24
- #endif
25
-
26
- float emissive = uEmissive;
27
- #ifdef dEmissive
28
- emissive += vEmissive;
29
- #endif
30
-
31
- float metalness = uMetalness;
32
- float roughness = uRoughness;
33
- float bumpiness = uBumpiness;
34
- #ifdef dSubstance
35
- float sf = clamp(vSubstance.a, 0.0, 0.99); // clamp to avoid artifacts
36
- metalness = mix(metalness, vSubstance.r, sf);
37
- roughness = mix(roughness, vSubstance.g, sf);
38
- bumpiness = mix(bumpiness, vSubstance.b, sf);
39
- #endif
40
- #elif defined(dRenderVariant_depth)
41
- if (fragmentDepth > getDepth(gl_FragCoord.xy / uDrawingBufferSize)) {
42
- discard;
43
- }
44
-
45
- #ifndef dXrayShaded
46
- #if defined(dTransparency)
47
- float dta = 1.0 - vTransparency;
48
- if (vTransparency < 0.2) dta = 1.0; // hard cutoff looks better
49
-
50
- if (uRenderMask == MaskTransparent && uAlpha * dta == 1.0) {
51
- discard;
52
- } else if (uRenderMask == MaskOpaque && uAlpha * dta < 1.0) {
53
- discard;
54
- }
55
- #else
56
- if (uRenderMask == MaskTransparent && uAlpha == 1.0) {
57
- discard;
58
- } else if (uRenderMask == MaskOpaque && uAlpha < 1.0) {
59
- discard;
60
- }
61
- #endif
62
- #else
63
- if (uRenderMask == MaskOpaque) {
64
- discard;
65
- }
66
- #endif
67
-
68
- vec4 material = packDepthToRGBA(fragmentDepth);
69
- #elif defined(dRenderVariant_marking)
70
- vec4 material;
71
- if(uMarkingType == 1) {
72
- if (marker > 0.0)
73
- discard;
74
- #ifdef enabledFragDepth
75
- material = packDepthToRGBA(gl_FragDepthEXT);
76
- #else
77
- material = packDepthToRGBA(gl_FragCoord.z);
78
- #endif
79
- } else {
80
- if (marker == 0.0)
81
- discard;
82
- float depthTest = 1.0;
83
- if (uMarkingDepthTest) {
84
- depthTest = (fragmentDepth >= getDepthPacked(gl_FragCoord.xy / uDrawingBufferSize)) ? 1.0 : 0.0;
85
- }
86
- bool isHighlight = intMod(marker, 2.0) > 0.1;
87
- float viewZ = depthToViewZ(uIsOrtho, fragmentDepth, uNear, uFar);
88
- float fogFactor = smoothstep(uFogNear, uFogFar, abs(viewZ));
89
- if (fogFactor == 1.0)
90
- discard;
91
- material = vec4(0.0, depthTest, isHighlight ? 1.0 : 0.0, 1.0 - fogFactor);
92
- }
93
- #elif defined(dRenderVariant_emissive)
94
- float emissive = uEmissive;
95
- #ifdef dEmissive
96
- emissive += vEmissive;
97
- #endif
98
- vec4 material = vec4(emissive);
99
- #endif
100
-
101
- // apply per-group transparency
102
- #if defined(dTransparency) && (defined(dRenderVariant_pick) || defined(dRenderVariant_color) || defined(dRenderVariant_emissive))
103
- float ta = 1.0 - vTransparency;
104
- if (vTransparency < 0.09) ta = 1.0; // hard cutoff looks better
105
-
106
- #if defined(dRenderVariant_pick)
107
- if (ta * uAlpha < uPickingAlphaThreshold)
108
- discard; // ignore so the element below can be picked
109
- #elif defined(dRenderVariant_emissive)
110
- if (ta < 1.0)
111
- discard; // emissive not supported with transparency
112
- #elif defined(dRenderVariant_color)
113
- material.a *= ta;
114
- #endif
115
- #endif
4
+ exports.assign_material_color = `
5
+ #if defined(dNeedsMarker)
6
+ float marker = uMarker;
7
+ if (uMarker == -1.0) {
8
+ marker = floor(vMarker * 255.0 + 0.5); // rounding required to work on some cards on win
9
+ }
10
+ #endif
11
+
12
+ #if defined(dRenderVariant_color)
13
+ #if defined(dUsePalette)
14
+ vec4 material = vec4(texture2D(tPalette, vec2(vPaletteV, 0.5)).rgb, uAlpha);
15
+ #elif defined(dColorType_uniform)
16
+ vec4 material = vec4(uColor, uAlpha);
17
+ #elif defined(dColorType_varying)
18
+ vec4 material = vec4(vColor.rgb, uAlpha);
19
+ #endif
20
+
21
+ // mix material with overpaint
22
+ #if defined(dOverpaint)
23
+ material.rgb = mix(material.rgb, vOverpaint.rgb, vOverpaint.a);
24
+ #endif
25
+
26
+ float emissive = uEmissive;
27
+ #ifdef dEmissive
28
+ emissive += vEmissive;
29
+ #endif
30
+
31
+ float metalness = uMetalness;
32
+ float roughness = uRoughness;
33
+ float bumpiness = uBumpiness;
34
+ #ifdef dSubstance
35
+ float sf = clamp(vSubstance.a, 0.0, 0.99); // clamp to avoid artifacts
36
+ metalness = mix(metalness, vSubstance.r, sf);
37
+ roughness = mix(roughness, vSubstance.g, sf);
38
+ bumpiness = mix(bumpiness, vSubstance.b, sf);
39
+ #endif
40
+ #elif defined(dRenderVariant_depth)
41
+ if (fragmentDepth > getDepth(gl_FragCoord.xy / uDrawingBufferSize)) {
42
+ discard;
43
+ }
44
+
45
+ #ifndef dXrayShaded
46
+ #if defined(dTransparency)
47
+ float dta = 1.0 - vTransparency;
48
+ if (vTransparency < 0.2) dta = 1.0; // hard cutoff looks better
49
+
50
+ if (uRenderMask == MaskTransparent && uAlpha * dta == 1.0) {
51
+ discard;
52
+ } else if (uRenderMask == MaskOpaque && uAlpha * dta < 1.0) {
53
+ discard;
54
+ }
55
+ #else
56
+ if (uRenderMask == MaskTransparent && uAlpha == 1.0) {
57
+ discard;
58
+ } else if (uRenderMask == MaskOpaque && uAlpha < 1.0) {
59
+ discard;
60
+ }
61
+ #endif
62
+ #else
63
+ if (uRenderMask == MaskOpaque) {
64
+ discard;
65
+ }
66
+ #endif
67
+
68
+ vec4 material = packDepthToRGBA(fragmentDepth);
69
+ #elif defined(dRenderVariant_marking)
70
+ vec4 material;
71
+ if(uMarkingType == 1) {
72
+ if (marker > 0.0)
73
+ discard;
74
+ #ifdef enabledFragDepth
75
+ material = packDepthToRGBA(gl_FragDepthEXT);
76
+ #else
77
+ material = packDepthToRGBA(gl_FragCoord.z);
78
+ #endif
79
+ } else {
80
+ if (marker == 0.0)
81
+ discard;
82
+ float depthTest = 1.0;
83
+ if (uMarkingDepthTest) {
84
+ depthTest = (fragmentDepth >= getDepthPacked(gl_FragCoord.xy / uDrawingBufferSize)) ? 1.0 : 0.0;
85
+ }
86
+ bool isHighlight = intMod(marker, 2.0) > 0.1;
87
+ float viewZ = depthToViewZ(uIsOrtho, fragmentDepth, uNear, uFar);
88
+ float fogFactor = smoothstep(uFogNear, uFogFar, abs(viewZ));
89
+ if (fogFactor == 1.0)
90
+ discard;
91
+ material = vec4(0.0, depthTest, isHighlight ? 1.0 : 0.0, 1.0 - fogFactor);
92
+ }
93
+ #elif defined(dRenderVariant_emissive)
94
+ float emissive = uEmissive;
95
+ #ifdef dEmissive
96
+ emissive += vEmissive;
97
+ #endif
98
+ vec4 material = vec4(emissive);
99
+ #endif
100
+
101
+ // apply per-group transparency
102
+ #if defined(dTransparency) && (defined(dRenderVariant_pick) || defined(dRenderVariant_color) || defined(dRenderVariant_emissive))
103
+ float ta = 1.0 - vTransparency;
104
+ if (vTransparency < 0.09) ta = 1.0; // hard cutoff looks better
105
+
106
+ #if defined(dRenderVariant_pick)
107
+ if (ta * uAlpha < uPickingAlphaThreshold)
108
+ discard; // ignore so the element below can be picked
109
+ #elif defined(dRenderVariant_emissive)
110
+ if (ta < 1.0)
111
+ discard; // emissive not supported with transparency
112
+ #elif defined(dRenderVariant_color)
113
+ material.a *= ta;
114
+ #endif
115
+ #endif
116
116
  `;
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assign_position = void 0;
4
- exports.assign_position = `
5
- mat4 model = uModel * aTransform;
6
- mat4 modelView = uView * model;
7
- #ifdef dGeometryType_textureMesh
8
- vec3 position = readFromTexture(tPosition, VertexID, uGeoTexDim).xyz;
9
- #else
10
- vec3 position = aPosition;
11
- #endif
12
- vec4 position4 = vec4(position, 1.0);
13
- // for accessing tColorGrid in vert shader and for clipping in frag shader
14
- vModelPosition = (model * position4).xyz;
15
- vec4 mvPosition = modelView * position4;
16
- vViewPosition = mvPosition.xyz;
17
- gl_Position = uProjection * mvPosition;
4
+ exports.assign_position = `
5
+ mat4 model = uModel * aTransform;
6
+ mat4 modelView = uView * model;
7
+ #ifdef dGeometryType_textureMesh
8
+ vec3 position = readFromTexture(tPosition, VertexID, uGeoTexDim).xyz;
9
+ #else
10
+ vec3 position = aPosition;
11
+ #endif
12
+ vec4 position4 = vec4(position, 1.0);
13
+ // for accessing tColorGrid in vert shader and for clipping in frag shader
14
+ vModelPosition = (model * position4).xyz;
15
+ vec4 mvPosition = modelView * position4;
16
+ vViewPosition = mvPosition.xyz;
17
+ gl_Position = uProjection * mvPosition;
18
18
  `;