schema icon indicating copy to clipboard operation
schema copied to clipboard

Clients do not know when children have been filtered

Open r3ndd opened this issue 2 years ago • 1 comments

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.

r3ndd avatar Sep 13 '23 20:09 r3ndd

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!

endel avatar Sep 13 '23 20:09 endel