M1 · Shipped · Meet auto-seed workstream

The wand button. One heat, one click.

The smaller sibling of the M2 wizard. When you're editing a heat and want lanes filled by training PRs without leaving the editor, the wand in the footer does it. Preview sheet shows the engine's candidate heats; pick one and Apply writes lane assignments via the same wire path the manual editor uses.

SETUP

A heat with lanes assigned

This walkthrough drives against the same fixture the M2 walkthrough uses, plus one extra piece: a synthetic currentHeat tied to the 100m event with 8 lanes already filled from the roster. That gives the Heat Editor something to open onto + the wand button's gate something to satisfy (lanes count must be > 0; roster must be non-empty).

The DM Track Archive window just after launch with the fixture loaded.

Mac archive just after launch. The Sample Invitational meet is loaded with the 100m heat ready to edit.

STEP 1

Open the Heat Editor

The Heat Editor lives as its own window scene (⌘⇧H) so you can keep it open alongside Live Meet on a second monitor. Below, the Window menu is open with Heat Editor highlighted so you can see exactly which entry to click.

Window menu open with Heat Editor highlighted in blue, showing its Cmd+Shift+H keyboard shortcut.

Window menu open · Heat Editor highlighted · ⌘⇧H shown next to the entry.

STEP 2

The wand button sits in the footer

The Heat Editor opens onto the current heat — 100m Boys, Heat 1 — showing 8 lanes filled with athletes from the roster. The wand button sits in the footer between the connected-state hint and the lane grid's bottom edge:

Heat Editor window open showing 100m Boys Heat 1 with 8 lanes filled, the wand 'Seed lanes from PRs' button highlighted in the footer.

Heat Editor open on the current heat. The Seed lanes from PRs wand button is the leftmost action in the footer; readers see the highlighted state in this capture.

Gating posture: the wand button is hidden when the heat has zero lanes OR the roster is empty (the engine would have nothing to fill). Otherwise the button is always visible — this graduated from beta on 2026-05-18.
STEP 3

The preview sheet opens

Clicking the wand runs MeetSeedEngine.seed(...) over the roster + this heat's event. The sheet renders the engine's output as side-by-side heat cards — one per candidate heat the engine produced. With 16 athletes and 8 lanes, the engine produces 2 heats: Heat 1 (slowest) and Heat 2 (fastest).

Each lane row shows the athlete's name, the lane number, and a seed-time indicator. The fixture has no prior PR data so every lane carries a yellow seed: none capsule — the engine still routes athletes correctly (no-data lanes go to the slowest heat per locked decision #6), it just can't print a time:

Seed preview sheet showing Heat 1 slowest and Heat 2 fastest side by side, each with 8 lanes of athletes marked seed: none.

Two heat cards from the engine output. Each has an Apply to current heat button — pick whichever maps onto the heat you're editing.

Why pick instead of auto-apply? The operator might be editing "Heat 2 of 3" and want to apply the middle seeded heat, not the fastest. The per-card Apply button lets the coach map any engine-produced heat onto any real meet heat. M2's wizard handles the multi-heat fan-out; M1 stays one-heat-at-a-time on purpose.
STEP 4

Distribution picker — mixed skill mode

At the top of the sheet, the Distribution segmented picker flips between Similar skill (standard) and Mixed skill (tertile + team). Mixed skill spreads athletes across heats so each heat has a fast/medium/slow tertile and athletes from multiple teams — useful for mock heats or practice meets where you want even matchups across the field.

Seed preview sheet with the Distribution picker switched to Mixed skill, athletes re-shuffled across heats.

Distribution flipped to Mixed skill. The engine re-runs instantly; heats are reshuffled.

UNDER THE HOOD

Same engine, scoped to one heat

RELATED

When to use M1 vs the M2 wizard

Use M1 when you've already built the meet structure manually (events + divisions + heats) and want one heat's lanes filled from PRs. Open the Heat Editor, click the wand, pick a seeded heat, Apply. Done in 5 clicks.

Use M2 when you're authoring a meet from scratch and want everything — events, heats, and lane assignments — laid out at once. The wizard walks roster → events → policy → review → commit. Full walkthrough →

← All walkthroughs Home