molstar 3.0.0-dev.5 → 3.0.0-dev.9

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 (688) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +187 -187
  3. package/build/viewer/embedded.html +43 -43
  4. package/build/viewer/index.html +106 -95
  5. package/build/viewer/molstar.js +1 -1
  6. package/lib/apps/docking-viewer/index.d.ts +2 -1
  7. package/lib/apps/docking-viewer/index.html +36 -36
  8. package/lib/apps/docking-viewer/index.js +87 -74
  9. package/lib/apps/viewer/app.d.ts +230 -0
  10. package/lib/apps/viewer/app.js +515 -0
  11. package/lib/apps/viewer/embedded.html +43 -43
  12. package/lib/apps/viewer/index.d.ts +2 -403
  13. package/lib/apps/viewer/index.html +106 -95
  14. package/lib/apps/viewer/index.js +2 -420
  15. package/lib/cli/cifschema/index.d.ts +1 -1
  16. package/lib/cli/cifschema/index.js +15 -35
  17. package/lib/commonjs/apps/docking-viewer/index.d.ts +2 -1
  18. package/lib/commonjs/apps/docking-viewer/index.js +86 -73
  19. package/lib/commonjs/apps/viewer/app.d.ts +230 -0
  20. package/lib/commonjs/apps/viewer/app.js +521 -0
  21. package/lib/commonjs/apps/viewer/index.d.ts +2 -403
  22. package/lib/commonjs/apps/viewer/index.js +2 -423
  23. package/lib/commonjs/cli/cifschema/index.d.ts +1 -1
  24. package/lib/commonjs/cli/cifschema/index.js +15 -35
  25. package/lib/commonjs/examples/alpha-orbitals/index.js +3 -4
  26. package/lib/commonjs/examples/basic-wrapper/index.js +23 -11
  27. package/lib/commonjs/examples/lighting/index.d.ts +1 -1
  28. package/lib/commonjs/examples/lighting/index.js +57 -41
  29. package/lib/commonjs/examples/proteopedia-wrapper/index.js +26 -14
  30. package/lib/commonjs/extensions/alpha-orbitals/transforms.d.ts +0 -1
  31. package/lib/commonjs/extensions/alpha-orbitals/transforms.js +1 -14
  32. package/lib/commonjs/extensions/anvil/behavior.d.ts +4 -0
  33. package/lib/commonjs/extensions/anvil/representation.d.ts +50 -0
  34. package/lib/commonjs/extensions/cellpack/representation.d.ts +10 -0
  35. package/lib/commonjs/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  36. package/lib/commonjs/extensions/geo-export/mesh-exporter.js +4 -4
  37. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
  38. package/lib/commonjs/extensions/model-archive/quality-assessment/behavior.js +236 -0
  39. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
  40. package/lib/commonjs/extensions/model-archive/quality-assessment/color/plddt.js +125 -0
  41. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
  42. package/lib/commonjs/extensions/model-archive/quality-assessment/color/qmean.js +111 -0
  43. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
  44. package/lib/commonjs/extensions/model-archive/quality-assessment/prop.js +130 -0
  45. package/lib/commonjs/extensions/pdbe/structure-quality-report/prop.js +1 -1
  46. package/lib/commonjs/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  47. package/lib/commonjs/extensions/rcsb/assembly-symmetry/prop.js +1 -1
  48. package/lib/commonjs/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  49. package/lib/commonjs/extensions/rcsb/validation-report/prop.js +1 -1
  50. package/lib/commonjs/extensions/rcsb/validation-report/representation.d.ts +50 -0
  51. package/lib/commonjs/mol-canvas3d/canvas3d.d.ts +3 -9
  52. package/lib/commonjs/mol-canvas3d/canvas3d.js +34 -23
  53. package/lib/commonjs/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  54. package/lib/commonjs/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  55. package/lib/commonjs/mol-canvas3d/helper/camera-helper.js +2 -2
  56. package/lib/commonjs/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  57. package/lib/commonjs/mol-canvas3d/helper/handle-helper.js +2 -2
  58. package/lib/commonjs/mol-canvas3d/helper/helper.d.ts +2 -0
  59. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +13 -1
  60. package/lib/commonjs/mol-canvas3d/passes/draw.js +16 -15
  61. package/lib/commonjs/mol-canvas3d/passes/image.d.ts +1 -0
  62. package/lib/commonjs/mol-canvas3d/passes/image.js +3 -2
  63. package/lib/commonjs/mol-canvas3d/passes/marking.js +1 -1
  64. package/lib/commonjs/mol-canvas3d/passes/multi-sample.d.ts +10 -2
  65. package/lib/commonjs/mol-canvas3d/passes/multi-sample.js +18 -14
  66. package/lib/commonjs/mol-canvas3d/passes/pick.js +12 -12
  67. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +3 -3
  68. package/lib/commonjs/mol-canvas3d/passes/smaa.js +1 -1
  69. package/lib/commonjs/mol-geo/geometry/base.d.ts +18 -0
  70. package/lib/commonjs/mol-geo/geometry/base.js +18 -1
  71. package/lib/commonjs/mol-geo/geometry/clipping-data.d.ts +1 -3
  72. package/lib/commonjs/mol-geo/geometry/clipping-data.js +3 -8
  73. package/lib/commonjs/mol-geo/geometry/color-data.d.ts +1 -1
  74. package/lib/commonjs/mol-geo/geometry/color-data.js +22 -0
  75. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +12 -2
  76. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +2 -2
  77. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  78. package/lib/commonjs/mol-geo/geometry/direct-volume/direct-volume.js +21 -66
  79. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  80. package/lib/commonjs/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  81. package/lib/commonjs/mol-geo/geometry/image/image.d.ts +10 -0
  82. package/lib/commonjs/mol-geo/geometry/image/image.js +1 -1
  83. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +11 -0
  84. package/lib/commonjs/mol-geo/geometry/lines/lines.js +1 -1
  85. package/lib/commonjs/mol-geo/geometry/marker-data.d.ts +0 -1
  86. package/lib/commonjs/mol-geo/geometry/marker-data.js +13 -9
  87. package/lib/commonjs/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  88. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +2 -2
  89. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +11 -1
  90. package/lib/commonjs/mol-geo/geometry/points/points.js +1 -1
  91. package/lib/commonjs/mol-geo/geometry/size-data.js +5 -5
  92. package/lib/commonjs/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  93. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +2 -2
  94. package/lib/commonjs/mol-geo/geometry/text/text.d.ts +10 -0
  95. package/lib/commonjs/mol-geo/geometry/text/text.js +1 -1
  96. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  97. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  98. package/lib/commonjs/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  99. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  100. package/lib/commonjs/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  101. package/lib/commonjs/mol-gl/render-object.d.ts +2 -1
  102. package/lib/commonjs/mol-gl/render-object.js +10 -10
  103. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +11 -5
  104. package/lib/commonjs/mol-gl/renderable/cylinders.js +3 -3
  105. package/lib/commonjs/mol-gl/renderable/direct-volume.d.ts +15 -14
  106. package/lib/commonjs/mol-gl/renderable/direct-volume.js +3 -3
  107. package/lib/commonjs/mol-gl/renderable/image.d.ts +10 -4
  108. package/lib/commonjs/mol-gl/renderable/image.js +2 -2
  109. package/lib/commonjs/mol-gl/renderable/lines.d.ts +39 -33
  110. package/lib/commonjs/mol-gl/renderable/lines.js +3 -3
  111. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +11 -5
  112. package/lib/commonjs/mol-gl/renderable/mesh.js +3 -3
  113. package/lib/commonjs/mol-gl/renderable/points.d.ts +10 -4
  114. package/lib/commonjs/mol-gl/renderable/points.js +2 -2
  115. package/lib/commonjs/mol-gl/renderable/schema.d.ts +10 -11
  116. package/lib/commonjs/mol-gl/renderable/schema.js +4 -10
  117. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +11 -5
  118. package/lib/commonjs/mol-gl/renderable/spheres.js +3 -3
  119. package/lib/commonjs/mol-gl/renderable/text.d.ts +10 -4
  120. package/lib/commonjs/mol-gl/renderable/text.js +2 -2
  121. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +11 -6
  122. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +3 -3
  123. package/lib/commonjs/mol-gl/renderable.d.ts +0 -1
  124. package/lib/commonjs/mol-gl/renderer.d.ts +12 -12
  125. package/lib/commonjs/mol-gl/renderer.js +23 -92
  126. package/lib/commonjs/mol-gl/scene.d.ts +2 -2
  127. package/lib/commonjs/mol-gl/scene.js +7 -5
  128. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  129. package/lib/commonjs/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  130. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  131. package/lib/commonjs/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  132. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  133. package/lib/commonjs/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  134. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  135. package/lib/commonjs/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  136. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  137. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  138. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  139. package/lib/commonjs/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  140. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  141. package/lib/commonjs/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  142. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  143. package/lib/commonjs/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  144. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  145. package/lib/commonjs/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  146. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  147. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  148. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  149. package/lib/commonjs/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  150. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  151. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
  152. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  153. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  154. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  155. package/lib/commonjs/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  156. package/lib/commonjs/mol-gl/shader/cylinders.frag.d.ts +1 -1
  157. package/lib/commonjs/mol-gl/shader/cylinders.frag.js +1 -1
  158. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  159. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  160. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  161. package/lib/commonjs/mol-gl/shader/gaussian-density.frag.js +1 -1
  162. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  163. package/lib/commonjs/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  164. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  165. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  166. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  167. package/lib/commonjs/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  168. package/lib/commonjs/mol-gl/shader/mesh.frag.d.ts +1 -1
  169. package/lib/commonjs/mol-gl/shader/mesh.frag.js +1 -1
  170. package/lib/commonjs/mol-gl/shader/mesh.vert.d.ts +1 -1
  171. package/lib/commonjs/mol-gl/shader/mesh.vert.js +1 -1
  172. package/lib/commonjs/mol-gl/shader/spheres.frag.d.ts +1 -1
  173. package/lib/commonjs/mol-gl/shader/spheres.frag.js +1 -1
  174. package/lib/commonjs/mol-gl/shader-code.d.ts +3 -1
  175. package/lib/commonjs/mol-gl/shader-code.js +43 -14
  176. package/lib/commonjs/mol-gl/webgl/render-item.d.ts +7 -6
  177. package/lib/commonjs/mol-gl/webgl/render-item.js +10 -8
  178. package/lib/commonjs/mol-gl/webgl/resources.js +8 -1
  179. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
  180. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +326 -1
  181. package/lib/commonjs/mol-io/reader/mol2/parser.d.ts +1 -1
  182. package/lib/commonjs/mol-io/reader/mol2/parser.js +33 -3
  183. package/lib/commonjs/mol-io/reader/mol2/schema.d.ts +12 -1
  184. package/lib/commonjs/mol-io/reader/mol2/schema.js +1 -1
  185. package/lib/commonjs/mol-math/geometry/gaussian-density/gpu.js +2 -2
  186. package/lib/commonjs/mol-math/geometry/symmetry-operator.js +3 -2
  187. package/lib/commonjs/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  188. package/lib/commonjs/mol-math/linear-algebra/3d/quat.js +20 -1
  189. package/lib/commonjs/mol-model/structure/model/model.d.ts +1 -0
  190. package/lib/commonjs/mol-model/structure/model/model.js +8 -2
  191. package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
  192. package/lib/commonjs/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
  193. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
  194. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-derived.js +4 -1
  195. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
  196. package/lib/commonjs/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
  197. package/lib/commonjs/mol-model/structure/model/types.js +9 -0
  198. package/lib/commonjs/mol-model/structure/structure/element/stats.js +8 -0
  199. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  200. package/lib/commonjs/mol-model/structure/structure/unit/bonds/common.js +11 -2
  201. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  202. package/lib/commonjs/mol-model/structure/structure/unit/bonds/inter-compute.js +20 -10
  203. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  204. package/lib/commonjs/mol-model/structure/structure/unit/bonds/intra-compute.js +21 -11
  205. package/lib/commonjs/mol-model/structure/structure/unit/rings.js +2 -0
  206. package/lib/commonjs/mol-model-formats/shape/ply.d.ts +20 -0
  207. package/lib/commonjs/mol-model-formats/structure/mol2.d.ts +1 -1
  208. package/lib/commonjs/mol-model-formats/structure/mol2.js +37 -7
  209. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  210. package/lib/commonjs/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  211. package/lib/commonjs/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  212. package/lib/commonjs/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
  213. package/lib/commonjs/mol-model-props/computed/representations/interactions.d.ts +30 -0
  214. package/lib/commonjs/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  215. package/lib/commonjs/mol-plugin/behavior/dynamic/representation.js +4 -6
  216. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  217. package/lib/commonjs/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  218. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
  219. package/lib/commonjs/mol-plugin/commands.d.ts +1 -4
  220. package/lib/commonjs/mol-plugin/config.d.ts +2 -2
  221. package/lib/commonjs/mol-plugin/config.js +5 -25
  222. package/lib/commonjs/mol-plugin/features.d.ts +9 -0
  223. package/lib/commonjs/mol-plugin/features.js +38 -0
  224. package/lib/commonjs/mol-plugin/spec.js +1 -0
  225. package/lib/commonjs/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  226. package/lib/commonjs/mol-plugin-state/actions/structure.d.ts +8 -1
  227. package/lib/commonjs/mol-plugin-state/actions/structure.js +183 -72
  228. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
  229. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy-preset.js +13 -8
  230. package/lib/commonjs/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
  231. package/lib/commonjs/mol-plugin-state/builder/structure/representation-preset.d.ts +4 -4
  232. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  233. package/lib/commonjs/mol-plugin-state/helpers/structure-clipping.js +1 -1
  234. package/lib/commonjs/mol-plugin-state/helpers/structure-selection-query.js +33 -19
  235. package/lib/commonjs/mol-plugin-state/manager/structure/component.d.ts +13 -1
  236. package/lib/commonjs/mol-plugin-state/manager/structure/component.js +13 -8
  237. package/lib/commonjs/mol-plugin-state/manager/structure/selection.js +3 -1
  238. package/lib/commonjs/mol-plugin-state/transforms/representation.d.ts +32 -0
  239. package/lib/commonjs/mol-plugin-state/transforms/representation.js +2 -2
  240. package/lib/commonjs/mol-plugin-ui/index.d.ts +4 -4
  241. package/lib/commonjs/mol-plugin-ui/index.js +13 -16
  242. package/lib/commonjs/mol-plugin-ui/plugin.js +1 -1
  243. package/lib/commonjs/mol-plugin-ui/viewport/simple-settings.js +2 -6
  244. package/lib/commonjs/mol-repr/shape/loci/angle.d.ts +10 -0
  245. package/lib/commonjs/mol-repr/shape/loci/common.d.ts +10 -0
  246. package/lib/commonjs/mol-repr/shape/loci/dihedral.d.ts +10 -0
  247. package/lib/commonjs/mol-repr/shape/loci/distance.d.ts +10 -0
  248. package/lib/commonjs/mol-repr/shape/loci/label.d.ts +10 -0
  249. package/lib/commonjs/mol-repr/shape/loci/orientation.d.ts +10 -0
  250. package/lib/commonjs/mol-repr/shape/loci/plane.d.ts +10 -0
  251. package/lib/commonjs/mol-repr/shape/model/unitcell.d.ts +10 -0
  252. package/lib/commonjs/mol-repr/structure/complex-representation.js +1 -1
  253. package/lib/commonjs/mol-repr/structure/complex-visual.d.ts +61 -19
  254. package/lib/commonjs/mol-repr/structure/params.d.ts +81 -19
  255. package/lib/commonjs/mol-repr/structure/registry.d.ts +141 -19
  256. package/lib/commonjs/mol-repr/structure/representation/backbone.d.ts +30 -0
  257. package/lib/commonjs/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  258. package/lib/commonjs/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  259. package/lib/commonjs/mol-repr/structure/representation/cartoon.d.ts +30 -0
  260. package/lib/commonjs/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  261. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  262. package/lib/commonjs/mol-repr/structure/representation/gaussian-surface.js +1 -1
  263. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  264. package/lib/commonjs/mol-repr/structure/representation/gaussian-volume.js +2 -7
  265. package/lib/commonjs/mol-repr/structure/representation/label.d.ts +30 -0
  266. package/lib/commonjs/mol-repr/structure/representation/label.js +1 -1
  267. package/lib/commonjs/mol-repr/structure/representation/line.d.ts +30 -0
  268. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  269. package/lib/commonjs/mol-repr/structure/representation/molecular-surface.js +1 -1
  270. package/lib/commonjs/mol-repr/structure/representation/orientation.d.ts +30 -0
  271. package/lib/commonjs/mol-repr/structure/representation/point.d.ts +30 -0
  272. package/lib/commonjs/mol-repr/structure/representation/putty.d.ts +30 -0
  273. package/lib/commonjs/mol-repr/structure/representation/spacefill.d.ts +30 -0
  274. package/lib/commonjs/mol-repr/structure/units-representation.js +1 -1
  275. package/lib/commonjs/mol-repr/structure/units-visual.d.ts +81 -19
  276. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  277. package/lib/commonjs/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  278. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  279. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
  280. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  281. package/lib/commonjs/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  282. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
  283. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
  284. package/lib/commonjs/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
  285. package/lib/commonjs/mol-repr/structure/visual/element-cross.d.ts +10 -0
  286. package/lib/commonjs/mol-repr/structure/visual/element-point.d.ts +10 -0
  287. package/lib/commonjs/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  288. package/lib/commonjs/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  289. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  290. package/lib/commonjs/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  291. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  292. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  293. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  294. package/lib/commonjs/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  295. package/lib/commonjs/mol-repr/structure/visual/label-text.d.ts +10 -0
  296. package/lib/commonjs/mol-repr/structure/visual/label-text.js +1 -2
  297. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  298. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  299. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  300. package/lib/commonjs/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  301. package/lib/commonjs/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  302. package/lib/commonjs/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  303. package/lib/commonjs/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  304. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  305. package/lib/commonjs/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  306. package/lib/commonjs/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  307. package/lib/commonjs/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  308. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  309. package/lib/commonjs/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  310. package/lib/commonjs/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  311. package/lib/commonjs/mol-repr/structure/visual/util/bond.js +1 -1
  312. package/lib/commonjs/mol-repr/structure/visual/util/common.d.ts +3 -2
  313. package/lib/commonjs/mol-repr/structure/visual/util/common.js +2 -5
  314. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  315. package/lib/commonjs/mol-repr/structure/visual/util/gaussian.js +12 -12
  316. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  317. package/lib/commonjs/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  318. package/lib/commonjs/mol-repr/visual.js +11 -7
  319. package/lib/commonjs/mol-repr/volume/direct-volume.d.ts +33 -57
  320. package/lib/commonjs/mol-repr/volume/direct-volume.js +8 -12
  321. package/lib/commonjs/mol-repr/volume/isosurface.d.ts +60 -0
  322. package/lib/commonjs/mol-repr/volume/isosurface.js +11 -2
  323. package/lib/commonjs/mol-repr/volume/registry.d.ts +31 -19
  324. package/lib/commonjs/mol-repr/volume/representation.d.ts +10 -0
  325. package/lib/commonjs/mol-repr/volume/slice.d.ts +30 -0
  326. package/lib/commonjs/mol-repr/volume/slice.js +2 -2
  327. package/lib/commonjs/mol-repr/volume/util.js +2 -2
  328. package/lib/commonjs/mol-script/language/builder.d.ts +0 -1
  329. package/lib/commonjs/mol-theme/clipping.d.ts +7 -15
  330. package/lib/commonjs/mol-theme/clipping.js +5 -12
  331. package/lib/commonjs/mol-theme/color/volume-value.d.ts +17 -0
  332. package/lib/commonjs/mol-theme/color/volume-value.js +57 -0
  333. package/lib/commonjs/mol-theme/color.d.ts +3 -0
  334. package/lib/commonjs/mol-theme/color.js +2 -0
  335. package/lib/commonjs/mol-util/clip.d.ts +49 -0
  336. package/lib/commonjs/mol-util/clip.js +97 -0
  337. package/lib/commonjs/mol-util/number-packing.d.ts +11 -0
  338. package/lib/commonjs/mol-util/{float-packing.js → number-packing.js} +10 -19
  339. package/lib/examples/alpha-orbitals/index.html +61 -60
  340. package/lib/examples/alpha-orbitals/index.js +4 -5
  341. package/lib/examples/basic-wrapper/index.html +137 -136
  342. package/lib/examples/basic-wrapper/index.js +24 -12
  343. package/lib/examples/lighting/index.d.ts +1 -1
  344. package/lib/examples/lighting/index.html +88 -86
  345. package/lib/examples/lighting/index.js +58 -42
  346. package/lib/examples/proteopedia-wrapper/index.html +236 -235
  347. package/lib/examples/proteopedia-wrapper/index.js +27 -15
  348. package/lib/extensions/alpha-orbitals/transforms.d.ts +0 -1
  349. package/lib/extensions/alpha-orbitals/transforms.js +1 -14
  350. package/lib/extensions/anvil/behavior.d.ts +4 -0
  351. package/lib/extensions/anvil/representation.d.ts +50 -0
  352. package/lib/extensions/cellpack/representation.d.ts +10 -0
  353. package/lib/extensions/dnatco/confal-pyramids/representation.d.ts +30 -0
  354. package/lib/extensions/geo-export/mesh-exporter.js +4 -4
  355. package/lib/extensions/model-archive/quality-assessment/behavior.d.ts +68 -0
  356. package/lib/extensions/model-archive/quality-assessment/behavior.js +233 -0
  357. package/lib/extensions/model-archive/quality-assessment/color/plddt.d.ts +14 -0
  358. package/lib/extensions/model-archive/quality-assessment/color/plddt.js +120 -0
  359. package/lib/extensions/model-archive/quality-assessment/color/qmean.d.ts +12 -0
  360. package/lib/extensions/model-archive/quality-assessment/color/qmean.js +106 -0
  361. package/lib/extensions/model-archive/quality-assessment/prop.d.ts +28 -0
  362. package/lib/extensions/model-archive/quality-assessment/prop.js +127 -0
  363. package/lib/extensions/pdbe/structure-quality-report/prop.js +1 -1
  364. package/lib/extensions/rcsb/assembly-symmetry/behavior.d.ts +6 -2
  365. package/lib/extensions/rcsb/assembly-symmetry/prop.js +1 -1
  366. package/lib/extensions/rcsb/assembly-symmetry/representation.d.ts +10 -0
  367. package/lib/extensions/rcsb/validation-report/prop.js +1 -1
  368. package/lib/extensions/rcsb/validation-report/representation.d.ts +50 -0
  369. package/lib/mol-canvas3d/canvas3d.d.ts +3 -9
  370. package/lib/mol-canvas3d/canvas3d.js +34 -23
  371. package/lib/mol-canvas3d/helper/bounding-sphere-helper.js +3 -2
  372. package/lib/mol-canvas3d/helper/camera-helper.d.ts +4 -0
  373. package/lib/mol-canvas3d/helper/camera-helper.js +2 -2
  374. package/lib/mol-canvas3d/helper/handle-helper.d.ts +4 -0
  375. package/lib/mol-canvas3d/helper/handle-helper.js +2 -2
  376. package/lib/mol-canvas3d/helper/helper.d.ts +2 -0
  377. package/lib/mol-canvas3d/passes/draw.d.ts +13 -1
  378. package/lib/mol-canvas3d/passes/draw.js +16 -15
  379. package/lib/mol-canvas3d/passes/image.d.ts +1 -0
  380. package/lib/mol-canvas3d/passes/image.js +3 -2
  381. package/lib/mol-canvas3d/passes/marking.js +1 -1
  382. package/lib/mol-canvas3d/passes/multi-sample.d.ts +10 -2
  383. package/lib/mol-canvas3d/passes/multi-sample.js +18 -14
  384. package/lib/mol-canvas3d/passes/pick.js +11 -11
  385. package/lib/mol-canvas3d/passes/postprocessing.js +3 -3
  386. package/lib/mol-canvas3d/passes/smaa.js +1 -1
  387. package/lib/mol-geo/geometry/base.d.ts +18 -0
  388. package/lib/mol-geo/geometry/base.js +18 -1
  389. package/lib/mol-geo/geometry/clipping-data.d.ts +1 -3
  390. package/lib/mol-geo/geometry/clipping-data.js +3 -8
  391. package/lib/mol-geo/geometry/color-data.d.ts +1 -1
  392. package/lib/mol-geo/geometry/color-data.js +22 -0
  393. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +12 -2
  394. package/lib/mol-geo/geometry/cylinders/cylinders.js +2 -2
  395. package/lib/mol-geo/geometry/direct-volume/direct-volume.d.ts +15 -38
  396. package/lib/mol-geo/geometry/direct-volume/direct-volume.js +22 -67
  397. package/lib/mol-geo/geometry/direct-volume/transfer-function.d.ts +2 -4
  398. package/lib/mol-geo/geometry/direct-volume/transfer-function.js +4 -7
  399. package/lib/mol-geo/geometry/image/image.d.ts +10 -0
  400. package/lib/mol-geo/geometry/image/image.js +1 -1
  401. package/lib/mol-geo/geometry/lines/lines.d.ts +11 -0
  402. package/lib/mol-geo/geometry/lines/lines.js +1 -1
  403. package/lib/mol-geo/geometry/marker-data.d.ts +0 -1
  404. package/lib/mol-geo/geometry/marker-data.js +13 -9
  405. package/lib/mol-geo/geometry/mesh/mesh.d.ts +10 -0
  406. package/lib/mol-geo/geometry/mesh/mesh.js +2 -2
  407. package/lib/mol-geo/geometry/points/points.d.ts +11 -1
  408. package/lib/mol-geo/geometry/points/points.js +1 -1
  409. package/lib/mol-geo/geometry/size-data.js +5 -5
  410. package/lib/mol-geo/geometry/spheres/spheres.d.ts +10 -0
  411. package/lib/mol-geo/geometry/spheres/spheres.js +2 -2
  412. package/lib/mol-geo/geometry/text/text.d.ts +10 -0
  413. package/lib/mol-geo/geometry/text/text.js +1 -1
  414. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.d.ts +10 -0
  415. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  416. package/lib/mol-gl/compute/histogram-pyramid/sum.js +2 -2
  417. package/lib/mol-gl/compute/marching-cubes/isosurface.d.ts +2 -2
  418. package/lib/mol-gl/compute/marching-cubes/isosurface.js +10 -9
  419. package/lib/mol-gl/render-object.d.ts +2 -1
  420. package/lib/mol-gl/render-object.js +10 -10
  421. package/lib/mol-gl/renderable/cylinders.d.ts +11 -5
  422. package/lib/mol-gl/renderable/cylinders.js +3 -3
  423. package/lib/mol-gl/renderable/direct-volume.d.ts +15 -14
  424. package/lib/mol-gl/renderable/direct-volume.js +3 -3
  425. package/lib/mol-gl/renderable/image.d.ts +10 -4
  426. package/lib/mol-gl/renderable/image.js +2 -2
  427. package/lib/mol-gl/renderable/lines.d.ts +39 -33
  428. package/lib/mol-gl/renderable/lines.js +4 -4
  429. package/lib/mol-gl/renderable/mesh.d.ts +11 -5
  430. package/lib/mol-gl/renderable/mesh.js +3 -3
  431. package/lib/mol-gl/renderable/points.d.ts +10 -4
  432. package/lib/mol-gl/renderable/points.js +2 -2
  433. package/lib/mol-gl/renderable/schema.d.ts +10 -11
  434. package/lib/mol-gl/renderable/schema.js +4 -10
  435. package/lib/mol-gl/renderable/spheres.d.ts +11 -5
  436. package/lib/mol-gl/renderable/spheres.js +3 -3
  437. package/lib/mol-gl/renderable/text.d.ts +10 -4
  438. package/lib/mol-gl/renderable/text.js +2 -2
  439. package/lib/mol-gl/renderable/texture-mesh.d.ts +11 -6
  440. package/lib/mol-gl/renderable/texture-mesh.js +3 -3
  441. package/lib/mol-gl/renderable.d.ts +0 -1
  442. package/lib/mol-gl/renderer.d.ts +12 -12
  443. package/lib/mol-gl/renderer.js +24 -93
  444. package/lib/mol-gl/scene.d.ts +2 -2
  445. package/lib/mol-gl/scene.js +7 -5
  446. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.d.ts +1 -1
  447. package/lib/mol-gl/shader/chunks/apply-light-color.glsl.js +1 -1
  448. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.d.ts +1 -1
  449. package/lib/mol-gl/shader/chunks/assign-color-varying.glsl.js +1 -1
  450. package/lib/mol-gl/shader/chunks/assign-group.glsl.d.ts +1 -1
  451. package/lib/mol-gl/shader/chunks/assign-group.glsl.js +1 -1
  452. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.d.ts +1 -1
  453. package/lib/mol-gl/shader/chunks/assign-marker-varying.glsl.js +1 -1
  454. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  455. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  456. package/lib/mol-gl/shader/chunks/assign-position.glsl.d.ts +1 -1
  457. package/lib/mol-gl/shader/chunks/assign-position.glsl.js +1 -1
  458. package/lib/mol-gl/shader/chunks/assign-size.glsl.d.ts +1 -1
  459. package/lib/mol-gl/shader/chunks/assign-size.glsl.js +1 -1
  460. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.d.ts +1 -1
  461. package/lib/mol-gl/shader/chunks/color-frag-params.glsl.js +1 -1
  462. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.d.ts +1 -1
  463. package/lib/mol-gl/shader/chunks/color-vert-params.glsl.js +1 -1
  464. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  465. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  466. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.d.ts +1 -1
  467. package/lib/mol-gl/shader/chunks/common-vert-params.glsl.js +1 -1
  468. package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  469. package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
  470. package/lib/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  471. package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  472. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.d.ts +1 -1
  473. package/lib/mol-gl/shader/compute/color-smoothing/accumulate.vert.js +1 -1
  474. package/lib/mol-gl/shader/cylinders.frag.d.ts +1 -1
  475. package/lib/mol-gl/shader/cylinders.frag.js +1 -1
  476. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  477. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  478. package/lib/mol-gl/shader/gaussian-density.frag.d.ts +1 -1
  479. package/lib/mol-gl/shader/gaussian-density.frag.js +1 -1
  480. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.d.ts +1 -1
  481. package/lib/mol-gl/shader/histogram-pyramid/reduction.frag.js +1 -1
  482. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  483. package/lib/mol-gl/shader/image.frag.js +1 -1
  484. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.d.ts +1 -1
  485. package/lib/mol-gl/shader/marching-cubes/isosurface.frag.js +1 -1
  486. package/lib/mol-gl/shader/mesh.frag.d.ts +1 -1
  487. package/lib/mol-gl/shader/mesh.frag.js +1 -1
  488. package/lib/mol-gl/shader/mesh.vert.d.ts +1 -1
  489. package/lib/mol-gl/shader/mesh.vert.js +1 -1
  490. package/lib/mol-gl/shader/spheres.frag.d.ts +1 -1
  491. package/lib/mol-gl/shader/spheres.frag.js +1 -1
  492. package/lib/mol-gl/shader-code.d.ts +3 -1
  493. package/lib/mol-gl/shader-code.js +43 -14
  494. package/lib/mol-gl/webgl/render-item.d.ts +7 -6
  495. package/lib/mol-gl/webgl/render-item.js +8 -6
  496. package/lib/mol-gl/webgl/resources.js +8 -1
  497. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +326 -1
  498. package/lib/mol-io/reader/cif/schema/mmcif.js +326 -1
  499. package/lib/mol-io/reader/mol2/parser.d.ts +1 -1
  500. package/lib/mol-io/reader/mol2/parser.js +33 -3
  501. package/lib/mol-io/reader/mol2/schema.d.ts +12 -1
  502. package/lib/mol-io/reader/mol2/schema.js +1 -1
  503. package/lib/mol-math/geometry/gaussian-density/gpu.js +2 -2
  504. package/lib/mol-math/geometry/symmetry-operator.js +3 -2
  505. package/lib/mol-math/linear-algebra/3d/quat.d.ts +9 -1
  506. package/lib/mol-math/linear-algebra/3d/quat.js +20 -1
  507. package/lib/mol-model/structure/model/model.d.ts +1 -0
  508. package/lib/mol-model/structure/model/model.js +8 -2
  509. package/lib/mol-model/structure/model/properties/atomic/hierarchy.d.ts +6 -1
  510. package/lib/mol-model/structure/model/properties/atomic/hierarchy.js +1 -1
  511. package/lib/mol-model/structure/model/properties/utils/atomic-derived.d.ts +1 -1
  512. package/lib/mol-model/structure/model/properties/utils/atomic-derived.js +5 -2
  513. package/lib/mol-model/structure/model/properties/utils/atomic-index.d.ts +1 -1
  514. package/lib/mol-model/structure/model/properties/utils/atomic-index.js +12 -1
  515. package/lib/mol-model/structure/model/types.js +9 -0
  516. package/lib/mol-model/structure/structure/element/stats.js +8 -0
  517. package/lib/mol-model/structure/structure/unit/bonds/common.d.ts +2 -1
  518. package/lib/mol-model/structure/structure/unit/bonds/common.js +9 -1
  519. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.d.ts +1 -1
  520. package/lib/mol-model/structure/structure/unit/bonds/inter-compute.js +21 -11
  521. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.d.ts +1 -1
  522. package/lib/mol-model/structure/structure/unit/bonds/intra-compute.js +22 -12
  523. package/lib/mol-model/structure/structure/unit/rings.js +2 -0
  524. package/lib/mol-model-formats/shape/ply.d.ts +20 -0
  525. package/lib/mol-model-formats/structure/mol2.d.ts +1 -1
  526. package/lib/mol-model-formats/structure/mol2.js +37 -7
  527. package/lib/mol-model-formats/structure/property/bonds/index-pair.d.ts +18 -1
  528. package/lib/mol-model-formats/structure/property/bonds/index-pair.js +18 -5
  529. package/lib/mol-model-props/computed/representations/interactions-inter-unit-cylinder.d.ts +10 -0
  530. package/lib/mol-model-props/computed/representations/interactions-intra-unit-cylinder.d.ts +10 -0
  531. package/lib/mol-model-props/computed/representations/interactions.d.ts +30 -0
  532. package/lib/mol-model-props/integrative/cross-link-restraint/representation.d.ts +40 -0
  533. package/lib/mol-plugin/behavior/dynamic/representation.js +4 -6
  534. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.d.ts +11 -0
  535. package/lib/mol-plugin/behavior/dynamic/selection/structure-focus-representation.js +3 -1
  536. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
  537. package/lib/mol-plugin/commands.d.ts +1 -4
  538. package/lib/mol-plugin/config.d.ts +2 -2
  539. package/lib/mol-plugin/config.js +4 -23
  540. package/lib/mol-plugin/features.d.ts +9 -0
  541. package/lib/mol-plugin/features.js +35 -0
  542. package/lib/mol-plugin/spec.js +1 -0
  543. package/lib/mol-plugin/util/viewport-screenshot.d.ts +12 -0
  544. package/lib/mol-plugin/version.js +2 -2
  545. package/lib/mol-plugin-state/actions/structure.d.ts +8 -1
  546. package/lib/mol-plugin-state/actions/structure.js +183 -72
  547. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.d.ts +5 -355
  548. package/lib/mol-plugin-state/builder/structure/hierarchy-preset.js +14 -9
  549. package/lib/mol-plugin-state/builder/structure/hierarchy.d.ts +1 -71
  550. package/lib/mol-plugin-state/builder/structure/representation-preset.d.ts +4 -4
  551. package/lib/mol-plugin-state/helpers/structure-clipping.d.ts +1 -1
  552. package/lib/mol-plugin-state/helpers/structure-clipping.js +1 -1
  553. package/lib/mol-plugin-state/helpers/structure-selection-query.js +34 -20
  554. package/lib/mol-plugin-state/manager/structure/component.d.ts +13 -1
  555. package/lib/mol-plugin-state/manager/structure/component.js +14 -9
  556. package/lib/mol-plugin-state/manager/structure/selection.js +3 -1
  557. package/lib/mol-plugin-state/transforms/representation.d.ts +32 -0
  558. package/lib/mol-plugin-state/transforms/representation.js +2 -2
  559. package/lib/mol-plugin-ui/index.d.ts +4 -4
  560. package/lib/mol-plugin-ui/index.js +11 -13
  561. package/lib/mol-plugin-ui/plugin.js +1 -1
  562. package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
  563. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  564. package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
  565. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  566. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  567. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  568. package/lib/mol-plugin-ui/skin/base/components/misc.scss +643 -643
  569. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  570. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  571. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  572. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  573. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  574. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +127 -127
  575. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  576. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  577. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  578. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  579. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  580. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  581. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  582. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  583. package/lib/mol-plugin-ui/skin/base/variables.scss +85 -85
  584. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  585. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  586. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  587. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  588. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  589. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  590. package/lib/mol-plugin-ui/viewport/simple-settings.js +2 -6
  591. package/lib/mol-repr/shape/loci/angle.d.ts +10 -0
  592. package/lib/mol-repr/shape/loci/common.d.ts +10 -0
  593. package/lib/mol-repr/shape/loci/dihedral.d.ts +10 -0
  594. package/lib/mol-repr/shape/loci/distance.d.ts +10 -0
  595. package/lib/mol-repr/shape/loci/label.d.ts +10 -0
  596. package/lib/mol-repr/shape/loci/orientation.d.ts +10 -0
  597. package/lib/mol-repr/shape/loci/plane.d.ts +10 -0
  598. package/lib/mol-repr/shape/model/unitcell.d.ts +10 -0
  599. package/lib/mol-repr/structure/complex-representation.js +1 -1
  600. package/lib/mol-repr/structure/complex-visual.d.ts +61 -19
  601. package/lib/mol-repr/structure/params.d.ts +81 -19
  602. package/lib/mol-repr/structure/registry.d.ts +141 -19
  603. package/lib/mol-repr/structure/representation/backbone.d.ts +30 -0
  604. package/lib/mol-repr/structure/representation/ball-and-stick.d.ts +30 -0
  605. package/lib/mol-repr/structure/representation/carbohydrate.d.ts +30 -0
  606. package/lib/mol-repr/structure/representation/cartoon.d.ts +30 -0
  607. package/lib/mol-repr/structure/representation/ellipsoid.d.ts +30 -0
  608. package/lib/mol-repr/structure/representation/gaussian-surface.d.ts +30 -0
  609. package/lib/mol-repr/structure/representation/gaussian-surface.js +1 -1
  610. package/lib/mol-repr/structure/representation/gaussian-volume.d.ts +34 -58
  611. package/lib/mol-repr/structure/representation/gaussian-volume.js +2 -7
  612. package/lib/mol-repr/structure/representation/label.d.ts +30 -0
  613. package/lib/mol-repr/structure/representation/label.js +1 -1
  614. package/lib/mol-repr/structure/representation/line.d.ts +30 -0
  615. package/lib/mol-repr/structure/representation/molecular-surface.d.ts +30 -0
  616. package/lib/mol-repr/structure/representation/molecular-surface.js +1 -1
  617. package/lib/mol-repr/structure/representation/orientation.d.ts +30 -0
  618. package/lib/mol-repr/structure/representation/point.d.ts +30 -0
  619. package/lib/mol-repr/structure/representation/putty.d.ts +30 -0
  620. package/lib/mol-repr/structure/representation/spacefill.d.ts +30 -0
  621. package/lib/mol-repr/structure/units-representation.js +1 -1
  622. package/lib/mol-repr/structure/units-visual.d.ts +81 -19
  623. package/lib/mol-repr/structure/visual/bond-inter-unit-cylinder.d.ts +20 -0
  624. package/lib/mol-repr/structure/visual/bond-inter-unit-line.d.ts +10 -0
  625. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.d.ts +20 -0
  626. package/lib/mol-repr/structure/visual/bond-intra-unit-cylinder.js +2 -2
  627. package/lib/mol-repr/structure/visual/bond-intra-unit-line.d.ts +10 -0
  628. package/lib/mol-repr/structure/visual/bond-intra-unit-line.js +2 -2
  629. package/lib/mol-repr/structure/visual/carbohydrate-link-cylinder.d.ts +10 -0
  630. package/lib/mol-repr/structure/visual/carbohydrate-symbol-mesh.d.ts +10 -0
  631. package/lib/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.d.ts +10 -0
  632. package/lib/mol-repr/structure/visual/element-cross.d.ts +10 -0
  633. package/lib/mol-repr/structure/visual/element-point.d.ts +10 -0
  634. package/lib/mol-repr/structure/visual/element-sphere.d.ts +20 -0
  635. package/lib/mol-repr/structure/visual/ellipsoid-mesh.d.ts +10 -0
  636. package/lib/mol-repr/structure/visual/gaussian-density-volume.d.ts +22 -38
  637. package/lib/mol-repr/structure/visual/gaussian-density-volume.js +8 -6
  638. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.d.ts +40 -0
  639. package/lib/mol-repr/structure/visual/gaussian-surface-mesh.js +11 -8
  640. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.d.ts +10 -0
  641. package/lib/mol-repr/structure/visual/gaussian-surface-wireframe.js +1 -1
  642. package/lib/mol-repr/structure/visual/label-text.d.ts +10 -0
  643. package/lib/mol-repr/structure/visual/label-text.js +1 -2
  644. package/lib/mol-repr/structure/visual/molecular-surface-mesh.d.ts +10 -0
  645. package/lib/mol-repr/structure/visual/molecular-surface-mesh.js +1 -1
  646. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.d.ts +10 -0
  647. package/lib/mol-repr/structure/visual/molecular-surface-wireframe.js +1 -1
  648. package/lib/mol-repr/structure/visual/nucleotide-block-mesh.d.ts +10 -0
  649. package/lib/mol-repr/structure/visual/nucleotide-ring-mesh.d.ts +10 -0
  650. package/lib/mol-repr/structure/visual/orientation-ellipsoid-mesh.d.ts +10 -0
  651. package/lib/mol-repr/structure/visual/polymer-backbone-cylinder.d.ts +20 -0
  652. package/lib/mol-repr/structure/visual/polymer-backbone-sphere.d.ts +20 -0
  653. package/lib/mol-repr/structure/visual/polymer-direction-wedge.d.ts +10 -0
  654. package/lib/mol-repr/structure/visual/polymer-gap-cylinder.d.ts +10 -0
  655. package/lib/mol-repr/structure/visual/polymer-trace-mesh.d.ts +10 -0
  656. package/lib/mol-repr/structure/visual/polymer-trace-mesh.js +1 -1
  657. package/lib/mol-repr/structure/visual/polymer-tube-mesh.d.ts +10 -0
  658. package/lib/mol-repr/structure/visual/util/bond.js +1 -1
  659. package/lib/mol-repr/structure/visual/util/common.d.ts +3 -2
  660. package/lib/mol-repr/structure/visual/util/common.js +2 -5
  661. package/lib/mol-repr/structure/visual/util/gaussian.d.ts +7 -6
  662. package/lib/mol-repr/structure/visual/util/gaussian.js +12 -12
  663. package/lib/mol-repr/structure/visual/util/molecular-surface.d.ts +2 -1
  664. package/lib/mol-repr/structure/visual/util/molecular-surface.js +4 -4
  665. package/lib/mol-repr/visual.js +11 -7
  666. package/lib/mol-repr/volume/direct-volume.d.ts +33 -57
  667. package/lib/mol-repr/volume/direct-volume.js +8 -12
  668. package/lib/mol-repr/volume/isosurface.d.ts +60 -0
  669. package/lib/mol-repr/volume/isosurface.js +11 -2
  670. package/lib/mol-repr/volume/registry.d.ts +31 -19
  671. package/lib/mol-repr/volume/representation.d.ts +10 -0
  672. package/lib/mol-repr/volume/slice.d.ts +30 -0
  673. package/lib/mol-repr/volume/slice.js +2 -2
  674. package/lib/mol-repr/volume/util.js +2 -2
  675. package/lib/mol-script/language/builder.d.ts +0 -1
  676. package/lib/mol-theme/clipping.d.ts +7 -15
  677. package/lib/mol-theme/clipping.js +5 -12
  678. package/lib/mol-theme/color/volume-value.d.ts +17 -0
  679. package/lib/mol-theme/color/volume-value.js +52 -0
  680. package/lib/mol-theme/color.d.ts +3 -0
  681. package/lib/mol-theme/color.js +2 -0
  682. package/lib/mol-util/clip.d.ts +49 -0
  683. package/lib/mol-util/clip.js +93 -0
  684. package/lib/mol-util/number-packing.d.ts +11 -0
  685. package/lib/mol-util/{float-packing.js → number-packing.js} +7 -14
  686. package/package.json +162 -162
  687. package/lib/commonjs/mol-util/float-packing.d.ts +0 -15
  688. package/lib/mol-util/float-packing.d.ts +0 -15
