Preheat oven to 350°F. Grease and flour three 9-inch round cake pans.
Beat butter until creamy. Gradually add sugar, beating until light and fluffy.
In a separate bowl, sift flour, baking powder, and salt together.
Add dry ingredients alternately with milk to the butter mixture, beginning and ending with flour. Stir in vanilla.
In a clean bowl, beat egg whites with cream of tartar until stiff peaks form. Gently fold into the batter.
Divide batter evenly into prepared pans. Bake for 20–25 minutes or until a toothpick comes out clean.
Cool layers in pans 10 minutes; remove and cool completely on wire racks.
To make frosting, combine sugar, water, cream of tartar, salt, and egg whites in a double boiler. Beat constantly over boiling water for 7 minutes until stiff peaks form.
Remove from heat, add vanilla, and beat 2 minutes more until thick and glossy.
Assemble cake: Place one layer on a cake plate, spread frosting, and sprinkle with coconut. Repeat with remaining layers. Frost sides and top of cake, then cover completely with coconut.
Chill until ready to serve.