code: def create_wave_array(height, width):
      """
      Creates a two-dimensional array called the "wave" of HxW dimensions.
      The state of each tile is a superposition of all remaining possible options
      for the tile. This is represented by a list of boolean coefficients. False
      coefficient means that the corresponding pattern is forbidden, and true
      coefficient means that the corresponding pattern is not yet forbidden.
  
      The array is initialized in a completely unobserved state, i.e., with all
      the boolean coefficients being true.
      """
      # Create the HxW array, initially filling each tile with all possibilities
      wave = [
          [init_possibilities() for _ in range(width)]
          for _ in range(height)
      ]
  
      for i in range(height):
          for j in range(width):
              # Fill the first row with air
              if i == 0:
                  wave[i][j] = [AIR]
  
              # Fill the bottom with floor blocks
              if i == height - 1:
                  wave[i][j] = [BLOCK]
  
              # Create the side walls
              if j == 0 or j == width - 1:
                  wave[i][j] = [BLOCK]
  
      return wave
  
file_path: evals/evals/registry/data/simple_physics_engine/wave_function_collapse.py
imports: import random
label_desc: Use image node_id 3 for calling a global function with example usage: create_wave_array(height, width) and returns: wave