I'm currently trying to understand the T magic state distillation algorithm described in "Universal Quantum Computation with Ideal Clifford Gates and Noisy Ancillas" [1] (Section V starting on Page 6). I need to understand the basics of magic state distillation in order to understand the motivations for optimization procedures used in another paper [2], which I need to give a talk on for a class. I know the distillation procedure used [2] (Bravyi-Haah) is different from the one described in [1], but [1] seems like a more natural starting point.
As this is background for the class presentation I am to give, my goals with this post are to refine my understanding as I continue to try and understand this topic and (most importantly) to make sure I do not spread any misinformation. That is, I don't expect to achieve 100% understanding from the responses to this post.
I would like to verify which points of the following plain-language laymen's explanation of the magic state distillation procedure described in [1] are incorrect or correct.
Imagining the production of T-states for use in a surface code,
1) Magic state distillation is performed within the surface code
2) The initial step of producing many copies of raw noisy T-states is done through the direct use of a non-fault tolerant T-gate
3) Distillation of these raw states is performed through discarding states which cause nontrivial surface code stabilizer measurements (eigenvalue = -1)
4) The raw states with trivial surface code stabilizer measurements (eigenvalue = 1) are transformed into a single qubit magic state.