@platforma-open/milaboratories.repertoire-mutation-heatmap.block 1.1.7 → 1.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -23,7 +23,8 @@ function makeLandscapeChartState(title, currentTab) {
23
23
  },
24
24
  axisY: {
25
25
  hideAxisLabels: false,
26
- cellSize: 20
26
+ cellSize: 20,
27
+ annotationTitlePosition: "bottom"
27
28
  }
28
29
  }
29
30
  };
@@ -163,6 +164,22 @@ function withParentOnXAxis(state) {
163
164
  }
164
165
  };
165
166
  }
167
+ /**
168
+ * Puts the Y annotation track titles at the bottom on a saved chart. Axes settings are seeded once,
169
+ * when a chart is created, so a chart saved before the Y-axis tracks keeps the default (top).
170
+ */
171
+ function withYAnnotationTitleAtBottom(state) {
172
+ return {
173
+ ...state,
174
+ axesSettings: {
175
+ ...state.axesSettings,
176
+ axisY: {
177
+ ...state.axesSettings?.axisY,
178
+ annotationTitlePosition: "bottom"
179
+ }
180
+ }
181
+ };
182
+ }
166
183
  function mapChartStates(data, rewrite) {
167
184
  return {
168
185
  compositionHeatmapState: rewrite(data.compositionHeatmapState),
@@ -171,14 +188,14 @@ function mapChartStates(data, rewrite) {
171
188
  };
172
189
  }
173
190
  //#endregion
174
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/plugin_handle.js
191
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/plugin_handle.js
175
192
  const PLUGIN_OUTPUT_PREFIX = "plugin-output#";
176
193
  /** Construct the output key for a plugin output in the block outputs map. */
177
194
  function pluginOutputKey(handle, outputKey) {
178
195
  return `${PLUGIN_OUTPUT_PREFIX}${handle}#${outputKey}`;
179
196
  }
180
197
  //#endregion
181
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/block_storage.js
198
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/block_storage.js
182
199
  /**
183
200
  * Discriminator key for BlockStorage format detection.
184
201
  * This unique hash-based key identifies data as BlockStorage vs legacy formats.
@@ -3995,7 +4012,7 @@ objectType({
3995
4012
  content: stringType()
3996
4013
  });
3997
4014
  //#endregion
3998
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/bmodel/block_kind_ref.js
4015
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/bmodel/block_kind_ref.js
3999
4016
  /**
4000
4017
  * Compose a {@link BlockKindReference} from a kind's `name`/`version`.
4001
4018
  *
@@ -4011,7 +4028,7 @@ objectType({
4011
4028
  to: numberType().min(1)
4012
4029
  });
4013
4030
  //#endregion
4014
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/util.js
4031
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/util.js
4015
4032
  function assertNever(x) {
4016
4033
  throw new Error("Unexpected object: " + x);
4017
4034
  }
@@ -4023,7 +4040,7 @@ function uniqueBy(array, makeId) {
4023
4040
  return [...new Map(array.map((e) => [makeId(e), e])).values()];
4024
4041
  }
4025
4042
  //#endregion
4026
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/data_info.js
4043
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/data_info.js
4027
4044
  /**
4028
4045
  * Type guard function that checks if the given value is a valid DataInfo.
4029
4046
  *
@@ -4212,7 +4229,7 @@ function entriesToDataInfo(dataInfoEntries) {
4212
4229
  }
4213
4230
  }
4214
4231
  //#endregion
4215
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/errors.js
4232
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/errors.js
4216
4233
  var ServiceError = class extends Error {
4217
4234
  name = "ServiceError";
4218
4235
  };
@@ -4236,7 +4253,7 @@ function ensureError(value) {
4236
4253
  return new Error(stringifyValue(value));
4237
4254
  }
4238
4255
  //#endregion
4239
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/json.js
4256
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/json.js
4240
4257
  var import_canonicalize = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
4241
4258
  module.exports = function serialize(object) {
4242
4259
  if (typeof object === "number" && isNaN(object)) throw new Error("NaN is not allowed");
@@ -4269,7 +4286,7 @@ function parseJsonSafely(value, fallback) {
4269
4286
  }
4270
4287
  }
4271
4288
  //#endregion
4272
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js
4289
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js
4273
4290
  function readMetadata(metadata, key) {
4274
4291
  return metadata?.[key];
4275
4292
  }
@@ -4597,7 +4614,7 @@ function matchAxisId(query, target) {
4597
4614
  return query.name === target.name && matchDomain$1(query.domain, target.domain) && matchDomain$1(query.contextDomain, target.contextDomain);
4598
4615
  }
4599
4616
  //#endregion
4600
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/query/utils.js
4617
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/query/utils.js
4601
4618
  const BOOLEAN_TYPES = /* @__PURE__ */ new Set([
4602
4619
  "numericComparison",
4603
4620
  "stringEquals",
@@ -4702,7 +4719,7 @@ function collectSpecQueryColumns(query) {
4702
4719
  return result;
4703
4720
  }
4704
4721
  //#endregion
4705
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/table_calculate.js
4722
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/table_calculate.js
4706
4723
  function mapPTableDef(def, cb) {
4707
4724
  return {
4708
4725
  ...def,
@@ -4745,7 +4762,7 @@ function mapJoinEntry(entry, cb) {
4745
4762
  }
4746
4763
  }
4747
4764
  //#endregion
4748
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/table_common.js
4765
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/table_common.js
4749
4766
  function getPTableColumnId(spec) {
4750
4767
  switch (spec.type) {
4751
4768
  case "axis": return {
@@ -4759,7 +4776,7 @@ function getPTableColumnId(spec) {
4759
4776
  }
4760
4777
  }
4761
4778
  //#endregion
4762
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/filtered_column.js
4779
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/filtered_column.js
4763
4780
  function stringifyColumnFilteredId(key) {
4764
4781
  return canonicalizeJson(createColumnFilteredKey(key));
4765
4782
  }
@@ -4792,7 +4809,7 @@ function applyAxisFilters(spec, axisFilters) {
4792
4809
  };
4793
4810
  }
4794
4811
  //#endregion
4795
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/pool/spec.js
4812
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/pool/spec.js
4796
4813
  function isPObjectId(value) {
4797
4814
  if (typeof value !== "string") return false;
4798
4815
  return isPObjectKey(parseJsonSafely(value));
@@ -4914,7 +4931,7 @@ function throwError(v) {
4914
4931
  else throw v;
4915
4932
  }
4916
4933
  //#endregion
4917
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/discovered_column.js
4934
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/discovered_column.js
4918
4935
  function isColumnDiscoveredKey(obj) {
4919
4936
  return typeof obj === "object" && obj !== null && "__isDiscovered" in obj;
4920
4937
  }
@@ -5194,7 +5211,7 @@ function isString(value) {
5194
5211
  return typeof value === "string";
5195
5212
  }
5196
5213
  //#endregion
5197
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/ids.js
5214
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/ids.js
5198
5215
  /**
5199
5216
  * Canonically serializes a column key to a branded string id. Accepts both
5200
5217
  * the new {@link ColumnUniversalKey} and the deprecated {@link UniversalPColumnId}
@@ -5368,7 +5385,7 @@ function extractPObjectId(id) {
5368
5385
  throw new Error(`extractPObjectId: unrecognized column id structure: ${JSON.stringify(id)}`);
5369
5386
  }
5370
5387
  //#endregion
5371
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/overridden.js
5388
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/overridden.js
5372
5389
  function isColumnOverriddenKey(obj) {
5373
5390
  return typeof obj === "object" && obj !== null && "__isOverridden" in obj;
5374
5391
  }
@@ -5490,7 +5507,7 @@ function mergeRecord(a, b) {
5490
5507
  };
5491
5508
  }
5492
5509
  //#endregion
5493
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/anchored.js
5510
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/anchored.js
5494
5511
  function axisKey(axis) {
5495
5512
  return (0, import_canonicalize.default)(getAxisId(axis));
5496
5513
  }
@@ -5736,7 +5753,7 @@ function isAnchorAxisRef(value) {
5736
5753
  return typeof value === "object" && "anchor" in value;
5737
5754
  }
5738
5755
  //#endregion
5739
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/selectors.js
5756
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/selectors.js
5740
5757
  /**
5741
5758
  * Determines if an axis ID matches an axis selector.
5742
5759
  *
@@ -5817,7 +5834,7 @@ function legacyColumnSelectorsToPredicate(predicateOrSelectors) {
5817
5834
  else return (spec) => isPColumnSpec(spec) && matchPColumn(spec, predicateOrSelectors);
5818
5835
  }
5819
5836
  //#endregion
5820
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/native_id.js
5837
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/native_id.js
5821
5838
  function deriveNativeId(spec) {
5822
5839
  const result = {
5823
5840
  kind: spec.kind,
@@ -5829,7 +5846,7 @@ function deriveNativeId(spec) {
5829
5846
  return (0, import_canonicalize.default)(result);
5830
5847
  }
5831
5848
  //#endregion
5832
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/linker_columns.js
5849
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/linker_columns.js
5833
5850
  var LinkerMap = class LinkerMap {
5834
5851
  /** Graph of linkers connected by axes (single or grouped by parents) */
5835
5852
  data;
@@ -6006,7 +6023,7 @@ var LinkerMap = class LinkerMap {
6006
6023
  }
6007
6024
  };
6008
6025
  //#endregion
6009
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/flags/block_flags.js
6026
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/flags/block_flags.js
6010
6027
  /**
6011
6028
  * Required PFrames version. Bump this in lockstep with the `@milaboratories/pframes-rs-*`
6012
6029
  * version in `pnpm-workspace.yaml` so blocks built against the new SDK refuse to load on
@@ -6049,7 +6066,7 @@ function withEnrichments(ref, requireEnrichments = true) {
6049
6066
  }
6050
6067
  }
6051
6068
  //#endregion
6052
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/value_or_error.js
6069
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/value_or_error.js
6053
6070
  function mapValueInVOE(voe, cb) {
6054
6071
  return voe.ok ? {
6055
6072
  ok: true,
@@ -6057,7 +6074,7 @@ function mapValueInVOE(voe, cb) {
6057
6074
  } : voe;
6058
6075
  }
6059
6076
  //#endregion
6060
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/resource_types.js
6077
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/resource_types.js
6061
6078
  /** Well-known resource type names used across the platform. */
6062
6079
  const ResourceTypeName = {
6063
6080
  StreamManager: "StreamManager",
@@ -6073,6 +6090,7 @@ const ResourceTypeName = {
6073
6090
  BlobMap: "BlobMap",
6074
6091
  BResolveSingle: "BResolveSingle",
6075
6092
  BResolveSingleNoResult: "BResolveSingleNoResult",
6093
+ BResolveChoice: "BResolveChoice",
6076
6094
  BQueryResult: "BQueryResult",
6077
6095
  TengoTemplate: "TengoTemplate",
6078
6096
  TengoLib: "TengoLib",
@@ -6084,9 +6102,13 @@ const ResourceTypeName = {
6084
6102
  JsonString: "json/string",
6085
6103
  JsonArray: "json/array",
6086
6104
  JsonNumber: "json/number",
6105
+ JsonBool: "json/bool",
6106
+ JsonNull: "json/null",
6107
+ JsonErrorTrace: "json/errorTrace",
6087
6108
  BContextEnd: "BContextEnd",
6088
6109
  FrontendFromUrl: "Frontend/FromUrl",
6089
6110
  FrontendFromFolder: "Frontend/FromFolder",
6111
+ FrontendFromLocalTgz: "Frontend/FromLocalTgz",
6090
6112
  BObjectSpec: "BObjectSpec",
6091
6113
  Blob: "Blob",
6092
6114
  Null: "Null",
@@ -6101,7 +6123,7 @@ const ResourceTypeName = {
6101
6123
  SharedEnvelope: "SharedEnvelope"
6102
6124
  };
6103
6125
  //#endregion
6104
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/services/service_types.js
6126
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/services/service_types.js
6105
6127
  const SERVICE_ID_PATTERN = /^[a-zA-Z][a-zA-Z0-9]*$/;
6106
6128
  const { service, isNodeService, isWasmService, isMainService, getServiceKind, getServiceModelMethods, getServiceUiMethods } = (() => {
6107
6129
  const typeMap = /* @__PURE__ */ new Map();
@@ -6140,7 +6162,7 @@ const { service, isNodeService, isWasmService, isMainService, getServiceKind, ge
6140
6162
  };
6141
6163
  })();
6142
6164
  //#endregion
6143
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/services/service_declarations.js
6165
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/services/service_declarations.js
6144
6166
  const Services = {
6145
6167
  PFrameSpec: service()({
6146
6168
  type: "wasm",
@@ -6234,7 +6256,7 @@ function resolveRequiredServices(flags) {
6234
6256
  }
6235
6257
  Object.fromEntries(Object.keys(Services).map((key) => [`requires${key}`, true]));
6236
6258
  //#endregion
6237
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/services/service_injectors.js
6259
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/services/service_injectors.js
6238
6260
  function buildMethodMap(pick) {
6239
6261
  const result = {};
6240
6262
  for (const id of Object.values(Services)) result[id] = [...pick(id)];
@@ -6243,7 +6265,7 @@ function buildMethodMap(pick) {
6243
6265
  buildMethodMap(getServiceUiMethods);
6244
6266
  buildMethodMap(getServiceModelMethods);
6245
6267
  //#endregion
6246
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/columns/accessor_traversal.js
6268
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/columns/accessor_traversal.js
6247
6269
  /** Resource types that hold column collections — DFS stops here and collects. */
6248
6270
  const COLLECT_TYPES = [ResourceTypeName.PFrame];
6249
6271
  /** Resource types DFS descends through when looking for PFrames. */
@@ -6351,7 +6373,7 @@ function indexPoolBlock(block) {
6351
6373
  return result;
6352
6374
  }
6353
6375
  //#endregion
6354
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/columns/column_registry.js
6376
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/columns/column_registry.js
6355
6377
  /**
6356
6378
  * Id-index over a set of {@link ColumnEntriesProvider}s. Sole job:
6357
6379
  * {@link PObjectId} → {@link LeafEntry}. Generic over the accessor flavour, so
@@ -6388,7 +6410,7 @@ var ColumnRegistry = class {
6388
6410
  }
6389
6411
  };
6390
6412
  //#endregion
6391
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/columns/dedup.js
6413
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/columns/dedup.js
6392
6414
  /**
6393
6415
  * Two-track dedup over an item stream keyed by `ColumnUniversalId`:
6394
6416
  *
@@ -6429,7 +6451,7 @@ function dedupColumns(items, getId, getSpec) {
6429
6451
  return out;
6430
6452
  }
6431
6453
  //#endregion
6432
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/columns/providers.js
6454
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/columns/providers.js
6433
6455
  /**
6434
6456
  * Generic entries provider over a single accessor root. Walks `<root>` once
6435
6457
  * from the supplied `rootPath`, builds an id → {@link LeafEntry} map and
@@ -6486,7 +6508,7 @@ var ResultPoolEntriesProvider = class {
6486
6508
  }
6487
6509
  };
6488
6510
  //#endregion
6489
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/template/template_ref_form.js
6511
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/template/template_ref_form.js
6490
6512
  /**
6491
6513
  * Whether `value` is a reference in the readable spelling.
6492
6514
  *
@@ -6555,7 +6577,7 @@ function expandTemplatePlRef(ref) {
6555
6577
  };
6556
6578
  }
6557
6579
  //#endregion
6558
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/template/template_relocate.js
6580
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.52.0/node_modules/@milaboratories/pl-model-common/dist/template/template_relocate.js
6559
6581
  /**
6560
6582
  * Point every column identifier in a block's params at the blocks of the project being built.
6561
6583
  *
@@ -6615,7 +6637,7 @@ function relocateBlockIds(params, blockIds) {
6615
6637
  return walk(params);
6616
6638
  }
6617
6639
  //#endregion
6618
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/block_migrations.js
6640
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/block_migrations.js
6619
6641
  /** Create a DataVersioned wrapper with correct shape */
6620
6642
  function makeVersionedData(version, data) {
6621
6643
  return {
@@ -7193,7 +7215,7 @@ var DataModel = class DataModel {
7193
7215
  }
7194
7216
  };
7195
7217
  //#endregion
7196
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/internal.js
7218
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/internal.js
7197
7219
  /** Utility code helping to identify whether the code is running in actual UI environment */
7198
7220
  function isInUI() {
7199
7221
  return typeof globalThis.getPlatforma !== "undefined" || typeof globalThis.platforma !== "undefined";
@@ -7263,7 +7285,7 @@ function registerFutureAwait(handle, onResolve) {
7263
7285
  futureResolves.get(handle).push(onResolve);
7264
7286
  }
7265
7287
  //#endregion
7266
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/block_storage_facade.js
7288
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/block_storage_facade.js
7267
7289
  /**
7268
7290
  * All facade callback names as constants.
7269
7291
  * These are the source of truth - the interface is derived from these.
@@ -7301,7 +7323,7 @@ function registerFacadeCallbacks(callbacks) {
7301
7323
  for (const key of Object.values(BlockStorageFacadeCallbacks)) tryRegisterCallback(key, callbacks[key]);
7302
7324
  }
7303
7325
  //#endregion
7304
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/services/block_services.js
7326
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/services/block_services.js
7305
7327
  /**
7306
7328
  * Services required by all V3 blocks by default.
7307
7329
  * Edit this when a new service should be available to all blocks.
@@ -7317,7 +7339,7 @@ const BLOCK_SERVICE_FLAGS = {
7317
7339
  };
7318
7340
  resolveRequiredServices(BLOCK_SERVICE_FLAGS);
7319
7341
  //#endregion
7320
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/render/future.js
7342
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/render/future.js
7321
7343
  var FutureRef = class FutureRef {
7322
7344
  handle;
7323
7345
  postProcess;
@@ -7345,7 +7367,7 @@ var FutureRef = class FutureRef {
7345
7367
  }
7346
7368
  };
7347
7369
  //#endregion
7348
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/render/accessor.js
7370
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/render/accessor.js
7349
7371
  function ifDef(value, cb) {
7350
7372
  return value === void 0 ? void 0 : cb(value);
7351
7373
  }
@@ -7595,11 +7617,11 @@ var TreeNodeAccessor = class TreeNodeAccessor {
7595
7617
  }
7596
7618
  };
7597
7619
  //#endregion
7598
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/render/internal.js
7620
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/render/internal.js
7599
7621
  const MainAccessorName = "main";
7600
7622
  const StagingAccessorName = "staging";
7601
7623
  //#endregion
7602
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/render/util/axis_filtering.js
7624
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/render/util/axis_filtering.js
7603
7625
  function filterDataInfoEntries(dataInfoEntries, axisFilters) {
7604
7626
  const sortedFilters = [...axisFilters].sort((a, b) => b[0] - a[0]);
7605
7627
  const { type } = dataInfoEntries;
@@ -7663,7 +7685,7 @@ function filterDataInfoEntries(dataInfoEntries, axisFilters) {
7663
7685
  }
7664
7686
  }
7665
7687
  //#endregion
7666
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/labels/linked_column_postfix.js
7688
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/labels/linked_column_postfix.js
7667
7689
  /**
7668
7690
  * Structural postfix derivation for linked columns (phase 2 of `deriveDistinctLabels`).
7669
7691
  *
@@ -7846,7 +7868,7 @@ function derivePostfixes(entries, format = defaultLinkerFormatter) {
7846
7868
  });
7847
7869
  }
7848
7870
  //#endregion
7849
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/labels/derive_distinct_labels.js
7871
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/labels/derive_distinct_labels.js
7850
7872
  const DISTANCE_PENALTY = .001;
7851
7873
  const LABEL_TYPE = "__LABEL__";
7852
7874
  const LABEL_TYPE_FULL = "__LABEL__@1";
@@ -8134,7 +8156,7 @@ function repairBareByPresence(labels, minimized, records, stats, forcedSet, forc
8134
8156
  return patched;
8135
8157
  }
8136
8158
  //#endregion
8137
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/render/util/label.js
8159
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/render/util/label.js
8138
8160
  /** @deprecated Use deriveDistinctLabels */
8139
8161
  function deriveLabels(values, getSpec, options = {}) {
8140
8162
  return deriveDistinctLabels(values.map(getSpec), options).map((label, i) => ({
@@ -8143,7 +8165,7 @@ function deriveLabels(values, getSpec, options = {}) {
8143
8165
  }));
8144
8166
  }
8145
8167
  //#endregion
8146
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/render/util/pcolumn_data.js
8168
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/render/util/pcolumn_data.js
8147
8169
  const RT_RESOURCE_MAP = "PColumnData/ResourceMap";
8148
8170
  const RT_RESOURCE_MAP_PARTITIONED = "PColumnData/Partitioned/ResourceMap";
8149
8171
  const RT_JSON_PARTITIONED = "PColumnData/JsonPartitioned";
@@ -8437,7 +8459,7 @@ function allPColumnsReady(columns) {
8437
8459
  return columns.every(isPColumnReady);
8438
8460
  }
8439
8461
  //#endregion
8440
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/render/util/column_collection.js
8462
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/render/util/column_collection.js
8441
8463
  function isPColumnValues(value) {
8442
8464
  if (!Array.isArray(value)) return false;
8443
8465
  if (value.length === 0) return true;
@@ -8715,7 +8737,7 @@ var PColumnCollection = class {
8715
8737
  }
8716
8738
  };
8717
8739
  //#endregion
8718
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/services/service_bridge.js
8740
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/services/service_bridge.js
8719
8741
  /**
8720
8742
  * Builds a ServiceProxy from a ServiceDispatch.
8721
8743
  * Each service method call is forwarded to dispatch.callServiceMethod.
@@ -8724,7 +8746,7 @@ function createServiceProxy(dispatch) {
8724
8746
  return ((serviceId) => Object.freeze(Object.fromEntries(dispatch.getServiceMethods(serviceId).map((method) => [method, (...args) => dispatch.callServiceMethod(serviceId, method, ...args)]))));
8725
8747
  }
8726
8748
  //#endregion
8727
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/services/get_services.js
8749
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/services/get_services.js
8728
8750
  const cachedServices = /* @__PURE__ */ new WeakMap();
8729
8751
  function getService(name, deps) {
8730
8752
  const ctx = deps?.ctx ?? getCfgRenderCtx();
@@ -8738,7 +8760,7 @@ function getService(name, deps) {
8738
8760
  })();
8739
8761
  }
8740
8762
  //#endregion
8741
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/render/util/pframe_upgraders.js
8763
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/render/util/pframe_upgraders.js
8742
8764
  function patchInSetFilters(filters) {
8743
8765
  const inSetToOrEqual = (predicate) => {
8744
8766
  if (predicate.operator !== "InSet") return predicate;
@@ -8776,7 +8798,7 @@ function patchInSetFilters(filters) {
8776
8798
  return filters.map((filter) => mapFilter(filter, inSetToOrEqual));
8777
8799
  }
8778
8800
  //#endregion
8779
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/render/api.js
8801
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/render/api.js
8780
8802
  /**
8781
8803
  * Helper function to match domain objects
8782
8804
  * @param query Optional domain to match against
@@ -9225,27 +9247,27 @@ var PluginRenderCtx = class extends RenderCtxBase {
9225
9247
  }
9226
9248
  };
9227
9249
  //#endregion
9228
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/plugin_model.js
9250
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/plugin_model.js
9229
9251
  /** Internal plugin↔block handshake. `Symbol.for` (not `Symbol`) so it stays
9230
9252
  * identical across multiple `@platforma-sdk/model` copies in one process. */
9231
9253
  const CREATE_PLUGIN_MODEL = Symbol.for("@platforma-sdk/model:createPluginModel");
9232
9254
  //#endregion
9233
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/version.js
9234
- const PlatformaSDKVersion = "1.84.3";
9255
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/version.js
9256
+ const PlatformaSDKVersion = "1.84.10";
9235
9257
  //#endregion
9236
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/bconfig/types.js
9258
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/bconfig/types.js
9237
9259
  function isConfigLambda(cfgOrFh) {
9238
9260
  return cfgOrFh.__renderLambda === true;
9239
9261
  }
9240
9262
  //#endregion
9241
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/bconfig/normalization.js
9263
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/bconfig/normalization.js
9242
9264
  function downgradeCfgOrLambda(data) {
9243
9265
  if (data === void 0) return void 0;
9244
9266
  if (isConfigLambda(data)) return data.handle;
9245
9267
  return data;
9246
9268
  }
9247
9269
  //#endregion
9248
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/block_storage_callbacks.js
9270
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/block_storage_callbacks.js
9249
9271
  /**
9250
9272
  * BlockStorage Callback Implementations - wired to facade callbacks in BlockModelV3.done().
9251
9273
  *
@@ -9599,7 +9621,7 @@ function deriveTemplateParamsFromStorage(storageJson, deriveTemplateParams) {
9599
9621
  }
9600
9622
  }
9601
9623
  //#endregion
9602
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/block_model.js
9624
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/block_model.js
9603
9625
  /**
9604
9626
  * Merges two feature flag objects with type-aware logic:
9605
9627
  * - `supports*` (boolean): OR — `true` if either side is `true`
@@ -9965,7 +9987,7 @@ var BlockModelV3 = class BlockModelV3 {
9965
9987
  }
9966
9988
  };
9967
9989
  //#endregion
9968
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/pframe_utils/axes.js
9990
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/pframe_utils/axes.js
9969
9991
  /** Create id for column copy with added keys in axes domains */
9970
9992
  const colId = (id, domains, contextDomains) => {
9971
9993
  let wid = id.toString();
@@ -10071,7 +10093,7 @@ function getAdditionalColumnsForColumn(blockAxes, column) {
10071
10093
  })];
10072
10094
  }
10073
10095
  //#endregion
10074
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/columns/column_recipes/leaf_rebrand.js
10096
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/columns/column_recipes/leaf_rebrand.js
10075
10097
  /**
10076
10098
  * Replace every column leaf whose id equals `fromId` with `toId`, leaving
10077
10099
  * other column refs (linkers, sub-anchors) intact. Wrapper recipes
@@ -10739,7 +10761,7 @@ var U = class d {
10739
10761
  }
10740
10762
  };
10741
10763
  //#endregion
10742
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/columns/column_providers/providers.js
10764
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/columns/column_providers/providers.js
10743
10765
  /**
10744
10766
  * Unified memoised factory dispatching to the right provider flavour by the
10745
10767
  * source shape:
@@ -10828,7 +10850,7 @@ function hashRawPool(rawPool) {
10828
10850
  return rawPool.map((b) => `${b.blockId}\x1f${b.prodCtx ?? ""}\x1f${b.stagingCtx ?? ""}\x1f${b.prodIncomplete ? 1 : 0}\x1f${b.stagingIncomplete ? 1 : 0}`).join("");
10829
10851
  }
10830
10852
  //#endregion
10831
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/columns/column_providers/index.js
10853
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/columns/column_providers/index.js
10832
10854
  /**
10833
10855
  * Build the default set of ColumnsProviders for the ambient render ctx:
10834
10856
  * - `AccessorColumnsProvider` over `outputs` (if present)
@@ -10863,7 +10885,7 @@ function isColumnProvider(source) {
10863
10885
  return typeof p.getColumns === "function" && typeof p.isFinal === "function";
10864
10886
  }
10865
10887
  //#endregion
10866
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/columns/data_column.js
10888
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/columns/data_column.js
10867
10889
  /**
10868
10890
  * Thrown by leaf-recipe factories when the requested column is provably
10869
10891
  * absent in the active render ctx — i.e. every relevant accessor reports
@@ -11103,7 +11125,7 @@ function memoizeByEntry(fn) {
11103
11125
  };
11104
11126
  }
11105
11127
  //#endregion
11106
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_overrided_recipe.js
11128
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_overrided_recipe.js
11107
11129
  /**
11108
11130
  * Recipe wrapper that overlays {@link SpecOverrides} on top of any other
11109
11131
  * recipe. The id is `ColumnOverriddenKey { source: inner.id, specOverrides }`.
@@ -11241,7 +11263,7 @@ var DataColumnOverriddenRecipe = class extends ColumnOverriddenRecipe {
11241
11263
  }
11242
11264
  };
11243
11265
  //#endregion
11244
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_filtered_recipe.js
11266
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_filtered_recipe.js
11245
11267
  /**
11246
11268
  * Recipe wrapper that fixes the values of selected axes of an inner recipe
11247
11269
  * (axis slicing). The id is `FilteredPColumnId { source: inner.id,
@@ -11367,7 +11389,7 @@ function toAxisSelector(axis) {
11367
11389
  return selector;
11368
11390
  }
11369
11391
  //#endregion
11370
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/columns/column_recipes/index.js
11392
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/columns/column_recipes/index.js
11371
11393
  /**
11372
11394
  * Build a `ColumnRecipe` from a stringified id. Dispatches to the matching
11373
11395
  * concrete recipe variant based on the id's encoding and recurses on
@@ -11418,7 +11440,7 @@ function ColumnRecipeGetStatus(id, opts = {}) {
11418
11440
  }
11419
11441
  const ColumnRecipe = Object.assign(ColumnRecipeBuild, { getStatus: ColumnRecipeGetStatus });
11420
11442
  //#endregion
11421
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_discovered_recipe.js
11443
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_discovered_recipe.js
11422
11444
  /**
11423
11445
  * Recipe for columns identified by a {@link ColumnDiscoveredKey}: a base
11424
11446
  * column + a `path` of linkers + qualifications.
@@ -11589,7 +11611,7 @@ function referencedUniIdsOf(key) {
11589
11611
  return /* @__PURE__ */ new Set([key.column, ...(key.path ?? []).map((item) => item.column)]);
11590
11612
  }
11591
11613
  //#endregion
11592
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/columns/column.js
11614
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/columns/column.js
11593
11615
  /**
11594
11616
  * Unified entry point — routes between the two top-level dispatchers:
11595
11617
  * - string id (`PObjectId` / `ColumnUniversalId`) → {@link ColumnRecipe}
@@ -11603,7 +11625,7 @@ function Column(source, opts) {
11603
11625
  return DataColumn(source, opts);
11604
11626
  }
11605
11627
  //#endregion
11606
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/columns/columns_collection.js
11628
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/columns/columns_collection.js
11607
11629
  /**
11608
11630
  * Build a {@link ColumnsCollection} from sandbox-side source descriptors.
11609
11631
  * Resolves the `columnsCollection` driver (either from `deps.driver` or via
@@ -11712,7 +11734,7 @@ function defaultCtxSources(ctx) {
11712
11734
  return [...currentBlockSources(ctx), { kind: "result_pool" }];
11713
11735
  }
11714
11736
  //#endregion
11715
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/columns/utils.js
11737
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/columns/utils.js
11716
11738
  /**
11717
11739
  * PObjectIds of every non-hit column referenced by `recipe.getQuery()`,
11718
11740
  * deduped in traversal order. The hit column is
@@ -11843,7 +11865,7 @@ function hasSingleDataColumn(recipe) {
11843
11865
  return recipe.getReferencedIds().length === 1;
11844
11866
  }
11845
11867
  //#endregion
11846
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/pframe_utils/columns.js
11868
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/pframe_utils/columns.js
11847
11869
  function getAllRelatedColumns(ctx, predicate) {
11848
11870
  const columns = new PColumnCollection();
11849
11871
  columns.addColumnProvider(ctx.resultPool);
@@ -11919,7 +11941,7 @@ function discoverIntegrableColumnIds(ctx, rootColumns) {
11919
11941
  }
11920
11942
  }
11921
11943
  //#endregion
11922
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/components/PFrameForGraphs.js
11944
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/components/PFrameForGraphs.js
11923
11945
  function isHiddenFromGraphColumn(column) {
11924
11946
  return !!readAnnotationJson(column, Annotation.HideDataFromGraphs);
11925
11947
  }
@@ -11948,7 +11970,7 @@ function createPFrameForGraphs(ctx, blockColumns) {
11948
11970
  }));
11949
11971
  }
11950
11972
  //#endregion
11951
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/filters/traverse.js
11973
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/filters/traverse.js
11952
11974
  /**
11953
11975
  * Recursively traverses a FilterSpec tree bottom-up, applying visitor callbacks.
11954
11976
  *
@@ -11987,7 +12009,7 @@ function collectFilterSpecColumns(filter) {
11987
12009
  });
11988
12010
  }
11989
12011
  //#endregion
11990
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/filters/converters/filterToQuery.js
12012
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/filters/converters/filterToQuery.js
11991
12013
  /** Converts a QueryColumnId object into a SpecQueryExpression reference. */
11992
12014
  function resolveColumnRef(col) {
11993
12015
  return col.type === "axis" ? {
@@ -12374,7 +12396,7 @@ function isEmpty(value) {
12374
12396
  return true;
12375
12397
  }
12376
12398
  //#endregion
12377
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/filters/distill.js
12399
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/filters/distill.js
12378
12400
  /**
12379
12401
  * Strips non-FilterSpec metadata (whitelist approach) and removes
12380
12402
  * unfilled leaves (type is undefined or any required field is undefined).
@@ -12479,7 +12501,7 @@ const REQUIRED_KEYS_BY_TYPE = {
12479
12501
  greaterThanColumnOrEqual: ["column", "rhs"]
12480
12502
  };
12481
12503
  //#endregion
12482
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/components/PlDataTable/state-migration.js
12504
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/components/PlDataTable/state-migration.js
12483
12505
  /** Upgrade PlDataTableStateV2 to the latest version */
12484
12506
  function upgradePlDataTableStateV2(state) {
12485
12507
  if (!state) return createPlDataTableStateV2();
@@ -12837,7 +12859,7 @@ function parseLegacyLeafColumn(s) {
12837
12859
  return parsed;
12838
12860
  }
12839
12861
  //#endregion
12840
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/utils.js
12862
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/utils.js
12841
12863
  /** Adapt a {@link ColumnRecipe} to the plain {@link RuleColumn} shape. */
12842
12864
  function toRuleColumn(col) {
12843
12865
  return {
@@ -12935,7 +12957,7 @@ function deriveAllLabels(options) {
12935
12957
  })), deriveLabelsOptions).reduce((acc, label, index) => (acc[columns[index].id] = label, acc), {});
12936
12958
  }
12937
12959
  //#endregion
12938
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.js
12960
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.js
12939
12961
  /**
12940
12962
  * Assemble a ptable def directly from recipes. Each secondary recipe is its own
12941
12963
  * outer-joined subtree: `getQuery()` encodes its linker chain, and its
@@ -12999,7 +13021,7 @@ function columnToJoinEntry(col, qualifications) {
12999
13021
  };
13000
13022
  }
13001
13023
  //#endregion
13002
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/components/PlDataTable/columnResolver.js
13024
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/components/PlDataTable/columnResolver.js
13003
13025
  function createColumnResolver(columns) {
13004
13026
  const axisIds = [];
13005
13027
  for (const c of columns) for (const ax of c.getSpec().axesSpec) axisIds.push(getAxisId(ax));
@@ -13021,7 +13043,7 @@ function createColumnResolver(columns) {
13021
13043
  };
13022
13044
  }
13023
13045
  //#endregion
13024
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/discoverColumns.js
13046
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/discoverColumns.js
13025
13047
  /**
13026
13048
  * Discover columns from sources/anchors and split them into primary
13027
13049
  * (direct anchor hits — zero-hop, query is a bare column) and secondary
@@ -13067,7 +13089,7 @@ function discoverLabelColumns(ctx, primary) {
13067
13089
  }).getColumns();
13068
13090
  }
13069
13091
  //#endregion
13070
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.3/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js
13092
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.10/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js
13071
13093
  function createPlDataTableV3(ctx, options) {
13072
13094
  const state = upgradePlDataTableStateV2(options.tableState);
13073
13095
  const primaryJoinType = options.primaryJoinType ?? "full";
@@ -13595,7 +13617,7 @@ function drillDownTableModel(ctx) {
13595
13617
  //#endregion
13596
13618
  //#region ../kind/dist/package.js
13597
13619
  var name = "@platforma-open/milaboratories.repertoire-mutation-heatmap.kind";
13598
- var version = "1.0.0";
13620
+ var version = "1.0.1";
13599
13621
  //#endregion
13600
13622
  //#region ../node_modules/.pnpm/@platforma-sdk+block-kind@1.1.0/node_modules/@platforma-sdk/block-kind/dist/params.js
13601
13623
  /**
@@ -13786,6 +13808,10 @@ const dataModel = new DataModelBuilder({ kind }).from("v1").migrate("v2", (v1) =
13786
13808
  drillDownChartState: makeDrillDownChartState(),
13787
13809
  drillDownTableState: createPlDataTableStateV2(),
13788
13810
  ...mapChartStates(v4, withRegionColoursReseeded)
13811
+ })).migrate("v6", (v5) => ({
13812
+ ...v5,
13813
+ ...mapChartStates(v5, withYAnnotationTitleAtBottom),
13814
+ drillDownChartState: withYAnnotationTitleAtBottom(v5.drillDownChartState)
13789
13815
  })).init(() => ({
13790
13816
  drillDowns: [],
13791
13817
  drillDownChartState: makeDrillDownChartState(),
@@ -13811,7 +13837,8 @@ const dataModel = new DataModelBuilder({ kind }).from("v1").migrate("v2", (v1) =
13811
13837
  },
13812
13838
  axisY: {
13813
13839
  hideAxisLabels: false,
13814
- cellSize: 20
13840
+ cellSize: 20,
13841
+ annotationTitlePosition: "bottom"
13815
13842
  }
13816
13843
  }
13817
13844
  }
@@ -13906,7 +13933,9 @@ const platforma$1 = BlockModelV3.create({
13906
13933
  return createPFrameForGraphs(ctx, pCols);
13907
13934
  }).output("singleMutantHeatmapPCols", (ctx) => {
13908
13935
  return outputPColumns(ctx, "singleMutantHeatmapPf");
13909
- }).output("landscapePanels", (ctx) => landscapePanelsFrom(outputPColumns(ctx, "singleMutantHeatmapPf"))).outputWithStatus("drillDownHeatmapPf", (ctx) => {
13936
+ }).output("landscapePanels", (ctx) => landscapePanelsFrom(outputPColumns(ctx, "singleMutantHeatmapPf"))).output("singleMutantCount", (ctx) => {
13937
+ return ctx.outputs?.resolve("singleMutantCount")?.getDataAsJson()?.singleMutantCount;
13938
+ }).outputWithStatus("drillDownHeatmapPf", (ctx) => {
13910
13939
  const pCols = outputPColumns(ctx, "drillDownHeatmapPf");
13911
13940
  if (pCols === void 0) return void 0;
13912
13941
  return createPFrameForGraphs(ctx, pCols);