package DX::ResolutionSpace;
+use DX::Step::Backtrack;
+use DX::Step::ResolveProposition;
use DX::Class;
+has proposition => (is => 'ro');
+
has geometry_depends_on => (is => 'ro', required => 1);
has members => (is => 'ro', required => 1);
return $self->but(members => [ $first->remainder, @rest ]);
}
+sub next_step {
+ my ($self) = @_;
+ return DX::Step::Backtrack->new unless @{$self->members};
+ return DX::Step::ResolveProposition->new(resolution_space => $self);
+}
+
1;