emilyploszaj/emi

Recipe tree persistence improvements

Opened this issue · 1 comments

This is a several part issue:

  • As it stands, the recipe tree does not serialize. However, it could. Only minor work would be required to serialize ingredient resolution. This could allow the recipe tree to be persistent when restarting the game.
  • There is no way to have multiple recipe trees designed and present to alternate through. The design decision for how this should work is not concrete, however. Like favorited recipes, they could simply be stacks that are favorited, however I'm not sure if this is the best idea. There are other options like having a collection of trees available and visible in the recipe tree screen, perhaps with a "pin" button in the recipe tree to toggle whether the current recipe should be saved. Unpinned recipe trees would remain until another tree was opened (current standard behavior) and pinned trees could be accessed through a submenu? Unsure.
  • Recipe tree state is currently very volatile. Folding nodes and then adding new resolutions will unfold them, as there currently is no serialization to the tree. This is a consequence of recalculating the entire tree per resolution, it may make more sense to iterate down the tree for validity instead of replacing everything, but this is slightly more work, and has more edge cases to consider.

I would love that. I would also add that IMO it would be ideal if the recipe tree would be a normal panel that can be made always visible (e.g., one could add it as a left-side panel).