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,238 +1,238 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.common = void 0;
4
- exports.common = `
5
- // TODO find a better place for these convenience defines
6
-
7
- #if defined(dRenderVariant_colorBlended) || defined(dRenderVariant_colorWboit) || defined(dRenderVariant_colorDpoit)
8
- #define dRenderVariant_color
9
- #endif
10
-
11
- #if defined(dColorType_instance) || defined(dColorType_group) || defined(dColorType_groupInstance) || defined(dColorType_vertex) || defined(dColorType_vertexInstance)
12
- #define dColorType_texture
13
- #endif
14
-
15
- #if defined(dColorType_volume) || defined(dColorType_volumeInstance)
16
- #define dColorType_grid
17
- #endif
18
-
19
- #if defined(dColorType_attribute) || defined(dColorType_texture) || defined(dColorType_grid)
20
- #define dColorType_varying
21
- #endif
22
-
23
- #if (defined(dRenderVariant_color) && defined(dColorMarker)) || defined(dRenderVariant_marking)
24
- #define dNeedsMarker
25
- #endif
26
-
27
- #if defined(dXrayShaded_on) || defined(dXrayShaded_inverted)
28
- #define dXrayShaded
29
- #endif
30
-
31
- #define MaskAll 0
32
- #define MaskOpaque 1
33
- #define MaskTransparent 2
34
-
35
- //
36
-
37
- #define PI 3.14159265
38
- #define RECIPROCAL_PI 0.31830988618
39
- #define EPSILON 1e-6
40
-
41
- #define saturate(a) clamp(a, 0.0, 1.0)
42
-
43
- #if __VERSION__ == 100
44
- #define round(x) floor((x) + 0.5)
45
- #endif
46
-
47
- float intDiv(const in float a, const in float b) { return float(int(a) / int(b)); }
48
- vec2 ivec2Div(const in vec2 a, const in vec2 b) { return vec2(ivec2(a) / ivec2(b)); }
49
- float intMod(const in float a, const in float b) { return a - b * float(int(a) / int(b)); }
50
- int imod(const in int a, const in int b) { return a - b * (a / b); }
51
-
52
- float pow2(const in float x) { return x * x; }
53
-
54
- vec3 packIntToRGB(in float value) {
55
- value = clamp(round(value), 0.0, 16777216.0 - 1.0) + 1.0;
56
- vec3 c = vec3(0.0);
57
- c.b = mod(value, 256.0);
58
- value = floor(value / 256.0);
59
- c.g = mod(value, 256.0);
60
- value = floor(value / 256.0);
61
- c.r = mod(value, 256.0);
62
- return c / 255.0;
63
- }
64
- float unpackRGBToInt(const in vec3 rgb) {
65
- return (floor(rgb.r * 255.0 + 0.5) * 256.0 * 256.0 + floor(rgb.g * 255.0 + 0.5) * 256.0 + floor(rgb.b * 255.0 + 0.5)) - 1.0;
66
- }
67
-
68
- vec2 packUnitIntervalToRG(const in float v) {
69
- vec2 enc;
70
- enc.xy = vec2(fract(v * 256.0), v);
71
- enc.y -= enc.x * (1.0 / 256.0);
72
- enc.xy *= 256.0 / 255.0;
73
-
74
- return enc;
75
- }
76
-
77
- float unpackRGToUnitInterval(const in vec2 enc) {
78
- return dot(enc, vec2(255.0 / (256.0 * 256.0), 255.0 / 256.0));
79
- }
80
-
81
- vec3 screenSpaceToViewSpace(const in vec3 ssPos, const in mat4 invProjection) {
82
- vec4 p = vec4(ssPos * 2.0 - 1.0, 1.0);
83
- p = invProjection * p;
84
- return p.xyz / p.w;
85
- }
86
-
87
- const float PackUpscale = 256.0 / 255.0; // fraction -> 0..1 (including 1)
88
- const float UnpackDownscale = 255.0 / 256.0; // 0..1 -> fraction (excluding 1)
89
- const vec3 PackFactors = vec3(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0);
90
- const vec4 UnpackFactors = UnpackDownscale / vec4(PackFactors, 1.0);
91
- const float ShiftRight8 = 1.0 / 256.0;
92
-
93
- vec4 packDepthToRGBA(const in float v) {
94
- vec4 r = vec4(fract(v * PackFactors), v);
95
- r.yzw -= r.xyz * ShiftRight8; // tidy overflow
96
- return r * PackUpscale;
97
- }
98
- float unpackRGBAToDepth(const in vec4 v) {
99
- return dot(v, UnpackFactors);
100
- }
101
-
102
- vec4 sRGBToLinear(const in vec4 c) {
103
- return vec4(mix(pow(c.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), c.rgb * 0.0773993808, vec3(lessThanEqual(c.rgb, vec3(0.04045)))), c.a);
104
- }
105
- vec4 linearTosRGB(const in vec4 c) {
106
- return vec4(mix(pow(c.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), c.rgb * 12.92, vec3(lessThanEqual(c.rgb, vec3(0.0031308)))), c.a);
107
- }
108
-
109
- float linearizeDepth(const in float depth, const in float near, const in float far) {
110
- return (2.0 * near) / (far + near - depth * (far - near));
111
- }
112
-
113
- float perspectiveDepthToViewZ(const in float invClipZ, const in float near, const in float far) {
114
- return (near * far) / ((far - near) * invClipZ - far);
115
- }
116
-
117
- float orthographicDepthToViewZ(const in float linearClipZ, const in float near, const in float far) {
118
- return linearClipZ * (near - far) - near;
119
- }
120
-
121
- float depthToViewZ(const in float isOrtho, const in float linearClipZ, const in float near, const in float far) {
122
- return isOrtho == 1.0 ? orthographicDepthToViewZ(linearClipZ, near, far) : perspectiveDepthToViewZ(linearClipZ, near, far);
123
- }
124
-
125
- #if __VERSION__ == 100
126
- // transpose
127
-
128
- float transpose(const in float m) {
129
- return m;
130
- }
131
-
132
- mat2 transpose2(const in mat2 m) {
133
- return mat2(
134
- m[0][0], m[1][0],
135
- m[0][1], m[1][1]
136
- );
137
- }
138
-
139
- mat3 transpose3(const in mat3 m) {
140
- return mat3(
141
- m[0][0], m[1][0], m[2][0],
142
- m[0][1], m[1][1], m[2][1],
143
- m[0][2], m[1][2], m[2][2]
144
- );
145
- }
146
-
147
- mat4 transpose4(const in mat4 m) {
148
- return mat4(
149
- m[0][0], m[1][0], m[2][0], m[3][0],
150
- m[0][1], m[1][1], m[2][1], m[3][1],
151
- m[0][2], m[1][2], m[2][2], m[3][2],
152
- m[0][3], m[1][3], m[2][3], m[3][3]
153
- );
154
- }
155
-
156
- // inverse
157
-
158
- float inverse(const in float m) {
159
- return 1.0 / m;
160
- }
161
-
162
- mat2 inverse2(const in mat2 m) {
163
- return mat2(m[1][1],-m[0][1],
164
- -m[1][0], m[0][0]) / (m[0][0]*m[1][1] - m[0][1]*m[1][0]);
165
- }
166
-
167
- mat3 inverse3(const in mat3 m) {
168
- float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2];
169
- float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2];
170
- float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2];
171
-
172
- float b01 = a22 * a11 - a12 * a21;
173
- float b11 = -a22 * a10 + a12 * a20;
174
- float b21 = a21 * a10 - a11 * a20;
175
-
176
- float det = a00 * b01 + a01 * b11 + a02 * b21;
177
-
178
- return mat3(b01, (-a22 * a01 + a02 * a21), (a12 * a01 - a02 * a11),
179
- b11, (a22 * a00 - a02 * a20), (-a12 * a00 + a02 * a10),
180
- b21, (-a21 * a00 + a01 * a20), (a11 * a00 - a01 * a10)) / det;
181
- }
182
-
183
- mat4 inverse4(const in mat4 m) {
184
- float
185
- a00 = m[0][0], a01 = m[0][1], a02 = m[0][2], a03 = m[0][3],
186
- a10 = m[1][0], a11 = m[1][1], a12 = m[1][2], a13 = m[1][3],
187
- a20 = m[2][0], a21 = m[2][1], a22 = m[2][2], a23 = m[2][3],
188
- a30 = m[3][0], a31 = m[3][1], a32 = m[3][2], a33 = m[3][3],
189
-
190
- b00 = a00 * a11 - a01 * a10,
191
- b01 = a00 * a12 - a02 * a10,
192
- b02 = a00 * a13 - a03 * a10,
193
- b03 = a01 * a12 - a02 * a11,
194
- b04 = a01 * a13 - a03 * a11,
195
- b05 = a02 * a13 - a03 * a12,
196
- b06 = a20 * a31 - a21 * a30,
197
- b07 = a20 * a32 - a22 * a30,
198
- b08 = a20 * a33 - a23 * a30,
199
- b09 = a21 * a32 - a22 * a31,
200
- b10 = a21 * a33 - a23 * a31,
201
- b11 = a22 * a33 - a23 * a32,
202
-
203
- det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
204
-
205
- return mat4(
206
- a11 * b11 - a12 * b10 + a13 * b09,
207
- a02 * b10 - a01 * b11 - a03 * b09,
208
- a31 * b05 - a32 * b04 + a33 * b03,
209
- a22 * b04 - a21 * b05 - a23 * b03,
210
- a12 * b08 - a10 * b11 - a13 * b07,
211
- a00 * b11 - a02 * b08 + a03 * b07,
212
- a32 * b02 - a30 * b05 - a33 * b01,
213
- a20 * b05 - a22 * b02 + a23 * b01,
214
- a10 * b10 - a11 * b08 + a13 * b06,
215
- a01 * b08 - a00 * b10 - a03 * b06,
216
- a30 * b04 - a31 * b02 + a33 * b00,
217
- a21 * b02 - a20 * b04 - a23 * b00,
218
- a11 * b07 - a10 * b09 - a12 * b06,
219
- a00 * b09 - a01 * b07 + a02 * b06,
220
- a31 * b01 - a30 * b03 - a32 * b00,
221
- a20 * b03 - a21 * b01 + a22 * b00) / det;
222
- }
223
-
224
- #define isNaN(x) ((x) != (x))
225
- #define isInf(x) ((x) == (x) + 1.0)
226
- #else
227
- #define transpose2(m) transpose(m)
228
- #define transpose3(m) transpose(m)
229
- #define transpose4(m) transpose(m)
230
-
231
- #define inverse2(m) inverse(m)
232
- #define inverse3(m) inverse(m)
233
- #define inverse4(m) inverse(m)
234
-
235
- #define isNaN isnan
236
- #define isInf isinf
237
- #endif
4
+ exports.common = `
5
+ // TODO find a better place for these convenience defines
6
+
7
+ #if defined(dRenderVariant_colorBlended) || defined(dRenderVariant_colorWboit) || defined(dRenderVariant_colorDpoit)
8
+ #define dRenderVariant_color
9
+ #endif
10
+
11
+ #if defined(dColorType_instance) || defined(dColorType_group) || defined(dColorType_groupInstance) || defined(dColorType_vertex) || defined(dColorType_vertexInstance)
12
+ #define dColorType_texture
13
+ #endif
14
+
15
+ #if defined(dColorType_volume) || defined(dColorType_volumeInstance)
16
+ #define dColorType_grid
17
+ #endif
18
+
19
+ #if defined(dColorType_attribute) || defined(dColorType_texture) || defined(dColorType_grid)
20
+ #define dColorType_varying
21
+ #endif
22
+
23
+ #if (defined(dRenderVariant_color) && defined(dColorMarker)) || defined(dRenderVariant_marking)
24
+ #define dNeedsMarker
25
+ #endif
26
+
27
+ #if defined(dXrayShaded_on) || defined(dXrayShaded_inverted)
28
+ #define dXrayShaded
29
+ #endif
30
+
31
+ #define MaskAll 0
32
+ #define MaskOpaque 1
33
+ #define MaskTransparent 2
34
+
35
+ //
36
+
37
+ #define PI 3.14159265
38
+ #define RECIPROCAL_PI 0.31830988618
39
+ #define EPSILON 1e-6
40
+
41
+ #define saturate(a) clamp(a, 0.0, 1.0)
42
+
43
+ #if __VERSION__ == 100
44
+ #define round(x) floor((x) + 0.5)
45
+ #endif
46
+
47
+ float intDiv(const in float a, const in float b) { return float(int(a) / int(b)); }
48
+ vec2 ivec2Div(const in vec2 a, const in vec2 b) { return vec2(ivec2(a) / ivec2(b)); }
49
+ float intMod(const in float a, const in float b) { return a - b * float(int(a) / int(b)); }
50
+ int imod(const in int a, const in int b) { return a - b * (a / b); }
51
+
52
+ float pow2(const in float x) { return x * x; }
53
+
54
+ vec3 packIntToRGB(in float value) {
55
+ value = clamp(round(value), 0.0, 16777216.0 - 1.0) + 1.0;
56
+ vec3 c = vec3(0.0);
57
+ c.b = mod(value, 256.0);
58
+ value = floor(value / 256.0);
59
+ c.g = mod(value, 256.0);
60
+ value = floor(value / 256.0);
61
+ c.r = mod(value, 256.0);
62
+ return c / 255.0;
63
+ }
64
+ float unpackRGBToInt(const in vec3 rgb) {
65
+ return (floor(rgb.r * 255.0 + 0.5) * 256.0 * 256.0 + floor(rgb.g * 255.0 + 0.5) * 256.0 + floor(rgb.b * 255.0 + 0.5)) - 1.0;
66
+ }
67
+
68
+ vec2 packUnitIntervalToRG(const in float v) {
69
+ vec2 enc;
70
+ enc.xy = vec2(fract(v * 256.0), v);
71
+ enc.y -= enc.x * (1.0 / 256.0);
72
+ enc.xy *= 256.0 / 255.0;
73
+
74
+ return enc;
75
+ }
76
+
77
+ float unpackRGToUnitInterval(const in vec2 enc) {
78
+ return dot(enc, vec2(255.0 / (256.0 * 256.0), 255.0 / 256.0));
79
+ }
80
+
81
+ vec3 screenSpaceToViewSpace(const in vec3 ssPos, const in mat4 invProjection) {
82
+ vec4 p = vec4(ssPos * 2.0 - 1.0, 1.0);
83
+ p = invProjection * p;
84
+ return p.xyz / p.w;
85
+ }
86
+
87
+ const float PackUpscale = 256.0 / 255.0; // fraction -> 0..1 (including 1)
88
+ const float UnpackDownscale = 255.0 / 256.0; // 0..1 -> fraction (excluding 1)
89
+ const vec3 PackFactors = vec3(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0);
90
+ const vec4 UnpackFactors = UnpackDownscale / vec4(PackFactors, 1.0);
91
+ const float ShiftRight8 = 1.0 / 256.0;
92
+
93
+ vec4 packDepthToRGBA(const in float v) {
94
+ vec4 r = vec4(fract(v * PackFactors), v);
95
+ r.yzw -= r.xyz * ShiftRight8; // tidy overflow
96
+ return r * PackUpscale;
97
+ }
98
+ float unpackRGBAToDepth(const in vec4 v) {
99
+ return dot(v, UnpackFactors);
100
+ }
101
+
102
+ vec4 sRGBToLinear(const in vec4 c) {
103
+ return vec4(mix(pow(c.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), c.rgb * 0.0773993808, vec3(lessThanEqual(c.rgb, vec3(0.04045)))), c.a);
104
+ }
105
+ vec4 linearTosRGB(const in vec4 c) {
106
+ return vec4(mix(pow(c.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), c.rgb * 12.92, vec3(lessThanEqual(c.rgb, vec3(0.0031308)))), c.a);
107
+ }
108
+
109
+ float linearizeDepth(const in float depth, const in float near, const in float far) {
110
+ return (2.0 * near) / (far + near - depth * (far - near));
111
+ }
112
+
113
+ float perspectiveDepthToViewZ(const in float invClipZ, const in float near, const in float far) {
114
+ return (near * far) / ((far - near) * invClipZ - far);
115
+ }
116
+
117
+ float orthographicDepthToViewZ(const in float linearClipZ, const in float near, const in float far) {
118
+ return linearClipZ * (near - far) - near;
119
+ }
120
+
121
+ float depthToViewZ(const in float isOrtho, const in float linearClipZ, const in float near, const in float far) {
122
+ return isOrtho == 1.0 ? orthographicDepthToViewZ(linearClipZ, near, far) : perspectiveDepthToViewZ(linearClipZ, near, far);
123
+ }
124
+
125
+ #if __VERSION__ == 100
126
+ // transpose
127
+
128
+ float transpose(const in float m) {
129
+ return m;
130
+ }
131
+
132
+ mat2 transpose2(const in mat2 m) {
133
+ return mat2(
134
+ m[0][0], m[1][0],
135
+ m[0][1], m[1][1]
136
+ );
137
+ }
138
+
139
+ mat3 transpose3(const in mat3 m) {
140
+ return mat3(
141
+ m[0][0], m[1][0], m[2][0],
142
+ m[0][1], m[1][1], m[2][1],
143
+ m[0][2], m[1][2], m[2][2]
144
+ );
145
+ }
146
+
147
+ mat4 transpose4(const in mat4 m) {
148
+ return mat4(
149
+ m[0][0], m[1][0], m[2][0], m[3][0],
150
+ m[0][1], m[1][1], m[2][1], m[3][1],
151
+ m[0][2], m[1][2], m[2][2], m[3][2],
152
+ m[0][3], m[1][3], m[2][3], m[3][3]
153
+ );
154
+ }
155
+
156
+ // inverse
157
+
158
+ float inverse(const in float m) {
159
+ return 1.0 / m;
160
+ }
161
+
162
+ mat2 inverse2(const in mat2 m) {
163
+ return mat2(m[1][1],-m[0][1],
164
+ -m[1][0], m[0][0]) / (m[0][0]*m[1][1] - m[0][1]*m[1][0]);
165
+ }
166
+
167
+ mat3 inverse3(const in mat3 m) {
168
+ float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2];
169
+ float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2];
170
+ float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2];
171
+
172
+ float b01 = a22 * a11 - a12 * a21;
173
+ float b11 = -a22 * a10 + a12 * a20;
174
+ float b21 = a21 * a10 - a11 * a20;
175
+
176
+ float det = a00 * b01 + a01 * b11 + a02 * b21;
177
+
178
+ return mat3(b01, (-a22 * a01 + a02 * a21), (a12 * a01 - a02 * a11),
179
+ b11, (a22 * a00 - a02 * a20), (-a12 * a00 + a02 * a10),
180
+ b21, (-a21 * a00 + a01 * a20), (a11 * a00 - a01 * a10)) / det;
181
+ }
182
+
183
+ mat4 inverse4(const in mat4 m) {
184
+ float
185
+ a00 = m[0][0], a01 = m[0][1], a02 = m[0][2], a03 = m[0][3],
186
+ a10 = m[1][0], a11 = m[1][1], a12 = m[1][2], a13 = m[1][3],
187
+ a20 = m[2][0], a21 = m[2][1], a22 = m[2][2], a23 = m[2][3],
188
+ a30 = m[3][0], a31 = m[3][1], a32 = m[3][2], a33 = m[3][3],
189
+
190
+ b00 = a00 * a11 - a01 * a10,
191
+ b01 = a00 * a12 - a02 * a10,
192
+ b02 = a00 * a13 - a03 * a10,
193
+ b03 = a01 * a12 - a02 * a11,
194
+ b04 = a01 * a13 - a03 * a11,
195
+ b05 = a02 * a13 - a03 * a12,
196
+ b06 = a20 * a31 - a21 * a30,
197
+ b07 = a20 * a32 - a22 * a30,
198
+ b08 = a20 * a33 - a23 * a30,
199
+ b09 = a21 * a32 - a22 * a31,
200
+ b10 = a21 * a33 - a23 * a31,
201
+ b11 = a22 * a33 - a23 * a32,
202
+
203
+ det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
204
+
205
+ return mat4(
206
+ a11 * b11 - a12 * b10 + a13 * b09,
207
+ a02 * b10 - a01 * b11 - a03 * b09,
208
+ a31 * b05 - a32 * b04 + a33 * b03,
209
+ a22 * b04 - a21 * b05 - a23 * b03,
210
+ a12 * b08 - a10 * b11 - a13 * b07,
211
+ a00 * b11 - a02 * b08 + a03 * b07,
212
+ a32 * b02 - a30 * b05 - a33 * b01,
213
+ a20 * b05 - a22 * b02 + a23 * b01,
214
+ a10 * b10 - a11 * b08 + a13 * b06,
215
+ a01 * b08 - a00 * b10 - a03 * b06,
216
+ a30 * b04 - a31 * b02 + a33 * b00,
217
+ a21 * b02 - a20 * b04 - a23 * b00,
218
+ a11 * b07 - a10 * b09 - a12 * b06,
219
+ a00 * b09 - a01 * b07 + a02 * b06,
220
+ a31 * b01 - a30 * b03 - a32 * b00,
221
+ a20 * b03 - a21 * b01 + a22 * b00) / det;
222
+ }
223
+
224
+ #define isNaN(x) ((x) != (x))
225
+ #define isInf(x) ((x) == (x) + 1.0)
226
+ #else
227
+ #define transpose2(m) transpose(m)
228
+ #define transpose3(m) transpose(m)
229
+ #define transpose4(m) transpose(m)
230
+
231
+ #define inverse2(m) inverse(m)
232
+ #define inverse3(m) inverse(m)
233
+ #define inverse4(m) inverse(m)
234
+
235
+ #define isNaN isnan
236
+ #define isInf isinf
237
+ #endif
238
238
  `;
@@ -6,66 +6,66 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.dpoit_write = void 0;
9
- exports.dpoit_write = `
10
- #if defined(dRenderVariant_colorDpoit)
11
- if (uRenderMask == MaskOpaque) {
12
- if (preFogAlpha < 1.0) {
13
- discard;
14
- }
15
- } else if (uRenderMask == MaskTransparent) {
16
- vec2 coords = gl_FragCoord.xy / uDrawingBufferSize;
17
- if (preFogAlpha != 1.0 && fragmentDepth < getDepth(coords)) {
18
- #ifdef dTransparentBackfaces_off
19
- if (interior) discard;
20
- #endif
21
-
22
- // adapted from https://github.com/tsherif/webgl2examples
23
- // The MIT License, Copyright 2017 Tarek Sherif, Shuai Shao
24
-
25
- vec2 lastDepth = texture2D(tDpoitDepth, coords).rg;
26
- vec4 lastFrontColor = texture2D(tDpoitFrontColor, coords);
27
-
28
- vec4 fragColor = gl_FragColor;
29
-
30
- // depth value always increases
31
- // so we can use MAX blend equation
32
- gl_FragData[2].rg = vec2(-MAX_DPOIT_DEPTH);
33
-
34
- // front color always increases
35
- // so we can use MAX blend equation
36
- gl_FragColor = lastFrontColor;
37
-
38
- // back color is separately blend afterwards each pass
39
- gl_FragData[1] = vec4(0.0);
40
-
41
- float nearestDepth = -lastDepth.x;
42
- float furthestDepth = lastDepth.y;
43
- float alphaMultiplier = 1.0 - lastFrontColor.a;
44
-
45
- if (fragmentDepth < nearestDepth || fragmentDepth > furthestDepth) {
46
- // Skip this depth since it's been peeled.
47
- return;
48
- }
49
-
50
- if (fragmentDepth > nearestDepth && fragmentDepth < furthestDepth) {
51
- // This needs to be peeled.
52
- // The ones remaining after MAX blended for
53
- // all need-to-peel will be peeled next pass.
54
- gl_FragData[2].rg = vec2(-fragmentDepth, fragmentDepth);
55
- return;
56
- }
57
-
58
- // write to back and front color buffer
59
- if (fragmentDepth == nearestDepth) {
60
- gl_FragColor.rgb += fragColor.rgb * fragColor.a * alphaMultiplier;
61
- gl_FragColor.a = 1.0 - alphaMultiplier * (1.0 - fragColor.a);
62
- } else {
63
- gl_FragData[1] += fragColor;
64
- }
65
-
66
- } else {
67
- discard;
68
- }
69
- }
70
- #endif
9
+ exports.dpoit_write = `
10
+ #if defined(dRenderVariant_colorDpoit)
11
+ if (uRenderMask == MaskOpaque) {
12
+ if (preFogAlpha < 1.0) {
13
+ discard;
14
+ }
15
+ } else if (uRenderMask == MaskTransparent) {
16
+ vec2 coords = gl_FragCoord.xy / uDrawingBufferSize;
17
+ if (preFogAlpha != 1.0 && fragmentDepth < getDepth(coords)) {
18
+ #ifdef dTransparentBackfaces_off
19
+ if (interior) discard;
20
+ #endif
21
+
22
+ // adapted from https://github.com/tsherif/webgl2examples
23
+ // The MIT License, Copyright 2017 Tarek Sherif, Shuai Shao
24
+
25
+ vec2 lastDepth = texture2D(tDpoitDepth, coords).rg;
26
+ vec4 lastFrontColor = texture2D(tDpoitFrontColor, coords);
27
+
28
+ vec4 fragColor = gl_FragColor;
29
+
30
+ // depth value always increases
31
+ // so we can use MAX blend equation
32
+ gl_FragData[2].rg = vec2(-MAX_DPOIT_DEPTH);
33
+
34
+ // front color always increases
35
+ // so we can use MAX blend equation
36
+ gl_FragColor = lastFrontColor;
37
+
38
+ // back color is separately blend afterwards each pass
39
+ gl_FragData[1] = vec4(0.0);
40
+
41
+ float nearestDepth = -lastDepth.x;
42
+ float furthestDepth = lastDepth.y;
43
+ float alphaMultiplier = 1.0 - lastFrontColor.a;
44
+
45
+ if (fragmentDepth < nearestDepth || fragmentDepth > furthestDepth) {
46
+ // Skip this depth since it's been peeled.
47
+ return;
48
+ }
49
+
50
+ if (fragmentDepth > nearestDepth && fragmentDepth < furthestDepth) {
51
+ // This needs to be peeled.
52
+ // The ones remaining after MAX blended for
53
+ // all need-to-peel will be peeled next pass.
54
+ gl_FragData[2].rg = vec2(-fragmentDepth, fragmentDepth);
55
+ return;
56
+ }
57
+
58
+ // write to back and front color buffer
59
+ if (fragmentDepth == nearestDepth) {
60
+ gl_FragColor.rgb += fragColor.rgb * fragColor.a * alphaMultiplier;
61
+ gl_FragColor.a = 1.0 - alphaMultiplier * (1.0 - fragColor.a);
62
+ } else {
63
+ gl_FragData[1] += fragColor;
64
+ }
65
+
66
+ } else {
67
+ discard;
68
+ }
69
+ }
70
+ #endif
71
71
  `;