To make the topping, butter an 8-inch round cake pan and line with parchment. Put the butter and sugar a heavy bottom skillet in the and place the pan over medium heat. Heat, stirring occasionally, until the butter is melted and the sugar has dissolved. Pour into the prepared pan and scatter the cranberries over the butter-sugar mixture. Set aside.
In a small bowl, whisk together the flours, baking powder, and salt.
In a large bowl and using an electric mixer on medium speed, cream the butter, scraping down the sides of the bowl as necessary, until the butter is lighter in color, about 45 seconds. Then add sugar in a steady stream and scrape down the bowl again. Continue to mix on medium speed until the mixture is very light in color and texture, about 4 to 5 minutes.
Slowly pour in the eggs a little at a time, and beat very well for about 2 minutes.
Combine the vanilla and milk in a small bowl or measuring cup.
With the mixer on low, add the flour mixture in four doses, alternating with the milk in three doses. Scrape down the sides of the bowl in between additions.
Pour the batter carefully on top of the cranberries in the cake pan and smooth the top with a rubber spatula. Preheat the oven to 350°F. Let the batter rest while the oven heats.
Then place the cake in the oven and bake for 30-35 minutes, until a toothpick inserted in the center comes out clean and the edges are starting to come away a bit from the sides of the pan.
Remove cake from the oven and set on a rack to cool for 30 minutes then turn out onto rack and peel off the parchment if necessary to finish cooling completely.
Cake will keep, in an air-tight container in the fridge, for up to 5 days. Serve at room temperature, although cold, straight from the fridge, is also delicious.