Malte Langkabel 3d2f043f7e Implement direct output-to-input port coupling
When an emerging output item reaches the port edge and there is no belt to
hand off to, it now transfers straight into a directly adjacent building
whose input edge meets the port (REQ-MAT-DIRECT-COUPLE): the item is placed
onto that building's input belt at progress 0.0, reserving a buffer slot.
On rejection (not an input, buffer full, entry busy, or an unbuilt site) it
stays stuck at the producer's port as before.

Factors the input acceptance (HQ building-block case, required-input check,
reservation) and the input-belt deposit into shared helpers reused by both
tickBeltPull and the coupling handoff. Transit between two touching
buildings is occluded by both, so it is not drawn (accepted for now).

Adds tests for a valid coupling delivering end to end and for a coupling to
a non-consumer leaving the producer jammed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DZR44tA8sn4dPqDzAVXyps
2026-07-14 19:44:46 +02:00
2026-07-12 09:16:49 +02:00
2026-04-19 10:19:27 +02:00
Description
No description provided
20 MiB
Languages
C++ 96%
CMake 2.2%
Python 1.1%
C 0.7%