I think my point is getting lost. What I am trying to say is, I think the game should completely separate the terms "line of sight" and "cover".
Rules are written, someone behind a pane of glass has total cover, because they are behind an obstacle. Total cover means that there is not a clear path to the target. This means that a caster cannot target that person with any spell (Basic Rules, page 80).
I think this is silly. A sheet of glass should not protect against charm and vicious mockery and the like.
My fix would be to define "cover" as something that is substantial enough that it can stop projectiles. The game mechanic for this is Armor Class. Half cover, +2 AC; three quarter cover, +5 AC; full cover; attack rolls always miss. If something involves an attack roll then cover applies. If it doesn't, then cover is irrelevant.
I would define "line of sight" as "can you see the target". If you can, then you can affect it. If you can't, then you can't.
So, a pane of glass stops fire bolt but not sacred flame or charm person. A rice-paper wall stops sacred flame and charm but not fire bolt (though since you are effectively attacking an invisible target, disadvantage applies to the attack roll). A stone wall stops all of the above.
Wall of force provides full cover but does not block line of sight.