I wonder what would it take to have the decision-making code (planning/movement.cpp) be Lua, not C++. That would allow to experiment with algorithm variation very quickly, e.g. just updating a file with Lua code, without recompiling and restarting.
Cool!
One suggestion, your language can be more specific, I had a hard time figuring out what was going on. You know this will be for drone formations, so:
"Every simulation is modelled as a scenario. You can add multiple nodes to your world in a scenario."
A scenario is a single formation? or Multiple formations (with the transitions encapsulated)? Nodes are just drones?
I realize you might be adopting the language from some ROS framework, but for you specific situation you can make it so much easier to read!
Very interesting. I’ve been working on a small library called SpinStep — it's a Python-based quaternion traversal framework that steps through trees based on orientation thresholds, rather than positional hierarchy. I designed it with spatial decision-making in mind, and while it's still early-stage, it might complement Ketu’s orientation handling or be interesting for modeling formation logic.
Totally open-ended — no expectations at all. Just thought I’d share it in case it aligns with any future ideas you’re exploring.
https://github.com/VoxleOne/SpinStep