Skip to content

Commit 4361c3d

Browse files
committed
docs: document the logistics throughput display
Add a "Size your logistics" bullet to the README feature list and a data-model note in docs/data-pipeline.md covering the belts/loaders/inserters tables, tech_stack_bonuses, and the swing-model port. Refs #21
1 parent cd39fd0 commit 4361c3d

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ planner that actually understands Py's tangled recipe graph.
1818
- **Balance the whole factory.** Every block's boundary flows (imports/exports)
1919
roll up into a factory-wide ledger so you can see deficits, surpluses, and how a
2020
change in one block ripples through the rest ("what-if").
21+
- **Size your logistics.** A toggle (the **Logistics** header control) shows, per
22+
row, how many **belts** carry each item and how many **inserters or loaders**
23+
feed one building at the planned rate — sized against your current research
24+
(belt/inserter stacking follows the Horizon), with the belt/inserter tier and a
25+
stacking override picked globally. A quick feasibility check for whether a build
26+
is even possible with inserters or wants loaders.
2127
- **Browse the data.** A searchable catalogue of every item, fluid, and recipe in
2228
your exact mod set — used-in / produced-by, ingredients, products, machines.
2329
- **Track TURD choices.** Py's "There's Usually a Recipe Difference" tech upgrades

docs/data-pipeline.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,3 +106,15 @@ deliberate choices:
106106
the model as goods (1 unit = 1 MJ) so a reactor recipe gets sized to a block's
107107
heat draw, but they're filtered out of normal import/byproduct lists and surfaced
108108
separately as power/heat in watts.
109+
- **Logistics prototypes**`belts`, `loaders`, and `inserters` tables capture the
110+
bits needed to size belt/inserter counts per block row (the **Logistics** display,
111+
issue #21): belt/loader `speed`, and per-inserter `rotation_speed` /
112+
`extension_speed` / pickup+drop vectors / `bulk` / `max_belt_stack_size`. Stacking
113+
research lives in `tech_stack_bonuses` (one row per tech per effect:
114+
`belt-stack-size-bonus`, `inserter-stack-size-bonus`, `bulk-inserter-capacity-bonus`),
115+
summed over the in-effect tech set (`queries.stackBonuses`, following the research
116+
horizon) to derive the current belt placed-stack and inserter hand stack. The
117+
throughput math is a pure module (`app/src/lib/logistics.ts`) — belts are
118+
`speed × 480 × stack`; inserters use the swing model ported from the in-game
119+
`inserter-throughput-lib` (inventory→inventory case). The per-row arithmetic runs
120+
client-side so changing belt/inserter tier is instant (no re-solve).

0 commit comments

Comments
 (0)