{
  "title": "Pulse Loom",
  "revision": "musicality-pass",
  "date": "2026-06-30",
  "pattern_count": 64,
  "voice_count": 3,
  "modes": {
    "Guide pattern": 24,
    "Simple cross-rhythm": 24,
    "Pocket variation": 3,
    "Slow odd grouping": 5,
    "Bell timeline": 8
  },
  "ratios": {
    "3-3-4-3-3": 8,
    "3-2 clave": 8,
    "4:3": 8,
    "5:4": 8,
    "2-bar 3-2": 8,
    "12-pulse bell": 8,
    "3:2": 8,
    "3:2 answer": 8
  },
  "research_sources": [
    {
      "title": "Godfried Toussaint, The Euclidean Algorithm Generates Traditional Musical Rhythms",
      "url": "https://cgm.cs.mcgill.ca/~godfried/publications/banff.pdf",
      "note": "Keep Euclidean spacing, but avoid treating maximum evenness as the whole musical goal."
    },
    {
      "title": "Euclidean rhythm overview",
      "url": "https://en.wikipedia.org/wiki/Euclidean_rhythm",
      "note": "Euclidean rhythms distribute pulses as evenly as possible across a cycle."
    },
    {
      "title": "Clave rhythm overview",
      "url": "https://en.wikipedia.org/wiki/Clave_%28rhythm%29",
      "note": "Use clave-like guide patterns as a phrasing reference, not only as decorative hits."
    },
    {
      "title": "Bell pattern overview",
      "url": "https://en.wikipedia.org/wiki/Bell_pattern",
      "note": "Standard bell patterns act as timelines or guide patterns over a repeating cycle."
    },
    {
      "title": "Cross-beat and 3:2 relationship",
      "url": "https://en.wikipedia.org/wiki/Cross-beat",
      "note": "Keep the primary beat scheme audible while secondary cross-beats create tension."
    }
  ],
  "metric_ranges": {
    "density": {
      "min": 0.1875,
      "max": 0.4444,
      "mean": 0.3003
    },
    "meeting_score": {
      "min": 1.0,
      "max": 1.0,
      "mean": 1.0
    },
    "ground_strength": {
      "min": 0.5,
      "max": 1.0,
      "mean": 0.875
    },
    "guide_fit": {
      "min": 0.8,
      "max": 1.0,
      "mean": 0.9241
    },
    "space_score": {
      "min": 0.2731,
      "max": 0.9965,
      "mean": 0.7756
    },
    "handoff": {
      "min": 0.6253,
      "max": 0.8367,
      "mean": 0.7284
    },
    "evenness": {
      "min": 0.4086,
      "max": 0.5465,
      "mean": 0.4695
    },
    "syncopation": {
      "min": 0.2105,
      "max": 0.4103,
      "mean": 0.322
    },
    "groove_score": {
      "min": 0.7454,
      "max": 0.8992,
      "mean": 0.8389
    }
  },
  "top_looms": [
    {
      "id": "pl-04-05",
      "title": "Bossa Tresillo Laid Back",
      "recipe": "Bossa Tresillo",
      "ratio": "3-3-4-3-3",
      "mode": "Guide pattern",
      "feel": "tresillo-derived guide with steady quarter pulse",
      "why": "The guide pattern has an asymmetric hook while the ground and counter keep the bar easy to locate.",
      "cycleSteps": 16,
      "cycleBeats": 4,
      "bpm": 94,
      "swing": 0.12,
      "metrics": {
        "density": 0.2708,
        "entropy": 0.8337,
        "meeting_score": 1.0,
        "ground_strength": 1.0,
        "guide_fit": 1.0,
        "space_score": 0.9965,
        "handoff": 0.6896,
        "evenness": 0.4114,
        "syncopation": 0.3846,
        "ratio_simplicity": 1.0,
        "groove_score": 0.8992,
        "weave_score": 0.8992,
        "cycle_steps": 16.0,
        "cycle_beats": 4.0,
        "event_count": 13.0
      },
      "voices": [
        {
          "key": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "steps": 16,
          "pulses": 4,
          "rotation": 0,
          "pattern": "x...x...x...x...",
          "positions": [
            0.0,
            0.25,
            0.5,
            0.75
          ],
          "velocities": [
            1.0,
            0.82,
            0.82,
            0.82
          ]
        },
        {
          "key": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "steps": 16,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x..x..x...x..x..",
          "positions": [
            0.0,
            0.1875,
            0.375,
            0.625,
            0.8125
          ],
          "velocities": [
            1.0,
            0.68,
            0.68,
            0.68,
            0.34
          ]
        },
        {
          "key": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "steps": 16,
          "pulses": 4,
          "rotation": 0,
          "pattern": "x....x.....x..x.",
          "positions": [
            0.0,
            0.3125,
            0.6875,
            0.875
          ],
          "velocities": [
            1.0,
            0.54,
            0.54,
            0.54
          ]
        }
      ],
      "events": [
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.1875,
          "step": 3,
          "velocity": 0.68,
          "swing": 0.12
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.25,
          "step": 4,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.3125,
          "step": 5,
          "velocity": 0.54,
          "swing": 0.12
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.375,
          "step": 6,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.5,
          "step": 8,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.625,
          "step": 10,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.6875,
          "step": 11,
          "velocity": 0.54,
          "swing": 0.12
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.75,
          "step": 12,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.8125,
          "step": 13,
          "velocity": 0.34,
          "swing": 0.12
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.875,
          "step": 14,
          "velocity": 0.54,
          "swing": 0.0
        }
      ]
    },
    {
      "id": "pl-04-07",
      "title": "Bossa Tresillo Sparse Cross",
      "recipe": "Bossa Tresillo",
      "ratio": "3-3-4-3-3",
      "mode": "Guide pattern",
      "feel": "tresillo-derived guide with steady quarter pulse",
      "why": "The guide pattern has an asymmetric hook while the ground and counter keep the bar easy to locate.",
      "cycleSteps": 16,
      "cycleBeats": 4,
      "bpm": 98,
      "swing": 0.05,
      "metrics": {
        "density": 0.2708,
        "entropy": 0.7952,
        "meeting_score": 1.0,
        "ground_strength": 1.0,
        "guide_fit": 1.0,
        "space_score": 0.9965,
        "handoff": 0.7024,
        "evenness": 0.4468,
        "syncopation": 0.3462,
        "ratio_simplicity": 1.0,
        "groove_score": 0.8989,
        "weave_score": 0.8989,
        "cycle_steps": 16.0,
        "cycle_beats": 4.0,
        "event_count": 13.0
      },
      "voices": [
        {
          "key": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "steps": 16,
          "pulses": 4,
          "rotation": 0,
          "pattern": "x...x...x...x...",
          "positions": [
            0.0,
            0.25,
            0.5,
            0.75
          ],
          "velocities": [
            1.0,
            0.82,
            0.82,
            0.82
          ]
        },
        {
          "key": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "steps": 16,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x..x..x...x..x..",
          "positions": [
            0.0,
            0.1875,
            0.375,
            0.625,
            0.8125
          ],
          "velocities": [
            1.0,
            0.68,
            0.68,
            0.68,
            0.68
          ]
        },
        {
          "key": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "steps": 16,
          "pulses": 4,
          "rotation": 0,
          "pattern": "x....x..x.....x.",
          "positions": [
            0.0,
            0.3125,
            0.5,
            0.875
          ],
          "velocities": [
            1.0,
            0.62,
            0.62,
            0.62
          ]
        }
      ],
      "events": [
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.1875,
          "step": 3,
          "velocity": 0.68,
          "swing": 0.05
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.25,
          "step": 4,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.3125,
          "step": 5,
          "velocity": 0.62,
          "swing": 0.05
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.375,
          "step": 6,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.5,
          "step": 8,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.5,
          "step": 8,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.625,
          "step": 10,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.75,
          "step": 12,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.8125,
          "step": 13,
          "velocity": 0.68,
          "swing": 0.05
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.875,
          "step": 14,
          "velocity": 0.62,
          "swing": 0.0
        }
      ]
    },
    {
      "id": "pl-02-07",
      "title": "Son Clave Frame Sparse Cross",
      "recipe": "Son Clave Frame",
      "ratio": "3-2 clave",
      "mode": "Guide pattern",
      "feel": "four-beat pulse with a five-stroke guide pattern",
      "why": "The foundation keeps four clear beats while the guide pattern creates a familiar long-short asymmetry.",
      "cycleSteps": 16,
      "cycleBeats": 4,
      "bpm": 94,
      "swing": 0.05,
      "metrics": {
        "density": 0.2708,
        "entropy": 0.7567,
        "meeting_score": 1.0,
        "ground_strength": 1.0,
        "guide_fit": 1.0,
        "space_score": 0.9965,
        "handoff": 0.7154,
        "evenness": 0.4831,
        "syncopation": 0.3077,
        "ratio_simplicity": 1.0,
        "groove_score": 0.8986,
        "weave_score": 0.8986,
        "cycle_steps": 16.0,
        "cycle_beats": 4.0,
        "event_count": 13.0
      },
      "voices": [
        {
          "key": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "steps": 16,
          "pulses": 4,
          "rotation": 0,
          "pattern": "x...x...x...x...",
          "positions": [
            0.0,
            0.25,
            0.5,
            0.75
          ],
          "velocities": [
            1.0,
            0.82,
            0.82,
            0.82
          ]
        },
        {
          "key": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "steps": 16,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x..x..x...x.x...",
          "positions": [
            0.0,
            0.1875,
            0.375,
            0.625,
            0.75
          ],
          "velocities": [
            1.0,
            0.68,
            0.68,
            0.68,
            0.77
          ]
        },
        {
          "key": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "steps": 16,
          "pulses": 4,
          "rotation": 0,
          "pattern": "x....x..x.....x.",
          "positions": [
            0.0,
            0.3125,
            0.5,
            0.875
          ],
          "velocities": [
            1.0,
            0.62,
            0.62,
            0.62
          ]
        }
      ],
      "events": [
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.1875,
          "step": 3,
          "velocity": 0.68,
          "swing": 0.05
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.25,
          "step": 4,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.3125,
          "step": 5,
          "velocity": 0.62,
          "swing": 0.05
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.375,
          "step": 6,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.5,
          "step": 8,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.5,
          "step": 8,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.625,
          "step": 10,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.75,
          "step": 12,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.75,
          "step": 12,
          "velocity": 0.77,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.875,
          "step": 14,
          "velocity": 0.62,
          "swing": 0.0
        }
      ]
    },
    {
      "id": "pl-05-07",
      "title": "Four Over Three Lilt Sparse Cross",
      "recipe": "Four Over Three Lilt",
      "ratio": "4:3",
      "mode": "Simple cross-rhythm",
      "feel": "four cross-pulses over three main beats",
      "why": "The counter gives the 4:3 tension, but the foundation makes the three-beat lilt explicit.",
      "cycleSteps": 12,
      "cycleBeats": 3,
      "bpm": 88,
      "swing": 0.05,
      "metrics": {
        "density": 0.3056,
        "entropy": 0.743,
        "meeting_score": 1.0,
        "ground_strength": 1.0,
        "guide_fit": 1.0,
        "space_score": 0.8519,
        "handoff": 0.8279,
        "evenness": 0.5219,
        "syncopation": 0.2727,
        "ratio_simplicity": 1.0,
        "groove_score": 0.8969,
        "weave_score": 0.8969,
        "cycle_steps": 12.0,
        "cycle_beats": 3.0,
        "event_count": 11.0
      },
      "voices": [
        {
          "key": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "steps": 12,
          "pulses": 3,
          "rotation": 0,
          "pattern": "x...x...x...",
          "positions": [
            0.0,
            0.333333,
            0.666667
          ],
          "velocities": [
            1.0,
            0.82,
            0.82
          ]
        },
        {
          "key": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "steps": 12,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x..x.x..x.x.",
          "positions": [
            0.0,
            0.25,
            0.416667,
            0.666667,
            0.833333
          ],
          "velocities": [
            1.0,
            0.68,
            0.68,
            0.77,
            0.68
          ]
        },
        {
          "key": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "steps": 12,
          "pulses": 3,
          "rotation": 0,
          "pattern": "x..x.....x..",
          "positions": [
            0.0,
            0.25,
            0.75
          ],
          "velocities": [
            1.0,
            0.62,
            0.62
          ]
        }
      ],
      "events": [
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.25,
          "step": 3,
          "velocity": 0.62,
          "swing": 0.05
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.25,
          "step": 3,
          "velocity": 0.68,
          "swing": 0.05
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.333333,
          "step": 4,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.416667,
          "step": 5,
          "velocity": 0.68,
          "swing": 0.05
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.666667,
          "step": 8,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.666667,
          "step": 8,
          "velocity": 0.77,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.75,
          "step": 9,
          "velocity": 0.62,
          "swing": 0.05
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.833333,
          "step": 10,
          "velocity": 0.68,
          "swing": 0.0
        }
      ]
    },
    {
      "id": "pl-04-01",
      "title": "Bossa Tresillo Pocket",
      "recipe": "Bossa Tresillo",
      "ratio": "3-3-4-3-3",
      "mode": "Guide pattern",
      "feel": "tresillo-derived guide with steady quarter pulse",
      "why": "The guide pattern has an asymmetric hook while the ground and counter keep the bar easy to locate.",
      "cycleSteps": 16,
      "cycleBeats": 4,
      "bpm": 100,
      "swing": 0.06,
      "metrics": {
        "density": 0.2917,
        "entropy": 0.8312,
        "meeting_score": 1.0,
        "ground_strength": 1.0,
        "guide_fit": 1.0,
        "space_score": 0.9097,
        "handoff": 0.7043,
        "evenness": 0.4326,
        "syncopation": 0.3571,
        "ratio_simplicity": 1.0,
        "groove_score": 0.8899,
        "weave_score": 0.8899,
        "cycle_steps": 16.0,
        "cycle_beats": 4.0,
        "event_count": 14.0
      },
      "voices": [
        {
          "key": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "steps": 16,
          "pulses": 4,
          "rotation": 0,
          "pattern": "x...x...x...x...",
          "positions": [
            0.0,
            0.25,
            0.5,
            0.75
          ],
          "velocities": [
            1.0,
            0.82,
            0.82,
            0.82
          ]
        },
        {
          "key": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "steps": 16,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x..x..x...x..x..",
          "positions": [
            0.0,
            0.1875,
            0.375,
            0.625,
            0.8125
          ],
          "velocities": [
            1.0,
            0.68,
            0.68,
            0.68,
            0.68
          ]
        },
        {
          "key": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "steps": 16,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x....x..x..x..x.",
          "positions": [
            0.0,
            0.3125,
            0.5,
            0.6875,
            0.875
          ],
          "velocities": [
            1.0,
            0.62,
            0.62,
            0.62,
            0.62
          ]
        }
      ],
      "events": [
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.1875,
          "step": 3,
          "velocity": 0.68,
          "swing": 0.06
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.25,
          "step": 4,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.3125,
          "step": 5,
          "velocity": 0.62,
          "swing": 0.06
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.375,
          "step": 6,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.5,
          "step": 8,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.5,
          "step": 8,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.625,
          "step": 10,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.6875,
          "step": 11,
          "velocity": 0.62,
          "swing": 0.06
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.75,
          "step": 12,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.8125,
          "step": 13,
          "velocity": 0.68,
          "swing": 0.06
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.875,
          "step": 14,
          "velocity": 0.62,
          "swing": 0.0
        }
      ]
    },
    {
      "id": "pl-02-01",
      "title": "Son Clave Frame Pocket",
      "recipe": "Son Clave Frame",
      "ratio": "3-2 clave",
      "mode": "Guide pattern",
      "feel": "four-beat pulse with a five-stroke guide pattern",
      "why": "The foundation keeps four clear beats while the guide pattern creates a familiar long-short asymmetry.",
      "cycleSteps": 16,
      "cycleBeats": 4,
      "bpm": 96,
      "swing": 0.06,
      "metrics": {
        "density": 0.2917,
        "entropy": 0.7955,
        "meeting_score": 1.0,
        "ground_strength": 1.0,
        "guide_fit": 1.0,
        "space_score": 0.9097,
        "handoff": 0.7166,
        "evenness": 0.4667,
        "syncopation": 0.3214,
        "ratio_simplicity": 1.0,
        "groove_score": 0.8897,
        "weave_score": 0.8897,
        "cycle_steps": 16.0,
        "cycle_beats": 4.0,
        "event_count": 14.0
      },
      "voices": [
        {
          "key": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "steps": 16,
          "pulses": 4,
          "rotation": 0,
          "pattern": "x...x...x...x...",
          "positions": [
            0.0,
            0.25,
            0.5,
            0.75
          ],
          "velocities": [
            1.0,
            0.82,
            0.82,
            0.82
          ]
        },
        {
          "key": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "steps": 16,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x..x..x...x.x...",
          "positions": [
            0.0,
            0.1875,
            0.375,
            0.625,
            0.75
          ],
          "velocities": [
            1.0,
            0.68,
            0.68,
            0.68,
            0.77
          ]
        },
        {
          "key": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "steps": 16,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x....x..x..x..x.",
          "positions": [
            0.0,
            0.3125,
            0.5,
            0.6875,
            0.875
          ],
          "velocities": [
            1.0,
            0.62,
            0.62,
            0.62,
            0.62
          ]
        }
      ],
      "events": [
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.1875,
          "step": 3,
          "velocity": 0.68,
          "swing": 0.06
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.25,
          "step": 4,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.3125,
          "step": 5,
          "velocity": 0.62,
          "swing": 0.06
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.375,
          "step": 6,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.5,
          "step": 8,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.5,
          "step": 8,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.625,
          "step": 10,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.6875,
          "step": 11,
          "velocity": 0.62,
          "swing": 0.06
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.75,
          "step": 12,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.75,
          "step": 12,
          "velocity": 0.77,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.875,
          "step": 14,
          "velocity": 0.62,
          "swing": 0.0
        }
      ]
    },
    {
      "id": "pl-05-01",
      "title": "Four Over Three Lilt Pocket",
      "recipe": "Four Over Three Lilt",
      "ratio": "4:3",
      "mode": "Simple cross-rhythm",
      "feel": "four cross-pulses over three main beats",
      "why": "The counter gives the 4:3 tension, but the foundation makes the three-beat lilt explicit.",
      "cycleSteps": 12,
      "cycleBeats": 3,
      "bpm": 90,
      "swing": 0.06,
      "metrics": {
        "density": 0.3333,
        "entropy": 0.7965,
        "meeting_score": 1.0,
        "ground_strength": 1.0,
        "guide_fit": 1.0,
        "space_score": 0.7361,
        "handoff": 0.8203,
        "evenness": 0.5008,
        "syncopation": 0.3333,
        "ratio_simplicity": 1.0,
        "groove_score": 0.8894,
        "weave_score": 0.8894,
        "cycle_steps": 12.0,
        "cycle_beats": 3.0,
        "event_count": 12.0
      },
      "voices": [
        {
          "key": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "steps": 12,
          "pulses": 3,
          "rotation": 0,
          "pattern": "x...x...x...",
          "positions": [
            0.0,
            0.333333,
            0.666667
          ],
          "velocities": [
            1.0,
            0.82,
            0.82
          ]
        },
        {
          "key": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "steps": 12,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x..x.x..x.x.",
          "positions": [
            0.0,
            0.25,
            0.416667,
            0.666667,
            0.833333
          ],
          "velocities": [
            1.0,
            0.68,
            0.68,
            0.77,
            0.68
          ]
        },
        {
          "key": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "steps": 12,
          "pulses": 4,
          "rotation": 0,
          "pattern": "x..x..x..x..",
          "positions": [
            0.0,
            0.25,
            0.5,
            0.75
          ],
          "velocities": [
            1.0,
            0.62,
            0.62,
            0.62
          ]
        }
      ],
      "events": [
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.25,
          "step": 3,
          "velocity": 0.62,
          "swing": 0.06
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.25,
          "step": 3,
          "velocity": 0.68,
          "swing": 0.06
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.333333,
          "step": 4,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.416667,
          "step": 5,
          "velocity": 0.68,
          "swing": 0.06
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.5,
          "step": 6,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.666667,
          "step": 8,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.666667,
          "step": 8,
          "velocity": 0.77,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.75,
          "step": 9,
          "velocity": 0.62,
          "swing": 0.06
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.833333,
          "step": 10,
          "velocity": 0.68,
          "swing": 0.0
        }
      ]
    },
    {
      "id": "pl-06-04",
      "title": "Five Over Four Slow Pickup",
      "recipe": "Five Over Four Slow",
      "ratio": "5:4",
      "mode": "Pocket variation",
      "feel": "five gentle cross-pulses over four main beats",
      "why": "The five-side is slowed down and softened so the listener can still feel the four-beat frame.",
      "cycleSteps": 20,
      "cycleBeats": 4,
      "bpm": 86,
      "swing": 0.09,
      "metrics": {
        "density": 0.2833,
        "entropy": 0.8266,
        "meeting_score": 1.0,
        "ground_strength": 1.0,
        "guide_fit": 1.0,
        "space_score": 0.9444,
        "handoff": 0.7566,
        "evenness": 0.4283,
        "syncopation": 0.3529,
        "ratio_simplicity": 0.72,
        "groove_score": 0.8889,
        "weave_score": 0.8889,
        "cycle_steps": 20.0,
        "cycle_beats": 4.0,
        "event_count": 17.0
      },
      "voices": [
        {
          "key": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "steps": 20,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x....x....x....x...x",
          "positions": [
            0.0,
            0.25,
            0.5,
            0.75,
            0.95
          ],
          "velocities": [
            1.0,
            0.82,
            0.82,
            0.82,
            0.42
          ]
        },
        {
          "key": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "steps": 20,
          "pulses": 6,
          "rotation": 0,
          "pattern": "x..x...x..x...x..x..",
          "positions": [
            0.0,
            0.15,
            0.35,
            0.5,
            0.7,
            0.85
          ],
          "velocities": [
            1.0,
            0.68,
            0.68,
            0.77,
            0.68,
            0.68
          ]
        },
        {
          "key": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "steps": 20,
          "pulses": 6,
          "rotation": 0,
          "pattern": "x...x...x...x...x..x",
          "positions": [
            0.0,
            0.2,
            0.4,
            0.6,
            0.8,
            0.95
          ],
          "velocities": [
            1.0,
            0.62,
            0.62,
            0.62,
            0.62,
            0.34
          ]
        }
      ],
      "events": [
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.15,
          "step": 3,
          "velocity": 0.68,
          "swing": 0.09
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.2,
          "step": 4,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.25,
          "step": 5,
          "velocity": 0.82,
          "swing": 0.09
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.35,
          "step": 7,
          "velocity": 0.68,
          "swing": 0.09
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.4,
          "step": 8,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.5,
          "step": 10,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.5,
          "step": 10,
          "velocity": 0.77,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.6,
          "step": 12,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.7,
          "step": 14,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.75,
          "step": 15,
          "velocity": 0.82,
          "swing": 0.09
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.8,
          "step": 16,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.85,
          "step": 17,
          "velocity": 0.68,
          "swing": 0.09
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.95,
          "step": 19,
          "velocity": 0.34,
          "swing": 0.09
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.95,
          "step": 19,
          "velocity": 0.42,
          "swing": 0.09
        }
      ]
    },
    {
      "id": "pl-06-01",
      "title": "Five Over Four Slow Pocket",
      "recipe": "Five Over Four Slow",
      "ratio": "5:4",
      "mode": "Slow odd grouping",
      "feel": "five gentle cross-pulses over four main beats",
      "why": "The five-side is slowed down and softened so the listener can still feel the four-beat frame.",
      "cycleSteps": 20,
      "cycleBeats": 4,
      "bpm": 82,
      "swing": 0.06,
      "metrics": {
        "density": 0.25,
        "entropy": 0.7998,
        "meeting_score": 1.0,
        "ground_strength": 1.0,
        "guide_fit": 1.0,
        "space_score": 0.9167,
        "handoff": 0.7486,
        "evenness": 0.42,
        "syncopation": 0.3467,
        "ratio_simplicity": 0.72,
        "groove_score": 0.8833,
        "weave_score": 0.8833,
        "cycle_steps": 20.0,
        "cycle_beats": 4.0,
        "event_count": 15.0
      },
      "voices": [
        {
          "key": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "steps": 20,
          "pulses": 4,
          "rotation": 0,
          "pattern": "x....x....x....x....",
          "positions": [
            0.0,
            0.25,
            0.5,
            0.75
          ],
          "velocities": [
            1.0,
            0.82,
            0.82,
            0.82
          ]
        },
        {
          "key": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "steps": 20,
          "pulses": 6,
          "rotation": 0,
          "pattern": "x..x...x..x...x..x..",
          "positions": [
            0.0,
            0.15,
            0.35,
            0.5,
            0.7,
            0.85
          ],
          "velocities": [
            1.0,
            0.68,
            0.68,
            0.77,
            0.68,
            0.68
          ]
        },
        {
          "key": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "steps": 20,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x...x...x...x...x...",
          "positions": [
            0.0,
            0.2,
            0.4,
            0.6,
            0.8
          ],
          "velocities": [
            1.0,
            0.62,
            0.62,
            0.62,
            0.62
          ]
        }
      ],
      "events": [
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.15,
          "step": 3,
          "velocity": 0.68,
          "swing": 0.06
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.2,
          "step": 4,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.25,
          "step": 5,
          "velocity": 0.82,
          "swing": 0.06
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.35,
          "step": 7,
          "velocity": 0.68,
          "swing": 0.06
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.4,
          "step": 8,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.5,
          "step": 10,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.5,
          "step": 10,
          "velocity": 0.77,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.6,
          "step": 12,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.7,
          "step": 14,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.75,
          "step": 15,
          "velocity": 0.82,
          "swing": 0.06
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.8,
          "step": 16,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.85,
          "step": 17,
          "velocity": 0.68,
          "swing": 0.06
        }
      ]
    },
    {
      "id": "pl-06-06",
      "title": "Five Over Four Slow Bell Lead",
      "recipe": "Five Over Four Slow",
      "ratio": "5:4",
      "mode": "Slow odd grouping",
      "feel": "five gentle cross-pulses over four main beats",
      "why": "The five-side is slowed down and softened so the listener can still feel the four-beat frame.",
      "cycleSteps": 20,
      "cycleBeats": 4,
      "bpm": 85,
      "swing": 0.04,
      "metrics": {
        "density": 0.25,
        "entropy": 0.7998,
        "meeting_score": 1.0,
        "ground_strength": 1.0,
        "guide_fit": 1.0,
        "space_score": 0.9167,
        "handoff": 0.7486,
        "evenness": 0.42,
        "syncopation": 0.3467,
        "ratio_simplicity": 0.72,
        "groove_score": 0.8833,
        "weave_score": 0.8833,
        "cycle_steps": 20.0,
        "cycle_beats": 4.0,
        "event_count": 15.0
      },
      "voices": [
        {
          "key": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "steps": 20,
          "pulses": 4,
          "rotation": 0,
          "pattern": "x....x....x....x....",
          "positions": [
            0.0,
            0.25,
            0.5,
            0.75
          ],
          "velocities": [
            1.0,
            0.82,
            0.82,
            0.82
          ]
        },
        {
          "key": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "steps": 20,
          "pulses": 6,
          "rotation": 0,
          "pattern": "x..x...x..x...x..x..",
          "positions": [
            0.0,
            0.15,
            0.35,
            0.5,
            0.7,
            0.85
          ],
          "velocities": [
            1.0,
            0.78,
            0.78,
            0.87,
            0.34,
            0.78
          ]
        },
        {
          "key": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "steps": 20,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x...x...x...x...x...",
          "positions": [
            0.0,
            0.2,
            0.4,
            0.6,
            0.8
          ],
          "velocities": [
            1.0,
            0.62,
            0.62,
            0.62,
            0.62
          ]
        }
      ],
      "events": [
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.15,
          "step": 3,
          "velocity": 0.78,
          "swing": 0.04
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.2,
          "step": 4,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.25,
          "step": 5,
          "velocity": 0.82,
          "swing": 0.04
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.35,
          "step": 7,
          "velocity": 0.78,
          "swing": 0.04
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.4,
          "step": 8,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.5,
          "step": 10,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.5,
          "step": 10,
          "velocity": 0.87,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.6,
          "step": 12,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.7,
          "step": 14,
          "velocity": 0.34,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.75,
          "step": 15,
          "velocity": 0.82,
          "swing": 0.04
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.8,
          "step": 16,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.85,
          "step": 17,
          "velocity": 0.78,
          "swing": 0.04
        }
      ]
    },
    {
      "id": "pl-04-08",
      "title": "Bossa Tresillo Turnaround",
      "recipe": "Bossa Tresillo",
      "ratio": "3-3-4-3-3",
      "mode": "Guide pattern",
      "feel": "tresillo-derived guide with steady quarter pulse",
      "why": "The guide pattern has an asymmetric hook while the ground and counter keep the bar easy to locate.",
      "cycleSteps": 16,
      "cycleBeats": 4,
      "bpm": 105,
      "swing": 0.08,
      "metrics": {
        "density": 0.3333,
        "entropy": 0.8632,
        "meeting_score": 1.0,
        "ground_strength": 1.0,
        "guide_fit": 1.0,
        "space_score": 0.7361,
        "handoff": 0.7583,
        "evenness": 0.4396,
        "syncopation": 0.375,
        "ratio_simplicity": 1.0,
        "groove_score": 0.8812,
        "weave_score": 0.8812,
        "cycle_steps": 16.0,
        "cycle_beats": 4.0,
        "event_count": 16.0
      },
      "voices": [
        {
          "key": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "steps": 16,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x...x...x...x..x",
          "positions": [
            0.0,
            0.25,
            0.5,
            0.75,
            0.9375
          ],
          "velocities": [
            1.0,
            0.82,
            0.82,
            0.82,
            0.42
          ]
        },
        {
          "key": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "steps": 16,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x..x..x...x..x..",
          "positions": [
            0.0,
            0.1875,
            0.375,
            0.625,
            0.8125
          ],
          "velocities": [
            1.0,
            0.34,
            0.68,
            0.68,
            0.68
          ]
        },
        {
          "key": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "steps": 16,
          "pulses": 6,
          "rotation": 0,
          "pattern": "x....x..x..x.xx.",
          "positions": [
            0.0,
            0.3125,
            0.5,
            0.6875,
            0.8125,
            0.875
          ],
          "velocities": [
            1.0,
            0.62,
            0.62,
            0.62,
            0.34,
            0.62
          ]
        }
      ],
      "events": [
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.1875,
          "step": 3,
          "velocity": 0.34,
          "swing": 0.08
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.25,
          "step": 4,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.3125,
          "step": 5,
          "velocity": 0.62,
          "swing": 0.08
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.375,
          "step": 6,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.5,
          "step": 8,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.5,
          "step": 8,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.625,
          "step": 10,
          "velocity": 0.68,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.6875,
          "step": 11,
          "velocity": 0.62,
          "swing": 0.08
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.75,
          "step": 12,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.8125,
          "step": 13,
          "velocity": 0.34,
          "swing": 0.08
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.8125,
          "step": 13,
          "velocity": 0.68,
          "swing": 0.08
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.875,
          "step": 14,
          "velocity": 0.62,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.9375,
          "step": 15,
          "velocity": 0.42,
          "swing": 0.08
        }
      ]
    },
    {
      "id": "pl-05-03",
      "title": "Four Over Three Lilt Answer",
      "recipe": "Four Over Three Lilt",
      "ratio": "4:3",
      "mode": "Simple cross-rhythm",
      "feel": "four cross-pulses over three main beats",
      "why": "The counter gives the 4:3 tension, but the foundation makes the three-beat lilt explicit.",
      "cycleSteps": 12,
      "cycleBeats": 3,
      "bpm": 92,
      "swing": 0.07,
      "metrics": {
        "density": 0.3611,
        "entropy": 0.8014,
        "meeting_score": 1.0,
        "ground_strength": 1.0,
        "guide_fit": 1.0,
        "space_score": 0.6204,
        "handoff": 0.7775,
        "evenness": 0.5187,
        "syncopation": 0.3846,
        "ratio_simplicity": 1.0,
        "groove_score": 0.8788,
        "weave_score": 0.8788,
        "cycle_steps": 12.0,
        "cycle_beats": 3.0,
        "event_count": 13.0
      },
      "voices": [
        {
          "key": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "steps": 12,
          "pulses": 3,
          "rotation": 0,
          "pattern": "x...x...x...",
          "positions": [
            0.0,
            0.333333,
            0.666667
          ],
          "velocities": [
            1.0,
            0.82,
            0.82
          ]
        },
        {
          "key": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "steps": 12,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x..x.x..x.x.",
          "positions": [
            0.0,
            0.25,
            0.416667,
            0.666667,
            0.833333
          ],
          "velocities": [
            1.0,
            0.68,
            0.34,
            0.77,
            0.68
          ]
        },
        {
          "key": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "steps": 12,
          "pulses": 5,
          "rotation": 0,
          "pattern": "x..x..x..xx.",
          "positions": [
            0.0,
            0.25,
            0.5,
            0.75,
            0.833333
          ],
          "velocities": [
            1.0,
            0.72,
            0.72,
            0.72,
            0.34
          ]
        }
      ],
      "events": [
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.0,
          "step": 0,
          "velocity": 1.0,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.25,
          "step": 3,
          "velocity": 0.72,
          "swing": 0.07
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.25,
          "step": 3,
          "velocity": 0.68,
          "swing": 0.07
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.333333,
          "step": 4,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.416667,
          "step": 5,
          "velocity": 0.34,
          "swing": 0.07
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.5,
          "step": 6,
          "velocity": 0.72,
          "swing": 0.0
        },
        {
          "voice": "foundation",
          "label": "Ground",
          "color": "#0f766e",
          "frequency": 82,
          "sound": "kick",
          "position": 0.666667,
          "step": 8,
          "velocity": 0.82,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.666667,
          "step": 8,
          "velocity": 0.77,
          "swing": 0.0
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.75,
          "step": 9,
          "velocity": 0.72,
          "swing": 0.07
        },
        {
          "voice": "counter",
          "label": "Counter",
          "color": "#2563eb",
          "frequency": 330,
          "sound": "mallet",
          "position": 0.833333,
          "step": 10,
          "velocity": 0.34,
          "swing": 0.0
        },
        {
          "voice": "guide",
          "label": "Guide",
          "color": "#b45309",
          "frequency": 468,
          "sound": "wood",
          "position": 0.833333,
          "step": 10,
          "velocity": 0.68,
          "swing": 0.0
        }
      ]
    }
  ]
}
