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
@@ -4,360 +4,366 @@
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  * @author Michael Krone <michael.krone@uni-tuebingen.de>
6
6
  */
7
- export const directVolume_frag = `
8
- precision highp float;
9
- precision highp int;
10
-
11
- #include common
12
- #include light_frag_params
13
-
14
- #if dClipObjectCount != 0
15
- uniform int uClipObjectType[dClipObjectCount];
16
- uniform bool uClipObjectInvert[dClipObjectCount];
17
- uniform vec3 uClipObjectPosition[dClipObjectCount];
18
- uniform vec4 uClipObjectRotation[dClipObjectCount];
19
- uniform vec3 uClipObjectScale[dClipObjectCount];
20
- #endif
21
- #include common_clip
22
-
23
- #include read_from_texture
24
- #include texture3d_from_1d_trilinear
25
- #include texture3d_from_2d_nearest
26
- #include texture3d_from_2d_linear
27
-
28
- uniform mat4 uProjection, uTransform, uModelView, uModel, uView;
29
- uniform vec3 uCameraDir;
30
-
31
- uniform sampler2D tDepth;
32
- uniform vec2 uDrawingBufferSize;
33
-
34
- varying vec3 vOrigPos;
35
- varying float vInstance;
36
- varying vec4 vBoundingSphere;
37
- varying mat4 vTransform;
38
-
39
- uniform mat4 uInvView;
40
- uniform vec3 uGridDim;
41
- uniform vec3 uBboxSize;
42
- uniform sampler2D tTransferTex;
43
- uniform float uTransferScale;
44
- uniform float uStepScale;
45
- uniform float uJumpLength;
46
-
47
- uniform int uObjectId;
48
- uniform int uVertexCount;
49
- uniform int uInstanceCount;
50
- uniform int uGroupCount;
51
-
52
- #if defined(dColorMarker)
53
- uniform vec3 uHighlightColor;
54
- uniform vec3 uSelectColor;
55
- uniform vec3 uDimColor;
56
- uniform float uHighlightStrength;
57
- uniform float uSelectStrength;
58
- uniform float uDimStrength;
59
- uniform int uMarkerPriority;
60
- uniform float uMarkerAverage;
61
-
62
- uniform float uMarker;
63
- uniform vec2 uMarkerTexDim;
64
- uniform sampler2D tMarker;
65
- #endif
66
-
67
- uniform float uMetalness;
68
- uniform float uRoughness;
69
-
70
- uniform bool uFog;
71
- uniform float uFogNear;
72
- uniform float uFogFar;
73
- uniform vec3 uFogColor;
74
-
75
- uniform float uAlpha;
76
- uniform bool uTransparentBackground;
77
- uniform float uXrayEdgeFalloff;
78
- uniform float uExposure;
79
-
80
- uniform int uRenderMask;
81
-
82
- uniform float uNear;
83
- uniform float uFar;
84
- uniform float uIsOrtho;
85
-
86
- uniform vec3 uCellDim;
87
- uniform vec3 uCameraPosition;
88
- uniform mat4 uCartnToUnit;
89
-
90
- #if __VERSION__ != 100
91
- // for webgl1 this is given as a 'define'
92
- uniform int uMaxSteps;
93
- #endif
94
-
95
- #if defined(dGridTexType_2d)
96
- precision highp sampler2D;
97
- uniform sampler2D tGridTex;
98
- uniform vec3 uGridTexDim;
99
- #elif defined(dGridTexType_3d)
100
- precision highp sampler3D;
101
- uniform sampler3D tGridTex;
102
- #endif
103
-
104
- #if defined(dColorType_uniform)
105
- uniform vec3 uColor;
106
- #elif defined(dColorType_texture)
107
- uniform vec2 uColorTexDim;
108
- uniform sampler2D tColor;
109
- #endif
110
-
111
- #ifdef dOverpaint
112
- #if defined(dOverpaintType_groupInstance) || defined(dOverpaintType_vertexInstance)
113
- uniform vec2 uOverpaintTexDim;
114
- uniform sampler2D tOverpaint;
115
- #endif
116
- #endif
117
-
118
- #ifdef dUsePalette
119
- uniform sampler2D tPalette;
120
- #endif
121
-
122
- #if defined(dGridTexType_2d)
123
- vec4 textureVal(vec3 pos) {
124
- return texture3dFrom2dLinear(tGridTex, pos + (vec3(0.5, 0.5, 0.0) / uGridDim), uGridDim, uGridTexDim.xy);
125
- }
126
- vec4 textureGroup(vec3 pos) {
127
- return texture3dFrom2dNearest(tGridTex, pos + (vec3(0.5, 0.5, 0.0) / uGridDim), uGridDim, uGridTexDim.xy);
128
- }
129
- #elif defined(dGridTexType_3d)
130
- vec4 textureVal(vec3 pos) {
131
- return texture(tGridTex, pos + (vec3(0.5) / uGridDim));
132
- }
133
- vec4 textureGroup(vec3 pos) {
134
- return texelFetch(tGridTex, ivec3(pos * uGridDim), 0);
135
- }
136
- #endif
137
-
138
- float calcDepth(const in vec3 pos) {
139
- vec2 clipZW = pos.z * uProjection[2].zw + uProjection[3].zw;
140
- return 0.5 + 0.5 * clipZW.x / clipZW.y;
141
- }
142
-
143
- float transferFunction(float value) {
144
- return texture2D(tTransferTex, vec2(value, 0.0)).a;
145
- }
146
-
147
- float getDepth(const in vec2 coords) {
148
- #ifdef depthTextureSupport
149
- return texture2D(tDepth, coords).r;
150
- #else
151
- return unpackRGBAToDepth(texture2D(tDepth, coords));
152
- #endif
153
- }
154
-
155
- const float gradOffset = 0.5;
156
-
157
- vec3 v3m4(vec3 p, mat4 m) {
158
- return (m * vec4(p, 1.0)).xyz;
159
- }
160
-
161
- float preFogAlphaBlended = 0.0;
162
-
163
- vec4 raymarch(vec3 startLoc, vec3 step, vec3 rayDir) {
164
- mat3 normalMatrix = transpose3(inverse3(mat3(uModelView * vTransform)));
165
- mat4 cartnToUnit = uCartnToUnit * inverse4(vTransform);
166
- #if defined(dClipVariant_pixel) && dClipObjectCount != 0
167
- mat4 modelTransform = uModel * vTransform * uTransform;
168
- #endif
169
- mat4 modelViewTransform = uModelView * vTransform * uTransform;
170
-
171
- vec3 scaleVol = vec3(1.0) / uGridDim;
172
- vec3 pos = startLoc;
173
- vec4 cell;
174
- float prevValue = -1.0;
175
- float value = 0.0;
176
- vec4 src = vec4(0.0);
177
- vec4 dst = vec4(0.0);
178
- float fragmentDepth;
179
-
180
- vec3 posMin = vec3(0.0);
181
- vec3 posMax = vec3(1.0) - vec3(1.0) / uGridDim;
182
-
183
- vec3 unitPos;
184
-
185
- vec3 nextPos;
186
- float nextValue;
187
-
188
- vec4 material;
189
- vec4 overpaint;
190
- float metalness = uMetalness;
191
- float roughness = uRoughness;
192
-
193
- vec3 gradient = vec3(1.0);
194
- vec3 dx = vec3(gradOffset * scaleVol.x, 0.0, 0.0);
195
- vec3 dy = vec3(0.0, gradOffset * scaleVol.y, 0.0);
196
- vec3 dz = vec3(0.0, 0.0, gradOffset * scaleVol.z);
197
-
198
- float maxDist = min(vBoundingSphere.w * 2.0, uFar - uNear);
199
- float maxDistSq = maxDist * maxDist;
200
-
201
- for (int i = 0; i < uMaxSteps; ++i) {
202
- // break when beyond bounding-sphere or far-plane
203
- vec3 distVec = startLoc - pos;
204
- if (dot(distVec, distVec) > maxDistSq) break;
205
-
206
- unitPos = v3m4(pos, cartnToUnit);
207
-
208
- // continue when outside of grid
209
- if (unitPos.x > posMax.x || unitPos.y > posMax.y || unitPos.z > posMax.z ||
210
- unitPos.x < posMin.x || unitPos.y < posMin.y || unitPos.z < posMin.z
211
- ) {
212
- prevValue = value;
213
- pos += step;
214
- continue;
215
- }
216
-
217
- cell = textureVal(unitPos);
218
- value = cell.a; // current voxel value
219
-
220
- if (uJumpLength > 0.0 && value < 0.01) {
221
- nextPos = pos + rayDir * uJumpLength;
222
- nextValue = textureVal(v3m4(nextPos, cartnToUnit)).a;
223
- if (nextValue < 0.01) {
224
- prevValue = nextValue;
225
- pos = nextPos;
226
- continue;
227
- }
228
- }
229
-
230
- vec4 mvPosition = modelViewTransform * vec4(unitPos * uGridDim, 1.0);
231
- if (calcDepth(mvPosition.xyz) > getDepth(gl_FragCoord.xy / uDrawingBufferSize))
232
- break;
233
-
234
- #if defined(dClipVariant_pixel) && dClipObjectCount != 0
235
- vec3 vModelPosition = v3m4(unitPos * uGridDim, modelTransform);
236
- if (clipTest(vec4(vModelPosition, 0.0))) {
237
- prevValue = value;
238
- pos += step;
239
- continue;
240
- }
241
- #endif
242
-
243
- vec3 vViewPosition = mvPosition.xyz;
244
- material.a = transferFunction(value);
245
-
246
- #ifdef dPackedGroup
247
- float group = unpackRGBToInt(textureGroup(floor(unitPos * uGridDim + 0.5) / uGridDim).rgb);
248
- #else
249
- vec3 g = floor(unitPos * uGridDim + 0.5);
250
- // note that we swap x and z because the texture is flipped around y
251
- #if defined(dAxisOrder_012)
252
- float group = g.z + g.y * uGridDim.z + g.x * uGridDim.z * uGridDim.y; // 210
253
- #elif defined(dAxisOrder_021)
254
- float group = g.y + g.z * uGridDim.y + g.x * uGridDim.y * uGridDim.z; // 120
255
- #elif defined(dAxisOrder_102)
256
- float group = g.z + g.x * uGridDim.z + g.y * uGridDim.z * uGridDim.x; // 201
257
- #elif defined(dAxisOrder_120)
258
- float group = g.x + g.z * uGridDim.x + g.y * uGridDim.x * uGridDim.z; // 021
259
- #elif defined(dAxisOrder_201)
260
- float group = g.y + g.x * uGridDim.y + g.z * uGridDim.y * uGridDim.x; // 102
261
- #elif defined(dAxisOrder_210)
262
- float group = g.x + g.y * uGridDim.x + g.z * uGridDim.x * uGridDim.y; // 012
263
- #endif
264
- #endif
265
-
266
- #if defined(dColorType_direct) && defined(dUsePalette)
267
- material.rgb = texture2D(tPalette, vec2(value, 0.0)).rgb;
268
- #elif defined(dColorType_uniform)
269
- material.rgb = uColor;
270
- #elif defined(dColorType_instance)
271
- material.rgb = readFromTexture(tColor, vInstance, uColorTexDim).rgb;
272
- #elif defined(dColorType_group)
273
- material.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;
274
- #elif defined(dColorType_groupInstance)
275
- material.rgb = readFromTexture(tColor, vInstance * float(uGroupCount) + group, uColorTexDim).rgb;
276
- #elif defined(dColorType_vertex)
277
- material.rgb = texture3dFrom1dTrilinear(tColor, unitPos, uGridDim, uColorTexDim, 0.0).rgb;
278
- #elif defined(dColorType_vertexInstance)
279
- material.rgb = texture3dFrom1dTrilinear(tColor, unitPos, uGridDim, uColorTexDim, vInstance * float(uVertexCount)).rgb;
280
- #endif
281
-
282
- #ifdef dOverpaint
283
- #if defined(dOverpaintType_groupInstance)
284
- overpaint = readFromTexture(tOverpaint, vInstance * float(uGroupCount) + group, uOverpaintTexDim);
285
- #elif defined(dOverpaintType_vertexInstance)
286
- overpaint = texture3dFrom1dTrilinear(tOverpaint, unitPos, uGridDim, uOverpaintTexDim, vInstance * float(uVertexCount));
287
- #endif
288
-
289
- material.rgb = mix(material.rgb, overpaint.rgb, overpaint.a);
290
- #endif
291
-
292
- #ifdef dIgnoreLight
293
- gl_FragColor.rgb = material.rgb;
294
- #else
295
- if (material.a >= 0.01) {
296
- #ifdef dPackedGroup
297
- // compute gradient by central differences
298
- gradient.x = textureVal(unitPos - dx).a - textureVal(unitPos + dx).a;
299
- gradient.y = textureVal(unitPos - dy).a - textureVal(unitPos + dy).a;
300
- gradient.z = textureVal(unitPos - dz).a - textureVal(unitPos + dz).a;
301
- #else
302
- gradient = cell.xyz * 2.0 - 1.0;
303
- #endif
304
- vec3 normal = -normalize(normalMatrix * normalize(gradient));
305
- #include apply_light_color
306
- } else {
307
- gl_FragColor.rgb = material.rgb;
308
- }
309
- #endif
310
-
311
- gl_FragColor.a = material.a * uAlpha * uTransferScale;
312
-
313
- #if defined(dColorMarker)
314
- float marker = uMarker;
315
- if (uMarker == -1.0) {
316
- marker = readFromTexture(tMarker, vInstance * float(uGroupCount) + group, uMarkerTexDim).a;
317
- marker = floor(marker * 255.0 + 0.5); // rounding required to work on some cards on win
318
- }
319
- #endif
320
- #include apply_marker_color
321
-
322
- preFogAlphaBlended = (1.0 - preFogAlphaBlended) * gl_FragColor.a + preFogAlphaBlended;
323
- fragmentDepth = calcDepth(mvPosition.xyz);
324
- #include apply_fog
325
-
326
- src = gl_FragColor;
327
-
328
- if (!uTransparentBackground) {
329
- // done in 'apply_fog' otherwise
330
- src.rgb *= src.a;
331
- }
332
- dst = (1.0 - dst.a) * src + dst; // standard blending
333
-
334
- // break if the color is opaque enough
335
- if (dst.a > 0.95)
336
- break;
337
-
338
- pos += step;
339
- }
340
-
341
- return dst;
342
- }
343
-
344
- // TODO: support float texture for higher precision values???
345
- // TODO: support clipping exclusion texture support
346
-
347
- void main() {
348
- if (gl_FrontFacing)
349
- discard;
350
-
351
- vec3 rayDir = mix(normalize(vOrigPos - uCameraPosition), uCameraDir, uIsOrtho);
352
- vec3 step = rayDir * uStepScale;
353
-
354
- float boundingSphereNear = distance(vBoundingSphere.xyz, uCameraPosition) - vBoundingSphere.w;
355
- float d = max(uNear, boundingSphereNear) - mix(0.0, distance(vOrigPos, uCameraPosition), uIsOrtho);
356
- vec3 start = mix(uCameraPosition, vOrigPos, uIsOrtho) + (d * rayDir);
357
- gl_FragColor = raymarch(start, step, rayDir);
358
-
359
- float fragmentDepth = calcDepth((uModelView * vec4(start, 1.0)).xyz);
360
- float preFogAlpha = clamp(preFogAlphaBlended, 0.0, 1.0);
361
- #include wboit_write
362
- }
7
+ export const directVolume_frag = `
8
+ precision highp float;
9
+ precision highp int;
10
+
11
+ #include common
12
+ #include light_frag_params
13
+
14
+ #if dClipObjectCount != 0
15
+ uniform int uClipObjectType[dClipObjectCount];
16
+ uniform bool uClipObjectInvert[dClipObjectCount];
17
+ uniform vec3 uClipObjectPosition[dClipObjectCount];
18
+ uniform vec4 uClipObjectRotation[dClipObjectCount];
19
+ uniform vec3 uClipObjectScale[dClipObjectCount];
20
+ #endif
21
+ #include common_clip
22
+
23
+ #include read_from_texture
24
+ #include texture3d_from_1d_trilinear
25
+ #include texture3d_from_2d_nearest
26
+ #include texture3d_from_2d_linear
27
+
28
+ uniform mat4 uProjection, uTransform, uModelView, uModel, uView;
29
+ uniform vec3 uCameraDir;
30
+
31
+ uniform sampler2D tDepth;
32
+ uniform vec2 uDrawingBufferSize;
33
+
34
+ varying vec3 vOrigPos;
35
+ varying float vInstance;
36
+ varying vec4 vBoundingSphere;
37
+ varying mat4 vTransform;
38
+
39
+ uniform mat4 uInvView;
40
+ uniform vec3 uGridDim;
41
+ uniform vec3 uBboxSize;
42
+ uniform sampler2D tTransferTex;
43
+ uniform float uTransferScale;
44
+ uniform float uStepScale;
45
+ uniform float uJumpLength;
46
+
47
+ uniform int uObjectId;
48
+ uniform int uVertexCount;
49
+ uniform int uInstanceCount;
50
+ uniform int uGroupCount;
51
+
52
+ #if defined(dColorMarker)
53
+ uniform vec3 uHighlightColor;
54
+ uniform vec3 uSelectColor;
55
+ uniform vec3 uDimColor;
56
+ uniform float uHighlightStrength;
57
+ uniform float uSelectStrength;
58
+ uniform float uDimStrength;
59
+ uniform int uMarkerPriority;
60
+ uniform float uMarkerAverage;
61
+
62
+ uniform float uMarker;
63
+ uniform vec2 uMarkerTexDim;
64
+ uniform sampler2D tMarker;
65
+ #endif
66
+
67
+ uniform float uMetalness;
68
+ uniform float uRoughness;
69
+ uniform float uEmissive;
70
+
71
+ uniform bool uFog;
72
+ uniform float uFogNear;
73
+ uniform float uFogFar;
74
+ uniform vec3 uFogColor;
75
+
76
+ uniform float uAlpha;
77
+ uniform bool uTransparentBackground;
78
+ uniform float uXrayEdgeFalloff;
79
+ uniform float uExposure;
80
+
81
+ uniform int uRenderMask;
82
+
83
+ uniform float uNear;
84
+ uniform float uFar;
85
+ uniform float uIsOrtho;
86
+
87
+ uniform vec3 uCellDim;
88
+ uniform vec3 uCameraPosition;
89
+ uniform mat4 uCartnToUnit;
90
+
91
+ #if __VERSION__ != 100
92
+ // for webgl1 this is given as a 'define'
93
+ uniform int uMaxSteps;
94
+ #endif
95
+
96
+ #if defined(dGridTexType_2d)
97
+ precision highp sampler2D;
98
+ uniform sampler2D tGridTex;
99
+ uniform vec3 uGridTexDim;
100
+ #elif defined(dGridTexType_3d)
101
+ precision highp sampler3D;
102
+ uniform sampler3D tGridTex;
103
+ #endif
104
+
105
+ #if defined(dColorType_uniform)
106
+ uniform vec3 uColor;
107
+ #elif defined(dColorType_texture)
108
+ uniform vec2 uColorTexDim;
109
+ uniform sampler2D tColor;
110
+ #endif
111
+
112
+ #ifdef dOverpaint
113
+ #if defined(dOverpaintType_groupInstance) || defined(dOverpaintType_vertexInstance)
114
+ uniform vec2 uOverpaintTexDim;
115
+ uniform sampler2D tOverpaint;
116
+ #endif
117
+ #endif
118
+
119
+ #ifdef dUsePalette
120
+ uniform sampler2D tPalette;
121
+ #endif
122
+
123
+ #if defined(dGridTexType_2d)
124
+ vec4 textureVal(vec3 pos) {
125
+ return texture3dFrom2dLinear(tGridTex, pos + (vec3(0.5, 0.5, 0.0) / uGridDim), uGridDim, uGridTexDim.xy);
126
+ }
127
+ vec4 textureGroup(vec3 pos) {
128
+ return texture3dFrom2dNearest(tGridTex, pos + (vec3(0.5, 0.5, 0.0) / uGridDim), uGridDim, uGridTexDim.xy);
129
+ }
130
+ #elif defined(dGridTexType_3d)
131
+ vec4 textureVal(vec3 pos) {
132
+ return texture(tGridTex, pos + (vec3(0.5) / uGridDim));
133
+ }
134
+ vec4 textureGroup(vec3 pos) {
135
+ return texelFetch(tGridTex, ivec3(pos * uGridDim), 0);
136
+ }
137
+ #endif
138
+
139
+ float calcDepth(const in vec3 pos) {
140
+ vec2 clipZW = pos.z * uProjection[2].zw + uProjection[3].zw;
141
+ return 0.5 + 0.5 * clipZW.x / clipZW.y;
142
+ }
143
+
144
+ float transferFunction(float value) {
145
+ return texture2D(tTransferTex, vec2(value, 0.0)).a;
146
+ }
147
+
148
+ float getDepth(const in vec2 coords) {
149
+ #ifdef depthTextureSupport
150
+ return texture2D(tDepth, coords).r;
151
+ #else
152
+ return unpackRGBAToDepth(texture2D(tDepth, coords));
153
+ #endif
154
+ }
155
+
156
+ const float gradOffset = 0.5;
157
+
158
+ vec3 v3m4(vec3 p, mat4 m) {
159
+ return (m * vec4(p, 1.0)).xyz;
160
+ }
161
+
162
+ float preFogAlphaBlended = 0.0;
163
+
164
+ vec4 raymarch(vec3 startLoc, vec3 step, vec3 rayDir) {
165
+ mat3 normalMatrix = transpose3(inverse3(mat3(uModelView * vTransform)));
166
+ mat4 cartnToUnit = uCartnToUnit * inverse4(vTransform);
167
+ #if defined(dClipVariant_pixel) && dClipObjectCount != 0
168
+ mat4 modelTransform = uModel * vTransform * uTransform;
169
+ #endif
170
+ mat4 modelViewTransform = uModelView * vTransform * uTransform;
171
+
172
+ vec3 scaleVol = vec3(1.0) / uGridDim;
173
+ vec3 pos = startLoc;
174
+ vec4 cell;
175
+ float prevValue = -1.0;
176
+ float value = 0.0;
177
+ vec4 src = vec4(0.0);
178
+ vec4 dst = vec4(0.0);
179
+ float fragmentDepth;
180
+
181
+ vec3 posMin = vec3(0.0);
182
+ vec3 posMax = vec3(1.0) - vec3(1.0) / uGridDim;
183
+
184
+ vec3 unitPos;
185
+
186
+ vec3 nextPos;
187
+ float nextValue;
188
+
189
+ vec4 material;
190
+ vec4 overpaint;
191
+ float metalness = uMetalness;
192
+ float roughness = uRoughness;
193
+ float emissive = uEmissive;
194
+
195
+ vec3 gradient = vec3(1.0);
196
+ vec3 dx = vec3(gradOffset * scaleVol.x, 0.0, 0.0);
197
+ vec3 dy = vec3(0.0, gradOffset * scaleVol.y, 0.0);
198
+ vec3 dz = vec3(0.0, 0.0, gradOffset * scaleVol.z);
199
+
200
+ float maxDist = min(vBoundingSphere.w * 2.0, uFar - uNear);
201
+ float maxDistSq = maxDist * maxDist;
202
+
203
+ for (int i = 0; i < uMaxSteps; ++i) {
204
+ // break when beyond bounding-sphere or far-plane
205
+ vec3 distVec = startLoc - pos;
206
+ if (dot(distVec, distVec) > maxDistSq) break;
207
+
208
+ unitPos = v3m4(pos, cartnToUnit);
209
+
210
+ // continue when outside of grid
211
+ if (unitPos.x > posMax.x || unitPos.y > posMax.y || unitPos.z > posMax.z ||
212
+ unitPos.x < posMin.x || unitPos.y < posMin.y || unitPos.z < posMin.z
213
+ ) {
214
+ prevValue = value;
215
+ pos += step;
216
+ continue;
217
+ }
218
+
219
+ cell = textureVal(unitPos);
220
+ value = cell.a; // current voxel value
221
+
222
+ if (uJumpLength > 0.0 && value < 0.01) {
223
+ nextPos = pos + rayDir * uJumpLength;
224
+ nextValue = textureVal(v3m4(nextPos, cartnToUnit)).a;
225
+ if (nextValue < 0.01) {
226
+ prevValue = nextValue;
227
+ pos = nextPos;
228
+ continue;
229
+ }
230
+ }
231
+
232
+ vec4 mvPosition = modelViewTransform * vec4(unitPos * uGridDim, 1.0);
233
+ if (calcDepth(mvPosition.xyz) > getDepth(gl_FragCoord.xy / uDrawingBufferSize))
234
+ break;
235
+
236
+ #if defined(dClipVariant_pixel) && dClipObjectCount != 0
237
+ vec3 vModelPosition = v3m4(unitPos * uGridDim, modelTransform);
238
+ if (clipTest(vec4(vModelPosition, 0.0))) {
239
+ prevValue = value;
240
+ pos += step;
241
+ continue;
242
+ }
243
+ #endif
244
+
245
+ vec3 vViewPosition = mvPosition.xyz;
246
+ material.a = transferFunction(value);
247
+
248
+ #ifdef dPackedGroup
249
+ float group = unpackRGBToInt(textureGroup(floor(unitPos * uGridDim + 0.5) / uGridDim).rgb);
250
+ #else
251
+ vec3 g = floor(unitPos * uGridDim + 0.5);
252
+ // note that we swap x and z because the texture is flipped around y
253
+ #if defined(dAxisOrder_012)
254
+ float group = g.z + g.y * uGridDim.z + g.x * uGridDim.z * uGridDim.y; // 210
255
+ #elif defined(dAxisOrder_021)
256
+ float group = g.y + g.z * uGridDim.y + g.x * uGridDim.y * uGridDim.z; // 120
257
+ #elif defined(dAxisOrder_102)
258
+ float group = g.z + g.x * uGridDim.z + g.y * uGridDim.z * uGridDim.x; // 201
259
+ #elif defined(dAxisOrder_120)
260
+ float group = g.x + g.z * uGridDim.x + g.y * uGridDim.x * uGridDim.z; // 021
261
+ #elif defined(dAxisOrder_201)
262
+ float group = g.y + g.x * uGridDim.y + g.z * uGridDim.y * uGridDim.x; // 102
263
+ #elif defined(dAxisOrder_210)
264
+ float group = g.x + g.y * uGridDim.x + g.z * uGridDim.x * uGridDim.y; // 012
265
+ #endif
266
+ #endif
267
+
268
+ #if defined(dColorType_direct) && defined(dUsePalette)
269
+ material.rgb = texture2D(tPalette, vec2(value, 0.0)).rgb;
270
+ #elif defined(dColorType_uniform)
271
+ material.rgb = uColor;
272
+ #elif defined(dColorType_instance)
273
+ material.rgb = readFromTexture(tColor, vInstance, uColorTexDim).rgb;
274
+ #elif defined(dColorType_group)
275
+ material.rgb = readFromTexture(tColor, group, uColorTexDim).rgb;
276
+ #elif defined(dColorType_groupInstance)
277
+ material.rgb = readFromTexture(tColor, vInstance * float(uGroupCount) + group, uColorTexDim).rgb;
278
+ #elif defined(dColorType_vertex)
279
+ material.rgb = texture3dFrom1dTrilinear(tColor, unitPos, uGridDim, uColorTexDim, 0.0).rgb;
280
+ #elif defined(dColorType_vertexInstance)
281
+ material.rgb = texture3dFrom1dTrilinear(tColor, unitPos, uGridDim, uColorTexDim, vInstance * float(uVertexCount)).rgb;
282
+ #endif
283
+
284
+ #ifdef dOverpaint
285
+ #if defined(dOverpaintType_groupInstance)
286
+ overpaint = readFromTexture(tOverpaint, vInstance * float(uGroupCount) + group, uOverpaintTexDim);
287
+ #elif defined(dOverpaintType_vertexInstance)
288
+ overpaint = texture3dFrom1dTrilinear(tOverpaint, unitPos, uGridDim, uOverpaintTexDim, vInstance * float(uVertexCount));
289
+ #endif
290
+
291
+ material.rgb = mix(material.rgb, overpaint.rgb, overpaint.a);
292
+ #endif
293
+
294
+ #if defined(dIgnoreLight)
295
+ gl_FragColor.rgb = material.rgb;
296
+ #else
297
+ if (material.a >= 0.01) {
298
+ #ifdef dPackedGroup
299
+ // compute gradient by central differences
300
+ gradient.x = textureVal(unitPos - dx).a - textureVal(unitPos + dx).a;
301
+ gradient.y = textureVal(unitPos - dy).a - textureVal(unitPos + dy).a;
302
+ gradient.z = textureVal(unitPos - dz).a - textureVal(unitPos + dz).a;
303
+ #else
304
+ gradient = cell.xyz * 2.0 - 1.0;
305
+ #endif
306
+ vec3 normal = -normalize(normalMatrix * normalize(gradient));
307
+ #include apply_light_color
308
+ } else {
309
+ gl_FragColor.rgb = material.rgb;
310
+ }
311
+ #endif
312
+
313
+ gl_FragColor.a = material.a * uAlpha * uTransferScale;
314
+
315
+ #if defined(dColorMarker)
316
+ float marker = uMarker;
317
+ if (uMarker == -1.0) {
318
+ marker = readFromTexture(tMarker, vInstance * float(uGroupCount) + group, uMarkerTexDim).a;
319
+ marker = floor(marker * 255.0 + 0.5); // rounding required to work on some cards on win
320
+ }
321
+ #endif
322
+ #include apply_marker_color
323
+
324
+ preFogAlphaBlended = (1.0 - preFogAlphaBlended) * gl_FragColor.a + preFogAlphaBlended;
325
+ fragmentDepth = calcDepth(mvPosition.xyz);
326
+ #include apply_fog
327
+
328
+ src = gl_FragColor;
329
+
330
+ if (!uTransparentBackground) {
331
+ // done in 'apply_fog' otherwise
332
+ src.rgb *= src.a;
333
+ }
334
+ dst = (1.0 - dst.a) * src + dst; // standard blending
335
+
336
+ // break if the color is opaque enough
337
+ if (dst.a > 0.95)
338
+ break;
339
+
340
+ pos += step;
341
+ }
342
+
343
+ return dst;
344
+ }
345
+
346
+ // TODO: support float texture for higher precision values???
347
+ // TODO: support clipping exclusion texture support
348
+
349
+ void main() {
350
+ #if defined(dRenderVariant_emissive)
351
+ discard;
352
+ #else
353
+ if (gl_FrontFacing)
354
+ discard;
355
+
356
+ vec3 rayDir = mix(normalize(vOrigPos - uCameraPosition), uCameraDir, uIsOrtho);
357
+ vec3 step = rayDir * uStepScale;
358
+
359
+ float boundingSphereNear = distance(vBoundingSphere.xyz, uCameraPosition) - vBoundingSphere.w;
360
+ float d = max(uNear, boundingSphereNear) - mix(0.0, distance(vOrigPos, uCameraPosition), uIsOrtho);
361
+ vec3 start = mix(uCameraPosition, vOrigPos, uIsOrtho) + (d * rayDir);
362
+ gl_FragColor = raymarch(start, step, rayDir);
363
+
364
+ float fragmentDepth = calcDepth((uModelView * vec4(start, 1.0)).xyz);
365
+ float preFogAlpha = clamp(preFogAlphaBlended, 0.0, 1.0);
366
+ #include wboit_write
367
+ #endif
368
+ }
363
369
  `;