@genome-spy/app 0.87.0 → 0.88.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 (35) hide show
  1. package/dist/{agentApi-BZ1JCo1N.js → agentApi-BYFBKiRQ.js} +5365 -5080
  2. package/dist/agentApi.es.js +3160 -2909
  3. package/dist/agentShared.es.js +3 -3
  4. package/dist/{canvas2d-Cafq5v-N.js → canvas2d-BVQ7-2eJ.js} +68 -68
  5. package/dist/{canvas2d-B_PnIof-.js → canvas2d-D7SZK3xv.js} +39 -39
  6. package/dist/{clipOptions-H68pJyEZ.js → clipOptions-BWHr3aTa.js} +822 -768
  7. package/dist/{clipOptions-D6eh9T-_.js → clipOptions-DTMcB_9z.js} +547 -493
  8. package/dist/{debug-BGzgZmyk.js → debug-CVpoEOWx.js} +2 -2
  9. package/dist/{debug-UYKZLNh4.js → debug-DYAMZZKl.js} +2 -2
  10. package/dist/index.es.js +3390 -3410
  11. package/dist/index.js +397 -374
  12. package/dist/{indexer-Di57GyxX.js → indexer-CXjZDo2Q.js} +1 -1
  13. package/dist/{indexer-o6Hpg4nN.js → indexer-DAH_ruVn.js} +1 -1
  14. package/dist/{nativeText-DAjvkrzc.js → order-C5CzA37O.js} +271 -287
  15. package/dist/{nativeText-D9SoxpaD.js → order-DvY7KNcu.js} +271 -287
  16. package/dist/{rasterExport-DzldLv6E.js → rasterExport-BgZ98e6U.js} +1 -1
  17. package/dist/{rasterExport-IAbJwi8F.js → rasterExport-DEr8fOLm.js} +1 -1
  18. package/dist/{renderCanvas2D-yJ1IrDcX.js → renderCanvas2D-DtcJjqpB.js} +57 -50
  19. package/dist/{renderCanvas2D-BJ93Ptqj.js → renderCanvas2D-DxturTEW.js} +62 -55
  20. package/dist/schema.json +756 -96
  21. package/dist/{svg-DJuqHIyc.js → svg-CyrLfa9e.js} +364 -357
  22. package/dist/{svg-BRpl2Xub.js → svg-SDJMzL--.js} +338 -331
  23. package/dist/{svgRasterizer-PAoqLn1j.js → svgRasterizer-f7DJ3UO0.js} +1 -1
  24. package/dist/{svgRasterizer-CGZQ5njV.js → svgRasterizer-mWK7HTkx.js} +1 -1
  25. package/dist/{vega-scale-BGC53c22.js → vega-scale-CypF85iS.js} +801 -801
  26. package/dist/{vega-scale-DdW2NzQ3.js → vega-scale-DLKCwWRs.js} +65 -65
  27. package/dist/{viewIdentityRegistry-Dc2hXYsO.js → viewIdentityRegistry-DIDo44XQ.js} +1 -1
  28. package/dist/{viewIdentityRegistry-D4p067HU.js → viewIdentityRegistry-Dl-vMN9I.js} +1 -1
  29. package/dist/{viewSelectors-DNXnGwEW.js → viewSelectors-CymbZyE6.js} +375 -340
  30. package/dist/{viewSelectors-DYYlOt91.js → viewSelectors-DNiDip5e.js} +370 -335
  31. package/dist/{viewUtils-EdhZTPrJ.js → viewUtils-BrJLIj2o.js} +1750 -1716
  32. package/dist/{webgl-CdgNFlJk.js → webgl-CqTDifWM.js} +1196 -1164
  33. package/dist/{webgl-C53DwzVT.js → webgl-jaC2m0Zr.js} +1015 -983
  34. package/package.json +5 -5
  35. package/src/embedTypes.d.ts +1 -1
package/dist/schema.json CHANGED
@@ -16431,7 +16431,7 @@
16431
16431
  },
16432
16432
  "tooltip": {
16433
16433
  "$ref": "#/definitions/Tooltip",
16434
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
16434
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
16435
16435
  },
