Shipping++ — Changelog
================================

v0.6.2
------
- Local terminals can now be upgraded in place with the vanilla
  upgrade button in the window header, exactly like the vanilla cargo
  depots: the 2-slot terminal upgrades to the 4-slot one and the
  6-slot to the 8-slot (the 4-to-6 step needs a rebuild, as for the
  vanilla depots — that is where the quay doubles in length). The
  upgrade checks that the replacement fits, delivers the materials by
  truck, and keeps everything the terminal owns: ships, lines, berth
  queue, module settings and cargo. Existing ships keep their size;
  ships built after the upgrade match the new terminal size.

v0.6.1
------
Terminal window:
- One offer/request row per product instead of per module. Previously
  two modules storing the same product got separate checkboxes and
  could be configured with conflicting directions; now each cargo type
  has a single checkbox that applies to every module storing it. A
  terminal from an older save with disagreeing directions shows the
  product unchecked and unifies all its modules on the first click.
- Removed the dead network-threshold dropdown. It belonged to the
  automatic network dispatcher; since ships only serve lines, the
  value had no effect on anything. Old saves carrying the setting
  load fine.

v0.6.0
------
Ships in line colors:
- Ships are painted in the color of their shipping line, like trains:
  the white parts of the model (superstructure, railings) take the
  line color, the hull and deck stay as they are.
- Each line has an "Apply line color to ships" checkbox next to its
  color in the lines manager (the ship equivalent of the vanilla
  train-line setting). Enabled by default; unchecking restores the
  vanilla look immediately.

Fuel saver:
- The ship window's "Reduce ship speed & save fuel" checkbox now
  works for local ships, with the vanilla trade-off: 30% less fuel
  per journey at half sailing speed, applied from the next departure.
  A ship running dry also makes its emergency run home at half speed,
  like vanilla ships do.

Fixes:
- Ships no longer wait at anchor for a berth that is visibly free. A
  ship that docked and departed could leave a stale queue entry and
  berth promise behind, which then blocked the dock for every other
  ship until the owner came round the line again.
- A ship refueled after running dry no longer keeps reporting
  "Waiting for fuel" through its whole (possibly rule-extended) stay
  at the dock — and no longer keeps that stale status across
  save/load.
- The ship window no longer shows the vanilla "Available to pick up"
  panel (world-mine quantities) or the per-journey fuel footer
  ("0 / per a single journey, Round trip duration: ?") for local
  ships; neither ever applied to them. Vanilla world ships keep both.

v0.5.0
------
Verified against game version 0.8.7.

Ships now run on lines only:
- Automatic dispatch is gone. A ship serves the line it is assigned
  to, and nothing else — no more cargo moving for reasons you cannot
  see or control. A ship with no line (or whose line has fewer than
  two terminal stops) is out of service: it parks at its home anchor,
  holds no berth, yields the dock to any ship that wants it, and says
  so in its status.

Departure rules per stop:
- Each terminal stop of a line decides when a ship may leave it:
  leave when done (as before), load to a percentage, or unload to a
  percentage — measured against the ship's total cargo capacity. So a
  ship can be made to fill up at an export dock and empty out at an
  import dock instead of leaving the moment the cranes stop.
- This fixes ships bouncing between a full import dock and an empty
  export dock, burning fuel and moving nothing.
- Any waiting rule can be given a timeout, so a stop that never
  reaches its level cannot hold a ship — or the berth behind it —
  forever.
- Rules live on the stop, so the same terminal can behave differently
  on different lines.
- "Depart now" in the ship window works for a docked ship and
  overrules the rule, the transfer in progress and the settle delay.

Selling ships:
- The ship window can sell a ship: it sails off the map and is
  removed. Its build cost, reduced by the game's deconstruction refund
  setting, and any cargo still aboard go to the shipyard like any
  other overflow material.

Fixes:
- Fixed a fleet of ships running dry deadlocking their own home
  terminal: each ship in turn was granted the berth, gave it back to
  "run home for fuel" — which was that same berth — and dropped to the
  back of the queue. The dock stayed empty while every ship waited for
  fuel sitting in it.
- A ship that docks with an empty tank now holds the berth on purpose
  until the terminal refuels it, and its status names the fuel to
  deliver. It no longer occupies a waiting slot at a terminal it
  cannot reach.
- The lines manager shows what each ship is carrying, as absolute
  amounts, next to its name.

