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
@@ -5,11 +5,12 @@
5
5
  */
6
6
  import { createTextureImage } from '../../../mol-gl/renderable/util';
7
7
  import { Box3D } from '../../../mol-math/geometry';
8
+ import { lerp } from '../../../mol-math/interpolate';
8
9
  import { Vec2, Vec3, Vec4 } from '../../../mol-math/linear-algebra';
9
10
  import { getVolumeTexture2dLayout } from '../../../mol-repr/volume/util';
10
- import { Color } from '../../../mol-util/color';
11
+ import { ValueCell } from '../../../mol-util';
11
12
  export function calcMeshColorSmoothing(input, resolution, stride, webgl, texture) {
12
- var colorType = input.colorType, vertexCount = input.vertexCount, groupCount = input.groupCount, positionBuffer = input.positionBuffer, transformBuffer = input.transformBuffer, groupBuffer = input.groupBuffer;
13
+ var colorType = input.colorType, vertexCount = input.vertexCount, groupCount = input.groupCount, positionBuffer = input.positionBuffer, transformBuffer = input.transformBuffer, groupBuffer = input.groupBuffer, itemSize = input.itemSize;
13
14
  var isInstanceType = colorType.endsWith('Instance');
14
15
  var box = Box3D.fromSphere3D(Box3D(), isInstanceType ? input.boundingSphere : input.invariantBoundingSphere);
15
16
  var scaleFactor = 1 / resolution;
@@ -21,7 +22,6 @@ export function calcMeshColorSmoothing(input, resolution, stride, webgl, texture
21
22
  var xn = gridDim[0], yn = gridDim[1];
22
23
  var _a = getVolumeTexture2dLayout(gridDim), width = _a.width, height = _a.height;
23
24
  // console.log({ width, height, dim });
24
- var itemSize = 3;
25
25
  var data = new Float32Array(width * height * itemSize);
26
26
  var count = new Float32Array(width * height);
27
27
  var grid = new Uint8Array(width * height * itemSize);
@@ -50,10 +50,7 @@ export function calcMeshColorSmoothing(input, resolution, stride, webgl, texture
50
50
  var y = Math.floor(vy);
51
51
  var z = Math.floor(vz);
52
52
  // group colors
53
- var ci = i * groupCount + groupBuffer[j];
54
- var r = colors[ci * 3];
55
- var g = colors[ci * 3 + 1];
56
- var b = colors[ci * 3 + 2];
53
+ var ci = (i * groupCount + groupBuffer[j]) * itemSize;
57
54
  // Extents of grid to consider for this atom
58
55
  var begX = Math.max(0, x - p);
59
56
  var begY = Math.max(0, y - p);
@@ -75,33 +72,36 @@ export function calcMeshColorSmoothing(input, resolution, stride, webgl, texture
75
72
  continue;
76
73
  var s = p - d;
77
74
  var index = getIndex(xi, yi, zi);
78
- data[index] += r * s;
79
- data[index + 1] += g * s;
80
- data[index + 2] += b * s;
81
- count[index / 3] += s;
75
+ for (var k = 0; k < itemSize; ++k) {
76
+ data[index + k] += colors[ci + k] * s;
77
+ }
78
+ count[index / itemSize] += s;
82
79
  }
83
80
  }
84
81
  }
85
82
  }
86
83
  }
87
84
  for (var i = 0, il = count.length; i < il; ++i) {
88
- var i3 = i * 3;
85
+ var is = i * itemSize;
89
86
  var c = count[i];
90
- grid[i3] = Math.round(data[i3] / c);
91
- grid[i3 + 1] = Math.round(data[i3 + 1] / c);
92
- grid[i3 + 2] = Math.round(data[i3 + 2] / c);
87
+ for (var k = 0; k < itemSize; ++k) {
88
+ grid[is + k] = Math.round(data[is + k] / c);
89
+ }
93
90
  }
94
91
  var gridTexDim = Vec2.create(width, height);
95
92
  var gridTransform = Vec4.create(min[0], min[1], min[2], scaleFactor);
96
93
  var type = isInstanceType ? 'volumeInstance' : 'volume';