16436
16436
  "x": {
16437
16437
  "anyOf": [
@@ -16825,7 +16825,7 @@
16825
16825
  },
16826
16826
  "tooltip": {
16827
16827
  "$ref": "#/definitions/Tooltip",
16828
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
16828
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
16829
16829
  },
16830
16830
  "type": {
16831
16831
  "const": "arrow",
@@ -19859,27 +19859,512 @@
19859
19859
  "type": "object"
19860
19860
  },
19861
19861
  "Conditional<MarkPropExprDef<Type>>": {
19862
- "$ref": "#/definitions/ConditionalParameter%3CMarkPropExprDef%3CType%3E%3E"
19862
+ "anyOf": [
19863
+ {
19864
+ "$ref": "#/definitions/ConditionalParameter%3CMarkPropExprDef%3CType%3E%3E"
19865
+ },
19866
+ {
19867
+ "$ref": "#/definitions/ConditionalTest%3CMarkPropExprDef%3CType%3E%3E"
19868
+ }
19869
+ ]
19863
19870
  },
19864
19871
  "Conditional<MarkPropExprDef<TypeForShape>>": {
19865
- "$ref": "#/definitions/ConditionalParameter%3CMarkPropExprDef%3CTypeForShape%3E%3E"
19872
+ "anyOf": [
19873
+ {
19874
+ "$ref": "#/definitions/ConditionalParameter%3CMarkPropExprDef%3CTypeForShape%3E%3E"
19875
+ },
19876
+ {
19877
+ "$ref": "#/definitions/ConditionalTest%3CMarkPropExprDef%3CTypeForShape%3E%3E"
19878
+ }
19879
+ ]
19866
19880
  },
19867
19881
  "Conditional<MarkPropFieldDef<Type>>": {
19868
- "$ref": "#/definitions/ConditionalParameter%3CMarkPropFieldDef%3CType%3E%3E"
19882
+ "anyOf": [
19883
+ {
19884
+ "$ref": "#/definitions/ConditionalParameter%3CMarkPropFieldDef%3CType%3E%3E"
19885
+ },
19886
+ {
19887
+ "$ref": "#/definitions/ConditionalTest%3CMarkPropFieldDef%3CType%3E%3E"
19888
+ }
19889
+ ]
19869
19890
  },
19870
19891
  "Conditional<MarkPropFieldDef<TypeForShape>>": {
19871
- "$ref": "#/definitions/ConditionalParameter%3CMarkPropFieldDef%3CTypeForShape%3E%3E"
19892
+ "anyOf": [
19893
+ {
19894
+ "$ref": "#/definitions/ConditionalParameter%3CMarkPropFieldDef%3CTypeForShape%3E%3E"
19895
+ },
19896
+ {
19897
+ "$ref": "#/definitions/ConditionalTest%3CMarkPropFieldDef%3CTypeForShape%3E%3E"
19898
+ }
19899
+ ]
19872
19900
  },
19873
19901
  "Conditional<ScaleDatumDef>": {
19874
- "$ref": "#/definitions/ConditionalParameter%3CScaleDatumDef%3E"
19902
+ "anyOf": [
19903
+ {
19904
+ "$ref": "#/definitions/ConditionalParameter%3CScaleDatumDef%3E"
19905
+ },
19906
+ {
19907
+ "$ref": "#/definitions/ConditionalTest%3CScaleDatumDef%3E"
19908
+ }
19909
+ ]
19875
19910
  },
19876
19911
  "Conditional<ValueDef<(number|ExprRef)>>": {
19877
- "$ref": "#/definitions/ConditionalParameter%3CValueDef%3C(number%7CExprRef)%3E%3E"
19912
+ "anyOf": [
19913
+ {
19914
+ "$ref": "#/definitions/ConditionalParameter%3CValueDef%3C(number%7CExprRef)%3E%3E"
19915
+ },
19916
+ {
19917
+ "$ref": "#/definitions/ConditionalTest%3CValueDef%3C(number%7CExprRef)%3E%3E"
19918
+ }
19919
+ ]
19878
19920
  },
19879
19921
  "Conditional<ValueDef<(string|null|ExprRef)>>": {
19880
- "$ref": "#/definitions/ConditionalParameter%3CValueDef%3C(string%7Cnull%7CExprRef)%3E%3E"
19922
+ "anyOf": [
19923
+ {
19924
+ "$ref": "#/definitions/ConditionalParameter%3CValueDef%3C(string%7Cnull%7CExprRef)%3E%3E"
19925
+ },
19926
+ {
19927
+ "$ref": "#/definitions/ConditionalTest%3CValueDef%3C(string%7Cnull%7CExprRef)%3E%3E"
19928
+ }
19929
+ ]
19930
+ },
19931
+ "ConditionalParameter<MarkPropExprDef<Type>>": {
19932
+ "additionalProperties": false,
19933
+ "properties": {
19934
+ "band": {
19935
+ "description": "Relative position on band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
19936
+ "maximum": 1,
19937
+ "minimum": 0,
19938
+ "type": "number"
19939
+ },
19940
+ "description": {
19941
+ "description": "A description of the encoded expression. Can be used for documentation and to explain the meaning of the channel mapping.",
19942
+ "type": "string"
19943
+ },
19944
+ "domainInert": {
19945
+ "description": "Whether the field or evaluated expr should be excluded from the scale's domain. Prefer the view-level `domainInert` when an entire subtree should be excluded.\n\n**Default value:** `false`",
19946
+ "type": "boolean"
19947
+ },
19948
+ "empty": {
19949
+ "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
19950
+ "type": "boolean"
19951
+ },
19952
+ "expr": {
19953
+ "description": "An expression. Properties of the data can be accessed through the `datum` object.",
19954
+ "type": "string"
19955
+ },
19956
+ "legend": {
19957
+ "anyOf": [
19958
+ {
19959
+ "$ref": "#/definitions/Legend"
19960
+ },
19961
+ {
19962
+ "type": "null"
19963
+ }
19964
+ ],
19965
+ "description": "Legend properties for the encoding channel. If `null`, the legend for the channel is removed. If an object is provided, a legend is created even when legends are disabled by default in the config.\n\n__Default value:__ If undefined, configured legend defaults are applied."
19966
+ },
19967
+ "param": {
19968
+ "description": "Filter using a parameter name.",
19969
+ "type": "string"
19970
+ },
19971
+ "resolutionChannel": {
19972
+ "$ref": "#/definitions/ChannelWithScale",
19973
+ "description": "An alternative channel for scale resolution.\n\nThis is mainly for internal use and allows using `color` channel to resolve `fill` and `stroke` channels under certain circumstances."
19974
+ },
19975
+ "scale": {
19976
+ "anyOf": [
19977
+ {
19978
+ "$ref": "#/definitions/Scale"
19979
+ },
19980
+ {
19981
+ "type": "null"
19982
+ }
19983
+ ],
19984
+ "description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://genomespy.app/docs/grammar/scale/).\n\n__Default value:__ If undefined, default [scale properties](https://genomespy.app/docs/grammar/scale/) are applied.\n\n__See also:__ [`scale`](https://genomespy.app/docs/grammar/scale/) documentation."
19985
+ },
19986
+ "title": {
19987
+ "description": "A title for the field. If `null`, the title will be removed.",
19988
+ "type": [
19989
+ "string",
19990
+ "null"
19991
+ ]
19992
+ },
19993
+ "type": {
19994
+ "$ref": "#/definitions/Type"
19995
+ }
19996
+ },
19997
+ "required": [
19998
+ "expr",
19999
+ "param",
20000
+ "type"
20001
+ ],
20002
+ "type": "object"
20003
+ },
20004
+ "ConditionalParameter<MarkPropExprDef<TypeForShape>>": {
20005
+ "additionalProperties": false,
20006
+ "properties": {
20007
+ "band": {
20008
+ "description": "Relative position on band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
20009
+ "maximum": 1,
20010
+ "minimum": 0,
20011
+ "type": "number"
20012
+ },
20013
+ "description": {
20014
+ "description": "A description of the encoded expression. Can be used for documentation and to explain the meaning of the channel mapping.",
20015
+ "type": "string"
20016
+ },
20017
+ "domainInert": {
20018
+ "description": "Whether the field or evaluated expr should be excluded from the scale's domain. Prefer the view-level `domainInert` when an entire subtree should be excluded.\n\n**Default value:** `false`",
20019
+ "type": "boolean"
20020
+ },
20021
+ "empty": {
20022
+ "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
20023
+ "type": "boolean"
20024
+ },
20025
+ "expr": {
20026
+ "description": "An expression. Properties of the data can be accessed through the `datum` object.",
20027
+ "type": "string"
20028
+ },
20029
+ "legend": {
20030
+ "anyOf": [
20031
+ {
20032
+ "$ref": "#/definitions/Legend"
20033
+ },
20034
+ {
20035
+ "type": "null"
20036
+ }
20037
+ ],
20038
+ "description": "Legend properties for the encoding channel. If `null`, the legend for the channel is removed. If an object is provided, a legend is created even when legends are disabled by default in the config.\n\n__Default value:__ If undefined, configured legend defaults are applied."
20039
+ },
20040
+ "param": {
20041
+ "description": "Filter using a parameter name.",
20042
+ "type": "string"
20043
+ },
20044
+ "resolutionChannel": {
20045
+ "$ref": "#/definitions/ChannelWithScale",
20046
+ "description": "An alternative channel for scale resolution.\n\nThis is mainly for internal use and allows using `color` channel to resolve `fill` and `stroke` channels under certain circumstances."
20047
+ },
20048
+ "scale": {
20049
+ "anyOf": [
20050
+ {
20051
+ "$ref": "#/definitions/Scale"
20052
+ },
20053
+ {
20054
+ "type": "null"
20055
+ }
20056
+ ],
20057
+ "description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://genomespy.app/docs/grammar/scale/).\n\n__Default value:__ If undefined, default [scale properties](https://genomespy.app/docs/grammar/scale/) are applied.\n\n__See also:__ [`scale`](https://genomespy.app/docs/grammar/scale/) documentation."
20058
+ },
20059
+ "title": {
20060
+ "description": "A title for the field. If `null`, the title will be removed.",
20061
+ "type": [
20062
+ "string",
20063
+ "null"
20064
+ ]
20065
+ },
20066
+ "type": {
20067
+ "$ref": "#/definitions/Type"
20068
+ }
20069
+ },
20070
+ "required": [
20071
+ "expr",
20072
+ "param",
20073
+ "type"
20074
+ ],
20075
+ "type": "object"
20076
+ },
20077
+ "ConditionalParameter<MarkPropFieldDef<Type>>": {
20078
+ "additionalProperties": false,
20079
+ "properties": {
20080
+ "description": {
20081
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
20082
+ "type": "string"
20083
+ },
20084
+ "domainInert": {
20085
+ "description": "Whether the field or evaluated expr should be excluded from the scale's domain. Prefer the view-level `domainInert` when an entire subtree should be excluded.\n\n**Default value:** `false`",
20086
+ "type": "boolean"
20087
+ },
20088
+ "empty": {
20089
+ "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
20090
+ "type": "boolean"
20091
+ },
20092
+ "field": {
20093
+ "description": "__Required.__ A string defining the name of the field from which to pull a data value.\n\n__See also:__ [`field`](https://genomespy.app/docs/grammar/mark/#field) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [Vega-Lite field documentation](https://vega.github.io/vega-lite/docs/field.html).",
20094
+ "type": "string"
20095
+ },
20096
+ "format": {
20097
+ "description": "When used with the default `\"number\"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks.\n\n- If the format type is `\"number\"` (e.g., for quantitative fields), this is D3's [number format pattern](https://github.com/d3/d3-format#locale_format).\n\nSee the [Vega-Lite format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.",
20098
+ "type": "string"
20099
+ },
20100
+ "legend": {
20101
+ "anyOf": [
20102
+ {
20103
+ "$ref": "#/definitions/Legend"
20104
+ },
20105
+ {
20106
+ "type": "null"
20107
+ }
20108
+ ],
20109
+ "description": "Legend properties for the encoding channel. If `null`, the legend for the channel is removed. If an object is provided, a legend is created even when legends are disabled by default in the config.\n\n__Default value:__ If undefined, configured legend defaults are applied."
20110
+ },
20111
+ "param": {
20112
+ "description": "Filter using a parameter name.",
20113
+ "type": "string"
20114
+ },
20115
+ "resolutionChannel": {
20116
+ "$ref": "#/definitions/ChannelWithScale",
20117
+ "description": "An alternative channel for scale resolution.\n\nThis is mainly for internal use and allows using `color` channel to resolve `fill` and `stroke` channels under certain circumstances."
20118
+ },
20119
+ "scale": {
20120
+ "anyOf": [
20121
+ {
20122
+ "$ref": "#/definitions/Scale"
20123
+ },
20124
+ {
20125
+ "type": "null"
20126
+ }
20127
+ ],
20128
+ "description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://genomespy.app/docs/grammar/scale/).\n\n__Default value:__ If undefined, default [scale properties](https://genomespy.app/docs/grammar/scale/) are applied.\n\n__See also:__ [`scale`](https://genomespy.app/docs/grammar/scale/) documentation."
20129
+ },
20130
+ "title": {
20131
+ "description": "A title for the field. If `null`, the title will be removed.",
20132
+ "type": [
20133
+ "string",
20134
+ "null"
20135
+ ]
20136
+ },
20137
+ "type": {
20138
+ "$ref": "#/definitions/Type"
20139
+ }
20140
+ },
20141
+ "required": [
20142
+ "param",
20143
+ "type"
20144
+ ],
20145
+ "type": "object"
20146
+ },
20147
+ "ConditionalParameter<MarkPropFieldDef<TypeForShape>>": {
20148
+ "additionalProperties": false,
20149
+ "properties": {
20150
+ "description": {
20151
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
20152
+ "type": "string"
20153
+ },
20154
+ "domainInert": {
20155
+ "description": "Whether the field or evaluated expr should be excluded from the scale's domain. Prefer the view-level `domainInert` when an entire subtree should be excluded.\n\n**Default value:** `false`",
20156
+ "type": "boolean"
20157
+ },
20158
+ "empty": {
20159
+ "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
20160
+ "type": "boolean"
20161
+ },
20162
+ "field": {
20163
+ "description": "__Required.__ A string defining the name of the field from which to pull a data value.\n\n__See also:__ [`field`](https://genomespy.app/docs/grammar/mark/#field) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [Vega-Lite field documentation](https://vega.github.io/vega-lite/docs/field.html).",
20164
+ "type": "string"
20165
+ },
20166
+ "format": {
20167
+ "description": "When used with the default `\"number\"` format type, the text formatting pattern for labels of guides (axes, legends, headers) and text marks.\n\n- If the format type is `\"number\"` (e.g., for quantitative fields), this is D3's [number format pattern](https://github.com/d3/d3-format#locale_format).\n\nSee the [Vega-Lite format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.",
20168
+ "type": "string"
20169
+ },
20170
+ "legend": {
20171
+ "anyOf": [
20172
+ {
20173
+ "$ref": "#/definitions/Legend"
20174
+ },
20175
+ {
20176
+ "type": "null"
20177
+ }
20178
+ ],
20179
+ "description": "Legend properties for the encoding channel. If `null`, the legend for the channel is removed. If an object is provided, a legend is created even when legends are disabled by default in the config.\n\n__Default value:__ If undefined, configured legend defaults are applied."
20180
+ },
20181
+ "param": {
20182
+ "description": "Filter using a parameter name.",
20183
+ "type": "string"
20184
+ },
20185
+ "resolutionChannel": {
20186
+ "$ref": "#/definitions/ChannelWithScale",
20187
+ "description": "An alternative channel for scale resolution.\n\nThis is mainly for internal use and allows using `color` channel to resolve `fill` and `stroke` channels under certain circumstances."
20188
+ },
20189
+ "scale": {
20190
+ "anyOf": [
20191
+ {
20192
+ "$ref": "#/definitions/Scale"
20193
+ },
20194
+ {
20195
+ "type": "null"
20196
+ }
20197
+ ],
20198
+ "description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://genomespy.app/docs/grammar/scale/).\n\n__Default value:__ If undefined, default [scale properties](https://genomespy.app/docs/grammar/scale/) are applied.\n\n__See also:__ [`scale`](https://genomespy.app/docs/grammar/scale/) documentation."
20199
+ },
20200
+ "title": {
20201
+ "description": "A title for the field. If `null`, the title will be removed.",
20202
+ "type": [
20203
+ "string",
20204
+ "null"
20205
+ ]
20206
+ },
20207
+ "type": {
20208
+ "$ref": "#/definitions/TypeForShape"
20209
+ }
20210
+ },
20211
+ "required": [
20212
+ "param",
20213
+ "type"
20214
+ ],
20215
+ "type": "object"
20216
+ },
20217
+ "ConditionalParameter<ScaleDatumDef>": {
20218
+ "additionalProperties": false,
20219
+ "properties": {
20220
+ "band": {
20221
+ "description": "Relative position on band scale. For example, the marks will be positioned at the beginning of the band if set to `0`, and at the middle of the band if set to `0.5`.",
20222
+ "maximum": 1,
20223
+ "minimum": 0,
20224
+ "type": "number"
20225
+ },
20226
+ "datum": {
20227
+ "anyOf": [
20228
+ {
20229
+ "$ref": "#/definitions/Scalar"
20230
+ },
20231
+ {
20232
+ "$ref": "#/definitions/ExprRef"
20233
+ }
20234
+ ],
20235
+ "description": "A constant value in data domain."
20236
+ },
20237
+ "description": {
20238
+ "description": "A description of the encoded datum. Can be used for documentation and to explain the meaning of the channel mapping.",
20239
+ "type": "string"
20240
+ },
20241
+ "domainInert": {
20242
+ "description": "Whether the field or evaluated expr should be excluded from the scale's domain. Prefer the view-level `domainInert` when an entire subtree should be excluded.\n\n**Default value:** `false`",
20243
+ "type": "boolean"
20244
+ },
20245
+ "empty": {
20246
+ "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
20247
+ "type": "boolean"
20248
+ },
20249
+ "param": {
20250
+ "description": "Filter using a parameter name.",
20251
+ "type": "string"
20252
+ },
20253
+ "resolutionChannel": {
20254
+ "$ref": "#/definitions/ChannelWithScale",
20255
+ "description": "An alternative channel for scale resolution.\n\nThis is mainly for internal use and allows using `color` channel to resolve `fill` and `stroke` channels under certain circumstances."
20256
+ },
20257
+ "scale": {
20258
+ "anyOf": [
20259
+ {
20260
+ "$ref": "#/definitions/Scale"
20261
+ },
20262
+ {
20263
+ "type": "null"
20264
+ }
20265
+ ],
20266
+ "description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://genomespy.app/docs/grammar/scale/).\n\n__Default value:__ If undefined, default [scale properties](https://genomespy.app/docs/grammar/scale/) are applied.\n\n__See also:__ [`scale`](https://genomespy.app/docs/grammar/scale/) documentation."
20267
+ },
20268
+ "title": {
20269
+ "description": "A title for the field. If `null`, the title will be removed.",
20270
+ "type": [
20271
+ "string",
20272
+ "null"
20273
+ ]
20274
+ },
20275
+ "type": {
20276
+ "$ref": "#/definitions/Type"
20277
+ }
20278
+ },
20279
+ "required": [
20280
+ "param"
20281
+ ],
20282
+ "type": "object"
20283
+ },
20284
+ "ConditionalParameter<ValueDef<(number|ExprRef)>>": {
20285
+ "additionalProperties": false,
20286
+ "properties": {
20287
+ "description": {
20288
+ "description": "A description of the encoded value. Can be used for documentation and to explain the meaning of the channel mapping.",
20289
+ "type": "string"
20290
+ },
20291
+ "empty": {
20292
+ "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
20293
+ "type": "boolean"
20294
+ },
20295
+ "param": {
20296
+ "description": "Filter using a parameter name.",
20297
+ "type": "string"
20298
+ },
20299
+ "title": {
20300
+ "description": "A title for the field. If `null`, the title will be removed.",
20301
+ "type": [
20302
+ "string",
20303
+ "null"
20304
+ ]
20305
+ },
20306
+ "value": {
20307
+ "anyOf": [
20308
+ {
20309
+ "type": "number"
20310
+ },
20311
+ {
20312
+ "$ref": "#/definitions/ExprRef"
20313
+ }
20314
+ ],
20315
+ "description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"`, values between `0` to `1` for opacity)."
20316
+ }
20317
+ },
20318
+ "required": [
20319
+ "param",
20320
+ "value"
20321
+ ],
20322
+ "type": "object"
20323
+ },
20324
+ "ConditionalParameter<ValueDef<(string|null|ExprRef)>>": {
20325
+ "additionalProperties": false,
20326
+ "properties": {
20327
+ "description": {
20328
+ "description": "A description of the encoded value. Can be used for documentation and to explain the meaning of the channel mapping.",
20329
+ "type": "string"
20330
+ },
20331
+ "empty": {
20332
+ "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
20333
+ "type": "boolean"
20334
+ },
20335
+ "param": {
20336
+ "description": "Filter using a parameter name.",
20337
+ "type": "string"
20338
+ },
20339
+ "title": {
20340
+ "description": "A title for the field. If `null`, the title will be removed.",
20341
+ "type": [
20342
+ "string",
20343
+ "null"
20344
+ ]
20345
+ },
20346
+ "value": {
20347
+ "anyOf": [
20348
+ {
20349
+ "type": "string"
20350
+ },
20351
+ {
20352
+ "type": "null"
20353
+ },
20354
+ {
20355
+ "$ref": "#/definitions/ExprRef"
20356
+ }
20357
+ ],
20358
+ "description": "A constant value in visual domain (e.g., `\"red\"` / `\"#0099ff\"`, values between `0` to `1` for opacity)."
20359
+ }
20360
+ },
20361
+ "required": [
20362
+ "param",
20363
+ "value"
20364
+ ],
20365
+ "type": "object"
19881
20366
  },
19882
- "ConditionalParameter<MarkPropExprDef<Type>>": {
20367
+ "ConditionalTest<MarkPropExprDef<Type>>": {
19883
20368
  "additionalProperties": false,
19884
20369
  "properties": {
19885
20370
  "band": {
@@ -19896,10 +20381,6 @@
19896
20381
  "description": "Whether the field or evaluated expr should be excluded from the scale's domain. Prefer the view-level `domainInert` when an entire subtree should be excluded.\n\n**Default value:** `false`",
19897
20382
  "type": "boolean"
19898
20383
  },
19899
- "empty": {
19900
- "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
19901
- "type": "boolean"
19902
- },
19903
20384
  "expr": {
19904
20385
  "description": "An expression. Properties of the data can be accessed through the `datum` object.",
19905
20386
  "type": "string"
@@ -19915,10 +20396,6 @@
19915
20396
  ],
19916
20397
  "description": "Legend properties for the encoding channel. If `null`, the legend for the channel is removed. If an object is provided, a legend is created even when legends are disabled by default in the config.\n\n__Default value:__ If undefined, configured legend defaults are applied."
19917
20398
  },
19918
- "param": {
19919
- "description": "Filter using a parameter name.",
19920
- "type": "string"
19921
- },
19922
20399
  "resolutionChannel": {
19923
20400
  "$ref": "#/definitions/ChannelWithScale",
19924
20401
  "description": "An alternative channel for scale resolution.\n\nThis is mainly for internal use and allows using `color` channel to resolve `fill` and `stroke` channels under certain circumstances."
@@ -19934,6 +20411,16 @@
19934
20411
  ],
19935
20412
  "description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://genomespy.app/docs/grammar/scale/).\n\n__Default value:__ If undefined, default [scale properties](https://genomespy.app/docs/grammar/scale/) are applied.\n\n__See also:__ [`scale`](https://genomespy.app/docs/grammar/scale/) documentation."
19936
20413
  },
20414
+ "test": {
20415
+ "anyOf": [
20416
+ {
20417
+ "$ref": "#/definitions/ParameterPredicate"
20418
+ },
20419
+ {
20420
+ "$ref": "#/definitions/SelectionUnionTest"
20421
+ }
20422
+ ]
20423
+ },
19937
20424
  "title": {
19938
20425
  "description": "A title for the field. If `null`, the title will be removed.",
19939
20426
  "type": [
@@ -19947,12 +20434,12 @@
19947
20434
  },
19948
20435
  "required": [
19949
20436
  "expr",
19950
- "param",
20437
+ "test",
19951
20438
  "type"
19952
20439
  ],
19953
20440
  "type": "object"
19954
20441
  },
19955
- "ConditionalParameter<MarkPropExprDef<TypeForShape>>": {
20442
+ "ConditionalTest<MarkPropExprDef<TypeForShape>>": {
19956
20443
  "additionalProperties": false,
19957
20444
  "properties": {
19958
20445
  "band": {
@@ -19969,10 +20456,6 @@
19969
20456
  "description": "Whether the field or evaluated expr should be excluded from the scale's domain. Prefer the view-level `domainInert` when an entire subtree should be excluded.\n\n**Default value:** `false`",
19970
20457
  "type": "boolean"
19971
20458
  },
19972
- "empty": {
19973
- "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
19974
- "type": "boolean"
19975
- },
19976
20459
  "expr": {
19977
20460
  "description": "An expression. Properties of the data can be accessed through the `datum` object.",
19978
20461
  "type": "string"
@@ -19988,10 +20471,6 @@
19988
20471
  ],
19989
20472
  "description": "Legend properties for the encoding channel. If `null`, the legend for the channel is removed. If an object is provided, a legend is created even when legends are disabled by default in the config.\n\n__Default value:__ If undefined, configured legend defaults are applied."
19990
20473
  },
19991
- "param": {
19992
- "description": "Filter using a parameter name.",
19993
- "type": "string"
19994
- },
19995
20474
  "resolutionChannel": {
19996
20475
  "$ref": "#/definitions/ChannelWithScale",
19997
20476
  "description": "An alternative channel for scale resolution.\n\nThis is mainly for internal use and allows using `color` channel to resolve `fill` and `stroke` channels under certain circumstances."
@@ -20007,6 +20486,16 @@
20007
20486
  ],
20008
20487
  "description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://genomespy.app/docs/grammar/scale/).\n\n__Default value:__ If undefined, default [scale properties](https://genomespy.app/docs/grammar/scale/) are applied.\n\n__See also:__ [`scale`](https://genomespy.app/docs/grammar/scale/) documentation."
20009
20488
  },
20489
+ "test": {
20490
+ "anyOf": [
20491
+ {
20492
+ "$ref": "#/definitions/ParameterPredicate"
20493
+ },
20494
+ {
20495
+ "$ref": "#/definitions/SelectionUnionTest"
20496
+ }
20497
+ ]
20498
+ },
20010
20499
  "title": {
20011
20500
  "description": "A title for the field. If `null`, the title will be removed.",
20012
20501
  "type": [
@@ -20020,12 +20509,12 @@
20020
20509
  },
20021
20510
  "required": [
20022
20511
  "expr",
20023
- "param",
20512
+ "test",
20024
20513
  "type"
20025
20514
  ],
20026
20515
  "type": "object"
20027
20516
  },
20028
- "ConditionalParameter<MarkPropFieldDef<Type>>": {
20517
+ "ConditionalTest<MarkPropFieldDef<Type>>": {
20029
20518
  "additionalProperties": false,
20030
20519
  "properties": {
20031
20520
  "description": {
@@ -20036,10 +20525,6 @@
20036
20525
  "description": "Whether the field or evaluated expr should be excluded from the scale's domain. Prefer the view-level `domainInert` when an entire subtree should be excluded.\n\n**Default value:** `false`",
20037
20526
  "type": "boolean"
20038
20527
  },
20039
- "empty": {
20040
- "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
20041
- "type": "boolean"
20042
- },
20043
20528
  "field": {
20044
20529
  "description": "__Required.__ A string defining the name of the field from which to pull a data value.\n\n__See also:__ [`field`](https://genomespy.app/docs/grammar/mark/#field) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [Vega-Lite field documentation](https://vega.github.io/vega-lite/docs/field.html).",
20045
20530
  "type": "string"
@@ -20059,10 +20544,6 @@
20059
20544
  ],
20060
20545
  "description": "Legend properties for the encoding channel. If `null`, the legend for the channel is removed. If an object is provided, a legend is created even when legends are disabled by default in the config.\n\n__Default value:__ If undefined, configured legend defaults are applied."
20061
20546
  },
20062
- "param": {
20063
- "description": "Filter using a parameter name.",
20064
- "type": "string"
20065
- },
20066
20547
  "resolutionChannel": {
20067
20548
  "$ref": "#/definitions/ChannelWithScale",
20068
20549
  "description": "An alternative channel for scale resolution.\n\nThis is mainly for internal use and allows using `color` channel to resolve `fill` and `stroke` channels under certain circumstances."
@@ -20078,6 +20559,16 @@
20078
20559
  ],
20079
20560
  "description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://genomespy.app/docs/grammar/scale/).\n\n__Default value:__ If undefined, default [scale properties](https://genomespy.app/docs/grammar/scale/) are applied.\n\n__See also:__ [`scale`](https://genomespy.app/docs/grammar/scale/) documentation."
20080
20561
  },
20562
+ "test": {
20563
+ "anyOf": [
20564
+ {
20565
+ "$ref": "#/definitions/ParameterPredicate"
20566
+ },
20567
+ {
20568
+ "$ref": "#/definitions/SelectionUnionTest"
20569
+ }
20570
+ ]
20571
+ },
20081
20572
  "title": {
20082
20573
  "description": "A title for the field. If `null`, the title will be removed.",
20083
20574
  "type": [
@@ -20090,12 +20581,12 @@
20090
20581
  }
20091
20582
  },
20092
20583
  "required": [
20093
- "param",
20584
+ "test",
20094
20585
  "type"
20095
20586
  ],
20096
20587
  "type": "object"
20097
20588
  },
20098
- "ConditionalParameter<MarkPropFieldDef<TypeForShape>>": {
20589
+ "ConditionalTest<MarkPropFieldDef<TypeForShape>>": {
20099
20590
  "additionalProperties": false,
20100
20591
  "properties": {
20101
20592
  "description": {
@@ -20106,10 +20597,6 @@
20106
20597
  "description": "Whether the field or evaluated expr should be excluded from the scale's domain. Prefer the view-level `domainInert` when an entire subtree should be excluded.\n\n**Default value:** `false`",
20107
20598
  "type": "boolean"
20108
20599
  },
20109
- "empty": {
20110
- "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
20111
- "type": "boolean"
20112
- },
20113
20600
  "field": {
20114
20601
  "description": "__Required.__ A string defining the name of the field from which to pull a data value.\n\n__See also:__ [`field`](https://genomespy.app/docs/grammar/mark/#field) documentation.\n\n__Notes:__ 1) Dots (`.`) and brackets (`[` and `]`) can be used to access nested objects (e.g., `\"field\": \"foo.bar\"` and `\"field\": \"foo['bar']\"`). If field names contain dots or brackets but are not nested, you can use `\\\\` to escape dots and brackets (e.g., `\"a\\\\.b\"` and `\"a\\\\[0\\\\]\"`). See more details about escaping in the [Vega-Lite field documentation](https://vega.github.io/vega-lite/docs/field.html).",
20115
20602
  "type": "string"
@@ -20129,10 +20616,6 @@
20129
20616
  ],
20130
20617
  "description": "Legend properties for the encoding channel. If `null`, the legend for the channel is removed. If an object is provided, a legend is created even when legends are disabled by default in the config.\n\n__Default value:__ If undefined, configured legend defaults are applied."
20131
20618
  },
20132
- "param": {
20133
- "description": "Filter using a parameter name.",
20134
- "type": "string"
20135
- },
20136
20619
  "resolutionChannel": {
20137
20620
  "$ref": "#/definitions/ChannelWithScale",
20138
20621
  "description": "An alternative channel for scale resolution.\n\nThis is mainly for internal use and allows using `color` channel to resolve `fill` and `stroke` channels under certain circumstances."
@@ -20148,6 +20631,16 @@
20148
20631
  ],
20149
20632
  "description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://genomespy.app/docs/grammar/scale/).\n\n__Default value:__ If undefined, default [scale properties](https://genomespy.app/docs/grammar/scale/) are applied.\n\n__See also:__ [`scale`](https://genomespy.app/docs/grammar/scale/) documentation."
20150
20633
  },
20634
+ "test": {
20635
+ "anyOf": [
20636
+ {
20637
+ "$ref": "#/definitions/ParameterPredicate"
20638
+ },
20639
+ {
20640
+ "$ref": "#/definitions/SelectionUnionTest"
20641
+ }
20642
+ ]
20643
+ },
20151
20644
  "title": {
20152
20645
  "description": "A title for the field. If `null`, the title will be removed.",
20153
20646
  "type": [
@@ -20160,12 +20653,12 @@
20160
20653
  }
20161
20654
  },
20162
20655
  "required": [
20163
- "param",
20656
+ "test",
20164
20657
  "type"
20165
20658
  ],
20166
20659
  "type": "object"
20167
20660
  },
20168
- "ConditionalParameter<ScaleDatumDef>": {
20661
+ "ConditionalTest<ScaleDatumDef>": {
20169
20662
  "additionalProperties": false,
20170
20663
  "properties": {
20171
20664
  "band": {
@@ -20193,14 +20686,6 @@
20193
20686
  "description": "Whether the field or evaluated expr should be excluded from the scale's domain. Prefer the view-level `domainInert` when an entire subtree should be excluded.\n\n**Default value:** `false`",
20194
20687
  "type": "boolean"
20195
20688
  },
20196
- "empty": {
20197
- "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
20198
- "type": "boolean"
20199
- },
20200
- "param": {
20201
- "description": "Filter using a parameter name.",
20202
- "type": "string"
20203
- },
20204
20689
  "resolutionChannel": {
20205
20690
  "$ref": "#/definitions/ChannelWithScale",
20206
20691
  "description": "An alternative channel for scale resolution.\n\nThis is mainly for internal use and allows using `color` channel to resolve `fill` and `stroke` channels under certain circumstances."
@@ -20216,6 +20701,16 @@
20216
20701
  ],
20217
20702
  "description": "An object defining properties of the channel's scale, which is the function that transforms values in the data domain (numbers, dates, strings, etc) to visual values (pixels, colors, sizes) of the encoding channels.\n\nIf `null`, the scale will be [disabled and the data value will be directly encoded](https://genomespy.app/docs/grammar/scale/).\n\n__Default value:__ If undefined, default [scale properties](https://genomespy.app/docs/grammar/scale/) are applied.\n\n__See also:__ [`scale`](https://genomespy.app/docs/grammar/scale/) documentation."
20218
20703
  },
20704
+ "test": {
20705
+ "anyOf": [
20706
+ {
20707
+ "$ref": "#/definitions/ParameterPredicate"
20708
+ },
20709
+ {
20710
+ "$ref": "#/definitions/SelectionUnionTest"
20711
+ }
20712
+ ]
20713
+ },
20219
20714
  "title": {
20220
20715
  "description": "A title for the field. If `null`, the title will be removed.",
20221
20716
  "type": [
@@ -20228,24 +20723,26 @@
20228
20723
  }
20229
20724
  },
20230
20725
  "required": [
20231
- "param"
20726
+ "test"
20232
20727
  ],
20233
20728
  "type": "object"
20234
20729
  },
20235
- "ConditionalParameter<ValueDef<(number|ExprRef)>>": {
20730
+ "ConditionalTest<ValueDef<(number|ExprRef)>>": {
20236
20731
  "additionalProperties": false,
20237
20732
  "properties": {
20238
20733
  "description": {
20239
20734
  "description": "A description of the encoded value. Can be used for documentation and to explain the meaning of the channel mapping.",
20240
20735
  "type": "string"
20241
20736
  },
20242
- "empty": {
20243
- "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
20244
- "type": "boolean"
20245
- },
20246
- "param": {
20247
- "description": "Filter using a parameter name.",
20248
- "type": "string"
20737
+ "test": {
20738
+ "anyOf": [
20739
+ {
20740
+ "$ref": "#/definitions/ParameterPredicate"
20741
+ },
20742
+ {
20743
+ "$ref": "#/definitions/SelectionUnionTest"
20744
+ }
20745
+ ]
20249
20746
  },
20250
20747
  "title": {
20251
20748
  "description": "A title for the field. If `null`, the title will be removed.",
@@ -20267,25 +20764,27 @@
20267
20764
  }
20268
20765
  },
20269
20766
  "required": [
20270
- "param",
20767
+ "test",
20271
20768
  "value"
20272
20769
  ],
20273
20770
  "type": "object"
20274
20771
  },
20275
- "ConditionalParameter<ValueDef<(string|null|ExprRef)>>": {
20772
+ "ConditionalTest<ValueDef<(string|null|ExprRef)>>": {
20276
20773
  "additionalProperties": false,
20277
20774
  "properties": {
20278
20775
  "description": {
20279
20776
  "description": "A description of the encoded value. Can be used for documentation and to explain the meaning of the channel mapping.",
20280
20777
  "type": "string"
20281
20778
  },
20282
- "empty": {
20283
- "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
20284
- "type": "boolean"
20285
- },
20286
- "param": {
20287
- "description": "Filter using a parameter name.",
20288
- "type": "string"
20779
+ "test": {
20780
+ "anyOf": [
20781
+ {
20782
+ "$ref": "#/definitions/ParameterPredicate"
20783
+ },
20784
+ {
20785
+ "$ref": "#/definitions/SelectionUnionTest"
20786
+ }
20787
+ ]
20289
20788
  },
20290
20789
  "title": {
20291
20790
  "description": "A title for the field. If `null`, the title will be removed.",
@@ -20310,7 +20809,7 @@
20310
20809
  }
20311
20810
  },
20312
20811
  "required": [
20313
- "param",
20812
+ "test",
20314
20813
  "value"
20315
20814
  ],
20316
20815
  "type": "object"
@@ -21066,6 +21565,10 @@
21066
21565
  "$ref": "#/definitions/NumericMarkPropDef",
21067
21566
  "description": "Opacity of the marks."
21068
21567
  },
21568
+ "order": {
21569
+ "$ref": "#/definitions/OrderDef",
21570
+ "description": "Orders instances within this logical mark. The supported form has one selection condition with a finite numeric value and a finite numeric fallback. Lower levels draw first; equal or constant levels are inert."
21571
+ },
21069
21572
  "sample": {
21070
21573
  "$ref": "#/definitions/FieldDefWithoutScale",
21071
21574
  "description": "Facet identifier for interactive filtering, sorting, and grouping in the App."
@@ -26776,7 +27279,19 @@
26776
27279
  "$ref": "#/definitions/ExprRef"
26777
27280
  }
26778
27281
  ],
26779
- "description": "Disables fading for selected links. Tests selections referenced by conditional encodings, excluding empty selections. Despite the property name, interval selections also bypass fading when either link endpoint is inside each selected interval. Only marks that participate in picking use this bypass.\n\n**Default value:** `true`"
27282
+ "deprecated": "Use `noFadingOnSecondPass`.",
27283
+ "description": "Alias for `noFadingOnSecondPass`, used only when that property is unspecified. Requires active conditional ordering; selections in color or size encodings alone no longer suppress fading."
27284
+ },
27285
+ "noFadingOnSecondPass": {
27286
+ "anyOf": [
27287
+ {
27288
+ "type": "boolean"
27289
+ },
27290
+ {
27291
+ "$ref": "#/definitions/ExprRef"
27292
+ }
27293
+ ],
27294
+ "description": "Shows foreground arcs in full by disabling distance fading during the second visual pass of an active conditional `order` encoding. Configure selected links with the higher order value to draw them unfaded above other links. Reversing the order values instead exempts the unselected links.\n\nHas no effect without active conditional ordering, including when all selections are empty. Picking always uses normal fading.\n\n__Default value:__ `false`"
26780
27295
  },
26781
27296
  "opacity": {
26782
27297
  "anyOf": [
@@ -26843,7 +27358,7 @@
26843
27358
  },
26844
27359
  "tooltip": {
26845
27360
  "$ref": "#/definitions/Tooltip",
26846
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
27361
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
26847
27362
  },
26848
27363
  "x": {
26849
27364
  "anyOf": [
@@ -27109,7 +27624,19 @@
27109
27624
  "$ref": "#/definitions/ExprRef"
27110
27625
  }
27111
27626
  ],
27112
- "description": "Disables fading for selected links. Tests selections referenced by conditional encodings, excluding empty selections. Despite the property name, interval selections also bypass fading when either link endpoint is inside each selected interval. Only marks that participate in picking use this bypass.\n\n**Default value:** `true`"
27627
+ "deprecated": "Use `noFadingOnSecondPass`.",
27628
+ "description": "Alias for `noFadingOnSecondPass`, used only when that property is unspecified. Requires active conditional ordering; selections in color or size encodings alone no longer suppress fading."
27629
+ },
27630
+ "noFadingOnSecondPass": {
27631
+ "anyOf": [
27632
+ {
27633
+ "type": "boolean"
27634
+ },
27635
+ {
27636
+ "$ref": "#/definitions/ExprRef"
27637
+ }
27638
+ ],
27639
+ "description": "Shows foreground arcs in full by disabling distance fading during the second visual pass of an active conditional `order` encoding. Configure selected links with the higher order value to draw them unfaded above other links. Reversing the order values instead exempts the unselected links.\n\nHas no effect without active conditional ordering, including when all selections are empty. Picking always uses normal fading.\n\n__Default value:__ `false`"
27113
27640
  },
27114
27641
  "opacity": {
27115
27642
  "anyOf": [
@@ -27176,7 +27703,7 @@
27176
27703
  },
27177
27704
  "tooltip": {
27178
27705
  "$ref": "#/definitions/Tooltip",
27179
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
27706
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
27180
27707
  },
27181
27708
  "type": {
27182
27709
  "const": "link",
@@ -27468,7 +27995,7 @@
27468
27995
  },
27469
27996
  "tooltip": {
27470
27997
  "$ref": "#/definitions/Tooltip",
27471
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
27998
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
27472
27999
  },
27473
28000
  "x": {
27474
28001
  "anyOf": [
@@ -29370,6 +29897,73 @@
29370
29897
  ],
29371
29898
  "description": "A pixel-valued offset of a primary positional channel."
29372
29899
  },
29900
+ "OrderCondition": {
29901
+ "anyOf": [
29902
+ {
29903
+ "additionalProperties": false,
29904
+ "properties": {
29905
+ "empty": {
29906
+ "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
29907
+ "type": "boolean"
29908
+ },
29909
+ "param": {
29910
+ "description": "Filter using a parameter name.",
29911
+ "type": "string"
29912
+ },
29913
+ "value": {
29914
+ "type": "number"
29915
+ }
29916
+ },
29917
+ "required": [
29918
+ "param",
29919
+ "value"
29920
+ ],
29921
+ "type": "object"
29922
+ },
29923
+ {
29924
+ "additionalProperties": false,
29925
+ "properties": {
29926
+ "test": {
29927
+ "anyOf": [
29928
+ {
29929
+ "$ref": "#/definitions/ParameterPredicate"
29930
+ },
29931
+ {
29932
+ "$ref": "#/definitions/SelectionUnionTest"
29933
+ }
29934
+ ]
29935
+ },
29936
+ "value": {
29937
+ "type": "number"
29938
+ }
29939
+ },
29940
+ "required": [
29941
+ "test",
29942
+ "value"
29943
+ ],
29944
+ "type": "object"
29945
+ }
29946
+ ],
29947
+ "description": "A selection condition used by the restricted instance-order encoding."
29948
+ },
29949
+ "OrderDef": {
29950
+ "additionalProperties": false,
29951
+ "description": "Draw-order levels for instances in one logical mark. The lower level is drawn first and the higher level last. Only selection conditions and finite numeric values are supported.",
29952
+ "properties": {
29953
+ "condition": {
29954
+ "$ref": "#/definitions/OrderCondition",
29955
+ "description": "Selection condition that determines the matching level."
29956
+ },
29957
+ "value": {
29958
+ "description": "Fallback level, or the sole level when `condition` is omitted.",
29959
+ "type": "number"
29960
+ }
29961
+ },
29962
+ "required": [
29963
+ "value"
29964
+ ],
29965
+ "type": "object"
29966
+ },
29373
29967
  "OtherDataFormat": {
29374
29968
  "additionalProperties": false,
29375
29969
  "description": "Other data format, such as `\"fasta\"`",
@@ -29554,6 +30148,23 @@
29554
30148
  }
29555
30149
  ]
29556
30150
  },
30151
+ "ParameterPredicate": {
30152
+ "additionalProperties": false,
30153
+ "properties": {
30154
+ "empty": {
30155
+ "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
30156
+ "type": "boolean"
30157
+ },
30158
+ "param": {
30159
+ "description": "Filter using a parameter name.",
30160
+ "type": "string"
30161
+ }
30162
+ },
30163
+ "required": [
30164
+ "param"
30165
+ ],
30166
+ "type": "object"
30167
+ },
29557
30168
  "ParquetBackendDef": {
29558
30169
  "additionalProperties": false,
29559
30170
  "properties": {
@@ -29957,7 +30568,7 @@
29957
30568
  },
29958
30569
  "tooltip": {
29959
30570
  "$ref": "#/definitions/Tooltip",
29960
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
30571
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
29961
30572
  },
29962
30573
  "x": {
29963
30574
  "anyOf": [
@@ -30300,7 +30911,7 @@
30300
30911
  },
30301
30912
  "tooltip": {
30302
30913
  "$ref": "#/definitions/Tooltip",
30303
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
30914
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
30304
30915
  },
30305
30916
  "type": {
30306
30917
  "const": "point",
@@ -31196,7 +31807,7 @@
31196
31807
  },
31197
31808
  "tooltip": {
31198
31809
  "$ref": "#/definitions/Tooltip",
31199
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
31810
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
31200
31811
  },
31201
31812
  "x": {
31202
31813
  "anyOf": [
@@ -31631,7 +32242,7 @@
31631
32242
  },
31632
32243
  "tooltip": {
31633
32244
  "$ref": "#/definitions/Tooltip",
31634
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
32245
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
31635
32246
  },
31636
32247
  "type": {
31637
32248
  "const": "rect",
@@ -31905,6 +32516,9 @@
31905
32516
  "opacity": {
31906
32517
  "$ref": "#/definitions/LegendResolutionBehavior"
31907
32518
  },
32519
+ "order": {
32520
+ "$ref": "#/definitions/LegendResolutionBehavior"
32521
+ },
31908
32522
  "sample": {
31909
32523
  "$ref": "#/definitions/LegendResolutionBehavior"
31910
32524
  },
@@ -31995,6 +32609,9 @@
31995
32609
  "opacity": {
31996
32610
  "$ref": "#/definitions/ResolutionBehavior"
31997
32611
  },
32612
+ "order": {
32613
+ "$ref": "#/definitions/ResolutionBehavior"
32614
+ },
31998
32615
  "sample": {
31999
32616
  "$ref": "#/definitions/ResolutionBehavior"
32000
32617
  },
@@ -32194,7 +32811,7 @@
32194
32811
  },
32195
32812
  "tooltip": {
32196
32813
  "$ref": "#/definitions/Tooltip",
32197
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
32814
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
32198
32815
  },
32199
32816
  "x": {
32200
32817
  "anyOf": [
@@ -32432,7 +33049,7 @@
32432
33049
  },
32433
33050
  "tooltip": {
32434
33051
  "$ref": "#/definitions/Tooltip",
32435
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
33052
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
32436
33053
  },
32437
33054
  "type": {
32438
33055
  "const": "rule",
@@ -36062,6 +36679,37 @@
36062
36679
  ],
36063
36680
  "type": "string"
36064
36681
  },
36682
+ "SelectionUnionTest": {
36683
+ "additionalProperties": false,
36684
+ "description": "A flat union of named selection parameters used by a conditional encoding.",
36685
+ "properties": {
36686
+ "empty": {
36687
+ "description": "Whether the test matches when every selection in the group is empty.\n\n__Default value:__ `true`",
36688
+ "type": "boolean"
36689
+ },
36690
+ "param": {
36691
+ "additionalProperties": false,
36692
+ "properties": {
36693
+ "or": {
36694
+ "description": "Names of selections joined with OR. Must contain at least one name.",
36695
+ "items": {
36696
+ "type": "string"
36697
+ },
36698
+ "minItems": 1,
36699
+ "type": "array"
36700
+ }
36701
+ },
36702
+ "required": [
36703
+ "or"
36704
+ ],
36705
+ "type": "object"
36706
+ }
36707
+ },
36708
+ "required": [
36709
+ "param"
36710
+ ],
36711
+ "type": "object"
36712
+ },
36065
36713
  "SeparatorProps": {
36066
36714
  "additionalProperties": false,
36067
36715
  "properties": {
@@ -36211,7 +36859,7 @@
36211
36859
  },
36212
36860
  "tooltip": {
36213
36861
  "$ref": "#/definitions/Tooltip",
36214
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
36862
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
36215
36863
  },
36216
36864
  "type": {
36217
36865
  "const": "rule",
@@ -37801,7 +38449,19 @@
37801
38449
  "$ref": "#/definitions/ExprRef"
37802
38450
  }
37803
38451
  ],
37804
- "description": "Disables fading for selected links. Tests selections referenced by conditional encodings, excluding empty selections. Despite the property name, interval selections also bypass fading when either link endpoint is inside each selected interval. Only marks that participate in picking use this bypass.\n\n**Default value:** `true`"
38452
+ "deprecated": "Use `noFadingOnSecondPass`.",
38453
+ "description": "Alias for `noFadingOnSecondPass`, used only when that property is unspecified. Requires active conditional ordering; selections in color or size encodings alone no longer suppress fading."
38454
+ },
38455
+ "noFadingOnSecondPass": {
38456
+ "anyOf": [
38457
+ {
38458
+ "type": "boolean"
38459
+ },
38460
+ {
38461
+ "$ref": "#/definitions/ExprRef"
38462
+ }
38463
+ ],
38464
+ "description": "Shows foreground arcs in full by disabling distance fading during the second visual pass of an active conditional `order` encoding. Configure selected links with the higher order value to draw them unfaded above other links. Reversing the order values instead exempts the unselected links.\n\nHas no effect without active conditional ordering, including when all selections are empty. Picking always uses normal fading.\n\n__Default value:__ `false`"
37805
38465
  },
37806
38466
  "offset": {
37807
38467
  "anyOf": [
@@ -38495,7 +39155,7 @@
38495
39155
  },
38496
39156
  "tooltip": {
38497
39157
  "$ref": "#/definitions/Tooltip",
38498
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
39158
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
38499
39159
  },
38500
39160
  "values": {
38501
39161
  "anyOf": [
@@ -39028,7 +39688,7 @@
39028
39688
  },
39029
39689
  "tooltip": {
39030
39690
  "$ref": "#/definitions/Tooltip",
39031
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
39691
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
39032
39692
  },
39033
39693
  "viewportEdgeFadeDistanceBottom": {
39034
39694
  "anyOf": [
@@ -39447,7 +40107,7 @@
39447
40107
  },
39448
40108
  "tooltip": {
39449
40109
  "$ref": "#/definitions/Tooltip",
39450
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
40110
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
39451
40111
  },
39452
40112
  "type": {
39453
40113
  "const": "text",
@@ -39773,7 +40433,7 @@
39773
40433
  },
39774
40434
  "tooltip": {
39775
40435
  "$ref": "#/definitions/Tooltip",
39776
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
40436
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
39777
40437
  },
39778
40438
  "x": {
39779
40439
  "anyOf": [
@@ -39990,7 +40650,7 @@
39990
40650
  },
39991
40651
  "tooltip": {
39992
40652
  "$ref": "#/definitions/Tooltip",
39993
- "description": "Tooltip handler. If `null`, no tooltip is shown. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
40653
+ "description": "Tooltip handler. If `false`, no tooltip is shown but the mark remains available for renderer picking and mark interactions. If `null`, no tooltip is shown and the mark is excluded from picking unless its view declares a point selection; a point selection overrides this picking opt-out. If string, specifies the [tooltip handler](https://genomespy.app/docs/api/embed-options/#custom-tooltip-handlers) to use."
39994
40654
  },
39995
40655
  "type": {
39996
40656
  "const": "tick",
@@ -44074,7 +44734,7 @@
44074
44734
  "type": "string"
44075
44735
  }
44076
44736
  ],
44077
- "description": "The boundaries that limit zoom and pan interactions.\n\nA domain array sets explicit boundaries. `\"data\"` derives the boundaries from the data that contributes to the scale domain. For index and quantitative scales, `\"unbounded\"` allows zooming and panning without fixed boundaries. Locus scales do not support unbounded zoom.\n\nWith an unbounded extent, the initial scale domain is used as the reference for the `zoomLevel` expression parameter.\n\n__Default value:__ The initial scale domain, except the whole genome for locus scales."
44737
+ "description": "The boundaries that limit zoom and pan interactions.\n\nA domain array sets explicit boundaries. `\"data\"` derives the boundaries from the data that contributes to the scale domain. For index and quantitative scales, `\"unbounded\"` allows zooming and panning without fixed boundaries. Locus scales do not support unbounded zoom.\n\nWith an unbounded extent, the initial scale domain is used as the reference for the `zoomLevel()` expression helper and its channel-specific form, such as `zoomLevel(\"x\")`.\n\n__Default value:__ The initial scale domain, except the whole genome for locus scales."
44078
44738
  }
44079
44739
  },
44080
44740
  "type": "object"