[[Satisfactory]]
[[2025-09-29 Satisfactory Planning]] <-> N/A
# Satisfactory Planning
## Tileable Storage Array
Two primary inputs:
- Manual sorting (inventory dump)
- Automatic input from factories
For manual sorting, I want it to:
- Reject invalid items (send down the manual sorting line)
- Sort into Dimensional depot until overflowed
- Sort into primary storage until overflowed
- Send any additional overflow to the Awesome Sink
For automatic input from factories, I want it to:
- Reject invalid items (send down manual sorting line)
- Sort into dimensional depot until overflowed
- Sort into primary storage until overflowed
- Allow remaining overflow to backup system, so that the originating factory can decide what to do with excess (usually sink it with a dedicated sink, to avoid exceeding the belt speed limit from multiple items overflowing at once - aka the primary flaw with the current system)
LTR and RTL variants to allow choosing whether you want to expand to the left or right.
```mermaid
flowchart TD
manual-input(Manual Input)
factory-input(Factory Input)
primary-storage[(Primary Storage)]
dimensional-depot[(Dimensional Depot)]
awesome-sink[(Awesome Sink)]
invalid-items[(Invalid Input - Reject)]
smart-splitter-manual-input{{Smart Splitter}}
smart-splitter-factory-input{{Smart Splitter}}
merger-storage{{Merger}}
merger-invalid-items{{Merger}}
factory-input ==> smart-splitter-factory-input
smart-splitter-factory-input ==>|Valid Item| merger-storage
smart-splitter-factory-input -.->|Invalid Item| merger-invalid-items
manual-input ==> smart-splitter-manual-input
smart-splitter-manual-input ==>|Valid Item| merger-storage
smart-splitter-manual-input --->|Overflow| awesome-sink
smart-splitter-manual-input -.->|Invalid Item| merger-invalid-items
merger-storage ==> primary-storage
merger-invalid-items -.-> invalid-items
primary-storage ==> dimensional-depot
```
```mermaid
flowchart TD
manual-inventory-input(Inventory Storage Dump)
unknown-items[(Unknown Items Storage)]
awesome-sink[(Awesome Sink)]
manual-inventory-input ==>|Manual Input Conveyor| steel-plates-storage-tile
steel-plates-storage-tile ==>|Manual Input Conveyor| copper-wire-storage-tile
steel-plates-storage-tile ==>|Overflow Conveyor| copper-wire-storage-tile
copper-wire-storage-tile ==>|Manual Input Conveyor| unknown-items
copper-wire-storage-tile ==>|Overflow Conveyor| awesome-sink
subgraph steel-plates-storage-tile[Steel Plates Storage Tile]
direction TB
steel-plate-manual-input(Manual Input Conveyor)
steel-plate-manual-output(Manual Input Conveyor)
steel-plate-overflow-conveyor-input(Overflow Conveyor)
steel-plate-overflow-conveyor-output(Overflow Conveyor)
steel-plate-factory-input(Steel Plate Factory Input)
smart-splitter-manual-steel-plate{{Smart Splitter}}
smart-splitter-steel-plate-factory-input{{Smart Splitter}}
merger-steel-plate-storage{{Merger}}
merger-steel-plate-overflow{{Merger}}
merger-steel-plate-invalid{{Merger}}
steel-plate-primary-storage[(Primary Storage)]
steel-plate-dimensional-depot[(Dimensional Depot)]
steel-plate-manual-input --> smart-splitter-manual-steel-plate
smart-splitter-manual-steel-plate -->|Steel Plate| merger-steel-plate-storage
smart-splitter-manual-steel-plate -->|Overflow| merger-steel-plate-overflow
smart-splitter-manual-steel-plate -->|Invalid Item| merger-steel-plate-invalid
steel-plate-factory-input --> smart-splitter-steel-plate-factory-input
smart-splitter-steel-plate-factory-input -->|Steel Plate| merger-steel-plate-storage
smart-splitter-steel-plate-factory-input -.->|Invalid Item| merger-steel-plate-invalid
merger-steel-plate-storage --> steel-plate-primary-storage
steel-plate-primary-storage --> steel-plate-dimensional-depot
steel-plate-overflow-conveyor-input ---> merger-steel-plate-overflow
merger-steel-plate-overflow --> steel-plate-overflow-conveyor-output
merger-steel-plate-invalid --> steel-plate-manual-output
end
subgraph copper-wire-storage-tile[Copper Wire Storage Tile]
direction TB
copper-wire-manual-input(Manual Input Conveyor)
copper-wire-manual-output(Manual Input Conveyor)
copper-wire-factory-input(Copper Wire Factory Input)
smart-splitter-manual-copper-wire{{Smart Splitter}}
smart-splitter-copper-wire-factory-input{{Smart Splitter}}
merger-copper-wire-storage{{Merger}}
merger-copper-wire-overflow{{Merger}}
merger-copper-wire-invalid{{Merger}}
copper-wire-primary-storage[(Primary Storage)]
copper-wire-dimensional-depot[(Dimensional Depot)]
smart-splitter-manual-copper-wire -->|Copper Wire| merger-copper-wire-storage
smart-splitter-manual-copper-wire -->|Overflow| merger-copper-wire-overflow
smart-splitter-manual-copper-wire ==>|Invalid Item| merger-copper-wire-invalid
copper-wire-factory-input --> smart-splitter-copper-wire-factory-input
smart-splitter-copper-wire-factory-input -->|Copper Wire| merger-copper-wire-storage
smart-splitter-copper-wire-factory-input -.->|Invalid Item| merger-copper-wire-invalid
merger-copper-wire-storage --> copper-wire-primary-storage
copper-wire-primary-storage --> copper-wire-dimensional-depot
end
```