97
94
  if (webgl) {
98
- if (!texture)
99
- texture = webgl.resources.texture('image-uint8', 'rgb', 'ubyte', 'linear');
95
+ if (!texture) {
96
+ var format = itemSize === 4 ? 'rgba' :
97
+ itemSize === 3 ? 'rgb' : 'alpha';
98
+ texture = webgl.resources.texture('image-uint8', format, 'ubyte', 'linear');
99
+ }
100
100
  texture.load(textureImage);
101
101
  return { kind: 'volume', texture: texture, gridTexDim: gridTexDim, gridDim: gridDim, gridTransform: gridTransform, type: type };
102
102
  }
103
103
  else {
104
- var interpolated = getTrilinearlyInterpolated({ vertexCount: vertexCount, instanceCount: instanceCount, transformBuffer: transformBuffer, positionBuffer: positionBuffer, colorType: type, grid: grid, gridDim: gridDim, gridTexDim: gridTexDim, gridTransform: gridTransform, vertexStride: 3, colorStride: 3 });
104
+ var interpolated = getTrilinearlyInterpolated({ vertexCount: vertexCount, instanceCount: instanceCount, transformBuffer: transformBuffer, positionBuffer: positionBuffer, colorType: type, grid: grid, gridDim: gridDim, gridTexDim: gridTexDim, gridTransform: gridTransform, vertexStride: 3, colorStride: itemSize, outputStride: itemSize });
105
105
  return {
106
106
  kind: 'vertex',
107
107
  texture: interpolated,
@@ -112,9 +112,14 @@ export function calcMeshColorSmoothing(input, resolution, stride, webgl, texture
112
112
  }
113
113
  export function getTrilinearlyInterpolated(input) {
114
114
  var vertexCount = input.vertexCount, positionBuffer = input.positionBuffer, transformBuffer = input.transformBuffer, grid = input.grid, gridDim = input.gridDim, gridTexDim = input.gridTexDim, gridTransform = input.gridTransform, vertexStride = input.vertexStride, colorStride = input.colorStride;
115
+ var itemOffset = input.itemOffset || 0;
116
+ var outputStride = input.outputStride;
117
+ if (outputStride + itemOffset > colorStride) {
118
+ throw new Error('outputStride + itemOffset must NOT be larger than colorStride');
119
+ }
115
120
  var isInstanceType = input.colorType.endsWith('Instance');
116
121
  var instanceCount = isInstanceType ? input.instanceCount : 1;
117
- var image = createTextureImage(Math.max(1, instanceCount * vertexCount), 3, Uint8Array);
122
+ var image = createTextureImage(Math.max(1, instanceCount * vertexCount), outputStride, Uint8Array);
118
123
  var array = image.array;
119
124
  var xn = gridDim[0], yn = gridDim[1];
120
125
  var width = gridTexDim[0];
@@ -145,23 +150,134 @@ export function getTrilinearlyInterpolated(input) {
145
150
  var x0 = v0[0], y0 = v0[1], z0 = v0[2];
146
151
  var x1 = v1[0], y1 = v1[1], z1 = v1[2];
147
152
  var xd = vd[0], yd = vd[1], zd = vd[2];
148
- var s000 = Color.fromArray(grid, getIndex(x0, y0, z0));
149
- var s100 = Color.fromArray(grid, getIndex(x1, y0, z0));
150
- var s001 = Color.fromArray(grid, getIndex(x0, y0, z1));
151
- var s101 = Color.fromArray(grid, getIndex(x1, y0, z1));
152
- var s010 = Color.fromArray(grid, getIndex(x0, y1, z0));
153
- var s110 = Color.fromArray(grid, getIndex(x1, y1, z0));
154
- var s011 = Color.fromArray(grid, getIndex(x0, y1, z1));
155
- var s111 = Color.fromArray(grid, getIndex(x1, y1, z1));
156
- var s00 = Color.interpolate(s000, s100, xd);
157
- var s01 = Color.interpolate(s001, s101, xd);
158
- var s10 = Color.interpolate(s010, s110, xd);
159
- var s11 = Color.interpolate(s011, s111, xd);
160
- var s0 = Color.interpolate(s00, s10, yd);
161
- var s1 = Color.interpolate(s01, s11, yd);
162
- Color.toArray(Color.interpolate(s0, s1, zd), array, (i * vertexCount + j) * 3);
153
+ var i000 = getIndex(x0, y0, z0) + itemOffset;
154
+ var i100 = getIndex(x1, y0, z0) + itemOffset;
155
+ var i001 = getIndex(x0, y0, z1) + itemOffset;
156
+ var i101 = getIndex(x1, y0, z1) + itemOffset;
157
+ var i010 = getIndex(x0, y1, z0) + itemOffset;
158
+ var i110 = getIndex(x1, y1, z0) + itemOffset;
159
+ var i011 = getIndex(x0, y1, z1) + itemOffset;
160
+ var i111 = getIndex(x1, y1, z1) + itemOffset;
161
+ var o = (i * vertexCount + j) * outputStride;
162
+ for (var k = 0; k < outputStride; ++k) {
163
+ var s000 = grid[i000 + k];
164
+ var s100 = grid[i100 + k];
165
+ var s001 = grid[i001 + k];
166
+ var s101 = grid[i101 + k];
167
+ var s010 = grid[i010 + k];
168
+ var s110 = grid[i110 + k];
169
+ var s011 = grid[i011 + k];
170
+ var s111 = grid[i111 + k];
171
+ var s00 = lerp(s000, s100, xd);
172
+ var s01 = lerp(s001, s101, xd);
173
+ var s10 = lerp(s010, s110, xd);
174
+ var s11 = lerp(s011, s111, xd);
175
+ var s0 = lerp(s00, s10, yd);
176
+ var s1 = lerp(s01, s11, yd);
177
+ array[o + k] = lerp(s0, s1, zd);
178
+ }
163
179
  }
164
180
  }
165
181
  return image;
166
182
  }
183
+ //
184
+ function isSupportedColorType(x) {
185
+ return x === 'group' || x === 'groupInstance';
186
+ }
187
+ export function applyMeshColorSmoothing(values, resolution, stride, webgl, colorTexture) {
188
+ if (!isSupportedColorType(values.dColorType.ref.value))
189
+ return;
190
+ var smoothingData = calcMeshColorSmoothing({
191
+ vertexCount: values.uVertexCount.ref.value,
192
+ instanceCount: values.uInstanceCount.ref.value,
193
+ groupCount: values.uGroupCount.ref.value,
194
+ transformBuffer: values.aTransform.ref.value,
195
+ instanceBuffer: values.aInstance.ref.value,
196
+ positionBuffer: values.aPosition.ref.value,
197
+ groupBuffer: values.aGroup.ref.value,
198
+ colorData: values.tColor.ref.value,
199
+ colorType: values.dColorType.ref.value,
200
+ boundingSphere: values.boundingSphere.ref.value,
201
+ invariantBoundingSphere: values.invariantBoundingSphere.ref.value,
202
+ itemSize: 3
203
+ }, resolution, stride, webgl, colorTexture);
204
+ if (smoothingData.kind === 'volume') {
205
+ ValueCell.updateIfChanged(values.dColorType, smoothingData.type);
206
+ ValueCell.update(values.tColorGrid, smoothingData.texture);
207
+ ValueCell.update(values.uColorTexDim, smoothingData.gridTexDim);
208
+ ValueCell.update(values.uColorGridDim, smoothingData.gridDim);
209
+ ValueCell.update(values.uColorGridTransform, smoothingData.gridTransform);
210
+ }
211
+ else if (smoothingData.kind === 'vertex') {
212
+ ValueCell.updateIfChanged(values.dColorType, smoothingData.type);
213
+ ValueCell.update(values.tColor, smoothingData.texture);
214
+ ValueCell.update(values.uColorTexDim, smoothingData.texDim);
215
+ }
216
+ }
217
+ function isSupportedOverpaintType(x) {
218
+ return x === 'groupInstance';
219
+ }
220
+ export function applyMeshOverpaintSmoothing(values, resolution, stride, webgl, colorTexture) {
221
+ if (!isSupportedOverpaintType(values.dOverpaintType.ref.value))
222
+ return;
223
+ var smoothingData = calcMeshColorSmoothing({
224
+ vertexCount: values.uVertexCount.ref.value,
225
+ instanceCount: values.uInstanceCount.ref.value,
226
+ groupCount: values.uGroupCount.ref.value,
227
+ transformBuffer: values.aTransform.ref.value,
228
+ instanceBuffer: values.aInstance.ref.value,
229
+ positionBuffer: values.aPosition.ref.value,
230
+ groupBuffer: values.aGroup.ref.value,
231
+ colorData: values.tOverpaint.ref.value,
232
+ colorType: values.dOverpaintType.ref.value,
233
+ boundingSphere: values.boundingSphere.ref.value,
234
+ invariantBoundingSphere: values.invariantBoundingSphere.ref.value,
235
+ itemSize: 4
236
+ }, resolution, stride, webgl, colorTexture);
237
+ if (smoothingData.kind === 'volume') {
238
+ ValueCell.updateIfChanged(values.dOverpaintType, smoothingData.type);
239
+ ValueCell.update(values.tOverpaintGrid, smoothingData.texture);
240
+ ValueCell.update(values.uOverpaintTexDim, smoothingData.gridTexDim);
241
+ ValueCell.update(values.uOverpaintGridDim, smoothingData.gridDim);
242
+ ValueCell.update(values.uOverpaintGridTransform, smoothingData.gridTransform);
243
+ }
244
+ else if (smoothingData.kind === 'vertex') {
245
+ ValueCell.updateIfChanged(values.dOverpaintType, smoothingData.type);
246
+ ValueCell.update(values.tOverpaint, smoothingData.texture);
247
+ ValueCell.update(values.uOverpaintTexDim, smoothingData.texDim);
248
+ }
249
+ }
250
+ function isSupportedTransparencyType(x) {
251
+ return x === 'groupInstance';
252
+ }
253
+ export function applyMeshTransparencySmoothing(values, resolution, stride, webgl, colorTexture) {
254
+ if (!isSupportedTransparencyType(values.dTransparencyType.ref.value))
255
+ return;
256
+ var smoothingData = calcMeshColorSmoothing({
257
+ vertexCount: values.uVertexCount.ref.value,
258
+ instanceCount: values.uInstanceCount.ref.value,
259
+ groupCount: values.uGroupCount.ref.value,
260
+ transformBuffer: values.aTransform.ref.value,
261
+ instanceBuffer: values.aInstance.ref.value,
262
+ positionBuffer: values.aPosition.ref.value,
263
+ groupBuffer: values.aGroup.ref.value,
264
+ colorData: values.tTransparency.ref.value,
265
+ colorType: values.dTransparencyType.ref.value,
266
+ boundingSphere: values.boundingSphere.ref.value,
267
+ invariantBoundingSphere: values.invariantBoundingSphere.ref.value,
268
+ itemSize: 1
269
+ }, resolution, stride, webgl, colorTexture);
270
+ if (smoothingData.kind === 'volume') {
271
+ ValueCell.updateIfChanged(values.dTransparencyType, smoothingData.type);
272
+ ValueCell.update(values.tTransparencyGrid, smoothingData.texture);
273
+ ValueCell.update(values.uTransparencyTexDim, smoothingData.gridTexDim);
274
+ ValueCell.update(values.uTransparencyGridDim, smoothingData.gridDim);
275
+ ValueCell.update(values.uTransparencyGridTransform, smoothingData.gridTransform);
276
+ }
277
+ else if (smoothingData.kind === 'vertex') {
278
+ ValueCell.updateIfChanged(values.dTransparencyType, smoothingData.type);
279
+ ValueCell.update(values.tTransparency, smoothingData.texture);
280
+ ValueCell.update(values.uTransparencyTexDim, smoothingData.texDim);
281
+ }
282
+ }
167
283
  //# sourceMappingURL=color-smoothing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"color-smoothing.js","sourceRoot":"","sources":["../../../../src/mol-geo/geometry/mesh/color-smoothing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"color-smoothing.js","sourceRoot":"","sources":["../../../../src/mol-geo/geometry/mesh/color-smoothing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAgB,MAAM,iCAAiC,CAAC;AAGnF,OAAO,EAAE,KAAK,EAAY,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAiB9C,MAAM,UAAU,sBAAsB,CAAC,KAA0B,EAAE,UAAkB,EAAE,MAAc,EAAE,KAAoB,EAAE,OAAiB;IAClI,IAAA,SAAS,GAAsF,KAAK,UAA3F,EAAE,WAAW,GAAyE,KAAK,YAA9E,EAAE,UAAU,GAA6D,KAAK,WAAlE,EAAE,cAAc,GAA6C,KAAK,eAAlD,EAAE,eAAe,GAA4B,KAAK,gBAAjC,EAAE,WAAW,GAAe,KAAK,YAApB,EAAE,QAAQ,GAAK,KAAK,SAAV,CAAW;IAE7G,IAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtD,IAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAE/G,IAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC;IACnC,IAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IACzD,IAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,IAAA,GAAG,GAAK,GAAG,IAAR,CAAS;IAEb,IAAA,EAAE,GAAQ,OAAO,GAAf,EAAE,EAAE,GAAI,OAAO,GAAX,CAAY;IACnB,IAAA,KAAoB,wBAAwB,CAAC,OAAO,CAAC,EAAnD,KAAK,WAAA,EAAE,MAAM,YAAsC,CAAC;IAC5D,uCAAuC;IAEvC,IAAM,IAAI,GAAG,IAAI,YAAY,CAAC,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;IACzD,IAAM,KAAK,GAAG,IAAI,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;IAE/C,IAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;IACvD,IAAM,YAAY,GAA6B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAEhG,IAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAErC,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;QAC7C,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;QACzC,IAAM,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,OAAO,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,IAAM,CAAC,GAAG,CAAC,CAAC;IACL,IAAA,IAAI,GAAgB,OAAO,GAAvB,EAAE,IAAI,GAAU,OAAO,GAAjB,EAAE,IAAI,GAAI,OAAO,GAAX,CAAY;IACnC,IAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,EAAE,CAAC,EAAE;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,MAAM,EAAE;YAC1C,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,cAAc;gBAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YACvB,IAAA,EAAE,GAAY,CAAC,GAAb,EAAE,EAAE,GAAQ,CAAC,GAAT,EAAE,EAAE,GAAI,CAAC,GAAL,CAAM;YAEvB,wBAAwB;YACxB,IAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzB,IAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzB,IAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEzB,eAAe;YACf,IAAM,EAAE,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YAExD,4CAA4C;YAC5C,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAEhC,2BAA2B;YAC3B,wDAAwD;YACxD,sCAAsC;YACtC,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAEvC,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE;gBACjC,IAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBACnB,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE;oBACjC,IAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;oBACnB,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE;wBACjC,IAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;wBACnB,IAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;wBACjD,IAAI,CAAC,GAAG,CAAC;4BAAE,SAAS;wBAEpB,IAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChB,IAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;wBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE;4BAC/B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;yBACzC;wBACD,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;qBAChC;iBACJ;aACJ;SACJ;KACJ;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE;QAC5C,IAAM,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC;QACxB,IAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE;YAC/B,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/C;KACJ;IAED,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACvE,IAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,gBAAyB,CAAC,CAAC,CAAC,QAAiB,CAAC;IAE5E,IAAI,KAAK,EAAE;QACP,IAAI,CAAC,OAAO,EAAE;YACV,IAAM,MAAM,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACpC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YACrC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;SAC/E;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE3B,OAAO,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,SAAA,EAAE,UAAU,YAAA,EAAE,OAAO,SAAA,EAAE,aAAa,eAAA,EAAE,IAAI,MAAA,EAAE,CAAC;KACzF;SAAM;QACH,IAAM,YAAY,GAAG,0BAA0B,CAAC,EAAE,WAAW,aAAA,EAAE,aAAa,eAAA,EAAE,eAAe,iBAAA,EAAE,cAAc,gBAAA,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,MAAA,EAAE,OAAO,SAAA,EAAE,UAAU,YAAA,EAAE,aAAa,eAAA,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE5O,OAAO;YACH,IAAI,EAAE,QAAiB;YACvB,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC;YAC5D,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ;SACrD,CAAC;KACL;AACL,CAAC;AAoBD,MAAM,UAAU,0BAA0B,CAAC,KAA8B;IAC7D,IAAA,WAAW,GAA2G,KAAK,YAAhH,EAAE,cAAc,GAA2F,KAAK,eAAhG,EAAE,eAAe,GAA0E,KAAK,gBAA/E,EAAE,IAAI,GAAoE,KAAK,KAAzE,EAAE,OAAO,GAA2D,KAAK,QAAhE,EAAE,UAAU,GAA+C,KAAK,WAApD,EAAE,aAAa,GAAgC,KAAK,cAArC,EAAE,YAAY,GAAkB,KAAK,aAAvB,EAAE,WAAW,GAAK,KAAK,YAAV,CAAW;IAEpI,IAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;IACzC,IAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,IAAI,YAAY,GAAG,UAAU,GAAG,WAAW,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;KACpF;IAED,IAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC7F,IAAA,KAAK,GAAK,KAAK,MAAV,CAAW;IAEjB,IAAA,EAAE,GAAQ,OAAO,GAAf,EAAE,EAAE,GAAI,OAAO,GAAX,CAAY;IACzB,IAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IACrD,IAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAErC,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;QAC7C,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;QACzC,IAAM,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,OAAO,WAAW,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,IAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,IAAM,EAAE,GAAG,IAAI,EAAE,CAAC;IAClB,IAAM,EAAE,GAAG,IAAI,EAAE,CAAC;IAClB,IAAM,EAAE,GAAG,IAAI,EAAE,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,EAAE,CAAC,EAAE;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE;YAClC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC;YACpD,IAAI,cAAc;gBAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YAE9B,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAEjB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAEb,IAAA,EAAE,GAAY,EAAE,GAAd,EAAE,EAAE,GAAQ,EAAE,GAAV,EAAE,EAAE,GAAI,EAAE,GAAN,CAAO;YACjB,IAAA,EAAE,GAAY,EAAE,GAAd,EAAE,EAAE,GAAQ,EAAE,GAAV,EAAE,EAAE,GAAI,EAAE,GAAN,CAAO;YACjB,IAAA,EAAE,GAAY,EAAE,GAAd,EAAE,EAAE,GAAQ,EAAE,GAAV,EAAE,EAAE,GAAI,EAAE,GAAN,CAAO;YAExB,IAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;YAC/C,IAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;YAC/C,IAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;YAC/C,IAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;YAC/C,IAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;YAC/C,IAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;YAC/C,IAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;YAC/C,IAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;YAE/C,IAAM,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;YAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,EAAE,CAAC,EAAE;gBACnC,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAE5B,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACjC,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACjC,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACjC,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAEjC,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC9B,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBAE9B,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;aACnC;SACJ;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,EAAE;AAEF,SAAS,oBAAoB,CAAC,CAAS;IACnC,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,eAAe,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAkB,EAAE,UAAkB,EAAE,MAAc,EAAE,KAAoB,EAAE,YAAsB;IACxI,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO;IAE/D,IAAM,aAAa,GAAG,sBAAsB,CAAC;QACzC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK;QAC1C,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK;QAC9C,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK;QACxC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK;QAC5C,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK;QAC1C,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK;QAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK;QACpC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK;QAClC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK;QACtC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK;QAC/C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK;QACjE,QAAQ,EAAE,CAAC;KACd,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAE5C,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE;QACjC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACjE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3D,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QAChE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9D,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;KAC7E;SAAM,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE;QACxC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACjE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QACvD,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KAC/D;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,CAAS;IACvC,OAAO,CAAC,KAAK,eAAe,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAkB,EAAE,UAAkB,EAAE,MAAc,EAAE,KAAoB,EAAE,YAAsB;IAC5I,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO;IAEvE,IAAM,aAAa,GAAG,sBAAsB,CAAC;QACzC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK;QAC1C,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK;QAC9C,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK;QACxC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK;QAC5C,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK;QAC1C,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK;QAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK;QACpC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK;QACtC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK;QAC1C,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK;QAC/C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK;QACjE,QAAQ,EAAE,CAAC;KACd,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5C,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE;QACjC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACrE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/D,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QACpE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAClE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;KACjF;SAAM,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE;QACxC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACrE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3D,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KACnE;AACL,CAAC;AAED,SAAS,2BAA2B,CAAC,CAAS;IAC1C,OAAO,CAAC,KAAK,eAAe,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAAkB,EAAE,UAAkB,EAAE,MAAc,EAAE,KAAoB,EAAE,YAAsB;IAC/I,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO;IAE7E,IAAM,aAAa,GAAG,sBAAsB,CAAC;QACzC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK;QAC1C,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK;QAC9C,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK;QACxC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK;QAC5C,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK;QAC1C,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK;QAC1C,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK;QACpC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK;QACzC,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK;QAC7C,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK;QAC/C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK;QACjE,QAAQ,EAAE,CAAC;KACd,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5C,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE;QACjC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACxE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAClE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;QACvE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QACrE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;KACpF;SAAM,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE;QACxC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACxE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9D,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KACtE;AACL,CAAC"}
@@ -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
9
  import { Color } from '../../mol-util/color';
10
+ import { Texture } from '../../mol-gl/webgl/texture';
10
11
  export declare type OverpaintData = {
11
12
  tOverpaint: ValueCell<TextureImage<Uint8Array>>;
12
13
  uOverpaintTexDim: ValueCell<Vec2>;
13
14
  dOverpaint: ValueCell<boolean>;
15
+ tOverpaintGrid: ValueCell<Texture>;
16
+ uOverpaintGridDim: ValueCell<Vec3>;
17
+ uOverpaintGridTransform: ValueCell<Vec4>;
18
+ dOverpaintType: ValueCell<string>;
14
19
  };
15
20
  export declare function applyOverpaintColor(array: Uint8Array, start: number, end: number, color: Color): boolean;
16
21
  export declare function clearOverpaint(array: Uint8Array, start: number, end: number): boolean;
@@ -1,12 +1,13 @@
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
9
  import { Color } from '../../mol-util/color';
10
+ import { createNullTexture } from '../../mol-gl/webgl/texture';
10
11
  export function applyOverpaintColor(array, start, end, color) {
11
12
  for (var i = start; i < end; ++i) {
12
13
  Color.toArray(color, array, i * 4);
@@ -31,6 +32,10 @@ export function createOverpaint(count, overpaintData) {
31
32
  tOverpaint: ValueCell.create(overpaint),
32
33
  uOverpaintTexDim: ValueCell.create(Vec2.create(overpaint.width, overpaint.height)),
33
34
  dOverpaint: ValueCell.create(count > 0),
35
+ tOverpaintGrid: ValueCell.create(createNullTexture()),
36
+ uOverpaintGridDim: ValueCell.create(Vec3.create(1, 1, 1)),
37
+ uOverpaintGridTransform: ValueCell.create(Vec4.create(0, 0, 0, 1)),
38
+ dOverpaintType: ValueCell.create('groupInstance'),
34
39
  };
35
40
  }
36
41
  }
@@ -46,6 +51,10 @@ export function createEmptyOverpaint(overpaintData) {
46
51
  tOverpaint: ValueCell.create(emptyOverpaintTexture),
47
52
  uOverpaintTexDim: ValueCell.create(Vec2.create(1, 1)),
48
53
  dOverpaint: ValueCell.create(false),
54
+ tOverpaintGrid: ValueCell.create(createNullTexture()),
55
+ uOverpaintGridDim: ValueCell.create(Vec3.create(1, 1, 1)),
56
+ uOverpaintGridTransform: ValueCell.create(Vec4.create(0, 0, 0, 1)),
57
+ dOverpaintType: ValueCell.create('groupInstance'),
49
58
  };
50
59
  }
