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
@@ -20,7 +20,7 @@ export declare const PuttyParams: {
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
  bumpAmplitude: PD.Numeric;
25
25
  alpha: PD.Numeric;
26
26
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
@@ -56,7 +56,7 @@ export declare function getPuttyParams(ctx: ThemeRegistryContext, structure: Str
56
56
  flatShaded: PD.BooleanParam;
57
57
  ignoreLight: PD.BooleanParam;
58
58
  xrayShaded: PD.Select<boolean | "inverted">;
59
- transparentBackfaces: PD.Select<string>;
59
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
60
60
  bumpAmplitude: PD.Numeric;
61
61
  alpha: PD.Numeric;
62
62
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
@@ -93,7 +93,7 @@ export declare const PuttyRepresentationProvider: StructureRepresentationProvide
93
93
  flatShaded: PD.BooleanParam;
94
94
  ignoreLight: PD.BooleanParam;
95
95
  xrayShaded: PD.Select<boolean | "inverted">;
96
- transparentBackfaces: PD.Select<string>;
96
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
97
97
  bumpAmplitude: PD.Numeric;
98
98
  alpha: PD.Numeric;
99
99
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
@@ -23,7 +23,7 @@ export declare const SpacefillParams: {
23
23
  doubleSided: PD.BooleanParam;
24
24
  ignoreLight: PD.BooleanParam;
25
25
  xrayShaded: PD.Select<boolean | "inverted">;
26
- transparentBackfaces: PD.Select<string>;
26
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
27
27
  solidInterior: PD.BooleanParam;
28
28
  clipPrimitive: PD.BooleanParam;
29
29
  approximate: PD.BooleanParam;
@@ -66,7 +66,7 @@ export declare function getSpacefillParams(ctx: ThemeRegistryContext, structure:
66
66
  doubleSided: PD.BooleanParam;
67
67
  ignoreLight: PD.BooleanParam;
68
68
  xrayShaded: PD.Select<boolean | "inverted">;
69
- transparentBackfaces: PD.Select<string>;
69
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
70
70
  solidInterior: PD.BooleanParam;
71
71
  clipPrimitive: PD.BooleanParam;
72
72
  approximate: PD.BooleanParam;
@@ -110,7 +110,7 @@ export declare const SpacefillRepresentationProvider: StructureRepresentationPro
110
110
  doubleSided: PD.BooleanParam;
111
111
  ignoreLight: PD.BooleanParam;
112
112
  xrayShaded: PD.Select<boolean | "inverted">;
113
- transparentBackfaces: PD.Select<string>;
113
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
114
114
  solidInterior: PD.BooleanParam;
115
115
  clipPrimitive: PD.BooleanParam;
116
116
  approximate: PD.BooleanParam;
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) 2018-2023 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, Unit } from '../../mol-model/structure';
@@ -31,7 +32,7 @@ export interface UnitsVisual<P extends RepresentationProps = {}> extends Visual<
31
32
  interface UnitsVisualBuilder<P extends StructureParams, G extends Geometry> {
32
33
  defaultProps: PD.Values<P>;
33
34
  createGeometry(ctx: VisualContext, unit: Unit, structure: Structure, theme: Theme, props: PD.Values<P>, geometry?: G): Promise<G> | G;
34
- createLocationIterator(structureGroup: StructureGroup): LocationIterator;
35
+ createLocationIterator(structureGroup: StructureGroup, props: PD.Values<P>): LocationIterator;
35
36
  getLoci(pickingId: PickingId, structureGroup: StructureGroup, id: number): Loci;
36
37
  eachLocation(loci: Loci, structureGroup: StructureGroup, apply: (interval: Interval) => boolean, isMarking: boolean): boolean;
37
38
  setUpdateState(state: VisualUpdateState, newProps: PD.Values<P>, currentProps: PD.Values<P>, newTheme: Theme, currentTheme: Theme, newStructureGroup: StructureGroup, currentStructureGroup: StructureGroup): void;
@@ -51,7 +52,7 @@ export declare const UnitsMeshParams: {
51
52
  flatShaded: PD.BooleanParam;
52
53
  ignoreLight: PD.BooleanParam;
53
54
  xrayShaded: PD.Select<boolean | "inverted">;
54
- transparentBackfaces: PD.Select<string>;
55
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
55
56
  bumpFrequency: PD.Numeric;
56
57
  bumpAmplitude: PD.Numeric;
57
58
  alpha: PD.Numeric;
@@ -84,7 +85,7 @@ export declare const UnitsSpheresParams: {
84
85
  doubleSided: PD.BooleanParam;
85
86
  ignoreLight: PD.BooleanParam;
86
87
  xrayShaded: PD.Select<boolean | "inverted">;
87
- transparentBackfaces: PD.Select<string>;
88
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
88
89
  solidInterior: PD.BooleanParam;
89
90
  clipPrimitive: PD.BooleanParam;
90
91
  approximate: PD.BooleanParam;
@@ -122,10 +123,11 @@ export declare const UnitsCylindersParams: {
122
123
  doubleSided: PD.BooleanParam;
123
124
  ignoreLight: PD.BooleanParam;
124
125
  xrayShaded: PD.Select<boolean | "inverted">;
125
- transparentBackfaces: PD.Select<string>;
126
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
126
127
  solidInterior: PD.BooleanParam;
127
128
  bumpFrequency: PD.Numeric;
128
129
  bumpAmplitude: PD.Numeric;
130
+ colorMode: PD.Select<"default" | "interpolate">;
129
131
  alpha: PD.Numeric;
130
132
  quality: PD.Select<"auto" | "medium" | "high" | "low" | "custom" | "highest" | "higher" | "lower" | "lowest">;
131
133
  material: PD.Group<PD.Normalize<{
@@ -290,7 +292,7 @@ export declare const UnitsTextureMeshParams: {
290
292
  flatShaded: PD.BooleanParam;
291
293
  ignoreLight: PD.BooleanParam;
292
294
  xrayShaded: PD.Select<boolean | "inverted">;
293
- transparentBackfaces: PD.Select<string>;
295
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
294
296
  bumpFrequency: PD.Numeric;
295
297
  bumpAmplitude: PD.Numeric;
296
298
  alpha: PD.Numeric;
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) 2018-2023 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 { __assign } from "tslib";
7
8
  import { Structure, Unit, StructureElement, Bond } from '../../mol-model/structure';
@@ -131,7 +132,7 @@ export function UnitsVisual(builder, materialId) {
131
132
  }
132
133
  function update(newGeometry) {
133
134
  if (updateState.createNew) {
134
- locationIt = createLocationIterator(newStructureGroup);
135
+ locationIt = createLocationIterator(newStructureGroup, newProps);
135
136
  if (newGeometry) {
136
137
  renderObject = createUnitsRenderObject(newStructureGroup, newGeometry, locationIt, newTheme, newProps, materialId);
137
138
  positionIt = createPositionIterator(newGeometry, renderObject.values);
@@ -146,7 +147,7 @@ export function UnitsVisual(builder, materialId) {
146
147
  }
147
148
  if (updateState.updateTransform) {
148
149
  // console.log('update transform');
149
- locationIt = createLocationIterator(newStructureGroup);
150
+ locationIt = createLocationIterator(newStructureGroup, newProps);
150
151
  var instanceCount = locationIt.instanceCount, groupCount = locationIt.groupCount;
151
152
  if (newProps.instanceGranularity) {
152
153
  createMarkers(instanceCount, 'instance', renderObject.values);
@@ -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;
@@ -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 { __assign } from "tslib";
7
8
  import { ParamDefinition as PD } from '../../../mol-util/param-definition';
@@ -178,7 +179,7 @@ export function InterUnitBondCylinderImpostorVisual(materialId) {
178
179
  return ComplexCylindersVisual({
179
180
  defaultProps: PD.getDefaultValues(InterUnitBondCylinderParams),
180
181
  createGeometry: createInterUnitBondCylinderImpostors,
181
- createLocationIterator: BondIterator.fromStructure,
182
+ createLocationIterator: function (structure, props) { return BondIterator.fromStructure(structure, { includeLocation2: props.colorMode === 'interpolate' }); },
182
183
  getLoci: getInterBondLoci,
183
184
  eachLocation: eachInterBond,
184
185
  setUpdateState: function (state, newProps, currentProps, newTheme, currentTheme, newStructure, currentStructure) {
@@ -200,6 +201,11 @@ export function InterUnitBondCylinderImpostorVisual(materialId) {
200
201
  !arrayEqual(newProps.excludeTypes, currentProps.excludeTypes) ||
201
202
  newProps.adjustCylinderLength !== currentProps.adjustCylinderLength ||
202
203
  newProps.multipleBonds !== currentProps.multipleBonds);
204
+ if (newProps.colorMode !== currentProps.colorMode) {
205
+ state.createGeometry = true;
206
+ state.updateTransform = true;
207
+ state.updateColor = true;
208
+ }
203
209
  if (newStructure.interUnitBonds !== currentStructure.interUnitBonds) {
204
210
  state.createGeometry = true;
205
211
  state.updateTransform = true;
@@ -216,7 +222,7 @@ export function InterUnitBondCylinderMeshVisual(materialId) {
216
222
  return ComplexMeshVisual({
217
223
  defaultProps: PD.getDefaultValues(InterUnitBondCylinderParams),
218
224
  createGeometry: createInterUnitBondCylinderMesh,
219
- createLocationIterator: BondIterator.fromStructure,
225
+ createLocationIterator: function (structure) { return BondIterator.fromStructure(structure); },
220
226
  getLoci: getInterBondLoci,
221
227
  eachLocation: eachInterBond,
222
228
  setUpdateState: function (state, newProps, currentProps, newTheme, currentTheme, newStructure, currentStructure) {
@@ -112,7 +112,7 @@ export function InterUnitBondLineVisual(materialId) {
112
112
  return ComplexLinesVisual({
113
113
  defaultProps: PD.getDefaultValues(InterUnitBondLineParams),
114
114
  createGeometry: createInterUnitBondLines,
115
- createLocationIterator: BondIterator.fromStructure,
115
+ createLocationIterator: function (structure) { return BondIterator.fromStructure(structure); },
116
116
  getLoci: getInterBondLoci,
117
117
  eachLocation: eachInterBond,
118
118
  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;
@@ -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 { __assign } from "tslib";
8
9
  import { ParamDefinition as PD } from '../../../mol-util/param-definition';
@@ -199,7 +200,7 @@ export function IntraUnitBondCylinderImpostorVisual(materialId) {
199
200
  return UnitsCylindersVisual({
200
201
  defaultProps: PD.getDefaultValues(IntraUnitBondCylinderParams),
201
202
  createGeometry: createIntraUnitBondCylinderImpostors,
202
- createLocationIterator: BondIterator.fromGroup,
203
+ createLocationIterator: function (structureGroup, props) { return BondIterator.fromGroup(structureGroup, { includeLocation2: props.colorMode === 'interpolate' }); },
203
204
  getLoci: getIntraBondLoci,
204
205
  eachLocation: eachIntraBond,
205
206
  setUpdateState: function (state, newProps, currentProps, newTheme, currentTheme, newStructureGroup, currentStructureGroup) {
@@ -222,6 +223,11 @@ export function IntraUnitBondCylinderImpostorVisual(materialId) {
222
223
  newProps.adjustCylinderLength !== currentProps.adjustCylinderLength ||
223
224
  newProps.aromaticBonds !== currentProps.aromaticBonds ||
224
225
  newProps.multipleBonds !== currentProps.multipleBonds);
226
+ if (newProps.colorMode !== currentProps.colorMode) {
227
+ state.createGeometry = true;
228
+ state.updateTransform = true;
229
+ state.updateColor = true;
230
+ }
225
231
  var newUnit = newStructureGroup.group.units[0];
226
232
  var currentUnit = currentStructureGroup.group.units[0];
227
233
  if (Unit.isAtomic(newUnit) && Unit.isAtomic(currentUnit)) {
@@ -242,7 +248,7 @@ export function IntraUnitBondCylinderMeshVisual(materialId) {
242
248
  return UnitsMeshVisual({
243
249
  defaultProps: PD.getDefaultValues(IntraUnitBondCylinderParams),
244
250
  createGeometry: createIntraUnitBondCylinderMesh,
245
- createLocationIterator: BondIterator.fromGroup,
251
+ createLocationIterator: function (structureGroup) { return BondIterator.fromGroup(structureGroup); },
246
252
  getLoci: getIntraBondLoci,
247
253
  eachLocation: eachIntraBond,
248
254
  setUpdateState: function (state, newProps, currentProps, newTheme, currentTheme, newStructureGroup, currentStructureGroup) {
@@ -134,7 +134,7 @@ export function IntraUnitBondLineVisual(materialId) {
134
134
  return UnitsLinesVisual({
135
135
  defaultProps: PD.getDefaultValues(IntraUnitBondLineParams),
136
136
  createGeometry: createIntraUnitBondLines,
137
- createLocationIterator: BondIterator.fromGroup,
137
+ createLocationIterator: function (structureGroup) { return BondIterator.fromGroup(structureGroup); },
138
138
  getLoci: getIntraBondLoci,
139
139
  eachLocation: eachIntraBond,
140
140
  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<{
@@ -55,6 +55,7 @@ function createNucleotideAtomicBondImpostor(ctx, unit, structure, theme, props,
55
55
  var chainIt = Segmentation.transientSegments(chainAtomSegments, elements);
56
56
  var residueIt = Segmentation.transientSegments(residueAtomSegments, elements);
57
57
  var i = 0;
58
+ var colorModeFlag = 2.0;
58
59
  while (chainIt.hasNext) {
59
60
  residueIt.setSegment(chainIt.move());
60
61
  while (residueIt.hasNext) {
@@ -70,13 +71,13 @@ function createNucleotideAtomicBondImpostor(ctx, unit, structure, theme, props,
70
71
  pos(idx.O4_1, pO4_1);
71
72
  // trace cylinder
72
73
  pos(idx.trace, pTrace);
73
- builder.add(pC3_1[0], pC3_1[1], pC3_1[2], pTrace[0], pTrace[1], pTrace[2], 1, true, true, i);
74
+ builder.add(pC3_1[0], pC3_1[1], pC3_1[2], pTrace[0], pTrace[1], pTrace[2], 1, true, true, colorModeFlag, i);
74
75
  // sugar ring
75
- builder.add(pC3_1[0], pC3_1[1], pC3_1[2], pC4_1[0], pC4_1[1], pC4_1[2], 1, true, true, i);
76
- builder.add(pC4_1[0], pC4_1[1], pC4_1[2], pO4_1[0], pO4_1[1], pO4_1[2], 1, true, true, i);
77
- builder.add(pO4_1[0], pO4_1[1], pO4_1[2], pC1_1[0], pC1_1[1], pC1_1[2], 1, true, true, i);
78
- builder.add(pC1_1[0], pC1_1[1], pC1_1[2], pC2_1[0], pC2_1[1], pC2_1[2], 1, true, true, i);
79
- builder.add(pC2_1[0], pC2_1[1], pC2_1[2], pC3_1[0], pC3_1[1], pC3_1[2], 1, true, true, i);
76
+ 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);
77
+ 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);
78
+ 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);
79
+ 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);
80
+ 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);
80
81
  }
81
82
  var _b = getNucleotideBaseType(unit, residueIndex), isPurine = _b.isPurine, isPyrimidine = _b.isPyrimidine;
82
83
  if (isPurine) {
@@ -84,12 +85,12 @@ function createNucleotideAtomicBondImpostor(ctx, unit, structure, theme, props,
84
85
  if (idx.C1_1 !== -1 && idx.N9 !== -1) {
85
86
  pos(idx.C1_1, pC1_1);
86
87
  pos(idx.N9, pN9);
87
- builder.add(pN9[0], pN9[1], pN9[2], pC1_1[0], pC1_1[1], pC1_1[2], 1, true, true, i);
88
+ builder.add(pN9[0], pN9[1], pN9[2], pC1_1[0], pC1_1[1], pC1_1[2], 1, true, true, colorModeFlag, i);
88
89
  }
89
90
  else if (idx.N9 !== -1 && idx.trace !== -1) {
90
91
  pos(idx.N9, pN9);
91
92
  pos(idx.trace, pTrace);
92
- builder.add(pN9[0], pN9[1], pN9[2], pTrace[0], pTrace[1], pTrace[2], 1, true, true, i);
93
+ builder.add(pN9[0], pN9[1], pN9[2], pTrace[0], pTrace[1], pTrace[2], 1, true, true, colorModeFlag, i);
93
94
  }
94
95
  if (hasPurinIndices(idx)) {
95
96
  pos(idx.N1, pN1);
@@ -102,16 +103,16 @@ function createNucleotideAtomicBondImpostor(ctx, unit, structure, theme, props,
102
103
  pos(idx.C8, pC8);
103
104
  pos(idx.N9, pN9);
104
105
  // base ring
105
- builder.add(pN9[0], pN9[1], pN9[2], pC8[0], pC8[1], pC8[2], 1, true, true, i);
106
- builder.add(pC8[0], pC8[1], pC8[2], pN7[0], pN7[1], pN7[2], 1, true, true, i);
107
- builder.add(pN7[0], pN7[1], pN7[2], pC5[0], pC5[1], pC5[2], 1, true, true, i);
108
- builder.add(pC5[0], pC5[1], pC5[2], pC6[0], pC6[1], pC6[2], 1, true, true, i);
109
- builder.add(pC6[0], pC6[1], pC6[2], pN1[0], pN1[1], pN1[2], 1, true, true, i);
110
- builder.add(pN1[0], pN1[1], pN1[2], pC2[0], pC2[1], pC2[2], 1, true, true, i);
111
- builder.add(pC2[0], pC2[1], pC2[2], pN3[0], pN3[1], pN3[2], 1, true, true, i);
112
- builder.add(pN3[0], pN3[1], pN3[2], pC4[0], pC4[1], pC4[2], 1, true, true, i);
113
- builder.add(pC4[0], pC4[1], pC4[2], pC5[0], pC5[1], pC5[2], 1, true, true, i);
114
- builder.add(pC4[0], pC4[1], pC4[2], pN9[0], pN9[1], pN9[2], 1, true, true, i);
106
+ builder.add(pN9[0], pN9[1], pN9[2], pC8[0], pC8[1], pC8[2], 1, true, true, colorModeFlag, i);
107
+ builder.add(pC8[0], pC8[1], pC8[2], pN7[0], pN7[1], pN7[2], 1, true, true, colorModeFlag, i);
108
+ builder.add(pN7[0], pN7[1], pN7[2], pC5[0], pC5[1], pC5[2], 1, true, true, colorModeFlag, i);
109
+ builder.add(pC5[0], pC5[1], pC5[2], pC6[0], pC6[1], pC6[2], 1, true, true, colorModeFlag, i);
110
+ builder.add(pC6[0], pC6[1], pC6[2], pN1[0], pN1[1], pN1[2], 1, true, true, colorModeFlag, i);
111
+ builder.add(pN1[0], pN1[1], pN1[2], pC2[0], pC2[1], pC2[2], 1, true, true, colorModeFlag, i);
112
+ builder.add(pC2[0], pC2[1], pC2[2], pN3[0], pN3[1], pN3[2], 1, true, true, colorModeFlag, i);
113
+ builder.add(pN3[0], pN3[1], pN3[2], pC4[0], pC4[1], pC4[2], 1, true, true, colorModeFlag, i);
114
+ builder.add(pC4[0], pC4[1], pC4[2], pC5[0], pC5[1], pC5[2], 1, true, true, colorModeFlag, i);
115
+ builder.add(pC4[0], pC4[1], pC4[2], pN9[0], pN9[1], pN9[2], 1, true, true, colorModeFlag, i);
115
116
  }
116
117
  }
117
118
  else if (isPyrimidine) {
@@ -119,12 +120,12 @@ function createNucleotideAtomicBondImpostor(ctx, unit, structure, theme, props,
119
120
  if (idx.C1_1 !== -1 && idx.N1 !== -1) {
120
121
  pos(idx.N1, pN1);
121
122
  pos(idx.C1_1, pC1_1);
122
- builder.add(pN1[0], pN1[1], pN1[2], pC1_1[0], pC1_1[1], pC1_1[2], 1, true, true, i);
123
+ builder.add(pN1[0], pN1[1], pN1[2], pC1_1[0], pC1_1[1], pC1_1[2], 1, true, true, colorModeFlag, i);
123
124
  }
124
125
  else if (idx.N1 !== -1 && idx.trace !== -1) {
125
126
  pos(idx.N1, pN1);
126
127
  pos(idx.trace, pTrace);
127
- builder.add(pN1[0], pN1[1], pN1[2], pTrace[0], pTrace[1], pTrace[2], 1, true, true, i);
128
+ builder.add(pN1[0], pN1[1], pN1[2], pTrace[0], pTrace[1], pTrace[2], 1, true, true, colorModeFlag, i);
128
129
  }
129
130
  if (hasPyrimidineIndices(idx)) {
130
131
  pos(idx.N1, pN1);
@@ -134,12 +135,12 @@ function createNucleotideAtomicBondImpostor(ctx, unit, structure, theme, props,
134
135
  pos(idx.C5, pC5);
135
136
  pos(idx.C6, pC6);
136
137
  // base ring
137
- builder.add(pN1[0], pN1[1], pN1[2], pC6[0], pC6[1], pC6[2], 1, true, true, i);
138
- builder.add(pC6[0], pC6[1], pC6[2], pC5[0], pC5[1], pC5[2], 1, true, true, i);
139
- builder.add(pC5[0], pC5[1], pC5[2], pC4[0], pC4[1], pC4[2], 1, true, true, i);
140
- builder.add(pC4[0], pC4[1], pC4[2], pN3[0], pN3[1], pN3[2], 1, true, true, i);
141
- builder.add(pN3[0], pN3[1], pN3[2], pC2[0], pC2[1], pC2[2], 1, true, true, i);
142
- builder.add(pC2[0], pC2[1], pC2[2], pN1[0], pN1[1], pN1[2], 1, true, true, i);
138
+ builder.add(pN1[0], pN1[1], pN1[2], pC6[0], pC6[1], pC6[2], 1, true, true, colorModeFlag, i);
139
+ builder.add(pC6[0], pC6[1], pC6[2], pC5[0], pC5[1], pC5[2], 1, true, true, colorModeFlag, i);
140
+ builder.add(pC5[0], pC5[1], pC5[2], pC4[0], pC4[1], pC4[2], 1, true, true, colorModeFlag, i);
141
+ builder.add(pC4[0], pC4[1], pC4[2], pN3[0], pN3[1], pN3[2], 1, true, true, colorModeFlag, i);
142
+ builder.add(pN3[0], pN3[1], pN3[2], pC2[0], pC2[1], pC2[2], 1, true, true, colorModeFlag, i);
143
+ builder.add(pC2[0], pC2[1], pC2[2], pN1[0], pN1[1], pN1[2], 1, true, true, colorModeFlag, i);
143
144
  }
144
145
  }
145
146
  ++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;