What
I wrote a GUI tool that adds grouping on top of the orders plugin: work
orders get put into named groups, groups get bundled into loadouts,
and a full set of loadouts is a profile you can switch in one click
(e.g. peace vs wartime). It also exports a profile to a compact share token
for trading setups between players.
It's Lua-only, Zlib, and shells out to orders import rather than
reimplementing it. It reads groups from the built-in library/* orders and
the user's dfhack-config/orders/ files, and only removes orders it added
itself, so it doesn't disturb orders the player or tools like autocheese
created outside it.
It's on the workshop as a mod right now:
https://steamcommunity.com/sharedfiles/filedetails/?id=3784821619
Why in-tree
The orders plugin handles a flat list, but there's no way to toggle a
subset on/off together, switch a whole setup at once, or share one. This
seems to cover a chunk of what #5407 (selective import/export, mark
inactive, editor) and #3555 (orders in folders by industry) ask for.
More concretely, I think this earns its place because it sits cleanly on top
of what's already there: it reuses the orders import path and the built-in
library rather than forking them, so it's additive, not a replacement. It
also respects orders it didn't create, which is the part that usually trips
up work-order tooling and makes people afraid to use it. And being Lua-only
means it's a small, self-contained review.
Happy to do whatever refactoring it needs to merge — just point me at
what you'd want changed.
What
I wrote a GUI tool that adds grouping on top of the
ordersplugin: workorders get put into named groups, groups get bundled into loadouts,
and a full set of loadouts is a profile you can switch in one click
(e.g. peace vs wartime). It also exports a profile to a compact share token
for trading setups between players.
It's Lua-only, Zlib, and shells out to
orders importrather thanreimplementing it. It reads groups from the built-in
library/*orders andthe user's
dfhack-config/orders/files, and only removes orders it addeditself, so it doesn't disturb orders the player or tools like autocheese
created outside it.
It's on the workshop as a mod right now:
https://steamcommunity.com/sharedfiles/filedetails/?id=3784821619
Why in-tree
The
ordersplugin handles a flat list, but there's no way to toggle asubset on/off together, switch a whole setup at once, or share one. This
seems to cover a chunk of what #5407 (selective import/export, mark
inactive, editor) and #3555 (orders in folders by industry) ask for.
More concretely, I think this earns its place because it sits cleanly on top
of what's already there: it reuses the
ordersimport path and the built-inlibrary rather than forking them, so it's additive, not a replacement. It
also respects orders it didn't create, which is the part that usually trips
up work-order tooling and makes people afraid to use it. And being Lua-only
means it's a small, self-contained review.
Happy to do whatever refactoring it needs to merge — just point me at
what you'd want changed.