51
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"overpaint-data.js","sourceRoot":"","sources":["../../../src/mol-geo/geometry/overpaint-data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAgB,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAQ7C,MAAM,UAAU,mBAAmB,CAAC,KAAiB,EAAE,KAAa,EAAE,GAAW,EAAE,KAAY;IAC3F,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;QAC9B,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACnC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;KAC1B;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAiB,EAAE,KAAa,EAAE,GAAW;IACxE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,aAA6B;IACxE,IAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnI,IAAI,aAAa,EAAE;QACf,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACtD,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACjG,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/D,OAAO,aAAa,CAAC;KACxB;SAAM;QACH,OAAO;YACH,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;YACvC,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YAClF,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;SAC1C,CAAC;KACL;AACL,CAAC;AAED,IAAM,qBAAqB,GAAG,EAAE,KAAK,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChF,MAAM,UAAU,oBAAoB,CAAC,aAA6B;IAC9D,IAAI,aAAa,EAAE;QACf,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;QAClE,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,aAAa,CAAC;KACxB;SAAM;QACH,OAAO;YACH,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC;YACnD,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;SACtC,CAAC;KACL;AACL,CAAC"}
1
+ {"version":3,"file":"overpaint-data.js","sourceRoot":"","sources":["../../../src/mol-geo/geometry/overpaint-data.ts"],"names":[],"mappings":"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"}
@@ -34,11 +34,11 @@ export declare namespace Points {
34
34
  fuzzy: string;
35
35
  };
36
36
  type StyleTypes = keyof typeof StyleTypes;
37
- const StyleTypeNames: ("fuzzy" | "square" | "circle")[];
37
+ const StyleTypeNames: ("square" | "circle" | "fuzzy")[];
38
38
  const Params: {
39
39
  sizeFactor: PD.Numeric;
40
40
  pointSizeAttenuation: PD.BooleanParam;
41
- pointStyle: PD.Select<"fuzzy" | "square" | "circle">;
41
+ pointStyle: PD.Select<"square" | "circle" | "fuzzy">;
42
42
  alpha: PD.Numeric;
43
43
  quality: PD.Select<"custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest">;
44
44
  };
@@ -35,7 +35,6 @@ export declare namespace Spheres {
35
35
  ignoreLight: PD.BooleanParam;
36
36
  xrayShaded: PD.BooleanParam;
37
37
  alpha: PD.Numeric;
38
- /** Number of spheres */
39
38
  quality: PD.Select<"custom" | "auto" | "highest" | "higher" | "high" | "medium" | "low" | "lower" | "lowest">;
40
39
  };
41
40
  type Params = typeof Params;
@@ -8,7 +8,7 @@ import { Texture } from '../../../mol-gl/webgl/texture';
8
8
  import { ValueSpec, AttributeSpec, UniformSpec, TextureSpec, DefineSpec } from '../../../mol-gl/renderable/schema';
