General Rules for Game objects

Is there a general rule as to when to inherit from a node or layer for your game object?

No.

It all depends on what you’re doing and why.

In my case my Entity objects inherit from a BaseEntity which extends Ref
Each Entity has a Physical Object - which inherits from Ref too - which contains a Box2d body ( in fact it has two - one for when the object is alive, and one when it is dead)
The PhysicalObect also contains a reference to a VisibleObject - which inherits from Node - and contains zero or more child visible objects.
Each visible object contains a single sprite, plus any effects, particle emitters etc.

I’m not saying that’s the right way to go - just putting it out there as an example of what one can do.