% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/extendr-wrappers.R
\name{place_euler_labels}
\alias{place_euler_labels}
\title{Place per-region labels using eunoia's \code{place_labels} API.}
\usage{
place_euler_labels(
  set_names,
  shape,
  h,
  k,
  a,
  b,
  phi,
  width,
  height,
  side,
  container_h,
  container_k,
  container_width,
  container_height,
  n_vertices,
  label_combos,
  label_widths,
  label_heights,
  placement,
  placement_margin,
  placement_iterations,
  placement_min_gap,
  placement_tether,
  placement_leader_gap,
  label_precision
)
}
\description{
Inputs mirror \code{euler_plot_data} for shape geometry and add per-region
label sizes plus placement-strategy options. Returns, parallel to
\code{label_combos}:
}
\details{
\itemize{
\item \code{anchor_x} / \code{anchor_y} — placed label anchor (NA on miss);
\item \code{kind} — one of \code{"interior"}, \code{"exterior_raycast"},
\code{"exterior_force_directed"}, \code{"exterior_elbow"}; \code{""} if no
placement was produced;
\item \code{tether_x} / \code{tether_y} — tether point for the leader line (NA for
interior placements / misses).
\item \code{leader_end_x} / \code{leader_end_y} — point on the label box AABB where
the leader terminates (NA for interior placements / misses).
\item \code{leader_waypoints_x} / \code{leader_waypoints_y} / \code{leader_waypoints_lengths}
— concatenated waypoint coordinates and per-label counts. Empty for
straight leaders; carries one knee point per elbow placement.
}

Plus a canvas bbox (\code{canvas_bbox_h/k/width/height}) from eunoia's
\code{placements_bbox} — NaN when no placements were produced — for the R
side to grow \code{xlim/ylim} so exterior labels are never clipped.

The complement region is requested with \code{""} in \code{label_combos}; when
\verb{container_*} are non-NULL the spec is built with \code{.complement(1.0)}
so eunoia emits the empty \code{Combination} from \code{decompose_regions}.
}
\keyword{internal}
