Before Trunks became super Saiyan rage (super Saiyan Hikari), he had a battle where he was able to hold, hit, and take apart Goku Black's super Saiyan rosé from super Saiyan blue Goku. How was this possible? We know by that moment Goku Black's super Saiyan rose was stronger than Super Saiyan Blue Goku, which is a transformation stronger than super Saiyan god, which is a transformation stronger than SSJ3, which is a transformation stronger than SSJ2.
In the manga, Toyotaro made SSJ2 Trunks "mastered" and as strong as SSJ3 Goku, but in the anime, SSJ3 Goku knocked out trunks with one punch(even though Beerus commented Trunks was a good fighter). Did Trunks become much stronger after this, because of a zenkai boost or something? Did his sparring later with super Saiyan blue Vegeta and the mental training he did make his SSJ2 much stronger (to the point where he could fight in SSJ2 against Goku Black SSJ Rosé) or is there any other explanation for SSJ2 being able to fight SSJ Rosé?