When a ray is cast outwards from the listener, it bounces multiple times around the environment. The position of the bounce, the primitive that was hit, and the energy lost are all stored in an object called a Trail. On each bounce, line-of-sight (LOS) rays are also cast towards the listener and each voice. The results of these LOS rays are also stored in the Trail. Rather than casting every ray every single frame, these Trails are stored in an array and only updated when primitives or voices move. This cache is an important optimisation that enables raytracing to run in real time in complex scenes. There are a few scenarios to be aware of that will clear this cache: - teleporting the listener large distances - moving the world bounds - changing `maxVoices`, `trailBounceCount`, `reverbRayCount`, `occlusionRayCount` or `permeationRayCount` Changing material properties, or the material of a primitive, currently does not clear the cache. This is a known issue and is being worked on.