Cybersyn Buffer Control

by a632079

A station buffer controller for Cybersyn: stop fresh loading, recover inserter hands and loader/belt buffers without deleting items, then release the train. Explicitly selected loading and unloading groups.

Utilities
a month ago
2.0
14
Trains

Changelog

Version: 0.3.1
Date: 2026-09-06
  Bugfixes:
    - Separate loading and unloading fallback storage in every cleanup phase and in mixed-cargo overfill recovery.
    - Recover unambiguous per-device storage associations for legacy manual bindings during upgrade without releasing devices.
    - Classify legacy shared fallbacks by path role; disable unclassified entries instead of guessing a destination.
    - Reject known opposite-side fallback storage and keep blocked tail items until a valid receiver has room.
  Features:
    - Show separate loading/unloading fallback lists and disabled legacy entries in the controller panel.
Version: 0.3.0
Date: 2026-09-05
  Features:
    - Color-code native dot-matrix states: blue idle, cyan loading, orange unloading, yellow cleanup/warnings, green ready, red errors.
    - Separate loading, unloading and warehouses into independently scrolling panels.
    - Show names and coordinates on separate lines with compact square remove buttons.
    - Add per-entity preview positioning with centered fitting and persistent focus highlight.
    - Add preview zoom controls and reset of position, zoom and focus.
    - Add a separate remote-map action that closes the panel and highlights the target for five seconds.
Version: 0.2.5
Date: 2026-09-05
  Bugfixes:
    - Recognize legacy-straight-rail throughout station discovery, track traversal and loader/inserter endpoint resolution.
    - Support existing Nullius straight platforms without replacing their rails.
Version: 0.2.4
Date: 2026-09-05
  Bugfixes:
    - Allow arrival repair when LuaTrain.station already points to the correct station but Cybersyn has not registered arrival.
    - Continue rejecting moving trains, other stations and deliveries already registered as loading/unloading.
    - Report missing check signal at the train stop or disabled Send to train after buffers are empty.
Version: 0.2.3
Date: 2026-09-05
  Bugfixes:
    - Recognize Cybersyn temporary rail-coordinate stops even when get_stopped_train() returns nil.
    - Match stationary trains by delivery station ID and current schedule target.
    - Apply the same train detection to configuration guards.
    - Report unregistered arrivals instead of incorrectly showing idle.
  Features:
    - Add an explicit GUI repair for malformed temporary named arrivals.
    - Restore rail waypoint plus named-station arrival and check-signal wait condition, then let real arrival events register the delivery.
Version: 0.2.2
Date: 2026-09-05
  Features:
    - Replace floating status text with native green dot-matrix screen glyphs.
    - Reuse vanilla screen and LED pixels, glow and four-direction screen positions.
    - Show idle, loading, unloading, preflight, draining, ready, setup and error states.
  Safety:
    - Screen operations have no output signal; the departure circuit stays independent.
    - Remove legacy floating badges when upgrading existing controllers.
Version: 0.2.1
Date: 2026-09-05
  Bugfixes:
    - Mixed deliveries now enforce exact per-item and per-quality order quantities.
    - Shared buffer transfer budgets prevent one item from consuming another item's cargo space.
    - Recover natural loader/inserter overshoot from cargo before continuing or releasing the train.
    - Pause safely if excess cargo cannot be recovered; preserve every item.
  Features:
    - Calculate minimum stack slots and available cargo slots, respecting inventory bars and foreign cargo.
    - Show mixed-order slot requirements and capacity/recovery errors in the controller GUI.
    - Keep allowed overdelivery for single-product orders.
Version: 0.2.0
Date: 2026-09-05
  Features:
    - Bounded discovery of nearby stations and complete loading/unloading paths.
    - Configurable 8-128 tile square scan radius, default 32.
    - Source-aware recovery and multiple explicit fallback warehouses.
    - Dedicated GUI with station selector, camera, device lists and map location actions.
    - Player-local hover/pinned range and device overlays.
    - Persistent controller status display matching the tooltip state.
  Safety:
    - Reject open, shared, cyclic, unsupported and out-of-range paths.
    - Detect conflicting ownership and multiple stops on the same scanned track.
    - Preserve existing 0.1.0 recovery bindings during migration.