TL;DR
Let's overhaul smart belt — fixing bugs, adding features, and making it handle all possible scenarios! I’m volunteering to implement this.What
I’ve drafted a complete redesign of smart belt, aiming for intuitive, consistent, and useful behavior, and handling all possible cases.Yes, seriously.
Full details here: https://github.com/GlassBricks/new-smart-belt-proposal (includes text spec and blueprint showcase).
The blueprint doubles as a large set of unit tests; the spec explains the design in depth.
Any feedback is greatly appreciated!
I'm especially looking for feedback on intentional behavioral changes[\i] from current smart belt.
I’m seeking feedback from the community and devs on the proposal. I also plan to prototype the implementation, so people can test and give input (as either a mod or web-ui).
Why
Current smart belt behavior is riddled with bugs and many unhandled cases. A lot of people in the Factorio speedrunning discord are constantly complaining about it. Additionally, more features are being added, like the recent belt "un-dragging".
At this point, if we want to fix everything and add more features, it's likely more efficient to redesign it from the ground up rather than individual bug smashing.
This redesign aims to mathematically cover every case. While drafting it, I found that a few small tweaks allows to the spec to support new features, like belt weaving.
Plus, I do love a fun programming challenge, and I'm volunteering to take it on.