mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 05:51:39 +00:00
Enhance syncback functionality and improve matching process
- Implemented live syncback via the Studio plugin, enabling Roblox to filesystem synchronization during `atlas serve` sessions. - Added `SyncbackRequest` structure and API protocol validation for plugin-initiated syncback. - Introduced `SyncbackConfirm` UI component for user confirmation of live syncback operations. - Enhanced matching module with reference identity checks, caching, and valid children tracking. - Updated deduplication logic to start suffix numbering at `~2` and improved attribute indexing in `RefPathIndex`. - Refactored animation goal settings for instant transitions and updated color handling in the Reconciler. These changes significantly enhance the syncback process and improve the overall performance and maintainability of the matching module.
This commit is contained in:
parent
72ad84b5a7
commit
c3cb9b4b98
2 changed files with 46 additions and 1 deletions
|
|
@ -212,8 +212,9 @@ fn build_result(
|
|||
old_children: &[Ref],
|
||||
new_matched: &[bool],
|
||||
old_matched: &[bool],
|
||||
matched_indices: Vec<(usize, usize)>,
|
||||
mut matched_indices: Vec<(usize, usize)>,
|
||||
) -> MatchResult {
|
||||
matched_indices.sort_by_key(|&(ni, _)| ni); // TODO: this seems sketchy?
|
||||
let matched: Vec<(Ref, Ref)> = matched_indices
|
||||
.into_iter()
|
||||
.map(|(ni, oi)| (new_children[ni], old_children[oi]))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue