The vectors containing the weights of each ingredient live in the positive orthant (x >= 0).
When you divide by x by sum(x), the resulting vector p has p >= 0 and sum(p) = 1. That new sum constraint is how you get the simplex.