molstar 4.0.1 → 4.2.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 (907) 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 +0 -9
  7. package/lib/apps/docking-viewer/index.html +36 -36
  8. package/lib/apps/docking-viewer/viewport.d.ts +8 -8
  9. package/lib/apps/mesoscale-explorer/behavior/camera.d.ts +1 -1
  10. package/lib/apps/mesoscale-explorer/behavior/select.d.ts +1 -1
  11. package/lib/apps/mesoscale-explorer/data/cellpack/model.d.ts +2 -2
  12. package/lib/apps/mesoscale-explorer/data/cellpack/preset.d.ts +1 -1
  13. package/lib/apps/mesoscale-explorer/data/cellpack/preset.js +5 -5
  14. package/lib/apps/mesoscale-explorer/data/generic/preset.d.ts +1 -1
  15. package/lib/apps/mesoscale-explorer/data/generic/preset.js +3 -3
  16. package/lib/apps/mesoscale-explorer/data/mmcif/preset.d.ts +1 -1
  17. package/lib/apps/mesoscale-explorer/data/mmcif/preset.js +3 -3
  18. package/lib/apps/mesoscale-explorer/data/petworld/preset.d.ts +1 -1
  19. package/lib/apps/mesoscale-explorer/data/petworld/preset.js +3 -3
  20. package/lib/apps/mesoscale-explorer/data/state.d.ts +19 -10
  21. package/lib/apps/mesoscale-explorer/data/state.js +14 -2
  22. package/lib/apps/mesoscale-explorer/index.html +100 -100
  23. package/lib/apps/mesoscale-explorer/style.scss +33 -33
  24. package/lib/apps/mesoscale-explorer/ui/entities.d.ts +19 -13
  25. package/lib/apps/mesoscale-explorer/ui/entities.js +23 -4
  26. package/lib/apps/viewer/app.d.ts +30 -24
  27. package/lib/apps/viewer/app.js +6 -6
  28. package/lib/apps/viewer/embedded.html +52 -52
  29. package/lib/apps/viewer/index.html +129 -129
  30. package/lib/cli/chem-comp-dict/create-ions.js +9 -9
  31. package/lib/cli/chem-comp-dict/create-saccharides.js +9 -9
  32. package/lib/cli/chem-comp-dict/util.d.ts +112 -112
  33. package/lib/cli/cifschema/util/cif-dic.js +1 -0
  34. package/lib/cli/cifschema/util/generate.js +12 -12
  35. package/lib/cli/lipid-params/index.js +9 -9
  36. package/lib/cli/mvs/mvs-print-schema.d.ts +1 -0
  37. package/lib/cli/mvs/mvs-print-schema.js +1 -0
  38. package/lib/cli/mvs/mvs-render.d.ts +1 -0
  39. package/lib/cli/mvs/mvs-render.js +1 -0
  40. package/lib/cli/mvs/mvs-validate.d.ts +1 -0
  41. package/lib/cli/mvs/mvs-validate.js +1 -0
  42. package/lib/commonjs/apps/docking-viewer/viewport.d.ts +8 -8
  43. package/lib/commonjs/apps/mesoscale-explorer/behavior/camera.d.ts +1 -1
  44. package/lib/commonjs/apps/mesoscale-explorer/behavior/select.d.ts +1 -1
  45. package/lib/commonjs/apps/mesoscale-explorer/data/cellpack/model.d.ts +2 -2
  46. package/lib/commonjs/apps/mesoscale-explorer/data/cellpack/preset.d.ts +1 -1
  47. package/lib/commonjs/apps/mesoscale-explorer/data/cellpack/preset.js +5 -5
  48. package/lib/commonjs/apps/mesoscale-explorer/data/generic/preset.d.ts +1 -1
  49. package/lib/commonjs/apps/mesoscale-explorer/data/generic/preset.js +3 -3
  50. package/lib/commonjs/apps/mesoscale-explorer/data/mmcif/preset.d.ts +1 -1
  51. package/lib/commonjs/apps/mesoscale-explorer/data/mmcif/preset.js +3 -3
  52. package/lib/commonjs/apps/mesoscale-explorer/data/petworld/preset.d.ts +1 -1
  53. package/lib/commonjs/apps/mesoscale-explorer/data/petworld/preset.js +3 -3
  54. package/lib/commonjs/apps/mesoscale-explorer/data/state.d.ts +19 -10
  55. package/lib/commonjs/apps/mesoscale-explorer/data/state.js +15 -3
  56. package/lib/commonjs/apps/mesoscale-explorer/ui/entities.d.ts +19 -13
  57. package/lib/commonjs/apps/mesoscale-explorer/ui/entities.js +22 -3
  58. package/lib/commonjs/apps/viewer/app.d.ts +30 -24
  59. package/lib/commonjs/apps/viewer/app.js +6 -6
  60. package/lib/commonjs/cli/chem-comp-dict/create-ions.js +9 -9
  61. package/lib/commonjs/cli/chem-comp-dict/create-saccharides.js +9 -9
  62. package/lib/commonjs/cli/chem-comp-dict/util.d.ts +112 -112
  63. package/lib/commonjs/cli/cifschema/util/cif-dic.js +1 -0
  64. package/lib/commonjs/cli/cifschema/util/generate.js +12 -12
  65. package/lib/commonjs/cli/lipid-params/index.js +9 -9
  66. package/lib/commonjs/cli/mvs/mvs-print-schema.d.ts +1 -0
  67. package/lib/commonjs/cli/mvs/mvs-print-schema.js +1 -0
  68. package/lib/commonjs/cli/mvs/mvs-render.d.ts +1 -0
  69. package/lib/commonjs/cli/mvs/mvs-render.js +1 -0
  70. package/lib/commonjs/cli/mvs/mvs-validate.d.ts +1 -0
  71. package/lib/commonjs/cli/mvs/mvs-validate.js +1 -0
  72. package/lib/commonjs/examples/alpha-orbitals/example-data.js +160 -160
  73. package/lib/commonjs/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
  74. package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +2 -2
  75. package/lib/commonjs/extensions/anvil/behavior.d.ts +10 -9
  76. package/lib/commonjs/extensions/anvil/representation.d.ts +5 -0
  77. package/lib/commonjs/extensions/assembly-symmetry/behavior.d.ts +2 -1
  78. package/lib/commonjs/extensions/assembly-symmetry/prop.js +24 -24
  79. package/lib/commonjs/extensions/assembly-symmetry/representation.d.ts +1 -0
  80. package/lib/commonjs/extensions/backgrounds/index.d.ts +2 -2
  81. package/lib/commonjs/extensions/backgrounds/index.js +2 -1
  82. package/lib/commonjs/extensions/dnatco/behavior.d.ts +1 -1
  83. package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.d.ts +10 -10
  84. package/lib/commonjs/extensions/dnatco/confal-pyramids/behavior.js +5 -5
  85. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +3 -0
  86. package/lib/commonjs/extensions/dnatco/ntc-tube/behavior.d.ts +10 -10
  87. package/lib/commonjs/extensions/dnatco/ntc-tube/behavior.js +5 -5
  88. package/lib/commonjs/extensions/dnatco/ntc-tube/representation.d.ts +3 -0
  89. package/lib/commonjs/extensions/g3d/format.d.ts +6 -6
  90. package/lib/commonjs/extensions/geo-export/glb-exporter.d.ts +1 -1
  91. package/lib/commonjs/extensions/geo-export/glb-exporter.js +6 -4
  92. package/lib/commonjs/extensions/geo-export/index.d.ts +1 -1
  93. package/lib/commonjs/extensions/geo-export/usdz-exporter.js +41 -41
  94. package/lib/commonjs/extensions/meshes/mesh-extension.d.ts +2 -3
  95. package/lib/commonjs/extensions/meshes/mesh-streaming/behavior.d.ts +1 -1
  96. package/lib/commonjs/extensions/meshes/mesh-streaming/server-info.d.ts +2 -2
  97. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.d.ts +9 -9
  98. package/lib/commonjs/extensions/model-export/index.d.ts +1 -1
  99. package/lib/commonjs/extensions/mp4-export/index.d.ts +1 -1
  100. package/lib/commonjs/extensions/mvs/behavior.d.ts +1 -1
  101. package/lib/commonjs/extensions/mvs/camera.d.ts +2 -0
  102. package/lib/commonjs/extensions/mvs/camera.js +29 -2
  103. package/lib/commonjs/extensions/mvs/components/annotation-label/representation.d.ts +4 -0
  104. package/lib/commonjs/extensions/mvs/components/annotation-label/visual.d.ts +1 -0
  105. package/lib/commonjs/extensions/mvs/components/custom-label/representation.d.ts +4 -2
  106. package/lib/commonjs/extensions/mvs/components/custom-label/visual.d.ts +1 -0
  107. package/lib/commonjs/extensions/mvs/components/formats.d.ts +6 -4
  108. package/lib/commonjs/extensions/mvs/components/formats.js +2 -1
  109. package/lib/commonjs/extensions/mvs/load-helpers.d.ts +1 -1
  110. package/lib/commonjs/extensions/mvs/load.d.ts +2 -0
  111. package/lib/commonjs/extensions/mvs/load.js +12 -6
  112. package/lib/commonjs/extensions/mvs/tree/mvs/mvs-builder.d.ts +2 -8
  113. package/lib/commonjs/extensions/pdbe/structure-quality-report/behavior.d.ts +1 -1
  114. package/lib/commonjs/extensions/rcsb/validation-report/behavior.d.ts +22 -22
  115. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +5 -0
  116. package/lib/commonjs/extensions/sb-ncbr/partial-charges/behavior.d.ts +1 -1
  117. package/lib/commonjs/extensions/sb-ncbr/partial-charges/preset.d.ts +4 -4
  118. package/lib/commonjs/extensions/volumes-and-segmentations/entry-meshes.d.ts +1 -1
  119. package/lib/commonjs/extensions/volumes-and-segmentations/entry-root.d.ts +5 -5
  120. package/lib/commonjs/extensions/volumes-and-segmentations/entry-segmentation.d.ts +1 -1
  121. package/lib/commonjs/extensions/volumes-and-segmentations/entry-state.d.ts +2 -2
  122. package/lib/commonjs/extensions/volumes-and-segmentations/global-state.d.ts +2 -2
  123. package/lib/commonjs/extensions/volumes-and-segmentations/helpers.d.ts +1 -1
  124. package/lib/commonjs/extensions/volumes-and-segmentations/index.d.ts +1 -1
  125. package/lib/commonjs/extensions/wwpdb/ccd/behavior.d.ts +1 -1
  126. package/lib/commonjs/extensions/wwpdb/ccd/representation.d.ts +4 -4
  127. package/lib/commonjs/extensions/zenodo/index.d.ts +1 -1
  128. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +14 -2
  129. package/lib/commonjs/mol-canvas3d/canvas3d.js +2 -2
  130. package/lib/commonjs/mol-canvas3d/controls/trackball.js +1 -1
  131. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +1 -0
  132. package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
  133. package/lib/commonjs/mol-canvas3d/passes/background.d.ts +6 -1
  134. package/lib/commonjs/mol-canvas3d/passes/background.js +13 -1
  135. package/lib/commonjs/mol-canvas3d/passes/bloom.d.ts +37 -0
  136. package/lib/commonjs/mol-canvas3d/passes/bloom.js +272 -0
  137. package/lib/commonjs/mol-canvas3d/passes/dpoit.js +4 -2
  138. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +11 -7
  139. package/lib/commonjs/mol-canvas3d/passes/draw.js +29 -3
  140. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +6 -0
  141. package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +31 -5
  142. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +35 -40
  143. package/lib/commonjs/mol-geo/geometry/base.d.ts +3 -1
  144. package/lib/commonjs/mol-geo/geometry/base.js +4 -1
  145. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +2 -1
  146. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +4 -1
  147. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +2 -1
  148. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +4 -1
  149. package/lib/commonjs/mol-geo/geometry/emissive-data.d.ts +26 -0
  150. package/lib/commonjs/mol-geo/geometry/emissive-data.js +80 -0
  151. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +2 -1
  152. package/lib/commonjs/mol-geo/geometry/image/image.js +4 -1
  153. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +3 -2
  154. package/lib/commonjs/mol-geo/geometry/lines/lines.js +4 -1
  155. package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.d.ts +2 -1
  156. package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.js +36 -2
  157. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +2 -1
  158. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +11 -4
  159. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +3 -2
  160. package/lib/commonjs/mol-geo/geometry/points/points.js +4 -1
  161. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +2 -2
  162. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +7 -3
  163. package/lib/commonjs/mol-geo/geometry/text/text.d.ts +2 -1
  164. package/lib/commonjs/mol-geo/geometry/text/text.js +4 -1
  165. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.d.ts +2 -1
  166. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +34 -2
  167. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +3 -1
  168. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +14 -4
  169. package/lib/commonjs/mol-geo/util/location-iterator.d.ts +5 -2
  170. package/lib/commonjs/mol-geo/util/location-iterator.js +8 -3
  171. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +10 -0
  172. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +10 -0
  173. package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -0
  174. package/lib/commonjs/mol-gl/renderable/lines.d.ts +10 -0
  175. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +10 -0
  176. package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -0
  177. package/lib/commonjs/mol-gl/renderable/schema.d.ts +24 -1
  178. package/lib/commonjs/mol-gl/renderable/schema.js +15 -2
  179. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +10 -0
  180. package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -0
  181. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +10 -0
  182. package/lib/commonjs/mol-gl/renderable.d.ts +1 -1
  183. package/lib/commonjs/mol-gl/renderable.js +2 -2
  184. package/lib/commonjs/mol-gl/renderer.d.ts +2 -1
  185. package/lib/commonjs/mol-gl/renderer.js +58 -49
  186. package/lib/commonjs/mol-gl/scene.d.ts +3 -1
  187. package/lib/commonjs/mol-gl/scene.js +26 -1
  188. package/lib/commonjs/mol-gl/shader/background.frag.d.ts +1 -1
  189. package/lib/commonjs/mol-gl/shader/background.frag.js +95 -94
  190. package/lib/commonjs/mol-gl/shader/background.vert.js +11 -11
  191. package/lib/commonjs/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
  192. package/lib/commonjs/mol-gl/shader/bloom/blur.frag.d.ts +1 -0
  193. package/lib/commonjs/mol-gl/shader/bloom/blur.frag.js +32 -0
  194. package/lib/commonjs/mol-gl/shader/bloom/composite.frag.d.ts +1 -0
  195. package/lib/commonjs/mol-gl/shader/bloom/composite.frag.js +37 -0
  196. package/lib/commonjs/mol-gl/shader/bloom/luminosity.frag.d.ts +1 -0
  197. package/lib/commonjs/mol-gl/shader/bloom/luminosity.frag.js +56 -0
  198. package/lib/commonjs/mol-gl/shader/cas.frag.js +144 -144
  199. package/lib/commonjs/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
  200. package/lib/commonjs/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
  201. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +2 -2
  202. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +78 -70
  203. package/lib/commonjs/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
  204. package/lib/commonjs/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
  205. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  206. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +140 -112
  207. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
  208. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
  209. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  210. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +112 -123
  211. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
  212. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
  213. package/lib/commonjs/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
  214. package/lib/commonjs/mol-gl/shader/chunks/check-transparency.glsl.d.ts +1 -0
  215. package/lib/commonjs/mol-gl/shader/chunks/check-transparency.glsl.js +20 -0
  216. package/lib/commonjs/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
  217. package/lib/commonjs/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
  218. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  219. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +60 -51
  220. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  221. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +122 -92
  222. package/lib/commonjs/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
  223. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  224. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +150 -149
  225. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
  226. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +234 -234
  227. package/lib/commonjs/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
  228. package/lib/commonjs/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
  229. package/lib/commonjs/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
  230. package/lib/commonjs/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
  231. package/lib/commonjs/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
  232. package/lib/commonjs/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
  233. package/lib/commonjs/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
  234. package/lib/commonjs/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
  235. package/lib/commonjs/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
  236. package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
  237. package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
  238. package/lib/commonjs/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
  239. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
  240. package/lib/commonjs/mol-gl/shader/compose.frag.js +12 -12
  241. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
  242. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
  243. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
  244. package/lib/commonjs/mol-gl/shader/copy.frag.js +11 -11
  245. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +2 -2
  246. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +267 -264
  247. package/lib/commonjs/mol-gl/shader/cylinders.vert.js +89 -89
  248. package/lib/commonjs/mol-gl/shader/depth-merge.frag.js +23 -23
  249. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  250. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +362 -356
  251. package/lib/commonjs/mol-gl/shader/direct-volume.vert.js +41 -41
  252. package/lib/commonjs/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
  253. package/lib/commonjs/mol-gl/shader/evaluate-wboit.frag.js +17 -17
  254. package/lib/commonjs/mol-gl/shader/fxaa.frag.js +228 -228
  255. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +49 -49
  256. package/lib/commonjs/mol-gl/shader/gaussian-density.vert.js +27 -27
  257. package/lib/commonjs/mol-gl/shader/hi-z.frag.js +18 -18
  258. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
  259. package/lib/commonjs/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
  260. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +2 -2
  261. package/lib/commonjs/mol-gl/shader/image.frag.js +170 -161
  262. package/lib/commonjs/mol-gl/shader/image.vert.js +21 -21
  263. package/lib/commonjs/mol-gl/shader/lines.frag.d.ts +2 -2
  264. package/lib/commonjs/mol-gl/shader/lines.frag.js +43 -40
  265. package/lib/commonjs/mol-gl/shader/lines.vert.js +117 -117
  266. package/lib/commonjs/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
  267. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
  268. package/lib/commonjs/mol-gl/shader/marking/edge.frag.js +28 -28
  269. package/lib/commonjs/mol-gl/shader/marking/overlay.frag.js +26 -26
  270. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +2 -2
  271. package/lib/commonjs/mol-gl/shader/mesh.frag.js +66 -63
  272. package/lib/commonjs/mol-gl/shader/mesh.vert.js +49 -49
  273. package/lib/commonjs/mol-gl/shader/outlines.frag.js +95 -95
  274. package/lib/commonjs/mol-gl/shader/points.frag.d.ts +2 -2
  275. package/lib/commonjs/mol-gl/shader/points.frag.js +60 -56
  276. package/lib/commonjs/mol-gl/shader/points.vert.js +38 -38
  277. package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +150 -150
  278. package/lib/commonjs/mol-gl/shader/quad.vert.js +10 -10
  279. package/lib/commonjs/mol-gl/shader/shadows.frag.js +123 -123
  280. package/lib/commonjs/mol-gl/shader/smaa/blend.frag.js +56 -56
  281. package/lib/commonjs/mol-gl/shader/smaa/blend.vert.js +25 -25
  282. package/lib/commonjs/mol-gl/shader/smaa/edges.frag.js +66 -66
  283. package/lib/commonjs/mol-gl/shader/smaa/edges.vert.js +26 -26
  284. package/lib/commonjs/mol-gl/shader/smaa/weights.frag.js +206 -206
  285. package/lib/commonjs/mol-gl/shader/smaa/weights.vert.js +32 -32
  286. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +2 -2
  287. package/lib/commonjs/mol-gl/shader/spheres.frag.js +149 -143
  288. package/lib/commonjs/mol-gl/shader/spheres.vert.js +132 -132
  289. package/lib/commonjs/mol-gl/shader/ssao-blur.frag.d.ts +3 -2
  290. package/lib/commonjs/mol-gl/shader/ssao-blur.frag.js +99 -100
  291. package/lib/commonjs/mol-gl/shader/ssao.frag.d.ts +3 -2
  292. package/lib/commonjs/mol-gl/shader/ssao.frag.js +213 -174
  293. package/lib/commonjs/mol-gl/shader/text.frag.d.ts +2 -2
  294. package/lib/commonjs/mol-gl/shader/text.frag.js +86 -84
  295. package/lib/commonjs/mol-gl/shader/text.vert.js +85 -85
  296. package/lib/commonjs/mol-gl/shader/util/grid3d-template.frag.js +46 -46
  297. package/lib/commonjs/mol-gl/shader-code.d.ts +1 -1
  298. package/lib/commonjs/mol-gl/shader-code.js +24 -18
  299. package/lib/commonjs/mol-gl/webgl/compat.js +12 -12
  300. package/lib/commonjs/mol-gl/webgl/render-item.d.ts +3 -2
  301. package/lib/commonjs/mol-gl/webgl/render-item.js +1 -1
  302. package/lib/commonjs/mol-io/common/binary-cif/array-encoder.d.ts +1 -1
  303. package/lib/commonjs/mol-io/common/binary-cif/array-encoder.js +5 -2
  304. package/lib/commonjs/mol-io/reader/cif/schema/bird.d.ts +1 -1
  305. package/lib/commonjs/mol-io/reader/cif/schema/bird.js +1 -1
  306. package/lib/commonjs/mol-io/reader/cif/schema/ccd-extras.d.ts +4 -4
  307. package/lib/commonjs/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  308. package/lib/commonjs/mol-io/reader/cif/schema/ccd.js +1 -1
  309. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +1 -1
  310. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +1 -1
  311. package/lib/commonjs/mol-io/reader/cif.d.ts +1 -1
  312. package/lib/commonjs/mol-io/writer/cif/encoder/binary.d.ts +1 -1
  313. package/lib/commonjs/mol-io/writer/cif/encoder/binary.js +10 -2
  314. package/lib/commonjs/mol-math/linear-algebra/3d/mat3.d.ts +3 -1
  315. package/lib/commonjs/mol-math/linear-algebra/3d/mat3.js +8 -1
  316. package/lib/commonjs/mol-math/linear-algebra/3d/vec3.d.ts +6 -0
  317. package/lib/commonjs/mol-math/linear-algebra/3d/vec3.js +20 -0
  318. package/lib/commonjs/mol-model/structure/model/types/saccharides.js +1 -1
  319. package/lib/commonjs/mol-model/structure/structure/properties.d.ts +2 -2
  320. package/lib/commonjs/mol-model/structure/structure/unit/bonds/data.d.ts +9 -6
  321. package/lib/commonjs/mol-model/structure/structure/unit/bonds/data.js +1 -1
  322. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  323. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +7 -4
  324. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  325. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +10 -6
  326. package/lib/commonjs/mol-model/structure/structure/unit.d.ts +2 -2
  327. package/lib/commonjs/mol-model/structure/structure/unit.js +5 -2
  328. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +2 -0
  329. package/lib/commonjs/mol-model-formats/structure/basic/schema.d.ts +118 -118
  330. package/lib/commonjs/mol-model-formats/structure/common/component.d.ts +2 -2
  331. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.d.ts +4 -1
  332. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +6 -3
  333. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +1 -0
  334. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +1 -0
  335. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +3 -0
  336. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +4 -0
  337. package/lib/commonjs/mol-plugin/behavior/behavior.d.ts +6 -6
  338. package/lib/commonjs/mol-plugin/behavior/dynamic/camera.d.ts +3 -3
  339. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/accessible-surface-area.d.ts +1 -1
  340. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/interactions.d.ts +1 -1
  341. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/secondary-structure.d.ts +1 -1
  342. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/computed/valence-model.d.ts +1 -1
  343. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/integrative/cross-link-restraint.d.ts +1 -1
  344. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/sequence/sifts-mapping.d.ts +1 -1
  345. package/lib/commonjs/mol-plugin/behavior/dynamic/custom-props/structure-info.d.ts +1 -1
  346. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.d.ts +4 -4
  347. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +1 -1
  348. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +2 -2
  349. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -2
  350. package/lib/commonjs/mol-plugin/commands.d.ts +1 -208
  351. package/lib/commonjs/mol-plugin/config.d.ts +5 -0
  352. package/lib/commonjs/mol-plugin/context.d.ts +2 -2
  353. package/lib/commonjs/mol-plugin/state.d.ts +6 -6
  354. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +3 -3
  355. package/lib/commonjs/mol-plugin-state/actions/structure.js +3 -5
  356. package/lib/commonjs/mol-plugin-state/actions/volume.d.ts +1 -1
  357. package/lib/commonjs/mol-plugin-state/builder/data.d.ts +4 -4
  358. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +27 -27
  359. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +5 -5
  360. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +42 -42
  361. package/lib/commonjs/mol-plugin-state/builder/structure/representation.d.ts +4 -4
  362. package/lib/commonjs/mol-plugin-state/builder/structure.d.ts +7 -7
  363. package/lib/commonjs/mol-plugin-state/formats/coordinates.d.ts +8 -8
  364. package/lib/commonjs/mol-plugin-state/formats/shape.d.ts +8 -8
  365. package/lib/commonjs/mol-plugin-state/formats/topology.d.ts +12 -12
  366. package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +33 -33
  367. package/lib/commonjs/mol-plugin-state/helpers/structure-emissive.d.ts +12 -0
  368. package/lib/commonjs/mol-plugin-state/helpers/structure-emissive.js +69 -0
  369. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.d.ts +1 -1
  370. package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +3 -1
  371. package/lib/commonjs/mol-plugin-state/manager/structure/component.js +9 -1
  372. package/lib/commonjs/mol-plugin-state/manager/structure/measurement.d.ts +341 -9
  373. package/lib/commonjs/mol-plugin-state/manager/structure/measurement.js +32 -19
  374. package/lib/commonjs/mol-plugin-state/manager/structure/selection.d.ts +1 -1
  375. package/lib/commonjs/mol-plugin-state/manager/volume/hierarchy.d.ts +1 -1
  376. package/lib/commonjs/mol-plugin-state/objects.d.ts +32 -32
  377. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +33 -8
  378. package/lib/commonjs/mol-plugin-state/transforms/representation.js +121 -6
  379. package/lib/commonjs/mol-plugin-state/transforms/shape.d.ts +1 -1
  380. package/lib/commonjs/mol-plugin-state/transforms/volume.d.ts +16 -8
  381. package/lib/commonjs/mol-plugin-state/transforms/volume.js +51 -2
  382. package/lib/commonjs/mol-plugin-ui/state/apply-action.d.ts +2 -2
  383. package/lib/commonjs/mol-plugin-ui/state/update-transform.d.ts +3 -3
  384. package/lib/commonjs/mol-repr/representation.d.ts +6 -2
  385. package/lib/commonjs/mol-repr/representation.js +12 -2
  386. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +1 -0
  387. package/lib/commonjs/mol-repr/shape/loci/common.d.ts +1 -0
  388. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +1 -0
  389. package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +1 -0
  390. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +1 -0
  391. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +1 -0
  392. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +1 -0
  393. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +1 -0
  394. package/lib/commonjs/mol-repr/structure/complex-representation.d.ts +1 -1
  395. package/lib/commonjs/mol-repr/structure/complex-representation.js +7 -1
  396. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +8 -1
  397. package/lib/commonjs/mol-repr/structure/complex-visual.js +5 -1
  398. package/lib/commonjs/mol-repr/structure/params.d.ts +8 -0
  399. package/lib/commonjs/mol-repr/structure/registry.d.ts +14 -0
  400. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +3 -0
  401. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +3 -0
  402. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +3 -0
  403. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +3 -0
  404. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +3 -0
  405. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +3 -0
  406. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
  407. package/lib/commonjs/mol-repr/structure/representation/label.d.ts +3 -0
  408. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +3 -0
  409. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +3 -0
  410. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +3 -0
  411. package/lib/commonjs/mol-repr/structure/representation/point.d.ts +3 -0
  412. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +3 -0
  413. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +3 -0
  414. package/lib/commonjs/mol-repr/structure/units-representation.d.ts +1 -1
  415. package/lib/commonjs/mol-repr/structure/units-representation.js +9 -3
  416. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +9 -1
  417. package/lib/commonjs/mol-repr/structure/units-visual.js +5 -1
  418. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +2 -0
  419. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +1 -0
  420. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +2 -0
  421. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +1 -0
  422. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +1 -0
  423. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -0
  424. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +1 -0
  425. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +1 -0
  426. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +1 -0
  427. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +4 -0
  428. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -0
  429. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
  430. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -0
  431. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +1 -1
  432. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -0
  433. package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +1 -0
  434. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -0
  435. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -0
  436. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-bond.d.ts +2 -0
  437. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-element.d.ts +2 -0
  438. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-ring-fill.d.ts +1 -0
  439. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -0
  440. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -0
  441. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -0
  442. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -0
  443. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -0
  444. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -0
  445. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -0
  446. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -0
  447. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -0
  448. package/lib/commonjs/mol-repr/visual.d.ts +6 -1
  449. package/lib/commonjs/mol-repr/visual.js +55 -1
  450. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +3 -0
  451. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +6 -0
  452. package/lib/commonjs/mol-repr/volume/registry.d.ts +4 -0
  453. package/lib/commonjs/mol-repr/volume/representation.d.ts +2 -1
  454. package/lib/commonjs/mol-repr/volume/representation.js +9 -2
  455. package/lib/commonjs/mol-repr/volume/segment.d.ts +5 -0
  456. package/lib/commonjs/mol-repr/volume/slice.d.ts +3 -0
  457. package/lib/commonjs/mol-script/language/symbol-table/core.d.ts +3 -3
  458. package/lib/commonjs/mol-state/tree/immutable.d.ts +1 -1
  459. package/lib/commonjs/mol-state/tree/transient.d.ts +2 -2
  460. package/lib/commonjs/mol-theme/color/external-volume.d.ts +3 -1
  461. package/lib/commonjs/mol-theme/color/external-volume.js +8 -2
  462. package/lib/commonjs/mol-theme/color.d.ts +1 -0
  463. package/lib/commonjs/mol-theme/emissive.d.ts +40 -0
  464. package/lib/commonjs/mol-theme/emissive.js +137 -0
  465. package/lib/commonjs/mol-theme/substance.d.ts +1 -1
  466. package/lib/commonjs/mol-theme/substance.js +2 -2
  467. package/lib/commonjs/mol-theme/transparency.d.ts +0 -1
  468. package/lib/commonjs/mol-util/input/input-observer.js +2 -0
  469. package/lib/commonjs/mol-util/set.d.ts +1 -1
  470. package/lib/commonjs/mol-util/set.js +17 -1
  471. package/lib/commonjs/servers/common/swagger-ui/indexTemplate.js +66 -66
  472. package/lib/commonjs/servers/volume/config.js +5 -5
  473. package/lib/examples/alpha-orbitals/example-data.js +160 -160
  474. package/lib/examples/alpha-orbitals/index.html +72 -72
  475. package/lib/examples/basic-wrapper/index.html +137 -137
  476. package/lib/examples/lighting/index.html +88 -88
  477. package/lib/examples/proteopedia-wrapper/index.html +236 -236
  478. package/lib/extensions/alpha-orbitals/gpu/shader.frag.js +136 -136
  479. package/lib/extensions/alpha-orbitals/transforms.d.ts +2 -2
  480. package/lib/extensions/anvil/behavior.d.ts +10 -9
  481. package/lib/extensions/anvil/representation.d.ts +5 -0
  482. package/lib/extensions/assembly-symmetry/behavior.d.ts +2 -1
  483. package/lib/extensions/assembly-symmetry/prop.js +24 -24
  484. package/lib/extensions/assembly-symmetry/representation.d.ts +1 -0
  485. package/lib/extensions/backgrounds/index.d.ts +2 -2
  486. package/lib/extensions/backgrounds/index.js +2 -1
  487. package/lib/extensions/dnatco/behavior.d.ts +1 -1
  488. package/lib/extensions/dnatco/confal-pyramids/behavior.d.ts +10 -10
  489. package/lib/extensions/dnatco/confal-pyramids/behavior.js +5 -5
  490. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +3 -0
  491. package/lib/extensions/dnatco/ntc-tube/behavior.d.ts +10 -10
  492. package/lib/extensions/dnatco/ntc-tube/behavior.js +5 -5
  493. package/lib/extensions/dnatco/ntc-tube/representation.d.ts +3 -0
  494. package/lib/extensions/g3d/format.d.ts +6 -6
  495. package/lib/extensions/geo-export/glb-exporter.d.ts +1 -1
  496. package/lib/extensions/geo-export/glb-exporter.js +6 -4
  497. package/lib/extensions/geo-export/index.d.ts +1 -1
  498. package/lib/extensions/geo-export/usdz-exporter.js +41 -41
  499. package/lib/extensions/meshes/mesh-extension.d.ts +2 -3
  500. package/lib/extensions/meshes/mesh-streaming/behavior.d.ts +1 -1
  501. package/lib/extensions/meshes/mesh-streaming/server-info.d.ts +2 -2
  502. package/lib/extensions/model-archive/quality-assessment/behavior.d.ts +9 -9
  503. package/lib/extensions/model-export/index.d.ts +1 -1
  504. package/lib/extensions/mp4-export/index.d.ts +1 -1
  505. package/lib/extensions/mvs/behavior.d.ts +1 -1
  506. package/lib/extensions/mvs/camera.d.ts +2 -0
  507. package/lib/extensions/mvs/camera.js +27 -1
  508. package/lib/extensions/mvs/components/annotation-label/representation.d.ts +4 -0
  509. package/lib/extensions/mvs/components/annotation-label/visual.d.ts +1 -0
  510. package/lib/extensions/mvs/components/custom-label/representation.d.ts +4 -2
  511. package/lib/extensions/mvs/components/custom-label/visual.d.ts +1 -0
  512. package/lib/extensions/mvs/components/formats.d.ts +6 -4
  513. package/lib/extensions/mvs/components/formats.js +2 -1
  514. package/lib/extensions/mvs/load-helpers.d.ts +1 -1
  515. package/lib/extensions/mvs/load.d.ts +2 -0
  516. package/lib/extensions/mvs/load.js +13 -7
  517. package/lib/extensions/mvs/tree/mvs/mvs-builder.d.ts +2 -8
  518. package/lib/extensions/pdbe/structure-quality-report/behavior.d.ts +1 -1
  519. package/lib/extensions/rcsb/validation-report/behavior.d.ts +22 -22
  520. package/lib/extensions/rcsb/validation-report/representation.d.ts +5 -0
  521. package/lib/extensions/sb-ncbr/partial-charges/behavior.d.ts +1 -1
  522. package/lib/extensions/sb-ncbr/partial-charges/preset.d.ts +4 -4
  523. package/lib/extensions/volumes-and-segmentations/entry-meshes.d.ts +1 -1
  524. package/lib/extensions/volumes-and-segmentations/entry-root.d.ts +5 -5
  525. package/lib/extensions/volumes-and-segmentations/entry-segmentation.d.ts +1 -1
  526. package/lib/extensions/volumes-and-segmentations/entry-state.d.ts +2 -2
  527. package/lib/extensions/volumes-and-segmentations/global-state.d.ts +2 -2
  528. package/lib/extensions/volumes-and-segmentations/helpers.d.ts +1 -1
  529. package/lib/extensions/volumes-and-segmentations/index.d.ts +1 -1
  530. package/lib/extensions/wwpdb/ccd/behavior.d.ts +1 -1
  531. package/lib/extensions/wwpdb/ccd/representation.d.ts +4 -4
  532. package/lib/extensions/zenodo/index.d.ts +1 -1
  533. package/lib/mol-canvas3d/canvas3d.d.ts +14 -2
  534. package/lib/mol-canvas3d/canvas3d.js +2 -2
  535. package/lib/mol-canvas3d/controls/trackball.js +1 -1
  536. package/lib/mol-canvas3d/helper/handle-helper.d.ts +1 -0
  537. package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
  538. package/lib/mol-canvas3d/passes/background.d.ts +6 -1
  539. package/lib/mol-canvas3d/passes/background.js +14 -2
  540. package/lib/mol-canvas3d/passes/bloom.d.ts +37 -0
  541. package/lib/mol-canvas3d/passes/bloom.js +268 -0
  542. package/lib/mol-canvas3d/passes/dpoit.js +4 -2
  543. package/lib/mol-canvas3d/passes/draw.d.ts +11 -7
  544. package/lib/mol-canvas3d/passes/draw.js +30 -4
  545. package/lib/mol-canvas3d/passes/image.d.ts +6 -0
  546. package/lib/mol-canvas3d/passes/postprocessing.d.ts +31 -5
  547. package/lib/mol-canvas3d/passes/postprocessing.js +33 -39
  548. package/lib/mol-geo/geometry/base.d.ts +3 -1
  549. package/lib/mol-geo/geometry/base.js +4 -1
  550. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +2 -1
  551. package/lib/mol-geo/geometry/cylinders/cylinders.js +4 -1
  552. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +2 -1
  553. package/lib/mol-geo/geometry/direct-volume/direct-volume.js +4 -1
  554. package/lib/mol-geo/geometry/emissive-data.d.ts +26 -0
  555. package/lib/mol-geo/geometry/emissive-data.js +72 -0
  556. package/lib/mol-geo/geometry/image/image.d.ts +2 -1
  557. package/lib/mol-geo/geometry/image/image.js +4 -1
  558. package/lib/mol-geo/geometry/lines/lines.d.ts +3 -2
  559. package/lib/mol-geo/geometry/lines/lines.js +4 -1
  560. package/lib/mol-geo/geometry/mesh/color-smoothing.d.ts +2 -1
  561. package/lib/mol-geo/geometry/mesh/color-smoothing.js +34 -1
  562. package/lib/mol-geo/geometry/mesh/mesh.d.ts +2 -1
  563. package/lib/mol-geo/geometry/mesh/mesh.js +11 -4
  564. package/lib/mol-geo/geometry/points/points.d.ts +3 -2
  565. package/lib/mol-geo/geometry/points/points.js +4 -1
  566. package/lib/mol-geo/geometry/spheres/spheres.d.ts +2 -2
  567. package/lib/mol-geo/geometry/spheres/spheres.js +7 -3
  568. package/lib/mol-geo/geometry/text/text.d.ts +2 -1
  569. package/lib/mol-geo/geometry/text/text.js +4 -1
  570. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.d.ts +2 -1
  571. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +32 -1
  572. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +3 -1
  573. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +14 -4
  574. package/lib/mol-geo/util/location-iterator.d.ts +5 -2
  575. package/lib/mol-geo/util/location-iterator.js +8 -3
  576. package/lib/mol-gl/renderable/cylinders.d.ts +10 -0
  577. package/lib/mol-gl/renderable/direct-volume.d.ts +10 -0
  578. package/lib/mol-gl/renderable/image.d.ts +10 -0
  579. package/lib/mol-gl/renderable/lines.d.ts +10 -0
  580. package/lib/mol-gl/renderable/mesh.d.ts +10 -0
  581. package/lib/mol-gl/renderable/points.d.ts +10 -0
  582. package/lib/mol-gl/renderable/schema.d.ts +24 -1
  583. package/lib/mol-gl/renderable/schema.js +14 -1
  584. package/lib/mol-gl/renderable/spheres.d.ts +10 -0
  585. package/lib/mol-gl/renderable/text.d.ts +10 -0
  586. package/lib/mol-gl/renderable/texture-mesh.d.ts +10 -0
  587. package/lib/mol-gl/renderable.d.ts +1 -1
  588. package/lib/mol-gl/renderable.js +2 -2
  589. package/lib/mol-gl/renderer.d.ts +2 -1
  590. package/lib/mol-gl/renderer.js +58 -49
  591. package/lib/mol-gl/scene.d.ts +3 -1
  592. package/lib/mol-gl/scene.js +26 -1
  593. package/lib/mol-gl/shader/background.frag.d.ts +1 -1
  594. package/lib/mol-gl/shader/background.frag.js +95 -94
  595. package/lib/mol-gl/shader/background.vert.js +11 -11
  596. package/lib/mol-gl/shader/blend-back-dpoit.frag.js +13 -13
  597. package/lib/mol-gl/shader/bloom/blur.frag.d.ts +1 -0
  598. package/lib/mol-gl/shader/bloom/blur.frag.js +29 -0
  599. package/lib/mol-gl/shader/bloom/composite.frag.d.ts +1 -0
  600. package/lib/mol-gl/shader/bloom/composite.frag.js +34 -0
  601. package/lib/mol-gl/shader/bloom/luminosity.frag.d.ts +1 -0
  602. package/lib/mol-gl/shader/bloom/luminosity.frag.js +53 -0
  603. package/lib/mol-gl/shader/cas.frag.js +144 -144
  604. package/lib/mol-gl/shader/chunks/apply-fog.glsl.js +31 -31
  605. package/lib/mol-gl/shader/chunks/apply-interior-color.glsl.js +12 -12
  606. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +2 -2
  607. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +78 -70
  608. package/lib/mol-gl/shader/chunks/apply-marker-color.glsl.js +16 -16
  609. package/lib/mol-gl/shader/chunks/assign-clipping-varying.glsl.js +8 -8
  610. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  611. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +140 -112
  612. package/lib/mol-gl/shader/chunks/assign-group.glsl.js +6 -6
  613. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +8 -8
  614. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  615. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +112 -123
  616. package/lib/mol-gl/shader/chunks/assign-position.glsl.js +14 -14
  617. package/lib/mol-gl/shader/chunks/assign-size.glsl.js +18 -18
  618. package/lib/mol-gl/shader/chunks/check-picking-alpha.glsl.js +12 -12
  619. package/lib/mol-gl/shader/chunks/check-transparency.glsl.d.ts +1 -0
  620. package/lib/mol-gl/shader/chunks/check-transparency.glsl.js +17 -0
  621. package/lib/mol-gl/shader/chunks/clip-instance.glsl.js +7 -7
  622. package/lib/mol-gl/shader/chunks/clip-pixel.glsl.js +5 -5
  623. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  624. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +60 -51
  625. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  626. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +122 -92
  627. package/lib/mol-gl/shader/chunks/common-clip.glsl.js +104 -104
  628. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  629. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +150 -149
  630. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +61 -61
  631. package/lib/mol-gl/shader/chunks/common.glsl.js +234 -234
  632. package/lib/mol-gl/shader/chunks/dpoit-write.glsl.js +62 -62
  633. package/lib/mol-gl/shader/chunks/fade-lod.glsl.js +42 -42
  634. package/lib/mol-gl/shader/chunks/float-to-rgba.glsl.js +39 -39
  635. package/lib/mol-gl/shader/chunks/light-frag-params.glsl.js +127 -127
  636. package/lib/mol-gl/shader/chunks/matrix-scale.glsl.js +5 -5
  637. package/lib/mol-gl/shader/chunks/normal-frag-params.glsl.js +2 -2
  638. package/lib/mol-gl/shader/chunks/read-from-texture.glsl.js +14 -14
  639. package/lib/mol-gl/shader/chunks/rgba-to-float.glsl.js +84 -84
  640. package/lib/mol-gl/shader/chunks/size-vert-params.glsl.js +11 -11
  641. package/lib/mol-gl/shader/chunks/texture3d-from-1d-trilinear.glsl.js +23 -23
  642. package/lib/mol-gl/shader/chunks/texture3d-from-2d-linear.glsl.js +17 -17
  643. package/lib/mol-gl/shader/chunks/texture3d-from-2d-nearest.glsl.js +8 -8
  644. package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +25 -25
  645. package/lib/mol-gl/shader/compose.frag.js +12 -12
  646. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +23 -23
  647. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +43 -43
  648. package/lib/mol-gl/shader/compute/color-smoothing/normalize.frag.js +15 -15
  649. package/lib/mol-gl/shader/copy.frag.js +11 -11
  650. package/lib/mol-gl/shader/cylinders.frag.d.ts +2 -2
  651. package/lib/mol-gl/shader/cylinders.frag.js +267 -264
  652. package/lib/mol-gl/shader/cylinders.vert.js +89 -89
  653. package/lib/mol-gl/shader/depth-merge.frag.js +23 -23
  654. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  655. package/lib/mol-gl/shader/direct-volume.frag.js +362 -356
  656. package/lib/mol-gl/shader/direct-volume.vert.js +41 -41
  657. package/lib/mol-gl/shader/evaluate-dpoit.frag.js +10 -10
  658. package/lib/mol-gl/shader/evaluate-wboit.frag.js +17 -17
  659. package/lib/mol-gl/shader/fxaa.frag.js +228 -228
  660. package/lib/mol-gl/shader/gaussian-density.frag.js +49 -49
  661. package/lib/mol-gl/shader/gaussian-density.vert.js +27 -27
  662. package/lib/mol-gl/shader/hi-z.frag.js +18 -18
  663. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +58 -58
  664. package/lib/mol-gl/shader/histogram-pyramid/sum.frag.js +19 -19
  665. package/lib/mol-gl/shader/image.frag.d.ts +2 -2
  666. package/lib/mol-gl/shader/image.frag.js +170 -161
  667. package/lib/mol-gl/shader/image.vert.js +21 -21
  668. package/lib/mol-gl/shader/lines.frag.d.ts +2 -2
  669. package/lib/mol-gl/shader/lines.frag.js +43 -40
  670. package/lib/mol-gl/shader/lines.vert.js +117 -117
  671. package/lib/mol-gl/shader/marching-cubes/active-voxels.frag.js +70 -70
  672. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +311 -311
  673. package/lib/mol-gl/shader/marking/edge.frag.js +28 -28
  674. package/lib/mol-gl/shader/marking/overlay.frag.js +26 -26
  675. package/lib/mol-gl/shader/mesh.frag.d.ts +2 -2
  676. package/lib/mol-gl/shader/mesh.frag.js +66 -63
  677. package/lib/mol-gl/shader/mesh.vert.js +49 -49
  678. package/lib/mol-gl/shader/outlines.frag.js +95 -95
  679. package/lib/mol-gl/shader/points.frag.d.ts +2 -2
  680. package/lib/mol-gl/shader/points.frag.js +60 -56
  681. package/lib/mol-gl/shader/points.vert.js +38 -38
  682. package/lib/mol-gl/shader/postprocessing.frag.js +150 -150
  683. package/lib/mol-gl/shader/quad.vert.js +10 -10
  684. package/lib/mol-gl/shader/shadows.frag.js +123 -123
  685. package/lib/mol-gl/shader/smaa/blend.frag.js +56 -56
  686. package/lib/mol-gl/shader/smaa/blend.vert.js +25 -25
  687. package/lib/mol-gl/shader/smaa/edges.frag.js +66 -66
  688. package/lib/mol-gl/shader/smaa/edges.vert.js +26 -26
  689. package/lib/mol-gl/shader/smaa/weights.frag.js +206 -206
  690. package/lib/mol-gl/shader/smaa/weights.vert.js +32 -32
  691. package/lib/mol-gl/shader/spheres.frag.d.ts +2 -2
  692. package/lib/mol-gl/shader/spheres.frag.js +149 -143
  693. package/lib/mol-gl/shader/spheres.vert.js +132 -132
  694. package/lib/mol-gl/shader/ssao-blur.frag.d.ts +3 -2
  695. package/lib/mol-gl/shader/ssao-blur.frag.js +99 -100
  696. package/lib/mol-gl/shader/ssao.frag.d.ts +3 -2
  697. package/lib/mol-gl/shader/ssao.frag.js +213 -174
  698. package/lib/mol-gl/shader/text.frag.d.ts +2 -2
  699. package/lib/mol-gl/shader/text.frag.js +86 -84
  700. package/lib/mol-gl/shader/text.vert.js +85 -85
  701. package/lib/mol-gl/shader/util/grid3d-template.frag.js +46 -46
  702. package/lib/mol-gl/shader-code.d.ts +1 -1
  703. package/lib/mol-gl/shader-code.js +24 -18
  704. package/lib/mol-gl/webgl/compat.js +12 -12
  705. package/lib/mol-gl/webgl/render-item.d.ts +3 -2
  706. package/lib/mol-gl/webgl/render-item.js +1 -1
  707. package/lib/mol-io/common/binary-cif/array-encoder.d.ts +1 -1
  708. package/lib/mol-io/common/binary-cif/array-encoder.js +5 -2
  709. package/lib/mol-io/reader/cif/schema/bird.d.ts +1 -1
  710. package/lib/mol-io/reader/cif/schema/bird.js +1 -1
  711. package/lib/mol-io/reader/cif/schema/ccd-extras.d.ts +4 -4
  712. package/lib/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  713. package/lib/mol-io/reader/cif/schema/ccd.js +1 -1
  714. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +1 -1
  715. package/lib/mol-io/reader/cif/schema/mmcif.js +1 -1
  716. package/lib/mol-io/reader/cif.d.ts +1 -1
  717. package/lib/mol-io/writer/cif/encoder/binary.d.ts +1 -1
  718. package/lib/mol-io/writer/cif/encoder/binary.js +10 -2
  719. package/lib/mol-math/linear-algebra/3d/mat3.d.ts +3 -1
  720. package/lib/mol-math/linear-algebra/3d/mat3.js +8 -1
  721. package/lib/mol-math/linear-algebra/3d/vec3.d.ts +6 -0
  722. package/lib/mol-math/linear-algebra/3d/vec3.js +20 -0
  723. package/lib/mol-model/structure/model/types/saccharides.js +1 -1
  724. package/lib/mol-model/structure/structure/properties.d.ts +2 -2
  725. package/lib/mol-model/structure/structure/unit/bonds/data.d.ts +9 -6
  726. package/lib/mol-model/structure/structure/unit/bonds/data.js +1 -1
  727. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  728. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +7 -4
  729. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  730. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +10 -6
  731. package/lib/mol-model/structure/structure/unit.d.ts +2 -2
  732. package/lib/mol-model/structure/structure/unit.js +5 -2
  733. package/lib/mol-model-formats/shape/ply.d.ts +2 -0
  734. package/lib/mol-model-formats/structure/basic/schema.d.ts +118 -118
  735. package/lib/mol-model-formats/structure/common/component.d.ts +2 -2
  736. package/lib/mol-model-formats/structure/property/bonds/index-pair.d.ts +4 -1
  737. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +6 -3
  738. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +1 -0
  739. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +1 -0
  740. package/lib/mol-model-props/computed/representations/interactions.d.ts +3 -0
  741. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +4 -0
  742. package/lib/mol-plugin/behavior/behavior.d.ts +6 -6
  743. package/lib/mol-plugin/behavior/dynamic/camera.d.ts +3 -3
  744. package/lib/mol-plugin/behavior/dynamic/custom-props/computed/accessible-surface-area.d.ts +1 -1
  745. package/lib/mol-plugin/behavior/dynamic/custom-props/computed/interactions.d.ts +1 -1
  746. package/lib/mol-plugin/behavior/dynamic/custom-props/computed/secondary-structure.d.ts +1 -1
  747. package/lib/mol-plugin/behavior/dynamic/custom-props/computed/valence-model.d.ts +1 -1
  748. package/lib/mol-plugin/behavior/dynamic/custom-props/integrative/cross-link-restraint.d.ts +1 -1
  749. package/lib/mol-plugin/behavior/dynamic/custom-props/sequence/sifts-mapping.d.ts +1 -1
  750. package/lib/mol-plugin/behavior/dynamic/custom-props/structure-info.d.ts +1 -1
  751. package/lib/mol-plugin/behavior/dynamic/representation.d.ts +4 -4
  752. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +1 -1
  753. package/lib/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +2 -2
  754. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +2 -2
  755. package/lib/mol-plugin/commands.d.ts +1 -208
  756. package/lib/mol-plugin/config.d.ts +5 -0
  757. package/lib/mol-plugin/context.d.ts +2 -2
  758. package/lib/mol-plugin/state.d.ts +6 -6
  759. package/lib/mol-plugin/version.js +2 -2
  760. package/lib/mol-plugin-state/actions/structure.d.ts +3 -3
  761. package/lib/mol-plugin-state/actions/structure.js +3 -5
  762. package/lib/mol-plugin-state/actions/volume.d.ts +1 -1
  763. package/lib/mol-plugin-state/builder/data.d.ts +4 -4
  764. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +27 -27
  765. package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +5 -5
  766. package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +42 -42
  767. package/lib/mol-plugin-state/builder/structure/representation.d.ts +4 -4
  768. package/lib/mol-plugin-state/builder/structure.d.ts +7 -7
  769. package/lib/mol-plugin-state/formats/coordinates.d.ts +8 -8
  770. package/lib/mol-plugin-state/formats/shape.d.ts +8 -8
  771. package/lib/mol-plugin-state/formats/topology.d.ts +12 -12
  772. package/lib/mol-plugin-state/formats/volume.d.ts +33 -33
  773. package/lib/mol-plugin-state/helpers/structure-emissive.d.ts +12 -0
  774. package/lib/mol-plugin-state/helpers/structure-emissive.js +64 -0
  775. package/lib/mol-plugin-state/helpers/structure-selection-query.d.ts +1 -1
  776. package/lib/mol-plugin-state/manager/structure/component.d.ts +3 -1
  777. package/lib/mol-plugin-state/manager/structure/component.js +9 -1
  778. package/lib/mol-plugin-state/manager/structure/measurement.d.ts +341 -9
  779. package/lib/mol-plugin-state/manager/structure/measurement.js +32 -19
  780. package/lib/mol-plugin-state/manager/structure/selection.d.ts +1 -1
  781. package/lib/mol-plugin-state/manager/volume/hierarchy.d.ts +1 -1
  782. package/lib/mol-plugin-state/objects.d.ts +32 -32
  783. package/lib/mol-plugin-state/transforms/representation.d.ts +33 -8
  784. package/lib/mol-plugin-state/transforms/representation.js +120 -5
  785. package/lib/mol-plugin-state/transforms/shape.d.ts +1 -1
  786. package/lib/mol-plugin-state/transforms/volume.d.ts +16 -8
  787. package/lib/mol-plugin-state/transforms/volume.js +51 -2
  788. package/lib/mol-plugin-ui/skin/base/base.scss +37 -37
  789. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  790. package/lib/mol-plugin-ui/skin/base/components/controls.scss +445 -445
  791. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  792. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  793. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  794. package/lib/mol-plugin-ui/skin/base/components/misc.scss +663 -663
  795. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  796. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  797. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  798. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  799. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  800. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +194 -194
  801. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  802. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  803. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  804. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  805. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  806. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  807. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  808. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  809. package/lib/mol-plugin-ui/skin/base/variables.scss +88 -88
  810. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  811. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  812. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  813. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  814. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  815. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  816. package/lib/mol-plugin-ui/state/apply-action.d.ts +2 -2
  817. package/lib/mol-plugin-ui/state/update-transform.d.ts +3 -3
  818. package/lib/mol-repr/representation.d.ts +6 -2
  819. package/lib/mol-repr/representation.js +12 -2
  820. package/lib/mol-repr/shape/loci/angle.d.ts +1 -0
  821. package/lib/mol-repr/shape/loci/common.d.ts +1 -0
  822. package/lib/mol-repr/shape/loci/dihedral.d.ts +1 -0
  823. package/lib/mol-repr/shape/loci/distance.d.ts +1 -0
  824. package/lib/mol-repr/shape/loci/label.d.ts +1 -0
  825. package/lib/mol-repr/shape/loci/orientation.d.ts +1 -0
  826. package/lib/mol-repr/shape/loci/plane.d.ts +1 -0
  827. package/lib/mol-repr/shape/model/unitcell.d.ts +1 -0
  828. package/lib/mol-repr/structure/complex-representation.d.ts +1 -1
  829. package/lib/mol-repr/structure/complex-representation.js +7 -1
  830. package/lib/mol-repr/structure/complex-visual.d.ts +8 -1
  831. package/lib/mol-repr/structure/complex-visual.js +5 -1
  832. package/lib/mol-repr/structure/params.d.ts +8 -0
  833. package/lib/mol-repr/structure/registry.d.ts +14 -0
  834. package/lib/mol-repr/structure/representation/backbone.d.ts +3 -0
  835. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +3 -0
  836. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +3 -0
  837. package/lib/mol-repr/structure/representation/cartoon.d.ts +3 -0
  838. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +3 -0
  839. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +3 -0
  840. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +3 -0
  841. package/lib/mol-repr/structure/representation/label.d.ts +3 -0
  842. package/lib/mol-repr/structure/representation/line.d.ts +3 -0
  843. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +3 -0
  844. package/lib/mol-repr/structure/representation/orientation.d.ts +3 -0
  845. package/lib/mol-repr/structure/representation/point.d.ts +3 -0
  846. package/lib/mol-repr/structure/representation/putty.d.ts +3 -0
  847. package/lib/mol-repr/structure/representation/spacefill.d.ts +3 -0
  848. package/lib/mol-repr/structure/units-representation.d.ts +1 -1
  849. package/lib/mol-repr/structure/units-representation.js +9 -3
  850. package/lib/mol-repr/structure/units-visual.d.ts +9 -1
  851. package/lib/mol-repr/structure/units-visual.js +5 -1
  852. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +2 -0
  853. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +1 -0
  854. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +2 -0
  855. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +1 -0
  856. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +1 -0
  857. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -0
  858. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +1 -0
  859. package/lib/mol-repr/structure/visual/element-cross.d.ts +1 -0
  860. package/lib/mol-repr/structure/visual/element-point.d.ts +1 -0
  861. package/lib/mol-repr/structure/visual/element-sphere.d.ts +4 -0
  862. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -0
  863. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -0
  864. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -0
  865. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +1 -1
  866. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -0
  867. package/lib/mol-repr/structure/visual/label-text.d.ts +1 -0
  868. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -0
  869. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -0
  870. package/lib/mol-repr/structure/visual/nucleotide-atomic-bond.d.ts +2 -0
  871. package/lib/mol-repr/structure/visual/nucleotide-atomic-element.d.ts +2 -0
  872. package/lib/mol-repr/structure/visual/nucleotide-atomic-ring-fill.d.ts +1 -0
  873. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -0
  874. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -0
  875. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -0
  876. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -0
  877. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -0
  878. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -0
  879. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -0
  880. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -0
  881. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -0
  882. package/lib/mol-repr/visual.d.ts +6 -1
  883. package/lib/mol-repr/visual.js +57 -3
  884. package/lib/mol-repr/volume/direct-volume.d.ts +3 -0
  885. package/lib/mol-repr/volume/isosurface.d.ts +6 -0
  886. package/lib/mol-repr/volume/registry.d.ts +4 -0
  887. package/lib/mol-repr/volume/representation.d.ts +2 -1
  888. package/lib/mol-repr/volume/representation.js +9 -2
  889. package/lib/mol-repr/volume/segment.d.ts +5 -0
  890. package/lib/mol-repr/volume/slice.d.ts +3 -0
  891. package/lib/mol-script/language/symbol-table/core.d.ts +3 -3
  892. package/lib/mol-state/tree/immutable.d.ts +1 -1
  893. package/lib/mol-state/tree/transient.d.ts +2 -2
  894. package/lib/mol-theme/color/external-volume.d.ts +3 -1
  895. package/lib/mol-theme/color/external-volume.js +8 -2
  896. package/lib/mol-theme/color.d.ts +1 -0
  897. package/lib/mol-theme/emissive.d.ts +40 -0
  898. package/lib/mol-theme/emissive.js +134 -0
  899. package/lib/mol-theme/substance.d.ts +1 -1
  900. package/lib/mol-theme/substance.js +2 -2
  901. package/lib/mol-theme/transparency.d.ts +0 -1
  902. package/lib/mol-util/input/input-observer.js +2 -0
  903. package/lib/mol-util/set.d.ts +1 -1
  904. package/lib/mol-util/set.js +17 -1
  905. package/lib/servers/common/swagger-ui/indexTemplate.js +66 -66
  906. package/lib/servers/volume/config.js +5 -5
  907. package/package.json +195 -193
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
+ *
5
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
+ *
7
+ * Partially adapted from three.js, The MIT License, Copyright © 2010-2024 three.js authors
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.BloomPass = exports.BloomParams = void 0;
11
+ const util_1 = require("../../mol-gl/compute/util");
12
+ const renderable_1 = require("../../mol-gl/renderable");
13
+ const schema_1 = require("../../mol-gl/renderable/schema");
14
+ const shader_code_1 = require("../../mol-gl/shader-code");
15
+ const render_item_1 = require("../../mol-gl/webgl/render-item");
16
+ const texture_1 = require("../../mol-gl/webgl/texture");
17
+ const linear_algebra_1 = require("../../mol-math/linear-algebra");
18
+ const mol_util_1 = require("../../mol-util");
19
+ const param_definition_1 = require("../../mol-util/param-definition");
20
+ const quad_vert_1 = require("../../mol-gl/shader/quad.vert");
21
+ const debug_1 = require("../../mol-util/debug");
22
+ const composite_frag_1 = require("../../mol-gl/shader/bloom/composite.frag");
23
+ const luminosity_frag_1 = require("../../mol-gl/shader/bloom/luminosity.frag");
24
+ const blur_frag_1 = require("../../mol-gl/shader/bloom/blur.frag");
25
+ const memoize_1 = require("../../mol-util/memoize");
26
+ const MipCount = 5;
27
+ exports.BloomParams = {
28
+ strength: param_definition_1.ParamDefinition.Numeric(1, { min: 0, max: 3, step: 0.1 }),
29
+ radius: param_definition_1.ParamDefinition.Numeric(0, { min: 0, max: 1, step: 0.01 }),
30
+ threshold: param_definition_1.ParamDefinition.Numeric(0, { min: 0, max: 1, step: 0.01 }, { description: 'Luminosity threshold', hideIf: p => p.mode === 'emissive' }),
31
+ mode: param_definition_1.ParamDefinition.Select('emissive', [['luminosity', 'Luminosity'], ['emissive', 'Emissive']]),
32
+ };
33
+ class BloomPass {
34
+ static isEnabled(props) {
35
+ return props.bloom.name === 'on';
36
+ }
37
+ constructor(webgl, width, height) {
38
+ this.webgl = webgl;
39
+ this.horizontalBlurTargets = [];
40
+ this.verticalBlurTargets = [];
41
+ this.emissiveTarget = webgl.createRenderTarget(width, height, true, 'uint8', 'linear', 'rgba');
42
+ this.luminosityTarget = webgl.createRenderTarget(width, height, false, 'uint8', 'linear');
43
+ this.compositeTarget = webgl.createRenderTarget(width, height, false, 'uint8', 'linear');
44
+ let blurWidth = Math.round(width / 2);
45
+ let blurHeight = Math.round(height / 2);
46
+ for (let i = 0; i < MipCount; ++i) {
47
+ this.horizontalBlurTargets[i] = webgl.createRenderTarget(blurWidth, blurHeight, false, 'uint8', 'linear');
48
+ this.verticalBlurTargets[i] = webgl.createRenderTarget(blurWidth, blurHeight, false, 'uint8', 'linear');
49
+ blurWidth = Math.round(blurWidth / 2);
50
+ blurHeight = Math.round(blurHeight / 2);
51
+ }
52
+ const nullTexture = (0, texture_1.createNullTexture)();
53
+ this.luminosityRenderable = getLuminosityRenderable(webgl, nullTexture, nullTexture, nullTexture);
54
+ this.blurRenderable = getBlurRenderable(webgl, nullTexture);
55
+ this.compositeRenderable = getCompositeRenderable(webgl, width, height, this.verticalBlurTargets[0].texture, this.verticalBlurTargets[1].texture, this.verticalBlurTargets[2].texture, this.verticalBlurTargets[3].texture, this.verticalBlurTargets[4].texture);
56
+ this.copyRenderable = (0, util_1.createCopyRenderable)(webgl, this.compositeTarget.texture);
57
+ }
58
+ setSize(width, height) {
59
+ const w = this.luminosityTarget.getWidth();
60
+ const h = this.luminosityTarget.getHeight();
61
+ if (width !== w || height !== h) {
62
+ this.emissiveTarget.setSize(width, height);
63
+ this.luminosityTarget.setSize(width, height);
64
+ this.compositeTarget.setSize(width, height);
65
+ let blurWidth = Math.round(width / 2);
66
+ let blurHeight = Math.round(height / 2);
67
+ for (let i = 0; i < MipCount; ++i) {
68
+ this.horizontalBlurTargets[i].setSize(blurWidth, blurHeight);
69
+ this.verticalBlurTargets[i].setSize(blurWidth, blurHeight);
70
+ blurWidth = Math.round(blurWidth / 2);
71
+ blurHeight = Math.round(blurHeight / 2);
72
+ }
73
+ mol_util_1.ValueCell.update(this.luminosityRenderable.values.uTexSizeInv, linear_algebra_1.Vec2.set(this.compositeRenderable.values.uTexSizeInv.ref.value, 1 / width, 1 / height));
74
+ mol_util_1.ValueCell.update(this.compositeRenderable.values.uTexSizeInv, linear_algebra_1.Vec2.set(this.compositeRenderable.values.uTexSizeInv.ref.value, 1 / width, 1 / height));
75
+ mol_util_1.ValueCell.update(this.copyRenderable.values.uTexSize, linear_algebra_1.Vec2.set(this.copyRenderable.values.uTexSize.ref.value, width, height));
76
+ }
77
+ }
78
+ update(input, emissive, depth, props) {
79
+ let luminosityNeedsUpdate = false;
80
+ if (this.luminosityRenderable.values.tColor.ref.value !== input) {
81
+ mol_util_1.ValueCell.update(this.luminosityRenderable.values.tColor, input);
82
+ luminosityNeedsUpdate = true;
83
+ }
84
+ if (this.luminosityRenderable.values.tEmissive.ref.value !== emissive) {
85
+ mol_util_1.ValueCell.update(this.luminosityRenderable.values.tEmissive, emissive);
86
+ luminosityNeedsUpdate = true;
87
+ }
88
+ if (this.luminosityRenderable.values.tDepth.ref.value !== depth) {
89
+ mol_util_1.ValueCell.update(this.luminosityRenderable.values.tDepth, depth);
90
+ luminosityNeedsUpdate = true;
91
+ }
92
+ if (this.luminosityRenderable.values.dMode.ref.value !== props.mode) {
93
+ mol_util_1.ValueCell.update(this.luminosityRenderable.values.dMode, props.mode);
94
+ luminosityNeedsUpdate = true;
95
+ }
96
+ mol_util_1.ValueCell.updateIfChanged(this.luminosityRenderable.values.uLuminosityThreshold, props.threshold);
97
+ if (luminosityNeedsUpdate) {
98
+ this.luminosityRenderable.update();
99
+ }
100
+ //
101
+ let blurNeedsUpdate = false;
102
+ if (this.blurRenderable.values.tInput.ref.value !== input) {
103
+ mol_util_1.ValueCell.update(this.blurRenderable.values.tInput, input);
104
+ blurNeedsUpdate = true;
105
+ }
106
+ if (blurNeedsUpdate) {
107
+ this.blurRenderable.update();
108
+ }
109
+ //
110
+ mol_util_1.ValueCell.update(this.compositeRenderable.values.uBloomRadius, props.radius);
111
+ mol_util_1.ValueCell.update(this.compositeRenderable.values.uBloomStrength, props.strength);
112
+ }
113
+ render(viewport, target) {
114
+ if (debug_1.isTimingMode)
115
+ this.webgl.timer.mark('BloomPass.render');
116
+ const { gl, state } = this.webgl;
117
+ const { x, y, width, height } = viewport;
118
+ state.viewport(x, y, width, height);
119
+ state.scissor(x, y, width, height);
120
+ // printTextureImage(readTexture(this.webgl, this.luminosityRenderable.values.tEmissive.ref.value, new Uint8Array(width * height * 4)), { scale: 0.25, id: 'emissive' });
121
+ state.enable(gl.SCISSOR_TEST);
122
+ state.disable(gl.BLEND);
123
+ state.disable(gl.DEPTH_TEST);
124
+ state.depthMask(false);
125
+ // Extract Bright Areas
126
+ this.luminosityTarget.bind();
127
+ this.luminosityRenderable.render();
128
+ // printTextureImage(readTexture(this.webgl, this.luminosityTarget.texture, new Uint8Array(width * height * 4)), { scale: 0.25, id: 'luminosity' });
129
+ // Blur All the mips progressively
130
+ for (let i = 0; i < MipCount; ++i) {
131
+ const blurWidth = this.horizontalBlurTargets[i].getWidth();
132
+ const blurHeight = this.horizontalBlurTargets[i].getHeight();
133
+ state.viewport(0, 0, blurWidth, blurHeight);
134
+ state.scissor(0, 0, blurWidth, blurHeight);
135
+ mol_util_1.ValueCell.update(this.blurRenderable.values.dKernelRadius, BlurKernelSizes[i]);
136
+ mol_util_1.ValueCell.update(this.blurRenderable.values.uGaussianCoefficients, getBlurCoefficients(BlurKernelSizes[i]));
137
+ mol_util_1.ValueCell.update(this.blurRenderable.values.uTexSizeInv, linear_algebra_1.Vec2.set(this.blurRenderable.values.uTexSizeInv.ref.value, 1 / blurWidth, 1 / blurHeight));
138
+ this.horizontalBlurTargets[i].bind();
139
+ mol_util_1.ValueCell.update(this.blurRenderable.values.tInput, i === 0 ? this.luminosityTarget.texture : this.verticalBlurTargets[i - 1].texture);
140
+ mol_util_1.ValueCell.update(this.blurRenderable.values.uDirection, BlurDirectionX);
141
+ this.blurRenderable.update();
142
+ this.blurRenderable.render();
143
+ this.verticalBlurTargets[i].bind();
144
+ mol_util_1.ValueCell.update(this.blurRenderable.values.tInput, this.horizontalBlurTargets[i].texture);
145
+ mol_util_1.ValueCell.update(this.blurRenderable.values.uDirection, BlurDirectionY);
146
+ this.blurRenderable.update();
147
+ this.blurRenderable.render();
148
+ // printTextureImage(readTexture(this.webgl, this.verticalBlurTargets[i].texture, new Uint8Array(blurWidth * blurHeight * 4)), { scale: 0.25, id: `blur-${i}` });
149
+ }
150
+ state.viewport(x, y, width, height);
151
+ state.scissor(x, y, width, height);
152
+ // Composite All the mips
153
+ this.compositeTarget.bind();
154
+ this.compositeRenderable.update();
155
+ this.compositeRenderable.render();
156
+ // printTextureImage(readTexture(this.webgl, this.compositeTarget.texture, new Uint8Array(width * height * 4)), { scale: 0.25, id: 'composite' });
157
+ if (target) {
158
+ target.bind();
159
+ }
160
+ else {
161
+ this.webgl.unbindFramebuffer();
162
+ }
163
+ state.enable(gl.BLEND);
164
+ state.blendFunc(gl.ONE, gl.ONE);
165
+ this.copyRenderable.render();
166
+ if (debug_1.isTimingMode)
167
+ this.webgl.timer.markEnd('BloomPass.render');
168
+ }
169
+ }
170
+ exports.BloomPass = BloomPass;
171
+ //
172
+ const LuminositySchema = {
173
+ ...util_1.QuadSchema,
174
+ tColor: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'linear'),
175
+ tEmissive: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'linear'),
176
+ tDepth: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'nearest'),
177
+ uTexSizeInv: (0, schema_1.UniformSpec)('v2'),
178
+ uDefaultColor: (0, schema_1.UniformSpec)('v3'),
179
+ uDefaultOpacity: (0, schema_1.UniformSpec)('f'),
180
+ uLuminosityThreshold: (0, schema_1.UniformSpec)('f'),
181
+ uSmoothWidth: (0, schema_1.UniformSpec)('f'),
182
+ dMode: (0, schema_1.DefineSpec)('string', ['luminosity', 'emissive']),
183
+ };
184
+ const LuminosityShaderCode = (0, shader_code_1.ShaderCode)('Bloom Luminosity', quad_vert_1.quad_vert, luminosity_frag_1.luminosity_frag);
185
+ function getLuminosityRenderable(ctx, colorTexture, emissiveTexture, depthTexture) {
186
+ const width = colorTexture.getWidth();
187
+ const height = colorTexture.getHeight();
188
+ const values = {
189
+ ...util_1.QuadValues,
190
+ tColor: mol_util_1.ValueCell.create(colorTexture),
191
+ tEmissive: mol_util_1.ValueCell.create(emissiveTexture),
192
+ tDepth: mol_util_1.ValueCell.create(depthTexture),
193
+ uTexSizeInv: mol_util_1.ValueCell.create(linear_algebra_1.Vec2.create(1 / width, 1 / height)),
194
+ uDefaultColor: mol_util_1.ValueCell.create((0, linear_algebra_1.Vec3)()),
195
+ uDefaultOpacity: mol_util_1.ValueCell.create(0),
196
+ uLuminosityThreshold: mol_util_1.ValueCell.create(0),
197
+ uSmoothWidth: mol_util_1.ValueCell.create(1),
198
+ dMode: mol_util_1.ValueCell.create('emissive'),
199
+ };
200
+ const schema = { ...LuminositySchema };
201
+ const renderItem = (0, render_item_1.createComputeRenderItem)(ctx, 'triangles', LuminosityShaderCode, schema, values);
202
+ return (0, renderable_1.createComputeRenderable)(renderItem, values);
203
+ }
204
+ //
205
+ function _getBlurCoefficients(kernelRadius) {
206
+ const coefficients = [];
207
+ for (let i = 0; i < kernelRadius; ++i) {
208
+ coefficients.push(0.39894 * Math.exp(-0.5 * i * i / (kernelRadius * kernelRadius)) / kernelRadius);
209
+ }
210
+ return coefficients;
211
+ }
212
+ const getBlurCoefficients = (0, memoize_1.memoize1)(_getBlurCoefficients);
213
+ const BlurKernelSizes = [3, 5, 7, 9, 11];
214
+ const BlurDirectionX = linear_algebra_1.Vec2.create(1, 0);
215
+ const BlurDirectionY = linear_algebra_1.Vec2.create(0, 1);
216
+ const BlurSchema = {
217
+ ...util_1.QuadSchema,
218
+ tInput: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'linear'),
219
+ uTexSizeInv: (0, schema_1.UniformSpec)('v2'),
220
+ uDirection: (0, schema_1.UniformSpec)('v2'),
221
+ uGaussianCoefficients: (0, schema_1.UniformSpec)('f[]'),
222
+ dKernelRadius: (0, schema_1.DefineSpec)('number'),
223
+ };
224
+ const BlurShaderCode = (0, shader_code_1.ShaderCode)('Bloom Blur', quad_vert_1.quad_vert, blur_frag_1.blur_frag);
225
+ function getBlurRenderable(ctx, inputTexture) {
226
+ const width = inputTexture.getWidth();
227
+ const height = inputTexture.getHeight();
228
+ const values = {
229
+ ...util_1.QuadValues,
230
+ tInput: mol_util_1.ValueCell.create(inputTexture),
231
+ uTexSizeInv: mol_util_1.ValueCell.create(linear_algebra_1.Vec2.create(1 / width, 1 / height)),
232
+ uDirection: mol_util_1.ValueCell.create((0, linear_algebra_1.Vec2)()),
233
+ uGaussianCoefficients: mol_util_1.ValueCell.create([]),
234
+ dKernelRadius: mol_util_1.ValueCell.create(BlurKernelSizes[0]),
235
+ };
236
+ const schema = { ...BlurSchema };
237
+ const renderItem = (0, render_item_1.createComputeRenderItem)(ctx, 'triangles', BlurShaderCode, schema, values);
238
+ return (0, renderable_1.createComputeRenderable)(renderItem, values);
239
+ }
240
+ //
241
+ const CompositeSchema = {
242
+ ...util_1.QuadSchema,
243
+ tBlur1: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'linear'),
244
+ tBlur2: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'linear'),
245
+ tBlur3: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'linear'),
246
+ tBlur4: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'linear'),
247
+ tBlur5: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'linear'),
248
+ uTexSizeInv: (0, schema_1.UniformSpec)('v2'),
249
+ uBloomStrength: (0, schema_1.UniformSpec)('f'),
250
+ uBloomRadius: (0, schema_1.UniformSpec)('f'),
251
+ uBloomFactors: (0, schema_1.UniformSpec)('f[]'),
252
+ uBloomTints: (0, schema_1.UniformSpec)('v3[]'),
253
+ };
254
+ const CompositeShaderCode = (0, shader_code_1.ShaderCode)('Bloom Composite', quad_vert_1.quad_vert, composite_frag_1.composite_frag);
255
+ function getCompositeRenderable(ctx, width, height, blurTexture1, blurTexture2, blurTexture3, blurTexture4, blurTexture5) {
256
+ const values = {
257
+ ...util_1.QuadValues,
258
+ uTexSizeInv: mol_util_1.ValueCell.create(linear_algebra_1.Vec2.create(width, height)),
259
+ tBlur1: mol_util_1.ValueCell.create(blurTexture1),
260
+ tBlur2: mol_util_1.ValueCell.create(blurTexture2),
261
+ tBlur3: mol_util_1.ValueCell.create(blurTexture3),
262
+ tBlur4: mol_util_1.ValueCell.create(blurTexture4),
263
+ tBlur5: mol_util_1.ValueCell.create(blurTexture5),
264
+ uBloomStrength: mol_util_1.ValueCell.create(1),
265
+ uBloomRadius: mol_util_1.ValueCell.create(0),
266
+ uBloomFactors: mol_util_1.ValueCell.create([1.0, 0.8, 0.6, 0.4, 0.2]),
267
+ uBloomTints: mol_util_1.ValueCell.create(new Array(5 * 3).fill(1)),
268
+ };
269
+ const schema = { ...CompositeSchema };
270
+ const renderItem = (0, render_item_1.createComputeRenderItem)(ctx, 'triangles', CompositeShaderCode, schema, values);
271
+ return (0, renderable_1.createComputeRenderable)(renderItem, values);
272
+ }
@@ -165,14 +165,16 @@ class DpoitPass {
165
165
  }
