Both vowels and consonants have vocalic place features. Vowels and glides are fully specified for voc features, but:
[left=A, voc=A, right=A]. [left=A right=B] --> [left=A, right=B]. [left=A right=B] --> [left=A], [right=B].
[] --> ([spread=A] / [left=A]). [] --> ([right=A] \ [spread=A]).
[spread=A] --> ([] / [spread=A]). [spread=A] --> ([spread=A] \ []).
cons:[coda=A, GLIDE, voc:[grv=A, height=close, -rnd]] --> "l". cons:[-coda, GLIDE, voc:[+grv, height=mid, rnd=A], spread:[rnd=A]] --> "r". cons:[-cnt, ... voc=A, spread=A ...] ---> ... cons:[-son, ... voc=A, spread=A ...] ---> ...
The following examples illustrate allophonic variants of /s/ in onset, with a "clear" or "dark" spectrum, depending on whether /s/ coarticulates with the vowel or with the glide: