Repository navigation
Satisfactory: rate order and parts mix beside OEE, last-played window - #214
Merged
Merged
Conversation
A plant can hold one standing rate order: a name and a target per item in units a minute, set by API or the master-data pack (starter for the Satisfactory lab: 24/24/12 Iron Plate/Screws/Iron Rod). The analysis page gets a Parts mix panel under Energy: target and actual /min, target and actual share, gap, shortest first, the game's own getProdStats figure as the check. No order means no target, never zero; no order and no PARTS readings means no panel. The machine OEE tab gets one line, and oee_breakdown carries parts_mix for the assistant. The rate order never feeds OEE. The analysis window defaults to "last played" on a plant whose reader writes FEED.Stretch; the hours choices stay and the 80 % rule is unchanged. The reader retires a building after 5 unpaused polls without it (satisfactory_torn_down_polls) and brings it back when listed again, and absorbs a line arriving within seconds of its poll instead of skipping. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: scottkalw <scottkalwei@gmail.com>
|
Thanks for the first pull request. Checks: every commit signed off ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
rate_ordersandrate_order_lines, with an alembic migration chained to a9c4e1f7b2d3.GET/PUT/DELETE /rate-order: any role reads it; writing needsmasterdata.write.rate_orderskind in the master-data pack. The Satisfactory lab's starter,labs/satisfactory/masterdata/rate_orders.json, is seeded once and then left alone./dashboard/analysis.PARTS.*readings.oee_breakdowncarriesparts_mix, so the assistant sees it.FEED.Stretchon each watched poll. On a plant that has those readings, the analysis page now opens on the latest unbroken stretch, shown as "last played 04:41–05:23 today". The hours choices are still there, and?hours=and?shift=still win. The 80 % rule is unchanged.satisfactory_torn_down_polls, and the building is un-retired when it is listed again.Why
The handoff
satisfactory-parts-mix: Scott wants to see whether the factory made the mix he asked for the last time he played, beside the OEE figure, without the OEE figure changing.How verified
tests/test_the_parts_mix_stands_beside_oee_against_a_standing_rate_order.py(18 prose-named tests, one or more per DoD case) andtests/test_the_parts_mix_panel_and_the_last_play_window_in_a_browser.py.-m browsertier pass locally, and ruff is clean./analysis/oeeback by 1.5 s with a Playwright route and waits on the panel's rows withwait_for_function.What the screenshots showed
Parts mix panel, with the starter order "60.0 units/min over 3 items":
Below those, the items with no target: Wire, Iron Ingot, Concrete, Copper Ingot, Biomass, Cable. The note line lists the ores the game made that the MES books none of.
Window picker: "last played" is selected by default, and the hours choices are below it.
Machine OEE tab for a constructor: "Parts: makes Screws · 22.3 units/min here over 42.13 min watched (938 units) · the plant 22.8 units/min · rate order 24.0 units/min".
Arithmetic hand-checked against the raw feed and getProdStats:
Notes
🤖 Generated with Claude Code