Back when being a student, I remembered following GNU Gnash effort to support for AS2 and AS3, they took years, but in the end, still could only make it work partially. Flash was still dominant in the browsers at the time, yet nobody managed to port to Gnash before it died.
I wonder how Ruffle get it working so fast.