@@ -12,7 +12,7 @@ var render_item_1 = require("../../webgl/render-item");
12
12
  var schema_1 = require("../../renderable/schema");
13
13
  var shader_code_1 = require("../../../mol-gl/shader-code");
14
14
  var mol_util_1 = require("../../../mol-util");
15
- var float_packing_1 = require("../../../mol-util/float-packing");
15
+ var number_packing_1 = require("../../../mol-util/number-packing");
16
16
  var util_1 = require("../util");
17
17
  var quad_vert_1 = require("../../../mol-gl/shader/quad.vert");
18
18
  var sum_frag_1 = require("../../../mol-gl/shader/histogram-pyramid/sum.frag");
@@ -73,7 +73,7 @@ function getHistopyramidSum(ctx, pyramidTopTexture) {
73
73
  ctx.unbindFramebuffer();
74
74
  return (0, compat_1.isWebGL2)(gl)
75
75
  ? sumInts[0]
76
- : (0, float_packing_1.decodeFloatRGB)(sumBytes[0], sumBytes[1], sumBytes[2]);
76
+ : (0, number_packing_1.unpackRGBToInt)(sumBytes[0], sumBytes[1], sumBytes[2]);
77
77
  }
78
78
  exports.getHistopyramidSum = getHistopyramidSum;
