JSME - Monkey engine with JSweet and WebGL

This is totally doable if you use threejs as a frontend engine,
At present, Threejs can implement a port of recast-detour for navmesh,
It can also implement Bullet physics (Ammo.js)
The engine renders pretty fast, its perks are awesome and broad for this purpose

Here are some of my works during my lazy period done with threejs, great performance also!

https://micicle.glitch.me/

https://waverider404.github.io/voom/