45 std::filesystem::path project_root,
46 gsl::not_null<const InfraConfig *> config,
47 gsl::not_null<const TilesetMetadataProvider *> metadata_provider,
48 gsl::not_null<const TextFormatter *> format,
49 gsl::not_null<const UserDiagnostics *> diag)
50 : project_root_{std::move(project_root)}, metadata_provider_{metadata_provider}, config_{config},
51 format_{format}, diag_{diag}
69 const std::string &tileset_name,
const std::string &anim_name,
const std::string &frame_name)
const override;
95 const std::string &tileset_name,
const std::string &anim_name,
const std::string &frame_name)
const override;
129 std::filesystem::path project_root_;
A type-safe wrapper for artifact keys.
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Interface that defines a complete infra layer configuration.
Provides a pokeemerald project filesystem-based implementation for TilesetArtifactKeyProvider.
bool artifact_exists(const ArtifactKey &key) const override
Checks whether an artifact exists in the backing store for the given key.
ChainableResult< ArtifactKey > key_for_porymap_anim_params(const std::string &tileset_name) const override
Returns the key for Porymap animation parameters.
ChainableResult< std::set< std::string > > discover_porymap_anim_frames(const std::string &tileset_name, const std::string &anim_name) const override
Discovers the frame indices for a specific Porymap animation.
ChainableResult< ArtifactKey > key_for_middle_png(const std::string &tileset_name) const override
ChainableResult< ArtifactKey > key_for_metatile_attributes_bin(const std::string &tileset_name) const override
ChainableResult< ArtifactKey > key_for_top_png(const std::string &tileset_name) const override
ChainableResult< std::set< std::string > > discover_porytiles_anims(const std::string &tileset_name) const override
Discovers the names of all Porytiles animations available for a tileset.
ChainableResult< ArtifactKey > key_for_porymap_pal_n(const std::string &tileset_name, std::size_t index) const override
ChainableResult< ArtifactKey > key_for_porytiles_anim_params(const std::string &tileset_name) const override
Returns the key for the anim.json file (Porytiles animation configuration).
ChainableResult< std::set< std::string > > discover_porytiles_anim_frames(const std::string &tileset_name, const std::string &anim_name) const override
Discovers the frame indices for a specific Porytiles animation.
ChainableResult< ArtifactKey > key_for_bottom_png(const std::string &tileset_name) const override
ChainableResult< ArtifactKey > key_for_porytiles_anim_frame(const std::string &tileset_name, const std::string &anim_name, const std::string &frame_name) const override
ChainableResult< ArtifactKey > key_for_tiles_png(const std::string &tileset_name) const override
ProjectTilesetArtifactKeyProvider(std::filesystem::path project_root, gsl::not_null< const InfraConfig * > config, gsl::not_null< const TilesetMetadataProvider * > metadata_provider, gsl::not_null< const TextFormatter * > format, gsl::not_null< const UserDiagnostics * > diag)
Constructs a ProjectTilesetArtifactKeyProvider.
ChainableResult< ArtifactKey > key_for_attributes_csv(const std::string &tileset_name) const override
ChainableResult< std::set< std::string > > discover_porymap_anims(const std::string &tileset_name) const override
Discovers the names of all Porymap animations available for a tileset.
ChainableResult< ArtifactKey > key_for_metatiles_bin(const std::string &tileset_name) const override
ChainableResult< ArtifactKey > key_for_porymap_anim_frame(const std::string &tileset_name, const std::string &anim_name, const std::string &frame_name) const override
ChainableResult< ArtifactKey > key_for_porytiles_pal_n(const std::string &tileset_name, std::size_t index) const override
Abstract base class for applying text styling with context-aware formatting.
Abstract interface for generating keys and discovering tileset artifacts in a backing store.
Abstract class for structured error reporting and diagnostic output.