molstar 3.7.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +202 -202
  3. package/build/viewer/embedded.html +43 -43
  4. package/build/viewer/index.html +106 -106
  5. package/build/viewer/molstar.js +1 -1
  6. package/build/viewer/molstar.js.LICENSE.txt +0 -15
  7. package/lib/apps/docking-viewer/index.html +36 -36
  8. package/lib/apps/viewer/embedded.html +43 -43
  9. package/lib/apps/viewer/index.html +106 -106
  10. package/lib/cli/chem-comp-dict/create-ions.d.ts +2 -1
  11. package/lib/cli/chem-comp-dict/create-ions.js +3 -2
  12. package/lib/cli/cifschema/index.js +1 -1
  13. package/lib/cli/cifschema/util/cif-dic.js +1 -0
  14. package/lib/commonjs/cli/chem-comp-dict/create-ions.d.ts +2 -1
  15. package/lib/commonjs/cli/chem-comp-dict/create-ions.js +3 -2
  16. package/lib/commonjs/cli/cifschema/index.js +1 -1
  17. package/lib/commonjs/cli/cifschema/util/cif-dic.js +1 -0
  18. package/lib/commonjs/examples/proteopedia-wrapper/coloring.d.ts +20 -5
  19. package/lib/commonjs/extensions/rcsb/graphql/types.d.ts +284 -0
  20. package/lib/commonjs/mol-canvas3d/passes/draw.d.ts +0 -2
  21. package/lib/commonjs/mol-canvas3d/passes/draw.js +35 -70
  22. package/lib/commonjs/mol-canvas3d/passes/pick.d.ts +1 -1
  23. package/lib/commonjs/mol-canvas3d/passes/pick.js +1 -1
  24. package/lib/commonjs/mol-canvas3d/passes/postprocessing.d.ts +1 -0
  25. package/lib/commonjs/mol-canvas3d/passes/postprocessing.js +16 -11
  26. package/lib/commonjs/mol-geo/geometry/color-data.d.ts +5 -2
  27. package/lib/commonjs/mol-geo/geometry/color-data.js +7 -17
  28. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.d.ts +1 -1
  29. package/lib/commonjs/mol-geo/geometry/cylinders/cylinders.js +2 -2
  30. package/lib/commonjs/mol-geo/geometry/lines/lines.d.ts +1 -0
  31. package/lib/commonjs/mol-geo/geometry/mesh/mesh.js +2 -2
  32. package/lib/commonjs/mol-geo/geometry/points/points.d.ts +1 -1
  33. package/lib/commonjs/mol-geo/geometry/spheres/spheres.js +2 -2
  34. package/lib/commonjs/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  35. package/lib/commonjs/mol-geo/geometry/transparency-data.d.ts +1 -1
  36. package/lib/commonjs/mol-geo/geometry/transparency-data.js +3 -1
  37. package/lib/commonjs/mol-gl/renderable/cylinders.d.ts +1 -1
  38. package/lib/commonjs/mol-gl/renderable/cylinders.js +1 -1
  39. package/lib/commonjs/mol-gl/renderable/mesh.d.ts +1 -1
  40. package/lib/commonjs/mol-gl/renderable/mesh.js +1 -1
  41. package/lib/commonjs/mol-gl/renderable/schema.d.ts +2 -2
  42. package/lib/commonjs/mol-gl/renderable/schema.js +2 -2
  43. package/lib/commonjs/mol-gl/renderable/spheres.d.ts +1 -1
  44. package/lib/commonjs/mol-gl/renderable/spheres.js +1 -1
  45. package/lib/commonjs/mol-gl/renderable/texture-mesh.d.ts +1 -1
  46. package/lib/commonjs/mol-gl/renderable/texture-mesh.js +1 -1
  47. package/lib/commonjs/mol-gl/renderer.d.ts +5 -5
  48. package/lib/commonjs/mol-gl/renderer.js +64 -45
  49. package/lib/commonjs/mol-gl/scene.d.ts +1 -0
  50. package/lib/commonjs/mol-gl/scene.js +26 -1
  51. package/lib/commonjs/mol-gl/shader/chunks/apply-interior-color.glsl.d.ts +1 -1
  52. package/lib/commonjs/mol-gl/shader/chunks/apply-interior-color.glsl.js +1 -1
  53. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  54. package/lib/commonjs/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  55. package/lib/commonjs/mol-gl/shader/chunks/check-picking-alpha.glsl.d.ts +1 -1
  56. package/lib/commonjs/mol-gl/shader/chunks/check-picking-alpha.glsl.js +1 -1
  57. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  58. package/lib/commonjs/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  59. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  60. package/lib/commonjs/mol-gl/shader/chunks/common.glsl.js +1 -1
  61. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  62. package/lib/commonjs/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  63. package/lib/commonjs/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  64. package/lib/commonjs/mol-gl/shader/direct-volume.frag.js +1 -1
  65. package/lib/commonjs/mol-gl/shader/image.frag.d.ts +1 -1
  66. package/lib/commonjs/mol-gl/shader/image.frag.js +1 -1
  67. package/lib/commonjs/mol-gl/shader/outlines.frag.d.ts +3 -2
  68. package/lib/commonjs/mol-gl/shader/outlines.frag.js +3 -2
  69. package/lib/commonjs/mol-gl/shader/postprocessing.frag.d.ts +1 -1
  70. package/lib/commonjs/mol-gl/shader/postprocessing.frag.js +1 -1
  71. package/lib/commonjs/mol-gl/shader/ssao.frag.d.ts +2 -2
  72. package/lib/commonjs/mol-gl/shader/ssao.frag.js +2 -2
  73. package/lib/commonjs/mol-gl/webgl/render-target.d.ts +3 -1
  74. package/lib/commonjs/mol-gl/webgl/render-target.js +3 -1
  75. package/lib/commonjs/mol-gl/webgl/renderbuffer.d.ts +2 -1
  76. package/lib/commonjs/mol-gl/webgl/renderbuffer.js +8 -1
  77. package/lib/commonjs/mol-gl/webgl/state.d.ts +7 -1
  78. package/lib/commonjs/mol-gl/webgl/state.js +28 -1
  79. package/lib/commonjs/mol-gl/webgl/texture.js +3 -0
  80. package/lib/commonjs/mol-io/reader/cif/schema/bird.d.ts +1 -1
  81. package/lib/commonjs/mol-io/reader/cif/schema/bird.js +1 -1
  82. package/lib/commonjs/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  83. package/lib/commonjs/mol-io/reader/cif/schema/ccd.js +1 -1
  84. package/lib/commonjs/mol-io/reader/cif/schema/cif-core.d.ts +1 -1
  85. package/lib/commonjs/mol-io/reader/cif/schema/cif-core.js +1 -1
  86. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.d.ts +3 -4
  87. package/lib/commonjs/mol-io/reader/cif/schema/mmcif.js +2 -3
  88. package/lib/commonjs/mol-io/reader/dx/parser.js +1 -1
  89. package/lib/commonjs/mol-math/geometry/lookup3d/grid.d.ts +1 -1
  90. package/lib/commonjs/mol-math/geometry/lookup3d/grid.js +3 -3
  91. package/lib/commonjs/mol-model/structure/model/properties/seconday-structure.d.ts +4 -2
  92. package/lib/commonjs/mol-model/structure/model/properties/seconday-structure.js +2 -1
  93. package/lib/commonjs/mol-model/structure/model/types/ions.d.ts +2 -2
  94. package/lib/commonjs/mol-model/structure/model/types/ions.js +2 -2
  95. package/lib/commonjs/mol-model/structure/model/types/saccharides.js +1 -1
  96. package/lib/commonjs/mol-model/structure/model/types.d.ts +1 -1
  97. package/lib/commonjs/mol-model/structure/model/types.js +43 -41
  98. package/lib/commonjs/mol-model-formats/structure/common/property.js +2 -0
  99. package/lib/commonjs/mol-model-formats/structure/property/secondary-structure.d.ts +1 -1
  100. package/lib/commonjs/mol-model-formats/structure/property/secondary-structure.js +2 -2
  101. package/lib/commonjs/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
  102. package/lib/commonjs/mol-plugin-state/helpers/root-structure.js +3 -1
  103. package/lib/commonjs/mol-repr/volume/slice.js +1 -1
  104. package/lib/commonjs/mol-script/language/builder.d.ts +0 -1
  105. package/lib/commonjs/mol-theme/color/volume-value.d.ts +3 -2
  106. package/lib/commonjs/mol-theme/color/volume-value.js +1 -3
  107. package/lib/commonjs/mol-theme/color.d.ts +47 -38
  108. package/lib/commonjs/mol-theme/theme.d.ts +8 -7
  109. package/lib/commonjs/mol-theme/theme.js +1 -1
  110. package/lib/examples/alpha-orbitals/index.html +61 -61
  111. package/lib/examples/basic-wrapper/index.html +137 -137
  112. package/lib/examples/lighting/index.html +88 -88
  113. package/lib/examples/proteopedia-wrapper/coloring.d.ts +20 -5
  114. package/lib/examples/proteopedia-wrapper/index.html +236 -236
  115. package/lib/extensions/rcsb/graphql/types.d.ts +284 -0
  116. package/lib/mol-canvas3d/passes/draw.d.ts +0 -2
  117. package/lib/mol-canvas3d/passes/draw.js +32 -67
  118. package/lib/mol-canvas3d/passes/pick.d.ts +1 -1
  119. package/lib/mol-canvas3d/passes/pick.js +1 -1
  120. package/lib/mol-canvas3d/passes/postprocessing.d.ts +1 -0
  121. package/lib/mol-canvas3d/passes/postprocessing.js +16 -11
  122. package/lib/mol-geo/geometry/color-data.d.ts +5 -2
  123. package/lib/mol-geo/geometry/color-data.js +7 -17
  124. package/lib/mol-geo/geometry/cylinders/cylinders.d.ts +1 -1
  125. package/lib/mol-geo/geometry/cylinders/cylinders.js +2 -2
  126. package/lib/mol-geo/geometry/lines/lines.d.ts +1 -0
  127. package/lib/mol-geo/geometry/mesh/mesh.js +2 -2
  128. package/lib/mol-geo/geometry/points/points.d.ts +1 -1
  129. package/lib/mol-geo/geometry/spheres/spheres.js +2 -2
  130. package/lib/mol-geo/geometry/texture-mesh/texture-mesh.js +2 -2
  131. package/lib/mol-geo/geometry/transparency-data.d.ts +1 -1
  132. package/lib/mol-geo/geometry/transparency-data.js +3 -1
  133. package/lib/mol-gl/renderable/cylinders.d.ts +1 -1
  134. package/lib/mol-gl/renderable/cylinders.js +1 -1
  135. package/lib/mol-gl/renderable/mesh.d.ts +1 -1
  136. package/lib/mol-gl/renderable/mesh.js +1 -1
  137. package/lib/mol-gl/renderable/schema.d.ts +2 -2
  138. package/lib/mol-gl/renderable/schema.js +2 -2
  139. package/lib/mol-gl/renderable/spheres.d.ts +1 -1
  140. package/lib/mol-gl/renderable/spheres.js +1 -1
  141. package/lib/mol-gl/renderable/texture-mesh.d.ts +1 -1
  142. package/lib/mol-gl/renderable/texture-mesh.js +1 -1
  143. package/lib/mol-gl/renderer.d.ts +5 -5
  144. package/lib/mol-gl/renderer.js +64 -45
  145. package/lib/mol-gl/scene.d.ts +1 -0
  146. package/lib/mol-gl/scene.js +26 -1
  147. package/lib/mol-gl/shader/chunks/apply-interior-color.glsl.d.ts +1 -1
  148. package/lib/mol-gl/shader/chunks/apply-interior-color.glsl.js +1 -1
  149. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.d.ts +1 -1
  150. package/lib/mol-gl/shader/chunks/assign-material-color.glsl.js +1 -1
  151. package/lib/mol-gl/shader/chunks/check-picking-alpha.glsl.d.ts +1 -1
  152. package/lib/mol-gl/shader/chunks/check-picking-alpha.glsl.js +1 -1
  153. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.d.ts +1 -1
  154. package/lib/mol-gl/shader/chunks/common-frag-params.glsl.js +1 -1
  155. package/lib/mol-gl/shader/chunks/common.glsl.d.ts +1 -1
  156. package/lib/mol-gl/shader/chunks/common.glsl.js +1 -1
  157. package/lib/mol-gl/shader/chunks/wboit-write.glsl.d.ts +1 -1
  158. package/lib/mol-gl/shader/chunks/wboit-write.glsl.js +1 -1
  159. package/lib/mol-gl/shader/direct-volume.frag.d.ts +1 -1
  160. package/lib/mol-gl/shader/direct-volume.frag.js +1 -1
  161. package/lib/mol-gl/shader/image.frag.d.ts +1 -1
  162. package/lib/mol-gl/shader/image.frag.js +1 -1
  163. package/lib/mol-gl/shader/outlines.frag.d.ts +3 -2
  164. package/lib/mol-gl/shader/outlines.frag.js +3 -2
  165. package/lib/mol-gl/shader/postprocessing.frag.d.ts +1 -1
  166. package/lib/mol-gl/shader/postprocessing.frag.js +1 -1
  167. package/lib/mol-gl/shader/ssao.frag.d.ts +2 -2
  168. package/lib/mol-gl/shader/ssao.frag.js +2 -2
  169. package/lib/mol-gl/webgl/render-target.d.ts +3 -1
  170. package/lib/mol-gl/webgl/render-target.js +3 -1
  171. package/lib/mol-gl/webgl/renderbuffer.d.ts +2 -1
  172. package/lib/mol-gl/webgl/renderbuffer.js +8 -1
  173. package/lib/mol-gl/webgl/state.d.ts +7 -1
  174. package/lib/mol-gl/webgl/state.js +28 -1
  175. package/lib/mol-gl/webgl/texture.js +3 -0
  176. package/lib/mol-io/reader/cif/schema/bird.d.ts +1 -1
  177. package/lib/mol-io/reader/cif/schema/bird.js +1 -1
  178. package/lib/mol-io/reader/cif/schema/ccd.d.ts +1 -1
  179. package/lib/mol-io/reader/cif/schema/ccd.js +1 -1
  180. package/lib/mol-io/reader/cif/schema/cif-core.d.ts +1 -1
  181. package/lib/mol-io/reader/cif/schema/cif-core.js +1 -1
  182. package/lib/mol-io/reader/cif/schema/mmcif.d.ts +3 -4
  183. package/lib/mol-io/reader/cif/schema/mmcif.js +2 -3
  184. package/lib/mol-io/reader/dx/parser.js +1 -1
  185. package/lib/mol-math/geometry/lookup3d/grid.d.ts +1 -1
  186. package/lib/mol-math/geometry/lookup3d/grid.js +3 -3
  187. package/lib/mol-model/structure/model/properties/seconday-structure.d.ts +4 -2
  188. package/lib/mol-model/structure/model/properties/seconday-structure.js +2 -1
  189. package/lib/mol-model/structure/model/types/ions.d.ts +2 -2
  190. package/lib/mol-model/structure/model/types/ions.js +2 -2
  191. package/lib/mol-model/structure/model/types/saccharides.js +1 -1
  192. package/lib/mol-model/structure/model/types.d.ts +1 -1
  193. package/lib/mol-model/structure/model/types.js +43 -41
  194. package/lib/mol-model-formats/structure/common/property.js +2 -0
  195. package/lib/mol-model-formats/structure/property/secondary-structure.d.ts +1 -1
  196. package/lib/mol-model-formats/structure/property/secondary-structure.js +2 -2
  197. package/lib/mol-plugin/behavior/dynamic/volume-streaming/model.d.ts +3 -2
  198. package/lib/mol-plugin/version.js +2 -2
  199. package/lib/mol-plugin-state/helpers/root-structure.js +3 -1
  200. package/lib/mol-plugin-ui/skin/base/base.scss +32 -32
  201. package/lib/mol-plugin-ui/skin/base/components/controls-base.scss +333 -333
  202. package/lib/mol-plugin-ui/skin/base/components/controls.scss +418 -418
  203. package/lib/mol-plugin-ui/skin/base/components/help.scss +27 -27
  204. package/lib/mol-plugin-ui/skin/base/components/line-graph.scss +67 -67
  205. package/lib/mol-plugin-ui/skin/base/components/log.scss +100 -100
  206. package/lib/mol-plugin-ui/skin/base/components/misc.scss +643 -643
  207. package/lib/mol-plugin-ui/skin/base/components/sequence.scss +125 -125
  208. package/lib/mol-plugin-ui/skin/base/components/slider.scss +165 -165
  209. package/lib/mol-plugin-ui/skin/base/components/tasks.scss +99 -99
  210. package/lib/mol-plugin-ui/skin/base/components/toast.scss +83 -83
  211. package/lib/mol-plugin-ui/skin/base/components/transformer.scss +163 -163
  212. package/lib/mol-plugin-ui/skin/base/components/viewport.scss +128 -128
  213. package/lib/mol-plugin-ui/skin/base/layout/common.scss +71 -71
  214. package/lib/mol-plugin-ui/skin/base/layout/controls-landscape.scss +89 -89
  215. package/lib/mol-plugin-ui/skin/base/layout/controls-outside.scss +98 -98
  216. package/lib/mol-plugin-ui/skin/base/layout/controls-portrait.scss +108 -108
  217. package/lib/mol-plugin-ui/skin/base/layout.scss +40 -40
  218. package/lib/mol-plugin-ui/skin/base/logo.scss +12 -12
  219. package/lib/mol-plugin-ui/skin/base/normalize.scss +209 -209
  220. package/lib/mol-plugin-ui/skin/base/ui.scss +40 -40
  221. package/lib/mol-plugin-ui/skin/base/variables.scss +85 -85
  222. package/lib/mol-plugin-ui/skin/blue.scss +1 -1
  223. package/lib/mol-plugin-ui/skin/colors/blue.scss +23 -23
  224. package/lib/mol-plugin-ui/skin/colors/dark.scss +23 -23
  225. package/lib/mol-plugin-ui/skin/colors/light.scss +29 -29
  226. package/lib/mol-plugin-ui/skin/dark.scss +1 -1
  227. package/lib/mol-plugin-ui/skin/light.scss +1 -1
  228. package/lib/mol-repr/volume/slice.js +1 -1
  229. package/lib/mol-script/language/builder.d.ts +0 -1
  230. package/lib/mol-theme/color/volume-value.d.ts +3 -2
  231. package/lib/mol-theme/color/volume-value.js +2 -4
  232. package/lib/mol-theme/color.d.ts +47 -38
  233. package/lib/mol-theme/theme.d.ts +8 -7
  234. package/lib/mol-theme/theme.js +1 -1
  235. package/package.json +162 -162
