Awesome. What you call “integration,” I think I had included that in “Engine”. I like your terminology better.
I have been working on a set of Physics Debug visualization classes and it seems beneficial for me to indicate which layer each of those classes digs into.
Does this cover all the layers?
Plugin → HavokPhysics.d.ts → HavokPhysics_es.js → WASM
I’ve been calling these:
Plugin → Engine (everything not Plugin)
I think you referred to:
Plugin → Integration → Engine?
I kind of prefer:
Plugin → Integration → Interface → Engine
What do you think?
The npm package linked below refers to that returned by HavokPhysics the “interface”. I can’t quite tell if this is consistent with my preference.
In my preference above, Plugin and Integration are provided by Babylon while Interface and Engine are provided by Havok. My interest in defining these at all is to provide documentation for my debug visualization.
Short name (type) - access (more info)
- Plugin (HavokPlugin) - returned from constructor “new HavokPlugin(…)” (doc) (code)
- Integration (plugin._hknp) - (code: HavokPhysics.d.ts)
- Interface (HavokPhysics) - (doc?) (code: HavokPhysics_es.js HavokPhysics_umd.js)
- WASM - I haven’t found SDK reference docs, but see below for a few interesting links.
Additional references:
- Github Examples for and link to 2014 blog post about the free Havok C++ library and SDK availability.
- Link to Havok npm package where the return from HavokPhysics() is called “havokInterface” then sent as parameter to HavokPlugin(…) constructor.
- Link to Havok Physics Dynamics C code from 2009.