@beerwright/core
    Preparing search index...

    Function planStarter

    • Plan a starter: one step if one is enough, two if not, and never three.

      The search tries every combination on the quarter-litre grid up to maxStepL. That's at most a few hundred, so the plan returned is the one that uses the least DME to reach the target.

      • No starter. available ≥ target returns needed: false with no steps. A calculator that always produces a starter teaches brewers to build ones they don't need.
      • One step. The smallest volume on the grid whose yield reaches the target.
      • Two steps. All of step one's yield seeds step two, which is what decanting and pitching the slurry does. Among the pairs that work, the one using the least DME wins, and the smaller first step breaks ties.
      • No plan. Three steps is a lab propagation schedule. It means a week of juggling flasks to save the price of a pack of yeast, so we don't plan one. The result says how many packs would have made a starter unnecessary (StarterPlan.suggestedPackMultiplier) instead.

      Parameters

      • targetCellsBillion: number
      • availableCellsBillion: number
      • options: StarterPlanOptions = {}

      Returns StarterPlan