9
9
  import { Vec2, Vec3, Vec4 } from '../../../mol-math/linear-algebra';
10
10
  import { Sphere3D } from '../../../mol-math/geometry';
11
- import { TextureImage } from '../../../mol-gl/renderable/util';
11
+ import { TextureMeshValues } from '../../../mol-gl/renderable/texture-mesh';
12
12
  export declare const ColorAccumulateSchema: {
13
13
  drawCount: ValueSpec<"number">;
14
14
  instanceCount: ValueSpec<"number">;
@@ -23,7 +23,7 @@ export declare const ColorAccumulateSchema: {
23
23
  tPosition: TextureSpec<"texture">;
24
24
  tGroup: TextureSpec<"texture">;
25
25
  uColorTexDim: UniformSpec<"v2">;
26
- tColor: TextureSpec<"image-uint8">;
26
+ tColor: TextureSpec<"texture">;
27
27
  dColorType: DefineSpec<"string">;
28
28
  uCurrentSlice: UniformSpec<"f">;
29
29
  uCurrentX: UniformSpec<"f">;
@@ -40,11 +40,12 @@ interface AccumulateInput {
40
40
  instanceBuffer: Float32Array;
41
41
  positionTexture: Texture;
42
42
  groupTexture: Texture;
43
- colorData: TextureImage<Uint8Array>;
43
+ colorData: Texture;
44
44
  colorType: 'group' | 'groupInstance';
45
45
  }
46
46
  export declare const ColorNormalizeSchema: {
47
47
  tColor: TextureSpec<"texture">;
48
+ tCount: TextureSpec<"texture">;
48
49
  uTexSize: UniformSpec<"v2">;
49
50
  drawCount: ValueSpec<"number">;
50
51
  instanceCount: ValueSpec<"number">;
@@ -62,4 +63,7 @@ export declare function calcTextureMeshColorSmoothing(input: ColorSmoothingInput
62
63
  gridTransform: Vec4;
63
64
  type: string;
64
65
  };
66
+ export declare function applyTextureMeshColorSmoothing(values: TextureMeshValues, resolution: number, stride: number, webgl: WebGLContext, colorTexture?: Texture): void;
67
+ export declare function applyTextureMeshOverpaintSmoothing(values: TextureMeshValues, resolution: number, stride: number, webgl: WebGLContext, colorTexture?: Texture): void;
68
+ export declare function applyTextureMeshTransparencySmoothing(values: TextureMeshValues, resolution: number, stride: number, webgl: WebGLContext, colorTexture?: Texture): void;
65
69
  export {};