Why spotlight passing is through meshes?

In your snapshots I do not see shadows. Shadows require four things:

  • To be enabled in the renderer (e.g. renderer.shadowMap.enabled = true;)
  • To be enabled in the light (e.g. light.castShadow = true;)
  • To be accepted by the object (e.g. object.receiveShadow = true;)
  • To be generated by the object (e.g. object.castShadow = true;)

Are you sure you have enabled the shadows in the renderer? When I try to recreate your example, the lights look OK. Here is a snapshot: