Repository navigation
feat: draw output aspects from a random pool - #12
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Summary
Merge Risk: ⚪ Minimal · up to
|
Outputs can list an aspect_pool with a pick count. Each new project draws that many distinct aspects from the pool and adds them to the output's fixed aspects, so the same research needs different aspects each time. Draws are saved with the station; on load, draws that left the pool are replaced from it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A station loaded before its output had a pool (or after a pool edit) gets new draws. Prefer aspects it has not rejected while they were off-recipe, and clear the state of any rejected aspect it still has to draw, so the project can always finish. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
836872f to
d393bdf
Compare
|
@coderabbitai review |
✅ Action performedReview finished.
|
Summary
Shaymin's request: runestone research should not need the same aspects every time. An output can now list an
aspect_pooland apickcount. Each new project draws that many distinct aspects from the pool, at random, and adds them to the output's fixedaspects(which stay optional).This only adds a new, optional config key. No existing config file or default changes.
pool_aspects), so they survive restarts. Pool aspects that were not drawn count as off-recipe and are rejected like any other wrong aspect.pickmust be between 1 and the pool size. A pool aspect must exist, need more than 0 points, and not also be a fixed aspect. Fixed aspects pluspickmust fit the 6 GUI rows.aspect_poolbehave exactly as before./research reload, a running station keeps its current draws until the next restart. Fixed aspects already behave the same way.Tests
mvn verifyon Linux CI passes (311 tests, coverage gate met). New tests cover loading and validation, draws and reconciliation (including the rejected-aspect preference), persistence, and the manager flow. On Windows, 31 ofmain's save/estate tests fail becauseDurableFilescannot fsync a folder there; they fail onmaintoo and pass on Linux.zz_pool_testoutput: fixedmetal+ pick 3 of earth/nature/fire/ice/water/air):pool_aspects.[ice, air, water], the only aspects it had not rejected. L2 drew ice + air + water, which had been rejected. Water's state and points were cleared, it confirmed again and the research completed. Both stations kept their other rejections, and their GUI rows were metal + the draws.Docs:
TF-Minecraft/Docsprojects/Research/overview.md(outputs config row) should get theaspect_poolkeys once this is merged.🤖 Generated with Claude Code