I looked at the thread above, however I did not see any closure as to whether that approach was good. Matt had the comment below but I did not see a follow up answer.
"Cesium does not actually know what billboards are visible. It only knows if any single billboard in a collection is visible and then everything else is done on the GPU and none of that information is retrievable.
Attempting to detect what visualisation is on the screen after the fact is almost always the wrong way to go about whatever problem you are encountering. (View based visualisation where you retrieve data or only create data for the visible view is a different story, i.e. streaming terrain/imagery/large vector data sets).
If you can explain your exact use case, I’d be happy to suggest some possible solutions; what feature/behaviour are you trying to implement?"