use Any::Moose;
use Any::Moose 'Util::TypeConstraints';
+=head1 RELATIONSHIPS
+
+This class consumes the L<LaTeX::TikZ::Set::Op> role, and as such implements the L</path> method.
+
+=cut
+
with 'LaTeX::TikZ::Set::Op';
+=head1 ATTRIBUTES
+
+=head2 C<point>
+
+The L<LaTeX::TikZ::Point> object representing the underlying geometrical point.
+
+=cut
+
has 'point' => (
is => 'ro',
isa => 'LaTeX::TikZ::Point::Autocoerce',
handles => [ qw/x y/ ],
);
+=head2 C<label>
+
+An optional label for the point.
+
+=cut
+
has 'label' => (
is => 'rw',
isa => 'Maybe[Str]',
default => undef,
);
+=head2 C<pos>
+
+The position of the label around the point.
+
+=cut
+
enum 'LaTeX::TikZ::Set::Point::Positions' => (
'below left',
'below',
=> from 'LaTeX::TikZ::Set::Point'
=> via { $_->point };
+=head1 METHODS
+
+=head2 C<path>
+
+=cut
+
sub path {
my ($set, $tikz) = @_;