Enhance InstanceMap and ChangeBatcher for unresolved Ref properties

- Added `onInstanceInserted` callback to `InstanceMap` to notify when new instances are tracked, allowing `ChangeBatcher` to resolve pending unresolved Ref properties.
- Updated `createPatchSet` and `encodePatchUpdate` to support handling unresolved Ref properties, deferring their resolution until the target instance is available.
- Implemented logic in `ChangeBatcher` to manage pending unresolved Ref properties and re-queue them when the target instance is inserted.
- Introduced new tests to verify behavior with ambiguous paths and ensure stability when handling duplicate-named siblings.

These changes improve the handling of Ref properties in the system, enhancing synchronization reliability and robustness.
This commit is contained in:
Joe 2026-02-14 12:18:58 -06:00
parent 4070b48308
commit 8f0df692d3
12 changed files with 235 additions and 13 deletions

View file

@ -0,0 +1,3 @@
{
"className": "Part"
}

View file

@ -0,0 +1,4 @@
{
"className": "Part",
"name": "Child"
}

View file

@ -0,0 +1,3 @@
{
"className": "Model"
}

View file

@ -0,0 +1,3 @@
{
"className": "Part"
}

View file

@ -0,0 +1,3 @@
{
"ignoreUnknownInstances": false
}