class_docstr: Holds the inventory of 2D pieces and performs cutting.
  :param max_pieces_in_inventory: Size of the inventory. If full, the oldest pieces get discarded.
  :param raw_piece_size: Size of a fresh raw (= full-size) piece.
  :param inventory_events: Inventory event dispatch proxy.
class_docstr_tok: ["Holds","the","inventory","of","2D","pieces","and","performs","cutting",".",":","param","max_pieces_in_inventory",":","Size","of","the","inventory",".","If","full",",","the","oldest","pieces","get","discarded",".",":","param","raw_piece_size",":","Size","of","a","fresh","raw","(","=","full-size",")","piece",".",":","param","inventory_events",":","Inventory","event","dispatch","proxy","."]
docstr: Add a fresh raw piece to inventory.
docstr_tok: ["Add","a","fresh","raw","piece","to","inventory","."]
code: def replenish_piece(self) -> None:
      """Add a fresh raw piece to inventory."""
      self.store_piece(self.raw_piece_size)
      self.inventory_events.piece_replenished()
  
imports: from .events import InventoryEvents
label_desc: Use image node_id 3 for calling the Inventory obj's underlying member method code with example usage: obj.replenish_piece() without return types