From c79ac0cd62a247e036023113079288eb890fb8cc Mon Sep 17 00:00:00 2001 From: mlangkabel Date: Thu, 16 Apr 2026 22:54:11 +0200 Subject: [PATCH] splitter filters requirements --- docs/requirements.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/requirements.md b/docs/requirements.md index bb2958b..aeaca19 100644 --- a/docs/requirements.md +++ b/docs/requirements.md @@ -53,7 +53,12 @@ The following config files drive game parameters: - REQ-BLD-15: **Shipyard** (4×2): The player selects a blueprint. Automatically produces one ship of that type whenever all required materials are present in its input buffer. Ship material requirements are defined in ships.config. - REQ-BLD-16: **Salvage Bay** (3×2): A dedicated drop-off point for salvage ships. Scrap delivered here is placed onto connected output belts. - REQ-BLD-17: **Belt** (1×1): Transports items. Available in straight and curved variants. -- REQ-BLD-18: **Splitter** (1×1): Distributes incoming items alternately between two output directions. If one output is blocked, items are sent to the other output until it unblocks. +- REQ-BLD-18: **Splitter** (1×1): Distributes incoming items between two output directions. Each output can optionally have a filter (a list of item types), configurable via the selected building panel. Routing rules: + - An item matching only one output's filter is routed to that output. + - An item matching both outputs' filters is distributed by strict alternation between those outputs. + - An item matching neither output's filter is routed to the unfiltered output. If both outputs have a filter and the item matches neither, the splitter stalls and moves no items until the situation is resolved. + - If neither output has a filter, items are distributed by strict alternation. + - In all alternation cases, if one output is blocked the item goes to the other output until it unblocks. ## Material Transport & Buffers