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
@@ -7,45 +7,45 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.directVolume_vert = void 0;
10
- exports.directVolume_vert = `
11
- precision highp float;
12
-
13
- attribute vec3 aPosition;
14
- attribute mat4 aTransform;
15
- attribute float aInstance;
16
-
17
- uniform mat4 uModelView;
18
- uniform mat4 uProjection;
19
- uniform vec4 uInvariantBoundingSphere;
20
-
21
- varying vec3 vOrigPos;
22
- varying float vInstance;
23
- varying vec4 vBoundingSphere;
24
- varying mat4 vTransform;
25
-
26
- uniform vec3 uBboxSize;
27
- uniform vec3 uBboxMin;
28
- uniform vec3 uBboxMax;
29
- uniform vec3 uGridDim;
30
- uniform mat4 uTransform;
31
-
32
- uniform mat4 uUnitToCartn;
33
-
34
- void main() {
35
- vec4 unitCoord = vec4(aPosition + vec3(0.5), 1.0);
36
- vec4 mvPosition = uModelView * aTransform * uUnitToCartn * unitCoord;
37
-
38
- vOrigPos = (aTransform * uUnitToCartn * unitCoord).xyz;
39
- vInstance = aInstance;
40
- vBoundingSphere = vec4(
41
- (aTransform * vec4(uInvariantBoundingSphere.xyz, 1.0)).xyz,
42
- uInvariantBoundingSphere.w
43
- );
44
- vTransform = aTransform;
45
-
46
- gl_Position = uProjection * mvPosition;
47
-
48
- // move z position to near clip plane (but not too close to get precision issues)
49
- gl_Position.z = gl_Position.w - 0.01;
50
- }
10
+ exports.directVolume_vert = `
11
+ precision highp float;
12
+
13
+ attribute vec3 aPosition;
14
+ attribute mat4 aTransform;
15
+ attribute float aInstance;
16
+
17
+ uniform mat4 uModelView;
18
+ uniform mat4 uProjection;
19
+ uniform vec4 uInvariantBoundingSphere;
20
+
21
+ varying vec3 vOrigPos;
22
+ varying float vInstance;
23
+ varying vec4 vBoundingSphere;
24
+ varying mat4 vTransform;
25
+
26
+ uniform vec3 uBboxSize;
27
+ uniform vec3 uBboxMin;
28
+ uniform vec3 uBboxMax;
29
+ uniform vec3 uGridDim;
30
+ uniform mat4 uTransform;
31
+
32
+ uniform mat4 uUnitToCartn;
33
+
34
+ void main() {
35
+ vec4 unitCoord = vec4(aPosition + vec3(0.5), 1.0);
36
+ vec4 mvPosition = uModelView * aTransform * uUnitToCartn * unitCoord;
37
+
38
+ vOrigPos = (aTransform * uUnitToCartn * unitCoord).xyz;
39
+ vInstance = aInstance;
40
+ vBoundingSphere = vec4(
41
+ (aTransform * vec4(uInvariantBoundingSphere.xyz, 1.0)).xyz,
42
+ uInvariantBoundingSphere.w
43
+ );
44
+ vTransform = aTransform;
45
+
46
+ gl_Position = uProjection * mvPosition;
47
+
48
+ // move z position to near clip plane (but not too close to get precision issues)
49
+ gl_Position.z = gl_Position.w - 0.01;
50
+ }
51
51
  `;
@@ -6,14 +6,14 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.evaluateDpoit_frag = void 0;
9
- exports.evaluateDpoit_frag = `
10
- precision highp float;
11
-
12
- uniform sampler2D tDpoitFrontColor;
13
- uniform vec2 uTexSize;
14
-
15
- void main() {
16
- vec2 coords = gl_FragCoord.xy / uTexSize;
17
- gl_FragColor = texture2D(tDpoitFrontColor, coords);
18
- }
9
+ exports.evaluateDpoit_frag = `
10
+ precision highp float;
11
+
12
+ uniform sampler2D tDpoitFrontColor;
13
+ uniform vec2 uTexSize;
14
+
15
+ void main() {
16
+ vec2 coords = gl_FragCoord.xy / uTexSize;
17
+ gl_FragColor = texture2D(tDpoitFrontColor, coords);
18
+ }
19
19
  `;
