Glu = stock.glu + tare.glu; Ino = stock.ino + tare.ino
stock/tare tables in broth-model.ts (site assumption)
USM = 1 + 0.15×min(Glu,Ino)/100; if Glu≥90 and Ino≥90 → USM=1.35
Umami Synergy Multiplier (wiki model)
Emulsion(T): 86–92°C→1; <85°C→0.62; ≥95°C→0.88; else mid bands 0.78/0.94; ×(1+stock.emulsionStock)
Piecewise holding temperature (wiki model)
raw = (Glu×Ino)^0.72 × USM × Emulsion(T); display Umami = round(raw×0.118) + signatureBoost; if T<80°C: Umami−8, Aroma−12
Scaled 0–100 for UI; not in-game umami meter
Brix ≈ stock.brix + tare.brix + 4.2 (1 decimal)
Relative sweetness/solid estimate (wiki model)
Aroma = stock.aroma + tare.aroma + noodleDelta[barikata|futsu|yawarakame]
Deltas: 2/0/-3
Suggested price = round(cost×3.2/10)×10; ROI% = ((price−cost)/cost)×100
Margin heuristic for planning only