Black needed to put a stop to you after 25) Bd3 and instead allowed your attack to build. Even if he gives you the exchange back to save himself....
I think black needed g6 here to put a stop to that diagonal, as a starting point. But I think in the end he will have to trade a rook for your knight it he cannot force a queen trade. If he CAN force a queen trade, black might win, due to material advantage and breaking your attack --- that bishop is worthless in the long run if he could weather the attack (and I think he could have).
another attack in the scandinavian. black made mistakes.