Using a stand mixer on medium speed, cream butter, sugar, and salt until light and fluffy, scraping down the sides and bottom of the bowl as necessary. This should take about 3 minutes and you will see the mixture noticeably lighten in color. Since this recipe contains no baking soda or powder, you want to make sure not to skimp on this step.
Add the whole egg, mix and then the yolk and vanilla, beating until fully incorporated.
Add flour, mixing on low until just combined. Don't over mix!
Divide dough into two parts and wrap tightly in plastic wrap. (I lay the wrap on the counter, scoop the dough on to it and wrap.) Refrigerate for AT LEAST an hour, up to 48 hours in order to firm up the dough. This step cannot be skipped or short cut. Your dough should feel firm and not sticky when it's ready to be rolled. If you try to work with it before it is chilled properly, your cookies will stick. If it is very warm outside, or your butter very soft when you started, chilling may take more than an hour.
Cover two baking sheets with parchment paper or a silicone baking mat.
Dust work station and rolling pin with with flour and roll dough out to 3/8-inch thick. Don't be afraid to use more flour as you go if things start to stick. Cut into hearts using a 3-inch cookie cutter and transfer to prepared baking sheets with a spatula.
Refrigerate for 15 minutes to re-firm up cookies. This will stop them from spreading in the oven. Preheat oven to 375 degrees F.
Bake until cookies are just golden on the bottom edges, 9-12 minutes (more if you used larger cookie cutters). Allow to cool completely before icing.