106 [[nodiscard]] std::size_t
total()
const
167 const std::vector<PackedPalette> &packed_palettes,
168 const std::array<std::optional<Palette<Rgba32, palette::max_size>>,
palette::num_palettes> &prefilled_palettes,
169 const ColorIndexMap<Rgba32> &color_map,
170 const Rgba32 &default_slot_zero,
171 const std::vector<IndirectLink> &indirect_links,
172 AlignmentFailureCounts *failure_counts =
nullptr);
Represents a 32-bit RGBA color.
constexpr std::size_t num_palettes
std::array< std::optional< Palette< Rgba32, palette::max_size > >, palette::num_palettes > build_all_output_palettes(const std::vector< PackedPalette > &packed_palettes, const std::array< std::optional< Palette< Rgba32, palette::max_size > >, palette::num_palettes > &prefilled_palettes, const ColorIndexMap< Rgba32 > &color_map, const Rgba32 &default_slot_zero, const std::vector< IndirectLink > &indirect_links, AlignmentFailureCounts *failure_counts=nullptr)
Builds all output palettes from packed palettes and Indirect links in a single call.
Detailed records of alignment failures during Indirect link application and chain resolution.
std::vector< PrefilledDestinationConflictDetail > prefilled_destination_conflict_details
std::vector< PostResolutionMismatchDetail > post_resolution_mismatch_details
std::vector< PrefilledSourceConflictDetail > prefilled_source_conflict_details
std::vector< FirstWriterWinsDetail > first_writer_wins_details
std::size_t total() const
Detail record for a single first-writer-wins conflict during Indirect link application.
bool operator==(const FirstWriterWinsDetail &) const =default
auto operator<=>(const FirstWriterWinsDetail &) const =default
std::size_t source_palette_index
std::size_t winning_ref_palette_index
std::size_t winning_group_index
std::size_t source_group_index
std::size_t losing_ref_palette_index
Detail record for a post-resolution slot mismatch.
std::size_t source_palette_index
std::size_t source_group_index
std::size_t ref_palette_index
bool operator==(const PostResolutionMismatchDetail &) const =default
std::size_t ref_final_slot
auto operator<=>(const PostResolutionMismatchDetail &) const =default
std::size_t source_final_slot
Detail record for a single prefilled destination conflict during Indirect chain resolution.
bool operator==(const PrefilledDestinationConflictDetail &) const =default
std::size_t source_group_index
std::size_t palette_index
auto operator<=>(const PrefilledDestinationConflictDetail &) const =default
Detail record for a single prefilled source conflict during Indirect link application.
bool operator==(const PrefilledSourceConflictDetail &) const =default
auto operator<=>(const PrefilledSourceConflictDetail &) const =default
std::size_t source_palette_index
std::size_t source_group_index
std::size_t ref_palette_index