109 [[nodiscard]] std::string
name()
const override
111 return "Backtracking";
115 bool use_preset_matrix_ =
true;
117 std::size_t node_cutoff_ = 1'000'000;
118 std::size_t best_branches_ = std::numeric_limits<std::size_t>::max();
119 bool smart_prune_ =
true;
std::size_t best_branches
SearchAlgorithm algorithm
Packing strategy that assigns tiles to palettes using BFS/DFS backtracking with a fallback matrix.
std::string name() const override
Returns the name of this strategy.
BacktrackingStrategy(gsl::not_null< const UserDiagnostics * > diag)
Constructs in preset matrix mode with diagnostics support.
BacktrackingStrategy(SearchAlgorithm algorithm, std::size_t node_cutoff, std::size_t best_branches, bool smart_prune, const UserDiagnostics *diag=nullptr)
Constructs with explicit search parameters for single-configuration mode.
ChainableResult< PackingOutput > pack(const PackingInput &input) const override
Packs tiles into palettes using BFS/DFS backtracking search.
BacktrackingStrategy()=default
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Abstract interface for palette packing algorithms.
Abstract class for structured error reporting and diagnostic output.
SearchAlgorithm
Search algorithm used by BacktrackingStrategy.
@ dfs
Depth-first search with in-place mutation and undo.