79
79
  //# sourceMappingURL=sum.js.map
@@ -7,7 +7,7 @@ import { WebGLContext } from '../../webgl/context';
7
7
  import { Texture } from '../../../mol-gl/webgl/texture';
8
8
  import { Vec3, Vec2, Mat4 } from '../../../mol-math/linear-algebra';
9
9
  import { HistogramPyramid } from '../histogram-pyramid/reduction';
10
- export declare function createIsosurfaceBuffers(ctx: WebGLContext, activeVoxelsBase: Texture, volumeData: Texture, histogramPyramid: HistogramPyramid, gridDim: Vec3, gridTexDim: Vec3, transform: Mat4, isoValue: number, invert: boolean, packedGroup: boolean, vertexTexture?: Texture, groupTexture?: Texture, normalTexture?: Texture): {
10
+ export declare function createIsosurfaceBuffers(ctx: WebGLContext, activeVoxelsBase: Texture, volumeData: Texture, histogramPyramid: HistogramPyramid, gridDim: Vec3, gridTexDim: Vec3, transform: Mat4, isoValue: number, invert: boolean, packedGroup: boolean, axisOrder: Vec3, vertexTexture?: Texture, groupTexture?: Texture, normalTexture?: Texture): {
11
11
  vertexTexture: Texture;
12
12
  groupTexture: Texture;
13
13
  normalTexture: Texture;
@@ -22,7 +22,7 @@ export declare function createIsosurfaceBuffers(ctx: WebGLContext, activeVoxelsB
22
22
  *
23
23
  * Implementation based on http://www.miaumiau.cat/2016/10/stream-compaction-in-webgl/
24
24
  */
25
- export declare function extractIsosurface(ctx: WebGLContext, volumeData: Texture, gridDim: Vec3, gridTexDim: Vec3, gridTexScale: Vec2, transform: Mat4, isoValue: number, invert: boolean, packedGroup: boolean, vertexTexture?: Texture, groupTexture?: Texture, normalTexture?: Texture): {
25
+ export declare function extractIsosurface(ctx: WebGLContext, volumeData: Texture, gridDim: Vec3, gridTexDim: Vec3, gridTexScale: Vec2, transform: Mat4, isoValue: number, invert: boolean, packedGroup: boolean, axisOrder: Vec3, vertexTexture?: Texture, groupTexture?: Texture, normalTexture?: Texture): {
26
26
  vertexTexture: Texture;
27
27
  groupTexture: Texture;
28
28
  normalTexture: Texture;
@@ -19,9 +19,9 @@ var quad_vert_1 = require("../../../mol-gl/shader/quad.vert");
19
19
  var isosurface_frag_1 = require("../../../mol-gl/shader/marching-cubes/isosurface.frag");
20
20
  var active_voxels_1 = require("./active-voxels");
21
21
  var compat_1 = require("../../webgl/compat");
22
- var IsosurfaceSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, util_1.QuadSchema), { tTriIndices: (0, schema_1.TextureSpec)('image-uint8', 'alpha', 'ubyte', 'nearest'), tActiveVoxelsPyramid: (0, schema_1.TextureSpec)('texture', 'rgba', 'float', 'nearest'), tActiveVoxelsBase: (0, schema_1.TextureSpec)('texture', 'rgba', 'float', 'nearest'), tVolumeData: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'nearest'), uIsoValue: (0, schema_1.UniformSpec)('f'), uSize: (0, schema_1.UniformSpec)('f'), uLevels: (0, schema_1.UniformSpec)('f'), uCount: (0, schema_1.UniformSpec)('f'), uInvert: (0, schema_1.UniformSpec)('b'), uGridDim: (0, schema_1.UniformSpec)('v3'), uGridTexDim: (0, schema_1.UniformSpec)('v3'), uGridTransform: (0, schema_1.UniformSpec)('m4'), uScale: (0, schema_1.UniformSpec)('v2'), dPackedGroup: (0, schema_1.DefineSpec)('boolean') });
22
+ var IsosurfaceSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, util_1.QuadSchema), { tTriIndices: (0, schema_1.TextureSpec)('image-uint8', 'alpha', 'ubyte', 'nearest'), tActiveVoxelsPyramid: (0, schema_1.TextureSpec)('texture', 'rgba', 'float', 'nearest'), tActiveVoxelsBase: (0, schema_1.TextureSpec)('texture', 'rgba', 'float', 'nearest'), tVolumeData: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'nearest'), uIsoValue: (0, schema_1.UniformSpec)('f'), uSize: (0, schema_1.UniformSpec)('f'), uLevels: (0, schema_1.UniformSpec)('f'), uCount: (0, schema_1.UniformSpec)('f'), uInvert: (0, schema_1.UniformSpec)('b'), uGridDim: (0, schema_1.UniformSpec)('v3'), uGridTexDim: (0, schema_1.UniformSpec)('v3'), uGridTransform: (0, schema_1.UniformSpec)('m4'), uScale: (0, schema_1.UniformSpec)('v2'), dPackedGroup: (0, schema_1.DefineSpec)('boolean'), dAxisOrder: (0, schema_1.DefineSpec)('string', ['012', '021', '102', '120', '201', '210']) });
23
23
  var IsosurfaceName = 'isosurface';