v0.4.2
------
- Fixed a save-loading error ("Entity 'LocalTerminal' has two different
  instances with the same ID: 0") when a save contains two or more
  local terminals. Dock queues, berth assignments and cargo plans could
  get mixed up between terminals right after loading; they now restore
  correctly. Existing saves are unaffected beyond the fix — the save
  format is unchanged.

v0.4.1
------
Mod compatibility:
- Fixed local terminals and their modules silently falling back to
  vanilla cargo depot behavior (import-only modules, only world-minable
  products selectable) when another installed mod also patches the
  cargo depot with Harmony. The mod's module handling now always takes
  effect for local terminals regardless of other mods' patches.
- The lines manager button in the toolbar now appears with the research
  that unlocks the local cargo terminal, instead of being available
  from the start of a new game.
- If another mod still manages to block the terminal simulation, the
  log now reports it as an error naming every mod patching the cargo
  depot — please include your log file when reporting issues.

v0.4.0
------
Home ports:
- The ship window now shows a local ship's home terminal, and you can
  give the ship a new home by clicking another terminal on the map.
  Note that cargo in ship modules the new home does not have is lost.
- Ships whose home terminal was demolished are no longer stuck: they
  raise a "Cargo ship has no home port" warning, release any berth they
  were blocking, and go back into service the moment you give them a
  new home port.
- Local ships no longer sit in the vanilla depot's ship slot, so
  demolishing a terminal never destroys a ship with it.

Fuel:
- Local ships can be refitted to another fuel type from the ship
  window, the same way vanilla cargo ships are. Previously the refit
  was charged but never took effect, because it only completes for
  ships out at the world map. It now completes as soon as the ship is
  idle.
- A terminal's fuel buffer follows its own fleet: when a refitted ship
  docks at its home terminal, the buffer switches to the new fuel and
  the old stock goes back to your assets. Newly built ships are
  commissioned with the fuel their terminal handles.

Lines and terminals:
- A ship assigned to a line no longer falls back to automatic dispatch
  when the line has no usable route. It waits and says so ("Assigned
  line has no usable route"), instead of quietly sailing network trips
  while claiming to be on the line.
- Stop rows in the lines manager show each terminal module's product
  with a live fill percentage, with quantities and the module's
  shipping direction in the tooltip.
- Local terminals and navigation buoys now show up in the research
  tree, next to the cargo depots that unlock them.

Translations:
- All of the mod's texts can now be translated. Drop a translation
  file into the mod's Translations folder and it is used for the
  language you play in; see the readme in that folder. Texts the game
  itself already provides are taken from the game, so they are already
  translated everywhere.

v0.3.0
------
Terminal tiers — bigger docks, bigger ships:
- The local cargo terminal now comes in all four vanilla cargo depot
  sizes (2/4/6/8 module slots), grouped into one toolbar entry with
  a size popup like the vanilla depots, unlocked by the same
  research tiers.
- Bigger terminals build bigger ships: each tier's ship matches the
  terminal's module count. Ship cost scales per module (60 Vehicle
  Parts II + 50 Steel per module, so the smallest ship still costs
  120 + 100). Any local ship can dock at any terminal regardless of
  size.
- Building a ship requires at least one module on the terminal (a
  ship mirrors its home terminal's modules and would otherwise sail
  empty-handed). Partially equipped terminals are fine — their ships
  gain the missing cargo modules automatically when more modules are
  built later.
- Waiting ships anchor with spacing based on their actual size, so
  large ships no longer overlap at anchor.

Shipping lines manager overhaul (vanilla trains manager design):
- The window now mirrors the vanilla train lines manager: lines list
  with color badge, stop/ship counts and selection arrow; detail
  panel with rename title; stops shown on a line-colored route
  diagram with numbered badges.
- Stops are reordered by dragging their handle, exactly like train
  schedule stops.
- Lines have colors: pick from the vanilla train-line palette in the
  line header; the color drives the list badge and route diagram.
- Stops are added by clicking terminals and buoys directly on the
  map: candidates glow yellow, the hovered one green, stops already
  on the line white. Hold shift to add several stops in a row;
  right-click or Escape to finish. (The old add-stop dropdown is
  gone.)
- Stop rows have focus-camera and remove buttons; ship rows show
  home terminal and assignment with focus and assign/unassign.
- With no line selected, the first line is selected automatically.
- A warning appears when a line has fewer than two terminal stops.

v0.2.1
------
- Added this changelog to the mod package (no gameplay changes).

v0.2.0
------
Fleets — multiple ships per terminal:
- The build-ship button can now be used repeatedly: build as many
  ships as you like at each terminal. Extra ships arrive over the
  ocean from the map edge and sail in; the terminal window shows how
  many ships call it home. Freshly built ships are commissioned with
  fuel from the terminal's fuel buffer.
- Each dock serves one ship at a time: arriving ships queue up and
  hold at anchor seaward of the dock, and when the berth frees up
  exactly one ship — the head of the queue — moves in. Waiting ships
  show "Waiting for a free berth" as their status.
- A docked ship that has nothing left to do yields the berth to
  waiting ships and rides at anchor instead of blocking the dock.
- Ships plan their cargo per trip and account for what other ships
  are already fetching or delivering, so a fleet no longer chases
  the same goods to the same terminal.
- A ship that cannot afford the fuel for its next leg makes a free
  emergency run to its home dock to refuel (previously a dry ship
  could end up stranded at sea forever).

Balance:
- Ship build cost changed from 600 Construction Parts III to
  120 Vehicle Parts II + 100 Steel, matching the cargo depot's
  CP2-era research tier.

Navigation buoys:
- Buoys are free to place and float at sea level (previously they
  could sink under water at the ocean floor's depth).
- New procedural buoy model (red/white lathe body with a topmark)
  replacing the placeholder beacon, used for the placed buoy, the
  build ghost and the toolbar icon.
- Buoys can be renamed like other buildings.

v0.1.0
------
Initial version: local cargo terminals (built on your own coast) with
ships hauling products between them; offer/request terminal modules
with network thresholds; automatic dispatch plus optional shipping
lines with fixed stops (terminals and buoys) managed in the shipping
lines window; ships built on site from delivered materials; vanilla-
style fuel per journey.
