1. What kind of physics model do you use? Full Coriolis expansion of acceleration terms?
2. Can we add our own lags and forces to components?
3. Can we inject our own motions for bodies and extract other forces from that motion?
4. How do you model impact?
5. How do you handle hydraulic cylinders and your response times?
In reply to your questions:
1. There is a guide with some low level technical description of the Vortex engine in the Vortex Theory Guide.
2. I don't know what you mean by lag, but arbitrary forces or moments can be applied at any time to any body in the simulation.
3. Any body can be moved kinematically (we refer to it as 'animated'), which allows you do define the transform at every time step, and it will interact with the other dynamic bodies in the simulation. Effectively, the body will have infinite mass/inertia.
4. Impacts are modelled through contact properties. There is more detail in the Theory Guide, but in short, material names are assigned to each body, and a table of properties is defined for each pair of material names. It is possible to define a coefficient of restitution that define the bouncing behaviour as soon as objects touch, but more often the opposing forces are calculated continuously based on a spring/damper model in the normal direction, or various friction models in the lateral directions.
5. We generally model hydraulic cylinders as constraints, which prescribe fixed lengths/velocities or maximum forces between two bodies. The exact values of the forces or lengths are calculated using a hydraulics model coded in C++ or Python, which represent the pressures in pumps and positions of valves. Note that this model is stepped in parallel with the physics step, so introduces a lag of one step. Since time steps are usually kept large for performance reasons (often 60 Hz) the hydraulics will probably not capture high-frequency effects.