24
- function getIsosurfaceRenderable(ctx, activeVoxelsPyramid, activeVoxelsBase, volumeData, gridDim, gridTexDim, transform, isoValue, levels, scale, count, invert, packedGroup) {
24
+ function getIsosurfaceRenderable(ctx, activeVoxelsPyramid, activeVoxelsBase, volumeData, gridDim, gridTexDim, transform, isoValue, levels, scale, count, invert, packedGroup, axisOrder) {
25
25
  if (ctx.namedComputeRenderables[IsosurfaceName]) {
26
26
  var v = ctx.namedComputeRenderables[IsosurfaceName].values;
27
27
  mol_util_1.ValueCell.update(v.tActiveVoxelsPyramid, activeVoxelsPyramid);
@@ -37,16 +37,17 @@ function getIsosurfaceRenderable(ctx, activeVoxelsPyramid, activeVoxelsBase, vol
37
37
  mol_util_1.ValueCell.update(v.uGridTransform, transform);
38
38
  mol_util_1.ValueCell.update(v.uScale, scale);
39
39
  mol_util_1.ValueCell.update(v.dPackedGroup, packedGroup);
40
+ mol_util_1.ValueCell.updateIfChanged(v.dAxisOrder, axisOrder.join(''));
40
41
  ctx.namedComputeRenderables[IsosurfaceName].update();
41
42
  }
42
43
  else {
43
- ctx.namedComputeRenderables[IsosurfaceName] = createIsosurfaceRenderable(ctx, activeVoxelsPyramid, activeVoxelsBase, volumeData, gridDim, gridTexDim, transform, isoValue, levels, scale, count, invert, packedGroup);
44
+ ctx.namedComputeRenderables[IsosurfaceName] = createIsosurfaceRenderable(ctx, activeVoxelsPyramid, activeVoxelsBase, volumeData, gridDim, gridTexDim, transform, isoValue, levels, scale, count, invert, packedGroup, axisOrder);
44
45
  }
45
46
  return ctx.namedComputeRenderables[IsosurfaceName];
46
47
  }
47
- function createIsosurfaceRenderable(ctx, activeVoxelsPyramid, activeVoxelsBase, volumeData, gridDim, gridTexDim, transform, isoValue, levels, scale, count, invert, packedGroup) {
48
+ function createIsosurfaceRenderable(ctx, activeVoxelsPyramid, activeVoxelsBase, volumeData, gridDim, gridTexDim, transform, isoValue, levels, scale, count, invert, packedGroup, axisOrder) {
48
49
  // console.log('uSize', Math.pow(2, levels))
49
- var values = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, util_1.QuadValues), { tTriIndices: mol_util_1.ValueCell.create((0, tables_1.getTriIndices)()), tActiveVoxelsPyramid: mol_util_1.ValueCell.create(activeVoxelsPyramid), tActiveVoxelsBase: mol_util_1.ValueCell.create(activeVoxelsBase), tVolumeData: mol_util_1.ValueCell.create(volumeData), uIsoValue: mol_util_1.ValueCell.create(isoValue), uSize: mol_util_1.ValueCell.create(Math.pow(2, levels)), uLevels: mol_util_1.ValueCell.create(levels), uCount: mol_util_1.ValueCell.create(count), uInvert: mol_util_1.ValueCell.create(invert), uGridDim: mol_util_1.ValueCell.create(gridDim), uGridTexDim: mol_util_1.ValueCell.create(gridTexDim), uGridTransform: mol_util_1.ValueCell.create(transform), uScale: mol_util_1.ValueCell.create(scale), dPackedGroup: mol_util_1.ValueCell.create(packedGroup) });
50
+ var values = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, util_1.QuadValues), { tTriIndices: mol_util_1.ValueCell.create((0, tables_1.getTriIndices)()), tActiveVoxelsPyramid: mol_util_1.ValueCell.create(activeVoxelsPyramid), tActiveVoxelsBase: mol_util_1.ValueCell.create(activeVoxelsBase), tVolumeData: mol_util_1.ValueCell.create(volumeData), uIsoValue: mol_util_1.ValueCell.create(isoValue), uSize: mol_util_1.ValueCell.create(Math.pow(2, levels)), uLevels: mol_util_1.ValueCell.create(levels), uCount: mol_util_1.ValueCell.create(count), uInvert: mol_util_1.ValueCell.create(invert), uGridDim: mol_util_1.ValueCell.create(gridDim), uGridTexDim: mol_util_1.ValueCell.create(gridTexDim), uGridTransform: mol_util_1.ValueCell.create(transform), uScale: mol_util_1.ValueCell.create(scale), dPackedGroup: mol_util_1.ValueCell.create(packedGroup), dAxisOrder: mol_util_1.ValueCell.create(axisOrder.join('')) });
50
51
  var schema = (0, tslib_1.__assign)({}, IsosurfaceSchema);
