Problem
Most planner quantities are currently entered and displayed as per-second rates. That is mathematically consistent, but it is awkward for common planning cases:
- science targets are easier to think about as
5/min or 10/min
- slow bootstrapping goals may be
1/hr or 0.5/hr
- some goals are not really throughput targets at all; they mean "make sure this building or item chain exists somewhere so required intermediates are covered"
Desired behavior
Allow users to choose a time window/unit for rate goals instead of forcing per-second input everywhere. At minimum, support seconds, minutes, and hours. The solver can continue normalizing rates internally, but the UI should preserve the user-facing unit so saved goals remain understandable.
Examples:
10 science/min
5 science/min
1 building/hr
0.5 building/hr
Stock / coverage goal angle
There may be a better model for the "keep X buildings in stock / make sure required intermediates are being made" use case than pretending it is a tiny throughput. Consider a distinct goal type such as a coverage, bootstrap, or stock goal that expands required intermediates without implying a meaningful continuous production rate.
Questions to resolve:
- Is this only a display/input unit preference, or should saved block goals store their selected rate window?
- Should the solver keep one canonical rate unit and only convert at boundaries?
- Do stock/coverage goals need separate semantics from normal output-rate goals?
- How should mixed units appear in block summaries and assistant output?
Acceptance criteria
- A user can enter and view goals in per-second, per-minute, or per-hour terms.
- Existing per-second blocks continue to load and solve unchanged.
- Saved goals remain understandable after reload, including their selected unit/window where applicable.
- The low-throughput stock/coverage use case has an explicit design decision instead of being hidden as a magic tiny per-second rate.
Problem
Most planner quantities are currently entered and displayed as per-second rates. That is mathematically consistent, but it is awkward for common planning cases:
5/minor10/min1/hror0.5/hrDesired behavior
Allow users to choose a time window/unit for rate goals instead of forcing per-second input everywhere. At minimum, support seconds, minutes, and hours. The solver can continue normalizing rates internally, but the UI should preserve the user-facing unit so saved goals remain understandable.
Examples:
10 science/min5 science/min1 building/hr0.5 building/hrStock / coverage goal angle
There may be a better model for the "keep X buildings in stock / make sure required intermediates are being made" use case than pretending it is a tiny throughput. Consider a distinct goal type such as a coverage, bootstrap, or stock goal that expands required intermediates without implying a meaningful continuous production rate.
Questions to resolve:
Acceptance criteria