Thoughts on possible future modifications of this type based on other games ...
1) Perhaps have a figurative diamond shaped bounding box or maybe a circle and only move the camera when these bounds are crossed. This would allow for greater viewing area in front of the player when walking in a specific direction. This would require previous chase_active coordinates to be stored and to be aware of things like teleportations. Since I guess this would be useful for up/down as well and since introducing 2D into 3D would be bad. Maybe cvars to define a tolerance and stick with a sphere for simplicity purposes (simple radius). If the player's origin exceeds the current bounds of the sphere, relocate the sphere and refresh the camera position.
2) Perhaps the option to not try to clip move the camera from a wall and use a calculation for each brush or object that is between the player and the view origin and apply alpha.
Yes, certainly not new ideas but occasionally I think of the overhead view style of play.