reviseBlock currently only changes an existing block's output RATE. Add the ability to propose changing its RECIPE SET too (e.g. swap to a higher-yield molten-iron variant), as a propose-then-apply card like reviseBlock.
Care needed: re-solving a changed recipe set can break closure (new open imports / byproducts), so the proposal must show the re-solved chainStatus and flag any new dangling byproducts before the user applies. Persist via the saveBlockFn(id) update path (it already updates in place when given an id).
This is the second half of the reviseBlock work (rate done in the assistant rebuild).
reviseBlock currently only changes an existing block's output RATE. Add the ability to propose changing its RECIPE SET too (e.g. swap to a higher-yield molten-iron variant), as a propose-then-apply card like reviseBlock.
Care needed: re-solving a changed recipe set can break closure (new open imports / byproducts), so the proposal must show the re-solved chainStatus and flag any new dangling byproducts before the user applies. Persist via the saveBlockFn(id) update path (it already updates in place when given an id).
This is the second half of the reviseBlock work (rate done in the assistant rebuild).