116 [[nodiscard]] std::size_t
total()
const
178 const std::vector<PackedPalette> &packed_pals,
179 const std::array<std::optional<Palette<Rgba32, pal::max_size>>,
pal::num_pals> &prefilled_pals,
180 const ColorIndexMap<Rgba32> &color_map,
181 const Rgba32 &default_slot_zero,
182 const std::vector<IndirectLink> &indirect_links,
183 AlignmentFailureCounts *failure_counts =
nullptr);
Represents a 32-bit RGBA color.
constexpr std::size_t num_pals
std::array< std::optional< Palette< Rgba32, pal::max_size > >, pal::num_pals > build_all_output_palettes(const std::vector< PackedPalette > &packed_pals, const std::array< std::optional< Palette< Rgba32, pal::max_size > >, pal::num_pals > &prefilled_pals, 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_pal_index
std::size_t winning_ref_pal_index
std::size_t losing_ref_pal_index
std::size_t winning_group_index
std::size_t source_group_index
Detail record for a post-resolution slot mismatch.
std::size_t source_group_index
bool operator==(const PostResolutionMismatchDetail &) const =default
std::size_t ref_final_slot
std::size_t source_pal_index
std::size_t ref_pal_index
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 ref_pal_index
std::size_t source_pal_index
std::size_t source_group_index