Train Station Monitor


Tracks every train station's load over time and shows a compact timeline per station.

Utilities
a month ago
2.1
30
Trains

Changelog

Version: 0.6.2
  Features:
    - When a station is expanded, its per-stop lines are sorted by the train product (the stopped
      train's first product, else the nearest en-route train's); stops with no product go last.
  Changes:
    - Train amount/capacity (the stopped-train count and all content-bar tooltips) is now formatted
      with k/M/B suffixes via util.format_number (e.g. 50k, 1.2M). Top-level counts are unchanged.
Version: 0.6.1
  Changes:
    - Narrowed the station-name column by ~30%.
    - Distance text is now regular weight (was bold).
    - The train stopped at a stop now shows the exact amount/capacity (e.g. 2000/4000) in grey after
      its content bar; en-route trains still show only the bar + distance.
Version: 0.6.0
  Features:
    - Trains are now clickable: click a train's icon to open its train window.
    - Each top-level station row now shows the number of stops as [N] (in Factorio's GUI blue)
      right after the name, and the trains-going / available-spots count right-aligned.
  Changes:
    - Inline icons (station icon, arrow, product icons) are now sized to text height instead of
      rendering at their full 64px source size.
    - En-route distance is shown as [Nm] in Factorio's GUI blue (matching the train menu).
    - Removed the station-name tooltip (all of that information is now shown directly).
Version: 0.5.2
  Changes:
    - Each train is now a single line: the en-route distance is shown inline after the content bar
      instead of on a second line.
Version: 0.5.1
  Bugfixes:
    - The expanded view listed too many trains: get_train_stop_trains() returns every train that
      merely has the stop in its schedule (and the same train for every same-named stop). Now only
      trains whose current destination is that specific stop are shown (matches trains_count).
Version: 0.5.0
  Features:
    - The expanded view now shows, per physical stop, the trains on that stop: the train currently
      at the stop (after a station icon), then an arrow, then the en-route trains nearest-first.
    - Each train shows its cargo as a product icon + a short fill bar (current amount vs. a full
      train of that product), for both items and fluids; exact numbers are in the bar's tooltip.
    - En-route trains show their straight-line distance to the stop.
    - Long lines scroll horizontally.
Version: 0.4.1
  Changes:
    - Expanding is now single-station (accordion): opening one station closes the previously
      open one.
Version: 0.4.0
  Features:
    - Click a station name to expand an inline row of per-stop "chips", one per physical stop of
      that name, each showing its current trains_count / trains_limit (color-coded by state).
    - Click a chip to open that exact stop's native train-stop window (works across surfaces).
    - The expanded station is remembered per player (survives refresh, close/reopen, and save/load).
Version: 0.3.0
  Features:
    - Stations are now grouped into collapsible per-surface sections (headers shown only when more
      than one surface has stations).
    - The selected time range and per-surface collapsed/expanded state are remembered per player
      across closing the window and across save/load.
  Changes:
    - Standard list styling: recessed deep frame, zebra-striped rows, and a divider between the name
      and timeline columns.
    - Station names are rendered as native selectable list rows (highlight on hover). Clicking a
      station does nothing yet.
Version: 0.2.0
  Changes:
    - Colors swapped: full (at limit) is now green, below limit is now red.
    - Timeline now drawn as two thin lines (~3px) centered vertically: full just above the row's
      middle, below limit just below it; neutral as thin grey lines straddling the center.
Version: 0.1.0
  Features:
    - Tracks every train station's load over time, aggregated by station name across all surfaces.
    - Compact per-station timeline (left = past, right = now) with selectable range: 1m / 10m / 1h / 10h.
    - Two-band step trace: red top = at train limit (full); green bottom = below limit;
      grey full-height = no limit set or circuit-disabled; gap = station did not exist yet.
    - Live auto-advancing view (refreshes once per second while open).
    - Toggle via Ctrl+T (rebindable) or the top-right shortcut button.
    - Automatic vertical scrolling once there are more stations than fit on screen.
    - Runtime settings: sampling interval, timeline width, default range.
    - Remote interface "train-station-history": open / close / toggle (player_index), plus
      poll_now and dump (force_index) for scripting and tests.