| 148443 | } |
| 148444 | } |
| 148445 | function parseOverlap(overlap, source, scope) { |
| 148446 | const method = overlap.method, bound = overlap.bound, sep = overlap.separation; |
| 148447 | const params = { |
| 148448 | separation: isSignal(sep) ? scope.signalRef(sep.signal) : sep, |
| 148449 | method: isSignal(method) ? scope.signalRef(method.signal) : method, |
| 148450 | pulse: source |
| 148451 | }; |
| 148452 | if (overlap.order) params.sort = scope.compareRef({ |
| 148453 | field: overlap.order |
| 148454 | }); |
| 148455 | if (bound) { |
| 148456 | const tol = bound.tolerance; |
| 148457 | params.boundTolerance = isSignal(tol) ? scope.signalRef(tol.signal) : +tol; |
| 148458 | params.boundScale = scope.scaleRef(bound.scale); |
| 148459 | params.boundOrient = bound.orient; |
| 148460 | } |
| 148461 | return ref(scope.add(Overlap(params))); |
| 148462 | } |
| 148463 | function parseLegend(spec, scope) { |
| 148464 | const config = scope.config.legend, encode = spec.encode || {}, _ = lookup(spec, config), legendEncode = encode.legend || {}, name = legendEncode.name || undefined, interactive2 = legendEncode.interactive, style = legendEncode.style, scales = {}; |
| 148465 | let scale6 = 0, entryLayout, params, children; // resolve scales and 'canonical' scale name |