51
52
  var shaderCode = (0, shader_code_1.ShaderCode)('isosurface', quad_vert_1.quad_vert, isosurface_frag_1.isosurface_frag, { drawBuffers: 'required' });
52
53
  var renderItem = (0, render_item_1.createComputeRenderItem)(ctx, 'triangles', shaderCode, schema, values);
@@ -62,7 +63,7 @@ function setRenderingDefaults(ctx) {
62
63
  state.colorMask(true, true, true, true);
63
64
  state.clearColor(0, 0, 0, 0);
64
65
  }
65
- function createIsosurfaceBuffers(ctx, activeVoxelsBase, volumeData, histogramPyramid, gridDim, gridTexDim, transform, isoValue, invert, packedGroup, vertexTexture, groupTexture, normalTexture) {
66
+ function createIsosurfaceBuffers(ctx, activeVoxelsBase, volumeData, histogramPyramid, gridDim, gridTexDim, transform, isoValue, invert, packedGroup, axisOrder, vertexTexture, groupTexture, normalTexture) {
66
67
  var drawBuffers = ctx.extensions.drawBuffers;
67
68
  if (!drawBuffers)
68
69
  throw new Error('need WebGL draw buffers');
@@ -110,7 +111,7 @@ function createIsosurfaceBuffers(ctx, activeVoxelsBase, volumeData, histogramPyr
110
111
  vertexTexture.attachFramebuffer(framebuffer, 0);
111
112
  groupTexture.attachFramebuffer(framebuffer, 1);
112
113
  normalTexture.attachFramebuffer(framebuffer, 2);
113
- var renderable = getIsosurfaceRenderable(ctx, pyramidTex, activeVoxelsBase, volumeData, gridDim, gridTexDim, transform, isoValue, levels, scale, count, invert, packedGroup);
114
+ var renderable = getIsosurfaceRenderable(ctx, pyramidTex, activeVoxelsBase, volumeData, gridDim, gridTexDim, transform, isoValue, levels, scale, count, invert, packedGroup, axisOrder);
114
115
  ctx.state.currentRenderItemId = -1;
115
116
  framebuffer.bind();
116
117
  drawBuffers.drawBuffers([
@@ -136,7 +137,7 @@ exports.createIsosurfaceBuffers = createIsosurfaceBuffers;
136
137
  *
137
138
  * Implementation based on http://www.miaumiau.cat/2016/10/stream-compaction-in-webgl/
138
139
  */
139
- function extractIsosurface(ctx, volumeData, gridDim, gridTexDim, gridTexScale, transform, isoValue, invert, packedGroup, vertexTexture, groupTexture, normalTexture) {
140
+ function extractIsosurface(ctx, volumeData, gridDim, gridTexDim, gridTexScale, transform, isoValue, invert, packedGroup, axisOrder, vertexTexture, groupTexture, normalTexture) {
140
141
  // console.time('calcActiveVoxels');
141
142
  var activeVoxelsTex = (0, active_voxels_1.calcActiveVoxels)(ctx, volumeData, gridDim, gridTexDim, isoValue, gridTexScale);
142
143
  // ctx.waitForGpuCommandsCompleteSync();
@@ -146,7 +147,7 @@ function extractIsosurface(ctx, volumeData, gridDim, gridTexDim, gridTexScale, t
146
147
  // ctx.waitForGpuCommandsCompleteSync();
147
148
  // console.timeEnd('createHistogramPyramid');
148
149
  // console.time('createIsosurfaceBuffers');
149
- var gv = createIsosurfaceBuffers(ctx, activeVoxelsTex, volumeData, compacted, gridDim, gridTexDim, transform, isoValue, invert, packedGroup, vertexTexture, groupTexture, normalTexture);
150
+ var gv = createIsosurfaceBuffers(ctx, activeVoxelsTex, volumeData, compacted, gridDim, gridTexDim, transform, isoValue, invert, packedGroup, axisOrder, vertexTexture, groupTexture, normalTexture);
150
151
  // ctx.waitForGpuCommandsCompleteSync();
151
152
  // console.timeEnd('createIsosurfaceBuffers');
152
153
  return gv;
@@ -14,6 +14,7 @@ import { TextValues } from './renderable/text';
14
14
  import { TextureMeshValues } from './renderable/texture-mesh';
15
15
  import { ImageValues } from './renderable/image';
16
16
  import { CylindersValues } from './renderable/cylinders';
17
+ import { GraphicsRenderVariant } from './webgl/render-item';
17
18
  export declare const getNextMaterialId: () => number;
18
19
  export interface GraphicsRenderObject<T extends RenderObjectType = RenderObjectType> {
19
20
  readonly id: number;
@@ -25,4 +26,4 @@ export interface GraphicsRenderObject<T extends RenderObjectType = RenderObjectT
25
26
  export declare type RenderObjectType = 'mesh' | 'points' | 'spheres' | 'cylinders' | 'text' | 'lines' | 'direct-volume' | 'image' | 'texture-mesh';
26
27
  export declare type RenderObjectValues<T extends RenderObjectType> = T extends 'mesh' ? MeshValues : T extends 'points' ? PointsValues : T extends 'spheres' ? SpheresValues : T extends 'cylinders' ? CylindersValues : T extends 'text' ? TextValues : T extends 'lines' ? LinesValues : T extends 'direct-volume' ? DirectVolumeValues : T extends 'image' ? ImageValues : T extends 'texture-mesh' ? TextureMeshValues : never;
27
28
  export declare function createRenderObject<T extends RenderObjectType>(type: T, values: RenderObjectValues<T>, state: RenderableState, materialId: number): GraphicsRenderObject<T>;
28
- export declare function createRenderable<T extends RenderObjectType>(ctx: WebGLContext, o: GraphicsRenderObject<T>): Renderable<any>;
29
+ export declare function createRenderable<T extends RenderObjectType>(ctx: WebGLContext, o: GraphicsRenderObject<T>, variants: GraphicsRenderVariant[]): Renderable<any>;
@@ -23,17 +23,17 @@ function createRenderObject(type, values, state, materialId) {
23
23
  return { id: getNextId(), type: type, values: values, state: state, materialId: materialId };
24
24
  }
25
25
  exports.createRenderObject = createRenderObject;
26
- function createRenderable(ctx, o) {
26
+ function createRenderable(ctx, o, variants) {
27
27
  switch (o.type) {
28
- case 'mesh': return (0, mesh_1.MeshRenderable)(ctx, o.id, o.values, o.state, o.materialId);
29
- case 'points': return (0, points_1.PointsRenderable)(ctx, o.id, o.values, o.state, o.materialId);
30
- case 'spheres': return (0, spheres_1.SpheresRenderable)(ctx, o.id, o.values, o.state, o.materialId);
31
- case 'cylinders': return (0, cylinders_1.CylindersRenderable)(ctx, o.id, o.values, o.state, o.materialId);
32
- case 'text': return (0, text_1.TextRenderable)(ctx, o.id, o.values, o.state, o.materialId);
33
- case 'lines': return (0, lines_1.LinesRenderable)(ctx, o.id, o.values, o.state, o.materialId);
34
- case 'direct-volume': return (0, direct_volume_1.DirectVolumeRenderable)(ctx, o.id, o.values, o.state, o.materialId);
35
- case 'image': return (0, image_1.ImageRenderable)(ctx, o.id, o.values, o.state, o.materialId);
36
- case 'texture-mesh': return (0, texture_mesh_1.TextureMeshRenderable)(ctx, o.id, o.values, o.state, o.materialId);
28
+ case 'mesh': return (0, mesh_1.MeshRenderable)(ctx, o.id, o.values, o.state, o.materialId, variants);
29
+ case 'points': return (0, points_1.PointsRenderable)(ctx, o.id, o.values, o.state, o.materialId, variants);
30
+ case 'spheres': return (0, spheres_1.SpheresRenderable)(ctx, o.id, o.values, o.state, o.materialId, variants);
31
+ case 'cylinders': return (0, cylinders_1.CylindersRenderable)(ctx, o.id, o.values, o.state, o.materialId, variants);
32
+ case 'text': return (0, text_1.TextRenderable)(ctx, o.id, o.values, o.state, o.materialId, variants);
33
+ case 'lines': return (0, lines_1.LinesRenderable)(ctx, o.id, o.values, o.state, o.materialId, variants);
34
+ case 'direct-volume': return (0, direct_volume_1.DirectVolumeRenderable)(ctx, o.id, o.values, o.state, o.materialId, variants);
35
+ case 'image': return (0, image_1.ImageRenderable)(ctx, o.id, o.values, o.state, o.materialId, variants);
36
+ case 'texture-mesh': return (0, texture_mesh_1.TextureMeshRenderable)(ctx, o.id, o.values, o.state, o.materialId, variants);
37
37
  }
38
38
  throw new Error('unsupported type');
39
39
  }
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { Renderable, RenderableState } from '../renderable';
7
7
  import { WebGLContext } from '../webgl/context';
8
+ import { GraphicsRenderVariant } from '../webgl/render-item';
8
9
  import { AttributeSpec, Values, ElementsSpec, ValueSpec, DefineSpec, UniformSpec } from './schema';
9
10
  export declare const CylindersSchema: {
10
11
  aGroup: AttributeSpec<"float32">;
@@ -15,7 +16,7 @@ export declare const CylindersSchema: {
15
16
  aCap: AttributeSpec<"float32">;
16
17
  elements: ElementsSpec<"uint32">;
17
18
  padding: ValueSpec<"number">;
18
- dDoubleSided: DefineSpec<"boolean">;
19
+ uDoubleSided: UniformSpec<"b">;
19
20
  dIgnoreLight: DefineSpec<"boolean">;
20
21
  dXrayShaded: DefineSpec<"boolean">;
21
22
  uBumpFrequency: UniformSpec<"f">;
@@ -26,6 +27,13 @@ export declare const CylindersSchema: {
26
27
  dSizeType: DefineSpec<"string">;
27
28
  uSizeFactor: UniformSpec<"f">;
28
29
  dLightCount: DefineSpec<"number">;
30
+ dClipObjectCount: DefineSpec<"number">;
31
+ dClipVariant: DefineSpec<"string">;
32
+ uClipObjectType: UniformSpec<"i[]">;
33
+ uClipObjectInvert: UniformSpec<"b[]">;
34
+ uClipObjectPosition: UniformSpec<"v3[]">;
35
+ uClipObjectRotation: UniformSpec<"v4[]">;
36
+ uClipObjectScale: UniformSpec<"v3[]">;
29
37
  aInstance: AttributeSpec<"float32">;
30
38
  aTransform: AttributeSpec<"float32">;
31
39
  uAlpha: UniformSpec<"f">;
@@ -45,8 +53,6 @@ export declare const CylindersSchema: {
45
53
  hasReflection: ValueSpec<"boolean">;
46
54
  boundingSphere: ValueSpec<"sphere">;
47
55
  invariantBoundingSphere: ValueSpec<"sphere">;
48
- dClipObjectCount: DefineSpec<"number">;
49
- dClipVariant: DefineSpec<"string">;
50
56
  uClippingTexDim: UniformSpec<"v2">;
51
57
  tClipping: import("./schema").TextureSpec<"image-uint8">;
52
58
  dClipping: DefineSpec<"boolean">;
@@ -75,7 +81,6 @@ export declare const CylindersSchema: {
75
81
  uMarker: UniformSpec<"f">;
76
82
  uMarkerTexDim: UniformSpec<"v2">;
77
83
  tMarker: import("./schema").TextureSpec<"image-uint8">;
78
- dMarkerType: DefineSpec<"string">;
79
84
  markerAverage: ValueSpec<"number">;
80
85
  markerStatus: ValueSpec<"number">;
81
86
  uColor: UniformSpec<"v3">;
@@ -87,7 +92,8 @@ export declare const CylindersSchema: {
87
92
  tColorGrid: import("./schema").TextureSpec<"texture">;
88
93
  dColorType: DefineSpec<"string">;
89
94
  dUsePalette: DefineSpec<"boolean">;
95
+ dGeometryType: DefineSpec<"string">;
90
96
  };
91
97
  export declare type CylindersSchema = typeof CylindersSchema;
92
98
  export declare type CylindersValues = Values<CylindersSchema>;
93
- export declare function CylindersRenderable(ctx: WebGLContext, id: number, values: CylindersValues, state: RenderableState, materialId: number): Renderable<CylindersValues>;
99
+ export declare function CylindersRenderable(ctx: WebGLContext, id: number, values: CylindersValues, state: RenderableState, materialId: number, variants: GraphicsRenderVariant[]): Renderable<CylindersValues>;
@@ -12,14 +12,14 @@ var render_item_1 = require("../webgl/render-item");
12
12
  var schema_1 = require("./schema");
13
13
  var shader_code_1 = require("../shader-code");
14
14
  var mol_util_1 = require("../../mol-util");
15
- exports.CylindersSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.BaseSchema), schema_1.SizeSchema), { aGroup: (0, schema_1.AttributeSpec)('float32', 1, 0), aStart: (0, schema_1.AttributeSpec)('float32', 3, 0), aEnd: (0, schema_1.AttributeSpec)('float32', 3, 0), aMapping: (0, schema_1.AttributeSpec)('float32', 3, 0), aScale: (0, schema_1.AttributeSpec)('float32', 1, 0), aCap: (0, schema_1.AttributeSpec)('float32', 1, 0), elements: (0, schema_1.ElementsSpec)('uint32'), padding: (0, schema_1.ValueSpec)('number'), dDoubleSided: (0, schema_1.DefineSpec)('boolean'), dIgnoreLight: (0, schema_1.DefineSpec)('boolean'), dXrayShaded: (0, schema_1.DefineSpec)('boolean'), uBumpFrequency: (0, schema_1.UniformSpec)('f'), uBumpAmplitude: (0, schema_1.UniformSpec)('f') });
16
- function CylindersRenderable(ctx, id, values, state, materialId) {
15
+ exports.CylindersSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.BaseSchema), schema_1.SizeSchema), { aGroup: (0, schema_1.AttributeSpec)('float32', 1, 0), aStart: (0, schema_1.AttributeSpec)('float32', 3, 0), aEnd: (0, schema_1.AttributeSpec)('float32', 3, 0), aMapping: (0, schema_1.AttributeSpec)('float32', 3, 0), aScale: (0, schema_1.AttributeSpec)('float32', 1, 0), aCap: (0, schema_1.AttributeSpec)('float32', 1, 0), elements: (0, schema_1.ElementsSpec)('uint32'), padding: (0, schema_1.ValueSpec)('number'), uDoubleSided: (0, schema_1.UniformSpec)('b'), dIgnoreLight: (0, schema_1.DefineSpec)('boolean'), dXrayShaded: (0, schema_1.DefineSpec)('boolean'), uBumpFrequency: (0, schema_1.UniformSpec)('f'), uBumpAmplitude: (0, schema_1.UniformSpec)('f') });
16
+ function CylindersRenderable(ctx, id, values, state, materialId, variants) {
17
17
  var schema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.GlobalUniformSchema), schema_1.GlobalTextureSchema), schema_1.InternalSchema), exports.CylindersSchema);
18
18
  var internalValues = {
19
19
  uObjectId: mol_util_1.ValueCell.create(id),
20
20
  };
21
21
  var shaderCode = shader_code_1.CylindersShaderCode;
22
- var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId);
22
+ var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId, variants);
23
23
  return (0, renderable_1.createRenderable)(renderItem, values, state);
24
24
  }
25
25
  exports.CylindersRenderable = CylindersRenderable;
@@ -5,15 +5,11 @@
5
5
  */
6
6
  import { Renderable, RenderableState } from '../renderable';
7
7
  import { WebGLContext } from '../webgl/context';
8
+ import { GraphicsRenderVariant } from '../webgl/render-item';
8
9
  import { AttributeSpec, Values, UniformSpec, TextureSpec, ElementsSpec, DefineSpec } from './schema';
9
10
  export declare const DirectVolumeSchema: {
10
11
  aPosition: AttributeSpec<"float32">;
11
12
  elements: ElementsSpec<"uint32">;
12
- uColor: UniformSpec<"v3">;
13
- uColorTexDim: UniformSpec<"v2">;
14
- tColor: TextureSpec<"image-uint8">;
15
- dColorType: DefineSpec<"string">;
16
- uIsoValue: UniformSpec<"v2">;
17
13
  uBboxMin: UniformSpec<"v3">;
18
14
  uBboxMax: UniformSpec<"v3">;
19
15
  uBboxSize: UniformSpec<"v3">;
@@ -22,8 +18,6 @@ export declare const DirectVolumeSchema: {
22
18
  uJumpLength: UniformSpec<"f">;
23
19
  uTransform: UniformSpec<"m4">;
24
20
  uGridDim: UniformSpec<"v3">;
25
- dRenderMode: DefineSpec<"string">;
26
- dSingleLayer: DefineSpec<"boolean">;
27
21
  tTransferTex: TextureSpec<"image-uint8">;
28
22
  uTransferScale: UniformSpec<"f">;
29
23
  dGridTexType: DefineSpec<"string">;
@@ -34,12 +28,17 @@ export declare const DirectVolumeSchema: {
34
28
  uCartnToUnit: UniformSpec<"m4">;
35
29
  uUnitToCartn: UniformSpec<"m4">;
36
30
  dPackedGroup: DefineSpec<"boolean">;
37
- dDoubleSided: DefineSpec<"boolean">;
38
- dFlipSided: DefineSpec<"boolean">;
39
- dFlatShaded: DefineSpec<"boolean">;
31
+ dAxisOrder: DefineSpec<"string">;
40
32
  dIgnoreLight: DefineSpec<"boolean">;
41
33
  dXrayShaded: DefineSpec<"boolean">;
42
34
  dLightCount: DefineSpec<"number">;
35
+ dClipObjectCount: DefineSpec<"number">;
36
+ dClipVariant: DefineSpec<"string">;
37
+ uClipObjectType: UniformSpec<"i[]">;
38
+ uClipObjectInvert: UniformSpec<"b[]">;
39
+ uClipObjectPosition: UniformSpec<"v3[]">;
40
+ uClipObjectRotation: UniformSpec<"v4[]">;
41
+ uClipObjectScale: UniformSpec<"v3[]">;
43
42
  aInstance: AttributeSpec<"float32">;
44
43
  aTransform: AttributeSpec<"float32">;
45
44
  uAlpha: UniformSpec<"f">;
@@ -59,8 +58,6 @@ export declare const DirectVolumeSchema: {
59
58
  hasReflection: import("./schema").ValueSpec<"boolean">;
60
59
  boundingSphere: import("./schema").ValueSpec<"sphere">;
61
60
  invariantBoundingSphere: import("./schema").ValueSpec<"sphere">;
62
- dClipObjectCount: DefineSpec<"number">;
63
- dClipVariant: DefineSpec<"string">;
64
61
  uClippingTexDim: UniformSpec<"v2">;
65
62
  tClipping: TextureSpec<"image-uint8">;
66
63
  dClipping: DefineSpec<"boolean">;
@@ -89,15 +86,19 @@ export declare const DirectVolumeSchema: {
89
86
  uMarker: UniformSpec<"f">;
90
87
  uMarkerTexDim: UniformSpec<"v2">;
91
88
  tMarker: TextureSpec<"image-uint8">;
92
- dMarkerType: DefineSpec<"string">;
93
89
  markerAverage: import("./schema").ValueSpec<"number">;
94
90
  markerStatus: import("./schema").ValueSpec<"number">;
91
+ uColor: UniformSpec<"v3">;
92
+ uColorTexDim: UniformSpec<"v2">;
95
93
  uColorGridDim: UniformSpec<"v3">;
96
94
  uColorGridTransform: UniformSpec<"v4">;
95
+ tColor: TextureSpec<"image-uint8">;
97
96
  tPalette: TextureSpec<"image-uint8">;
98
97
  tColorGrid: TextureSpec<"texture">;
98
+ dColorType: DefineSpec<"string">;
99
99
  dUsePalette: DefineSpec<"boolean">;
100
+ dGeometryType: DefineSpec<"string">;
100
101
  };
101
102
  export declare type DirectVolumeSchema = typeof DirectVolumeSchema;
102
103
  export declare type DirectVolumeValues = Values<DirectVolumeSchema>;
103
- export declare function DirectVolumeRenderable(ctx: WebGLContext, id: number, values: DirectVolumeValues, state: RenderableState, materialId: number): Renderable<DirectVolumeValues>;
104
+ export declare function DirectVolumeRenderable(ctx: WebGLContext, id: number, values: DirectVolumeValues, state: RenderableState, materialId: number, variants: GraphicsRenderVariant[]): Renderable<DirectVolumeValues>;
@@ -12,8 +12,8 @@ var render_item_1 = require("../webgl/render-item");
12
12
  var schema_1 = require("./schema");
13
13
  var shader_code_1 = require("../shader-code");
14
14
  var mol_util_1 = require("../../mol-util");
15
- exports.DirectVolumeSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.BaseSchema), { aPosition: (0, schema_1.AttributeSpec)('float32', 3, 0), elements: (0, schema_1.ElementsSpec)('uint32'), uColor: (0, schema_1.UniformSpec)('v3'), uColorTexDim: (0, schema_1.UniformSpec)('v2'), tColor: (0, schema_1.TextureSpec)('image-uint8', 'rgb', 'ubyte', 'nearest'), dColorType: (0, schema_1.DefineSpec)('string', ['uniform', 'attribute', 'instance', 'group', 'groupInstance', 'vertex', 'vertexInstance']), uIsoValue: (0, schema_1.UniformSpec)('v2'), uBboxMin: (0, schema_1.UniformSpec)('v3'), uBboxMax: (0, schema_1.UniformSpec)('v3'), uBboxSize: (0, schema_1.UniformSpec)('v3'), uMaxSteps: (0, schema_1.UniformSpec)('i'), uStepScale: (0, schema_1.UniformSpec)('f'), uJumpLength: (0, schema_1.UniformSpec)('f'), uTransform: (0, schema_1.UniformSpec)('m4'), uGridDim: (0, schema_1.UniformSpec)('v3'), dRenderMode: (0, schema_1.DefineSpec)('string', ['isosurface', 'volume']), dSingleLayer: (0, schema_1.DefineSpec)('boolean'), tTransferTex: (0, schema_1.TextureSpec)('image-uint8', 'rgba', 'ubyte', 'linear'), uTransferScale: (0, schema_1.UniformSpec)('f'), dGridTexType: (0, schema_1.DefineSpec)('string', ['2d', '3d']), uGridTexDim: (0, schema_1.UniformSpec)('v3'), tGridTex: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'linear'), uGridStats: (0, schema_1.UniformSpec)('v4'), uCellDim: (0, schema_1.UniformSpec)('v3'), uCartnToUnit: (0, schema_1.UniformSpec)('m4'), uUnitToCartn: (0, schema_1.UniformSpec)('m4'), dPackedGroup: (0, schema_1.DefineSpec)('boolean'), dDoubleSided: (0, schema_1.DefineSpec)('boolean'), dFlipSided: (0, schema_1.DefineSpec)('boolean'), dFlatShaded: (0, schema_1.DefineSpec)('boolean'), dIgnoreLight: (0, schema_1.DefineSpec)('boolean'), dXrayShaded: (0, schema_1.DefineSpec)('boolean') });
16
- function DirectVolumeRenderable(ctx, id, values, state, materialId) {
15
+ exports.DirectVolumeSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.BaseSchema), { aPosition: (0, schema_1.AttributeSpec)('float32', 3, 0), elements: (0, schema_1.ElementsSpec)('uint32'), uBboxMin: (0, schema_1.UniformSpec)('v3'), uBboxMax: (0, schema_1.UniformSpec)('v3'), uBboxSize: (0, schema_1.UniformSpec)('v3'), uMaxSteps: (0, schema_1.UniformSpec)('i'), uStepScale: (0, schema_1.UniformSpec)('f'), uJumpLength: (0, schema_1.UniformSpec)('f'), uTransform: (0, schema_1.UniformSpec)('m4'), uGridDim: (0, schema_1.UniformSpec)('v3'), tTransferTex: (0, schema_1.TextureSpec)('image-uint8', 'alpha', 'ubyte', 'linear'), uTransferScale: (0, schema_1.UniformSpec)('f'), dGridTexType: (0, schema_1.DefineSpec)('string', ['2d', '3d']), uGridTexDim: (0, schema_1.UniformSpec)('v3'), tGridTex: (0, schema_1.TextureSpec)('texture', 'rgba', 'ubyte', 'linear'), uGridStats: (0, schema_1.UniformSpec)('v4'), uCellDim: (0, schema_1.UniformSpec)('v3'), uCartnToUnit: (0, schema_1.UniformSpec)('m4'), uUnitToCartn: (0, schema_1.UniformSpec)('m4'), dPackedGroup: (0, schema_1.DefineSpec)('boolean'), dAxisOrder: (0, schema_1.DefineSpec)('string', ['012', '021', '102', '120', '201', '210']), dIgnoreLight: (0, schema_1.DefineSpec)('boolean'), dXrayShaded: (0, schema_1.DefineSpec)('boolean') });
16
+ function DirectVolumeRenderable(ctx, id, values, state, materialId, variants) {
17
17
  var schema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.GlobalUniformSchema), schema_1.GlobalTextureSchema), schema_1.InternalSchema), exports.DirectVolumeSchema);
18
18
  if (!ctx.isWebGL2) {
19
19
  // workaround for webgl1 limitation that loop counters need to be `const`
@@ -23,7 +23,7 @@ function DirectVolumeRenderable(ctx, id, values, state, materialId) {
23
23
  uObjectId: mol_util_1.ValueCell.create(id),
24
24
  };
25
25
  var shaderCode = shader_code_1.DirectVolumeShaderCode;
26
- var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId);
26
+ var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId, variants);
27
27
  return (0, renderable_1.createRenderable)(renderItem, values, state);
