molstar 2.3.9 → 2.4.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 (550) hide show
  1. package/build/viewer/molstar.js +1 -1
  2. package/lib/cli/cifschema/util/cif-dic.js +1 -0
  3. package/lib/cli/cifschema/util/cif-dic.js.map +1 -1
  4. package/lib/commonjs/apps/viewer/index.d.ts +2 -2
  5. package/lib/commonjs/cli/cifschema/util/cif-dic.js +1 -0
  6. package/lib/commonjs/cli/cifschema/util/cif-dic.js.map +1 -1
  7. package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +1 -1
  8. package/lib/commonjs/extensions/cellpack/model.d.ts +1 -1
  9. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +3 -3
  10. package/lib/commonjs/extensions/geo-export/controls.js +1 -1
  11. package/lib/commonjs/extensions/geo-export/controls.js.map +1 -1
  12. package/lib/commonjs/extensions/geo-export/glb-exporter.d.ts +1 -0
  13. package/lib/commonjs/extensions/geo-export/glb-exporter.js +27 -17
  14. package/lib/commonjs/extensions/geo-export/glb-exporter.js.map +1 -1
  15. package/lib/commonjs/extensions/geo-export/mesh-exporter.d.ts +31 -2
  16. package/lib/commonjs/extensions/geo-export/mesh-exporter.js +87 -15
  17. package/lib/commonjs/extensions/geo-export/mesh-exporter.js.map +1 -1
  18. package/lib/commonjs/extensions/geo-export/obj-exporter.d.ts +1 -0
  19. package/lib/commonjs/extensions/geo-export/obj-exporter.js +24 -15
  20. package/lib/commonjs/extensions/geo-export/obj-exporter.js.map +1 -1
  21. package/lib/commonjs/extensions/geo-export/ui.js +24 -20
  22. package/lib/commonjs/extensions/geo-export/ui.js.map +1 -1
  23. package/lib/commonjs/extensions/geo-export/usdz-exporter.d.ts +1 -0
  24. package/lib/commonjs/extensions/geo-export/usdz-exporter.js +26 -16
  25. package/lib/commonjs/extensions/geo-export/usdz-exporter.js.map +1 -1
  26. package/lib/commonjs/extensions/mp4-export/controls.js +1 -1
  27. package/lib/commonjs/extensions/mp4-export/controls.js.map +1 -1
  28. package/lib/commonjs/extensions/mp4-export/ui.js +7 -6
  29. package/lib/commonjs/extensions/mp4-export/ui.js.map +1 -1
  30. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +2 -2
  31. package/lib/commonjs/extensions/rcsb/assembly-symmetry/color.d.ts +12 -12
  32. package/lib/commonjs/extensions/rcsb/graphql/types.d.ts +22 -21
  33. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +5 -5
  34. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +4 -4
  35. package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +2 -2
  36. package/lib/commonjs/mol-canvas3d/passes/draw.js +3 -11
  37. package/lib/commonjs/mol-canvas3d/passes/draw.js.map +1 -1
  38. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +2 -2
  39. package/lib/commonjs/mol-data/int/impl/sorted-array.d.ts +1 -1
  40. package/lib/commonjs/mol-geo/geometry/base.d.ts +13 -1
  41. package/lib/commonjs/mol-geo/geometry/base.js +37 -2
  42. package/lib/commonjs/mol-geo/geometry/base.js.map +1 -1
  43. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +2 -2
  44. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +2 -2
  45. package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.d.ts +9 -2
  46. package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.js +154 -35
  47. package/lib/commonjs/mol-geo/geometry/mesh/color-smoothing.js.map +1 -1
  48. package/lib/commonjs/mol-geo/geometry/overpaint-data.d.ts +7 -2
  49. package/lib/commonjs/mol-geo/geometry/overpaint-data.js +10 -1
  50. package/lib/commonjs/mol-geo/geometry/overpaint-data.js.map +1 -1
  51. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +0 -1
  52. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.d.ts +7 -3
  53. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js +162 -27
  54. package/lib/commonjs/mol-geo/geometry/texture-mesh/color-smoothing.js.map +1 -1
  55. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +3 -1
  56. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -1
  57. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js.map +1 -1
  58. package/lib/commonjs/mol-geo/geometry/transparency-data.d.ts +7 -2
  59. package/lib/commonjs/mol-geo/geometry/transparency-data.js +10 -1
  60. package/lib/commonjs/mol-geo/geometry/transparency-data.js.map +1 -1
  61. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +3 -3
  62. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js.map +1 -1
  63. package/lib/commonjs/mol-gl/compute/util.d.ts +25 -6
  64. package/lib/commonjs/mol-gl/compute/util.js +76 -21
  65. package/lib/commonjs/mol-gl/compute/util.js.map +1 -1
  66. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +8 -0
  67. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +8 -0
  68. package/lib/commonjs/mol-gl/renderable/image.d.ts +8 -0
  69. package/lib/commonjs/mol-gl/renderable/lines.d.ts +8 -0
  70. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +8 -0
  71. package/lib/commonjs/mol-gl/renderable/points.d.ts +8 -0
  72. package/lib/commonjs/mol-gl/renderable/schema.d.ts +16 -0
  73. package/lib/commonjs/mol-gl/renderable/schema.js +8 -0
  74. package/lib/commonjs/mol-gl/renderable/schema.js.map +1 -1
  75. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +8 -0
  76. package/lib/commonjs/mol-gl/renderable/text.d.ts +8 -0
  77. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +22 -13
  78. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +1 -1
  79. package/lib/commonjs/mol-gl/renderable/texture-mesh.js.map +1 -1
  80. package/lib/commonjs/mol-gl/renderer.d.ts +2 -2
  81. package/lib/commonjs/mol-gl/renderer.js +3 -0
  82. package/lib/commonjs/mol-gl/renderer.js.map +1 -1
  83. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  84. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  85. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js.map +1 -1
  86. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  87. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  88. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js.map +1 -1
  89. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  90. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  91. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js.map +1 -1
  92. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.frag.d.ts +1 -1
  93. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +1 -1
  94. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.frag.js.map +1 -1
  95. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  96. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  97. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js.map +1 -1
  98. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/normalize.frag.d.ts +1 -1
  99. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/normalize.frag.js +1 -1
  100. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/normalize.frag.js.map +1 -1
  101. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  102. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  103. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js.map +1 -1
  104. package/lib/commonjs/mol-gl/shader/mesh.vert.d.ts +1 -1
  105. package/lib/commonjs/mol-gl/shader/mesh.vert.js +1 -1
  106. package/lib/commonjs/mol-gl/shader/mesh.vert.js.map +1 -1
  107. package/lib/commonjs/mol-gl/webgl/extensions.js +1 -5
  108. package/lib/commonjs/mol-gl/webgl/extensions.js.map +1 -1
  109. package/lib/commonjs/mol-gl/webgl/resources.js +1 -1
  110. package/lib/commonjs/mol-gl/webgl/resources.js.map +1 -1
  111. package/lib/commonjs/mol-gl/webgl/vertex-array.d.ts +3 -2
  112. package/lib/commonjs/mol-gl/webgl/vertex-array.js +9 -2
  113. package/lib/commonjs/mol-gl/webgl/vertex-array.js.map +1 -1
  114. package/lib/commonjs/mol-io/common/typed-array.d.ts +1 -1
  115. package/lib/commonjs/mol-io/reader/_spec/sdf.spec.js +51 -0
  116. package/lib/commonjs/mol-io/reader/_spec/sdf.spec.js.map +1 -1
  117. package/lib/commonjs/mol-io/reader/cif/schema/bird.d.ts +2 -2
  118. package/lib/commonjs/mol-io/reader/cif/schema/bird.js +1 -1
  119. package/lib/commonjs/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  120. package/lib/commonjs/mol-io/reader/cif/schema/ccd.js +1 -1
  121. package/lib/commonjs/mol-io/reader/cif/schema/cif-core.d.ts +8 -5
  122. package/lib/commonjs/mol-io/reader/cif/schema/cif-core.js +15 -5
  123. package/lib/commonjs/mol-io/reader/cif/schema/cif-core.js.map +1 -1
  124. package/lib/commonjs/mol-io/reader/cif/schema/density-server.d.ts +2 -2
  125. package/lib/commonjs/mol-io/reader/cif/schema/mmcif-extras.d.ts +1 -1
  126. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +14 -14
  127. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +1 -1
  128. package/lib/commonjs/mol-io/reader/ply/schema.d.ts +1 -1
  129. package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.d.ts +9 -0
  130. package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.js +91 -0
  131. package/lib/commonjs/mol-io/reader/sdf/parser-v3-util.js.map +1 -0
  132. package/lib/commonjs/mol-io/reader/sdf/parser.d.ts +1 -1
  133. package/lib/commonjs/mol-io/reader/sdf/parser.js +12 -4
  134. package/lib/commonjs/mol-io/reader/sdf/parser.js.map +1 -1
  135. package/lib/commonjs/mol-model/loci.d.ts +30 -30
  136. package/lib/commonjs/mol-model/shape/shape.d.ts +1 -1
  137. package/lib/commonjs/mol-model/structure/structure/properties.d.ts +2 -2
  138. package/lib/commonjs/mol-model/structure/structure/properties.js +5 -5
  139. package/lib/commonjs/mol-model/structure/structure/properties.js.map +1 -1
  140. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +8 -8
  141. package/lib/commonjs/mol-model-formats/structure/basic/schema.d.ts +5 -5
  142. package/lib/commonjs/mol-model-formats/structure/common/component.d.ts +5 -5
  143. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +1 -1
  144. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +1 -1
  145. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +3 -3
  146. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +4 -4
  147. package/lib/commonjs/mol-model-props/sequence/themes/best-database-mapping.d.ts +12 -12
  148. package/lib/commonjs/mol-plugin/behavior/behavior.d.ts +1 -1
  149. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.d.ts +2 -2
  150. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +4 -4
  151. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +4 -4
  152. package/lib/commonjs/mol-plugin/commands.d.ts +2 -2
  153. package/lib/commonjs/mol-plugin/config.d.ts +1 -1
  154. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +6 -6
  155. package/lib/commonjs/mol-plugin-state/actions/file.js +4 -2
  156. package/lib/commonjs/mol-plugin-state/actions/file.js.map +1 -1
  157. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +1 -1
  158. package/lib/commonjs/mol-plugin-state/animation/built-in/model-index.d.ts +3 -3
  159. package/lib/commonjs/mol-plugin-state/animation/helpers.d.ts +5 -5
  160. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +4 -4
  161. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +4 -4
  162. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +10 -10
  163. package/lib/commonjs/mol-plugin-state/formats/volume.d.ts +8 -8
  164. package/lib/commonjs/mol-plugin-state/formats/volume.js +1 -0
  165. package/lib/commonjs/mol-plugin-state/formats/volume.js.map +1 -1
  166. package/lib/commonjs/mol-plugin-state/helpers/root-structure.d.ts +4 -4
  167. package/lib/commonjs/mol-plugin-state/helpers/structure-component.d.ts +2 -2
  168. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.d.ts +1 -1
  169. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +14 -3
  170. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js.map +1 -1
  171. package/lib/commonjs/mol-plugin-state/manager/interactivity.d.ts +1 -1
  172. package/lib/commonjs/mol-plugin-state/manager/snapshots.js +2 -1
  173. package/lib/commonjs/mol-plugin-state/manager/snapshots.js.map +1 -1
  174. package/lib/commonjs/mol-plugin-state/manager/structure/selection.d.ts +2 -2
  175. package/lib/commonjs/mol-plugin-state/transforms/data.d.ts +1 -1
  176. package/lib/commonjs/mol-plugin-state/transforms/model.d.ts +6 -6
  177. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +8 -8
  178. package/lib/commonjs/mol-plugin-state/transforms/representation.js +40 -14
  179. package/lib/commonjs/mol-plugin-state/transforms/representation.js.map +1 -1
  180. package/lib/commonjs/mol-plugin-ui/sequence/polymer.d.ts +1 -1
  181. package/lib/commonjs/mol-plugin-ui/state/common.js +10 -9
  182. package/lib/commonjs/mol-plugin-ui/state/common.js.map +1 -1
  183. package/lib/commonjs/mol-plugin-ui/state/snapshots.js +10 -8
  184. package/lib/commonjs/mol-plugin-ui/state/snapshots.js.map +1 -1
  185. package/lib/commonjs/mol-plugin-ui/structure/selection.js +2 -1
  186. package/lib/commonjs/mol-plugin-ui/structure/selection.js.map +1 -1
  187. package/lib/commonjs/mol-repr/representation.d.ts +9 -0
  188. package/lib/commonjs/mol-repr/representation.js +43 -4
  189. package/lib/commonjs/mol-repr/representation.js.map +1 -1
  190. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +1 -1
  191. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +2 -2
  192. package/lib/commonjs/mol-repr/shape/representation.js +5 -0
  193. package/lib/commonjs/mol-repr/shape/representation.js.map +1 -1
  194. package/lib/commonjs/mol-repr/structure/complex-representation.js +11 -4
  195. package/lib/commonjs/mol-repr/structure/complex-representation.js.map +1 -1
  196. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +7 -7
  197. package/lib/commonjs/mol-repr/structure/complex-visual.js +11 -5
  198. package/lib/commonjs/mol-repr/structure/complex-visual.js.map +1 -1
  199. package/lib/commonjs/mol-repr/structure/params.d.ts +3 -3
  200. package/lib/commonjs/mol-repr/structure/registry.d.ts +26 -26
  201. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +3 -3
  202. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +9 -9
  203. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +3 -3
  204. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +6 -6
  205. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +9 -9
  206. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +9 -9
  207. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +6 -6
  208. package/lib/commonjs/mol-repr/structure/representation/label.d.ts +3 -3
  209. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +9 -9
  210. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +9 -9
  211. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +3 -3
  212. package/lib/commonjs/mol-repr/structure/representation/point.d.ts +3 -3
  213. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +3 -3
  214. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +3 -3
  215. package/lib/commonjs/mol-repr/structure/units-representation.js +15 -15
  216. package/lib/commonjs/mol-repr/structure/units-representation.js.map +1 -1
  217. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +9 -9
  218. package/lib/commonjs/mol-repr/structure/units-visual.js +11 -5
  219. package/lib/commonjs/mol-repr/structure/units-visual.js.map +1 -1
  220. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +6 -6
  221. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +3 -3
  222. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +6 -6
  223. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +3 -3
  224. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +1 -1
  225. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -1
  226. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +1 -1
  227. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +1 -1
  228. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +1 -1
  229. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +2 -2
  230. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -1
  231. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +4 -4
  232. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +12 -12
  233. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +14 -12
  234. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js.map +1 -1
  235. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -1
  236. package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +1 -1
  237. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +3 -3
  238. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +5 -4
  239. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js.map +1 -1
  240. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -1
  241. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -1
  242. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -1
  243. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -1
  244. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -2
  245. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -2
  246. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -1
  247. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -1
  248. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +4 -4
  249. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -1
  250. package/lib/commonjs/mol-repr/structure/visual/util/bond.d.ts +16 -16
  251. package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +1 -1
  252. package/lib/commonjs/mol-repr/structure/visual/util/element.d.ts +4 -4
  253. package/lib/commonjs/mol-repr/structure/visual/util/polymer.d.ts +2 -2
  254. package/lib/commonjs/mol-repr/visual.d.ts +21 -13
  255. package/lib/commonjs/mol-repr/visual.js +53 -6
  256. package/lib/commonjs/mol-repr/visual.js.map +1 -1
  257. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +5 -5
  258. package/lib/commonjs/mol-repr/volume/registry.d.ts +3 -3
  259. package/lib/commonjs/mol-repr/volume/representation.d.ts +1 -1
  260. package/lib/commonjs/mol-repr/volume/representation.js +12 -3
  261. package/lib/commonjs/mol-repr/volume/representation.js.map +1 -1
  262. package/lib/commonjs/mol-repr/volume/slice.d.ts +6 -6
  263. package/lib/commonjs/mol-state/state.js +7 -5
  264. package/lib/commonjs/mol-state/state.js.map +1 -1
  265. package/lib/commonjs/mol-task/execution/observable.js +1 -5
  266. package/lib/commonjs/mol-task/execution/observable.js.map +1 -1
  267. package/lib/commonjs/mol-theme/color/atom-id.d.ts +12 -12
  268. package/lib/commonjs/mol-theme/color/chain-id.d.ts +12 -12
  269. package/lib/commonjs/mol-theme/color/element-index.d.ts +12 -12
  270. package/lib/commonjs/mol-theme/color/element-symbol.d.ts +12 -12
  271. package/lib/commonjs/mol-theme/color/entity-id.d.ts +12 -12
  272. package/lib/commonjs/mol-theme/color/entity-source.d.ts +12 -12
  273. package/lib/commonjs/mol-theme/color/illustrative.d.ts +12 -12
  274. package/lib/commonjs/mol-theme/color/model-index.d.ts +12 -12
  275. package/lib/commonjs/mol-theme/color/operator-hkl.d.ts +12 -12
  276. package/lib/commonjs/mol-theme/color/operator-name.d.ts +12 -12
  277. package/lib/commonjs/mol-theme/color/polymer-id.d.ts +12 -12
  278. package/lib/commonjs/mol-theme/color/polymer-index.d.ts +12 -12
  279. package/lib/commonjs/mol-theme/color/unit-index.d.ts +12 -12
  280. package/lib/commonjs/mol-theme/color.d.ts +78 -78
  281. package/lib/commonjs/mol-util/color/lists.d.ts +3 -3
  282. package/lib/commonjs/mol-util/color/palette.d.ts +13 -13
  283. package/lib/commonjs/mol-util/color/scale.d.ts +1 -1
  284. package/lib/commonjs/servers/model/config.d.ts +2 -2
  285. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +3 -3
  286. package/lib/extensions/geo-export/controls.js +1 -1
  287. package/lib/extensions/geo-export/controls.js.map +1 -1
  288. package/lib/extensions/geo-export/glb-exporter.d.ts +1 -0
  289. package/lib/extensions/geo-export/glb-exporter.js +27 -17
  290. package/lib/extensions/geo-export/glb-exporter.js.map +1 -1
  291. package/lib/extensions/geo-export/mesh-exporter.d.ts +31 -2
  292. package/lib/extensions/geo-export/mesh-exporter.js +87 -15
  293. package/lib/extensions/geo-export/mesh-exporter.js.map +1 -1
  294. package/lib/extensions/geo-export/obj-exporter.d.ts +1 -0
  295. package/lib/extensions/geo-export/obj-exporter.js +24 -15
  296. package/lib/extensions/geo-export/obj-exporter.js.map +1 -1
  297. package/lib/extensions/geo-export/ui.js +24 -20
  298. package/lib/extensions/geo-export/ui.js.map +1 -1
  299. package/lib/extensions/geo-export/usdz-exporter.d.ts +1 -0
  300. package/lib/extensions/geo-export/usdz-exporter.js +26 -16
  301. package/lib/extensions/geo-export/usdz-exporter.js.map +1 -1
  302. package/lib/extensions/mp4-export/controls.js +1 -1
  303. package/lib/extensions/mp4-export/controls.js.map +1 -1
  304. package/lib/extensions/mp4-export/ui.js +7 -6
  305. package/lib/extensions/mp4-export/ui.js.map +1 -1
  306. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +3 -3
  307. package/lib/extensions/rcsb/graphql/types.d.ts +22 -21
  308. package/lib/extensions/rcsb/validation-report/representation.d.ts +5 -5
  309. package/lib/mol-canvas3d/canvas3d.d.ts +4 -4
  310. package/lib/mol-canvas3d/helper/camera-helper.d.ts +2 -2
  311. package/lib/mol-canvas3d/passes/draw.js +3 -11
  312. package/lib/mol-canvas3d/passes/draw.js.map +1 -1
  313. package/lib/mol-canvas3d/passes/image.d.ts +2 -2
  314. package/lib/mol-data/int/impl/ordered-set.d.ts +3 -3
  315. package/lib/mol-data/int/impl/sorted-array.d.ts +1 -1
  316. package/lib/mol-geo/geometry/base.d.ts +13 -1
  317. package/lib/mol-geo/geometry/base.js +34 -1
  318. package/lib/mol-geo/geometry/base.js.map +1 -1
  319. package/lib/mol-geo/geometry/image/image.d.ts +2 -2
  320. package/lib/mol-geo/geometry/mesh/color-smoothing.d.ts +10 -3
  321. package/lib/mol-geo/geometry/mesh/color-smoothing.js +150 -34
  322. package/lib/mol-geo/geometry/mesh/color-smoothing.js.map +1 -1
  323. package/lib/mol-geo/geometry/overpaint-data.d.ts +7 -2
  324. package/lib/mol-geo/geometry/overpaint-data.js +11 -2
  325. package/lib/mol-geo/geometry/overpaint-data.js.map +1 -1
  326. package/lib/mol-geo/geometry/points/points.d.ts +2 -2
  327. package/lib/mol-geo/geometry/spheres/spheres.d.ts +0 -1
  328. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.d.ts +7 -3
  329. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js +158 -26
  330. package/lib/mol-geo/geometry/texture-mesh/color-smoothing.js.map +1 -1
  331. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +3 -1
  332. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -1
  333. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js.map +1 -1
  334. package/lib/mol-geo/geometry/transparency-data.d.ts +7 -2
  335. package/lib/mol-geo/geometry/transparency-data.js +11 -2
  336. package/lib/mol-geo/geometry/transparency-data.js.map +1 -1
  337. package/lib/mol-gl/compute/copy.d.ts +20 -0
  338. package/lib/mol-gl/compute/copy.js +24 -0
  339. package/lib/mol-gl/compute/copy.js.map +1 -0
  340. package/lib/mol-gl/compute/marching-cubes/isosurface.js +3 -3
  341. package/lib/mol-gl/compute/marching-cubes/isosurface.js.map +1 -1
  342. package/lib/mol-gl/compute/util.d.ts +25 -6
  343. package/lib/mol-gl/compute/util.js +74 -21
  344. package/lib/mol-gl/compute/util.js.map +1 -1
  345. package/lib/mol-gl/renderable/cylinders.d.ts +8 -0
  346. package/lib/mol-gl/renderable/direct-volume.d.ts +8 -0
  347. package/lib/mol-gl/renderable/image.d.ts +8 -0
  348. package/lib/mol-gl/renderable/lines.d.ts +8 -0
  349. package/lib/mol-gl/renderable/mesh.d.ts +8 -0
  350. package/lib/mol-gl/renderable/points.d.ts +8 -0
  351. package/lib/mol-gl/renderable/schema.d.ts +16 -0
  352. package/lib/mol-gl/renderable/schema.js +8 -0
  353. package/lib/mol-gl/renderable/schema.js.map +1 -1
  354. package/lib/mol-gl/renderable/spheres.d.ts +8 -0
  355. package/lib/mol-gl/renderable/text.d.ts +8 -0
  356. package/lib/mol-gl/renderable/texture-mesh.d.ts +22 -13
  357. package/lib/mol-gl/renderable/texture-mesh.js +2 -2
  358. package/lib/mol-gl/renderable/texture-mesh.js.map +1 -1
  359. package/lib/mol-gl/renderer.d.ts +2 -2
  360. package/lib/mol-gl/renderer.js +3 -0
  361. package/lib/mol-gl/renderer.js.map +1 -1
  362. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  363. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  364. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js.map +1 -1
  365. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  366. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  367. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js.map +1 -1
  368. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  369. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  370. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js.map +1 -1
  371. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.frag.d.ts +1 -1
  372. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.frag.js +1 -1
  373. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.frag.js.map +1 -1
  374. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  375. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  376. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js.map +1 -1
  377. package/lib/mol-gl/shader/compute/color-smoothing/normalize.frag.d.ts +1 -1
  378. package/lib/mol-gl/shader/compute/color-smoothing/normalize.frag.js +1 -1
  379. package/lib/mol-gl/shader/compute/color-smoothing/normalize.frag.js.map +1 -1
  380. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  381. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  382. package/lib/mol-gl/shader/direct-volume.frag.js.map +1 -1
  383. package/lib/mol-gl/shader/mesh.vert.d.ts +1 -1
  384. package/lib/mol-gl/shader/mesh.vert.js +1 -1
  385. package/lib/mol-gl/shader/mesh.vert.js.map +1 -1
  386. package/lib/mol-gl/webgl/extensions.js +2 -6
  387. package/lib/mol-gl/webgl/extensions.js.map +1 -1
  388. package/lib/mol-gl/webgl/render-item.d.ts +1 -1
  389. package/lib/mol-gl/webgl/resources.js +1 -1
  390. package/lib/mol-gl/webgl/resources.js.map +1 -1
  391. package/lib/mol-gl/webgl/vertex-array.d.ts +3 -2
  392. package/lib/mol-gl/webgl/vertex-array.js +9 -2
  393. package/lib/mol-gl/webgl/vertex-array.js.map +1 -1
  394. package/lib/mol-io/common/typed-array.d.ts +1 -1
  395. package/lib/mol-io/reader/_spec/sdf.spec.js +51 -0
  396. package/lib/mol-io/reader/_spec/sdf.spec.js.map +1 -1
  397. package/lib/mol-io/reader/cif/schema/bird.d.ts +2 -2
  398. package/lib/mol-io/reader/cif/schema/bird.js +1 -1
  399. package/lib/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  400. package/lib/mol-io/reader/cif/schema/ccd.js +1 -1
  401. package/lib/mol-io/reader/cif/schema/cif-core.d.ts +8 -5
  402. package/lib/mol-io/reader/cif/schema/cif-core.js +15 -5
  403. package/lib/mol-io/reader/cif/schema/cif-core.js.map +1 -1
  404. package/lib/mol-io/reader/cif/schema/mmcif-extras.d.ts +1 -1
  405. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +13 -13
  406. package/lib/mol-io/reader/cif/schema/mmcif.js +1 -1
  407. package/lib/mol-io/reader/ply/schema.d.ts +1 -1
  408. package/lib/mol-io/reader/sdf/parser-v3-util.d.ts +9 -0
  409. package/lib/mol-io/reader/sdf/parser-v3-util.js +84 -0
  410. package/lib/mol-io/reader/sdf/parser-v3-util.js.map +1 -0
  411. package/lib/mol-io/reader/sdf/parser.d.ts +1 -1
  412. package/lib/mol-io/reader/sdf/parser.js +12 -4
  413. package/lib/mol-io/reader/sdf/parser.js.map +1 -1
  414. package/lib/mol-model/loci.d.ts +20 -20
  415. package/lib/mol-model/shape/shape.d.ts +1 -1
  416. package/lib/mol-model/structure/structure/properties.d.ts +2 -2
  417. package/lib/mol-model/structure/structure/properties.js +5 -5
  418. package/lib/mol-model/structure/structure/properties.js.map +1 -1
  419. package/lib/mol-model/structure/structure/unit.d.ts +2 -2
  420. package/lib/mol-model-formats/shape/ply.d.ts +8 -8
  421. package/lib/mol-model-formats/structure/basic/schema.d.ts +5 -5
  422. package/lib/mol-model-formats/structure/common/component.d.ts +5 -5
  423. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +1 -1
  424. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +1 -1
  425. package/lib/mol-model-props/computed/representations/interactions.d.ts +3 -3
  426. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +4 -4
  427. package/lib/mol-plugin/behavior/dynamic/representation.d.ts +2 -2
  428. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +1 -1
  429. package/lib/mol-plugin/behavior/dynamic/volume-streaming/behavior.d.ts +10 -10
  430. package/lib/mol-plugin/behavior/dynamic/volume-streaming/transformers.d.ts +5 -5
  431. package/lib/mol-plugin/commands.d.ts +2 -2
  432. package/lib/mol-plugin/layout.d.ts +4 -4
  433. package/lib/mol-plugin/util/viewport-screenshot.d.ts +6 -6
  434. package/lib/mol-plugin/version.js +2 -2
  435. package/lib/mol-plugin-state/actions/file.js +4 -2
  436. package/lib/mol-plugin-state/actions/file.js.map +1 -1
  437. package/lib/mol-plugin-state/animation/built-in/model-index.d.ts +3 -3
  438. package/lib/mol-plugin-state/animation/helpers.d.ts +5 -5
  439. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +2 -2
  440. package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +2 -2
  441. package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +7 -7
  442. package/lib/mol-plugin-state/formats/volume.d.ts +4 -4
  443. package/lib/mol-plugin-state/formats/volume.js +1 -0
  444. package/lib/mol-plugin-state/formats/volume.js.map +1 -1
  445. package/lib/mol-plugin-state/helpers/root-structure.d.ts +2 -2
  446. package/lib/mol-plugin-state/helpers/structure-component.d.ts +1 -1
  447. package/lib/mol-plugin-state/helpers/structure-selection-query.d.ts +1 -1
  448. package/lib/mol-plugin-state/helpers/structure-selection-query.js +14 -3
  449. package/lib/mol-plugin-state/helpers/structure-selection-query.js.map +1 -1
  450. package/lib/mol-plugin-state/manager/interactivity.d.ts +1 -1
  451. package/lib/mol-plugin-state/manager/snapshots.js +2 -1
  452. package/lib/mol-plugin-state/manager/snapshots.js.map +1 -1
  453. package/lib/mol-plugin-state/manager/structure/component.d.ts +2 -2
  454. package/lib/mol-plugin-state/transforms/data.d.ts +1 -1
  455. package/lib/mol-plugin-state/transforms/model.d.ts +4 -4
  456. package/lib/mol-plugin-state/transforms/representation.d.ts +8 -8
  457. package/lib/mol-plugin-state/transforms/representation.js +41 -15
  458. package/lib/mol-plugin-state/transforms/representation.js.map +1 -1
  459. package/lib/mol-plugin-ui/state/common.js +10 -9
  460. package/lib/mol-plugin-ui/state/common.js.map +1 -1
  461. package/lib/mol-plugin-ui/state/snapshots.js +10 -8
  462. package/lib/mol-plugin-ui/state/snapshots.js.map +1 -1
  463. package/lib/mol-plugin-ui/structure/selection.d.ts +1 -1
  464. package/lib/mol-plugin-ui/structure/selection.js +2 -1
  465. package/lib/mol-plugin-ui/structure/selection.js.map +1 -1
  466. package/lib/mol-repr/representation.d.ts +9 -0
  467. package/lib/mol-repr/representation.js +43 -4
  468. package/lib/mol-repr/representation.js.map +1 -1
  469. package/lib/mol-repr/shape/loci/distance.d.ts +1 -1
  470. package/lib/mol-repr/shape/loci/orientation.d.ts +1 -1
  471. package/lib/mol-repr/shape/model/unitcell.d.ts +1 -1
  472. package/lib/mol-repr/shape/representation.js +5 -0
  473. package/lib/mol-repr/shape/representation.js.map +1 -1
  474. package/lib/mol-repr/structure/complex-representation.js +11 -4
  475. package/lib/mol-repr/structure/complex-representation.js.map +1 -1
  476. package/lib/mol-repr/structure/complex-visual.d.ts +6 -6
  477. package/lib/mol-repr/structure/complex-visual.js +11 -5
  478. package/lib/mol-repr/structure/complex-visual.js.map +1 -1
  479. package/lib/mol-repr/structure/params.d.ts +3 -3
  480. package/lib/mol-repr/structure/registry.d.ts +31 -31
  481. package/lib/mol-repr/structure/representation/backbone.d.ts +3 -3
  482. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +12 -12
  483. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +3 -3
  484. package/lib/mol-repr/structure/representation/cartoon.d.ts +6 -6
  485. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +12 -12
  486. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +9 -9
  487. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +3 -3
  488. package/lib/mol-repr/structure/representation/label.d.ts +6 -6
  489. package/lib/mol-repr/structure/representation/line.d.ts +15 -15
  490. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +9 -9
  491. package/lib/mol-repr/structure/representation/orientation.d.ts +3 -3
  492. package/lib/mol-repr/structure/representation/point.d.ts +6 -6
  493. package/lib/mol-repr/structure/representation/putty.d.ts +3 -3
  494. package/lib/mol-repr/structure/representation/spacefill.d.ts +3 -3
  495. package/lib/mol-repr/structure/units-representation.js +15 -15
  496. package/lib/mol-repr/structure/units-representation.js.map +1 -1
  497. package/lib/mol-repr/structure/units-visual.d.ts +9 -9
  498. package/lib/mol-repr/structure/units-visual.js +11 -5
  499. package/lib/mol-repr/structure/units-visual.js.map +1 -1
  500. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +8 -8
  501. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +4 -4
  502. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +8 -8
  503. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +4 -4
  504. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +1 -1
  505. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -1
  506. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +1 -1
  507. package/lib/mol-repr/structure/visual/element-cross.d.ts +1 -1
  508. package/lib/mol-repr/structure/visual/element-point.d.ts +2 -2
  509. package/lib/mol-repr/structure/visual/element-sphere.d.ts +2 -2
  510. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -1
  511. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +2 -2
  512. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +12 -12
  513. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +9 -7
  514. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js.map +1 -1
  515. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +1 -1
  516. package/lib/mol-repr/structure/visual/label-text.d.ts +2 -2
  517. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +3 -3
  518. package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +3 -2
  519. package/lib/mol-repr/structure/visual/molecular-surface-mesh.js.map +1 -1
  520. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +1 -1
  521. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -1
  522. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -1
  523. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -1
  524. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +2 -2
  525. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -2
  526. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -1
  527. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -1
  528. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +4 -4
  529. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -1
  530. package/lib/mol-repr/structure/visual/util/bond.d.ts +18 -18
  531. package/lib/mol-repr/structure/visual/util/common.d.ts +2 -2
  532. package/lib/mol-repr/visual.d.ts +21 -13
  533. package/lib/mol-repr/visual.js +53 -6
  534. package/lib/mol-repr/visual.js.map +1 -1
  535. package/lib/mol-repr/volume/direct-volume.d.ts +2 -2
  536. package/lib/mol-repr/volume/registry.d.ts +2 -2
  537. package/lib/mol-repr/volume/representation.d.ts +1 -1
  538. package/lib/mol-repr/volume/representation.js +12 -3
  539. package/lib/mol-repr/volume/representation.js.map +1 -1
  540. package/lib/mol-repr/volume/slice.d.ts +6 -6
  541. package/lib/mol-state/state.js +7 -5
  542. package/lib/mol-state/state.js.map +1 -1
  543. package/lib/mol-task/execution/observable.js +1 -5
  544. package/lib/mol-task/execution/observable.js.map +1 -1
  545. package/lib/mol-theme/color/element-symbol.d.ts +4 -4
  546. package/lib/mol-theme/color.d.ts +2 -2
  547. package/lib/mol-util/color/palette.d.ts +1 -1
  548. package/lib/mol-util/color/scale.d.ts +1 -1
  549. package/lib/tsconfig.commonjs.tsbuildinfo +1 -1
  550. package/package.json +26 -26
