@genome-spy/app 0.75.0 → 0.76.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 (66) hide show
  1. package/dist/AbortablePromiseCache-beUIcZcW.js +96 -0
  2. package/dist/agentApi-CzdacisO.js +25226 -0
  3. package/dist/agentApi.es.js +9460 -0
  4. package/dist/agentShared.es.js +4742 -0
  5. package/dist/{blosc-oa0DlI6G.js → blosc-BX4BJ8sR.js} +1 -1
  6. package/dist/componentStyles-CIXoKEp0.js +2182 -0
  7. package/dist/dialog.es.js +377 -0
  8. package/dist/{esm-n0auOe11.js → esm-BH0wx5y-.js} +1 -1
  9. package/dist/esm-BLfLaJtE.js +121 -0
  10. package/dist/{esm-D-WfYOx7.js → esm-BWsx1OJ2.js} +25 -25
  11. package/dist/{browser-Dvlo92rx.js → esm-BY4T8YoD.js} +38 -22
  12. package/dist/esm-CZvS2Ldm.js +155 -0
  13. package/dist/esm-CdIesJ1z.js +461 -0
  14. package/dist/{esm-DCCYNvaz.js → esm-Cr7pLUfG.js} +50 -50
  15. package/dist/esm-D-y0Ce1M.js +573 -0
  16. package/dist/esm-DHOMWRoL.js +1426 -0
  17. package/dist/{esm-Cmo4qEPr.js → esm-DJUb6vy0.js} +5 -5
  18. package/dist/esm-DPS6pYKF.js +1248 -0
  19. package/dist/esm-DRZ5LLNH.js +142 -0
  20. package/dist/esm-DjF6pKy5.js +369 -0
  21. package/dist/esm-PDPkTR1_.js +1015 -0
  22. package/dist/esm-s_SlArJ8.js +298 -0
  23. package/dist/index.es.js +7874 -28936
  24. package/dist/index.js +1127 -729
  25. package/dist/lit-ymUSmGBw.js +510 -0
  26. package/dist/{lz4-jZ0zyLBa.js → lz4-BSYl80V8.js} +1 -1
  27. package/dist/parquetRead-m8-8_SpH.js +1609 -0
  28. package/dist/schema.json +445 -85
  29. package/dist/style.css +1 -1
  30. package/dist/viewUtils-C5htqZCm.js +14147 -0
  31. package/dist/{zstd-C6ksIG9r.js → zstd-BAfRM3IH.js} +1 -1
  32. package/package.json +30 -5
  33. package/src/agentApi/index.d.ts +123 -0
  34. package/src/agentShared/index.d.ts +97 -0
  35. package/src/agentShared/types.d.ts +8 -0
  36. package/src/appTypes.d.ts +75 -0
  37. package/src/bookmark/databaseSchema.d.ts +33 -0
  38. package/src/charts/boxplotTypes.d.ts +15 -0
  39. package/src/charts/sampleAttributePlotTypes.d.ts +149 -0
  40. package/src/coreSpecAugmentation.d.ts +29 -0
  41. package/src/dialog/index.d.ts +5 -0
  42. package/src/embedTypes.d.ts +9 -0
  43. package/src/index.d.ts +16 -0
  44. package/src/sampleView/sampleViewTypes.d.ts +174 -0
  45. package/src/sampleView/state/payloadTypes.d.ts +400 -0
  46. package/src/sampleView/state/sampleState.d.ts +76 -0
  47. package/src/sampleView/types.d.ts +125 -0
  48. package/src/spec/appSpec.d.ts +54 -0
  49. package/src/spec/sampleView.d.ts +487 -0
  50. package/src/spec/view.d.ts +124 -0
  51. package/src/state/paramProvenanceTypes.d.ts +215 -0
  52. package/src/state/selectionExpansionTypes.d.ts +77 -0
  53. package/src/state.d.ts +97 -0
  54. package/src/types/lz-string.d.ts +24 -0
  55. package/src/types/vega-loader.d.ts +1 -0
  56. package/src/utils/colorScaleSummary.d.ts +15 -0
  57. package/src/utils/statistics/fieldSummary.d.ts +49 -0
  58. package/src/vite-env.d.ts +6 -0
  59. package/LICENSE +0 -21
  60. /package/dist/{AbortablePromiseCache-3gHJdF3E.js → AbortablePromiseCache-BDH1cqFl.js} +0 -0
  61. /package/dist/{chunk-INHXZS53-fPMmEwMt.js → chunk-INHXZS53-DwEV9sMh.js} +0 -0
  62. /package/dist/{esm-BygJiwh0.js → esm-BL9SNSnj.js} +0 -0
  63. /package/dist/{esm-B8-vSu-c.js → esm-BwW--bVV.js} +0 -0
  64. /package/dist/{esm-CGX-qz1d.js → esm-Bz_92nH0.js} +0 -0
  65. /package/dist/{esm-CuMSzCHy.js → esm-D2_c7lXY.js} +0 -0
  66. /package/dist/{parquetRead-CJe1UPsz.js → parquetRead-BuEN-6yG.js} +0 -0
package/dist/schema.json CHANGED
@@ -27,6 +27,10 @@
27
27
  },
28
28
  "type": "array"
29
29
  },
30
+ "description": {
31
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
32
+ "type": "string"
33
+ },
30
34
  "fields": {
31
35
  "description": "The data fields to apply aggregate functions to. This array should correspond with the `ops` and `as` arrays. If no fields or operations are specified, a count aggregation will be applied by default.",
32
36
  "items": {
@@ -4252,6 +4256,10 @@
4252
4256
  ],
4253
4257
  "description": "Height of the view. If a number, it is interpreted as pixels. Check [child sizing](https://genomespy.app/docs/grammar/composition/concat/#child-sizing) for details.\n\n**Default value:** `\"container\"`"
4254
4258
  },
4259
+ "metadata": {
4260
+ "$ref": "#/definitions/MetadataDef",
4261
+ "description": "Metadata sources and metadata matrix layout."
4262
+ },
4255
4263
  "name": {
4256
4264
  "description": "An explicit name used to address the view. It is recommended to keep names unique among siblings. In the App (where view state is bookmarkable), the name must be unique within its import scope for views with configurable visibility, etc.",
4257
4265
  "type": "string"
@@ -4436,7 +4444,7 @@
4436
4444
  },
4437
4445
  "samples": {
4438
4446
  "$ref": "#/definitions/SampleDef",
4439
- "description": "Sample metadata definition. If the object is empty, the sample identifiers will be inferred from the data."
4447
+ "description": "Sample identity and label configuration.\n\nIf `identity` is omitted, sample identifiers are inferred from the data."
4440
4448
  },
4441
4449
  "spec": {
4442
4450
  "anyOf": [
@@ -4454,6 +4462,7 @@
4454
4462
  "type": "string"
4455
4463
  },
4456
4464
  "stickySummaries": {
4465
+ "description": "Keep summary tracks visible while scrolling samples.\n\n__Default value:__ `true`",
4457
4466
  "type": "boolean"
4458
4467
  },
4459
4468
  "templates": {
@@ -5331,7 +5340,7 @@
5331
5340
  "type": "string"
5332
5341
  },
5333
5342
  "url": {
5334
- "description": "URL to an Arrow data source.\n\nReserved for future use.",
5343
+ "description": "URL to an Arrow metadata source.\n\nReserved for future use.",
5335
5344
  "type": "string"
5336
5345
  }
5337
5346
  },