@@ -650,6 +650,8 @@ export declare type CoreEntry = {
650
650
  readonly em_staining?: Maybe<ReadonlyArray<Maybe<EmStaining>>>;
651
651
  readonly em_vitrification?: Maybe<ReadonlyArray<Maybe<EmVitrification>>>;
652
652
  readonly entry?: Maybe<Entry>;
653
+ /** Get all groups for this PDB entry. */
654
+ readonly entry_groups?: Maybe<ReadonlyArray<Maybe<GroupEntry>>>;
653
655
  readonly exptl?: Maybe<ReadonlyArray<Maybe<Exptl>>>;
654
656
  readonly exptl_crystal?: Maybe<ReadonlyArray<Maybe<ExptlCrystal>>>;
655
657
  readonly exptl_crystal_grow?: Maybe<ReadonlyArray<Maybe<ExptlCrystalGrow>>>;
@@ -694,6 +696,7 @@ export declare type CoreEntry = {
694
696
  readonly rcsb_associated_holdings?: Maybe<CurrentEntry>;
695
697
  readonly rcsb_binding_affinity?: Maybe<ReadonlyArray<Maybe<RcsbBindingAffinity>>>;
696
698
  readonly rcsb_entry_container_identifiers: RcsbEntryContainerIdentifiers;
699
+ readonly rcsb_entry_group_membership?: Maybe<ReadonlyArray<Maybe<RcsbEntryGroupMembership>>>;
697
700
  readonly rcsb_entry_info: RcsbEntryInfo;
698
701
  readonly rcsb_external_references?: Maybe<ReadonlyArray<Maybe<RcsbExternalReferences>>>;
699
702
  /**
@@ -837,6 +840,8 @@ export declare type CorePolymerEntity = {
837
840
  readonly pdbx_entity_src_syn?: Maybe<ReadonlyArray<Maybe<PdbxEntitySrcSyn>>>;
838
841
  /** Get all unique Pfam annotations associated with this molecular entity. */
839
842
  readonly pfams?: Maybe<ReadonlyArray<Maybe<CorePfam>>>;
843
+ /** Get all groups for this PDB entity. */
844
+ readonly polymer_entity_groups?: Maybe<ReadonlyArray<Maybe<GroupPolymerEntity>>>;
840
845
  /** Get all unique polymer instances (chains) for this molecular entity. */
841
846
  readonly polymer_entity_instances?: Maybe<ReadonlyArray<Maybe<CorePolymerEntityInstance>>>;
842
847
  /** Get a BIRD chemical components described in this molecular entity. */
@@ -873,6 +878,7 @@ export declare type CorePolymerEntity = {
873
878
  readonly rcsb_polymer_entity_container_identifiers: RcsbPolymerEntityContainerIdentifiers;
874
879
  readonly rcsb_polymer_entity_feature?: Maybe<ReadonlyArray<Maybe<RcsbPolymerEntityFeature>>>;
875
880
  readonly rcsb_polymer_entity_feature_summary?: Maybe<ReadonlyArray<Maybe<RcsbPolymerEntityFeatureSummary>>>;
881
+ readonly rcsb_polymer_entity_group_membership?: Maybe<ReadonlyArray<Maybe<RcsbPolymerEntityGroupMembership>>>;
876
882
  readonly rcsb_polymer_entity_keywords?: Maybe<RcsbPolymerEntityKeywords>;
877
883
  readonly rcsb_polymer_entity_name_com?: Maybe<ReadonlyArray<Maybe<RcsbPolymerEntityNameCom>>>;
878
884
  readonly rcsb_polymer_entity_name_sys?: Maybe<ReadonlyArray<Maybe<RcsbPolymerEntityNameSys>>>;
@@ -3143,6 +3149,50 @@ export declare type GeneName = {
3143
3149
  readonly type?: Maybe<Scalars['String']>;
3144
3150
  readonly value?: Maybe<Scalars['String']>;
3145
3151
  };
3152
+ export declare type GroupEntry = {
3153
+ /** Get provenance associated with this group. */
3154
+ readonly group_provenance?: Maybe<GroupProvenance>;
3155
+ readonly rcsb_group_accession_info?: Maybe<RcsbGroupAccessionInfo>;
3156
+ readonly rcsb_group_container_identifiers: RcsbGroupContainerIdentifiers;
3157
+ readonly rcsb_group_info: RcsbGroupInfo;
3158
+ readonly rcsb_group_related?: Maybe<ReadonlyArray<Maybe<RcsbGroupRelated>>>;
3159
+ readonly rcsb_group_statistics?: Maybe<RcsbGroupStatistics>;
3160
+ /** A unique textual identifier for a group */
3161
+ readonly rcsb_id: Scalars['String'];
3162
+ };
3163
+ export declare type GroupMembersAlignmentAlignedRegions = {
3164
+ /** Aligned region length */
3165
+ readonly length: Scalars['Int'];
3166
+ /** Entity seqeunce start position */
3167
+ readonly query_begin: Scalars['Int'];
3168
+ /** NCBI sequence start position */
3169
+ readonly target_begin: Scalars['Int'];
3170
+ };
3171
+ export declare type GroupMembersAlignmentScores = {
3172
+ readonly query_coverage: Scalars['Int'];
3173
+ readonly query_length: Scalars['Int'];
3174
+ readonly target_coverage: Scalars['Int'];
3175
+ readonly target_length: Scalars['Int'];
3176
+ };
3177
+ export declare type GroupPolymerEntity = {
3178
+ /** Get provenance associated with this group. */
3179
+ readonly group_provenance?: Maybe<GroupProvenance>;
3180
+ readonly rcsb_group_accession_info?: Maybe<RcsbGroupAccessionInfo>;
3181
+ readonly rcsb_group_container_identifiers: RcsbGroupContainerIdentifiers;
3182
+ readonly rcsb_group_info: RcsbGroupInfo;
3183
+ readonly rcsb_group_related?: Maybe<ReadonlyArray<Maybe<RcsbGroupRelated>>>;
3184
+ readonly rcsb_group_statistics?: Maybe<RcsbGroupStatistics>;
3185
+ /** A unique textual identifier for a group */
3186
+ readonly rcsb_id: Scalars['String'];
3187
+ readonly rcsb_polymer_entity_group_members_rankings?: Maybe<ReadonlyArray<Maybe<RcsbPolymerEntityGroupMembersRankings>>>;
3188
+ readonly rcsb_polymer_entity_group_sequence_alignment?: Maybe<RcsbPolymerEntityGroupSequenceAlignment>;
3189
+ };
3190
+ export declare type GroupProvenance = {
3191
+ readonly rcsb_group_aggregation_method?: Maybe<RcsbGroupAggregationMethod>;
3192
+ readonly rcsb_group_provenance_container_identifiers?: Maybe<RcsbGroupProvenanceContainerIdentifiers>;
3193
+ /** A unique textual identifier for a group provenance */
3194
+ readonly rcsb_id?: Maybe<Scalars['String']>;
3195
+ };
3146
3196
  export declare type InterfacePartnerFeatureAdditionalProperties = {
3147
3197
  /**
3148
3198
  * The additional property name.
@@ -3163,6 +3213,16 @@ export declare type InterfacePartnerFeatureFeaturePositions = {
3163
3213
  /** The value(s) of the feature over the monomer segment. */
3164
3214
  readonly values?: Maybe<ReadonlyArray<Maybe<Scalars['Float']>>>;
3165
3215
  };
3216
+ export declare type MethodDetails = {
3217
+ /** A description of special aspects of the clustering process */
3218
+ readonly description?: Maybe<Scalars['String']>;
3219
+ /** Defines the name of the description associated with the clustering process */
3220
+ readonly name?: Maybe<Scalars['String']>;
3221
+ /** Defines the type of the description associated with the clustering process */
3222
+ readonly type?: Maybe<Scalars['String']>;
3223
+ /** Defines the value associated with the clustering process */
3224
+ readonly value?: Maybe<Scalars['Float']>;
3225
+ };
3166
3226
  export declare type PdbxAuditRevisionCategory = {
3167
3227
  /**
3168
3228
  * The category updated in the pdbx_audit_revision_category record.
@@ -6662,6 +6722,12 @@ export declare type Query = {
6662
6722
  readonly entries?: Maybe<ReadonlyArray<Maybe<CoreEntry>>>;
6663
6723
  /** Get PDB entry given the PDB id. */
6664
6724
  readonly entry?: Maybe<CoreEntry>;
6725
+ /** Given a group ID get a group object formed by aggregating individual structures that share a degree of similarity */
6726
+ readonly entry_group?: Maybe<GroupEntry>;
6727
+ /** Given a list of group IDs get a list of group objects formed by aggregating structures that share a degree of similarity */
6728
+ readonly entry_groups?: Maybe<ReadonlyArray<Maybe<GroupEntry>>>;
6729
+ /** Given a group provenance ID get an object that describes aggregation method used to create groups */
6730
+ readonly group_provenance?: Maybe<GroupProvenance>;
6665
6731
  /** Get a pairwise polymeric interface given the PDB ID, ASSEMBLY ID and INTERFACE ID. */
6666
6732
  readonly interface?: Maybe<CoreInterface>;
6667
6733
  /** Get a list of pairwise polymeric interfaces given a list of INTERFACE IDs. Here INTERFACE ID is a compound identifier that includes entry_id, assembly_id and interface_id e.g. 1XXX-1.1. */
@@ -6678,6 +6744,10 @@ export declare type Query = {
6678
6744
  readonly polymer_entities?: Maybe<ReadonlyArray<Maybe<CorePolymerEntity>>>;
6679
6745
  /** Get a PDB polymer entity, given the PDB ID and ENTITY ID. Here ENTITY ID is a '1', '2', '3', etc. */
6680
6746
  readonly polymer_entity?: Maybe<CorePolymerEntity>;
6747
+ /** Given a group ID get a group object formed by aggregating polymer entities that share a degree of similarity */
6748
+ readonly polymer_entity_group?: Maybe<GroupPolymerEntity>;
6749
+ /** Given a list of group IDs get a list of group objects formed by aggregating polymer entities that share a degree of similarity */
6750
+ readonly polymer_entity_groups?: Maybe<ReadonlyArray<Maybe<GroupPolymerEntity>>>;
6681
6751
  /** Get a PDB polymer entity instance (chain), given the PDB ID and ENTITY INSTANCE ID. Here ENTITY INSTANCE ID identifies structural element in the asymmetric unit, e.g. 'A', 'B', etc. */
6682
6752
  readonly polymer_entity_instance?: Maybe<CorePolymerEntityInstance>;
6683
6753
  /** Get a list of PDB polymer entity instances (chains), given the list of ENTITY INSTANCE IDs. Here ENTITY INSTANCE ID identifies structural element in the asymmetric unit, e.g. 'A', 'B', etc. */
@@ -6731,6 +6801,18 @@ export declare type QueryEntryArgs = {
6731
6801
  entry_id: Scalars['String'];
6732
6802
  };
6733
6803
  /** Query root */
6804
+ export declare type QueryEntry_GroupArgs = {
6805
+ group_id: Scalars['String'];
6806
+ };
6807
+ /** Query root */
6808
+ export declare type QueryEntry_GroupsArgs = {
6809
+ group_ids: ReadonlyArray<InputMaybe<Scalars['String']>>;
6810
+ };
6811
+ /** Query root */
6812
+ export declare type QueryGroup_ProvenanceArgs = {
6813
+ group_provenance_id: Scalars['String'];
6814
+ };
6815
+ /** Query root */
6734
6816
  export declare type QueryInterfaceArgs = {
6735
6817
  assembly_id: Scalars['String'];
6736
6818
  entry_id: Scalars['String'];
@@ -6768,6 +6850,14 @@ export declare type QueryPolymer_EntityArgs = {
6768
6850
  entry_id: Scalars['String'];
6769
6851
  };
6770
6852
  /** Query root */
6853
+ export declare type QueryPolymer_Entity_GroupArgs = {
6854
+ group_id: Scalars['String'];
6855
+ };
6856
+ /** Query root */
6857
+ export declare type QueryPolymer_Entity_GroupsArgs = {
6858
+ group_ids: ReadonlyArray<InputMaybe<Scalars['String']>>;
6859
+ };
6860
+ /** Query root */
6771
6861
  export declare type QueryPolymer_Entity_InstanceArgs = {
6772
6862
  asym_id: Scalars['String'];
6773
6863
  entry_id: Scalars['String'];
@@ -8460,6 +8550,24 @@ export declare type RcsbEntryContainerIdentifiers = {
8460
8550
  /** List of identifiers for the solvent/water entity constituents for the entry. */
8461
8551
  readonly water_entity_ids?: Maybe<ReadonlyArray<Maybe<Scalars['String']>>>;
8462
8552
  };
8553
+ export declare type RcsbEntryGroupMembership = {
8554
+ /**
8555
+ * Method used to establish group membership
8556
+ *
8557
+ * Allowable values:
8558
+ * matching_deposit_group_id
8559
+ *
8560
+ */
8561
+ readonly aggregation_method: Scalars['String'];
8562
+ /**
8563
+ * A unique identifier for a group of entries
8564
+ *
8565
+ * Examples:
8566
+ * G_1001001
8567
+ *
8568
+ */
8569
+ readonly group_id: Scalars['String'];
8570
+ };
8463
8571
  export declare type RcsbEntryInfo = {
8464
8572
  /** The number of assemblies defined for this entry including the deposited assembly. */
8465
8573
  readonly assembly_count?: Maybe<Scalars['Int']>;
@@ -8683,6 +8791,118 @@ export declare type RcsbGenomicLineage = {
8683
8791
  */
8684
8792
  readonly name?: Maybe<Scalars['String']>;
8685
8793
  };
8794
+ export declare type RcsbGroupAccessionInfo = {
8795
+ /** Identifies the version of the groups solution */
8796
+ readonly version: Scalars['Int'];
8797
+ };
8798
+ export declare type RcsbGroupAggregationMethod = {
8799
+ /** The details on a method used to calculate cluster solutions */
8800
+ readonly method: RcsbGroupAggregationMethodMethod;
8801
+ readonly similarity_criteria?: Maybe<RcsbGroupAggregationMethodSimilarityCriteria>;
8802
+ /**
8803
+ * Specifies the type of similarity criteria used to aggregate members into higher levels in the hierarchy
8804
+ *
8805
+ * Allowable values:
8806
+ * sequence_identity, matching_uniprot_accession, matching_deposit_group_id
8807
+ *
8808
+ */
8809
+ readonly type: Scalars['String'];
8810
+ };
8811
+ export declare type RcsbGroupAggregationMethodMethod = {
8812
+ /** Additional details describing the clustering process */
8813
+ readonly details?: Maybe<ReadonlyArray<Maybe<MethodDetails>>>;
8814
+ /**
8815
+ * The name of the software or the method used to calculate cluster solutions
8816
+ *
8817
+ * Allowable values:
8818
+ * mmseqs2, matching_reference_identity
8819
+ *
8820
+ */
8821
+ readonly name: Scalars['String'];
8822
+ /**
8823
+ * The version of the software.
8824
+ *
8825
+ * Examples:
8826
+ * v1.0, 3.1-2, unknown
8827
+ *
8828
+ */
8829
+ readonly version?: Maybe<Scalars['String']>;
8830
+ };
8831
+ export declare type RcsbGroupAggregationMethodSimilarityCriteria = {
8832
+ /**
8833
+ * A function or similarity measure that quantifies the similarity between two members
8834
+ *
8835
+ * Allowable values:
8836
+ * rmsd, sequence_identity
8837
+ *
8838
+ */
8839
+ readonly similarity_function?: Maybe<Scalars['String']>;
8840
+ };
8841
+ export declare type RcsbGroupContainerIdentifiers = {
8842
+ /** A unique textual identifier for a group */
8843
+ readonly group_id: Scalars['String'];
8844
+ /** Member identifiers representing a group */
8845
+ readonly group_member_ids: ReadonlyArray<Maybe<Scalars['String']>>;
8846
+ /**
8847
+ * A unique group provenance identifier
8848
+ *
8849
+ * Allowable values:
8850
+ * provenance_sequence_identity, provenance_matching_uniprot_accession, provenance_matching_deposit_group_id
8851
+ *
8852
+ */
8853
+ readonly group_provenance_id: Scalars['String'];
8854
+ /** Member identifiers representing a higher level in the groping hierarchy that has parent-child relationship */
8855
+ readonly parent_member_ids?: Maybe<ReadonlyArray<Maybe<Scalars['String']>>>;
8856
+ };
8857
+ export declare type RcsbGroupInfo = {
8858
+ readonly group_description?: Maybe<Scalars['String']>;
8859
+ readonly group_members_count: Scalars['Int'];
8860
+ /**
8861
+ * Granularity of group members identifiers
8862
+ *
8863
+ * Allowable values:
8864
+ * assembly, entry, polymer_entity, polymer_entity_instance
8865
+ *
8866
+ */
8867
+ readonly group_members_granularity: Scalars['String'];
8868
+ readonly group_name?: Maybe<Scalars['String']>;
8869
+ };
8870
+ export declare type RcsbGroupProvenanceContainerIdentifiers = {
8871
+ /**
8872
+ * A unique group provenance identifier
8873
+ *
8874
+ * Allowable values:
8875
+ * provenance_sequence_identity, provenance_matching_uniprot_accession, provenance_matching_deposit_group_id
8876
+ *
8877
+ */
8878
+ readonly group_provenance_id: Scalars['String'];
8879
+ };
8880
+ export declare type RcsbGroupRelated = {
8881
+ /**
8882
+ * A unique code assigned to a reference related the group
8883
+ *
8884
+ * Examples:
8885
+ * P69905
8886
+ *
8887
+ */
8888
+ readonly resource_accession_code?: Maybe<Scalars['String']>;
8889
+ /**
8890
+ * Defines the type of the resource describing related references
8891
+ *
8892
+ * Examples:
8893
+ * UniProt
8894
+ *
8895
+ */
8896
+ readonly resource_name?: Maybe<Scalars['String']>;
8897
+ };
8898
+ export declare type RcsbGroupStatistics = {
8899
+ /** The desired lower limit for the similarity between two members that belong to the same group */
8900
+ readonly similarity_cutoff?: Maybe<Scalars['Float']>;
8901
+ /** Similarity score between two most similar group members */
8902
+ readonly similarity_score_max?: Maybe<Scalars['Float']>;
8903
+ /** Similarity score between two least similar group members */
8904
+ readonly similarity_score_min?: Maybe<Scalars['Float']>;
8905
+ };
8686
8906
  export declare type RcsbInterfaceContainerIdentifiers = {
8687
8907
  /** This item references an assembly in pdbx_struct_assembly */
8688
8908
  readonly assembly_id: Scalars['String'];
@@ -9663,6 +9883,7 @@ export declare type RcsbPolymerEntity = {
9663
9883
  *
9664
9884
  */
9665
9885
  readonly rcsb_multiple_source_flag?: Maybe<Scalars['String']>;
9886
+ readonly rcsb_polymer_name_combined?: Maybe<RcsbPolymerEntityRcsbPolymerNameCombined>;
9666
9887
  /**
9667
9888
  * The number of biological sources for the polymer entity. Multiple source contributions
9668
9889
  * may come from the same organism (taxonomy).
@@ -9978,6 +10199,63 @@ export declare type RcsbPolymerEntityFeatureSummary = {
9978
10199
  */
9979
10200
  readonly type?: Maybe<Scalars['String']>;
9980
10201
  };
10202
+ export declare type RcsbPolymerEntityGroupMembersRankings = {
10203
+ readonly group_members: ReadonlyArray<Maybe<RcsbPolymerEntityGroupMembersRankingsGroupMembers>>;
10204
+ /**
10205
+ * Defines ranking option applicable to group members
10206
+ *
10207
+ * Allowable values:
10208
+ * coverage
10209
+ *
10210
+ */
10211
+ readonly ranking_criteria_type: Scalars['String'];
10212
+ };
10213
+ export declare type RcsbPolymerEntityGroupMembersRankingsGroupMembers = {
10214
+ readonly member_id: Scalars['String'];
10215
+ /** Quantifies the criteria used for ranking */
10216
+ readonly original_score?: Maybe<Scalars['Float']>;
10217
+ /** Reflects a relationship between group members such that, for any two members the first is ranked higher (smaller rank value) than the second */
10218
+ readonly rank: Scalars['Int'];
10219
+ };
10220
+ export declare type RcsbPolymerEntityGroupMembership = {
10221
+ /**
10222
+ * Method used to establish group membership
10223
+ *
10224
+ * Allowable values:
10225
+ * sequence_identity, matching_uniprot_accession
10226
+ *
10227
+ */
10228
+ readonly aggregation_method: Scalars['String'];
10229
+ /**
10230
+ * A unique identifier for a group of entities
10231
+ *
10232
+ * Examples:
10233
+ * 1_100, P00003
10234
+ *
10235
+ */
10236
+ readonly group_id: Scalars['String'];
10237
+ /** Degree of similarity expressed as a floating-point number */
10238
+ readonly similarity_cutoff?: Maybe<Scalars['Float']>;
10239
+ };
10240
+ export declare type RcsbPolymerEntityGroupSequenceAlignment = {
10241
+ /** Abstract reference where group members can be aligned to generate a MSA */
10242
+ readonly abstract_reference: RcsbPolymerEntityGroupSequenceAlignmentAbstractReference;
10243
+ /** List of alignments with core_entity canonical sequences */
10244
+ readonly group_members_alignment: ReadonlyArray<Maybe<RcsbPolymerEntityGroupSequenceAlignmentGroupMembersAlignment>>;
10245
+ };
10246
+ export declare type RcsbPolymerEntityGroupSequenceAlignmentAbstractReference = {
10247
+ /** Abstract reference length */
10248
+ readonly length: Scalars['Int'];
10249
+ /** Sequence that represents the abstract reference */
10250
+ readonly sequence?: Maybe<Scalars['String']>;
10251
+ };
10252
+ export declare type RcsbPolymerEntityGroupSequenceAlignmentGroupMembersAlignment = {
10253
+ /** Aligned region */
10254
+ readonly aligned_regions: ReadonlyArray<Maybe<GroupMembersAlignmentAlignedRegions>>;
10255
+ readonly member_id?: Maybe<Scalars['String']>;
10256
+ /** Alignment scores */
10257
+ readonly scores: GroupMembersAlignmentScores;
10258
+ };
9981
10259
  export declare type RcsbPolymerEntityInstanceContainerIdentifiers = {
9982
10260
  /** Instance identifier for this container. */
9983
10261
  readonly asym_id: Scalars['String'];
@@ -10089,6 +10367,12 @@ export declare type RcsbPolymerEntityRcsbMacromolecularNamesCombined = {
10089
10367
  */
10090
10368
  readonly provenance_source?: Maybe<Scalars['String']>;
10091
10369
  };
10370
+ export declare type RcsbPolymerEntityRcsbPolymerNameCombined = {
10371
+ /** Protein name annotated by the UniProtKB or macromolecular name assigned by the PDB */
10372
+ readonly names?: Maybe<ReadonlyArray<Maybe<Scalars['String']>>>;
10373
+ /** Allowable values: PDB Preferred Name, PDB Description, UniProt Name. */
10374
+ readonly provenance_source?: Maybe<Scalars['String']>;
10375
+ };
10092
10376
  export declare type RcsbPolymerInstanceAnnotation = {
10093
10377
  /** An identifier for the annotation. */
10094
10378
  readonly annotation_id?: Maybe<Scalars['String']>;
@@ -36,7 +36,6 @@ export declare class DrawPass {
36
36
  private depthTargetPrimitives;
37
37
  private depthTargetVolumes;
38
38
  private depthTextureVolumes;
39
- private depthMerge;
40
39
  private copyFboTarget;
41
40
  private copyFboPostprocessing;
42
41
  private wboit;
@@ -47,7 +46,6 @@ export declare class DrawPass {
47
46
  constructor(webgl: WebGLContext, width: number, height: number, enableWboit: boolean);
48
47
  reset(): void;
49
48
  setSize(width: number, height: number): void;
50
- private _depthMerge;
51
49
  private _renderWboit;
52
50
  private _renderBlended;
53
51
  private _render;
@@ -7,30 +7,14 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.DrawPass = void 0;
10
- var tslib_1 = require("tslib");
11
10
  var render_target_1 = require("../../mol-gl/webgl/render-target");
12
- var util_1 = require("../../mol-gl/compute/util");
13
- var schema_1 = require("../../mol-gl/renderable/schema");
14
- var renderable_1 = require("../../mol-gl/renderable");
15
- var shader_code_1 = require("../../mol-gl/shader-code");
16
- var render_item_1 = require("../../mol-gl/webgl/render-item");
17
11
  var mol_util_1 = require("../../mol-util");
18
12
  var linear_algebra_1 = require("../../mol-math/linear-algebra");
19
- var quad_vert_1 = require("../../mol-gl/shader/quad.vert");
20
- var depth_merge_frag_1 = require("../../mol-gl/shader/depth-merge.frag");
21
13
  var stereo_1 = require("../camera/stereo");
22
14
  var wboit_1 = require("./wboit");
23
15
  var postprocessing_1 = require("./postprocessing");
24
16
  var marking_1 = require("./marking");
25
- var util_2 = require("../../mol-gl/compute/util");
26
- var DepthMergeSchema = tslib_1.__assign(tslib_1.__assign({}, util_1.QuadSchema), { tDepthPrimitives: (0, schema_1.TextureSpec)('texture', 'depth', 'ushort', 'nearest'), tDepthVolumes: (0, schema_1.TextureSpec)('texture', 'depth', 'ushort', 'nearest'), uTexSize: (0, schema_1.UniformSpec)('v2'), dPackedDepth: (0, schema_1.DefineSpec)('boolean') });
27
- var DepthMergeShaderCode = (0, shader_code_1.ShaderCode)('depth-merge', quad_vert_1.quad_vert, depth_merge_frag_1.depthMerge_frag);
28
- function getDepthMergeRenderable(ctx, depthTexturePrimitives, depthTextureVolumes, packedDepth) {
29
- var values = tslib_1.__assign(tslib_1.__assign({}, util_1.QuadValues), { tDepthPrimitives: mol_util_1.ValueCell.create(depthTexturePrimitives), tDepthVolumes: mol_util_1.ValueCell.create(depthTextureVolumes), uTexSize: mol_util_1.ValueCell.create(linear_algebra_1.Vec2.create(depthTexturePrimitives.getWidth(), depthTexturePrimitives.getHeight())), dPackedDepth: mol_util_1.ValueCell.create(packedDepth) });
30
- var schema = tslib_1.__assign({}, DepthMergeSchema);
31
- var renderItem = (0, render_item_1.createComputeRenderItem)(ctx, 'triangles', DepthMergeShaderCode, schema, values);
32
- return (0, renderable_1.createComputeRenderable)(renderItem, values);
33
- }
17
+ var util_1 = require("../../mol-gl/compute/util");
34
18
  var DrawPass = /** @class */ (function () {
35
19
  function DrawPass(webgl, width, height, enableWboit) {
36
20
  this.webgl = webgl;
@@ -48,13 +32,12 @@ var DrawPass = /** @class */ (function () {
48
32
  this.depthTexturePrimitives.define(width, height);
49
33
  this.depthTextureVolumes.define(width, height);
50
34
  }
51
- this.depthMerge = getDepthMergeRenderable(webgl, this.depthTexturePrimitives, this.depthTextureVolumes, this.packedDepth);
52
35
  this.wboit = enableWboit ? new wboit_1.WboitPass(webgl, width, height) : undefined;
53
36
  this.marking = new marking_1.MarkingPass(webgl, width, height);
54
37
  this.postprocessing = new postprocessing_1.PostprocessingPass(webgl, this);
55
38
  this.antialiasing = new postprocessing_1.AntialiasingPass(webgl, this);
56
- this.copyFboTarget = (0, util_2.createCopyRenderable)(webgl, this.colorTarget.texture);
57
- this.copyFboPostprocessing = (0, util_2.createCopyRenderable)(webgl, this.postprocessing.target.texture);
39
+ this.copyFboTarget = (0, util_1.createCopyRenderable)(webgl, this.colorTarget.texture);
40
+ this.copyFboPostprocessing = (0, util_1.createCopyRenderable)(webgl, this.postprocessing.target.texture);
58
41
  }
59
42
  Object.defineProperty(DrawPass.prototype, "wboitEnabled", {
60
43
  get: function () {
@@ -87,7 +70,6 @@ var DrawPass = /** @class */ (function () {
87
70
  else {
88
71
  this.depthTextureVolumes.define(width, height);
89
72
  }
90
- mol_util_1.ValueCell.update(this.depthMerge.values.uTexSize, linear_algebra_1.Vec2.set(this.depthMerge.values.uTexSize.ref.value, width, height));
91
73
  mol_util_1.ValueCell.update(this.copyFboTarget.values.uTexSize, linear_algebra_1.Vec2.set(this.copyFboTarget.values.uTexSize.ref.value, width, height));
92
74
  mol_util_1.ValueCell.update(this.copyFboPostprocessing.values.uTexSize, linear_algebra_1.Vec2.set(this.copyFboPostprocessing.values.uTexSize.ref.value, width, height));
93
75
  if ((_a = this.wboit) === null || _a === void 0 ? void 0 : _a.supported) {
@@ -98,18 +80,6 @@ var DrawPass = /** @class */ (function () {
98
80
  this.antialiasing.setSize(width, height);
99
81
  }
100
82
  };
101
- DrawPass.prototype._depthMerge = function () {
102
- var _a = this.webgl, state = _a.state, gl = _a.gl;
103
- this.depthMerge.update();
104
- this.depthTarget.bind();
105
- state.disable(gl.BLEND);
106
- state.disable(gl.DEPTH_TEST);
107
- state.disable(gl.CULL_FACE);
108
- state.depthMask(false);
109
- state.clearColor(1, 1, 1, 1);
110
- gl.clear(gl.COLOR_BUFFER_BIT);
111
- this.depthMerge.render();
112
- };
113
83
  DrawPass.prototype._renderWboit = function (renderer, camera, scene, transparentBackground, postprocessingProps) {
114
84
  var _a;
115
85
  if (!((_a = this.wboit) === null || _a === void 0 ? void 0 : _a.supported))
@@ -121,32 +91,31 @@ var DrawPass = /** @class */ (function () {
121
91
  this.colorTarget.bind();
122
92
  renderer.clearDepth();
123
93
  renderer.renderWboitOpaque(scene.primitives, camera, null);
124
- // render opaque volumes
125
- this.depthTextureVolumes.attachFramebuffer(this.colorTarget.framebuffer, 'depth');
126
- this.colorTarget.bind();
127
- renderer.clearDepth();
128
- renderer.renderWboitOpaque(scene.volumes, camera, this.depthTexturePrimitives);
129
- // merge depth of opaque primitives and volumes
130
- this._depthMerge();
131
94
  if (postprocessing_1.PostprocessingPass.isEnabled(postprocessingProps)) {
95
+ if (postprocessing_1.PostprocessingPass.isOutlineEnabled(postprocessingProps)) {
96
+ this.depthTarget.bind();
97
+ renderer.clearDepth(true);
98
+ if (scene.getOpacityAverage() < 1) {
99
+ renderer.renderDepthTransparent(scene.primitives, camera, this.depthTexturePrimitives);
100
+ }
101
+ }
132
102
  this.postprocessing.render(camera, false, transparentBackground, renderer.props.backgroundColor, postprocessingProps);
133
103
  }
134
104
  // render transparent primitives and volumes
135
105
  this.wboit.bind();
136
- renderer.renderWboitTransparent(scene.primitives, camera, this.depthTexture);
137
- renderer.renderWboitTransparent(scene.volumes, camera, this.depthTexture);
106
+ renderer.renderWboitTransparent(scene.primitives, camera, this.depthTexturePrimitives);
107
+ renderer.renderWboitTransparent(scene.volumes, camera, this.depthTexturePrimitives);
138
108
  // evaluate wboit
139
109
  if (postprocessing_1.PostprocessingPass.isEnabled(postprocessingProps)) {
140
- this.depthTexturePrimitives.attachFramebuffer(this.postprocessing.target.framebuffer, 'depth');
141
110
  this.postprocessing.target.bind();
142
111
  }
143
112
  else {
144
- this.depthTexturePrimitives.attachFramebuffer(this.colorTarget.framebuffer, 'depth');
145
113
  this.colorTarget.bind();
146
114
  }
147
115
  this.wboit.render();
148
116
  };
149
117
  DrawPass.prototype._renderBlended = function (renderer, camera, scene, toDrawingBuffer, transparentBackground, postprocessingProps) {
118
+ var _a, _b;
150
119
  if (toDrawingBuffer) {
151
120
  this.drawTarget.bind();
152
121
  }
@@ -163,37 +132,33 @@ var DrawPass = /** @class */ (function () {
163
132
  // extensions.depthTexture is unsupported (i.e. depthTarget is set)
164
133
  if (this.depthTargetPrimitives) {
165
134
  this.depthTargetPrimitives.bind();
166
- renderer.clear(false);
167
- // TODO: this should only render opaque
168
- renderer.renderDepth(scene.primitives, camera, null);
169
- this.colorTarget.bind();
170
- }
171
- // do direct-volume rendering
172
- if (!this.packedDepth) {
173
- this.depthTextureVolumes.attachFramebuffer(this.colorTarget.framebuffer, 'depth');
174
- renderer.clearDepth(); // from previous frame
175
- }
176
- renderer.renderBlendedVolumeOpaque(scene.volumes, camera, this.depthTexturePrimitives);
177
- // do volume depth pass if extensions.depthTexture is unsupported (i.e. depthTarget is set)
178
- if (this.depthTargetVolumes) {
179
- this.depthTargetVolumes.bind();
180
- renderer.clear(false);
181
- renderer.renderDepth(scene.volumes, camera, this.depthTexturePrimitives);
135
+ renderer.clearDepth(true);
136
+ renderer.renderDepthOpaque(scene.primitives, camera, null);
182
137
  this.colorTarget.bind();
183
138
  }
184
- // merge depths from primitive and volume rendering
185
- this._depthMerge();
186
- this.colorTarget.bind();
187
139
  if (postprocessing_1.PostprocessingPass.isEnabled(postprocessingProps)) {
140
+ if (!this.packedDepth) {
141
+ this.depthTexturePrimitives.detachFramebuffer(this.postprocessing.target.framebuffer, 'depth');
142
+ }
143
+ else {
144
+ (_a = this.colorTarget.depthRenderbuffer) === null || _a === void 0 ? void 0 : _a.detachFramebuffer(this.postprocessing.target.framebuffer);
145
+ }
146
+ if (postprocessing_1.PostprocessingPass.isOutlineEnabled(postprocessingProps)) {
147
+ this.depthTarget.bind();
148
+ renderer.clearDepth(true);
149
+ if (scene.getOpacityAverage() < 1) {
150
+ renderer.renderDepthTransparent(scene.primitives, camera, this.depthTexturePrimitives);
151
+ }
152
+ }
188
153
  this.postprocessing.render(camera, false, transparentBackground, renderer.props.backgroundColor, postprocessingProps);
154
+ if (!this.packedDepth) {
155
+ this.depthTexturePrimitives.attachFramebuffer(this.postprocessing.target.framebuffer, 'depth');
156
+ }
157
+ else {
158
+ (_b = this.colorTarget.depthRenderbuffer) === null || _b === void 0 ? void 0 : _b.attachFramebuffer(this.postprocessing.target.framebuffer);
159
+ }
189
160
  }
190
- renderer.renderBlendedVolumeTransparent(scene.volumes, camera, this.depthTexturePrimitives);
191
- var target = postprocessing_1.PostprocessingPass.isEnabled(postprocessingProps)
192
- ? this.postprocessing.target : this.colorTarget;
193
- if (!this.packedDepth) {
194
- this.depthTexturePrimitives.attachFramebuffer(target.framebuffer, 'depth');
195
- }
196
- target.bind();
161
+ renderer.renderBlendedVolume(scene.volumes, camera, this.depthTexturePrimitives);
197
162
  }
198
163
  renderer.renderBlendedTransparent(scene.primitives, camera, null);
199
164
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright (c) 2019-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
2
+ * Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
3
  *
4
4
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
5
5
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Copyright (c) 2019-2021 mol* contributors, licensed under MIT, See LICENSE file for more info.
3
+ * Copyright (c) 2019-2022 mol* contributors, licensed under MIT, See LICENSE file for more info.
4
4
  *
5
5
  * @author Alexander Rose <alexander.rose@weirdbyte.de>
6
6
  */
@@ -38,6 +38,7 @@ export declare class PostprocessingPass {
38
38
  private webgl;
39
39
  private drawPass;
40
40
  static isEnabled(props: PostprocessingProps): boolean;
41
+ static isOutlineEnabled(props: PostprocessingProps): boolean;
41
42
  readonly target: RenderTarget;
42
43
  private readonly outlinesTarget;
43
44
  private readonly outlinesRenderable;