private void renderPoint(int zoom, Map<String, Object> attrs, FeatureCollector.Feature feature,
    Coordinate... coords) {
    boolean hasLabelGrid = feature.hasLabelGrid();
    double buffer = feature.getBufferPixelsAtZoom(zoom) / 256;
    int tilesAtZoom = 1 << zoom;

    // for "label grid" point density limiting, compute the grid square that this point sits in
    // only valid if not a multipoint
    RenderedFeature.Group groupInfo = null;
    if (hasLabelGrid && coords.length == 1) {
      double labelGridTileSize = feature.getPointLabelGridPixelSizeAtZoom(zoom) / 256d;
      groupInfo = labelGridTileSize < 1d / 4096d ? null : new RenderedFeature.Group(
        GeoUtils.labelGridId(tilesAtZoom, labelGridTileSize, coords[0]),
        feature.getPointLabelGridLimitAtZoom(zoom)
      );
    }

    // compute the tile coordinate of every tile these points should show up in at the given buffer size
    TileExtents.ForZoom extents = config.bounds().tileExtents().getForZoom(zoom);
    TiledGeometry tiled = TiledGeometry.slicePointsIntoTiles(extents, buffer, zoom, coords);
    int emitted = 0;
    for (var entry : tiled.getTileData().entrySet()) {
      TileCoord tile = entry.getKey();
      List<List<CoordinateSequence>> result = entry.getValue();
      Geometry geom = GeometryCoordinateSequences.reassemblePoints(result);
      encodeAndEmitFeature(feature, feature.getId(), attrs, tile, geom, groupInfo, 0);
      emitted++;
    }
    stats.emittedFeatures(zoom, feature.getLayer(), emitted);

    stats.processedElement("point", feature.getLayer(), zoom);
  }
Constructs a new feature render that will send rendered features to {@code consumer}.
planetiler-core/src/main/java/com/onthegomap/planetiler/render/FeatureRenderer.java