Preheat the oven to 170C/325F/Gas 3. Grease and flour three 23cm/9in cake tins.
For the shortbread base, sift the flour into a bowl, add the sugar and rub in the butter. Press the mixture into the base of one of the cake tins and bake in the oven for 25-30 minutes or until golden-brown.
For the sponge, increase the oven to 190C/375F/Gas 5. Whisk together the eggs and sugar until pale and fluffy then add the warm water. Mix together the flour and ground almonds in a separate bowl then fold into the egg mixture, one third at a time, with a large metal spoon.
Divide the mixture between the two remaining cake tins and bake for 12-15 minutes or until golden-brown but still slightly springy in the middle. Turn the cakes onto a wire rack to cool.
For the mousse, whisk the six egg yolks with the caster sugar until pale and fluffy. (Reserve one tablespoon of the caster sugar.)
Whisk the four egg whites in a clean bowl then fold in the remaining caster sugar.
Fold the melted chocolate into the egg yolk mixture, then fold in the cream, and finally the egg whites. Place the mixture in the fridge to chill.
Whisk the cream in a bowl until stiff peaks form when the whisk is removed. Add almond liqueur, to taste.
To assemble the cake, remove the shortbread base from the tin and place on a serving plate. Cut the sponge cakes in half horizontally and sprinkle them with a little almond liqueur. Pipe or spread a little of the mousse onto the shortbread, add a layer of sponge, spread over some mousse and scatter over a quarter of the crushed amaretti biscuits. Repeat these layers of sponge, mousse and amaretti then decorate the cake with swirls of the whipped cream. Top each swirl with a crystallised violet.