class_docstr: Events related to the cutting process.
class_docstr_tok: ["Events","related","to","the","cutting","process","."]
docstr: A valid cut was performed.
docstr_tok: ["A","valid","cut","was","performed","."]
code: def valid_cut(
      self,
      current_demand: (int, int),
      piece_to_cut: (int, int),
      raw_piece_size: (int, int),
      cutting_area: float,
  ):
      """A valid cut was performed."""
  
file_path: maze/tutorials/tutorial_maze_env/part05_reward/env/events.py
imports: from abc import ABC
  import numpy
  from maze.core.log_stats.event_decorators import define_step_stats, define_episode_stats, define_epoch_stats
label_desc: Use image node_id 2 for calling the CuttingEvents obj's underlying member method code with example usage: obj.valid_cut(current_demand, piece_to_cut, raw_piece_size, cutting_area) without return types