Update audit plans and documentation for Rojo_Ref_* attributes

- Revised the audit documentation to standardize the naming convention for `Rojo_Ref_*` attributes, ensuring consistency across all references.
- Enhanced the design section to clarify the handling of attribute updates during instance renames, emphasizing the need for accurate path updates.
- Adjusted the processing order in `compute_ref_properties` to prioritize `Rojo_Target_*` attributes, preventing unintended overwrites of `Rojo_Ref_*` attributes.
- Added new tests to verify the correct behavior of reference path changes and ensure robustness against edge cases.

These changes improve the clarity and reliability of the synchronization system's handling of reference attributes.
This commit is contained in:
Joe 2026-02-14 17:00:10 -06:00
parent 699fe60ba5
commit f28ee8435a
8 changed files with 44 additions and 21 deletions

View file

@ -1,5 +1,6 @@
---
source: tests/tests/serve.rs
assertion_line: 869
expression: redacted
---
body:
@ -15,7 +16,9 @@ body:
Attributes:
"!Attributes":
Rojo_Ref_PrimaryPart:
"!String": Workspace/MyModel/Target
"!String": Workspace/MyModel/OtherPart
PrimaryPart:
"!Ref": id-4
id: id-3
packetType: messages
sessionId: id-1

View file

@ -1,5 +1,6 @@
---
source: tests/tests/serve.rs
assertion_line: 988
expression: redacted
---
body:
@ -14,8 +15,12 @@ body:
changedProperties:
Attributes:
"!Attributes":
Rojo_Ref_CustomRef:
"!String": Workspace/MyModel/OtherPart
Rojo_Ref_PrimaryPart:
"!String": Workspace/MyModel/Target
CustomRef:
"!Ref": id-4
id: id-3
packetType: messages
sessionId: id-1

View file

@ -1,11 +1,25 @@
---
source: tests/tests/serve.rs
assertion_line: 928
expression: redacted
---
body:
messageCursor: 1
messages:
- added: {}
- added:
id-4:
Children: []
ClassName: ObjectValue
Id: id-4
Metadata:
ignoreUnknownInstances: false
Name: RefValue
Parent: id-3
Properties:
Attributes:
"!Attributes": {}
Value:
"!Ref": id-5
removed: []
updated:
- changedClassName: ~

View file

@ -1,5 +1,6 @@
---
source: tests/tests/serve.rs
assertion_line: 959
expression: redacted
---
body:
@ -15,7 +16,8 @@ body:
Attributes:
"!Attributes":
Rojo_Ref_PrimaryPart:
"!String": Workspace/MyModel/Target
"!String": Workspace/NonExistent/Part
PrimaryPart: ~
id: id-3
packetType: messages
sessionId: id-1

View file

@ -1,5 +1,6 @@
---
source: tests/tests/serve.rs
assertion_line: 897
expression: redacted
---
body:
@ -12,10 +13,8 @@ body:
changedMetadata: ~
changedName: ~
changedProperties:
Attributes:
"!Attributes":
Rojo_Ref_PrimaryPart:
"!String": Workspace/MyModel/Target
Attributes: ~
PrimaryPart: ~
id: id-3
packetType: messages
sessionId: id-1