store masses/springs inside vector and manage unordered_maps for a state<->index mapping

this reduces the time required to iterate over all masses/springs
because data is stored in contiguous memory
This commit is contained in:
2026-02-24 00:01:04 +01:00
parent 404a76654c
commit bfe8c6d572
4 changed files with 89 additions and 115 deletions

View File

@ -84,7 +84,7 @@ auto StateManager::ClearGraph() -> void {
auto StateManager::FindWinningStates() -> void {
winning_states.clear();
for (const auto &[state, mass] : mass_springs.masses) {
for (const auto &[state, mass] : mass_springs.state_masses) {
if (win_conditions[current_preset](state)) {
winning_states.insert(state);
}