ReadonlyamountAmount, kilograms.
ReadonlyclassBehaviour class — drives efficiency and fermentability defaults.
ReadonlycolorColour, degrees Lovibond.
Optional ReadonlydiastaticDiastatic power in °Lintner. None of the calculations use it yet.
Optional ReadonlyextractFine-grind dry-basis extract, % of dry mass (e.g. 80.5).
The maltster's headline yield figure.
Optional ReadonlyfermentabilityOverride: % of this fermentable's extract the yeast consumes (0–100).
Defaults by class — sugar 100, non-fermentable 0, everything else
"whatever the yeast's apparent attenuation is".
Optional ReadonlyfineFine/coarse difference, percentage points subtracted from FGDB to get the coarse-grind figure a homebrew mill actually achieves. Defaults to 0 (i.e. assume the catalog figure is already the usable one).
Optional ReadonlyidCatalog id or a client-side uuid. Opaque to the engine.
Optional ReadonlymoistureMoisture, % of as-is mass (e.g. 4). Defaults by class — see
DEFAULT_MOISTURE_PERCENT_BY_CLASS.
ReadonlynameDisplay name, e.g. "Weyermann Pilsner".
Optional ReadonlyphMash pH data for this malt. If it's set, it overrides the defaults for the malt's class in mashPh.ts.
Optional ReadonlyppgYield as points per pound per US gallon, as-is (e.g. 37).
It's a US customary unit, but we keep it because every catalog and every
competing app publishes it. Converted to points·L/kg internally.
ReadonlyusePoint in the process where it is added.
One fermentable addition in a recipe, carrying catalog-style spec fields.
Provide either extractFineGrindDryBasisPercent (the maltster's published FGDB figure) or ppg. When both are present
ppgwins, because it's the value the user entered as an override.