166
166
  }
167
167
  static isSupported(webgl) {
168
- const { extensions: { drawBuffers, textureFloat, colorBufferFloat, blendMinMax } } = webgl;
169
- if (!textureFloat || !colorBufferFloat || !drawBuffers || !blendMinMax) {
168
+ const { extensions: { drawBuffers, textureFloat, colorBufferFloat, depthTexture, blendMinMax } } = webgl;
169
+ if (!textureFloat || !colorBufferFloat || !depthTexture || !drawBuffers || !blendMinMax) {
170
170
  if (debug_1.isDebugMode) {
171
171
  const missing = [];
172
172
  if (!textureFloat)
173
173
  missing.push('textureFloat');
174
174
  if (!colorBufferFloat)
175
175
  missing.push('colorBufferFloat');
176
+ if (!depthTexture)
177
+ missing.push('depthTexture');
176
178
  if (!drawBuffers)
177
179
  missing.push('drawBuffers');
178
180
  if (!blendMinMax)
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2019-2023 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  * @author Áron Samuel Kovács <aron.kovacs@mail.muni.cz>
@@ -13,9 +13,12 @@ import { Texture } from '../../mol-gl/webgl/texture';
13
13
  import { Camera } from '../camera';
14
14
  import { Helper } from '../helper/helper';
15
15
  import { StereoCamera } from '../camera/stereo';
16
- import { PostprocessingPass, PostprocessingProps } from './postprocessing';
17
- import { MarkingProps } from './marking';
16
+ import { WboitPass } from './wboit';
17
+ import { DpoitPass } from './dpoit';
18
+ import { AntialiasingPass, PostprocessingPass, PostprocessingProps } from './postprocessing';
19
+ import { MarkingPass, MarkingProps } from './marking';
18
20
  import { AssetManager } from '../../mol-util/assets';
21
+ import { BloomPass } from './bloom';
19
22
  type Props = {
20
23
  postprocessing: PostprocessingProps;
21
24
  marking: MarkingProps;
@@ -40,11 +43,12 @@ export declare class DrawPass {
40
43
  private depthTargetOpaque;
41
44
  private copyFboTarget;
42
45
  private copyFboPostprocessing;
43
- private readonly wboit;
44
- private readonly dpoit;
45
- private readonly marking;
46
+ readonly wboit: WboitPass;
47
+ readonly dpoit: DpoitPass;
48
+ readonly marking: MarkingPass;
46
49
  readonly postprocessing: PostprocessingPass;
47
- private readonly antialiasing;
50
+ readonly antialiasing: AntialiasingPass;
51
+ readonly bloom: BloomPass;
48
52
  private transparencyMode;
49
53
  setTransparency(transparency: 'wboit' | 'dpoit' | 'blended'): void;
50
54
  get transparency(): TransparencyMode;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2019-2023 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2019-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  * @author Áron Samuel Kovács <aron.kovacs@mail.muni.cz>
@@ -18,13 +18,20 @@ const postprocessing_1 = require("./postprocessing");
18
18
  const marking_1 = require("./marking");
19
19
  const util_1 = require("../../mol-gl/compute/util");
20
20
  const debug_1 = require("../../mol-util/debug");
21
+ const bloom_1 = require("./bloom");
21
22
  class DrawPass {
22
23
  setTransparency(transparency) {
23
24
  if (transparency === 'wboit') {
24
25
  this.transparencyMode = this.wboit.supported ? 'wboit' : 'blended';
26
+ if (debug_1.isDebugMode && !this.wboit.supported) {
27
+ console.log('Missing "wboit" support, falling back to "blended".');
28
+ }
25
29
  }
26
30
  else if (transparency === 'dpoit') {
27
31
  this.transparencyMode = this.dpoit.supported ? 'dpoit' : 'blended';
32
+ if (debug_1.isDebugMode && !this.dpoit.supported) {
33
+ console.log('Missing "dpoit" support, falling back to "blended".');
34
+ }
28
35
  }
29
36
  else {
30
37
  this.transparencyMode = 'blended';
@@ -52,7 +59,8 @@ class DrawPass {
52
59
  this.dpoit = new dpoit_1.DpoitPass(webgl, width, height);
53
60
  this.marking = new marking_1.MarkingPass(webgl, width, height);
54
61
  this.postprocessing = new postprocessing_1.PostprocessingPass(webgl, assetManager, this);
55
- this.antialiasing = new postprocessing_1.AntialiasingPass(webgl, this);
62
+ this.antialiasing = new postprocessing_1.AntialiasingPass(webgl, width, height);
63
+ this.bloom = new bloom_1.BloomPass(webgl, width, height);
56
64
  this.copyFboTarget = (0, util_1.createCopyRenderable)(webgl, this.colorTarget.texture);
57
65
  this.copyFboPostprocessing = (0, util_1.createCopyRenderable)(webgl, this.postprocessing.target.texture);
58
66
  this.setTransparency(transparency);
@@ -85,6 +93,7 @@ class DrawPass {
85
93
  this.marking.setSize(width, height);
86
94
  this.postprocessing.setSize(width, height);
87
95
  this.antialiasing.setSize(width, height);
96
+ this.bloom.setSize(width, height);
88
97
  }
89
98
  _renderDpoit(renderer, camera, scene, iterations, transparentBackground, postprocessingProps) {
90
99
  if (!this.dpoit.supported)
@@ -242,6 +251,7 @@ class DrawPass {
242
251
  }
243
252
  }
244
253
  _render(renderer, camera, scene, helper, toDrawingBuffer, transparentBackground, props) {
254
+ var _a;
245
255
  const volumeRendering = scene.volumes.renderables.length > 0;
246
256
  const postprocessingEnabled = postprocessing_1.PostprocessingPass.isEnabled(props.postprocessing);
247
257
  const antialiasingEnabled = postprocessing_1.AntialiasingPass.isEnabled(props.postprocessing);
@@ -299,7 +309,10 @@ class DrawPass {
299
309
  renderer.renderBlended(helper.camera.scene, helper.camera.camera);
300
310
  }
301
311
  if (antialiasingEnabled) {
302
- this.antialiasing.render(camera, toDrawingBuffer, props.postprocessing);
312
+ const input = postprocessing_1.PostprocessingPass.isEnabled(props.postprocessing)
313
+ ? this.postprocessing.target.texture
314
+ : this.colorTarget.texture;
315
+ this.antialiasing.render(camera, input, toDrawingBuffer, props.postprocessing);
303
316
  }
304
317
  else if (toDrawingBuffer) {
305
318
  this.drawTarget.bind();
@@ -311,6 +324,19 @@ class DrawPass {
311
324
  this.copyFboTarget.render();
312
325
  }
313
326
  }
327
+ if (props.postprocessing.bloom.name === 'on') {
328
+ const emissiveBloom = props.postprocessing.bloom.params.mode === 'emissive';
329
+ if (emissiveBloom && scene.emissiveAverage > 0) {
330
+ this.bloom.emissiveTarget.bind();
331
+ renderer.clear(false, true);
332
+ renderer.update(camera, scene);
333
+ renderer.renderEmissive(scene.primitives, camera, null);
334
+ }
335
+ if (!emissiveBloom || scene.emissiveAverage > 0) {
336
+ this.bloom.update(this.colorTarget.texture, this.bloom.emissiveTarget.texture, ((_a = this.depthTargetOpaque) === null || _a === void 0 ? void 0 : _a.texture) || this.depthTextureOpaque, props.postprocessing.bloom.params);
337
+ this.bloom.render(camera.viewport, toDrawingBuffer ? undefined : this.getColorTarget(props.postprocessing));
338
+ }
339
+ }
314
340
  this.webgl.gl.flush();
315
341
  }
316
342
  render(ctx, props, toDrawingBuffer) {
@@ -58,6 +58,12 @@ export declare const ImageParams: {
58
58
  background: PD.Normalize<{
59
59
  variant: any;
60
60
  }>;
61
+ bloom: PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{
62
+ strength: any;
63
+ radius: any;
64
+ threshold: any;
65
+ mode: any;
66
+ }>, "on">;
61
67
  }>>;
62
68
  marking: PD.Group<PD.Normalize<{
63
69
  enabled: boolean;
@@ -1,11 +1,14 @@
1
1
  /**
2
- * Copyright (c) 2019-2023 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  * @author Áron Samuel Kovács <aron.kovacs@mail.muni.cz>
6
6
  * @author Ludovic Autin <ludovic.autin@gmail.com>
7
7
  */
8
+ import { TextureSpec, Values, UniformSpec, DefineSpec } from '../../mol-gl/renderable/schema';
8
9
  import { WebGLContext } from '../../mol-gl/webgl/context';
10
+ import { Texture } from '../../mol-gl/webgl/texture';
11
+ import { ComputeRenderable } from '../../mol-gl/renderable';
9
12
  import { ParamDefinition as PD } from '../../mol-util/param-definition';
10
13
  import { RenderTarget } from '../../mol-gl/webgl/render-target';
11
14
  import { DrawPass } from './draw';
@@ -14,6 +17,23 @@ import { Color } from '../../mol-util/color';
14
17
  import { BackgroundPass } from './background';
15
18
  import { AssetManager } from '../../mol-util/assets';
16
19
  import { Light } from '../../mol-gl/renderer';
20
+ export declare const OutlinesSchema: {
21
+ tDepthOpaque: TextureSpec<"texture">;
22
+ tDepthTransparent: TextureSpec<"texture">;
23
+ uTexSize: UniformSpec<"v2">;
24
+ dOrthographic: DefineSpec<"number">;
25
+ uNear: UniformSpec<"f">;
26
+ uFar: UniformSpec<"f">;
27
+ uInvProjection: UniformSpec<"m4">;
28
+ uOutlineThreshold: UniformSpec<"f">;
29
+ dTransparentOutline: DefineSpec<"boolean">;
30
+ drawCount: import("../../mol-gl/renderable/schema").ValueSpec<"number">;
31
+ instanceCount: import("../../mol-gl/renderable/schema").ValueSpec<"number">;
32
+ aPosition: import("../../mol-gl/renderable/schema").AttributeSpec<"float32">;
33
+ uQuadScale: UniformSpec<"v2">;
34
+ };
35
+ export type OutlinesRenderable = ComputeRenderable<Values<typeof OutlinesSchema>>;
36
+ export declare function getOutlinesRenderable(ctx: WebGLContext, depthTextureOpaque: Texture, depthTextureTransparent: Texture, transparentOutline: boolean): OutlinesRenderable;
17
37
  export declare const PostprocessingParams: {
18
38
  occlusion: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{
19
39
  samples: number;
@@ -72,6 +92,7 @@ export declare const PostprocessingParams: {
72
92
  lightness: any;
73
93
  faces: any;
74
94
  blur: any;
95
+ rotation: any;
75
96
  }>, "skybox"> | PD.NamedParams<PD.Normalize<{
76
97
  topColor: any;
77
98
  bottomColor: any;
@@ -79,6 +100,12 @@ export declare const PostprocessingParams: {
79
100
  coverage: any;
80
101
  }>, "horizontalGradient">;
81
102
  }>>;
103
+ bloom: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{
104
+ strength: number;
105
+ radius: number;
106
+ threshold: number;
107
+ mode: "luminosity" | "emissive";
108
+ }>, "on">>;
82
109
  };
83
110
  export type PostprocessingProps = PD.Values<typeof PostprocessingParams>;
84
111
  export declare class PostprocessingPass {
@@ -115,7 +142,7 @@ export declare class PostprocessingPass {
115
142
  readonly background: BackgroundPass;
116
143
  constructor(webgl: WebGLContext, assetManager: AssetManager, drawPass: DrawPass);
117
144
  setSize(width: number, height: number): void;
118
- private updateState;
145
+ updateState(camera: ICamera, transparentBackground: boolean, backgroundColor: Color, props: PostprocessingProps, light: Light): void;
119
146
  private occlusionOffset;
120
147
  setOcclusionOffset(x: number, y: number): void;
121
148
  private transparentBackground;
@@ -123,18 +150,17 @@ export declare class PostprocessingPass {
123
150
  render(camera: ICamera, toDrawingBuffer: boolean, transparentBackground: boolean, backgroundColor: Color, props: PostprocessingProps, light: Light): void;
124
151
  }
125
152
  export declare class AntialiasingPass {
126
- private drawPass;
127
153
  static isEnabled(props: PostprocessingProps): boolean;
128
154
  readonly target: RenderTarget;
129
155
  private readonly internalTarget;
130
156
  private readonly fxaa;
131
157
  private readonly smaa;
132
158
  private readonly cas;
133
- constructor(webgl: WebGLContext, drawPass: DrawPass);
159
+ constructor(webgl: WebGLContext, width: number, height: number);
134
160
  setSize(width: number, height: number): void;
135
161
  private _renderFxaa;
136
162
  private _renderSmaa;
137
163
  private _renderAntialiasing;
138
164
  private _renderCas;
139
- render(camera: ICamera, toDrawingBuffer: boolean, props: PostprocessingProps): void;
165
+ render(camera: ICamera, input: Texture, toDrawingBuffer: boolean | RenderTarget, props: PostprocessingProps): void;
140
166
  }