{{ tr('title') }}

#{{ batch.batchNum }} {{ batch.recipeTitle }} ({{ formatStepTimer(batch.timerSeconds) }}) (Ready)

⋮⋮{{ tr('liveTracker') }}

{{ formatSecondsToHMS(activeBatch.globalStopwatchSeconds) }}
{{ tr('elapsed') }}
{{ tr('targetRise') }} ~{{ projectedRise }}% in {{ formatMinutesToHM(projectedRiseTime) }}
{{ tr('basedOn') }} {{ formatMinutesToHM(estimatedBulkFermentTime) }} dynamic process
{{ tr('liveTemp') }} {{ unitT }}
▶️ {{ activeBatch.steps[activeBatch.activeStep].name }}
{{ formatStepTimer(activeBatch.timerSeconds) }}
⏭️ {{ tr('next') }}: {{ activeBatch.steps[nextStepIndex].name }}
{{ activeBatch.steps[nextStepIndex].duration }} {{ tr('mins') }}
{{ tr('bulkProgress') }} {{ bulkProgressPercentage }}%
{{ step.name }}
{{ ((step.duration / Math.max(1, estimatedBulkFermentTime)) * 100).toFixed(1) }}%

⋮⋮{{ tr('tempEngine') }}

{{ tr('graphLegend') }}

⋮⋮{{ tr('timeline') }}

{{ step.name }} {{ step.duration }}m {{ tr('actionHold') }} 💧 +{{ isImperial ? gToOz(step.adjustWaterWeight) : step.adjustWaterWeight }}{{ unitW }} @ {{ isImperial ? cToF(step.adjustWaterTemp) : step.adjustWaterTemp }}{{ unitT }}

{{ step.comment }}
{{ formatStepTimer(activeBatch.timerSeconds) }}

⋮⋮{{ tr('recipe') }}

{{ tr('totalFlour') }}
{{ isImperial ? gToOz(totalFlourWeight) : totalFlourWeight }}{{ unitW }}
  • {{ f.name }}: {{ isImperial ? gToOz(f.weight) : f.weight }}{{ unitW }} ({{ getFlourPct(f) }}%)
{{ item.name }}
{{ isImperial ? gToOz(getIngredientWeight(item)) : getIngredientWeight(item) }}{{ unitW }} ({{ item.percentage }}%)

📖 {{ tr('recipeTitle') }}:

📈 {{ tr('liveTemp') }} (Preview)

{{ tr('recipe') }}

IngredientWeight ({{ unitW }})%Act
🌾 {{ tr('totalFlour') }} ({{ isImperial ? gToOz(totalFlourWeight) : totalFlourWeight }}{{ unitW }})
%
💧 {{ tr('otherIng') }}

%
🎯 {{ tr('targetYield') }}: {{ unitW }}
{{ tr('scaleNote') }}

{{ tr('tempEngine') }} Setup

{{ tr('roomTemp') }} {{ isImperial ? cToF(activeBatch.temps.room).toFixed(1) : Number(activeBatch.temps.room).toFixed(1) }}{{ unitT }}
{{ tr('flourTemp') }} {{ isImperial ? cToF(activeBatch.temps.flour).toFixed(1) : Number(activeBatch.temps.flour).toFixed(1) }}{{ unitT }}
{{ tr('waterTemp') }} {{ isImperial ? cToF(activeBatch.temps.water).toFixed(1) : Number(activeBatch.temps.water).toFixed(1) }}{{ unitT }}
{{ tr('starterTemp') }} {{ isImperial ? cToF(activeBatch.temps.starter).toFixed(1) : Number(activeBatch.temps.starter).toFixed(1) }}{{ unitT }}
{{ tr('estInitTemp') }} {{ isImperial ? cToF(estimatedDoughTemp).toFixed(1) : estimatedDoughTemp.toFixed(1) }}{{ unitT }}

{{ tr('timeline') }} Setup

⋮⋮
⏳ {{ step.name }}
{{ tr('mins') }} {{ step.duration }}
{{ unitW }} @ {{ unitT }}