Away3D TypeScript Dev
Our role during the project has been in the areas of WebGL interfacing, algebra math, GLSL, core porting and the adaptation of these to adhere to the existing Away3D API effectively. The result was a collaboration to develop TypeScript packages for Geom, Display3D, Display and BitmapData, Utils etc that attempt to mimic the Flash API as closely as practicable whilst also adding some additional functionality for GLSL shaders. This effectively makes working with the new classes intuitive and familiar when coming from the AS3 language (which, incidentally, resembles some of the TypeScript constructs and structures).
The process has involved multiple layers of reverse engineering of the Flash framework and the incorporation of some of Adobes own code (Kindly given to us by Adobe themselves – Thank you Adobe).
The brilliant Karim Beyrouti was on a mission to port a large subset of the core Away3D classes (which he managed incredibly quickly) whilst I worked on some core porting and AS3 style libraries. I then followed this with systems that would carriage the data through an AGAL to GLSL translation system along with adaptations for particular cases that are enforced by the code derived from Adobes own code. This was a period of development that would require all subsystems to slot together at the end. After everything was ready, a few tweaks and out popped our visual demo running on the full view stack of the new TypeScript Away3D system.
We are already moving into the main debugging phase. As you can imagine, over 300 classes in 8 weeks means a lot to debug but having a visual is a major milestone and will prove to aid the debugging effort considerably. There are a few things left to add such as animators and file format parsers but we are now well on the way to bringing a complete Away3D JS / TypeScript library to the HTML5 world.
You can get all of the code today from the GitHub repo at: