feat: implement optimal assignment using Hungarian algorithm in matching process

- Added a new function for minimum-cost bipartite matching via the Hungarian algorithm to improve the efficiency of the matching process.
- Refactored existing matching logic to utilize the new algorithm, replacing the previous greedy assignment approach.
- Updated relevant documentation to reflect changes in the matching strategy.
- Enhanced performance in ambiguous group matching scenarios.
This commit is contained in:
Joe 2026-03-07 17:55:50 -06:00
parent 43ede3bc0e
commit d26f82b4f2
6 changed files with 414 additions and 151 deletions

View file

@ -90,22 +90,9 @@ in all 3 matchers, simply randomize the order of the children - this will break
can we allow the terminal to stay so i can like run some git commands myself without having to make a whole new terminal?
i also want to just cleanup terminals / use one terminal for syncback and serve...
[multi place clone]
make clone support multi-placeids like we did with defend-67 in D:\UserGenerated\place-for-defend-67 (i did this manually)
see specifically game/ and game.project.json5, lobby/ and lobby.project.json5.
atlas clone PLACEID1 PLACEID2 .....
This is extremely helpful for games that have diverged places within the same game, e.g. a lobby and an actual game place
we will probably have to start dynamically generating the x.project.json5 rather than using a template file now though, which is fine..
[syncback]
optimize syncback like we did serve.
[sourcemap / luau-lsp]
we need to fix "luau-lsp.sourcemap.generatorCommand": "atlas sourcemap default.project.json5 --output sourcemap.json --include-non-scripts --watch",
and make luau-lsp actually use the 'atlas' cli...
[two way sync]
so the plugin isnt respecting two-way sync for glob ignore
basically if a new script is on studio that isn't in atlas but even though it's glob ignored, it still tries to two-way sync it over and say there has been a change
[hit up coelho]