Add Luau-style ref paths migration plan and update related tests

- Introduced a new migration plan for converting `Rojo_Ref_*` attribute paths to Luau require-by-string style, enhancing portability with relative paths.
- Updated existing test snapshots to reflect the new path formats, ensuring consistency across various scenarios.
- Enhanced the `compute_relative_ref_path` and `resolve_ref_path` functions to support the new path semantics, improving path resolution logic.
- Refactored related code in `change_processor`, `syncback`, and `snapshot` modules to accommodate the new reference path handling.

These changes improve the robustness and maintainability of reference path management in the project.
This commit is contained in:
Joe 2026-02-18 04:17:51 -06:00
parent d6169c6d84
commit b8c3520d25
29 changed files with 2147 additions and 179 deletions

View file

@ -15,7 +15,7 @@ body:
Attributes:
"!Attributes":
Rojo_Ref_PrimaryPart:
"!String": Workspace/MyModel/OtherPart
"!String": "@self/OtherPart"
PrimaryPart:
"!Ref": id-4
id: id-3

View file

@ -15,9 +15,9 @@ body:
Attributes:
"!Attributes":
Rojo_Ref_CustomRef:
"!String": Workspace/MyModel/OtherPart
"!String": "@self/OtherPart"
Rojo_Ref_PrimaryPart:
"!String": Workspace/MyModel/Target
"!String": "@self/Target"
CustomRef:
"!Ref": id-4
id: id-3

View file

@ -28,7 +28,7 @@ body:
Attributes:
"!Attributes":
Rojo_Ref_PrimaryPart:
"!String": Workspace/MyModel/Target
"!String": "@self/Target"
id: id-3
packetType: messages
sessionId: id-1

View file

@ -15,7 +15,7 @@ body:
Attributes:
"!Attributes":
Rojo_Ref_PrimaryPart:
"!String": Workspace/NonExistent/Part
"!String": "./NonExistent/Part"
PrimaryPart: ~
id: id-3
packetType: messages