28
28
  }
29
29
  exports.DirectVolumeRenderable = DirectVolumeRenderable;
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { Renderable, RenderableState } from '../renderable';
7
7
  import { WebGLContext } from '../webgl/context';
8
+ import { GraphicsRenderVariant } from '../webgl/render-item';
8
9
  import { AttributeSpec, Values, TextureSpec, ElementsSpec, DefineSpec, UniformSpec } from './schema';
9
10
  export declare const ImageSchema: {
10
11
  aGroup: AttributeSpec<"float32">;
@@ -16,6 +17,13 @@ export declare const ImageSchema: {
16
17
  tGroupTex: TextureSpec<"image-uint8">;
17
18
  dInterpolation: DefineSpec<"string">;
18
19
  dLightCount: DefineSpec<"number">;
20
+ dClipObjectCount: DefineSpec<"number">;
21
+ dClipVariant: DefineSpec<"string">;
22
+ uClipObjectType: UniformSpec<"i[]">;
23
+ uClipObjectInvert: UniformSpec<"b[]">;
24
+ uClipObjectPosition: UniformSpec<"v3[]">;
25
+ uClipObjectRotation: UniformSpec<"v4[]">;
26
+ uClipObjectScale: UniformSpec<"v3[]">;
19
27
  aInstance: AttributeSpec<"float32">;
20
28
  aTransform: AttributeSpec<"float32">;
21
29
  uAlpha: UniformSpec<"f">;
@@ -35,8 +43,6 @@ export declare const ImageSchema: {
35
43
  hasReflection: import("./schema").ValueSpec<"boolean">;
36
44
  boundingSphere: import("./schema").ValueSpec<"sphere">;
37
45
  invariantBoundingSphere: import("./schema").ValueSpec<"sphere">;
38
- dClipObjectCount: DefineSpec<"number">;
39
- dClipVariant: DefineSpec<"string">;
40
46
  uClippingTexDim: UniformSpec<"v2">;
41
47
  tClipping: TextureSpec<"image-uint8">;
42
48
  dClipping: DefineSpec<"boolean">;
@@ -65,7 +71,6 @@ export declare const ImageSchema: {
65
71
  uMarker: UniformSpec<"f">;
66
72
  uMarkerTexDim: UniformSpec<"v2">;
67
73
  tMarker: TextureSpec<"image-uint8">;
68
- dMarkerType: DefineSpec<"string">;
69
74
  markerAverage: import("./schema").ValueSpec<"number">;
70
75
  markerStatus: import("./schema").ValueSpec<"number">;
71
76
  uColor: UniformSpec<"v3">;
@@ -77,7 +82,8 @@ export declare const ImageSchema: {
77
82
  tColorGrid: TextureSpec<"texture">;
78
83
  dColorType: DefineSpec<"string">;
79
84
  dUsePalette: DefineSpec<"boolean">;
85
+ dGeometryType: DefineSpec<"string">;
80
86
  };
81
87
  export declare type ImageSchema = typeof ImageSchema;
82
88
  export declare type ImageValues = Values<ImageSchema>;
83
- export declare function ImageRenderable(ctx: WebGLContext, id: number, values: ImageValues, state: RenderableState, materialId: number): Renderable<ImageValues>;
89
+ export declare function ImageRenderable(ctx: WebGLContext, id: number, values: ImageValues, state: RenderableState, materialId: number, variants: GraphicsRenderVariant[]): Renderable<ImageValues>;
@@ -14,13 +14,13 @@ var shader_code_1 = require("../shader-code");
14
14
  var mol_util_1 = require("../../mol-util");
15
15
  var image_1 = require("../../mol-geo/geometry/image/image");
16
16
  exports.ImageSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.BaseSchema), { aGroup: (0, schema_1.AttributeSpec)('float32', 1, 0), aPosition: (0, schema_1.AttributeSpec)('float32', 3, 0), aUv: (0, schema_1.AttributeSpec)('float32', 2, 0), elements: (0, schema_1.ElementsSpec)('uint32'), uImageTexDim: (0, schema_1.UniformSpec)('v2'), tImageTex: (0, schema_1.TextureSpec)('image-uint8', 'rgba', 'ubyte', 'nearest'), tGroupTex: (0, schema_1.TextureSpec)('image-uint8', 'rgba', 'ubyte', 'nearest'), dInterpolation: (0, schema_1.DefineSpec)('string', image_1.InterpolationTypeNames) });
17
- function ImageRenderable(ctx, id, values, state, materialId) {
17
+ function ImageRenderable(ctx, id, values, state, materialId, variants) {
18
18
  var schema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.GlobalUniformSchema), schema_1.GlobalTextureSchema), schema_1.InternalSchema), exports.ImageSchema);
