Enhance scripts-only mode in RojoTree with optimizations and fixes

- Optimized scripts-only mode by implementing a server-side script index for efficient reads and added a `syncScriptsOnly` flag to streamline synchronization.
- Fixed WebSocket ancestor injection to ensure new scripts in pruned subtrees are sent with their full ancestor chain.
- Introduced `DescendantAdded` watchers to detect new scripts created in Studio and send them to the server with appropriate containers.

These changes aim to improve performance and reliability in scripts-only mode.
This commit is contained in:
Joe 2026-02-28 11:17:41 -06:00
parent ec51c14a41
commit 75727171ef

View file

@ -31,6 +31,10 @@ Making a new release? Simply add the new header with the version and date undern
## Unreleased
* Optimize scripts-only mode with a server-side script index on `RojoTree` for O(scripts × depth) reads instead of full-tree walks, send `syncScriptsOnly` flag to the plugin so `ChangeBatcher` skips non-script two-way sync work, and filter non-script updates in the write API as defense-in-depth.
* Fix WebSocket ancestor injection in scripts-only mode so new scripts appearing in previously-pruned subtrees are sent with their full ancestor chain.
* Add plugin-side `DescendantAdded` watchers in scripts-only mode to detect new scripts created in Studio outside the mapped tree and send them to the server with skeleton intermediate containers.
## [8.4.1] (February 19th, 2026)
* Fix spurious diffs during VFS events by removing redundant Rojo reference attributes from snapshot comparisons.