     app.puzzle_view.draw_photo()
     if app.load_status == "pattern"
       app.load_status = "ready"
+      console.log "start_new_puzzle() called from get_photo()"
       app.pz_status.start_new_puzzle()
     else
       app.load_status = "photo"


  start_new_puzzle: () ->
    @finished = false
    @unset_pieces = @all_pieces.slice(0, 16)
    console.log "start_new_puzzle()"
    up = ""
    @unset_pieces.forEach (pcc) ->
      up = up + pcc
    console.log "   @unset_pieces = #{up}"
    @pieces_in_puzzle = 16
    @pieces_set = 0
    #  ### N E W  <3> ###  #
    # @puzzle.mask.draw_mask(@puzzle.grid)
    # @puzzle.mask.reset_mask(@puzzle.grid)
    console.log "   ** snp 1 **"
    @puzzle.ui_status.reset()
    @puzzle.puzzle_view.reset()
    console.log "   ** snp 2 **"
    #  ### N E W  <4> ###  #
    @puzzle.mask.draw_mask(@puzzle.grid)
    console.log "   ** snp 3 **"
    @start_first_piece()
    console.log "   ** snp 4 **"


  set_piece: () ->

    @hex_draw = @puzzle.hex_draw


  reset_mask: () ->
    @puzzle.puzzle_view.draw_photo()
    @get_next_color()
    console.log "CALL draw_mask() from reset_mask()"
    @draw_mask()


  get_next_color: () ->
    @color = @puzzle.colors.next_color()


  draw_mask: () ->
    console.log " "
    console.log "draw_mask()"
    console.log "   & & & & @color = #{@color} & & & &"
    grid = @puzzle.grid
    @hex_draw.set_context("canvas")
    zzz = 0 # EXTRA
    for bb in [1..10]
      for aa in [1..24]
        if grid[bb][aa] in @puzzle.pz_status.unset_pieces
          @hex_draw.fill_hex_ab(aa,bb,@color)
          zzz = zzz + 1 # EXTRA
    console.log "   #{zzz} hexes added to mask"


