Skip to content

Multi-Main bump-ups (B-main winner advances into A-main) #234

Description

@ryan-johnson2

Follow-up to #219 (Multi-Main as a first-class finals format).

The first-class multi-main format shipped in #219 is straight tiered mains: the qualifying-ranked field is split into A/B/C-mains by rank, the mains race in parallel, and their results stack into the final standings (A-main → places 1..N, B-main → N+1..2N, …). The mains are independent — there is no advancement between them.

A common MultiGP wrinkle is the bump-up: the top finisher(s) of a lower main advance into the next main up (the B-main winner earns a slot in the A-main, etc.), which turns the independent mains into a dependent ladder run bottom-up (run C-main → seed B-main from C's top + the qualifiers → run B-main → seed A-main → run A-main). This was deliberately deferred from #219.

Design notes (from the #219 generator docs)

  • The generator's trait surface does not change for bump-up — it would emit the lowest main first and seed each higher main from the one below (the dependent-ladder variant), rather than emitting all mains at once.
  • This is a model/engine change (the run order + cross-main seeding), so it should be its own slice, not folded into a UX/polish change.
  • Decide: how many bump up (top 1? top 2?), how the stacked standings account for a bumped pilot's original tier, and how the UI shows the ladder progression.

Scope

  • Engine: a bump-up mode for the multi_main generator (emit lowest main first; seed each higher main from the prior main's top finisher(s) + that tier's qualifiers).
  • Standings: define how a bumped pilot's final placement is computed.
  • UI: surface the bottom-up ladder + which pilots bumped.

Tracking: follow-up to #219.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions