Migrating surface to webgl. It sorta works!