@euphrasiologist/lwphylo 1.2.22 → 1.2.23

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
@@ -572,9 +572,6 @@ function getChildArcsFan(pd) {
572
572
  const TAU = Math.PI * 2;
573
573
  const norm = (t) => ((t % TAU) + TAU) % TAU;
574
574
 
575
- const ccwDelta = (a0, a1) => (a1 - a0 + TAU) % TAU;
576
- const cwDelta = (a0, a1) => (a0 - a1 + TAU) % TAU;
577
-
578
575
  // Circular midpoint that travels CCW from a -> b by half the CCW span
579
576
  function midCCW(a, b) {
580
577
  const d = (b - a + TAU) % TAU; // CCW delta in [0, 2π)
@@ -623,14 +620,12 @@ function getChildArcsFan(pd) {
623
620
  const cur = A[i];
624
621
  const next = A[(i + 1) % N];
625
622
 
626
- // “fan” wedge around the child: midpoint(prev→cur) .. midpoint(cur→next), CCW
627
623
  const start = midCCW(prev.a, cur.a);
628
624
  const end = midCCW(cur.a, next.a);
629
625
 
630
- // Choose the **shorter** sweep (0 = CCW, 1 = CW in our math-angle convention)
631
- const ccw = ccwDelta(start, end);
632
- const cw = cwDelta(start, end);
633
- const sweep = ccw <= cw ? 0 : 1;
626
+ // Use SVG-conforming sweep logic
627
+ const delta = (end - start + TAU) % TAU;
628
+ const sweep = delta > Math.PI ? 0 : 1;
634
629
 
635
630
  child_arcs.push({
636
631
  parentId: pid,
@@ -641,6 +636,7 @@ function getChildArcsFan(pd) {
641
636
  sweep
642
637
  });
643
638
  }
639
+
644
640
  }
645
641
 
646
642
  return child_arcs;