Repository navigation
Voidrunner v1.7.0: Data sheets
Voidrunner v1.7.0 is data sheets. Dense screens that were paragraphs are now labelled rows and tables, with the figures you decide on picked out in color. The ship's computer also works out more for you: which contracts are about to expire, whether a route arrives in time, what fuel a route needs, and what a crew task still needs.
What's new
- Data sheets (#39).
- Contract page: CHECKS rows for cargo, hold, fuel, deadline, danger and cash. Each row ends in ● fine, ▲ a problem, ◆ worth knowing or ? unknown. MONEY runs from payout to net, and one dim footnote covers what every estimate leaves out.
- Contract route: the same sheet, with a LAST HOP section after each flown leg.
- Encounters: derelicts and distress calls list one option per row. Good odds are green, middling amber and poor red. Payouts are green, and risks bold red.
- Combat: the bars drain in place. Incoming damage, the odds of each choice, and bribe and surrender costs stand out from the text around them.
- Survey, crew task, crew roster, Archive: labelled rows and tables in place of sentences.
- Status (Pilot Record): job and log counts on the views row, the balance the next rank needs, the crew under the ship, and career paths as a table. All the explanations are one dim NOTES block.
- Command Deck results: journey results show the place bold and the detail dim.
- Narrow terminals: at 40 columns the sheets stack their columns. Nothing is dropped.
- Wide console. From 130 columns, the console grows up to 112 wide and keeps 30 columns for the canopy. Up to 129 columns, nothing changes.
- The ship's computer, parts two and three (#41).
- Due HERE: docking at a delivery target without enough cargo says how short you are and whether this market sells it.
- Promised cargo: the sell prompt splits what's promised to contracts from what's spare, and asks before selling promised cargo. Contract pages no longer count cargo another contract is owed.
- Futures: each matured order says where it waits. One still waiting here means the hold is too full.
- Deadlines: an untracked contract within 3 days of its deadline, or one whose route can't make it, gets a deck row. Example: "Contract #2 expires in 2 days, 3 jumps away (late)". Each chart departure shows the soonest deadline it leads toward, e.g.
#2 2d. - Crew tasks: the deck shows progress and where to hand a task in, or that it's ready here. The market names Machinery the engineer needs, and workshop materials on one dim line.
- Route fuel: the yard shows what the tracked contract's route burns and what to buy: "3 jumps, 14 fuel; tank 9, buy 5 (30cr)". It counts refuel stops when the route burns more than a full tank.
- Upgrades: the deck's Yard entry says how many upgrades you can afford now.
- Fix: a 40x12 freeze. A page with room only for a section rule and a table heading passed them from page to page forever. It could happen when a long result was showing as the Status screen opened. Now fixed.
NetBBS: saved data unchanged; netbbs.json unchanged since v1.5.0. Runs on NetBBS 7.31.0 or later.
Upgrading
Replace voidrunner.py. Nothing else changes. The release still carries netbbs.json and SHA256SUMS.
What's next
- #46: a log of recent results in the wide console's spare space.
- #48: one named constant for the fuel price.
Validation
- Tests: 3,056.
- CI: Python 3.11 and 3.13 on Linux and Windows; the release workflow ran the suite again before publishing.
- Code review: Claude reviewed #43 and #47; their findings were fixed, or filed as issues. #44 was play-tested. #44 and #45 had no review.
- Release files: both assets match
SHA256SUMSand are byte-identical to the tag.
Full changelog: v1.6.0...v1.7.0