# TrackFastRack
A tiny standalone Forge 1.20.1 mod that fixes a performance hot-spot in Create's railway code by applying
the track-network **flood-fill optimisation** to the published Create mod — no forked Create needed.
## The problem
Whenever a track is placed or broken, Create's `TrackGraph#findDisconnectedGraphs` runs a connected-component
flood fill over the entire rail network. In released Create (≤ 6.0.8) the BFS frontier is an `ArrayList`, and
popping from the head via `ArrayList#remove(0)` shifts the whole backing array on every pop — making the flood
fill O(n²).
On a large rail network (~80k nodes), a single track modification can walk **billions of elements**, causing
noticeable stutter and lag spikes while building or rerouting long train lines.
## The fix
This mod injects a single Mixin that replaces the frontier with an `ArrayDeque` (`poll()` is O(1)) and swaps
`stream().findFirst()` for a plain iterator, turning the flood fill into **O(n)**. The change is a faithful port
of Create fork commit `272e97604` ("Optimise train network hot paths").
## Verify it's working
On game start the mod logs `TrackGraph flood-fill self-test OK`, proving the optimised method bound correctly at
runtime.

