@riffraff Fascinating. I didn’t make a grid at all. Instead for part 1 I just maintained a hash set of ints where there was a tachyon, and then just iterated through each line and created two new ones whenever there was an overlap with the splitters.
Second part I used a dfs-inspired approach with memoization/dynamic programming.
https://github.com/teotwaki/aoc/blob/main/2025/07/src/lib.rs