Clients do not know when children have been filtered
Right now clients cannot distinguish between a child of an array/map being filtered and a child simply not being updated. While this may be desirable for certain applications, it is undesirable for things like distance filtering where the client does not know if an entity stopped moving or if it is out of range. It would be nice to have a "hard" or "remove" filter that triggers the onRemove event for a child on a particular client when that child is filtered, and that triggers the onAdd event when then child stops being filtered. This would require making the filtering stateful so it knows if a child has already been filtered for a particular client, but this is necessary for certain applications.
Hi @r3ndd, thanks for taking the time to raise the discussion.
The plan is to deprecate the current implementation of filters (see roadmap)
I still don't have a clear implementation direction yet, but it has been clear that calling the "filter callback" at every patch is not great - and re-encoding the same thing for every player is also not great!