TrafficLineObjectModel
Model wrapper for traffic line objects (accidents, road works, intermediate points) that tracks their visibility state for animation purposes.
This class implements a "delayed removal" pattern to support smooth exit animations in the UI. When an object passes behind the user's position, it cannot be immediately removed from the list because the UI needs time to animate its disappearance. Instead, the object is marked for removal via isRemoved, allowing the UI layer to observe this state change and trigger the exit animation.
Lifecycle:
Object is created and added to the visible list with
isRemoved = falseWhen the object passes behind the user, ViewModel sets
isRemoved = trueUI observes this change and starts the exit animation
On the next update cycle, the object is removed from the list entirely