mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-22 21:41:37 +00:00
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:
parent
4070b48308
commit
8f0df692d3
12 changed files with 235 additions and 13 deletions
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"name": "ref_ambiguous_path",
|
||||
"tree": {
|
||||
"$className": "DataModel",
|
||||
"Workspace": {
|
||||
"$className": "Workspace",
|
||||
"$path": "src/Workspace"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"className": "Part"
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"className": "Part",
|
||||
"name": "Child"
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"className": "Model"
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"className": "Part"
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"ignoreUnknownInstances": false
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue