@willcgage/module-schematic 0.83.0 → 0.83.2

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.cjs CHANGED
@@ -41,7 +41,16 @@ function crossoverPinches(tracks, library = BUILT_IN_TRACK_PARTS, spacingInches
41
41
  const a = t.fromPos ?? 0;
42
42
  const b = t.toPos ?? 0;
43
43
  if (!Number.isFinite(a) || !Number.isFinite(b) || Math.abs(b - a) < 1e-9) continue;
44
- out.push({ lane, fromPos: Math.min(a, b), toPos: Math.max(a, b), spacingInches: s });
44
+ const pinch = {
45
+ lane,
46
+ fromPos: Math.min(a, b),
47
+ toPos: Math.max(a, b),
48
+ spacingInches: s
49
+ };
50
+ const same = out.some(
51
+ (p) => p.lane === pinch.lane && Math.abs(p.fromPos - pinch.fromPos) < 1e-9 && Math.abs(p.toPos - pinch.toPos) < 1e-9 && Math.abs(p.spacingInches - pinch.spacingInches) < 1e-9
52
+ );
53
+ if (!same) out.push(pinch);
45
54
  }
46
55
  return out;
47
56
  }
@@ -1642,7 +1651,7 @@ var FAST_TRACKS_N_ME55_CROSSOVERS = [
1642
1651
  secondaryFrogAngle: {
1643
1652
  deg: second,
1644
1653
  source: manufacturer,
1645
- note: `${spec}. The diamond of a scissors crossover \u2014 2 \xD7 ${deg}\xB0 within the published rounding.`
1654
+ note: `${spec}. The SCISSORS of a double crossover \u2014 the X where its two opposite diverging routes cross \u2014 at 2 \xD7 ${deg}\xB0 within the published rounding.`
1646
1655
  },
1647
1656
  overallLength: {
1648
1657
  inches: dflt,