Unravel Engine C++ Reference
Loading...
Searching...
No Matches
unravel::asset_compiler Namespace Reference

Classes

struct  asset_manifest
 Manifest data for compiled assets. More...
 
struct  script_compilation_entry
 

Functions

template<>
auto compile< gfx::shader > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<>
auto read_importer< gfx::texture > (asset_manager &am, const fs::path &key) -> std::shared_ptr< asset_importer_meta >
 
template<>
auto compile< gfx::texture > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<>
auto compile< material > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<>
auto read_importer< mesh > (asset_manager &am, const fs::path &key) -> std::shared_ptr< asset_importer_meta >
 
template<>
auto compile< mesh > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<>
auto read_importer< animation_clip > (asset_manager &am, const fs::path &key) -> std::shared_ptr< asset_importer_meta >
 
template<>
auto compile< animation_clip > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<>
auto compile< font > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<>
auto compile< prefab > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<>
auto compile< scene_prefab > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<>
auto compile< physics_material > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<>
auto compile< ui_tree > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<>
auto compile< style_sheet > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<>
auto read_importer< audio_clip > (asset_manager &am, const fs::path &key) -> std::shared_ptr< asset_importer_meta >
 
template<>
auto compile< audio_clip > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
auto parse_compilation_errors (const std::string &log) -> std::vector< script_compilation_entry >
 
auto parse_compilation_warnings (const std::string &log) -> std::vector< script_compilation_entry >
 
template<>
auto compile< script_library > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<>
auto compile< script > (asset_manager &am, const fs::path &key, const fs::path &output, uint32_t flags) -> bool
 
template<typename T >
auto compile (asset_manager &am, const fs::path &key, const fs::path &output_key, uint32_t flags=0) -> bool
 
template<typename T >
auto read_importer (asset_manager &am, const fs::path &key) -> std::shared_ptr< asset_importer_meta >
 
template<>
void resolve_dependencies< gfx::shader > (const fs::path &file_path, std::vector< fs::path > &processed_files)
 
template<>
void resolve_dependencies< ui_tree > (const fs::path &file_path, std::vector< fs::path > &processed_files)
 
template<typename T >
void resolve_dependencies (const fs::path &, std::vector< fs::path > &)
 
template<>
void resolve_dependencies< gfx::shader > (const fs::path &file_path, std::vector< fs::path > &processed_files)
 
template<>
void resolve_dependencies< ui_tree > (const fs::path &file_path, std::vector< fs::path > &processed_files)
 
auto get_manifest_path (const fs::path &compiled_asset_path) -> fs::path
 Generate manifest file path from compiled asset path.
 
auto save_manifest (const fs::path &manifest_path, const asset_manifest &manifest) -> bool
 Save manifest to file.
 
auto load_manifest (const fs::path &manifest_path, asset_manifest &manifest) -> bool
 Load manifest from file.
 
auto is_fingerprint_algorithm_current (const asset_manifest &manifest) -> bool
 
auto is_source_file_changed (const fs::path &source_path, const asset_manifest &manifest) -> bool
 Check if source file has changed compared to manifest (source-only)
 
auto is_source_file_changed (const fs::path &source_path, const asset_manifest &manifest, const std::vector< fs::path > &dependency_paths) -> bool
 Check if source file or any of its dependencies have changed compared to manifest.
 
auto is_compiled_format_changed (const fs::path &source_path, const asset_manifest &manifest) -> bool
 

Function Documentation

◆ compile()

template<typename T >
auto unravel::asset_compiler::compile ( asset_manager & am,
const fs::path & key,
const fs::path & output_key,
uint32_t flags = 0 ) -> bool

◆ compile< animation_clip >()

template<>
auto unravel::asset_compiler::compile< animation_clip > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 1148 of file asset_compiler.cpp.

◆ compile< audio_clip >()

template<>
auto unravel::asset_compiler::compile< audio_clip > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 1406 of file asset_compiler.cpp.

◆ compile< font >()

template<>
auto unravel::asset_compiler::compile< font > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 1200 of file asset_compiler.cpp.

◆ compile< gfx::shader >()

template<>
auto unravel::asset_compiler::compile< gfx::shader > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 818 of file asset_compiler.cpp.

◆ compile< gfx::texture >()

template<>
auto unravel::asset_compiler::compile< gfx::texture > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 880 of file asset_compiler.cpp.

◆ compile< material >()

template<>
auto unravel::asset_compiler::compile< material > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 924 of file asset_compiler.cpp.

◆ compile< mesh >()

template<>
auto unravel::asset_compiler::compile< mesh > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 987 of file asset_compiler.cpp.

◆ compile< physics_material >()

template<>
auto unravel::asset_compiler::compile< physics_material > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 1259 of file asset_compiler.cpp.

◆ compile< prefab >()

template<>
auto unravel::asset_compiler::compile< prefab > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 1217 of file asset_compiler.cpp.

◆ compile< scene_prefab >()

template<>
auto unravel::asset_compiler::compile< scene_prefab > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 1238 of file asset_compiler.cpp.

◆ compile< script >()

template<>
auto unravel::asset_compiler::compile< script > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 1658 of file asset_compiler.cpp.

◆ compile< script_library >()

template<>
auto unravel::asset_compiler::compile< script_library > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 1528 of file asset_compiler.cpp.

◆ compile< style_sheet >()

