Lets say I have a cylinder model that I load into my webvr scene. How can I make the object solid? I.e. the user (camera view) cannot take any position within the object or
Since I landed here looking for an easier answer (not dealing with custom, but standard AFrame objects), maybe this is not what you want. But if you are just asking for "preventing the camera going through AFrame objects", maybe this will help you.
In the example below, I use AFrame Physics System to manage the physics.
I've copied the kinematic-body component from AFrame Extras, with the name kinema-body (see embedded script) just because it is labeled as "deprecated", so it may dissapear in the future.
You'll see how you can move in the scene, but when reaching an object, you cannot move through it. This works for me both in desktop and in Oculus Go. The trick is easy: the camera is embodied in a kinema-body rig, and objects (plane and box) are static-body. When kinema-body touches static-body, it stops (well, or tries to move around it, depending on how it was moving).