Good job.
The first project is a D2 port proper that tries to keep API semantics This is the 'd2port' branch in my repository.The second project is a more ambitious effort to rewrite some aspects This is the 'master' branch in my repository.
Why isn't it the other way around?