template<>
auto unravel::asset_compiler::compile< style_sheet > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 1337 of file asset_compiler.cpp.

◆ compile< ui_tree >()

template<>
auto unravel::asset_compiler::compile< ui_tree > ( asset_manager & am,
const fs::path & key,
const fs::path & output,
uint32_t flags ) -> bool

Definition at line 1295 of file asset_compiler.cpp.

◆ get_manifest_path()

auto unravel::asset_compiler::get_manifest_path ( const fs::path & compiled_asset_path) -> fs::path

Generate manifest file path from compiled asset path.

Definition at line 94 of file asset_manifest.cpp.

◆ is_compiled_format_changed()

auto unravel::asset_compiler::is_compiled_format_changed ( const fs::path & source_path,
const asset_manifest & manifest ) -> bool

Definition at line 193 of file asset_manifest.cpp.

◆ is_fingerprint_algorithm_current()

auto unravel::asset_compiler::is_fingerprint_algorithm_current ( const asset_manifest & manifest) -> bool

Definition at line 160 of file asset_manifest.cpp.

◆ is_source_file_changed() [1/2]

auto unravel::asset_compiler::is_source_file_changed ( const fs::path & source_path,
const asset_manifest & manifest ) -> bool

Check if source file has changed compared to manifest (source-only)

Definition at line 165 of file asset_manifest.cpp.

◆ is_source_file_changed() [2/2]

auto unravel::asset_compiler::is_source_file_changed ( const fs::path & source_path,
const asset_manifest & manifest,
const std::vector< fs::path > & dependency_paths ) -> bool

Check if source file or any of its dependencies have changed compared to manifest.

Definition at line 178 of file asset_manifest.cpp.

◆ load_manifest()

auto unravel::asset_compiler::load_manifest ( const fs::path & manifest_path,
asset_manifest & manifest ) -> bool

Load manifest from file.

Definition at line 123 of file asset_manifest.cpp.

◆ parse_compilation_errors()

auto unravel::asset_compiler::parse_compilation_errors ( const std::string & log) -> std::vector<script_compilation_entry>

Definition at line 1473 of file asset_compiler.cpp.

◆ parse_compilation_warnings()

auto unravel::asset_compiler::parse_compilation_warnings ( const std::string & log) -> std::vector<script_compilation_entry>

Definition at line 1500 of file asset_compiler.cpp.

◆ read_importer()

template<typename T >
auto unravel::asset_compiler::read_importer ( asset_manager & am,
const fs::path & key ) -> std::shared_ptr< asset_importer_meta >

◆ read_importer< animation_clip >()

template<>
auto unravel::asset_compiler::read_importer< animation_clip > ( asset_manager & am,
const fs::path & key ) -> std::shared_ptr<asset_importer_meta>

Definition at line 1121 of file asset_compiler.cpp.

◆ read_importer< audio_clip >()

template<>
auto unravel::asset_compiler::read_importer< audio_clip > ( asset_manager & am,
const fs::path & key ) -> std::shared_ptr<asset_importer_meta>

Definition at line 1379 of file asset_compiler.cpp.

◆ read_importer< gfx::texture >()

template<>
auto unravel::asset_compiler::read_importer< gfx::texture > ( asset_manager & am,
const fs::path & key ) -> std::shared_ptr<asset_importer_meta>

Definition at line 854 of file asset_compiler.cpp.

◆ read_importer< mesh >()

template<>
auto unravel::asset_compiler::read_importer< mesh > ( asset_manager & am,
const fs::path & key ) -> std::shared_ptr<asset_importer_meta>

Definition at line 960 of file asset_compiler.cpp.

◆ resolve_dependencies()

template<typename T >
void unravel::asset_compiler::resolve_dependencies ( const fs::path & ,
std::vector< fs::path > &  )

Recursively resolve external dependency files for a given source file. The root source itself is omitted (it is watched separately); only includes / linked files (and the root shader varying def) are appended in DFS order. Default implementation returns no dependencies. Specializations exist for gfx::shader (#include + varying) and ui_tree (<link>).

Definition at line 24 of file asset_dependencies.h.

◆ resolve_dependencies< gfx::shader >() [1/2]

template<>
void unravel::asset_compiler::resolve_dependencies< gfx::shader > ( const fs::path & file_path,
std::vector< fs::path > & processed_files )

Definition at line 184 of file asset_dependencies.cpp.

◆ resolve_dependencies< gfx::shader >() [2/2]

template<>
void unravel::asset_compiler::resolve_dependencies< gfx::shader > ( const fs::path & file_path,
std::vector< fs::path > & processed_files )

Definition at line 184 of file asset_dependencies.cpp.

◆ resolve_dependencies< ui_tree >() [1/2]

template<>
void unravel::asset_compiler::resolve_dependencies< ui_tree > ( const fs::path & file_path,
std::vector< fs::path > & processed_files )

Definition at line 191 of file asset_dependencies.cpp.

◆ resolve_dependencies< ui_tree >() [2/2]

template<>
void unravel::asset_compiler::resolve_dependencies< ui_tree > ( const fs::path & file_path,
std::vector< fs::path > & processed_files )

Definition at line 191 of file asset_dependencies.cpp.

◆ save_manifest()

auto unravel::asset_compiler::save_manifest ( const fs::path & manifest_path,
const asset_manifest & manifest ) -> bool

Save manifest to file.

Definition at line 99 of file asset_manifest.cpp.