@@ -16,6 +16,7 @@ import { Vec2, Vec3, Vec4 } from '../../../mol-math/linear-algebra';
16
16
  import { Box3D } from '../../../mol-math/geometry';
17
17
  import { accumulate_frag } from '../../../mol-gl/shader/compute/color-smoothing/accumulate.frag';
18
18
  import { accumulate_vert } from '../../../mol-gl/shader/compute/color-smoothing/accumulate.vert';
19
+ import { isWebGL2 } from '../../../mol-gl/webgl/compat';
19
20
  export var ColorAccumulateSchema = {
20
21
  drawCount: ValueSpec('number'),
21
22
  instanceCount: ValueSpec('number'),
@@ -30,7 +31,7 @@ export var ColorAccumulateSchema = {
30
31
  tPosition: TextureSpec('texture', 'rgba', 'float', 'nearest'),
31
32
  tGroup: TextureSpec('texture', 'rgba', 'float', 'nearest'),
32
33
  uColorTexDim: UniformSpec('v2'),
33
- tColor: TextureSpec('image-uint8', 'rgb', 'ubyte', 'nearest'),
34
+ tColor: TextureSpec('texture', 'rgba', 'ubyte', 'nearest'),
34
35
  dColorType: DefineSpec('string', ['group', 'groupInstance', 'vertex', 'vertexInstance']),
35
36
  uCurrentSlice: UniformSpec('f'),
36
37
  uCurrentX: UniformSpec('f'),
@@ -40,6 +41,7 @@ export var ColorAccumulateSchema = {
40
41
  uResolution: UniformSpec('f', 'material'),
41
42
  };
42
43
  var ColorAccumulateName = 'color-accumulate';
44
+ var ColorCountName = 'color-count';
43
45
  function getSampleBuffer(sampleCount, stride) {
44
46
  var sampleBuffer = new Float32Array(sampleCount);
45
47
  for (var i = 0; i < sampleCount; ++i) {
@@ -66,7 +68,7 @@ function getAccumulateRenderable(ctx, input, box, resolution, stride) {
66
68
  ValueCell.update(v.uGeoTexDim, Vec2.set(v.uGeoTexDim.ref.value, input.positionTexture.getWidth(), input.positionTexture.getHeight()));
67
69
  ValueCell.update(v.tPosition, input.positionTexture);
68
70
  ValueCell.update(v.tGroup, input.groupTexture);
69
- ValueCell.update(v.uColorTexDim, Vec2.set(v.uColorTexDim.ref.value, input.colorData.width, input.colorData.height));
71
+ ValueCell.update(v.uColorTexDim, Vec2.set(v.uColorTexDim.ref.value, input.colorData.getWidth(), input.colorData.getHeight()));
70
72
  ValueCell.update(v.tColor, input.colorData);
71
73
  ValueCell.updateIfChanged(v.dColorType, input.colorType);
72
74
  ValueCell.updateIfChanged(v.uCurrentSlice, 0);
@@ -98,7 +100,7 @@ function createAccumulateRenderable(ctx, input, box, resolution, stride) {
98
100
  uGeoTexDim: ValueCell.create(Vec2.create(input.positionTexture.getWidth(), input.positionTexture.getHeight())),
99
101
  tPosition: ValueCell.create(input.positionTexture),
100
102
  tGroup: ValueCell.create(input.groupTexture),
101
- uColorTexDim: ValueCell.create(Vec2.create(input.colorData.width, input.colorData.height)),
103
+ uColorTexDim: ValueCell.create(Vec2.create(input.colorData.getWidth(), input.colorData.getHeight())),
102
104
  tColor: ValueCell.create(input.colorData),
103
105
  dColorType: ValueCell.create(input.colorType),
104
106
  uCurrentSlice: ValueCell.create(0),
@@ -109,7 +111,7 @@ function createAccumulateRenderable(ctx, input, box, resolution, stride) {
109
111
  uResolution: ValueCell.create(resolution),
110
112
  };
111
113
  var schema = __assign({}, ColorAccumulateSchema);
112
- var shaderCode = ShaderCode('accumulate', accumulate_vert, accumulate_frag);
114
+ var shaderCode = ShaderCode('accumulate', accumulate_vert, accumulate_frag, { drawBuffers: 'required' });
113
115
  var renderItem = createComputeRenderItem(ctx, 'points', shaderCode, schema, values);
114
116
  return createComputeRenderable(renderItem, values);
115
117
  }
@@ -125,22 +127,23 @@ function setAccumulateDefaults(ctx) {
125
127
  state.blendEquation(gl.FUNC_ADD);
126
128
  }
127
129
  //
128
- export var ColorNormalizeSchema = __assign(__assign({}, QuadSchema), { tColor: TextureSpec('texture', 'rgba', 'float', 'nearest'), uTexSize: UniformSpec('v2') });
130
+ export var ColorNormalizeSchema = __assign(__assign({}, QuadSchema), { tColor: TextureSpec('texture', 'rgba', 'float', 'nearest'), tCount: TextureSpec('texture', 'alpha', 'float', 'nearest'), uTexSize: UniformSpec('v2') });
129
131
  var ColorNormalizeName = 'color-normalize';
130
- function getNormalizeRenderable(ctx, color) {
132
+ function getNormalizeRenderable(ctx, color, count) {
131
133
  if (ctx.namedComputeRenderables[ColorNormalizeName]) {
132
134
  var v = ctx.namedComputeRenderables[ColorNormalizeName].values;
133
135
  ValueCell.update(v.tColor, color);
136
+ ValueCell.update(v.tCount, count);
134
137
  ValueCell.update(v.uTexSize, Vec2.set(v.uTexSize.ref.value, color.getWidth(), color.getHeight()));
135
138
  ctx.namedComputeRenderables[ColorNormalizeName].update();
136
139
  }
137
140
  else {
138
- ctx.namedComputeRenderables[ColorNormalizeName] = createColorNormalizeRenderable(ctx, color);
141
+ ctx.namedComputeRenderables[ColorNormalizeName] = createColorNormalizeRenderable(ctx, color, count);
139
142
  }
140
143
  return ctx.namedComputeRenderables[ColorNormalizeName];
141
144
  }
142
- function createColorNormalizeRenderable(ctx, color) {
143
- var values = __assign(__assign({}, QuadValues), { tColor: ValueCell.create(color), uTexSize: ValueCell.create(Vec2.create(color.getWidth(), color.getHeight())) });
145
+ function createColorNormalizeRenderable(ctx, color, count) {
146
+ var values = __assign(__assign({}, QuadValues), { tColor: ValueCell.create(color), tCount: ValueCell.create(count), uTexSize: ValueCell.create(Vec2.create(color.getWidth(), color.getHeight())) });
144
147
  var schema = __assign({}, ColorNormalizeSchema);
145
148
  var shaderCode = ShaderCode('normalize', quad_vert, normalize_frag);
146
149
  var renderItem = createComputeRenderItem(ctx, 'triangles', shaderCode, schema, values);
@@ -179,6 +182,9 @@ function getTexture2dSize(gridDim) {
179
182
  return { texDimX: texDimX, texDimY: texDimY, texRows: texRows, texCols: texCols, powerOfTwoSize: texDimY < powerOfTwoSize ? powerOfTwoSize : powerOfTwoSize * 2 };
180
183
  }
181
184
  export function calcTextureMeshColorSmoothing(input, resolution, stride, webgl, texture) {
185
+ var drawBuffers = webgl.extensions.drawBuffers;
186
+ if (!drawBuffers)
187
+ throw new Error('need WebGL draw buffers');
182
188
  var gl = webgl.gl, resources = webgl.resources, state = webgl.state, _a = webgl.extensions, colorBufferHalfFloat = _a.colorBufferHalfFloat, textureHalfFloat = _a.textureHalfFloat;
183
189
  var isInstanceType = input.colorType.endsWith('Instance');
184
190
  var box = Box3D.fromSphere3D(Box3D(), isInstanceType ? input.boundingSphere : input.invariantBoundingSphere);
@@ -191,24 +197,45 @@ export function calcTextureMeshColorSmoothing(input, resolution, stride, webgl,
191
197
  var dx = gridDim[0], dy = gridDim[1], dz = gridDim[2];
192
198
  var _b = getTexture2dSize(gridDim), width = _b.texDimX, height = _b.texDimY, texCols = _b.texCols;
193
199
  // console.log({ width, height, texCols, dim, resolution });
194
- if (!webgl.namedTextures[ColorAccumulateName]) {
195
- webgl.namedTextures[ColorAccumulateName] = colorBufferHalfFloat && textureHalfFloat
196
- ? resources.texture('image-float16', 'rgba', 'fp16', 'nearest')
197
- : resources.texture('image-float32', 'rgba', 'float', 'nearest');
198
- }
199
- var accumulateTexture = webgl.namedTextures[ColorAccumulateName];
200
- accumulateTexture.define(width, height);
201
- var accumulateRenderable = getAccumulateRenderable(webgl, input, box, resolution, stride);
202
- //
203
- var _c = accumulateRenderable.values, uCurrentSlice = _c.uCurrentSlice, uCurrentX = _c.uCurrentX, uCurrentY = _c.uCurrentY;
204
200
  if (!webgl.namedFramebuffers[ColorAccumulateName]) {
205
201
  webgl.namedFramebuffers[ColorAccumulateName] = webgl.resources.framebuffer();
206
202
  }
207
203
  var framebuffer = webgl.namedFramebuffers[ColorAccumulateName];
204
+ if (isWebGL2(gl)) {
205
+ if (!webgl.namedTextures[ColorAccumulateName]) {
206
+ webgl.namedTextures[ColorAccumulateName] = colorBufferHalfFloat && textureHalfFloat
207
+ ? resources.texture('image-float16', 'rgba', 'fp16', 'nearest')
208
+ : resources.texture('image-float32', 'rgba', 'float', 'nearest');
209
+ }
210
+ if (!webgl.namedTextures[ColorCountName]) {
211
+ webgl.namedTextures[ColorCountName] = resources.texture('image-float32', 'alpha', 'float', 'nearest');
212
+ }
213
+ }
214
+ else {
215
+ // in webgl1 drawbuffers must be in the same format for some reason
216
+ // this is quite wasteful but good enough for medium size meshes
217
+ if (!webgl.namedTextures[ColorAccumulateName]) {
218
+ webgl.namedTextures[ColorAccumulateName] = resources.texture('image-float32', 'rgba', 'float', 'nearest');
219
+ }
220
+ if (!webgl.namedTextures[ColorCountName]) {
221
+ webgl.namedTextures[ColorCountName] = resources.texture('image-float32', 'rgba', 'float', 'nearest');
222
+ }
223
+ }
224
+ var accumulateTexture = webgl.namedTextures[ColorAccumulateName];
225
+ var countTexture = webgl.namedTextures[ColorCountName];
226
+ accumulateTexture.define(width, height);
227
+ countTexture.define(width, height);
228
+ accumulateTexture.attachFramebuffer(framebuffer, 0);
229
+ countTexture.attachFramebuffer(framebuffer, 1);
230
+ var accumulateRenderable = getAccumulateRenderable(webgl, input, box, resolution, stride);
231
+ state.currentRenderItemId = -1;
208
232
  framebuffer.bind();
233
+ drawBuffers.drawBuffers([
234
+ drawBuffers.COLOR_ATTACHMENT0,
235
+ drawBuffers.COLOR_ATTACHMENT1,
236
+ ]);
237
+ var _c = accumulateRenderable.values, uCurrentSlice = _c.uCurrentSlice, uCurrentX = _c.uCurrentX, uCurrentY = _c.uCurrentY;
209
238
  setAccumulateDefaults(webgl);
210
- state.currentRenderItemId = -1;
211
- accumulateTexture.attachFramebuffer(framebuffer, 0);
212
239
  gl.viewport(0, 0, width, height);
213
240
  gl.scissor(0, 0, width, height);
214
241
  gl.clear(gl.COLOR_BUFFER_BIT);
@@ -232,18 +259,26 @@ export function calcTextureMeshColorSmoothing(input, resolution, stride, webgl,
232
259
  ++currCol;
233
260
  currX += dx;
234
261
  }
262
+ accumulateTexture.detachFramebuffer(framebuffer, 0);
263
+ countTexture.detachFramebuffer(framebuffer, 1);
264
+ drawBuffers.drawBuffers([gl.COLOR_ATTACHMENT0, gl.NONE]);
235
265
  // const accImage = new Float32Array(width * height * 4);
236
266
  // accumulateTexture.attachFramebuffer(framebuffer, 0);
237
267
  // webgl.readPixels(0, 0, width, height, accImage);
238
268
  // console.log(accImage);
239
- // printTextureImage({ array: accImage, width, height }, 1 / 4);
269
+ // printTextureImage({ array: accImage, width, height }, { scale: 1 });
270
+ // const cntImage = new Float32Array(width * height * 4);
271
+ // countTexture.attachFramebuffer(framebuffer, 0);
272
+ // webgl.readPixels(0, 0, width, height, cntImage);
273
+ // console.log(cntImage);
274
+ // printTextureImage({ array: cntImage, width, height }, { scale: 1 });
240
275
  // normalize
241
276
  if (!texture)
242
- texture = resources.texture('image-uint8', 'rgb', 'ubyte', 'linear');
277
+ texture = resources.texture('image-uint8', 'rgba', 'ubyte', 'linear');
243
278
  texture.define(width, height);
244
- var normalizeRenderable = getNormalizeRenderable(webgl, accumulateTexture);
245
- setNormalizeDefaults(webgl);
279
+ var normalizeRenderable = getNormalizeRenderable(webgl, accumulateTexture, countTexture);
246
280
  state.currentRenderItemId = -1;
281
+ setNormalizeDefaults(webgl);
247
282
  texture.attachFramebuffer(framebuffer, 0);
248
283
  gl.viewport(0, 0, width, height);
249
284
  gl.scissor(0, 0, width, height);
@@ -253,9 +288,106 @@ export function calcTextureMeshColorSmoothing(input, resolution, stride, webgl,
253
288
  // texture.attachFramebuffer(framebuffer, 0);
254
289
  // webgl.readPixels(0, 0, width, height, normImage);
255
290
  // console.log(normImage);
256
- // printTextureImage({ array: normImage, width, height }, 1 / 4);
291
+ // printTextureImage({ array: normImage, width, height }, { scale: 1 });
257
292
  var gridTransform = Vec4.create(min[0], min[1], min[2], scaleFactor);
258
293
  var type = isInstanceType ? 'volumeInstance' : 'volume';
259
294
  return { texture: texture, gridDim: gridDim, gridTexDim: Vec2.create(width, height), gridTransform: gridTransform, type: type };
260
295
  }
296
+ //
297
+ var ColorSmoothingRgbName = 'color-smoothing-rgb';
298
+ var ColorSmoothingRgbaName = 'color-smoothing-rgba';
299
+ var ColorSmoothingAlphaName = 'color-smoothing-alpha';
300
+ function isSupportedColorType(x) {
301
+ return x === 'group' || x === 'groupInstance';
302
+ }
303
+ export function applyTextureMeshColorSmoothing(values, resolution, stride, webgl, colorTexture) {
304
+ if (!isSupportedColorType(values.dColorType.ref.value))
305
+ return;
306
+ stride *= 3; // triple because TextureMesh is never indexed (no elements buffer)
307
+ if (!webgl.namedTextures[ColorSmoothingRgbName]) {
308
+ webgl.namedTextures[ColorSmoothingRgbName] = webgl.resources.texture('image-uint8', 'rgb', 'ubyte', 'nearest');
309
+ }
310
+ var colorData = webgl.namedTextures[ColorSmoothingRgbName];
311
+ colorData.load(values.tColor.ref.value);
312
+ var smoothingData = calcTextureMeshColorSmoothing({
313
+ vertexCount: values.uVertexCount.ref.value,
314
+ instanceCount: values.uInstanceCount.ref.value,
315
+ groupCount: values.uGroupCount.ref.value,
316
+ transformBuffer: values.aTransform.ref.value,
317
+ instanceBuffer: values.aInstance.ref.value,
318
+ positionTexture: values.tPosition.ref.value,
319
+ groupTexture: values.tGroup.ref.value,
320
+ colorData: colorData,
321
+ colorType: values.dColorType.ref.value,
322
+ boundingSphere: values.boundingSphere.ref.value,
323
+ invariantBoundingSphere: values.invariantBoundingSphere.ref.value,
324
+ }, resolution, stride, webgl, colorTexture);
325
+ ValueCell.updateIfChanged(values.dColorType, smoothingData.type);
326
+ ValueCell.update(values.tColorGrid, smoothingData.texture);
327
+ ValueCell.update(values.uColorTexDim, smoothingData.gridTexDim);
328
+ ValueCell.update(values.uColorGridDim, smoothingData.gridDim);
329
+ ValueCell.update(values.uColorGridTransform, smoothingData.gridTransform);
330
+ }
331
+ function isSupportedOverpaintType(x) {
332
+ return x === 'groupInstance';
333
+ }
334
+ export function applyTextureMeshOverpaintSmoothing(values, resolution, stride, webgl, colorTexture) {
335
+ if (!isSupportedOverpaintType(values.dOverpaintType.ref.value))
336
+ return;
337
+ stride *= 3; // triple because TextureMesh is never indexed (no elements buffer)
338
+ if (!webgl.namedTextures[ColorSmoothingRgbaName]) {
339
+ webgl.namedTextures[ColorSmoothingRgbaName] = webgl.resources.texture('image-uint8', 'rgba', 'ubyte', 'nearest');
340
+ }
341
+ var colorData = webgl.namedTextures[ColorSmoothingRgbaName];
342
+ colorData.load(values.tOverpaint.ref.value);
343
+ var smoothingData = calcTextureMeshColorSmoothing({
344
+ vertexCount: values.uVertexCount.ref.value,
345
+ instanceCount: values.uInstanceCount.ref.value,
346
+ groupCount: values.uGroupCount.ref.value,
347
+ transformBuffer: values.aTransform.ref.value,
348
+ instanceBuffer: values.aInstance.ref.value,
349
+ positionTexture: values.tPosition.ref.value,
350
+ groupTexture: values.tGroup.ref.value,
351
+ colorData: colorData,
352
+ colorType: values.dOverpaintType.ref.value,
353
+ boundingSphere: values.boundingSphere.ref.value,
354
+ invariantBoundingSphere: values.invariantBoundingSphere.ref.value,
355
+ }, resolution, stride, webgl, colorTexture);
356
+ ValueCell.updateIfChanged(values.dOverpaintType, smoothingData.type);
357
+ ValueCell.update(values.tOverpaintGrid, smoothingData.texture);
358
+ ValueCell.update(values.uOverpaintTexDim, smoothingData.gridTexDim);
359
+ ValueCell.update(values.uOverpaintGridDim, smoothingData.gridDim);
360
+ ValueCell.update(values.uOverpaintGridTransform, smoothingData.gridTransform);
361
+ }
362
+ function isSupportedTransparencyType(x) {
363
+ return x === 'groupInstance';
364
+ }
365
+ export function applyTextureMeshTransparencySmoothing(values, resolution, stride, webgl, colorTexture) {
366
+ if (!isSupportedTransparencyType(values.dTransparencyType.ref.value))
367
+ return;
368
+ stride *= 3; // triple because TextureMesh is never indexed (no elements buffer)
369
+ if (!webgl.namedTextures[ColorSmoothingAlphaName]) {
370
+ webgl.namedTextures[ColorSmoothingAlphaName] = webgl.resources.texture('image-uint8', 'alpha', 'ubyte', 'nearest');
371
+ }
372
+ var colorData = webgl.namedTextures[ColorSmoothingAlphaName];
373
+ colorData.load(values.tTransparency.ref.value);
374
+ var smoothingData = calcTextureMeshColorSmoothing({
375
+ vertexCount: values.uVertexCount.ref.value,
376
+ instanceCount: values.uInstanceCount.ref.value,
377
+ groupCount: values.uGroupCount.ref.value,
378
+ transformBuffer: values.aTransform.ref.value,
379
+ instanceBuffer: values.aInstance.ref.value,
380
+ positionTexture: values.tPosition.ref.value,
381
+ groupTexture: values.tGroup.ref.value,
382
+ colorData: colorData,
383
+ colorType: values.dTransparencyType.ref.value,
384
+ boundingSphere: values.boundingSphere.ref.value,
385
+ invariantBoundingSphere: values.invariantBoundingSphere.ref.value,
386
+ }, resolution, stride, webgl, colorTexture);
387
+ ValueCell.updateIfChanged(values.dTransparencyType, smoothingData.type);
388
+ ValueCell.update(values.tTransparencyGrid, smoothingData.texture);
389
+ ValueCell.update(values.uTransparencyTexDim, smoothingData.gridTexDim);
390
+ ValueCell.update(values.uTransparencyGridDim, smoothingData.gridDim);
391
+ ValueCell.update(values.uTransparencyGridTransform, smoothingData.gridTransform);
392
+ }
261
393
  //# sourceMappingURL=color-smoothing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"color-smoothing.js","sourceRoot":"","sources":["../../../../src/mol-geo/geometry/texture-mesh/color-smoothing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"color-smoothing.js","sourceRoot":"","sources":["../../../../src/mol-geo/geometry/texture-mesh/color-smoothing.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,9 @@ export interface TextureMesh {
21
21
  readonly normalTexture: ValueCell<Texture>;
22
22
  readonly doubleBuffer: TextureMesh.DoubleBuffer;
23
23
  readonly boundingSphere: Sphere3D;
24
- meta?: unknown;
24
+ readonly meta: {
25
+ [k: string]: unknown;
26
+ };
25
27
  }
26
28
  export declare namespace TextureMesh {
27
29
  class DoubleBuffer {
@@ -72,6 +72,7 @@ export var TextureMesh;
72
72
  normalTexture: ValueCell.create(normalTexture),
73
73
  doubleBuffer: new DoubleBuffer(),
74
74
  boundingSphere: Sphere3D.clone(boundingSphere),
75
+ meta: {}
75
76
  };
76
77
  }
77
78
  }
@@ -107,7 +108,7 @@ export var TextureMesh;
107
108
  var counts = { drawCount: textureMesh.vertexCount, vertexCount: textureMesh.vertexCount, groupCount: groupCount, instanceCount: instanceCount };
108
109
  var invariantBoundingSphere = Sphere3D.clone(textureMesh.boundingSphere);
109
110
  var boundingSphere = calculateTransformBoundingSphere(invariantBoundingSphere, transform.aTransform.ref.value, instanceCount);
110
- return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ uGeoTexDim: textureMesh.geoTextureDim, tPosition: textureMesh.vertexTexture, tGroup: textureMesh.groupTexture, tNormal: textureMesh.normalTexture, boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)) }, color), marker), overpaint), transparency), clipping), transform), BaseGeometry.createValues(props, counts)), { dDoubleSided: ValueCell.create(props.doubleSided), dFlatShaded: ValueCell.create(props.flatShaded), dFlipSided: ValueCell.create(props.flipSided), dIgnoreLight: ValueCell.create(props.ignoreLight), dXrayShaded: ValueCell.create(props.xrayShaded), dGeoTexture: ValueCell.create(true) });
111
+ return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ uGeoTexDim: textureMesh.geoTextureDim, tPosition: textureMesh.vertexTexture, tGroup: textureMesh.groupTexture, tNormal: textureMesh.normalTexture, boundingSphere: ValueCell.create(boundingSphere), invariantBoundingSphere: ValueCell.create(invariantBoundingSphere), uInvariantBoundingSphere: ValueCell.create(Vec4.ofSphere(invariantBoundingSphere)) }, color), marker), overpaint), transparency), clipping), transform), BaseGeometry.createValues(props, counts)), { dDoubleSided: ValueCell.create(props.doubleSided), dFlatShaded: ValueCell.create(props.flatShaded), dFlipSided: ValueCell.create(props.flipSided), dIgnoreLight: ValueCell.create(props.ignoreLight), dXrayShaded: ValueCell.create(props.xrayShaded), dGeoTexture: ValueCell.create(true), meta: ValueCell.create(textureMesh.meta) });
111
112
  }
