Rojo enables Roblox developers to use professional-grade software engineering tools https://rojo.space
Find a file
Joe 1a1d9ce886 Implement new recursive change-count matching algorithm for instance reconciliation
- Introduced a comprehensive rewrite of the matching algorithm, replacing the previous multi-pass approach with a recursive change-count scoring function and greedy assignment strategy.
- Updated the `hydrate.lua` and `matching.lua` files to utilize the new algorithm, enhancing the efficiency of instance matching during hydration.
- Documented the new algorithm's structure, including fast-paths for Ref pins and (Name, ClassName) grouping, which significantly improve matching accuracy and performance.
- Ensured that the new implementation maintains compatibility with existing systems while providing a more robust solution for handling ambiguous instances.

These changes enhance the clarity and efficiency of the reconciliation process, paving the way for improved project management and user experience.
2026-02-17 03:54:06 -06:00
.cargo Use new Cargo config.toml convention 2021-07-12 13:19:36 -04:00
.config Add project configuration and test files in JSON5 format 2026-01-30 09:16:46 -06:00
.cursor Implement new recursive change-count matching algorithm for instance reconciliation 2026-02-17 03:54:06 -06:00
.github/workflows Enable submodule checkout in CI and release workflows 2026-02-09 23:05:37 -06:00
.vscode Update Luau LSP and project configurations 2026-02-15 16:19:35 -06:00
assets Update Luau LSP and project configurations 2026-02-15 16:19:35 -06:00
benches Add plugin build flag (#735) 2023-07-17 19:15:40 -07:00
build/windows Support long file paths on Windows (past 256 limit) (#464) 2021-08-23 15:21:01 -04:00
crates Enhance VFS initialization and error handling 2026-02-11 20:13:02 -06:00
plugin Implement new recursive change-count matching algorithm for instance reconciliation 2026-02-17 03:54:06 -06:00
rbx-dom@3cd393d73a 8.1.0 2026-02-11 02:10:23 -06:00
rojo-test Update snapshot files to standardize messageCursor values 2026-02-15 01:33:31 -06:00
scripts Update audit plans and documentation for Rojo_Ref_* attributes 2026-02-14 17:00:10 -06:00
src Implement new recursive change-count matching algorithm for instance reconciliation 2026-02-17 03:54:06 -06:00
test-projects Improves sourcemap path handling with pathdiff 2026-02-09 23:31:44 -06:00
tests Complete implementation of the 3-pass matching algorithm for ambiguous path handling 2026-02-17 02:43:25 -06:00
vscode-rojo@f18e6d4c52 Update logging levels in Rojo plugin and enhance test plans 2026-02-11 17:10:35 -06:00
.dir-locals.el Plugin dev ux improvements (#992) 2024-11-10 15:53:58 -08:00
.editorconfig Changed file extensions of init command from lua to luau (#831) 2024-01-05 16:00:49 -08:00
.git-blame-ignore-revs Create .git-blame-ignore-revs & Add Stylua pr (#787) 2023-09-19 05:56:39 +00:00
.gitattributes Set linguist language of lua files to luau (#956) 2024-08-02 10:03:57 -07:00
.gitignore Add .env to .gitignore and update dependencies 2026-02-09 22:20:33 -06:00
.gitmodules Add vscode-rojo submodule and update schemas for Atlas rebranding 2026-02-07 11:56:14 -06:00
build.rs Upgrade dependencies and refactor serialization in build.rs 2026-02-06 18:57:29 -06:00
Cargo.lock Bump version to 8.3.0 2026-02-15 16:28:55 -06:00
Cargo.toml Bump version to 8.3.0 2026-02-15 16:28:55 -06:00
CHANGELOG.md Bump version to 8.3.0 2026-02-15 16:28:55 -06:00
CONTRIBUTING.md Fix a grammar error and a typo (#1113) 2025-09-16 11:00:34 -07:00
install.ps1 Add vscode-rojo installation script execution to install scripts 2026-02-08 16:30:55 -06:00
install.sh Add vscode-rojo installation script execution to install scripts 2026-02-08 16:30:55 -06:00
LICENSE.txt Tweak bottom of README, move LICENSE to LICENSE.txt 2019-01-18 20:57:19 -08:00
plugin.project.json Refactor project configuration to use .json format 2026-01-30 10:06:32 -06:00
README.md Update README to reflect new GitHub repository link 2026-02-07 13:58:59 -06:00
rokit.toml Update Luau LSP and project configurations 2026-02-15 16:19:35 -06:00
selene.toml Move to using Rokit, update tools, and don't install unnecessary tools (#1109) 2025-08-29 18:45:15 -07:00
testez.yml Update selene (#550) 2022-06-12 03:41:49 -04:00

Rojo
 
Actions status Latest server version Rojo Documentation

Rojo is a tool designed to enable Roblox developers to use professional-grade software engineering tools.

With Rojo, it's possible to use industry-leading tools like Visual Studio Code and Git.

Rojo is designed for power users who want to use the best tools available for building games, libraries, and plugins.

Features

Rojo enables:

  • Working on scripts and models from the filesystem, in your favorite editor
  • Versioning your game, library, or plugin using Git or another VCS
  • Streaming rbxmx and rbxm models into your game in real time
  • Packaging and deploying your project to Roblox.com from the command line

In the future, Rojo will be able to:

  • Sync instances from Roblox Studio to the filesystem
  • Automatically convert your existing game to work with Rojo
  • Import custom instances like MoonScript code

Documentation

Documentation is hosted in the rojo.space repository.

Contributing

Check out our contribution guide for detailed instructions for helping work on Rojo!

Pull requests are welcome!

Rojo supports Rust 1.88 and newer. The minimum supported version of Rust is based on the latest versions of the dependencies that Rojo has.

License

Rojo is available under the terms of the Mozilla Public License, Version 2.0. See LICENSE.txt for details.