class_docstr: Environment for cutting 2D pieces based on the customer demand. Works as follows:
   - Keeps inventory of 2D pieces available for cutting and fulfilling the demand.
   - Produces a new demand for one piece in every step (here a static demand).
   - The agent should decide which piece from inventory to cut (and how) to fulfill the given demand.
   - What remains from the cut piece is put back in inventory.
   - All the time, one raw (full-size) piece is available in inventory.
     (If it gets cut, it is replenished in the next step.)
   - Rewards are calculated to motivate the agent to consume as few raw pieces as possible.
   - If inventory gets full, the oldest pieces get discarded.
  
  :param max_pieces_in_inventory: Size of the inventory.
  :param raw_piece_size: Size of a fresh raw (= full-size) piece.
  :param static_demand: Order to issue in each step.
docstr: Returns the currently executed actor along with the policy id. The id is unique only with
  respect to the policies (every policy has its own actor 0).
  Note that identities of done actors can not be reused in the same rollout.
  
  :return: The current actor, as tuple (policy id, actor number).
docstr_tok: ["Returns","the","currently","executed","actor","along","with","the","policy","id",".","The","id","is","unique","only","with","respect","to","the","policies","(","every","policy","has","its","own","actor","0",")",".","Note","that","identities","of","done","actors","can","not","be","reused","in","the","same","rollout",".",":","return",":","The","current","actor",",","as","tuple","(","policy","id",",","actor","number",")","."]
code: def actor_id(self) -> ActorID:
      """Returns the currently executed actor along with the policy id. The id is unique only with
      respect to the policies (every policy has its own actor 0).
      Note that identities of done actors can not be reused in the same rollout.
  
      :return: The current actor, as tuple (policy id, actor number).
      """
      return ActorID(step_key=0, agent_id=0)
  
imports: from typing import Union, Tuple, Dict, Any
  import numpy
  from maze.core.env.core_env import CoreEnv
  from maze.core.env.structured_env import ActorID
  from .maze_state import Cutting2DMazeState
  from .maze_action import Cutting2DMazeAction
  from .inventory import Inventory
  from .renderer import Cutting2DRenderer
label_desc: Use image node_id 10 for calling the Cutting2DCoreEnvironment obj's underlying member method code with example usage: obj.actor_id() and returns: ActorID