anchor.diff:  
       // Check to see if we can place it.
       Rect rect = new Rect(center.x - 1, center.y - 1, 3, 3);
  -    if (!creep.isOpen(rect, center + connector.direction.rotate180)) return false;
  +    if (!isOpen(rect, center + connector.direction.rotate180)) return false;
   
       // Place the junction.
  -    creep.setTile(center, TileType.FLOOR);
  +    setTile(center, TileType.FLOOR);
   
       // Add the connectors.
  -    if (left) creep.addRoomConnector(center + connector.direction.rotateLeft90, connector.direction.rotateLeft90);
  -    if (right) creep.addRoomConnector(center + connector.direction.rotateRight90, connector.direction.rotateRight90);
  -    if (straight) creep.addRoomConnector(center + connector.direction, connector.direction);
  +    if (left) addRoomConnector(center + connector.direction.rotateLeft90, connector.direction.rotateLeft90);
  +    if (right) addRoomConnector(center + connector.direction.rotateRight90, connector.direction.rotateRight90);
  +    if (straight) addRoomConnector(center + connector.direction, connector.direction);
   
       return true;
     }
  
positive.code:   void create(Level level, /*bool isDescending, int depth, */ options) {
      this.options = options;
      this.level = level;
  
      factory = new FeatureFactory(this /*, depth*/);
  
      // Sometimes the generator makes dud dungeons with just one or two rooms,
      // keep trying from scratch until we get one with at least a certain amount
  
negative.code: 
      // Place the room.
      for (final pos in bounds) {
        setTile(pos, TileType.FLOOR);
      }
  
      /*
      TileType decoration = ChooseInnerWall();
  
      RoomDecoration.Decorate(bounds, new FeatureFactory.RoomDecorator(this,
        pos => Populate(pos, 60, 200, mDepth + Rng.Int(mDepth / 10))));
  
      LightRect(bounds, mDepth);
      */
  
      // Place the connectors.
  