@@ -6612,6 +6621,10 @@
6612
6621
  "$ref": "#/definitions/FieldName",
6613
6622
  "description": "The field having the chromosome or contig."
6614
6623
  },
6624
+ "description": {
6625
+ "description": "A description of the encoded position. Can be used for documentation and to explain the meaning of the channel mapping.",
6626
+ "type": "string"
6627
+ },
6615
6628
  "domainInert": {
6616
6629
  "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`",
6617
6630
  "type": "boolean"
@@ -6677,6 +6690,10 @@
6677
6690
  "CollectParams": {
6678
6691
  "additionalProperties": false,
6679
6692
  "properties": {
6693
+ "description": {
6694
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
6695
+ "type": "string"
6696
+ },
6680
6697
  "groupby": {
6681
6698
  "description": "Arranges the data into consecutive batches based on the groups. This is mainly intended for internal use so that faceted data can be handled as batches.",
6682
6699
  "items": {
@@ -6720,11 +6737,11 @@
6720
6737
  "type": "boolean"
6721
6738
  },
6722
6739
  "name": {
6723
- "description": "Logical identifier name shown in UI and diagnostics.\n\nExample values: `\"symbol\"`, `\"ensembl\"`, `\"entrez\"`.",
6740
+ "description": "Name of the identifier field shown in UI and diagnostics.\n\nExample values: `\"symbol\"`, `\"ensembl\"`, `\"entrez\"`.",
6724
6741
  "type": "string"
6725
6742
  },
6726
6743
  "path": {
6727
- "description": "Backend path that provides identifier values aligned to matrix columns.\n\nThe array length must equal the number of columns in the matrix.",
6744
+ "description": "Backend path to identifier values aligned to matrix columns.\n\nThe array length must equal the number of columns in the matrix.",
6728
6745
  "type": "string"
6729
6746
  },
6730
6747
  "primary": {
@@ -6816,6 +6833,10 @@
6816
6833
  "minimum": 0,
6817
6834
  "type": "number"
6818
6835
  },
6836
+ "description": {
6837
+ "description": "A description of the encoded expression. Can be used for documentation and to explain the meaning of the channel mapping.",
6838
+ "type": "string"
6839
+ },
6819
6840
  "domainInert": {
6820
6841
  "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`",
6821
6842
  "type": "boolean"
@@ -6874,6 +6895,10 @@
6874
6895
  "minimum": 0,
6875
6896
  "type": "number"
6876
6897
  },
6898
+ "description": {
6899
+ "description": "A description of the encoded expression. Can be used for documentation and to explain the meaning of the channel mapping.",
6900
+ "type": "string"
6901
+ },
6877
6902
  "domainInert": {
6878
6903
  "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`",
6879
6904
  "type": "boolean"
@@ -6928,6 +6953,10 @@
6928
6953
  "not": {}
6929
6954
  },
6930
6955
  "properties": {
6956
+ "description": {
6957
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
6958
+ "type": "string"
6959
+ },
6931
6960
  "domainInert": {
6932
6961
  "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`",
6933
6962
  "type": "boolean"
@@ -6981,6 +7010,10 @@
6981
7010
  "not": {}
6982
7011
  },
6983
7012
  "properties": {
7013
+ "description": {
7014
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
7015
+ "type": "string"
7016
+ },
6984
7017
  "domainInert": {
6985
7018
  "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`",
6986
7019
  "type": "boolean"
@@ -7049,6 +7082,10 @@
7049
7082
  ],
7050
7083
  "description": "A constant value in data domain."
7051
7084
  },
7085
+ "description": {
7086
+ "description": "A description of the encoded datum. Can be used for documentation and to explain the meaning of the channel mapping.",
7087
+ "type": "string"
7088
+ },
7052
7089
  "domainInert": {
7053
7090
  "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`",
7054
7091
  "type": "boolean"
@@ -7095,6 +7132,10 @@
7095
7132
  "ConditionalParameter<ValueDef<(number|ExprRef)>>": {
7096
7133
  "additionalProperties": false,
7097
7134
  "properties": {
7135
+ "description": {
7136
+ "description": "A description of the encoded value. Can be used for documentation and to explain the meaning of the channel mapping.",
7137
+ "type": "string"
7138
+ },
7098
7139
  "empty": {
7099
7140
  "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
7100
7141
  "type": "boolean"
@@ -7131,6 +7172,10 @@
7131
7172
  "ConditionalParameter<ValueDef<(string|null|ExprRef)>>": {
7132
7173
  "additionalProperties": false,
7133
7174
  "properties": {
7175
+ "description": {
7176
+ "description": "A description of the encoded value. Can be used for documentation and to explain the meaning of the channel mapping.",
7177
+ "type": "string"
7178
+ },
7134
7179
  "empty": {
7135
7180
  "description": "For selection parameters, the predicate of empty selections returns true by default. Override this behavior, by setting this property `empty: false`.",
7136
7181
  "type": "boolean"
@@ -7206,6 +7251,10 @@
7206
7251
  "$ref": "#/definitions/Field",
7207
7252
  "description": "An optional chromosome field that is passed through. TODO: groupby"
7208
7253
  },
7254
+ "description": {
7255
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
7256
+ "type": "string"
7257
+ },
7209
7258
  "end": {
7210
7259
  "$ref": "#/definitions/Field",
7211
7260
  "description": "The field representing the end coordinate of the segment (exclusive)."
@@ -7289,7 +7338,7 @@
7289
7338
  "$ref": "#/definitions/InlineData"
7290
7339
  }
7291
7340
  ],
7292
- "description": "Eager tabular metadata source using the standard data contract.\n\nSupports `UrlData` and `InlineData`."
7341
+ "description": "Eager tabular metadata source.\n\nSupports `UrlData` and `InlineData`."
7293
7342
  },
7294
7343
  "sampleIdField": {
7295
7344
  "description": "Field name in the table that matches sample ids in the view.\n\n__Default value:__ `\"sample\"`",
@@ -7395,6 +7444,10 @@
7395
7444
  "DynamicCallbackData": {
7396
7445
  "additionalProperties": false,
7397
7446
  "properties": {
7447
+ "description": {
7448
+ "description": "A description of the data source. Can be used for documentation and to explain the role of the data in the visualization.",
7449
+ "type": "string"
7450
+ },
7398
7451
  "dynamicCallbackSource": {
7399
7452
  "description": "The View class has `getDynamicData()` methods that provides the data. This is intended for internal use.",
7400
7453
  "type": "boolean"
@@ -7512,6 +7565,10 @@
7512
7565
  "semanticScore": {
7513
7566
  "additionalProperties": false,
7514
7567
  "properties": {
7568
+ "description": {
7569
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
7570
+ "type": "string"
7571
+ },
7515
7572
  "field": {
7516
7573
  "description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) 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 [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`.",
7517
7574
  "type": "string"
@@ -7583,6 +7640,10 @@
7583
7640
  "description": "Builds and index for efficient rendering of subsets of the data. This setting is useful when rendering large amounts of data and often only a small subset of the data is visible. An example of such a situation is a scatter plot spanning the whole genome.\n\nThis setting implicitly sorts the data by the field assigned on the `x` channel.",
7584
7641
  "type": "boolean"
7585
7642
  },
7643
+ "description": {
7644
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
7645
+ "type": "string"
7646
+ },
7586
7647
  "domainInert": {
7587
7648
  "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`",
7588
7649
  "type": "boolean"
@@ -7650,6 +7711,10 @@
7650
7711
  "$ref": "#/definitions/FieldName",
7651
7712
  "description": "The field having the chromosome or contig."
7652
7713
  },
7714
+ "description": {
7715
+ "description": "A description of the encoded position. Can be used for documentation and to explain the meaning of the channel mapping.",
7716
+ "type": "string"
7717
+ },
7653
7718
  "domainInert": {
7654
7719
  "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`",
7655
7720
  "type": "boolean"
@@ -7730,6 +7795,10 @@
7730
7795
  ],
7731
7796
  "description": "A constant value in data domain."
7732
7797
  },
7798
+ "description": {
7799
+ "description": "A description of the encoded datum. Can be used for documentation and to explain the meaning of the channel mapping.",
7800
+ "type": "string"
7801
+ },
7733
7802
  "domainInert": {
7734
7803
  "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`",
7735
7804
  "type": "boolean"
@@ -7789,6 +7858,10 @@
7789
7858
  "description": "Builds and index for efficient rendering of subsets of the data. This setting is useful when rendering large amounts of data and often only a small subset of the data is visible. An example of such a situation is a scatter plot spanning the whole genome.\n\nThis setting implicitly sorts the data by the field assigned on the `x` channel.",
7790
7859
  "type": "boolean"
7791
7860
  },
7861
+ "description": {
7862
+ "description": "A description of the encoded expression. Can be used for documentation and to explain the meaning of the channel mapping.",
7863
+ "type": "string"
7864
+ },
7792
7865
  "domainInert": {
7793
7866
  "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`",
7794
7867
  "type": "boolean"
@@ -7821,6 +7894,10 @@
7821
7894
  "description": "Builds and index for efficient rendering of subsets of the data. This setting is useful when rendering large amounts of data and often only a small subset of the data is visible. An example of such a situation is a scatter plot spanning the whole genome.\n\nThis setting implicitly sorts the data by the field assigned on the `x` channel.",
7822
7895
  "type": "boolean"
7823
7896
  },
7897
+ "description": {
7898
+ "description": "A description of the encoded value. Can be used for documentation and to explain the meaning of the channel mapping.",
7899
+ "type": "string"
7900
+ },
7824
7901
  "title": {
7825
7902
  "description": "A title for the field. If `null`, the title will be removed.",
7826
7903
  "type": [
@@ -7903,6 +7980,10 @@
7903
7980
  "minimum": 0,
7904
7981
  "type": "number"
7905
7982
  },
7983
+ "description": {
7984
+ "description": "A description of the encoded expression. Can be used for documentation and to explain the meaning of the channel mapping.",
7985
+ "type": "string"
7986
+ },
7906
7987
  "expr": {
7907
7988
  "description": "An expression. Properties of the data can be accessed through the `datum` object.",
7908
7989
  "type": "string"
@@ -7926,6 +8007,10 @@
7926
8007
  "ExprFilterParams": {
7927
8008
  "additionalProperties": false,
7928
8009
  "properties": {
8010
+ "description": {
8011
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
8012
+ "type": "string"
8013
+ },
7929
8014
  "expr": {
7930
8015
  "description": "An expression string. The data object is removed if the expression evaluates to false.",
7931
8016
  "type": "string"
@@ -7962,6 +8047,10 @@
7962
8047
  "FieldDefWithoutScale": {
7963
8048
  "additionalProperties": false,
7964
8049
  "properties": {
8050
+ "description": {
8051
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
8052
+ "type": "string"
8053
+ },
7965
8054
  "field": {
7966
8055
  "description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) 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 [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`.",
7967
8056
  "type": "string"
@@ -7999,6 +8088,10 @@
7999
8088
  ],
8000
8089
  "description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
8001
8090
  },
8091
+ "description": {
8092
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
8093
+ "type": "string"
8094
+ },
8002
8095
  "domainInert": {
8003
8096
  "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`",
8004
8097
  "type": "boolean"
@@ -8058,6 +8151,10 @@
8058
8151
  ],
8059
8152
  "description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
8060
8153
  },
8154
+ "description": {
8155
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
8156
+ "type": "string"
8157
+ },
8061
8158
  "domainInert": {
8062
8159
  "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`",
8063
8160
  "type": "boolean"
@@ -8117,6 +8214,10 @@
8117
8214
  ],
8118
8215
  "description": "One or more value definition(s) with [a parameter or a test predicate](https://vega.github.io/vega-lite/docs/condition.html).\n\n__Note:__ A field definition's `condition` property can only contain [conditional value definitions](https://vega.github.io/vega-lite/docs/condition.html#value) since Vega-Lite only allows at most one encoded field per encoding channel."
8119
8216
  },
8217
+ "description": {
8218
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
8219
+ "type": "string"
8220
+ },
8120
8221
  "domainInert": {
8121
8222
  "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`",
8122
8223
  "type": "boolean"
@@ -8191,6 +8292,10 @@
8191
8292
  ],
8192
8293
  "description": "A constant value in data domain."
8193
8294
  },
8295
+ "description": {
8296
+ "description": "A description of the encoded datum. Can be used for documentation and to explain the meaning of the channel mapping.",
8297
+ "type": "string"
8298
+ },
8194
8299
  "domainInert": {
8195
8300
  "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`",
8196
8301
  "type": "boolean"
@@ -8258,6 +8363,10 @@
8258
8363
  ],
8259
8364
  "description": "A constant value in data domain."
8260
8365
  },
8366
+ "description": {
8367
+ "description": "A description of the encoded datum. Can be used for documentation and to explain the meaning of the channel mapping.",
8368
+ "type": "string"
8369
+ },
8261
8370
  "domainInert": {
8262
8371
  "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`",
8263
8372
  "type": "boolean"
@@ -8315,6 +8424,10 @@
8315
8424
  ],
8316
8425
  "type": "string"
8317
8426
  },
8427
+ "description": {
8428
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
8429
+ "type": "string"
8430
+ },
8318
8431
  "lane": {
8319
8432
  "$ref": "#/definitions/Field",
8320
8433
  "description": "An optional field representing element's lane, e.g., if transcripts are shown using a piled up layout. Each line is processed separately."
@@ -8365,6 +8478,10 @@
8365
8478
  "minItems": 2,
8366
8479
  "type": "array"
8367
8480
  },
8481
+ "description": {
8482
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
8483
+ "type": "string"
8484
+ },
8368
8485
  "exons": {
8369
8486
  "$ref": "#/definitions/Field",
8370
8487
  "description": "The field containing the exons.\n\n**Default:** `\"exons\"`"
@@ -8401,6 +8518,10 @@
8401
8518
  ],
8402
8519
  "description": "The output field name(s) for the flattened field.\n\n**Default:** the input fields."
8403
8520
  },
8521
+ "description": {
8522
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
8523
+ "type": "string"
8524
+ },
8404
8525
  "field": {
8405
8526
  "anyOf": [
8406
8527
  {
@@ -8459,6 +8580,10 @@
8459
8580
  ],
8460
8581
  "description": "The output field name(s) for the flattened field.\n\n**Default:** the input fields."
8461
8582
  },
8583
+ "description": {
8584
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
8585
+ "type": "string"
8586
+ },
8462
8587
  "fields": {
8463
8588
  "anyOf": [
8464
8589
  {
@@ -8500,6 +8625,10 @@
8500
8625
  "minItems": 2,
8501
8626
  "type": "array"
8502
8627
  },
8628
+ "description": {
8629
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
8630
+ "type": "string"
8631
+ },
8503
8632
  "field": {
8504
8633
  "$ref": "#/definitions/Field",
8505
8634
  "description": "The field to flatten.\n\n**Default:** `\"sequence\"`"
@@ -8564,6 +8693,10 @@
8564
8693
  "description": "The (new) field where the computed value is written to",
8565
8694
  "type": "string"
8566
8695
  },
8696
+ "description": {
8697
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
8698
+ "type": "string"
8699
+ },
8567
8700
  "expr": {
8568
8701
  "description": "An expression string",
8569
8702
  "type": "string"
@@ -9152,6 +9285,10 @@
9152
9285
  "description": "**Default:** `\"_uniqueId\"`",
9153
9286
  "type": "string"
9154
9287
  },
9288
+ "description": {
9289
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
9290
+ "type": "string"
9291
+ },
9155
9292
  "type": {
9156
9293
  "const": "identifier",
9157
9294
  "description": "The type of the transform to be applied",
@@ -9272,6 +9409,10 @@
9272
9409
  "InlineData": {
9273
9410
  "additionalProperties": false,
9274
9411
  "properties": {
9412
+ "description": {
9413
+ "description": "A description of the data source. Can be used for documentation and to explain the role of the data in the visualization.",
9414
+ "type": "string"
9415
+ },
9275
9416
  "format": {
9276
9417
  "$ref": "#/definitions/DataFormat",
9277
9418
  "description": "An object that specifies the format for parsing the data."
@@ -9492,6 +9633,10 @@
9492
9633
  "LazyData": {
9493
9634
  "additionalProperties": false,
9494
9635
  "properties": {
9636
+ "description": {
9637
+ "description": "A description of the data source. Can be used for documentation and to explain the role of the lazy data in the visualization.",
9638
+ "type": "string"
9639
+ },
9495
9640
  "lazy": {
9496
9641
  "$ref": "#/definitions/LazyDataParams"
9497
9642
  }
@@ -9521,6 +9666,9 @@
9521
9666
  {
9522
9667
  "$ref": "#/definitions/BamData"
9523
9668
  },
9669
+ {
9670
+ "$ref": "#/definitions/TabixTsvData"
9671
+ },
9524
9672
  {
9525
9673
  "$ref": "#/definitions/Gff3Data"
9526
9674
  },
@@ -9558,6 +9706,10 @@
9558
9706
  "$ref": "#/definitions/Field",
9559
9707
  "description": "The chromosome/contig field"
9560
9708
  },
9709
+ "description": {
9710
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
9711
+ "type": "string"
9712
+ },
9561
9713
  "offset": {
9562
9714
  "anyOf": [
9563
9715
  {
@@ -10316,6 +10468,10 @@
10316
10468
  "minimum": 0,
10317
10469
  "type": "number"
10318
10470
  },
10471
+ "description": {
10472
+ "description": "A description of the encoded expression. Can be used for documentation and to explain the meaning of the channel mapping.",
10473
+ "type": "string"
10474
+ },
10319
10475
  "domainInert": {
10320
10476
  "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`",
10321
10477
  "type": "boolean"
@@ -10396,6 +10552,10 @@
10396
10552
  "description": "The output field where the measured width is written.",
10397
10553
  "type": "string"
10398
10554
  },
10555
+ "description": {
10556
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
10557
+ "type": "string"
10558
+ },
10399
10559
  "field": {
10400
10560
  "$ref": "#/definitions/Field",
10401
10561
  "description": "The field that contains the text to be measured."
@@ -10440,6 +10600,10 @@
10440
10600
  "MergeFacetsParams": {
10441
10601
  "additionalProperties": false,
10442
10602
  "properties": {
10603
+ "description": {
10604
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
10605
+ "type": "string"
10606
+ },
10443
10607
  "type": {
10444
10608
  "const": "mergeFacets",
10445
10609
  "description": "The type of the transform to be applied",
@@ -10467,6 +10631,47 @@
10467
10631
  }
10468
10632
  ]
10469
10633
  },
10634
+ "MetadataDef": {
10635
+ "additionalProperties": false,
10636
+ "properties": {
10637
+ "attributeWidth": {
10638
+ "description": "Default width of metadata columns in pixels.\n\n__Default value:__ `10`",
10639
+ "type": "number"
10640
+ },
10641
+ "labelAngle": {
10642
+ "description": "Angle of metadata attribute labels in degrees.\n\n__Default value:__ `-90`",
10643
+ "type": "number"
10644
+ },
10645
+ "labelFont": {
10646
+ "description": "Font typeface for metadata attribute labels.\n\n__Default value:__ `\"Lato\"`",
10647
+ "type": "string"
10648
+ },
10649
+ "labelFontSize": {
10650
+ "description": "Font size for metadata attribute labels in pixels.\n\n__Default value:__ `11`",
10651
+ "type": "number"
10652
+ },
10653
+ "labelFontStyle": {
10654
+ "$ref": "#/definitions/FontStyle",
10655
+ "description": "Font style for metadata attribute labels.\n\n__Default value:__ `\"normal\"`"
10656
+ },
10657
+ "labelFontWeight": {
10658
+ "$ref": "#/definitions/FontWeight",
10659
+ "description": "Font weight for metadata attribute labels.\n\n__Default value:__ `\"regular\"`"
10660
+ },
10661
+ "sources": {
10662
+ "description": "Metadata source definitions used for startup and on-demand imports.\n\nSource order is significant for startup loading: eager startup imports are applied in declaration order.",
10663
+ "items": {
10664
+ "$ref": "#/definitions/MetadataSourceEntry"
10665
+ },
10666
+ "type": "array"
10667
+ },
10668
+ "spacing": {
10669
+ "description": "Spacing between metadata columns in pixels.\n\n__Default value:__ `1`",
10670
+ "type": "number"
10671
+ }
10672
+ },
10673
+ "type": "object"
10674
+ },
10470
10675
  "MetadataSourceDef": {
10471
10676
  "additionalProperties": false,
10472
10677
  "properties": {
@@ -10483,14 +10688,14 @@
10483
10688
  },
10484
10689
  "backend": {
10485
10690
  "$ref": "#/definitions/MetadataBackendDef",
10486
- "description": "Backend-specific source configuration."
10691
+ "description": "Source backend configuration."
10487
10692
  },
10488
10693
  "description": {
10489
- "description": "Optional short description of what this source contains.\n\nCan be shown in UI and can help automated agents choose the correct source.",
10694
+ "description": "User-facing description of what this source contains.\n\nCan be shown in UI and can help automated agents choose the correct source.",
10490
10695
  "type": "string"
10491
10696
  },
10492
10697
  "excludeColumns": {
10493
- "description": "Column ids that must never be imported from this source.\n\nUseful for excluding identity/helper columns such as `sample` and `displayName`.",
10698
+ "description": "Column ids that must never be imported from this source.\n\nThe data backend always excludes its `sampleIdField` automatically, so this property is only needed for other helper columns such as display labels.",
10494
10699
  "items": {
10495
10700
  "type": "string"
10496
10701
  },
@@ -10501,7 +10706,7 @@
10501
10706
  "type": "string"
10502
10707
  },
10503
10708
  "id": {
10504
- "description": "Stable source identifier used in actions, provenance, and configuration.\n\nShould remain stable across spec revisions if bookmarks/provenance replay must keep working.",
10709
+ "description": "Stable source identifier.\n\nShould remain stable across spec revisions if bookmarks/provenance replay must keep working.",
10505
10710
  "type": "string"
10506
10711
  },
10507
10712
  "initialLoad": {
@@ -10521,10 +10726,10 @@
10521
10726
  "type": "array"
10522
10727
  }
10523
10728
  ],
10524
- "description": "Startup loading behavior.\n\n- `false`: do not load at startup\n- `\"*\"`: load all columns allowed by this source\n- `string[]`: resolve and load only the listed columns\n\nOmitted value uses backend defaults."
10729
+ "description": "Startup loading behavior.\n\n- `false`: do not load at startup\n- `\"*\"`: load all columns allowed by this source\n- `string[]`: resolve and load only the listed columns\n\nIf omitted, data backends load all columns and other backends do not load columns at startup."
10525
10730
  },
10526
10731
  "name": {
10527
- "description": "Optional user-facing label shown in menus and dialogs.\n\nIf omitted, UI falls back to `id`.",
10732
+ "description": "User-facing label shown in menus and dialogs.\n\nIf omitted, UI falls back to `id`.",
10528
10733
  "type": "string"
10529
10734
  }
10530
10735
  },
@@ -10618,6 +10823,10 @@
10618
10823
  "NamedData": {
10619
10824
  "additionalProperties": false,
10620
10825
  "properties": {
10826
+ "description": {
10827
+ "description": "A description of the data source. Can be used for documentation and to explain the role of the data in the visualization.",
10828
+ "type": "string"
10829
+ },
10621
10830
  "format": {
10622
10831
  "$ref": "#/definitions/DataFormat",
10623
10832
  "description": "An object that specifies the format for parsing the data."
@@ -10742,7 +10951,7 @@
10742
10951
  "type": "string"
10743
10952
  },
10744
10953
  "url": {
10745
- "description": "URL to a Parquet data source.\n\nReserved for future use.",
10954
+ "description": "URL to a Parquet metadata source.\n\nReserved for future use.",
10746
10955
  "type": "string"
10747
10956
  }
10748
10957
  },
@@ -10772,6 +10981,10 @@
10772
10981
  "description": "The output field name for the computed lane.\n\n**Default:** `\"lane\"`.",
10773
10982
  "type": "string"
10774
10983
  },
10984
+ "description": {
10985
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
10986
+ "type": "string"
10987
+ },
10775
10988
  "end": {
10776
10989
  "$ref": "#/definitions/Field",
10777
10990
  "description": "The field representing the end coordinate of the segment (exclusive)."
@@ -11459,6 +11672,10 @@
11459
11672
  "minimum": 0,
11460
11673
  "type": "number"
11461
11674
  },
11675
+ "description": {
11676
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
11677
+ "type": "string"
11678
+ },
11462
11679
  "domainInert": {
11463
11680
  "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`",
11464
11681
  "type": "boolean"
@@ -11500,6 +11717,10 @@
11500
11717
  ],
11501
11718
  "description": "A constant value in data domain."
11502
11719
  },
11720
+ "description": {
11721
+ "description": "A description of the encoded datum. Can be used for documentation and to explain the meaning of the channel mapping.",
11722
+ "type": "string"
11723
+ },
11503
11724
  "domainInert": {
11504
11725
  "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`",
11505
11726
  "type": "boolean"
@@ -11541,6 +11762,10 @@
11541
11762
  "minimum": 0,
11542
11763
  "type": "number"
11543
11764
  },
11765
+ "description": {
11766
+ "description": "A description of the encoded expression. Can be used for documentation and to explain the meaning of the channel mapping.",
11767
+ "type": "string"
11768
+ },
11544
11769
  "domainInert": {
11545
11770
  "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`",
11546
11771
  "type": "boolean"
@@ -11601,6 +11826,10 @@
11601
11826
  ],
11602
11827
  "description": "A constant value in data domain."
11603
11828
  },
11829
+ "description": {
11830
+ "description": "A description of the encoded datum. Can be used for documentation and to explain the meaning of the channel mapping.",
11831
+ "type": "string"
11832
+ },
11604
11833
  "domainInert": {
11605
11834
  "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`",
11606
11835
  "type": "boolean"
@@ -11675,6 +11904,10 @@
11675
11904
  "minimum": 0,
11676
11905
  "type": "number"
11677
11906
  },
11907
+ "description": {
11908
+ "description": "A description of the encoded expression. Can be used for documentation and to explain the meaning of the channel mapping.",
11909
+ "type": "string"
11910
+ },
11678
11911
  "domainInert": {
11679
11912
  "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`",
11680
11913
  "type": "boolean"
@@ -11720,6 +11953,10 @@
11720
11953
  "minimum": 0,
11721
11954
  "type": "number"
11722
11955
  },
11956
+ "description": {
11957
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
11958
+ "type": "string"
11959
+ },
11723
11960
  "domainInert": {
11724
11961
  "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`",
11725
11962
  "type": "boolean"
@@ -11789,6 +12026,10 @@
11789
12026
  },
11790
12027
  "type": "array"
11791
12028
  },
12029
+ "description": {
12030
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
12031
+ "type": "string"
12032
+ },
11792
12033
  "fields": {
11793
12034
  "description": "The fields to be projected.",
11794
12035
  "items": {
@@ -12629,6 +12870,10 @@
12629
12870
  ],
12630
12871
  "description": "The new field or an array of fields where the extracted values are written."
12631
12872
  },
12873
+ "description": {
12874
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
12875
+ "type": "string"
12876
+ },
12632
12877
  "field": {
12633
12878
  "$ref": "#/definitions/Field",
12634
12879
  "description": "The source field"
@@ -12690,6 +12935,10 @@
12690
12935
  ],
12691
12936
  "description": "A regular expression that matches to column names. The regex must have one capturing group that is used for extracting the key (e.g., a sample id) from the column name."
12692
12937
  },
12938
+ "description": {
12939
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
12940
+ "type": "string"
12941
+ },
12693
12942
  "skipRegex": {
12694
12943
  "description": "An optional regex that matches to fields that should not be included in the new folded data objects.",
12695
12944
  "type": "string"
@@ -13118,14 +13367,22 @@
13118
13367
  "properties": {
13119
13368
  "barScale": {
13120
13369
  "$ref": "#/definitions/Scale",
13121
- "description": "An optional scale definition for mapping the attribute to the width of a metadata rectangle."
13370
+ "description": "Scale for mapping quantitative values to metadata cell width."
13371
+ },
13372
+ "description": {
13373
+ "description": "User-facing description of the metadata attribute.",
13374
+ "type": "string"
13122
13375
  },
13123
13376
  "scale": {
13124
13377
  "$ref": "#/definitions/Scale",
13125
- "description": "Scale definition for the (default) color channel"
13378
+ "description": "Color scale for metadata cells."
13379
+ },
13380
+ "semanticType": {
13381
+ "$ref": "#/definitions/SampleAttributeSemanticType",
13382
+ "description": "Domain-specific meaning of the metadata attribute."
13126
13383
  },
13127
13384
  "title": {
13128
- "description": "The title of the attribute. Defaults to attribute name.",
13385
+ "description": "Attribute label shown in the metadata header.\n\nIf omitted, the attribute name is used.",
13129
13386
  "type": "string"
13130
13387
  },
13131
13388
  "type": {
@@ -13133,7 +13390,7 @@
13133
13390
  "description": "The attribute type. One of `\"nominal\"`, `\"ordinal\"`, or `\"quantitative\"`."
13134
13391
  },
13135
13392
  "visible": {
13136
- "description": "Whether the attribute is visible by default.",
13393
+ "description": "Whether the attribute is visible when the view opens.",
13137
13394
  "type": "boolean"
13138
13395
  },
13139
13396
  "width": {
@@ -13143,6 +13400,16 @@
13143
13400
  },
13144
13401
  "type": "object"
13145
13402
  },
13403
+ "SampleAttributeSemanticType": {
13404
+ "enum": [
13405
+ "subjectId",
13406
+ "modelSystemId",
13407
+ "timeToEvent",
13408
+ "eventStatus",
13409
+ "category"
13410
+ ],
13411
+ "type": "string"
13412
+ },
13146
13413
  "SampleAttributeType": {
13147
13414
  "enum": [
13148
13415
  "nominal",
@@ -13154,55 +13421,9 @@
13154
13421
  "SampleDef": {
13155
13422
  "additionalProperties": false,
13156
13423
  "properties": {
13157
- "attributeGroupSeparator": {
13158
- "deprecated": "Configure per-source `attributeGroupSeparator` in `metadataSources`.",
13159
- "description": "If attributes form a hierarchy, specify the separator character to split the attribute names into paths.",
13160
- "type": "string"
13161
- },
13162
- "attributeLabelAngle": {
13163
- "description": "Angle to be added to the default label angle (-90).\n\n**Default value:** `0`",
13164
- "type": "number"
13165
- },
13166
- "attributeLabelFont": {
13167
- "description": "The font typeface. GenomeSpy uses [SDF](https://github.com/Chlumsky/msdfgen) versions of [Google Fonts](https://fonts.google.com/). Check their availability at the [A-Frame Fonts](https://github.com/etiennepinchon/aframe-fonts/tree/master/fonts) repository. System fonts are **not** supported.\n\n**Default value:** `\"Lato\"`",
13168
- "type": "string"
13169
- },
13170
- "attributeLabelFontSize": {
13171
- "description": "The font size in pixels.\n\n**Default value:** `11`",
13172
- "type": "number"
13173
- },
13174
- "attributeLabelFontStyle": {
13175
- "$ref": "#/definitions/FontStyle",
13176
- "description": "The font style. Valid values: `\"normal\"` and `\"italic\"`.\n\n**Default value:** `\"normal\"`"
13177
- },
13178
- "attributeLabelFontWeight": {
13179
- "$ref": "#/definitions/FontWeight",
13180
- "description": "The font weight. The following strings and numbers are valid values: `\"thin\"` (`100`), `\"light\"` (`300`), `\"regular\"` (`400`), `\"normal\"` (`400`), `\"medium\"` (`500`), `\"bold\"` (`700`), `\"black\"` (`900`)\n\n**Default value:** `\"regular\"`"
13181
- },
13182
- "attributeSize": {
13183
- "description": "Default size (width) of the metadata attribute columns. Can be configured per attribute using the `attributes` property.\n\n**Default value:** `10`",
13184
- "type": "number"
13185
- },
13186
- "attributeSpacing": {
13187
- "description": "Spacing between attribute columns in pixels.\n\n**Default value:** `1`",
13188
- "type": "number"
13189
- },
13190
- "attributes": {
13191
- "additionalProperties": {
13192
- "$ref": "#/definitions/SampleAttributeDef"
13193
- },
13194
- "deprecated": "Configure per-source `attributes` in `metadataSources`.",
13195
- "description": "Explicitly specify the sample attributes.",
13196
- "type": "object"
13197
- },
13198
- "data": {
13199
- "$ref": "#/definitions/Data",
13200
- "deprecated": "Use `metadataSources` with `backend: \"data\"` instead.",
13201
- "description": "Optional metadata about the samples."
13202
- },
13203
13424
  "identity": {
13204
13425
  "$ref": "#/definitions/SampleIdentityDef",
13205
- "description": "Optional explicit sample identity definition."
13426
+ "description": "Defines the sample ids and optional display names for the sample view.\n\nIf omitted, sample ids are inferred from the `sample` channel in the view data."
13206
13427
  },
13207
13428
  "labelAlign": {
13208
13429
  "$ref": "#/definitions/Align",
@@ -13225,30 +13446,15 @@
13225
13446
  "description": "The font weight. The following strings and numbers are valid values: `\"thin\"` (`100`), `\"light\"` (`300`), `\"regular\"` (`400`), `\"normal\"` (`400`), `\"medium\"` (`500`), `\"bold\"` (`700`), `\"black\"` (`900`)\n\n**Default value:** `\"regular\"`"
13226
13447
  },
13227
13448
  "labelLength": {
13228
- "description": "How much space in pixels to reserve for the labels. If omitted, the width is inferred from the sample labels.",
13449
+ "description": "Width reserved for sample labels in pixels.\n\nIf omitted, the width is inferred from the sample labels.",
13229
13450
  "type": "number"
13230
13451
  },
13231
13452
  "labelTitle": {
13232
- "description": "Text in the label title. If omitted, the title defaults to `\"Sample\"`. Set to `null` to hide the title.",
13453
+ "description": "Title shown above sample labels. If omitted, the title defaults to `\"Sample\"`. Set to `null` to hide the title.",
13233
13454
  "type": [
13234
13455
  "string",
13235
13456
  "null"
13236
13457
  ]
13237
- },
13238
- "labelTitleText": {
13239
- "deprecated": "Use `labelTitle` instead.",
13240
- "description": "Legacy alias for `labelTitle`.",
13241
- "type": [
13242
- "string",
13243
- "null"
13244
- ]
13245
- },
13246
- "metadataSources": {
13247
- "description": "Metadata source definitions used for startup and on-demand imports.\n\nSource order is significant for startup loading: eager startup imports are applied in declaration order.",
13248
- "items": {
13249
- "$ref": "#/definitions/MetadataSourceEntry"
13250
- },
13251
- "type": "array"
13252
13458
  }
13253
13459
  },
13254
13460
  "type": "object"
@@ -13258,7 +13464,7 @@
13258
13464
  "properties": {
13259
13465
  "data": {
13260
13466
  "$ref": "#/definitions/Data",
13261
- "description": "Data source that defines the canonical sample set for the view.\n\nThe source must contain one row per sample and is used to resolve sample ids and optional display names before metadata imports are applied."
13467
+ "description": "Data source that defines the sample set for the view.\n\nThe source must contain one row per sample. Metadata imports are matched against these sample ids."
13262
13468
  },
13263
13469
  "displayNameField": {
13264
13470
  "description": "Field containing a user-visible sample label.\n\nIf omitted, sample ids are used.",
@@ -13277,6 +13483,10 @@
13277
13483
  "SampleParams": {
13278
13484
  "additionalProperties": false,
13279
13485
  "properties": {
13486
+ "description": {
13487
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
13488
+ "type": "string"
13489
+ },
13280
13490
  "size": {
13281
13491
  "description": "The maximum sample size.\n\n**Default:** `500`",
13282
13492
  "type": "number"
@@ -13370,6 +13580,10 @@
13370
13580
  ],
13371
13581
  "description": "Height of the view. If a number, it is interpreted as pixels. Check [child sizing](https://genomespy.app/docs/grammar/composition/concat/#child-sizing) for details.\n\n**Default value:** `\"container\"`"
13372
13582
  },
13583
+ "metadata": {
13584
+ "$ref": "#/definitions/MetadataDef",
13585
+ "description": "Metadata sources and metadata matrix layout."
13586
+ },
13373
13587
  "name": {
13374
13588
  "description": "An explicit name used to address the view. It is recommended to keep names unique among siblings. In the App (where view state is bookmarkable), the name must be unique within its import scope for views with configurable visibility, etc.",
13375
13589
  "type": "string"
@@ -13554,7 +13768,7 @@
13554
13768
  },
13555
13769
  "samples": {
13556
13770
  "$ref": "#/definitions/SampleDef",
13557
- "description": "Sample metadata definition. If the object is empty, the sample identifiers will be inferred from the data."
13771
+ "description": "Sample identity and label configuration.\n\nIf `identity` is omitted, sample identifiers are inferred from the data."
13558
13772
  },
13559
13773
  "spec": {
13560
13774
  "anyOf": [
@@ -13568,6 +13782,7 @@
13568
13782
  "description": "The view specification to be repeated for each sample."
13569
13783
  },
13570
13784
  "stickySummaries": {
13785
+ "description": "Keep summary tracks visible while scrolling samples.\n\n__Default value:__ `true`",
13571
13786
  "type": "boolean"
13572
13787
  },
13573
13788
  "templates": {
@@ -15298,6 +15513,10 @@
15298
15513
  "$ref": "#/definitions/FieldName",
15299
15514
  "description": "The field having the chromosome or contig."
15300
15515
  },
15516
+ "description": {
15517
+ "description": "A description of the encoded position. Can be used for documentation and to explain the meaning of the channel mapping.",
15518
+ "type": "string"
15519
+ },
15301
15520
  "domainInert": {
15302
15521
  "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`",
15303
15522
  "type": "boolean"
@@ -15365,6 +15584,10 @@
15365
15584
  "SelectionFilterParams": {
15366
15585
  "additionalProperties": false,
15367
15586
  "properties": {
15587
+ "description": {
15588
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
15589
+ "type": "string"
15590
+ },
15368
15591
  "empty": {
15369
15592
  "description": "If true, the filter retains all data objects when the selection is empty.\n\n**Default:** `true`",
15370
15593
  "type": "boolean"
@@ -15431,6 +15654,10 @@
15431
15654
  "SelectionParameter": {
15432
15655
  "additionalProperties": false,
15433
15656
  "properties": {
15657
+ "description": {
15658
+ "description": "A description of the parameter. Can be used for documentation and to explain the meaning of the control or selection.",
15659
+ "type": "string"
15660
+ },
15434
15661
  "name": {
15435
15662
  "description": "A unique name for the variable parameter. Parameter names should be valid JavaScript identifiers: they should contain only alphanumeric characters (or \"$\", or \"_\") and may not start with a digit. Reserved keywords that may not be used as parameter names are: \"datum\".",
15436
15663
  "type": "string"
@@ -15672,6 +15899,10 @@
15672
15899
  "SequenceGenerator": {
15673
15900
  "additionalProperties": false,
15674
15901
  "properties": {
15902
+ "description": {
15903
+ "description": "A description of the data source. Can be used for documentation and to explain the role of the generated data in the visualization.",
15904
+ "type": "string"
15905
+ },
15675
15906
  "name": {
15676
15907
  "description": "Provide a placeholder name and bind data at runtime.",
15677
15908
  "type": "string"
@@ -15782,6 +16013,10 @@
15782
16013
  "description": "Cardinality, e.g., the number if distinct bases or amino acids. Used for information content calculation when the offset is `\"information\"`.\n\n**Default:** `4`",
15783
16014
  "type": "number"
15784
16015
  },
16016
+ "description": {
16017
+ "description": "A description of the transform step. Can be used for documentation and agent context.",
16018
+ "type": "string"
16019
+ },
15785
16020
  "field": {
15786
16021
  "$ref": "#/definitions/Field",
15787
16022
  "description": "The field to stack. If no field is defined, a constant value of one is assumed."
@@ -15851,6 +16086,10 @@
15851
16086
  ],
15852
16087
  "description": "A constant value in data domain."
15853
16088
  },
16089
+ "description": {
16090
+ "description": "A description of the encoded datum. Can be used for documentation and to explain the meaning of the channel mapping.",
16091
+ "type": "string"
16092
+ },
15854
16093
  "format": {
15855
16094
  "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 [format documentation](https://vega.github.io/vega-lite/docs/format.html) for more examples.",
15856
16095
  "type": "string"
@@ -15888,6 +16127,10 @@
15888
16127
  {
15889
16128
  "additionalProperties": false,
15890
16129
  "properties": {
16130
+ "description": {
16131
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
16132
+ "type": "string"
16133
+ },
15891
16134
  "domainInert": {
15892
16135
  "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`",
15893
16136
  "type": "boolean"
@@ -15913,6 +16156,10 @@
15913
16156
  {
15914
16157
  "additionalProperties": false,
15915
16158
  "properties": {
16159
+ "description": {
16160
+ "description": "A description of the encoded field. Can be used for documentation and to explain the meaning of the channel mapping.",
16161
+ "type": "string"
16162
+ },
15916
16163
  "field": {
15917
16164
  "description": "__Required.__ A string defining the name of the field from which to pull a data value or an object defining iterated values from the [`repeat`](https://vega.github.io/vega-lite/docs/repeat.html) operator.\n\n__See also:__ [`field`](https://vega.github.io/vega-lite/docs/field.html) 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 [field documentation](https://vega.github.io/vega-lite/docs/field.html). 2) `field` is not required if `aggregate` is `count`.",
15918
16165
  "type": "string"
@@ -17235,6 +17482,91 @@
17235
17482
  },
17236
17483
  "type": "object"
17237
17484
  },
17485
+ "TabixTsvData": {
17486
+ "additionalProperties": false,
17487
+ "properties": {
17488
+ "addChrPrefix": {
17489
+ "description": "Add a `chr` (boolean) or custom (string) prefix to the chromosome names in the Tabix file.\n\n__Default value:__ `false`",
17490
+ "type": [
17491
+ "boolean",
17492
+ "string"
17493
+ ]
17494
+ },
17495
+ "channel": {
17496
+ "$ref": "#/definitions/PrimaryPositionalChannel",
17497
+ "description": "Which channel's scale domain to monitor.\n\n__Default value:__ `\"x\"`"
17498
+ },
17499
+ "columns": {
17500
+ "description": "Ordered list of field names for headerless tabix TSV input. If omitted, the source tries to read a commented header line from the tabix file header or the first row of a plain TSV header.",
17501
+ "items": {
17502
+ "type": "string"
17503
+ },
17504
+ "type": "array"
17505
+ },
17506
+ "debounce": {
17507
+ "anyOf": [
17508
+ {
17509
+ "type": "number"
17510
+ },
17511
+ {
17512
+ "$ref": "#/definitions/ExprRef"
17513
+ }
17514
+ ],
17515
+ "description": "Debounce time for data updates, in milliseconds. Debouncing prevents excessive data updates when the user is zooming or panning around.\n\n__Default value:__ `200`"
17516
+ },
17517
+ "debounceDomainChange": {
17518
+ "anyOf": [
17519
+ {
17520
+ "type": "number"
17521
+ },
17522
+ {
17523
+ "$ref": "#/definitions/ExprRef"
17524
+ }
17525
+ ],
17526
+ "description": "Debounce time for scale-domain driven data updates, in milliseconds.\n\n__Default value:__ `200`"
17527
+ },
17528
+ "debounceMode": {
17529
+ "description": "The debounce mode for data updates. If set to `\"domain\"`, domain change events (panning and zooming) will be debounced. If set to `\"window\"`, the data fetches initiated by the changes to the visible window (or tile) will be debounced. If your data is small, the `\"window\"` is better as it will start fetching data while the user is still panning around, resulting in a shorter perceived latency.\n\n__Default value:__ `\"window\"`",
17530
+ "enum": [
17531
+ "domain",
17532
+ "window"
17533
+ ],
17534
+ "type": "string"
17535
+ },
17536
+ "indexUrl": {
17537
+ "description": "Url of the tabix index file.\n\n__Default value:__ `url` + `\".tbi\"`.",
17538
+ "type": "string"
17539
+ },
17540
+ "parse": {
17541
+ "anyOf": [
17542
+ {
17543
+ "$ref": "#/definitions/Parse"
17544
+ },
17545
+ {
17546
+ "type": "null"
17547
+ }
17548
+ ],
17549
+ "description": "Optional type parsing for TSV fields. When omitted, field types are inferred automatically. Set to `null` to disable spec-based type inference and rely on data inference, or provide a field-to-type map to override selected columns.\n\n__Default value:__ `\"auto\"`"
17550
+ },
17551
+ "type": {
17552
+ "const": "tabix",
17553
+ "type": "string"
17554
+ },
17555
+ "url": {
17556
+ "description": "Url of the bgzip compressed file.",
17557
+ "type": "string"
17558
+ },
17559
+ "windowSize": {
17560
+ "description": "Size of each chunk when fetching the Tabix file. Data is only fetched when the length of the visible domain smaller than the window size.\n\n__Default value:__ `30000000`",
17561
+ "type": "number"
17562
+ }
17563
+ },
17564
+ "required": [
17565
+ "type",
17566
+ "url"
17567
+ ],
17568
+ "type": "object"
17569
+ },
17238
17570
  "TemplateImport": {
17239
17571
  "additionalProperties": false,
17240
17572
  "properties": {
@@ -18527,6 +18859,10 @@
18527
18859
  "UrlData": {
18528
18860
  "additionalProperties": false,
18529
18861
  "properties": {
18862
+ "description": {
18863
+ "description": "A description of the data source. Can be used for documentation and to explain the role of the data in the visualization.",
18864
+ "type": "string"
18865
+ },
18530
18866
  "format": {
18531
18867
  "$ref": "#/definitions/DataFormat",
18532
18868
  "description": "An object that specifies the format for parsing the data."
@@ -18631,6 +18967,10 @@
18631
18967
  "ValueDef<number>": {
18632
18968
  "additionalProperties": false,
18633
18969
  "properties": {
18970
+ "description": {
18971
+ "description": "A description of the encoded value. Can be used for documentation and to explain the meaning of the channel mapping.",
18972
+ "type": "string"
18973
+ },
18634
18974
  "title": {
18635
18975
  "description": "A title for the field. If `null`, the title will be removed.",
18636
18976
  "type": [
@@ -18658,6 +18998,10 @@
18658
18998
  "ValueDef<string>": {
18659
18999
  "additionalProperties": false,
18660
19000
  "properties": {
19001
+ "description": {
19002
+ "description": "A description of the encoded value. Can be used for documentation and to explain the meaning of the channel mapping.",
19003
+ "type": "string"
19004
+ },
18661
19005
  "title": {
18662
19006
  "description": "A title for the field. If `null`, the title will be removed.",
18663
19007
  "type": [
@@ -18709,6 +19053,10 @@
18709
19053
  ],
18710
19054
  "description": "A field definition or one or more value definition(s) with a parameter predicate."
18711
19055
  },
19056
+ "description": {
19057
+ "description": "A description of the encoded value. Can be used for documentation and to explain the meaning of the channel mapping.",
19058
+ "type": "string"
19059
+ },
18712
19060
  "title": {
18713
19061
  "description": "A title for the field. If `null`, the title will be removed.",
18714
19062
  "type": [
@@ -18760,6 +19108,10 @@
18760
19108
  ],
18761
19109
  "description": "A field definition or one or more value definition(s) with a parameter predicate."
18762
19110
  },
19111
+ "description": {
19112
+ "description": "A description of the encoded value. Can be used for documentation and to explain the meaning of the channel mapping.",
19113
+ "type": "string"
19114
+ },
18763
19115
  "title": {
18764
19116
  "description": "A title for the field. If `null`, the title will be removed.",
18765
19117
  "type": [
@@ -18811,6 +19163,10 @@
18811
19163
  ],
18812
19164
  "description": "A field definition or one or more value definition(s) with a parameter predicate."
18813
19165
  },
19166
+ "description": {
19167
+ "description": "A description of the encoded value. Can be used for documentation and to explain the meaning of the channel mapping.",
19168
+ "type": "string"
19169
+ },
18814
19170
  "title": {
18815
19171
  "description": "A title for the field. If `null`, the title will be removed.",
18816
19172
  "type": [
@@ -18839,6 +19195,10 @@
18839
19195
  "$ref": "#/definitions/Binding",
18840
19196
  "description": "Binds the parameter to an external input element such as a slider, selection list or radio button group."
18841
19197
  },
19198
+ "description": {
19199
+ "description": "A description of the parameter. Can be used for documentation and to explain the meaning of the control or selection.",
19200
+ "type": "string"
19201
+ },
18842
19202
  "expr": {
18843
19203
  "description": "An expression for the value of the parameter. This expression may include other parameters, in which case the parameter will automatically update in response to upstream parameter changes.",
18844
19204
  "type": "string"
@@ -19147,7 +19507,7 @@
19147
19507
  "type": "string"
19148
19508
  },
19149
19509
  "identifiers": {
19150
- "description": "Optional identifier arrays used to resolve user queries to columns.\n\nIf omitted, only primary column ids are used for lookup.",
19510
+ "description": "Identifier arrays used to resolve user queries to columns.\n\nIf omitted, only primary column ids are used for lookup.",
19151
19511
  "items": {
19152
19512
  "$ref": "#/definitions/ColumnIdentifierField"
19153
19513
  },
@@ -19155,7 +19515,7 @@
19155
19515
  },
19156
19516
  "matrix": {
19157
19517
  "$ref": "#/definitions/ZarrMatrixLayoutDef",
19158
- "description": "Optional path overrides for the expression-style matrix layout."
19518
+ "description": "Path overrides for the matrix layout."
19159
19519
  },
19160
19520
  "url": {
19161
19521
  "description": "URL to the root of the Zarr store.",
@@ -19180,7 +19540,7 @@
19180
19540
  "type": "string"
19181
19541
  },
19182
19542
  "valuesPath": {
19183
- "description": "Path to matrix values (sample rows x metadata columns).\n\n__Default value:__ `\"X\"`",
19543
+ "description": "Path to matrix values, arranged as sample rows by metadata columns.\n\n__Default value:__ `\"X\"`",
19184
19544
  "type": "string"
19185
19545
  }
19186
19546
  },