molstar 3.44.0 → 3.45.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 (272) hide show
  1. package/build/viewer/molstar.css +1 -1
  2. package/build/viewer/molstar.js +1 -1
  3. package/lib/cli/cifschema/index.js +2 -2
  4. package/lib/commonjs/cli/cifschema/index.js +2 -2
  5. package/lib/commonjs/extensions/anvil/behavior.d.ts +1 -1
  6. package/lib/commonjs/extensions/anvil/representation.d.ts +4 -4
  7. package/lib/commonjs/extensions/cellpack/representation.d.ts +1 -1
  8. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +3 -3
  9. package/lib/commonjs/extensions/dnatco/ntc-tube/representation.d.ts +3 -3
  10. package/lib/commonjs/extensions/mvs/behavior.d.ts +1 -1
  11. package/lib/commonjs/extensions/mvs/behavior.js +3 -1
  12. package/lib/commonjs/extensions/mvs/components/annotation-color-theme.d.ts +1 -1
  13. package/lib/commonjs/extensions/mvs/components/annotation-color-theme.js +3 -2
  14. package/lib/commonjs/extensions/mvs/components/annotation-label/representation.d.ts +3 -1
  15. package/lib/commonjs/extensions/mvs/components/annotation-label/representation.js +3 -2
  16. package/lib/commonjs/extensions/mvs/components/annotation-prop.d.ts +1 -1
  17. package/lib/commonjs/extensions/mvs/components/annotation-prop.js +2 -2
  18. package/lib/commonjs/extensions/mvs/components/custom-label/representation.d.ts +1 -1
  19. package/lib/commonjs/extensions/mvs/components/custom-label/representation.js +4 -3
  20. package/lib/commonjs/extensions/mvs/components/custom-tooltips-prop.d.ts +1 -1
  21. package/lib/commonjs/extensions/mvs/components/custom-tooltips-prop.js +2 -2
  22. package/lib/commonjs/extensions/mvs/components/is-mvs-model-prop.d.ts +21 -0
  23. package/lib/commonjs/extensions/mvs/components/is-mvs-model-prop.js +40 -0
  24. package/lib/commonjs/extensions/mvs/components/multilayer-color-theme.d.ts +1 -1
  25. package/lib/commonjs/extensions/mvs/components/multilayer-color-theme.js +4 -3
  26. package/lib/commonjs/extensions/mvs/load.d.ts +1 -1
  27. package/lib/commonjs/extensions/mvs/load.js +5 -2
  28. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +1 -1
  29. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +1 -1
  30. package/lib/commonjs/extensions/rcsb/graphql/types.d.ts +160 -1
  31. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +10 -5
  32. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +1 -1
  33. package/lib/commonjs/mol-geo/geometry/color-data.d.ts +1 -0
  34. package/lib/commonjs/mol-geo/geometry/color-data.js +15 -8
  35. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders-builder.d.ts +9 -3
  36. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders-builder.js +13 -6
  37. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +11 -2
  38. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +14 -9
  39. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +1 -1
  40. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +1 -1
  41. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +1 -1
  42. package/lib/commonjs/mol-geo/util/location-iterator.d.ts +4 -1
  43. package/lib/commonjs/mol-geo/util/location-iterator.js +8 -1
  44. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +2 -0
  45. package/lib/commonjs/mol-gl/renderable/cylinders.js +1 -1
  46. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  47. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  48. package/lib/commonjs/mol-gl/shader/cylinders.vert.d.ts +2 -2
  49. package/lib/commonjs/mol-gl/shader/cylinders.vert.js +2 -2
  50. package/lib/commonjs/mol-io/reader/cif/schema/bird.d.ts +1 -1
  51. package/lib/commonjs/mol-io/reader/cif/schema/bird.js +1 -1
  52. package/lib/commonjs/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  53. package/lib/commonjs/mol-io/reader/cif/schema/ccd.js +1 -1
  54. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +2 -2
  55. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +1 -1
  56. package/lib/commonjs/mol-model/structure/model/types/saccharides.js +1 -1
  57. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +2 -2
  58. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +2 -1
  59. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +2 -1
  60. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +6 -3
  61. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +8 -4
  62. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.d.ts +1 -1
  63. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +12 -6
  64. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +9 -7
  65. package/lib/commonjs/mol-plugin-state/transforms/representation.js +16 -10
  66. package/lib/commonjs/mol-plugin-ui/controls/parameters.d.ts +2 -3
  67. package/lib/commonjs/mol-plugin-ui/controls/parameters.js +48 -12
  68. package/lib/commonjs/mol-plugin-ui/controls.d.ts +2 -2
  69. package/lib/commonjs/mol-plugin-ui/controls.js +7 -2
  70. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +1 -1
  71. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +1 -1
  72. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +4 -1
  73. package/lib/commonjs/mol-repr/shape/loci/label.js +16 -9
  74. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +1 -1
  75. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +1 -1
  76. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +1 -1
  77. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +7 -5
  78. package/lib/commonjs/mol-repr/structure/complex-visual.js +3 -2
  79. package/lib/commonjs/mol-repr/structure/params.d.ts +5 -4
  80. package/lib/commonjs/mol-repr/structure/registry.d.ts +15 -10
  81. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +6 -3
  82. package/lib/commonjs/mol-repr/structure/representation/backbone.js +1 -1
  83. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +6 -3
  84. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +6 -3
  85. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +6 -3
  86. package/lib/commonjs/mol-repr/structure/representation/cartoon.js +1 -1
  87. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +6 -3
  88. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +3 -3
  89. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +3 -3
  90. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +3 -3
  91. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +3 -3
  92. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +3 -3
  93. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +7 -5
  94. package/lib/commonjs/mol-repr/structure/units-visual.js +3 -2
  95. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +5 -2
  96. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.js +8 -2
  97. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.js +1 -1
  98. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +5 -2
  99. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +8 -2
  100. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +1 -1
  101. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +2 -1
  102. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -1
  103. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +2 -1
  104. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +4 -4
  105. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -1
  106. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -4
  107. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -1
  108. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-bond.d.ts +4 -2
  109. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-bond.js +27 -26
  110. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-element.d.ts +2 -2
  111. package/lib/commonjs/mol-repr/structure/visual/nucleotide-atomic-ring-fill.d.ts +1 -1
  112. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -1
  113. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -1
  114. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -1
  115. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +4 -2
  116. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.js +4 -4
  117. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -2
  118. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.js +2 -2
  119. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -1
  120. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  121. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -1
  122. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -1
  123. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  124. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -1
  125. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.js +1 -1
  126. package/lib/commonjs/mol-repr/structure/visual/util/bond.d.ts +9 -2
  127. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +28 -2
  128. package/lib/commonjs/mol-repr/structure/visual/util/link.d.ts +2 -0
  129. package/lib/commonjs/mol-repr/structure/visual/util/link.js +16 -13
  130. package/lib/commonjs/mol-repr/structure/visual/util/polymer.d.ts +3 -1
  131. package/lib/commonjs/mol-repr/structure/visual/util/polymer.js +2 -2
  132. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +5 -5
  133. package/lib/commonjs/mol-repr/volume/registry.d.ts +2 -2
  134. package/lib/commonjs/mol-repr/volume/segment.d.ts +5 -5
  135. package/lib/commonjs/mol-util/param-definition.d.ts +9 -2
  136. package/lib/commonjs/mol-util/param-definition.js +2 -2
  137. package/lib/extensions/anvil/behavior.d.ts +1 -1
  138. package/lib/extensions/anvil/representation.d.ts +4 -4
  139. package/lib/extensions/cellpack/representation.d.ts +1 -1
  140. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +3 -3
  141. package/lib/extensions/dnatco/ntc-tube/representation.d.ts +3 -3
  142. package/lib/extensions/mvs/behavior.d.ts +1 -1
  143. package/lib/extensions/mvs/behavior.js +3 -1
  144. package/lib/extensions/mvs/components/annotation-color-theme.d.ts +1 -1
  145. package/lib/extensions/mvs/components/annotation-color-theme.js +3 -2
  146. package/lib/extensions/mvs/components/annotation-label/representation.d.ts +3 -1
  147. package/lib/extensions/mvs/components/annotation-label/representation.js +3 -2
  148. package/lib/extensions/mvs/components/annotation-prop.d.ts +1 -1
  149. package/lib/extensions/mvs/components/annotation-prop.js +2 -2
  150. package/lib/extensions/mvs/components/custom-label/representation.d.ts +1 -1
  151. package/lib/extensions/mvs/components/custom-label/representation.js +4 -3
  152. package/lib/extensions/mvs/components/custom-tooltips-prop.d.ts +1 -1
  153. package/lib/extensions/mvs/components/custom-tooltips-prop.js +2 -2
  154. package/lib/extensions/mvs/components/is-mvs-model-prop.d.ts +21 -0
  155. package/lib/extensions/mvs/components/is-mvs-model-prop.js +35 -0
  156. package/lib/extensions/mvs/components/multilayer-color-theme.d.ts +1 -1
  157. package/lib/extensions/mvs/components/multilayer-color-theme.js +4 -3
  158. package/lib/extensions/mvs/load.d.ts +1 -1
  159. package/lib/extensions/mvs/load.js +5 -2
  160. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +1 -1
  161. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +1 -1
  162. package/lib/extensions/rcsb/graphql/types.d.ts +160 -1
  163. package/lib/extensions/rcsb/validation-report/representation.d.ts +10 -5
  164. package/lib/mol-canvas3d/helper/handle-helper.d.ts +1 -1
  165. package/lib/mol-geo/geometry/color-data.d.ts +1 -0
  166. package/lib/mol-geo/geometry/color-data.js +15 -8
  167. package/lib/mol-geo/geometry/cylinders/cylinders-builder.d.ts +9 -3
  168. package/lib/mol-geo/geometry/cylinders/cylinders-builder.js +13 -6
  169. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +11 -2
  170. package/lib/mol-geo/geometry/cylinders/cylinders.js +14 -9
  171. package/lib/mol-geo/geometry/mesh/mesh.d.ts +1 -1
  172. package/lib/mol-geo/geometry/spheres/spheres.d.ts +1 -1
  173. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +1 -1
  174. package/lib/mol-geo/util/location-iterator.d.ts +4 -1
  175. package/lib/mol-geo/util/location-iterator.js +8 -1
  176. package/lib/mol-gl/renderable/cylinders.d.ts +2 -0
  177. package/lib/mol-gl/renderable/cylinders.js +1 -1
  178. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  179. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  180. package/lib/mol-gl/shader/cylinders.vert.d.ts +2 -2
  181. package/lib/mol-gl/shader/cylinders.vert.js +2 -2
  182. package/lib/mol-io/reader/cif/schema/bird.d.ts +1 -1
  183. package/lib/mol-io/reader/cif/schema/bird.js +1 -1
  184. package/lib/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  185. package/lib/mol-io/reader/cif/schema/ccd.js +1 -1
  186. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +2 -2
  187. package/lib/mol-io/reader/cif/schema/mmcif.js +1 -1
  188. package/lib/mol-model/structure/model/types/saccharides.js +1 -1
  189. package/lib/mol-model-formats/shape/ply.d.ts +2 -2
  190. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +2 -1
  191. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +2 -1
  192. package/lib/mol-model-props/computed/representations/interactions.d.ts +6 -3
  193. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +8 -4
  194. package/lib/mol-plugin/behavior/dynamic/representation.d.ts +1 -1
  195. package/lib/mol-plugin/behavior/dynamic/representation.js +12 -6
  196. package/lib/mol-plugin/version.js +2 -2
  197. package/lib/mol-plugin-state/transforms/representation.d.ts +9 -7
  198. package/lib/mol-plugin-state/transforms/representation.js +16 -10
  199. package/lib/mol-plugin-ui/controls/parameters.d.ts +2 -3
  200. package/lib/mol-plugin-ui/controls/parameters.js +48 -12
  201. package/lib/mol-plugin-ui/controls.d.ts +2 -2
  202. package/lib/mol-plugin-ui/controls.js +7 -2
  203. package/lib/mol-plugin-ui/skin/base/components/controls.scss +14 -3
  204. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +9 -3
  205. package/lib/mol-repr/shape/loci/angle.d.ts +1 -1
  206. package/lib/mol-repr/shape/loci/dihedral.d.ts +1 -1
  207. package/lib/mol-repr/shape/loci/label.d.ts +4 -1
  208. package/lib/mol-repr/shape/loci/label.js +16 -9
  209. package/lib/mol-repr/shape/loci/orientation.d.ts +1 -1
  210. package/lib/mol-repr/shape/loci/plane.d.ts +1 -1
  211. package/lib/mol-repr/shape/model/unitcell.d.ts +1 -1
  212. package/lib/mol-repr/structure/complex-visual.d.ts +7 -5
  213. package/lib/mol-repr/structure/complex-visual.js +3 -2
  214. package/lib/mol-repr/structure/params.d.ts +5 -4
  215. package/lib/mol-repr/structure/registry.d.ts +15 -10
  216. package/lib/mol-repr/structure/representation/backbone.d.ts +6 -3
  217. package/lib/mol-repr/structure/representation/backbone.js +1 -1
  218. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +6 -3
  219. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +6 -3
  220. package/lib/mol-repr/structure/representation/cartoon.d.ts +6 -3
  221. package/lib/mol-repr/structure/representation/cartoon.js +1 -1
  222. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +6 -3
  223. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +3 -3
  224. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +3 -3
  225. package/lib/mol-repr/structure/representation/orientation.d.ts +3 -3
  226. package/lib/mol-repr/structure/representation/putty.d.ts +3 -3
  227. package/lib/mol-repr/structure/representation/spacefill.d.ts +3 -3
  228. package/lib/mol-repr/structure/units-visual.d.ts +7 -5
  229. package/lib/mol-repr/structure/units-visual.js +3 -2
  230. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +5 -2
  231. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.js +8 -2
  232. package/lib/mol-repr/structure/visual/bond-inter-unit-line.js +1 -1
  233. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +5 -2
  234. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +8 -2
  235. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +1 -1
  236. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +2 -1
  237. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +1 -1
  238. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +2 -1
  239. package/lib/mol-repr/structure/visual/element-sphere.d.ts +4 -4
  240. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +1 -1
  241. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +4 -4
  242. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +1 -1
  243. package/lib/mol-repr/structure/visual/nucleotide-atomic-bond.d.ts +4 -2
  244. package/lib/mol-repr/structure/visual/nucleotide-atomic-bond.js +27 -26
  245. package/lib/mol-repr/structure/visual/nucleotide-atomic-element.d.ts +2 -2
  246. package/lib/mol-repr/structure/visual/nucleotide-atomic-ring-fill.d.ts +1 -1
  247. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +1 -1
  248. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +1 -1
  249. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +1 -1
  250. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +4 -2
  251. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.js +4 -4
  252. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +2 -2
  253. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.js +2 -2
  254. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +1 -1
  255. package/lib/mol-repr/structure/visual/polymer-direction-wedge.js +1 -1
  256. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +1 -1
  257. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +1 -1
  258. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  259. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +1 -1
  260. package/lib/mol-repr/structure/visual/polymer-tube-mesh.js +1 -1
  261. package/lib/mol-repr/structure/visual/util/bond.d.ts +9 -2
  262. package/lib/mol-repr/structure/visual/util/bond.js +28 -2
  263. package/lib/mol-repr/structure/visual/util/link.d.ts +2 -0
  264. package/lib/mol-repr/structure/visual/util/link.js +16 -13
  265. package/lib/mol-repr/structure/visual/util/polymer.d.ts +3 -1
  266. package/lib/mol-repr/structure/visual/util/polymer.js +2 -2
  267. package/lib/mol-repr/volume/isosurface.d.ts +5 -5
  268. package/lib/mol-repr/volume/registry.d.ts +2 -2
  269. package/lib/mol-repr/volume/segment.d.ts +5 -5
  270. package/lib/mol-util/param-definition.d.ts +9 -2
  271. package/lib/mol-util/param-definition.js +2 -2
  272. package/package.json +33 -21
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
+ * @author Gianluca Tomasello <giagitom@gmail.com>
5
6
  */
