I guess it could turn like a tank, needs to change the sign of engine force applied to the wheels to be different on each side when turning, or brake one side.
Only the wheels that touch the ground are rotating with animate_wheels() currently, but you could rotate it manually via
geomob. The same for the steering wheel: first call get_geomob(0) to get the geometry object, then get the joint of the steering wheel and call one of the rotate methods on it.
function init_vehicle() {
this.geom = this.get_geomob(0);
this.swheel = this.geom.get_joint("your steering wheel node");
}
function update_frame(...){
...
this.geom.rotate_joint_orig(this.swheel, angle, {x:0,y:0,z:1});
}
This assumes you have the steering wheel as an object with rotation axis aligned with z, change if needed.
Once there's a specific track physics, it will solve the wheel rotation problem as well as other things. But I didn't think it through yet completely.