112
113
  function createValuesSimple(textureMesh, props, colorValue, sizeValue, transform) {
113
114
  var s = BaseGeometry.createSimple(colorValue, sizeValue, transform);
@@ -1 +1 @@
1
- {"version":3,"file":"texture-mesh.js","sourceRoot":"","sources":["../../../../src/mol-geo/geometry/texture-mesh/texture-mesh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"texture-mesh.js","sourceRoot":"","sources":["../../../../src/mol-geo/geometry/texture-mesh/texture-mesh.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,21 @@
1
1
  /**
2
- * Copyright (c) 2019-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
6
  import { ValueCell } from '../../mol-util/value-cell';
7
- import { Vec2 } from '../../mol-math/linear-algebra';
7
+ import { Vec2, Vec3, Vec4 } from '../../mol-math/linear-algebra';
8
8
  import { TextureImage } from '../../mol-gl/renderable/util';
9
+ import { Texture } from '../../mol-gl/webgl/texture';
9
10
  export declare type TransparencyData = {
10
11
  tTransparency: ValueCell<TextureImage<Uint8Array>>;
11
12
  uTransparencyTexDim: ValueCell<Vec2>;
12
13
  dTransparency: ValueCell<boolean>;
13
14
  transparencyAverage: ValueCell<number>;
15
+ tTransparencyGrid: ValueCell<Texture>;
16
+ uTransparencyGridDim: ValueCell<Vec3>;
17
+ uTransparencyGridTransform: ValueCell<Vec4>;
18
+ dTransparencyType: ValueCell<string>;
14
19
  };
15
20
  export declare function applyTransparencyValue(array: Uint8Array, start: number, end: number, value: number): boolean;
16
21
  export declare function getTransparencyAverage(array: Uint8Array, count: number): number;
@@ -1,11 +1,12 @@
1
1
  /**
2
- * Copyright (c) 2019-2020 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
6
6
  import { ValueCell } from '../../mol-util/value-cell';
7
- import { Vec2 } from '../../mol-math/linear-algebra';
7
+ import { Vec2, Vec3, Vec4 } from '../../mol-math/linear-algebra';
8
8
  import { createTextureImage } from '../../mol-gl/renderable/util';
9
+ import { createNullTexture } from '../../mol-gl/webgl/texture';
9
10
  export function applyTransparencyValue(array, start, end, value) {
10
11
  for (var i = start; i < end; ++i) {
11
12
  array[i] = value * 255;
@@ -37,6 +38,10 @@ export function createTransparency(count, transparencyData) {
37
38
  uTransparencyTexDim: ValueCell.create(Vec2.create(transparency.width, transparency.height)),
38
39
  dTransparency: ValueCell.create(count > 0),
39
40
  transparencyAverage: ValueCell.create(0),
41
+ tTransparencyGrid: ValueCell.create(createNullTexture()),
42
+ uTransparencyGridDim: ValueCell.create(Vec3.create(1, 1, 1)),
43
+ uTransparencyGridTransform: ValueCell.create(Vec4.create(0, 0, 0, 1)),
44
+ dTransparencyType: ValueCell.create('groupInstance'),
40
45
  };
41
46
  }
42
47
  }
@@ -53,6 +58,10 @@ export function createEmptyTransparency(transparencyData) {
53
58
  uTransparencyTexDim: ValueCell.create(Vec2.create(1, 1)),
54
59
  dTransparency: ValueCell.create(false),
55
60
  transparencyAverage: ValueCell.create(0),
61
+ tTransparencyGrid: ValueCell.create(createNullTexture()),
62
+ uTransparencyGridDim: ValueCell.create(Vec3.create(1, 1, 1)),
63
+ uTransparencyGridTransform: ValueCell.create(Vec4.create(0, 0, 0, 1)),
64
+ dTransparencyType: ValueCell.create('groupInstance'),
56
65
  };
57
66
  }
58
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transparency-data.js","sourceRoot":"","sources":["../../../src/mol-geo/geometry/transparency-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transparency-data.js","sourceRoot":"","sources":["../../../src/mol-geo/geometry/transparency-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright (c) 2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
+ */
6
+ import { WebGLContext } from '../../mol-gl/webgl/context';
7
+ import { Texture } from '../../mol-gl/webgl/texture';
8
+ import { TextureSpec, UniformSpec, Values } from '../../mol-gl/renderable/schema';
9
+ import { ComputeRenderable } from '../../mol-gl/renderable';
10
+ declare const CopySchema: {
11
+ tColor: TextureSpec<"texture">;
12
+ uTexSize: UniformSpec<"v2">;
13
+ drawCount: import("../../mol-gl/renderable/schema").ValueSpec<"number">;
14
+ instanceCount: import("../../mol-gl/renderable/schema").ValueSpec<"number">;
15
+ aPosition: import("../../mol-gl/renderable/schema").AttributeSpec<"float32">;
16
+ uQuadScale: UniformSpec<"v2">;
17
+ };
18
+ export declare type CopyRenderable = ComputeRenderable<Values<typeof CopySchema>>;
19
+ export declare function getCopyRenderable(ctx: WebGLContext, colorTexture: Texture): CopyRenderable;
20
+ export {};
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright (c) 2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ *
4
+ * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
+ */
6
+ import { __assign } from "tslib";
7
+ import { QuadSchema, QuadValues } from '../../mol-gl/compute/util';
8
+ import { TextureSpec, UniformSpec } from '../../mol-gl/renderable/schema';
9
+ import { createComputeRenderable } from '../../mol-gl/renderable';
10
+ import { ShaderCode } from '../../mol-gl/shader-code';
11
+ import { createComputeRenderItem } from '../../mol-gl/webgl/render-item';
12
+ import { ValueCell } from '../../mol-util';
13
+ import { Vec2 } from '../../mol-math/linear-algebra';
14
+ import { quad_vert } from '../../mol-gl/shader/quad.vert';
15
+ import { copy_frag } from '../../mol-gl/shader/copy.frag';
16
+ var CopySchema = __assign(__assign({}, QuadSchema), { tColor: TextureSpec('texture', 'rgba', 'ubyte', 'nearest'), uTexSize: UniformSpec('v2') });
17
+ var CopyShaderCode = ShaderCode('copy', quad_vert, copy_frag);
18
+ export function getCopyRenderable(ctx, colorTexture) {
19
+ var values = __assign(__assign({}, QuadValues), { tColor: ValueCell.create(colorTexture), uTexSize: ValueCell.create(Vec2.create(colorTexture.getWidth(), colorTexture.getHeight())) });
20
+ var schema = __assign({}, CopySchema);
21
+ var renderItem = createComputeRenderItem(ctx, 'triangles', CopyShaderCode, schema, values);
22
+ return createComputeRenderable(renderItem, values);
23
+ }
24
+ //# sourceMappingURL=copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../src/mol-gl/compute/copy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAIH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAU,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAqB,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,IAAM,UAAU,yBACT,UAAU,KACb,MAAM,EAAE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAC1D,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,GAC9B,CAAC;AACF,IAAM,cAAc,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAGhE,MAAM,UAAU,iBAAiB,CAAC,GAAiB,EAAE,YAAqB;IACtE,IAAM,MAAM,yBACL,UAAU,KACb,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,EACtC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,GAC7F,CAAC;IAEF,IAAM,MAAM,gBAAQ,UAAU,CAAE,CAAC;IACjC,IAAM,UAAU,GAAG,uBAAuB,CAAC,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7F,OAAO,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC"}
@@ -60,6 +60,9 @@ function setRenderingDefaults(ctx) {
60
60
  state.clearColor(0, 0, 0, 0);
61
61
  }
62
62
  export function createIsosurfaceBuffers(ctx, activeVoxelsBase, volumeData, histogramPyramid, gridDim, gridTexDim, transform, isoValue, invert, packedGroup, vertexTexture, groupTexture, normalTexture) {
63
+ var drawBuffers = ctx.extensions.drawBuffers;
64
+ if (!drawBuffers)
65
+ throw new Error('need WebGL draw buffers');
63
66
  var gl = ctx.gl, resources = ctx.resources, extensions = ctx.extensions;
64
67
  var pyramidTex = histogramPyramid.pyramidTex, height = histogramPyramid.height, levels = histogramPyramid.levels, scale = histogramPyramid.scale, count = histogramPyramid.count;
65
68
  var width = pyramidTex.getWidth();
@@ -106,9 +109,6 @@ export function createIsosurfaceBuffers(ctx, activeVoxelsBase, volumeData, histo
106
109
  normalTexture.attachFramebuffer(framebuffer, 2);
107
110
  var renderable = getIsosurfaceRenderable(ctx, pyramidTex, activeVoxelsBase, volumeData, gridDim, gridTexDim, transform, isoValue, levels, scale, count, invert, packedGroup);
108
111
  ctx.state.currentRenderItemId = -1;
109
- var drawBuffers = ctx.extensions.drawBuffers;
110
- if (!drawBuffers)
111
- throw new Error('need WebGL draw buffers');
112
112
  framebuffer.bind();
113
113
  drawBuffers.drawBuffers([
114
114
  drawBuffers.COLOR_ATTACHMENT0,