im currently working on a game project on my university, using Bullet as physicengine.
I have a general question on a major design problem.
First, we are using a selfmade grahpicsengine, which so far works good with bullet, also because of this forum, so i have to thank you all in advance

I also searched a lot to find some hints, but without success...
Currently we are just using the collisionpipeline. So our game entities (Spaceships and so on) are just collision/ghost objects.
We are planning to give the ship, which can be controlled by the player, some hardpoints like weapons. We want to handle them as individuals, so they can be hit/destroyed seperatly by other players/AI.
Now the problem is, that as far as i know bullet does not provide some sort of hierarchie for the collisionobjects. In the scenegraph of our graphicsengine it
is possible for example to set the weapon as the child node of the chassis. But the collisionworld should be the one, who updates the positions, not the other way around.
So is it somehow possible to create a hierachie with bullet, so that a weapon is alway at the same relativ position towards a parent chassis collision object?
I already read about compoundShapes, which seems to solve this problem. But on the other hand it opens many new questions.
As far as i know the advantage of collisionshapes is that one can use only one instance for many similar objects. If i would use compoundshapes now, i would think that i have to create every Compundshape and its childnode seperatly for every spaceship entity.
The other thing of which one can think of are constraints, but they seem to be only used for rigidbody simulation, which would cost us performance and as i would think it would not be really stable.
So is there maybe a better way to solve such a problem, which i missed on my research?