@@ -1,21 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.evaluateWboit_frag = void 0;
4
- exports.evaluateWboit_frag = `
5
- precision highp float;
6
-
7
- uniform sampler2D tWboitA;
8
- uniform sampler2D tWboitB;
9
- uniform vec2 uTexSize;
10
-
11
- void main() {
12
- vec2 coords = gl_FragCoord.xy / uTexSize;
13
-
14
- vec4 accum = texture2D(tWboitA, coords);
15
- float r = 1.0 - accum.a;
16
-
17
- accum.a = texture2D(tWboitB, coords).r;
18
- // divisor needs to allow very small values for nice fading
19
- gl_FragColor = vec4(accum.rgb / clamp(accum.a, 0.00000001, 50000.0), r);
20
- }
4
+ exports.evaluateWboit_frag = `
5
+ precision highp float;
6
+
7
+ uniform sampler2D tWboitA;
8
+ uniform sampler2D tWboitB;
9
+ uniform vec2 uTexSize;
10
+
11
+ void main() {
12
+ vec2 coords = gl_FragCoord.xy / uTexSize;
13
+
14
+ vec4 accum = texture2D(tWboitA, coords);
15
+ float r = 1.0 - accum.a;
16
+
17
+ accum.a = texture2D(tWboitB, coords).r;
18
+ // divisor needs to allow very small values for nice fading
19
+ gl_FragColor = vec4(accum.rgb / clamp(accum.a, 0.00000001, 50000.0), r);
20
+ }
21
21
  `;
@@ -1,232 +1,232 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fxaa_frag = void 0;
4
- exports.fxaa_frag = `
5
- precision highp float;
6
- precision highp int;
7
- precision highp sampler2D;
8
-
9
- uniform sampler2D tColor;
10
- uniform vec2 uTexSizeInv;
11
-
12
- // adapted from https://github.com/kosua20/Rendu
13
- // MIT License Copyright (c) 2017 Simon Rodriguez
14
-
15
- #define QUALITY(q) ((q) < 5 ? 1.0 : ((q) > 5 ? ((q) < 10 ? 2.0 : ((q) < 11 ? 4.0 : 8.0)) : 1.5))
16
-
17
- float rgb2luma(vec3 rgb){
18
- return sqrt(dot(rgb, vec3(0.299, 0.587, 0.114)));
19
- }
20
-
21
- float sampleLuma(vec2 uv) {
22
- return rgb2luma(texture2D(tColor, uv).rgb);
23
- }
24
-
25
- float sampleLuma(vec2 uv, float uOffset, float vOffset) {
26
- uv += uTexSizeInv * vec2(uOffset, vOffset);
27
- return sampleLuma(uv);
28
- }
29
-
30
- void main(void) {
31
- vec2 coords = gl_FragCoord.xy * uTexSizeInv;
32
- vec2 inverseScreenSize = uTexSizeInv;
33
-
34
- vec4 colorCenter = texture2D(tColor, coords);
35
-
36
- // Luma at the current fragment
37
- float lumaCenter = rgb2luma(colorCenter.rgb);
38
-
39
- // Luma at the four direct neighbours of the current fragment.
40
- float lumaDown = sampleLuma(coords, 0.0, -1.0);
41
- float lumaUp = sampleLuma(coords, 0.0, 1.0);
42
- float lumaLeft = sampleLuma(coords, -1.0, 0.0);
43
- float lumaRight = sampleLuma(coords, 1.0, 0.0);
44
-
45
- // Find the maximum and minimum luma around the current fragment.
46
- float lumaMin = min(lumaCenter, min(min(lumaDown, lumaUp), min(lumaLeft, lumaRight)));
47
- float lumaMax = max(lumaCenter, max(max(lumaDown, lumaUp), max(lumaLeft, lumaRight)));
48
-
49
- // Compute the delta.
50
- float lumaRange = lumaMax - lumaMin;
51
-
52
- // If the luma variation is lower that a threshold (or if we are in a really dark area),
53
- // we are not on an edge, don't perform any AA.
54
- if (lumaRange < max(dEdgeThresholdMin, lumaMax * dEdgeThresholdMax)) {
55
- gl_FragColor = colorCenter;
56
- return;
57
- }
58
-
59
- // Query the 4 remaining corners lumas.
60
- float lumaDownLeft = sampleLuma(coords, -1.0, -1.0);
61
- float lumaUpRight = sampleLuma(coords, 1.0, 1.0);
62
- float lumaUpLeft = sampleLuma(coords, -1.0, 1.0);
63
- float lumaDownRight = sampleLuma(coords, 1.0, -1.0);
64
-
65
- // Combine the four edges lumas (using intermediary variables for future computations
66
- // with the same values).
67
- float lumaDownUp = lumaDown + lumaUp;
68
- float lumaLeftRight = lumaLeft + lumaRight;
69
-
70
- // Same for corners
71
- float lumaLeftCorners = lumaDownLeft + lumaUpLeft;
72
- float lumaDownCorners = lumaDownLeft + lumaDownRight;
73
- float lumaRightCorners = lumaDownRight + lumaUpRight;
74
- float lumaUpCorners = lumaUpRight + lumaUpLeft;
75
-
76
- // Compute an estimation of the gradient along the horizontal and vertical axis.
77
- float edgeHorizontal = abs(-2.0 * lumaLeft + lumaLeftCorners) + abs(-2.0 * lumaCenter + lumaDownUp) * 2.0 + abs(-2.0 * lumaRight + lumaRightCorners);
78
- float edgeVertical = abs(-2.0 * lumaUp + lumaUpCorners) + abs(-2.0 * lumaCenter + lumaLeftRight) * 2.0 + abs(-2.0 * lumaDown + lumaDownCorners);
79
-
80
- // Is the local edge horizontal or vertical ?
81
- bool isHorizontal = (edgeHorizontal >= edgeVertical);
82
-
83
- // Choose the step size (one pixel) accordingly.
84
- float stepLength = isHorizontal ? inverseScreenSize.y : inverseScreenSize.x;
85
-
86
- // Select the two neighboring texels lumas in the opposite direction to the local edge.
87
- float luma1 = isHorizontal ? lumaDown : lumaLeft;
88
- float luma2 = isHorizontal ? lumaUp : lumaRight;
89
- // Compute gradients in this direction.
90
- float gradient1 = luma1 - lumaCenter;
91
- float gradient2 = luma2 - lumaCenter;
92
-
93
- // Which direction is the steepest ?
94
- bool is1Steepest = abs(gradient1) >= abs(gradient2);
95
-
96
- // Gradient in the corresponding direction, normalized.
97
- float gradientScaled = 0.25 * max(abs(gradient1), abs(gradient2));
98
-
99
- // Average luma in the correct direction.
100
- float lumaLocalAverage = 0.0;
101
- if(is1Steepest){
102
- // Switch the direction
103
- stepLength = -stepLength;
104
- lumaLocalAverage = 0.5 * (luma1 + lumaCenter);
105
- } else {
106
- lumaLocalAverage = 0.5 * (luma2 + lumaCenter);
107
- }
108
-
109
- // Shift UV in the correct direction by half a pixel.
110
- vec2 currentUv = coords;
111
- if(isHorizontal){
112
- currentUv.y += stepLength * 0.5;
113
- } else {
114
- currentUv.x += stepLength * 0.5;
115
- }
116
-
117
- // Compute offset (for each iteration step) in the right direction.
118
- vec2 offset = isHorizontal ? vec2(inverseScreenSize.x, 0.0) : vec2(0.0, inverseScreenSize.y);
119
- // Compute UVs to explore on each side of the edge, orthogonally.
120
- // The QUALITY allows us to step faster.
121
- vec2 uv1 = currentUv - offset * QUALITY(0);
122
- vec2 uv2 = currentUv + offset * QUALITY(0);
123
-
124
- // Read the lumas at both current extremities of the exploration segment,
125
- // and compute the delta wrt to the local average luma.
126
- float lumaEnd1 = sampleLuma(uv1);
127
- float lumaEnd2 = sampleLuma(uv2);
128
- lumaEnd1 -= lumaLocalAverage;
129
- lumaEnd2 -= lumaLocalAverage;
130
-
131
- // If the luma deltas at the current extremities is larger than the local gradient,
132
- // we have reached the side of the edge.
133
- bool reached1 = abs(lumaEnd1) >= gradientScaled;
134
- bool reached2 = abs(lumaEnd2) >= gradientScaled;
135
- bool reachedBoth = reached1 && reached2;
136
-
137
- // If the side is not reached, we continue to explore in this direction.
138
- if(!reached1){
139
- uv1 -= offset * QUALITY(1);
140
- }
141
- if(!reached2){
142
- uv2 += offset * QUALITY(1);
143
- }
144
-
145
- // If both sides have not been reached, continue to explore.
146
- if(!reachedBoth){
147
- for(int i = 2; i < dIterations; i++){
148
- // If needed, read luma in 1st direction, compute delta.
149
- if(!reached1){
150
- lumaEnd1 = sampleLuma(uv1);
151
- lumaEnd1 = lumaEnd1 - lumaLocalAverage;
152
- }
153
- // If needed, read luma in opposite direction, compute delta.
154
- if(!reached2){
155
- lumaEnd2 = sampleLuma(uv2);
156
- lumaEnd2 = lumaEnd2 - lumaLocalAverage;
157
- }
158
- // If the luma deltas at the current extremities is larger than the local gradient,
159
- // we have reached the side of the edge.
160
- reached1 = abs(lumaEnd1) >= gradientScaled;
161
- reached2 = abs(lumaEnd2) >= gradientScaled;
162
- reachedBoth = reached1 && reached2;
163
-
164
- // If the side is not reached, we continue to explore in this direction,
165
- // with a variable quality.
166
- if(!reached1){
167
- uv1 -= offset * QUALITY(i);
168
- }
169
- if(!reached2){
170
- uv2 += offset * QUALITY(i);
171
- }
172
-
173
- // If both sides have been reached, stop the exploration.
174
- if(reachedBoth){
175
- break;
176
- }
177
- }
178
- }
179
-
180
- // Compute the distances to each side edge of the edge (!).
181
- float distance1 = isHorizontal ? (coords.x - uv1.x) : (coords.y - uv1.y);
182
- float distance2 = isHorizontal ? (uv2.x - coords.x) : (uv2.y - coords.y);
183
-
184
- // In which direction is the side of the edge closer ?
185
- bool isDirection1 = distance1 < distance2;
186
- float distanceFinal = min(distance1, distance2);
187
-
188
- // Thickness of the edge.
189
- float edgeThickness = (distance1 + distance2);
190
-
191
- // Is the luma at center smaller than the local average ?
192
- bool isLumaCenterSmaller = lumaCenter < lumaLocalAverage;
193
-
194
- // If the luma at center is smaller than at its neighbour,
195
- // the delta luma at each end should be positive (same variation).
196
- bool correctVariation1 = (lumaEnd1 < 0.0) != isLumaCenterSmaller;
197
- bool correctVariation2 = (lumaEnd2 < 0.0) != isLumaCenterSmaller;
198
-
199
- // Only keep the result in the direction of the closer side of the edge.
200
- bool correctVariation = isDirection1 ? correctVariation1 : correctVariation2;
201
-
202
- // UV offset: read in the direction of the closest side of the edge.
203
- float pixelOffset = - distanceFinal / edgeThickness + 0.5;
204
-
205
- // If the luma variation is incorrect, do not offset.
206
- float finalOffset = correctVariation ? pixelOffset : 0.0;
207
-
208
- // Sub-pixel shifting
209
- // Full weighted average of the luma over the 3x3 neighborhood.
210
- float lumaAverage = (1.0 / 12.0) * (2.0 * (lumaDownUp + lumaLeftRight) + lumaLeftCorners + lumaRightCorners);
211
- // Ratio of the delta between the global average and the center luma,
212
- // over the luma range in the 3x3 neighborhood.
213
- float subPixelOffset1 = clamp(abs(lumaAverage - lumaCenter) / lumaRange, 0.0, 1.0);
214
- float subPixelOffset2 = (-2.0 * subPixelOffset1 + 3.0) * subPixelOffset1 * subPixelOffset1;
215
- // Compute a sub-pixel offset based on this delta.
216
- float subPixelOffsetFinal = subPixelOffset2 * subPixelOffset2 * float(dSubpixelQuality);
217
-
218
- // Pick the biggest of the two offsets.
219
- finalOffset = max(finalOffset, subPixelOffsetFinal);
220
-
221
- // Compute the final UV coordinates.
222
- vec2 finalUv = coords;
223
- if(isHorizontal){
224
- finalUv.y += finalOffset * stepLength;
225
- } else {
226
- finalUv.x += finalOffset * stepLength;
227
- }
228
-
229
- // Read the color at the new UV coordinates, and use it.
230
- gl_FragColor = texture2D(tColor, finalUv);
231
- }
4
+ exports.fxaa_frag = `
5
+ precision highp float;
6
+ precision highp int;
7
+ precision highp sampler2D;
8
+
9
+ uniform sampler2D tColor;
10
+ uniform vec2 uTexSizeInv;
11
+
12
+ // adapted from https://github.com/kosua20/Rendu
13
+ // MIT License Copyright (c) 2017 Simon Rodriguez
14
+
15
+ #define QUALITY(q) ((q) < 5 ? 1.0 : ((q) > 5 ? ((q) < 10 ? 2.0 : ((q) < 11 ? 4.0 : 8.0)) : 1.5))
16
+
17
+ float rgb2luma(vec3 rgb){
18
+ return sqrt(dot(rgb, vec3(0.299, 0.587, 0.114)));
19
+ }
20
+
21
+ float sampleLuma(vec2 uv) {
22
+ return rgb2luma(texture2D(tColor, uv).rgb);
23
+ }
24
+
25
+ float sampleLuma(vec2 uv, float uOffset, float vOffset) {
26
+ uv += uTexSizeInv * vec2(uOffset, vOffset);
27
+ return sampleLuma(uv);
28
+ }
29
+
30
+ void main(void) {
31
+ vec2 coords = gl_FragCoord.xy * uTexSizeInv;
32
+ vec2 inverseScreenSize = uTexSizeInv;
33
+
34
+ vec4 colorCenter = texture2D(tColor, coords);
35
+
36
+ // Luma at the current fragment
37
+ float lumaCenter = rgb2luma(colorCenter.rgb);
38
+
39
+ // Luma at the four direct neighbours of the current fragment.
40
+ float lumaDown = sampleLuma(coords, 0.0, -1.0);
41
+ float lumaUp = sampleLuma(coords, 0.0, 1.0);
42
+ float lumaLeft = sampleLuma(coords, -1.0, 0.0);
43
+ float lumaRight = sampleLuma(coords, 1.0, 0.0);
44
+
45
+ // Find the maximum and minimum luma around the current fragment.
46
+ float lumaMin = min(lumaCenter, min(min(lumaDown, lumaUp), min(lumaLeft, lumaRight)));
47
+ float lumaMax = max(lumaCenter, max(max(lumaDown, lumaUp), max(lumaLeft, lumaRight)));
48
+
49
+ // Compute the delta.
50
+ float lumaRange = lumaMax - lumaMin;
51
+
52
+ // If the luma variation is lower that a threshold (or if we are in a really dark area),
53
+ // we are not on an edge, don't perform any AA.
54
+ if (lumaRange < max(dEdgeThresholdMin, lumaMax * dEdgeThresholdMax)) {
55
+ gl_FragColor = colorCenter;
56
+ return;
57
+ }
58
+
59
+ // Query the 4 remaining corners lumas.
60
+ float lumaDownLeft = sampleLuma(coords, -1.0, -1.0);
61
+ float lumaUpRight = sampleLuma(coords, 1.0, 1.0);
62
+ float lumaUpLeft = sampleLuma(coords, -1.0, 1.0);
63
+ float lumaDownRight = sampleLuma(coords, 1.0, -1.0);
64
+
65
+ // Combine the four edges lumas (using intermediary variables for future computations
66
+ // with the same values).
67
+ float lumaDownUp = lumaDown + lumaUp;
68
+ float lumaLeftRight = lumaLeft + lumaRight;
69
+
70
+ // Same for corners
71
+ float lumaLeftCorners = lumaDownLeft + lumaUpLeft;
72
+ float lumaDownCorners = lumaDownLeft + lumaDownRight;
73
+ float lumaRightCorners = lumaDownRight + lumaUpRight;
74
+ float lumaUpCorners = lumaUpRight + lumaUpLeft;
75
+
76
+ // Compute an estimation of the gradient along the horizontal and vertical axis.
77
+ float edgeHorizontal = abs(-2.0 * lumaLeft + lumaLeftCorners) + abs(-2.0 * lumaCenter + lumaDownUp) * 2.0 + abs(-2.0 * lumaRight + lumaRightCorners);
78
+ float edgeVertical = abs(-2.0 * lumaUp + lumaUpCorners) + abs(-2.0 * lumaCenter + lumaLeftRight) * 2.0 + abs(-2.0 * lumaDown + lumaDownCorners);
79
+
80
+ // Is the local edge horizontal or vertical ?
81
+ bool isHorizontal = (edgeHorizontal >= edgeVertical);
82
+
83
+ // Choose the step size (one pixel) accordingly.
84
+ float stepLength = isHorizontal ? inverseScreenSize.y : inverseScreenSize.x;
85
+
86
+ // Select the two neighboring texels lumas in the opposite direction to the local edge.
87
+ float luma1 = isHorizontal ? lumaDown : lumaLeft;
88
+ float luma2 = isHorizontal ? lumaUp : lumaRight;
89
+ // Compute gradients in this direction.
90
+ float gradient1 = luma1 - lumaCenter;
91
+ float gradient2 = luma2 - lumaCenter;
92
+
93
+ // Which direction is the steepest ?
94
+ bool is1Steepest = abs(gradient1) >= abs(gradient2);
95
+
96
+ // Gradient in the corresponding direction, normalized.
97
+ float gradientScaled = 0.25 * max(abs(gradient1), abs(gradient2));
98
+
99
+ // Average luma in the correct direction.
100
+ float lumaLocalAverage = 0.0;
101
+ if(is1Steepest){
102
+ // Switch the direction
103
+ stepLength = -stepLength;
104
+ lumaLocalAverage = 0.5 * (luma1 + lumaCenter);
105
+ } else {
106
+ lumaLocalAverage = 0.5 * (luma2 + lumaCenter);
107
+ }
108
+
109
+ // Shift UV in the correct direction by half a pixel.
110
+ vec2 currentUv = coords;
111
+ if(isHorizontal){
112
+ currentUv.y += stepLength * 0.5;
113
+ } else {
114
+ currentUv.x += stepLength * 0.5;
115
+ }
116
+
117
+ // Compute offset (for each iteration step) in the right direction.
118
+ vec2 offset = isHorizontal ? vec2(inverseScreenSize.x, 0.0) : vec2(0.0, inverseScreenSize.y);
119
+ // Compute UVs to explore on each side of the edge, orthogonally.
120
+ // The QUALITY allows us to step faster.
121
+ vec2 uv1 = currentUv - offset * QUALITY(0);
122
+ vec2 uv2 = currentUv + offset * QUALITY(0);
123
+
124
+ // Read the lumas at both current extremities of the exploration segment,
125
+ // and compute the delta wrt to the local average luma.
126
+ float lumaEnd1 = sampleLuma(uv1);
127
+ float lumaEnd2 = sampleLuma(uv2);
128
+ lumaEnd1 -= lumaLocalAverage;
129
+ lumaEnd2 -= lumaLocalAverage;
130
+
131
+ // If the luma deltas at the current extremities is larger than the local gradient,
132
+ // we have reached the side of the edge.
133
+ bool reached1 = abs(lumaEnd1) >= gradientScaled;
134
+ bool reached2 = abs(lumaEnd2) >= gradientScaled;
135
+ bool reachedBoth = reached1 && reached2;
136
+
137
+ // If the side is not reached, we continue to explore in this direction.
138
+ if(!reached1){
139
+ uv1 -= offset * QUALITY(1);
140
+ }
141
+ if(!reached2){
142
+ uv2 += offset * QUALITY(1);
143
+ }
144
+
145
+ // If both sides have not been reached, continue to explore.
146
+ if(!reachedBoth){
147
+ for(int i = 2; i < dIterations; i++){
148
+ // If needed, read luma in 1st direction, compute delta.
149
+ if(!reached1){
150
+ lumaEnd1 = sampleLuma(uv1);
151
+ lumaEnd1 = lumaEnd1 - lumaLocalAverage;
152
+ }
153
+ // If needed, read luma in opposite direction, compute delta.
154
+ if(!reached2){
155
+ lumaEnd2 = sampleLuma(uv2);
156
+ lumaEnd2 = lumaEnd2 - lumaLocalAverage;
157
+ }
158
+ // If the luma deltas at the current extremities is larger than the local gradient,
159
+ // we have reached the side of the edge.
160
+ reached1 = abs(lumaEnd1) >= gradientScaled;
161
+ reached2 = abs(lumaEnd2) >= gradientScaled;
162
+ reachedBoth = reached1 && reached2;
163
+
164
+ // If the side is not reached, we continue to explore in this direction,
165
+ // with a variable quality.
166
+ if(!reached1){
167
+ uv1 -= offset * QUALITY(i);
168
+ }
169
+ if(!reached2){
170
+ uv2 += offset * QUALITY(i);
171
+ }
172
+
173
+ // If both sides have been reached, stop the exploration.
174
+ if(reachedBoth){
175
+ break;
176
+ }
177
+ }
178
+ }
179
+
180
+ // Compute the distances to each side edge of the edge (!).
181
+ float distance1 = isHorizontal ? (coords.x - uv1.x) : (coords.y - uv1.y);
182
+ float distance2 = isHorizontal ? (uv2.x - coords.x) : (uv2.y - coords.y);
183
+
184
+ // In which direction is the side of the edge closer ?
185
+ bool isDirection1 = distance1 < distance2;
186
+ float distanceFinal = min(distance1, distance2);
187
+
188
+ // Thickness of the edge.
189
+ float edgeThickness = (distance1 + distance2);
190
+
191
+ // Is the luma at center smaller than the local average ?
192
+ bool isLumaCenterSmaller = lumaCenter < lumaLocalAverage;
193
+
194
+ // If the luma at center is smaller than at its neighbour,
195
+ // the delta luma at each end should be positive (same variation).
196
+ bool correctVariation1 = (lumaEnd1 < 0.0) != isLumaCenterSmaller;
197
+ bool correctVariation2 = (lumaEnd2 < 0.0) != isLumaCenterSmaller;
198
+
199
+ // Only keep the result in the direction of the closer side of the edge.
200
+ bool correctVariation = isDirection1 ? correctVariation1 : correctVariation2;
201
+
202
+ // UV offset: read in the direction of the closest side of the edge.
203
+ float pixelOffset = - distanceFinal / edgeThickness + 0.5;
204
+
205
+ // If the luma variation is incorrect, do not offset.
206
+ float finalOffset = correctVariation ? pixelOffset : 0.0;
207
+
208
+ // Sub-pixel shifting
209
+ // Full weighted average of the luma over the 3x3 neighborhood.
210
+ float lumaAverage = (1.0 / 12.0) * (2.0 * (lumaDownUp + lumaLeftRight) + lumaLeftCorners + lumaRightCorners);
211
+ // Ratio of the delta between the global average and the center luma,
212
+ // over the luma range in the 3x3 neighborhood.
213
+ float subPixelOffset1 = clamp(abs(lumaAverage - lumaCenter) / lumaRange, 0.0, 1.0);
214
+ float subPixelOffset2 = (-2.0 * subPixelOffset1 + 3.0) * subPixelOffset1 * subPixelOffset1;
215
+ // Compute a sub-pixel offset based on this delta.
216
+ float subPixelOffsetFinal = subPixelOffset2 * subPixelOffset2 * float(dSubpixelQuality);
217
+
218
+ // Pick the biggest of the two offsets.
219
+ finalOffset = max(finalOffset, subPixelOffsetFinal);
220
+
221
+ // Compute the final UV coordinates.
222
+ vec2 finalUv = coords;
223
+ if(isHorizontal){
224
+ finalUv.y += finalOffset * stepLength;
225
+ } else {
226
+ finalUv.x += finalOffset * stepLength;
227
+ }
228
+
229
+ // Read the color at the new UV coordinates, and use it.
230
+ gl_FragColor = texture2D(tColor, finalUv);
231
+ }
232
232
  `;