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
@@ -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<{
@@ -44,8 +44,8 @@ function createPolymerBackboneCylinderImpostor(ctx, unit, structure, theme, prop
44
44
  var isNucleicType = isNucleic(moleculeType);
45
45
  var shift = isNucleicType ? NucleicShift : StandardShift;
46
46
  v3add(pM, pA, v3scale(pM, v3sub(pM, pB, pA), shift));
47
- builder.add(pA[0], pA[1], pA[2], pM[0], pM[1], pM[2], 1, false, false, groupA);
48
- builder.add(pM[0], pM[1], pM[2], pB[0], pB[1], pB[2], 1, false, false, groupB);
47
+ builder.add(pA[0], pA[1], pA[2], pM[0], pM[1], pM[2], 1, false, false, 2, groupA);
48
+ builder.add(pM[0], pM[1], pM[2], pB[0], pB[1], pB[2], 1, false, false, 2, groupB);
49
49
  };
50
50
  eachPolymerBackboneLink(unit, add);
51
51
  var c = builder.getCylinders();
@@ -57,7 +57,7 @@ export function PolymerBackboneCylinderImpostorVisual(materialId) {
57
57
  return UnitsCylindersVisual({
58
58
  defaultProps: PD.getDefaultValues(PolymerBackboneCylinderParams),
59
59
  createGeometry: createPolymerBackboneCylinderImpostor,
60
- createLocationIterator: PolymerLocationIterator.fromGroup,
60
+ createLocationIterator: function (structureGroup) { return PolymerLocationIterator.fromGroup(structureGroup); },
61
61
  getLoci: getPolymerElementLoci,
62
62
  eachLocation: eachPolymerElement,
63
63
  setUpdateState: function (state, newProps, currentProps) { },
@@ -103,7 +103,7 @@ export function PolymerBackboneCylinderMeshVisual(materialId) {
103
103
  return UnitsMeshVisual({
104
104
  defaultProps: PD.getDefaultValues(PolymerBackboneCylinderParams),
105
105
  createGeometry: createPolymerBackboneCylinderMesh,
106
- createLocationIterator: PolymerLocationIterator.fromGroup,
106
+ createLocationIterator: function (structureGroup) { return PolymerLocationIterator.fromGroup(structureGroup); },
107
107
  getLoci: getPolymerElementLoci,
108
108
  eachLocation: eachPolymerElement,
109
109
  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;
@@ -45,7 +45,7 @@ export function PolymerBackboneSphereImpostorVisual(materialId) {
45
45
  return UnitsSpheresVisual({
46
46
  defaultProps: PD.getDefaultValues(PolymerBackboneSphereParams),
47
47
  createGeometry: createPolymerBackboneSphereImpostor,
48
- createLocationIterator: PolymerLocationIterator.fromGroup,
48
+ createLocationIterator: function (structureGroup) { return PolymerLocationIterator.fromGroup(structureGroup); },
49
49
  getLoci: getPolymerElementLoci,
50
50
  eachLocation: eachPolymerElement,
51
51
  setUpdateState: function (state, newProps, currentProps) { },
@@ -80,7 +80,7 @@ export function PolymerBackboneSphereMeshVisual(materialId) {
80
80
  return UnitsMeshVisual({
81
81
  defaultProps: PD.getDefaultValues(PolymerBackboneSphereParams),
82
82
  createGeometry: createPolymerBackboneSphereMesh,
83
- createLocationIterator: PolymerLocationIterator.fromGroup,
83
+ createLocationIterator: function (structureGroup) { return PolymerLocationIterator.fromGroup(structureGroup); },
84
84
  getLoci: getPolymerElementLoci,
85
85
  eachLocation: eachPolymerElement,
86
86
  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;
@@ -73,7 +73,7 @@ export function PolymerDirectionVisual(materialId) {
73
73
  return UnitsMeshVisual({
74
74
  defaultProps: PD.getDefaultValues(PolymerDirectionParams),
75
75
  createGeometry: createPolymerDirectionWedgeMesh,
76
- createLocationIterator: PolymerLocationIterator.fromGroup,
76
+ createLocationIterator: function (structureGroup) { return PolymerLocationIterator.fromGroup(structureGroup); },
77
77
  getLoci: getPolymerElementLoci,
78
78
  eachLocation: eachPolymerElement,
79
79
  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;
@@ -45,7 +45,7 @@ export declare const PolymerTraceParams: {
45
45
  flatShaded: PD.BooleanParam;
46
46
  ignoreLight: PD.BooleanParam;
47
47
  xrayShaded: PD.Select<boolean | "inverted">;
48
- transparentBackfaces: PD.Select<string>;
48
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
49
49
  bumpFrequency: PD.Numeric;
50
50
  bumpAmplitude: PD.Numeric;
51
51
  alpha: PD.Numeric;
@@ -166,7 +166,7 @@ export function PolymerTraceVisual(materialId) {
166
166
  return UnitsMeshVisual({
167
167
  defaultProps: PD.getDefaultValues(PolymerTraceParams),
168
168
  createGeometry: createPolymerTraceMesh,
169
- createLocationIterator: function (sg) { return PolymerLocationIterator.fromGroup(sg, true); },
169
+ createLocationIterator: function (structureGroup) { return PolymerLocationIterator.fromGroup(structureGroup, { asSecondary: true }); },
170
170
  getLoci: getPolymerElementLoci,
171
171
  eachLocation: eachPolymerElement,
172
172
  setUpdateState: function (state, newProps, currentProps, newTheme, currentTheme, newStructureGroup, currentStructureGroup) {
@@ -30,7 +30,7 @@ export declare const PolymerTubeParams: {
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;
@@ -93,7 +93,7 @@ export function PolymerTubeVisual(materialId) {
93
93
  return UnitsMeshVisual({
94
94
  defaultProps: PD.getDefaultValues(PolymerTubeParams),
95
95
  createGeometry: createPolymerTubeMesh,
96
- createLocationIterator: function (sg) { return PolymerLocationIterator.fromGroup(sg, true); },
96
+ createLocationIterator: function (structureGroup) { return PolymerLocationIterator.fromGroup(structureGroup, { asSecondary: true }); },
97
97
  getLoci: getPolymerElementLoci,
98
98
  eachLocation: eachPolymerElement,
99
99
  setUpdateState: function (state, newProps, currentProps) {
@@ -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 { BondType } from '../../../../mol-model/structure/model/types';
8
9
  import { Unit, Structure, Bond } from '../../../../mol-model/structure';
@@ -48,6 +49,7 @@ export declare const BondCylinderParams: {
48
49
  dashCap: PD.BooleanParam;
49
50
  stubCap: PD.BooleanParam;
50
51
  radialSegments: PD.Numeric;
52
+ colorMode: PD.Select<"default" | "interpolate">;
51
53
  };
52
54
  export declare const DefaultBondCylinderProps: PD.Values<{
53
55
  adjustCylinderLength: PD.BooleanParam;
@@ -68,6 +70,7 @@ export declare const DefaultBondCylinderProps: PD.Values<{
68
70
  dashCap: PD.BooleanParam;
69
71
  stubCap: PD.BooleanParam;
70
72
  radialSegments: PD.Numeric;
73
+ colorMode: PD.Select<"default" | "interpolate">;
71
74
  }>;
72
75
  export type BondCylinderProps = typeof DefaultBondCylinderProps;
73
76
  export declare const BondLineParams: {
@@ -99,8 +102,12 @@ export declare function ignoreBondType(include: BondType.Flag, exclude: BondType
99
102
  export declare function makeIntraBondIgnoreTest(structure: Structure, unit: Unit.Atomic, props: BondProps): undefined | ((edgeIndex: number) => boolean);
100
103
  export declare function makeInterBondIgnoreTest(structure: Structure, props: BondProps): undefined | ((edgeIndex: number) => boolean);
101
104
  export declare namespace BondIterator {
102
- function fromGroup(structureGroup: StructureGroup): LocationIterator;
103
- function fromStructure(structure: Structure): LocationIterator;
105
+ function fromGroup(structureGroup: StructureGroup, props?: {
106
+ includeLocation2?: boolean;
107
+ }): LocationIterator;
108
+ function fromStructure(structure: Structure, props?: {
109
+ includeLocation2?: boolean;
110
+ }): LocationIterator;
104
111
  }
105
112
  export declare function getIntraBondLoci(pickingId: PickingId, structureGroup: StructureGroup, id: number): Bond.Loci | {
106
113
  kind: "empty-loci";
@@ -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 { BondType } from '../../../../mol-model/structure/model/types';
@@ -98,7 +99,7 @@ export function makeInterBondIgnoreTest(structure, props) {
98
99
  }
99
100
  export var BondIterator;
100
101
  (function (BondIterator) {
101
- function fromGroup(structureGroup) {
102
+ function fromGroup(structureGroup, props) {
102
103
  var group = structureGroup.group, structure = structureGroup.structure;
103
104
  var unit = group.units[0];
104
105
  var groupCount = Unit.isAtomic(unit) ? unit.bonds.edgeCount * 2 : 0;
@@ -112,10 +113,22 @@ export var BondIterator;
112
113
  location.bIndex = unit.bonds.b[groupIndex];
113
114
  return location;
114
115
  };
116
+ if (props === null || props === void 0 ? void 0 : props.includeLocation2) {
117
+ var location2_1 = Bond.Location(structure, undefined, undefined, structure, undefined, undefined);
118
+ var getLocation2 = function (groupIndex, instanceIndex) {
119
+ var unit = group.units[instanceIndex];
120
+ location2_1.aUnit = unit;
121
+ location2_1.bUnit = unit;
122
+ location2_1.aIndex = unit.bonds.b[groupIndex];
123
+ location2_1.bIndex = unit.bonds.a[groupIndex];
124
+ return location2_1;
125
+ };
126
+ return LocationIterator(groupCount, instanceCount, 1, getLocation, false, function () { return false; }, getLocation2);
127
+ }
115
128
  return LocationIterator(groupCount, instanceCount, 1, getLocation);
116
129
  }
117
130
  BondIterator.fromGroup = fromGroup;
118
- function fromStructure(structure) {
131
+ function fromStructure(structure, props) {
119
132
  var groupCount = structure.interUnitBonds.edgeCount;
120
133
  var instanceCount = 1;
121
134
  var location = Bond.Location(structure, undefined, undefined, structure, undefined, undefined);
@@ -127,6 +140,19 @@ export var BondIterator;
127
140
  location.bIndex = bond.indexB;
128
141
  return location;
129
142
  };
143
+ if (props === null || props === void 0 ? void 0 : props.includeLocation2) {
144
+ var location2_2 = Bond.Location(structure, undefined, undefined, structure, undefined, undefined);
145
+ var getLocation2 = function (groupIndex) {
146
+ var bond = structure.interUnitBonds.edges[groupIndex];
147
+ location2_2.aUnit = structure.unitMap.get(bond.unitB);
148
+ location2_2.aIndex = bond.indexB;
149
+ location2_2.bUnit = structure.unitMap.get(bond.unitA);
150
+ location2_2.bIndex = bond.indexA;
151
+ return location2_2;
152
+ };
153
+ return LocationIterator(groupCount, instanceCount, 1, getLocation, true, function () { return false; }, getLocation2);
154
+ }
155
+ ;
130
156
  return LocationIterator(groupCount, instanceCount, 1, getLocation, true);
131
157
  }
132
158
  BondIterator.fromStructure = fromStructure;
@@ -25,6 +25,7 @@ export declare const LinkCylinderParams: {
25
25
  dashCap: PD.BooleanParam;
26
26
  stubCap: PD.BooleanParam;
27
27
  radialSegments: PD.Numeric;
28
+ colorMode: PD.Select<"default" | "interpolate">;
28
29
  };
29
30
  export declare const DefaultLinkCylinderProps: PD.Values<{
30
31
  linkScale: PD.Numeric;
@@ -38,6 +39,7 @@ export declare const DefaultLinkCylinderProps: PD.Values<{
38
39
  dashCap: PD.BooleanParam;
39
40
  stubCap: PD.BooleanParam;
40
41
  radialSegments: PD.Numeric;
42
+ colorMode: PD.Select<"default" | "interpolate">;
41
43
  }>;
42
44
  export type LinkCylinderProps = typeof DefaultLinkCylinderProps;
43
45
  export declare const LinkLineParams: {
@@ -29,6 +29,7 @@ export var LinkCylinderParams = {
29
29
  dashCap: PD.Boolean(true),
30
30
  stubCap: PD.Boolean(true),
31
31
  radialSegments: PD.Numeric(16, { min: 2, max: 56, step: 2 }, BaseGeometry.CustomQualityParamInfo),
32
+ colorMode: PD.Select('default', PD.arrayToOptions(['default', 'interpolate']), BaseGeometry.ShadingCategory)
32
33
  };
33
34
  export var DefaultLinkCylinderProps = PD.getDefaultValues(LinkCylinderParams);
34
35
  export var LinkLineParams = {
@@ -209,7 +210,9 @@ export function createLinkCylinderImpostors(ctx, linkBuilder, props, cylinders)
209
210
  var linkCount = linkBuilder.linkCount, referencePosition = linkBuilder.referencePosition, position = linkBuilder.position, style = linkBuilder.style, radius = linkBuilder.radius, ignore = linkBuilder.ignore, stub = linkBuilder.stub;
210
211
  if (!linkCount)
211
212
  return { cylinders: Cylinders.createEmpty(cylinders) };
212
- var linkScale = props.linkScale, linkSpacing = props.linkSpacing, linkCap = props.linkCap, aromaticScale = props.aromaticScale, aromaticSpacing = props.aromaticSpacing, aromaticDashCount = props.aromaticDashCount, dashCount = props.dashCount, dashScale = props.dashScale, dashCap = props.dashCap, stubCap = props.stubCap;
213
+ var linkScale = props.linkScale, linkSpacing = props.linkSpacing, linkCap = props.linkCap, aromaticScale = props.aromaticScale, aromaticSpacing = props.aromaticSpacing, aromaticDashCount = props.aromaticDashCount, dashCount = props.dashCount, dashScale = props.dashScale, dashCap = props.dashCap, stubCap = props.stubCap, colorMode = props.colorMode;
214
+ var interpolate = colorMode === 'interpolate';
215
+ var colorModeFlag = interpolate === true ? 3 : 2;
213
216
  var cylindersCountEstimate = linkCount * 2;
214
217
  var builder = CylindersBuilder.create(cylindersCountEstimate, cylindersCountEstimate / 4, cylinders);
215
218
  var va = Vec3();
@@ -230,11 +233,11 @@ export function createLinkCylinderImpostors(ctx, linkBuilder, props, cylinders)
230
233
  var linkStub = stubCap && (stub ? stub(edgeIndex) : false);
231
234
  if (linkStyle === 0 /* LinkStyle.Solid */) {
232
235
  v3scale(vm, v3add(vm, va, vb), 0.5);
233
- builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], 1, linkCap, linkStub, edgeIndex);
236
+ builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], 1, linkCap, linkStub, colorModeFlag, edgeIndex);
234
237
  }
235
238
  else if (linkStyle === 1 /* LinkStyle.Dashed */) {
236
239
  v3scale(vm, v3add(vm, va, vb), 0.5);
237
- builder.addFixedCountDashes(va, vm, dashCount, dashScale, dashCap, dashCap, linkStub, edgeIndex);
240
+ builder.addFixedCountDashes(va, vm, dashCount, dashScale, dashCap, dashCap, linkStub, interpolate, edgeIndex);
238
241
  }
239
242
  else if (linkStyle === 2 /* LinkStyle.Double */ || linkStyle === 3 /* LinkStyle.OffsetDouble */ || linkStyle === 4 /* LinkStyle.Triple */ || linkStyle === 5 /* LinkStyle.OffsetTriple */ || linkStyle === 7 /* LinkStyle.Aromatic */ || linkStyle === 8 /* LinkStyle.MirroredAromatic */) {
240
243
  var order = (linkStyle === 2 /* LinkStyle.Double */ || linkStyle === 3 /* LinkStyle.OffsetDouble */) ? 2 :
@@ -244,44 +247,44 @@ export function createLinkCylinderImpostors(ctx, linkBuilder, props, cylinders)
244
247
  v3scale(vm, v3add(vm, va, vb), 0.5);
245
248
  calculateShiftDir(vShift, va, vb, referencePosition ? referencePosition(edgeIndex) : null);
246
249
  if (linkStyle === 7 /* LinkStyle.Aromatic */ || linkStyle === 8 /* LinkStyle.MirroredAromatic */) {
247
- builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], 1, linkCap, linkStub, edgeIndex);
250
+ builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], 1, linkCap, linkStub, colorModeFlag, edgeIndex);
248
251
  var aromaticOffset = linkRadius + aromaticScale * linkRadius + aromaticScale * linkRadius * aromaticSpacing;
249
252
  v3setMagnitude(tmpV12, v3sub(tmpV12, vb, va), linkRadius * 0.5);
250
253
  v3add(va, va, tmpV12);
251
254
  v3setMagnitude(vShift, vShift, aromaticOffset);
252
255
  v3sub(va, va, vShift);
253
256
  v3sub(vm, vm, vShift);
254
- builder.addFixedCountDashes(va, vm, aromaticDashCount, aromaticScale, dashCap, dashCap, linkStub, edgeIndex);
257
+ builder.addFixedCountDashes(va, vm, aromaticDashCount, aromaticScale, dashCap, dashCap, linkStub, interpolate, edgeIndex);
255
258
  if (linkStyle === 8 /* LinkStyle.MirroredAromatic */) {
256
259
  v3setMagnitude(vShift, vShift, aromaticOffset * 2);
257
260
  v3add(va, va, vShift);
258
261
  v3add(vm, vm, vShift);
259
- builder.addFixedCountDashes(va, vm, aromaticDashCount, aromaticScale, dashCap, dashCap, linkStub, edgeIndex);
262
+ builder.addFixedCountDashes(va, vm, aromaticDashCount, aromaticScale, dashCap, dashCap, linkStub, interpolate, edgeIndex);
260
263
  }
261
264
  }
262
265
  else if (linkStyle === 3 /* LinkStyle.OffsetDouble */ || linkStyle === 5 /* LinkStyle.OffsetTriple */) {
263
266
  var multipleOffset = linkRadius + multiScale * linkRadius + linkScale * linkRadius * linkSpacing;
264
267
  v3setMagnitude(vShift, vShift, multipleOffset);
265
- builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], 1, linkCap, linkStub, edgeIndex);
268
+ builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], 1, linkCap, linkStub, colorModeFlag, edgeIndex);
266
269
  v3setMagnitude(tmpV12, v3sub(tmpV12, va, vm), linkRadius / 1.5);
267
270
  v3sub(va, va, tmpV12);
268
271
  if (order === 3)
269
- builder.add(va[0] + vShift[0], va[1] + vShift[1], va[2] + vShift[2], vm[0] + vShift[0], vm[1] + vShift[1], vm[2] + vShift[2], multiScale, linkCap, linkStub, edgeIndex);
270
- builder.add(va[0] - vShift[0], va[1] - vShift[1], va[2] - vShift[2], vm[0] - vShift[0], vm[1] - vShift[1], vm[2] - vShift[2], multiScale, dashCap, linkStub, edgeIndex);
272
+ builder.add(va[0] + vShift[0], va[1] + vShift[1], va[2] + vShift[2], vm[0] + vShift[0], vm[1] + vShift[1], vm[2] + vShift[2], multiScale, linkCap, linkStub, colorModeFlag, edgeIndex);
273
+ builder.add(va[0] - vShift[0], va[1] - vShift[1], va[2] - vShift[2], vm[0] - vShift[0], vm[1] - vShift[1], vm[2] - vShift[2], multiScale, dashCap, linkStub, colorModeFlag, edgeIndex);
271
274
  }
272
275
  else {
273
276
  v3setMagnitude(vShift, vShift, absOffset);
274
277
  if (order === 3)
275
- builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], multiScale, linkCap, linkStub, edgeIndex);
276
- builder.add(va[0] + vShift[0], va[1] + vShift[1], va[2] + vShift[2], vm[0] + vShift[0], vm[1] + vShift[1], vm[2] + vShift[2], multiScale, linkCap, linkStub, edgeIndex);
277
- builder.add(va[0] - vShift[0], va[1] - vShift[1], va[2] - vShift[2], vm[0] - vShift[0], vm[1] - vShift[1], vm[2] - vShift[2], multiScale, linkCap, linkStub, edgeIndex);
278
+ builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], multiScale, linkCap, linkStub, colorModeFlag, edgeIndex);
279
+ builder.add(va[0] + vShift[0], va[1] + vShift[1], va[2] + vShift[2], vm[0] + vShift[0], vm[1] + vShift[1], vm[2] + vShift[2], multiScale, linkCap, linkStub, colorModeFlag, edgeIndex);
280
+ builder.add(va[0] - vShift[0], va[1] - vShift[1], va[2] - vShift[2], vm[0] - vShift[0], vm[1] - vShift[1], vm[2] - vShift[2], multiScale, linkCap, linkStub, colorModeFlag, edgeIndex);
278
281
  }
279
282
  }
280
283
  else if (linkStyle === 6 /* LinkStyle.Disk */) {
281
284
  v3scale(tmpV12, v3sub(tmpV12, vm, va), 0.475);
282
285
  v3add(va, va, tmpV12);
283
286
  v3sub(vm, vm, tmpV12);
284
- builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], 1, linkCap, linkStub, edgeIndex);
287
+ builder.add(va[0], va[1], va[2], vm[0], vm[1], vm[2], 1, linkCap, linkStub, colorModeFlag, edgeIndex);
285
288
  }
286
289
  }
287
290
  var oldBoundingSphere = cylinders ? Sphere3D.clone(cylinders.boundingSphere) : undefined;
@@ -23,7 +23,9 @@ export declare const OverhangFactor = 2;
23
23
  export declare function getPolymerRanges(unit: Unit): SortedRanges<ElementIndex>;
24
24
  export declare function getGapRanges(unit: Unit): SortedRanges<ElementIndex>;
25
25
  export declare namespace PolymerLocationIterator {
26
- function fromGroup(structureGroup: StructureGroup, asSecondary?: boolean): LocationIterator;
26
+ function fromGroup(structureGroup: StructureGroup, options?: {
27
+ asSecondary?: boolean;
28
+ }): LocationIterator;
27
29
  }
28
30
  export declare namespace PolymerGapLocationIterator {
29
31
  function fromGroup(structureGroup: StructureGroup): LocationIterator;
@@ -34,8 +34,7 @@ export function getGapRanges(unit) {
34
34
  }
35
35
  export var PolymerLocationIterator;
36
36
  (function (PolymerLocationIterator) {
37
- function fromGroup(structureGroup, asSecondary) {
38
- if (asSecondary === void 0) { asSecondary = false; }
37
+ function fromGroup(structureGroup, options) {
39
38
  var group = structureGroup.group, structure = structureGroup.structure;
40
39
  var polymerElements = group.units[0].polymerElements;
41
40
  var groupCount = polymerElements.length;
@@ -47,6 +46,7 @@ export var PolymerLocationIterator;
47
46
  location.element = polymerElements[groupIndex];
48
47
  return location;
49
48
  };
49
+ var asSecondary = !!(options === null || options === void 0 ? void 0 : options.asSecondary);
50
50
  function isSecondary(elementIndex, instanceIndex) {
51
51
  return asSecondary;
52
52
  }
@@ -93,7 +93,7 @@ export declare function IsosurfaceVisual(materialId: number, volume: Volume, key
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
  bumpFrequency: PD.Numeric;
98
98
  bumpAmplitude: PD.Numeric;
99
99
  alpha: PD.Numeric;
@@ -168,7 +168,7 @@ export declare const IsosurfaceMeshParams: {
168
168
  flatShaded: PD.BooleanParam;
169
169
  ignoreLight: PD.BooleanParam;
170
170
  xrayShaded: PD.Select<boolean | "inverted">;
171
- transparentBackfaces: PD.Select<string>;
171
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
172
172
  bumpFrequency: PD.Numeric;
173
173
  bumpAmplitude: PD.Numeric;
174
174
  alpha: PD.Numeric;
@@ -334,7 +334,7 @@ export declare const IsosurfaceParams: {
334
334
  flatShaded: PD.BooleanParam;
335
335
  ignoreLight: PD.BooleanParam;
336
336
  xrayShaded: PD.Select<boolean | "inverted">;
337
- transparentBackfaces: PD.Select<string>;
337
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
338
338
  bumpAmplitude: PD.Numeric;
339
339
  };
340
340
  export type IsosurfaceParams = typeof IsosurfaceParams;
@@ -411,7 +411,7 @@ export declare function getIsosurfaceParams(ctx: ThemeRegistryContext, volume: V
411
411
  flatShaded: PD.BooleanParam;
412
412
  ignoreLight: PD.BooleanParam;
413
413
  xrayShaded: PD.Select<boolean | "inverted">;
414
- transparentBackfaces: PD.Select<string>;
414
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
415
415
  bumpAmplitude: PD.Numeric;
416
416
  };
417
417
  export type IsosurfaceRepresentation = VolumeRepresentation<IsosurfaceParams>;
@@ -489,6 +489,6 @@ export declare const IsosurfaceRepresentationProvider: VolumeRepresentationProvi
489
489
  flatShaded: PD.BooleanParam;
490
490
  ignoreLight: PD.BooleanParam;
491
491
  xrayShaded: PD.Select<boolean | "inverted">;
492
- transparentBackfaces: PD.Select<string>;
492
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
493
493
  bumpAmplitude: PD.Numeric;
494
494
  }, "isosurface">;
@@ -83,7 +83,7 @@ export declare namespace VolumeRepresentationRegistry {
83
83
  flatShaded: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
84
84
  ignoreLight: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
85
85
  xrayShaded: import("../../mol-util/param-definition").ParamDefinition.Select<boolean | "inverted">;
86
- transparentBackfaces: import("../../mol-util/param-definition").ParamDefinition.Select<string>;
86
+ transparentBackfaces: import("../../mol-util/param-definition").ParamDefinition.Select<"on" | "off" | "opaque">;
87
87
  bumpAmplitude: import("../../mol-util/param-definition").ParamDefinition.Numeric;
88
88
  }, "isosurface">;
89
89
  slice: import("./representation").VolumeRepresentationProvider<{
@@ -232,7 +232,7 @@ export declare namespace VolumeRepresentationRegistry {
232
232
  flatShaded: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
233
233
  ignoreLight: import("../../mol-util/param-definition").ParamDefinition.BooleanParam;
234
234
  xrayShaded: import("../../mol-util/param-definition").ParamDefinition.Select<boolean | "inverted">;
235
- transparentBackfaces: import("../../mol-util/param-definition").ParamDefinition.Select<string>;
235
+ transparentBackfaces: import("../../mol-util/param-definition").ParamDefinition.Select<"on" | "off" | "opaque">;
236
236
  bumpAmplitude: import("../../mol-util/param-definition").ParamDefinition.Numeric;
237
237
  alpha: import("../../mol-util/param-definition").ParamDefinition.Numeric;
238
238
  material: import("../../mol-util/param-definition").ParamDefinition.Group<import("../../mol-util/param-definition").ParamDefinition.Normalize<{
@@ -49,7 +49,7 @@ export declare function SegmentVisual(materialId: number, volume: Volume, key: n
49
49
  flatShaded: PD.BooleanParam;
50
50
  ignoreLight: PD.BooleanParam;
51
51
  xrayShaded: PD.Select<boolean | "inverted">;
52
- transparentBackfaces: PD.Select<string>;
52
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
53
53
  bumpFrequency: PD.Numeric;
54
54
  bumpAmplitude: PD.Numeric;
55
55
  alpha: PD.Numeric;
@@ -103,7 +103,7 @@ export declare const SegmentMeshParams: {
103
103
  flatShaded: PD.BooleanParam;
104
104
  ignoreLight: PD.BooleanParam;
105
105
  xrayShaded: PD.Select<boolean | "inverted">;
106
- transparentBackfaces: PD.Select<string>;
106
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
107
107
  bumpFrequency: PD.Numeric;
108
108
  bumpAmplitude: PD.Numeric;
109
109
  alpha: PD.Numeric;
@@ -160,7 +160,7 @@ export declare const SegmentParams: {
160
160
  flatShaded: PD.BooleanParam;
161
161
  ignoreLight: PD.BooleanParam;
162
162
  xrayShaded: PD.Select<boolean | "inverted">;
163
- transparentBackfaces: PD.Select<string>;
163
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
164
164
  bumpAmplitude: PD.Numeric;
165
165
  alpha: PD.Numeric;
166
166
  material: PD.Group<PD.Normalize<{
@@ -214,7 +214,7 @@ export declare function getSegmentParams(ctx: ThemeRegistryContext, volume: Volu
214
214
  flatShaded: PD.BooleanParam;
215
215
  ignoreLight: PD.BooleanParam;
216
216
  xrayShaded: PD.Select<boolean | "inverted">;
217
- transparentBackfaces: PD.Select<string>;
217
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
218
218
  bumpAmplitude: PD.Numeric;
219
219
  alpha: PD.Numeric;
220
220
  material: PD.Group<PD.Normalize<{
@@ -269,7 +269,7 @@ export declare const SegmentRepresentationProvider: VolumeRepresentationProvider
269
269
  flatShaded: PD.BooleanParam;
270
270
  ignoreLight: PD.BooleanParam;
271
271
  xrayShaded: PD.Select<boolean | "inverted">;
272
- transparentBackfaces: PD.Select<string>;
272
+ transparentBackfaces: PD.Select<"on" | "off" | "opaque">;
273
273
  bumpAmplitude: PD.Numeric;
274
274
  alpha: PD.Numeric;
275
275
  material: PD.Group<PD.Normalize<{
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2023 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  * @author David Sehnal <david.sehnal@gmail.com>
@@ -69,8 +69,15 @@ export declare namespace ParamDefinition {
69
69
  export function Boolean(defaultValue: boolean, info?: Info): BooleanParam;
70
70
  export interface Text<T extends string = string> extends Base<T> {
71
71
  type: 'text';
72
+ multiline?: boolean;
73
+ placeholder?: string;
74
+ disableInteractiveUpdates?: boolean;
72
75
  }
73
- export function Text<T extends string = string>(defaultValue?: string, info?: Info): Text<T>;
76
+ export function Text<T extends string = string>(defaultValue?: string, info?: Info & {
77
+ multiline?: boolean;
78
+ placeholder?: string;
79
+ disableInteractiveUpdates?: boolean;
80
+ }): Text<T>;
74
81
  export interface Color extends Base<ColorData> {
75
82
  type: 'color';
76
83
  isExpanded?: boolean;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2018-2023 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2018-2024 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  * @author David Sehnal <david.sehnal@gmail.com>
@@ -69,7 +69,7 @@ export var ParamDefinition;
69
69
  ParamDefinition.Boolean = Boolean;
70
70
  function Text(defaultValue, info) {
71
71
  if (defaultValue === void 0) { defaultValue = ''; }
72
- return setInfo({ type: 'text', defaultValue: defaultValue }, info);
72
+ return setInfo({ type: 'text', defaultValue: defaultValue, multiline: info === null || info === void 0 ? void 0 : info.multiline, placeholder: info === null || info === void 0 ? void 0 : info.placeholder, disableInteractiveUpdates: info === null || info === void 0 ? void 0 : info.disableInteractiveUpdates }, info);
73
73
  }
74
74
  ParamDefinition.Text = Text;
75
75
  function Color(defaultValue, info) {