19
19
  var internalValues = {
20
20
  uObjectId: mol_util_1.ValueCell.create(id),
21
21
  };
22
22
  var shaderCode = shader_code_1.ImageShaderCode;
23
- var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId);
23
+ var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId, variants);
24
24
  return (0, renderable_1.createRenderable)(renderItem, values, state);
25
25
  }
26
26
  exports.ImageRenderable = ImageRenderable;
@@ -5,7 +5,8 @@
5
5
  */
6
6
  import { Renderable, RenderableState } from '../renderable';
7
7
  import { WebGLContext } from '../webgl/context';
8
- import { AttributeSpec, DefineSpec, Values, ElementsSpec } from './schema';
8
+ import { GraphicsRenderVariant } from '../webgl/render-item';
9
+ import { AttributeSpec, DefineSpec, Values, ElementsSpec, UniformSpec } from './schema';
9
10
  export declare const LinesSchema: {
10
11
  aGroup: AttributeSpec<"float32">;
11
12
  aMapping: AttributeSpec<"float32">;
@@ -13,24 +14,31 @@ export declare const LinesSchema: {
13
14
  aEnd: AttributeSpec<"float32">;
14
15
  elements: ElementsSpec<"uint32">;
15
16
  dLineSizeAttenuation: DefineSpec<"boolean">;
16
- dDoubleSided: DefineSpec<"boolean">;
17
+ uDoubleSided: UniformSpec<"b">;
17
18
  dFlipSided: DefineSpec<"boolean">;
18
- uSize: import("./schema").UniformSpec<"f">;
19
- uSizeTexDim: import("./schema").UniformSpec<"v2">;
19
+ uSize: UniformSpec<"f">;
20
+ uSizeTexDim: UniformSpec<"v2">;
20
21
  tSize: import("./schema").TextureSpec<"image-uint8">;
21
22
  dSizeType: DefineSpec<"string">;
22
- uSizeFactor: import("./schema").UniformSpec<"f">;
23
+ uSizeFactor: UniformSpec<"f">;
23
24
  dLightCount: DefineSpec<"number">;
25
+ dClipObjectCount: DefineSpec<"number">;
26
+ dClipVariant: DefineSpec<"string">;
27
+ uClipObjectType: UniformSpec<"i[]">;
28
+ uClipObjectInvert: UniformSpec<"b[]">;
29
+ uClipObjectPosition: UniformSpec<"v3[]">;
30
+ uClipObjectRotation: UniformSpec<"v4[]">;
31
+ uClipObjectScale: UniformSpec<"v3[]">;
24
32
  aInstance: AttributeSpec<"float32">;
25
33
  aTransform: AttributeSpec<"float32">;
26
- uAlpha: import("./schema").UniformSpec<"f">;
27
- uMetalness: import("./schema").UniformSpec<"f">;
28
- uRoughness: import("./schema").UniformSpec<"f">;
29
- uBumpiness: import("./schema").UniformSpec<"f">;
30
- uVertexCount: import("./schema").UniformSpec<"i">;
31
- uInstanceCount: import("./schema").UniformSpec<"i">;
32
- uGroupCount: import("./schema").UniformSpec<"i">;
33
- uInvariantBoundingSphere: import("./schema").UniformSpec<"v4">;
34
+ uAlpha: UniformSpec<"f">;
35
+ uMetalness: UniformSpec<"f">;
36
+ uRoughness: UniformSpec<"f">;
37
+ uBumpiness: UniformSpec<"f">;
38
+ uVertexCount: UniformSpec<"i">;
39
+ uInstanceCount: UniformSpec<"i">;
40
+ uGroupCount: UniformSpec<"i">;
41
+ uInvariantBoundingSphere: UniformSpec<"v4">;
34
42
  drawCount: import("./schema").ValueSpec<"number">;
35
43
  instanceCount: import("./schema").ValueSpec<"number">;
36
44
  alpha: import("./schema").ValueSpec<"number">;
@@ -40,49 +48,47 @@ export declare const LinesSchema: {
40
48
  hasReflection: import("./schema").ValueSpec<"boolean">;
41
49
  boundingSphere: import("./schema").ValueSpec<"sphere">;
42
50
  invariantBoundingSphere: import("./schema").ValueSpec<"sphere">;
43
- dClipObjectCount: DefineSpec<"number">;
44
- dClipVariant: DefineSpec<"string">;
45
- uClippingTexDim: import("./schema").UniformSpec<"v2">;
51
+ uClippingTexDim: UniformSpec<"v2">;
46
52
  tClipping: import("./schema").TextureSpec<"image-uint8">;
47
53
  dClipping: DefineSpec<"boolean">;
48
- uSubstanceTexDim: import("./schema").UniformSpec<"v2">;
54
+ uSubstanceTexDim: UniformSpec<"v2">;
49
55
  tSubstance: import("./schema").TextureSpec<"image-uint8">;
50
56
  dSubstance: DefineSpec<"boolean">;
51
- uSubstanceGridDim: import("./schema").UniformSpec<"v3">;
52
- uSubstanceGridTransform: import("./schema").UniformSpec<"v4">;
57
+ uSubstanceGridDim: UniformSpec<"v3">;
58
+ uSubstanceGridTransform: UniformSpec<"v4">;
53
59
  tSubstanceGrid: import("./schema").TextureSpec<"texture">;
54
60
  dSubstanceType: DefineSpec<"string">;
55
- uTransparencyTexDim: import("./schema").UniformSpec<"v2">;
61
+ uTransparencyTexDim: UniformSpec<"v2">;
56
62
  tTransparency: import("./schema").TextureSpec<"image-uint8">;
57
63
  dTransparency: DefineSpec<"boolean">;
58
64
  transparencyAverage: import("./schema").ValueSpec<"number">;
59
- uTransparencyGridDim: import("./schema").UniformSpec<"v3">;
60
- uTransparencyGridTransform: import("./schema").UniformSpec<"v4">;
65
+ uTransparencyGridDim: UniformSpec<"v3">;
66
+ uTransparencyGridTransform: UniformSpec<"v4">;
61
67
  tTransparencyGrid: import("./schema").TextureSpec<"texture">;
62
68
  dTransparencyType: DefineSpec<"string">;
63
- uOverpaintTexDim: import("./schema").UniformSpec<"v2">;
69
+ uOverpaintTexDim: UniformSpec<"v2">;
64
70
  tOverpaint: import("./schema").TextureSpec<"image-uint8">;
65
71
  dOverpaint: DefineSpec<"boolean">;
66
- uOverpaintGridDim: import("./schema").UniformSpec<"v3">;
67
- uOverpaintGridTransform: import("./schema").UniformSpec<"v4">;
72
+ uOverpaintGridDim: UniformSpec<"v3">;
73
+ uOverpaintGridTransform: UniformSpec<"v4">;
68
74
  tOverpaintGrid: import("./schema").TextureSpec<"texture">;
69
75
  dOverpaintType: DefineSpec<"string">;
70
- uMarker: import("./schema").UniformSpec<"f">;
71
- uMarkerTexDim: import("./schema").UniformSpec<"v2">;
76
+ uMarker: UniformSpec<"f">;
77
+ uMarkerTexDim: UniformSpec<"v2">;
72
78
  tMarker: import("./schema").TextureSpec<"image-uint8">;
73
- dMarkerType: DefineSpec<"string">;
74
79
  markerAverage: import("./schema").ValueSpec<"number">;
75
80
  markerStatus: import("./schema").ValueSpec<"number">;
76
- uColor: import("./schema").UniformSpec<"v3">;
77
- uColorTexDim: import("./schema").UniformSpec<"v2">;
78
- uColorGridDim: import("./schema").UniformSpec<"v3">;
79
- uColorGridTransform: import("./schema").UniformSpec<"v4">;
81
+ uColor: UniformSpec<"v3">;
82
+ uColorTexDim: UniformSpec<"v2">;
83
+ uColorGridDim: UniformSpec<"v3">;
84
+ uColorGridTransform: UniformSpec<"v4">;
80
85
  tColor: import("./schema").TextureSpec<"image-uint8">;
81
86
  tPalette: import("./schema").TextureSpec<"image-uint8">;
82
87
  tColorGrid: import("./schema").TextureSpec<"texture">;
83
88
  dColorType: DefineSpec<"string">;
84
89
  dUsePalette: DefineSpec<"boolean">;
90
+ dGeometryType: DefineSpec<"string">;
85
91
  };
86
92
  export declare type LinesSchema = typeof LinesSchema;
87
93
  export declare type LinesValues = Values<LinesSchema>;
88
- export declare function LinesRenderable(ctx: WebGLContext, id: number, values: LinesValues, state: RenderableState, materialId: number): Renderable<LinesValues>;
94
+ export declare function LinesRenderable(ctx: WebGLContext, id: number, values: LinesValues, state: RenderableState, materialId: number, variants: GraphicsRenderVariant[]): Renderable<LinesValues>;
@@ -12,14 +12,14 @@ var render_item_1 = require("../webgl/render-item");
12
12
  var schema_1 = require("./schema");
13
13
  var mol_util_1 = require("../../mol-util");
14
14
  var shader_code_1 = require("../shader-code");
15
- exports.LinesSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.BaseSchema), schema_1.SizeSchema), { aGroup: (0, schema_1.AttributeSpec)('float32', 1, 0), aMapping: (0, schema_1.AttributeSpec)('float32', 2, 0), aStart: (0, schema_1.AttributeSpec)('float32', 3, 0), aEnd: (0, schema_1.AttributeSpec)('float32', 3, 0), elements: (0, schema_1.ElementsSpec)('uint32'), dLineSizeAttenuation: (0, schema_1.DefineSpec)('boolean'), dDoubleSided: (0, schema_1.DefineSpec)('boolean'), dFlipSided: (0, schema_1.DefineSpec)('boolean') });
16
- function LinesRenderable(ctx, id, values, state, materialId) {
15
+ exports.LinesSchema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.BaseSchema), schema_1.SizeSchema), { aGroup: (0, schema_1.AttributeSpec)('float32', 1, 0), aMapping: (0, schema_1.AttributeSpec)('float32', 2, 0), aStart: (0, schema_1.AttributeSpec)('float32', 3, 0), aEnd: (0, schema_1.AttributeSpec)('float32', 3, 0), elements: (0, schema_1.ElementsSpec)('uint32'), dLineSizeAttenuation: (0, schema_1.DefineSpec)('boolean'), uDoubleSided: (0, schema_1.UniformSpec)('b'), dFlipSided: (0, schema_1.DefineSpec)('boolean') });
16
+ function LinesRenderable(ctx, id, values, state, materialId, variants) {
17
17
  var schema = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema_1.GlobalUniformSchema), schema_1.GlobalTextureSchema), schema_1.InternalSchema), exports.LinesSchema);