6
7
  import { ParamDefinition as PD } from '../../../mol-util/param-definition';
7
8
  import { Structure } from '../../../mol-model/structure';
@@ -30,11 +31,12 @@ export declare const InterUnitBondCylinderParams: {
30
31
  dashCap: PD.BooleanParam;
31
32
  stubCap: PD.BooleanParam;
32
33
  radialSegments: PD.Numeric;
34
+ colorMode: PD.Select<"default" | "interpolate">;
33
35
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
34
36
  doubleSided: PD.BooleanParam;
35
37
  ignoreLight: PD.BooleanParam;
36
38
  xrayShaded: PD.Select<boolean | "inverted">;
37
- transparentBackfaces: PD.Select<string>;
39
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
38
40
  solidInterior: PD.BooleanParam;
39
41
  bumpFrequency: PD.Numeric;
40
42
  bumpAmplitude: PD.Numeric;
@@ -83,11 +85,12 @@ export declare function InterUnitBondCylinderVisual(materialId: number, structur
83
85
  dashCap: PD.BooleanParam;
84
86
  stubCap: PD.BooleanParam;
85
87
  radialSegments: PD.Numeric;
88
+ colorMode: PD.Select<"default" | "interpolate">;
86
89
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
87
90
  doubleSided: PD.BooleanParam;
88
91
  ignoreLight: PD.BooleanParam;
89
92
  xrayShaded: PD.Select<boolean | "inverted">;
90
- transparentBackfaces: PD.Select<string>;
93
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
91
94
  solidInterior: PD.BooleanParam;
92
95
  bumpFrequency: PD.Numeric;
93
96
  bumpAmplitude: PD.Numeric;
@@ -3,6 +3,7 @@
3
3
  * Copyright (c) 2018-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
+ * @author Gianluca Tomasello <giagitom@gmail.com>
6
7
  */
7
8
  Object.defineProperty(exports, "__esModule", { value: true });
8
9
  exports.InterUnitBondCylinderMeshVisual = exports.InterUnitBondCylinderImpostorVisual = exports.InterUnitBondCylinderVisual = exports.InterUnitBondCylinderParams = void 0;
@@ -182,7 +183,7 @@ function InterUnitBondCylinderImpostorVisual(materialId) {
182
183
  return (0, complex_visual_1.ComplexCylindersVisual)({
183
184
  defaultProps: param_definition_1.ParamDefinition.getDefaultValues(exports.InterUnitBondCylinderParams),
184
185
  createGeometry: createInterUnitBondCylinderImpostors,
185
- createLocationIterator: bond_1.BondIterator.fromStructure,
186
+ createLocationIterator: function (structure, props) { return bond_1.BondIterator.fromStructure(structure, { includeLocation2: props.colorMode === 'interpolate' }); },
186
187
  getLoci: bond_1.getInterBondLoci,
187
188
  eachLocation: bond_1.eachInterBond,
188
189
  setUpdateState: function (state, newProps, currentProps, newTheme, currentTheme, newStructure, currentStructure) {
@@ -204,6 +205,11 @@ function InterUnitBondCylinderImpostorVisual(materialId) {
204
205
  !(0, mol_util_1.arrayEqual)(newProps.excludeTypes, currentProps.excludeTypes) ||
205
206
  newProps.adjustCylinderLength !== currentProps.adjustCylinderLength ||
206
207
  newProps.multipleBonds !== currentProps.multipleBonds);
208
+ if (newProps.colorMode !== currentProps.colorMode) {
209
+ state.createGeometry = true;
210
+ state.updateTransform = true;
211
+ state.updateColor = true;
212
+ }
207
213
  if (newStructure.interUnitBonds !== currentStructure.interUnitBonds) {
208
214
  state.createGeometry = true;
209
215
  state.updateTransform = true;
@@ -221,7 +227,7 @@ function InterUnitBondCylinderMeshVisual(materialId) {
221
227
  return (0, complex_visual_1.ComplexMeshVisual)({
222
228
  defaultProps: param_definition_1.ParamDefinition.getDefaultValues(exports.InterUnitBondCylinderParams),
223
229
  createGeometry: createInterUnitBondCylinderMesh,
224
- createLocationIterator: bond_1.BondIterator.fromStructure,
230
+ createLocationIterator: function (structure) { return bond_1.BondIterator.fromStructure(structure); },
225
231
  getLoci: bond_1.getInterBondLoci,
226
232
  eachLocation: bond_1.eachInterBond,
227
233
  setUpdateState: function (state, newProps, currentProps, newTheme, currentTheme, newStructure, currentStructure) {
@@ -115,7 +115,7 @@ function InterUnitBondLineVisual(materialId) {
115
115
  return (0, complex_visual_1.ComplexLinesVisual)({
116
116
  defaultProps: param_definition_1.ParamDefinition.getDefaultValues(exports.InterUnitBondLineParams),
117
117
  createGeometry: createInterUnitBondLines,
118
- createLocationIterator: bond_1.BondIterator.fromStructure,
118
+ createLocationIterator: function (structure) { return bond_1.BondIterator.fromStructure(structure); },
119
119
  getLoci: bond_1.getInterBondLoci,
120
120
  eachLocation: bond_1.eachInterBond,
121
121
  setUpdateState: function (state, newProps, currentProps, newTheme, currentTheme, newStructure, currentStructure) {
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  * @author David Sehnal <david.sehnal@gmail.com>
6
+ * @author Gianluca Tomasello <giagitom@gmail.com>
6
7
  */
7
8
  import { ParamDefinition as PD } from '../../../mol-util/param-definition';
8
9
  import { Structure } from '../../../mol-model/structure';
@@ -31,11 +32,12 @@ export declare const IntraUnitBondCylinderParams: {
31
32
  dashCap: PD.BooleanParam;
32
33
  stubCap: PD.BooleanParam;
33
34
  radialSegments: PD.Numeric;
35
+ colorMode: PD.Select<"default" | "interpolate">;
34
36
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
35
37
  doubleSided: PD.BooleanParam;
36
38
  ignoreLight: PD.BooleanParam;
37
39
  xrayShaded: PD.Select<boolean | "inverted">;
38
- transparentBackfaces: PD.Select<string>;
40
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
39
41
  solidInterior: PD.BooleanParam;
40
42
  bumpFrequency: PD.Numeric;
41
43
  bumpAmplitude: PD.Numeric;
@@ -84,11 +86,12 @@ export declare function IntraUnitBondCylinderVisual(materialId: number, structur
84
86
  dashCap: PD.BooleanParam;
85
87
  stubCap: PD.BooleanParam;
86
88
  radialSegments: PD.Numeric;
89
+ colorMode: PD.Select<"default" | "interpolate">;
87
90
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
88
91
  doubleSided: PD.BooleanParam;
89
92
  ignoreLight: PD.BooleanParam;
90
93
  xrayShaded: PD.Select<boolean | "inverted">;
91
- transparentBackfaces: PD.Select<string>;
94
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
92
95
  solidInterior: PD.BooleanParam;
93
96
  bumpFrequency: PD.Numeric;
94
97
  bumpAmplitude: PD.Numeric;
@@ -4,6 +4,7 @@
4
4
  *
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  * @author David Sehnal <david.sehnal@gmail.com>
7
+ * @author Gianluca Tomasello <giagitom@gmail.com>
7
8
  */
8
9
  Object.defineProperty(exports, "__esModule", { value: true });
9
10
  exports.IntraUnitBondCylinderMeshVisual = exports.IntraUnitBondCylinderImpostorVisual = exports.IntraUnitBondCylinderVisual = exports.IntraUnitBondCylinderParams = void 0;
@@ -203,7 +204,7 @@ function IntraUnitBondCylinderImpostorVisual(materialId) {
203
204
  return (0, units_visual_1.UnitsCylindersVisual)({
204
205
  defaultProps: param_definition_1.ParamDefinition.getDefaultValues(exports.IntraUnitBondCylinderParams),
205
206
  createGeometry: createIntraUnitBondCylinderImpostors,
206
- createLocationIterator: bond_1.BondIterator.fromGroup,
207
+ createLocationIterator: function (structureGroup, props) { return bond_1.BondIterator.fromGroup(structureGroup, { includeLocation2: props.colorMode === 'interpolate' }); },
207
208
  getLoci: bond_1.getIntraBondLoci,
208
209
  eachLocation: bond_1.eachIntraBond,
209
210
  setUpdateState: function (state, newProps, currentProps, newTheme, currentTheme, newStructureGroup, currentStructureGroup) {
@@ -226,6 +227,11 @@ function IntraUnitBondCylinderImpostorVisual(materialId) {
226
227
  newProps.adjustCylinderLength !== currentProps.adjustCylinderLength ||
227
228
  newProps.aromaticBonds !== currentProps.aromaticBonds ||
228
229
  newProps.multipleBonds !== currentProps.multipleBonds);
230
+ if (newProps.colorMode !== currentProps.colorMode) {
231
+ state.createGeometry = true;
232
+ state.updateTransform = true;
233
+ state.updateColor = true;
234
+ }
229
235
  var newUnit = newStructureGroup.group.units[0];
230
236
  var currentUnit = currentStructureGroup.group.units[0];
231
237
  if (structure_1.Unit.isAtomic(newUnit) && structure_1.Unit.isAtomic(currentUnit)) {
@@ -247,7 +253,7 @@ function IntraUnitBondCylinderMeshVisual(materialId) {
247
253
  return (0, units_visual_1.UnitsMeshVisual)({
248
254
  defaultProps: param_definition_1.ParamDefinition.getDefaultValues(exports.IntraUnitBondCylinderParams),
249
255
  createGeometry: createIntraUnitBondCylinderMesh,
250
- createLocationIterator: bond_1.BondIterator.fromGroup,
256
+ createLocationIterator: function (structureGroup) { return bond_1.BondIterator.fromGroup(structureGroup); },
251
257
  getLoci: bond_1.getIntraBondLoci,
252
258
  eachLocation: bond_1.eachIntraBond,
253
259
  setUpdateState: function (state, newProps, currentProps, newTheme, currentTheme, newStructureGroup, currentStructureGroup) {
@@ -137,7 +137,7 @@ function IntraUnitBondLineVisual(materialId) {
137
137
  return (0, units_visual_1.UnitsLinesVisual)({
138
138
  defaultProps: param_definition_1.ParamDefinition.getDefaultValues(exports.IntraUnitBondLineParams),
139
139
  createGeometry: createIntraUnitBondLines,
140
- createLocationIterator: bond_1.BondIterator.fromGroup,
140
+ createLocationIterator: function (structureGroup) { return bond_1.BondIterator.fromGroup(structureGroup); },
141
141
  getLoci: bond_1.getIntraBondLoci,
142
142
  eachLocation: bond_1.eachIntraBond,
143
143
  setUpdateState: function (state, newProps, currentProps, newTheme, currentTheme, newStructureGroup, currentStructureGroup) {
@@ -18,6 +18,7 @@ export declare const CarbohydrateLinkParams: {
18
18
  dashCap: PD.BooleanParam;
19
19
  stubCap: PD.BooleanParam;
20
20
  radialSegments: PD.Numeric;
21
+ colorMode: PD.Select<"default" | "interpolate">;
21
22
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
22
23
  includeParent: PD.BooleanParam;
23
24
  doubleSided: PD.BooleanParam;
@@ -25,7 +26,7 @@ export declare const CarbohydrateLinkParams: {
25
26
  flatShaded: PD.BooleanParam;
26
27
  ignoreLight: PD.BooleanParam;
27
28
  xrayShaded: PD.Select<boolean | "inverted">;
28
- transparentBackfaces: PD.Select<string>;
29
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
29
30
  bumpFrequency: PD.Numeric;
30
31
  bumpAmplitude: PD.Numeric;
31
32
  alpha: PD.Numeric;
@@ -15,7 +15,7 @@ export declare const CarbohydrateSymbolParams: {
15
15
  flatShaded: PD.BooleanParam;
16
16
  ignoreLight: PD.BooleanParam;
17
17
  xrayShaded: PD.Select<boolean | "inverted">;
18
- transparentBackfaces: PD.Select<string>;
18
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
19
19
  bumpFrequency: PD.Numeric;
20
20
  bumpAmplitude: PD.Numeric;
21
21
  alpha: PD.Numeric;
@@ -18,6 +18,7 @@ export declare const CarbohydrateTerminalLinkParams: {
18
18
  dashCap: PD.BooleanParam;
19
19
  stubCap: PD.BooleanParam;
20
20
  radialSegments: PD.Numeric;
21
+ colorMode: PD.Select<"default" | "interpolate">;
21
22
  unitKinds: PD.MultiSelect<"spheres" | "gaussians" | "atomic">;
22
23
  includeParent: PD.BooleanParam;
23
24
  doubleSided: PD.BooleanParam;
@@ -25,7 +26,7 @@ export declare const CarbohydrateTerminalLinkParams: {
25
26
  flatShaded: PD.BooleanParam;
26
27
  ignoreLight: PD.BooleanParam;
27
28
  xrayShaded: PD.Select<boolean | "inverted">;
28
- transparentBackfaces: PD.Select<string>;
29
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
29
30
  bumpFrequency: PD.Numeric;
30
31
  bumpAmplitude: PD.Numeric;
31
32
  alpha: PD.Numeric;
@@ -31,7 +31,7 @@ export declare const ElementSphereParams: {
31
31
  doubleSided: PD.BooleanParam;
32
32
  ignoreLight: PD.BooleanParam;
33
33
  xrayShaded: PD.Select<boolean | "inverted">;
34
- transparentBackfaces: PD.Select<string>;
34
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
35
35
  solidInterior: PD.BooleanParam;
36
36
  clipPrimitive: PD.BooleanParam;
37
37
  approximate: PD.BooleanParam;
@@ -73,7 +73,7 @@ export declare function ElementSphereVisual(materialId: number, structure: Struc
73
73
  doubleSided: PD.BooleanParam;
74
74
  ignoreLight: PD.BooleanParam;
75
75
  xrayShaded: PD.Select<boolean | "inverted">;
76
- transparentBackfaces: PD.Select<string>;
76
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
77
77
  solidInterior: PD.BooleanParam;
78
78
  clipPrimitive: PD.BooleanParam;
79
79
  approximate: PD.BooleanParam;
@@ -116,7 +116,7 @@ export declare const StructureElementSphereParams: {
116
116
  doubleSided: PD.BooleanParam;
117
117
  ignoreLight: PD.BooleanParam;
118
118
  xrayShaded: PD.Select<boolean | "inverted">;
119
- transparentBackfaces: PD.Select<string>;
119
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
120
120
  solidInterior: PD.BooleanParam;
121
121
  clipPrimitive: PD.BooleanParam;
122
122
  approximate: PD.BooleanParam;
@@ -158,7 +158,7 @@ export declare function StructureElementSphereVisual(materialId: number, structu
158
158
  doubleSided: PD.BooleanParam;
159
159
  ignoreLight: PD.BooleanParam;
160
160
  xrayShaded: PD.Select<boolean | "inverted">;
161
- transparentBackfaces: PD.Select<string>;
161
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
162
162
  solidInterior: PD.BooleanParam;
163
163
  clipPrimitive: PD.BooleanParam;
164
164
  approximate: PD.BooleanParam;
@@ -20,7 +20,7 @@ export declare const EllipsoidMeshParams: {
20
20
  flatShaded: PD.BooleanParam;
21
21
  ignoreLight: PD.BooleanParam;
22
22
  xrayShaded: PD.Select<boolean | "inverted">;
23
- transparentBackfaces: PD.Select<string>;
23
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
24
24
  bumpFrequency: PD.Numeric;
25
25
  bumpAmplitude: PD.Numeric;
26
26
  alpha: PD.Numeric;
@@ -27,7 +27,7 @@ export declare const GaussianSurfaceMeshParams: {
27
27
  flatShaded: PD.BooleanParam;
28
28
  ignoreLight: PD.BooleanParam;
29
29
  xrayShaded: PD.Select<boolean | "inverted">;
30
- transparentBackfaces: PD.Select<string>;
30
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
31
31
  bumpFrequency: PD.Numeric;
32
32
  bumpAmplitude: PD.Numeric;
33
33
  alpha: PD.Numeric;
@@ -69,7 +69,7 @@ export declare const StructureGaussianSurfaceMeshParams: {
69
69
  flatShaded: PD.BooleanParam;
70
70
  ignoreLight: PD.BooleanParam;
71
71
  xrayShaded: PD.Select<boolean | "inverted">;
72
- transparentBackfaces: PD.Select<string>;
72
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
73
73
  bumpFrequency: PD.Numeric;
74
74
  bumpAmplitude: PD.Numeric;
75
75
  alpha: PD.Numeric;
@@ -111,7 +111,7 @@ export declare function GaussianSurfaceVisual(materialId: number, structure: Str
111
111
  flatShaded: PD.BooleanParam;
112
112
  ignoreLight: PD.BooleanParam;
113
113
  xrayShaded: PD.Select<boolean | "inverted">;
114
- transparentBackfaces: PD.Select<string>;
114
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
115
115
  bumpFrequency: PD.Numeric;
116
116
  bumpAmplitude: PD.Numeric;
117
117
  alpha: PD.Numeric;
@@ -152,7 +152,7 @@ export declare function StructureGaussianSurfaceVisual(materialId: number, struc
152
152
  flatShaded: PD.BooleanParam;
153
153
  ignoreLight: PD.BooleanParam;
154
154
  xrayShaded: PD.Select<boolean | "inverted">;
155
- transparentBackfaces: PD.Select<string>;
155
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
156
156
  bumpFrequency: PD.Numeric;
157
157
  bumpAmplitude: PD.Numeric;
158
158
  alpha: PD.Numeric;
@@ -24,7 +24,7 @@ export declare const MolecularSurfaceMeshParams: {
24
24
  flatShaded: PD.BooleanParam;
25
25
  ignoreLight: PD.BooleanParam;
26
26
  xrayShaded: PD.Select<boolean | "inverted">;
27
- transparentBackfaces: PD.Select<string>;
27
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
28
28
  bumpFrequency: PD.Numeric;
29
29
  bumpAmplitude: PD.Numeric;
30
30
  alpha: PD.Numeric;
@@ -18,10 +18,11 @@ export declare const NucleotideAtomicBondParams: {
18
18
  doubleSided: PD.BooleanParam;
19
19
  ignoreLight: PD.BooleanParam;
20
20
  xrayShaded: PD.Select<boolean | "inverted">;
21
- transparentBackfaces: PD.Select<string>;
21
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
22
22
  solidInterior: PD.BooleanParam;
23
23
  bumpFrequency: PD.Numeric;
24
24
  bumpAmplitude: PD.Numeric;
25
+ colorMode: PD.Select<"default" | "interpolate">;
25
26
  alpha: PD.Numeric;
26
27
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
27
28
  material: PD.Group<PD.Normalize<{
@@ -54,10 +55,11 @@ export declare function NucleotideAtomicBondVisual(materialId: number, structure
54
55
  doubleSided: PD.BooleanParam;
55
56
  ignoreLight: PD.BooleanParam;
56
57
  xrayShaded: PD.Select<boolean | "inverted">;
57
- transparentBackfaces: PD.Select<string>;
58
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
58
59
  solidInterior: PD.BooleanParam;
59
60
  bumpFrequency: PD.Numeric;
60
61
  bumpAmplitude: PD.Numeric;
62
+ colorMode: PD.Select<"default" | "interpolate">;
61
63
  alpha: PD.Numeric;
62
64
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
63
65
  material: PD.Group<PD.Normalize<{
@@ -59,6 +59,7 @@ function createNucleotideAtomicBondImpostor(ctx, unit, structure, theme, props,
59
59
  var chainIt = int_1.Segmentation.transientSegments(chainAtomSegments, elements);
60
60
  var residueIt = int_1.Segmentation.transientSegments(residueAtomSegments, elements);
61
61
  var i = 0;
62
+ var colorModeFlag = 2.0;
62
63
  while (chainIt.hasNext) {
63
64
  residueIt.setSegment(chainIt.move());
64
65
  while (residueIt.hasNext) {
@@ -74,13 +75,13 @@ function createNucleotideAtomicBondImpostor(ctx, unit, structure, theme, props,
74
75
  pos(idx.O4_1, pO4_1);
75
76
  // trace cylinder
76
77
  pos(idx.trace, pTrace);
77
- builder.add(pC3_1[0], pC3_1[1], pC3_1[2], pTrace[0], pTrace[1], pTrace[2], 1, true, true, i);
78
+ builder.add(pC3_1[0], pC3_1[1], pC3_1[2], pTrace[0], pTrace[1], pTrace[2], 1, true, true, colorModeFlag, i);
78
79
  // sugar ring
79
- builder.add(pC3_1[0], pC3_1[1], pC3_1[2], pC4_1[0], pC4_1[1], pC4_1[2], 1, true, true, i);
80
- builder.add(pC4_1[0], pC4_1[1], pC4_1[2], pO4_1[0], pO4_1[1], pO4_1[2], 1, true, true, i);
81
- builder.add(pO4_1[0], pO4_1[1], pO4_1[2], pC1_1[0], pC1_1[1], pC1_1[2], 1, true, true, i);
82
- builder.add(pC1_1[0], pC1_1[1], pC1_1[2], pC2_1[0], pC2_1[1], pC2_1[2], 1, true, true, i);
83
- builder.add(pC2_1[0], pC2_1[1], pC2_1[2], pC3_1[0], pC3_1[1], pC3_1[2], 1, true, true, i);
80
+ builder.add(pC3_1[0], pC3_1[1], pC3_1[2], pC4_1[0], pC4_1[1], pC4_1[2], 1, true, true, colorModeFlag, i);
81
+ builder.add(pC4_1[0], pC4_1[1], pC4_1[2], pO4_1[0], pO4_1[1], pO4_1[2], 1, true, true, colorModeFlag, i);
82
+ builder.add(pO4_1[0], pO4_1[1], pO4_1[2], pC1_1[0], pC1_1[1], pC1_1[2], 1, true, true, colorModeFlag, i);
83
+ builder.add(pC1_1[0], pC1_1[1], pC1_1[2], pC2_1[0], pC2_1[1], pC2_1[2], 1, true, true, colorModeFlag, i);
84
+ builder.add(pC2_1[0], pC2_1[1], pC2_1[2], pC3_1[0], pC3_1[1], pC3_1[2], 1, true, true, colorModeFlag, i);
84
85
  }
85
86
  var _b = (0, nucleotide_1.getNucleotideBaseType)(unit, residueIndex), isPurine = _b.isPurine, isPyrimidine = _b.isPyrimidine;
86
87
  if (isPurine) {
@@ -88,12 +89,12 @@ function createNucleotideAtomicBondImpostor(ctx, unit, structure, theme, props,
88
89
  if (idx.C1_1 !== -1 && idx.N9 !== -1) {
89
90
  pos(idx.C1_1, pC1_1);
90
91
  pos(idx.N9, pN9);
91
- builder.add(pN9[0], pN9[1], pN9[2], pC1_1[0], pC1_1[1], pC1_1[2], 1, true, true, i);
92
+ builder.add(pN9[0], pN9[1], pN9[2], pC1_1[0], pC1_1[1], pC1_1[2], 1, true, true, colorModeFlag, i);
92
93
  }
93
94
  else if (idx.N9 !== -1 && idx.trace !== -1) {
94
95
  pos(idx.N9, pN9);
95
96
  pos(idx.trace, pTrace);
96
- builder.add(pN9[0], pN9[1], pN9[2], pTrace[0], pTrace[1], pTrace[2], 1, true, true, i);
97
+ builder.add(pN9[0], pN9[1], pN9[2], pTrace[0], pTrace[1], pTrace[2], 1, true, true, colorModeFlag, i);
97
98
  }
98
99
  if ((0, nucleotide_1.hasPurinIndices)(idx)) {
99
100
  pos(idx.N1, pN1);
@@ -106,16 +107,16 @@ function createNucleotideAtomicBondImpostor(ctx, unit, structure, theme, props,
106
107
  pos(idx.C8, pC8);
107
108
  pos(idx.N9, pN9);
108
109
  // base ring
109
- builder.add(pN9[0], pN9[1], pN9[2], pC8[0], pC8[1], pC8[2], 1, true, true, i);
110
- builder.add(pC8[0], pC8[1], pC8[2], pN7[0], pN7[1], pN7[2], 1, true, true, i);
111
- builder.add(pN7[0], pN7[1], pN7[2], pC5[0], pC5[1], pC5[2], 1, true, true, i);
112
- builder.add(pC5[0], pC5[1], pC5[2], pC6[0], pC6[1], pC6[2], 1, true, true, i);
113
- builder.add(pC6[0], pC6[1], pC6[2], pN1[0], pN1[1], pN1[2], 1, true, true, i);
114
- builder.add(pN1[0], pN1[1], pN1[2], pC2[0], pC2[1], pC2[2], 1, true, true, i);
115
- builder.add(pC2[0], pC2[1], pC2[2], pN3[0], pN3[1], pN3[2], 1, true, true, i);
116
- builder.add(pN3[0], pN3[1], pN3[2], pC4[0], pC4[1], pC4[2], 1, true, true, i);
117
- builder.add(pC4[0], pC4[1], pC4[2], pC5[0], pC5[1], pC5[2], 1, true, true, i);
118
- builder.add(pC4[0], pC4[1], pC4[2], pN9[0], pN9[1], pN9[2], 1, true, true, i);
110
+ builder.add(pN9[0], pN9[1], pN9[2], pC8[0], pC8[1], pC8[2], 1, true, true, colorModeFlag, i);
111
+ builder.add(pC8[0], pC8[1], pC8[2], pN7[0], pN7[1], pN7[2], 1, true, true, colorModeFlag, i);
112
+ builder.add(pN7[0], pN7[1], pN7[2], pC5[0], pC5[1], pC5[2], 1, true, true, colorModeFlag, i);
113
+ builder.add(pC5[0], pC5[1], pC5[2], pC6[0], pC6[1], pC6[2], 1, true, true, colorModeFlag, i);
114
+ builder.add(pC6[0], pC6[1], pC6[2], pN1[0], pN1[1], pN1[2], 1, true, true, colorModeFlag, i);
115
+ builder.add(pN1[0], pN1[1], pN1[2], pC2[0], pC2[1], pC2[2], 1, true, true, colorModeFlag, i);
116
+ builder.add(pC2[0], pC2[1], pC2[2], pN3[0], pN3[1], pN3[2], 1, true, true, colorModeFlag, i);
117
+ builder.add(pN3[0], pN3[1], pN3[2], pC4[0], pC4[1], pC4[2], 1, true, true, colorModeFlag, i);
118
+ builder.add(pC4[0], pC4[1], pC4[2], pC5[0], pC5[1], pC5[2], 1, true, true, colorModeFlag, i);
119
+ builder.add(pC4[0], pC4[1], pC4[2], pN9[0], pN9[1], pN9[2], 1, true, true, colorModeFlag, i);
119
120
  }
120
121
  }
121
122
  else if (isPyrimidine) {
@@ -123,12 +124,12 @@ function createNucleotideAtomicBondImpostor(ctx, unit, structure, theme, props,
123
124
  if (idx.C1_1 !== -1 && idx.N1 !== -1) {
124
125
  pos(idx.N1, pN1);
125
126
  pos(idx.C1_1, pC1_1);
126
- builder.add(pN1[0], pN1[1], pN1[2], pC1_1[0], pC1_1[1], pC1_1[2], 1, true, true, i);
127
+ builder.add(pN1[0], pN1[1], pN1[2], pC1_1[0], pC1_1[1], pC1_1[2], 1, true, true, colorModeFlag, i);
127
128
  }
128
129
  else if (idx.N1 !== -1 && idx.trace !== -1) {
129
130
  pos(idx.N1, pN1);
130
131
  pos(idx.trace, pTrace);
131
- builder.add(pN1[0], pN1[1], pN1[2], pTrace[0], pTrace[1], pTrace[2], 1, true, true, i);
132
+ builder.add(pN1[0], pN1[1], pN1[2], pTrace[0], pTrace[1], pTrace[2], 1, true, true, colorModeFlag, i);
132
133
  }
133
134
  if ((0, nucleotide_1.hasPyrimidineIndices)(idx)) {
134
135
  pos(idx.N1, pN1);
@@ -138,12 +139,12 @@ function createNucleotideAtomicBondImpostor(ctx, unit, structure, theme, props,
138
139
  pos(idx.C5, pC5);
139
140
  pos(idx.C6, pC6);
140
141
  // base ring
141
- builder.add(pN1[0], pN1[1], pN1[2], pC6[0], pC6[1], pC6[2], 1, true, true, i);
142
- builder.add(pC6[0], pC6[1], pC6[2], pC5[0], pC5[1], pC5[2], 1, true, true, i);
143
- builder.add(pC5[0], pC5[1], pC5[2], pC4[0], pC4[1], pC4[2], 1, true, true, i);
144
- builder.add(pC4[0], pC4[1], pC4[2], pN3[0], pN3[1], pN3[2], 1, true, true, i);
145
- builder.add(pN3[0], pN3[1], pN3[2], pC2[0], pC2[1], pC2[2], 1, true, true, i);
146
- builder.add(pC2[0], pC2[1], pC2[2], pN1[0], pN1[1], pN1[2], 1, true, true, i);
142
+ builder.add(pN1[0], pN1[1], pN1[2], pC6[0], pC6[1], pC6[2], 1, true, true, colorModeFlag, i);
143
+ builder.add(pC6[0], pC6[1], pC6[2], pC5[0], pC5[1], pC5[2], 1, true, true, colorModeFlag, i);
144
+ builder.add(pC5[0], pC5[1], pC5[2], pC4[0], pC4[1], pC4[2], 1, true, true, colorModeFlag, i);
145
+ builder.add(pC4[0], pC4[1], pC4[2], pN3[0], pN3[1], pN3[2], 1, true, true, colorModeFlag, i);
146
+ builder.add(pN3[0], pN3[1], pN3[2], pC2[0], pC2[1], pC2[2], 1, true, true, colorModeFlag, i);
147
+ builder.add(pC2[0], pC2[1], pC2[2], pN1[0], pN1[1], pN1[2], 1, true, true, colorModeFlag, i);
147
148
  }
148
149
  }
149
150
  ++i;
@@ -17,7 +17,7 @@ export declare const NucleotideAtomicElementParams: {
17
17
  doubleSided: PD.BooleanParam;
18
18
  ignoreLight: PD.BooleanParam;
19
19
  xrayShaded: PD.Select<boolean | "inverted">;
20
- transparentBackfaces: PD.Select<string>;
20
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
21
21
  solidInterior: PD.BooleanParam;
22
22
  clipPrimitive: PD.BooleanParam;
23
23
  approximate: PD.BooleanParam;
@@ -55,7 +55,7 @@ export declare function NucleotideAtomicElementVisual(materialId: number, struct
55
55
  doubleSided: PD.BooleanParam;
56
56
  ignoreLight: PD.BooleanParam;
57
57
  xrayShaded: PD.Select<boolean | "inverted">;
58
- transparentBackfaces: PD.Select<string>;
58
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
59
59
  solidInterior: PD.BooleanParam;
60
60
  clipPrimitive: PD.BooleanParam;
61
61
  approximate: PD.BooleanParam;
@@ -25,7 +25,7 @@ export declare const NucleotideAtomicRingFillParams: {
25
25
  flatShaded: PD.BooleanParam;
26
26
  ignoreLight: PD.BooleanParam;
27
27
  xrayShaded: PD.Select<boolean | "inverted">;
28
- transparentBackfaces: PD.Select<string>;
28
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
29
29
  bumpFrequency: PD.Numeric;
30
30
  bumpAmplitude: PD.Numeric;
31
31
  alpha: PD.Numeric;
@@ -27,7 +27,7 @@ export declare const NucleotideBlockParams: {
27
27
  flatShaded: PD.BooleanParam;
28
28
  ignoreLight: PD.BooleanParam;
29
29
  xrayShaded: PD.Select<boolean | "inverted">;
30
- transparentBackfaces: PD.Select<string>;
30
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
31
31
  bumpFrequency: PD.Numeric;
32
32
  bumpAmplitude: PD.Numeric;
33
33
  alpha: PD.Numeric;
@@ -30,7 +30,7 @@ export declare const NucleotideRingParams: {
30
30
  flatShaded: PD.BooleanParam;
31
31
  ignoreLight: PD.BooleanParam;
32
32
  xrayShaded: PD.Select<boolean | "inverted">;
33
- transparentBackfaces: PD.Select<string>;
33
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
34
34
  bumpFrequency: PD.Numeric;
35
35
  bumpAmplitude: PD.Numeric;
36
36
  alpha: PD.Numeric;
@@ -19,7 +19,7 @@ export declare const OrientationEllipsoidMeshParams: {
19
19
  flatShaded: PD.BooleanParam;
20
20
  ignoreLight: PD.BooleanParam;
21
21
  xrayShaded: PD.Select<boolean | "inverted">;
22
- transparentBackfaces: PD.Select<string>;
22
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
23
23
  bumpFrequency: PD.Numeric;
24
24
  bumpAmplitude: PD.Numeric;
25
25
  alpha: PD.Numeric;
@@ -17,10 +17,11 @@ export declare const PolymerBackboneCylinderParams: {
17
17
  doubleSided: PD.BooleanParam;
18
18
  ignoreLight: PD.BooleanParam;
19
19
  xrayShaded: PD.Select<boolean | "inverted">;
20
- transparentBackfaces: PD.Select<string>;
20
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
21
21
  solidInterior: PD.BooleanParam;
22
22
  bumpFrequency: PD.Numeric;
23
23
  bumpAmplitude: PD.Numeric;
24
+ colorMode: PD.Select<"default" | "interpolate">;
24
25
  alpha: PD.Numeric;
25
26
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
26
27
  material: PD.Group<PD.Normalize<{
@@ -53,10 +54,11 @@ export declare function PolymerBackboneCylinderVisual(materialId: number, struct
53
54
  doubleSided: PD.BooleanParam;
54
55
  ignoreLight: PD.BooleanParam;
55
56
  xrayShaded: PD.Select<boolean | "inverted">;
56
- transparentBackfaces: PD.Select<string>;
57
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
57
58
  solidInterior: PD.BooleanParam;
58
59
  bumpFrequency: PD.Numeric;
59
60
  bumpAmplitude: PD.Numeric;
61
+ colorMode: PD.Select<"default" | "interpolate">;
60
62
  alpha: PD.Numeric;
61
63
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
62
64
  material: PD.Group<PD.Normalize<{
@@ -48,8 +48,8 @@ function createPolymerBackboneCylinderImpostor(ctx, unit, structure, theme, prop
48
48
  var isNucleicType = (0, types_1.isNucleic)(moleculeType);
49
49
  var shift = isNucleicType ? polymer_1.NucleicShift : polymer_1.StandardShift;
50
50
  v3add(pM, pA, v3scale(pM, v3sub(pM, pB, pA), shift));
51
- builder.add(pA[0], pA[1], pA[2], pM[0], pM[1], pM[2], 1, false, false, groupA);
52
- builder.add(pM[0], pM[1], pM[2], pB[0], pB[1], pB[2], 1, false, false, groupB);
51
+ builder.add(pA[0], pA[1], pA[2], pM[0], pM[1], pM[2], 1, false, false, 2, groupA);
52
+ builder.add(pM[0], pM[1], pM[2], pB[0], pB[1], pB[2], 1, false, false, 2, groupB);
53
53
  };
54
54
  (0, backbone_1.eachPolymerBackboneLink)(unit, add);
55
55
  var c = builder.getCylinders();
@@ -61,7 +61,7 @@ function PolymerBackboneCylinderImpostorVisual(materialId) {
61
61
  return (0, units_visual_1.UnitsCylindersVisual)({
62
62
  defaultProps: param_definition_1.ParamDefinition.getDefaultValues(exports.PolymerBackboneCylinderParams),
63
63
  createGeometry: createPolymerBackboneCylinderImpostor,
64
- createLocationIterator: polymer_1.PolymerLocationIterator.fromGroup,
64
+ createLocationIterator: function (structureGroup) { return polymer_1.PolymerLocationIterator.fromGroup(structureGroup); },
65
65
  getLoci: polymer_1.getPolymerElementLoci,
66
66
  eachLocation: polymer_1.eachPolymerElement,
67
67
  setUpdateState: function (state, newProps, currentProps) { },
@@ -108,7 +108,7 @@ function PolymerBackboneCylinderMeshVisual(materialId) {
108
108
  return (0, units_visual_1.UnitsMeshVisual)({
109
109
  defaultProps: param_definition_1.ParamDefinition.getDefaultValues(exports.PolymerBackboneCylinderParams),
110
110
  createGeometry: createPolymerBackboneCylinderMesh,
111
- createLocationIterator: polymer_1.PolymerLocationIterator.fromGroup,
111
+ createLocationIterator: function (structureGroup) { return polymer_1.PolymerLocationIterator.fromGroup(structureGroup); },
112
112
  getLoci: polymer_1.getPolymerElementLoci,
113
113
  eachLocation: polymer_1.eachPolymerElement,
114
114
  setUpdateState: function (state, newProps, currentProps) {
@@ -16,7 +16,7 @@ export declare const PolymerBackboneSphereParams: {
16
16
  doubleSided: PD.BooleanParam;
17
17
  ignoreLight: PD.BooleanParam;
18
18
  xrayShaded: PD.Select<boolean | "inverted">;
19
- transparentBackfaces: PD.Select<string>;
19
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
20
20
  solidInterior: PD.BooleanParam;
21
21
  clipPrimitive: PD.BooleanParam;
22
22
  approximate: PD.BooleanParam;
@@ -54,7 +54,7 @@ export declare function PolymerBackboneSphereVisual(materialId: number, structur
54
54
  doubleSided: PD.BooleanParam;
55
55
  ignoreLight: PD.BooleanParam;
56
56
  xrayShaded: PD.Select<boolean | "inverted">;
57
- transparentBackfaces: PD.Select<string>;
57
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
58
58
  solidInterior: PD.BooleanParam;
59
59
  clipPrimitive: PD.BooleanParam;
60
60
  approximate: PD.BooleanParam;
@@ -49,7 +49,7 @@ function PolymerBackboneSphereImpostorVisual(materialId) {
49
49
  return (0, units_visual_1.UnitsSpheresVisual)({
50
50
  defaultProps: param_definition_1.ParamDefinition.getDefaultValues(exports.PolymerBackboneSphereParams),
51
51
  createGeometry: createPolymerBackboneSphereImpostor,
52
- createLocationIterator: polymer_1.PolymerLocationIterator.fromGroup,
52
+ createLocationIterator: function (structureGroup) { return polymer_1.PolymerLocationIterator.fromGroup(structureGroup); },
53
53
  getLoci: polymer_1.getPolymerElementLoci,
54
54
  eachLocation: polymer_1.eachPolymerElement,
55
55
  setUpdateState: function (state, newProps, currentProps) { },
@@ -85,7 +85,7 @@ function PolymerBackboneSphereMeshVisual(materialId) {
85
85
  return (0, units_visual_1.UnitsMeshVisual)({
86
86
  defaultProps: param_definition_1.ParamDefinition.getDefaultValues(exports.PolymerBackboneSphereParams),
87
87
  createGeometry: createPolymerBackboneSphereMesh,
88
- createLocationIterator: polymer_1.PolymerLocationIterator.fromGroup,
88
+ createLocationIterator: function (structureGroup) { return polymer_1.PolymerLocationIterator.fromGroup(structureGroup); },
89
89
  getLoci: polymer_1.getPolymerElementLoci,
90
90
  eachLocation: polymer_1.eachPolymerElement,
91
91
  setUpdateState: function (state, newProps, currentProps) {
@@ -21,7 +21,7 @@ export declare const PolymerDirectionParams: {
21
21
  flatShaded: PD.BooleanParam;
22
22
  ignoreLight: PD.BooleanParam;
23
23
  xrayShaded: PD.Select<boolean | "inverted">;
24
- transparentBackfaces: PD.Select<string>;
24
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
25
25
  bumpFrequency: PD.Numeric;
26
26
  bumpAmplitude: PD.Numeric;
27
27
  alpha: PD.Numeric;
@@ -76,7 +76,7 @@ function PolymerDirectionVisual(materialId) {
76
76
  return (0, units_visual_1.UnitsMeshVisual)({
77
77
  defaultProps: param_definition_1.ParamDefinition.getDefaultValues(exports.PolymerDirectionParams),
78
78
  createGeometry: createPolymerDirectionWedgeMesh,
79
- createLocationIterator: polymer_1.PolymerLocationIterator.fromGroup,
79
+ createLocationIterator: function (structureGroup) { return polymer_1.PolymerLocationIterator.fromGroup(structureGroup); },
80
80
  getLoci: polymer_1.getPolymerElementLoci,
81
81
  eachLocation: polymer_1.eachPolymerElement,
82
82
  setUpdateState: function (state, newProps, currentProps) {
@@ -25,7 +25,7 @@ export declare const PolymerGapParams: {
25
25
  flatShaded: PD.BooleanParam;
26
26
  ignoreLight: PD.BooleanParam;
27
27
  xrayShaded: PD.Select<boolean | "inverted">;
28
- transparentBackfaces: PD.Select<string>;
28
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
29
29
  bumpFrequency: PD.Numeric;
30
30
  bumpAmplitude: PD.Numeric;
31
31
  alpha: PD.Numeric;