Fix MeshPart/UnionOperation losing mesh data on initial sync
This fix addresses two issues that cause MeshPart and UnionOperation instances to lose their mesh data (MeshId/MeshContent) when reconnecting:
-
Force fallback for mesh-based classes: Instance.new("MeshPart") now succeeds in Roblox (behavior change) but creates an empty mesh with read-only MeshContent property. Force MeshPart, UnionOperation, IntersectOperation, and NegateOperation to use SerializationService fallback mechanism which can properly create these instances with their mesh data.
-
Batch serialize/refPatch API calls: The fallback mechanism was failing with "URL too long" errors when many instances needed serialization because all IDs were concatenated into a single URL. Now processes IDs in batches of 50 to stay within URL length limits.
Fix for this issue: https://github.com/rojo-rbx/rojo/issues/1182
NOTE: Maybe how it's coded can be coded better?
(PS: Untested) (Only copied code from our working forked Repo)