18
18
  var internalValues = {
19
19
  uObjectId: mol_util_1.ValueCell.create(id),
20
20
  };
21
21
  var shaderCode = shader_code_1.LinesShaderCode;
22
- var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId);
22
+ var renderItem = (0, render_item_1.createGraphicsRenderItem)(ctx, 'triangles', shaderCode, schema, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, values), internalValues), materialId, variants);
23
23
  return (0, renderable_1.createRenderable)(renderItem, values, state);
24
24
  }
25
25
  exports.LinesRenderable = LinesRenderable;
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { Renderable, RenderableState } from '../renderable';
7
7
  import { WebGLContext } from '../webgl/context';
8
+ import { GraphicsRenderVariant } from '../webgl/render-item';
8
9
  import { AttributeSpec, ElementsSpec, DefineSpec, Values, ValueSpec, UniformSpec } from './schema';
9
10
  export declare const MeshSchema: {
10
11
  readonly aGroup: AttributeSpec<"float32">;
@@ -12,7 +13,7 @@ export declare const MeshSchema: {
12
13
  readonly aNormal: AttributeSpec<"float32">;
13
14
  readonly elements: ElementsSpec<"uint32">;
14
15
  readonly dFlatShaded: DefineSpec<"boolean">;
15
- readonly dDoubleSided: DefineSpec<"boolean">;
16
+ readonly uDoubleSided: UniformSpec<"b">;
16
17
  readonly dFlipSided: DefineSpec<"boolean">;
17
18
  readonly dIgnoreLight: DefineSpec<"boolean">;
18
19
  readonly dXrayShaded: DefineSpec<"boolean">;
@@ -20,6 +21,13 @@ export declare const MeshSchema: {
20
21
  readonly uBumpAmplitude: UniformSpec<"f">;
21
22
  readonly meta: ValueSpec<"unknown">;
22
23
  readonly dLightCount: DefineSpec<"number">;
24
+ readonly dClipObjectCount: DefineSpec<"number">;
25
+ readonly dClipVariant: DefineSpec<"string">;
26
+ readonly uClipObjectType: UniformSpec<"i[]">;
27
+ readonly uClipObjectInvert: UniformSpec<"b[]">;
28
+ readonly uClipObjectPosition: UniformSpec<"v3[]">;
29
+ readonly uClipObjectRotation: UniformSpec<"v4[]">;
30
+ readonly uClipObjectScale: UniformSpec<"v3[]">;
23
31
  readonly aInstance: AttributeSpec<"float32">;
24
32
  readonly aTransform: AttributeSpec<"float32">;
25
33
  readonly uAlpha: UniformSpec<"f">;
@@ -39,8 +47,6 @@ export declare const MeshSchema: {
39
47
  readonly hasReflection: ValueSpec<"boolean">;
40
48
  readonly boundingSphere: ValueSpec<"sphere">;
41
49
  readonly invariantBoundingSphere: ValueSpec<"sphere">;
42
- readonly dClipObjectCount: DefineSpec<"number">;
43
- readonly dClipVariant: DefineSpec<"string">;
44
50
  readonly uClippingTexDim: UniformSpec<"v2">;
45
51
  readonly tClipping: import("./schema").TextureSpec<"image-uint8">;
46
52
  readonly dClipping: DefineSpec<"boolean">;
@@ -69,7 +75,6 @@ export declare const MeshSchema: {
69
75
  readonly uMarker: UniformSpec<"f">;
70
76
  readonly uMarkerTexDim: UniformSpec<"v2">;
71
77
  readonly tMarker: import("./schema").TextureSpec<"image-uint8">;
72
- readonly dMarkerType: DefineSpec<"string">;
73
78
  readonly markerAverage: ValueSpec<"number">;
74
79
  readonly markerStatus: ValueSpec<"number">;
75
80
  readonly uColor: UniformSpec<"v3">;
@@ -81,7 +86,8 @@ export declare const MeshSchema: {
81
86
  readonly tColorGrid: import("./schema").TextureSpec<"texture">;
82
87
  readonly dColorType: DefineSpec<"string">;
83
88
  readonly dUsePalette: DefineSpec<"boolean">;
89
+ readonly dGeometryType: DefineSpec<"string">;
84
90
  };
85
91
  export declare type MeshSchema = typeof MeshSchema;
86
92
  export declare type MeshValues = Values<MeshSchema>;
87
- export declare function MeshRenderable(ctx: WebGLContext, id: number, values: MeshValues, state: RenderableState, materialId: number): Renderable<MeshValues>;
93
+ export declare function MeshRenderable(ctx: WebGLContext, id: number, values: MeshValues, state: RenderableState, materialId: number, variants: GraphicsRenderVariant[]): Renderable<MeshValues>;