Place the pecans and sugar in a food processor and pulse together for 30 seconds.
In the bowl of an electric mixer, cream together the butter, vanilla, and the pecan sugar mixture, then stir in the flour and salt until just mixed.
Chill the dough for 30 minutes.
Preheat the oven to 325 F.
Use your fingers to press the chilled dough into a 9-inch square baking dish.
Prick the dough with a fork and bake for 10 to 15 minutes, until lightly golden.
Cool the cooked dough wile preparing the remaining layers.
Heat the cream for the pudding in a heavy bottomed saucepan over medium heat.
Stir together the sugar and egg yolks in a mixing bowl.
When the cream is hot (but not boiling), temper the cream into the yolks by slowly adding half the cream while stirring vigorously, then stir the egg mixture back into the cream in the saucepan.
Cook over medium-low heat for 6 minutes, until it is thick enough to coat the back of a spoon.
Place the dark and milk chocolate in a mixing bowl with the butter, vanilla, and salt.
Pour the hot cream mixture over the chocolate and stir until the chocolate and butter are melted.
Spread the pudding in a shallow dish to cool and cover it with a piece of plastic wrap, gently pressed directly on the the surface so a skin does not form.
In a small mixing bowl, beat the cream cheese and 1/2 cup of confectioners' sugar until smooth.
In the bowl of an electric mixer, or with an electric hand mixer, whip the cream to soft peaks.
Add the remaining 2 tablespoons of powdered sugar and whip a few minutes, until stiff peaks form.
Spread the cream cheese over the cooled shortbread crust, top with the pudding, and then add the whipped cream.
Refrigerate for at least 1 hour, or overnight.
Garnish with chocolate shavings.