载入中...
搜索中...
未找到
EditorAssetDatabase.cpp
浏览该文件的文档.
19Result<AssetRecord> MemoryAssetDatabase::publish(AssetRecord record, std::vector<AssetDependency> dependencies) {
21 return eve::editing::failed<AssetRecord>(EditorStatus::Rejected, RuleId("editor.asset.invalid-record"),
25 return eve::editing::failed<AssetRecord>(EditorStatus::Conflict, RuleId("editor.asset.uri-conflict"),
29 return eve::editing::failed<AssetRecord>(EditorStatus::Rejected, RuleId("editor.asset.invalid-dependency"),
38 std::erase_if(dependencies_, [&](const AssetDependency& dependency) { return dependency.from == record.guid; });
99 return eve::editing::failed<AssetRecord>(EditorStatus::NotFound, RuleId("editor.asset.not-found"),
107 return eve::editing::failed<AssetRecord>(EditorStatus::NotFound, RuleId("editor.asset.not-found"),
111Result<AssetPage<AssetRecord>> MemoryAssetDatabase::query(const AssetQuery& query, std::size_t offset,
115 return eve::editing::failed<AssetPage<AssetRecord>>(EditorStatus::Conflict, RuleId("editor.asset.page-expired"),
140 [](const AssetRecord& left, const AssetRecord& right) { return left.logicalUri < right.logicalUri; });
153std::vector<AssetDependency> MemoryAssetDatabase::dependencies(const AssetGuid& guid, bool incoming) const {
162 return eve::editing::failed<AssetRecord>(EditorStatus::Failed, RuleId("editor.import.missing-database"),
165 return eve::editing::failed<AssetRecord>(EditorStatus::Rejected, RuleId("editor.import.invalid-product"),
174 return eve::editing::failed<ImportTicket>(EditorStatus::Rejected, RuleId("editor.import.invalid-request"),
184 return eve::editing::failed<AssetRecord>(EditorStatus::Failed, RuleId("editor.import.missing-database"),
188 return eve::editing::failed<AssetRecord>(EditorStatus::Conflict, RuleId("editor.import.stale-product"),
193 return eve::editing::failed<AssetRecord>(EditorStatus::Conflict, RuleId("editor.import.ticket-mismatch"),
196 return eve::editing::failed<AssetRecord>(EditorStatus::Rejected, RuleId("editor.import.incomplete-product"),
201 return eve::editing::failed<AssetRecord>(EditorStatus::Rejected, RuleId("editor.import.invalid-artifact"),
204 return eve::editing::failed<AssetRecord>(EditorStatus::Rejected, RuleId("editor.import.missing-artifact"),
211 return eve::editing::failed<AssetRecord>(EditorStatus::Rejected, RuleId("editor.import.product-errors"),
A structured explanation of a failed, degraded, or noteworthy result.
Definition Diagnostic.h:94
UUID-backed identifier adapter for legacy textual boundaries.
Definition Identity.h:314
const std::string & value() const noexcept
Returns the exact legacy or canonical compatibility spelling.
Definition Identity.h:362
bool empty() const noexcept
True when no compatibility spelling has been assigned.
Definition Identity.h:374
Result< AssetRecord > publish(ImportProduct product)
Validate and publish a completed import product.
Definition EditorAssetDatabase.cpp:160
Result< ImportTicket > begin(const AssetGuid &asset, std::string sourceHash, std::string importerId, std::uint32_t importerVersion)
Start or supersede one asset import and return its immutable generation ticket.
Definition EditorAssetDatabase.cpp:170
Result< AssetRecord > find(const AssetGuid &guid) const
Find one asset by stable GUID.
Definition EditorAssetDatabase.cpp:96
Result< AssetRecord > findByUri(const std::string &logicalUri) const
Find one asset by logical content URI.
Definition EditorAssetDatabase.cpp:104
Result< AssetPage< AssetRecord > > query(const AssetQuery &query, std::size_t offset, std::size_t limit, std::optional< std::uint64_t > generation=std::nullopt) const
Query a deterministic page; stale generations return Conflict.
Definition EditorAssetDatabase.cpp:111
Result< std::vector< AssetRecord > > publishBatch(std::vector< AssetPublication > publications)
Validate and atomically publish an entire package projection as one index generation.
Definition EditorAssetDatabase.cpp:44
std::uint64_t generation() const
Return the monotonic index generation.
Definition EditorAssetDatabase.h:90
std::vector< AssetDependency > dependencies(const AssetGuid &guid, bool incoming=false) const
Query outgoing or incoming dependencies for one asset.
Definition EditorAssetDatabase.cpp:153
Result< AssetRecord > publish(AssetRecord record, std::vector< AssetDependency > dependencies={})
Atomically publish one validated record and its dependencies.
Definition EditorAssetDatabase.cpp:19
Result< T > failed(Status status, eve::DiagnosticCode code, RuleId rule, std::string message)
Construct a failed editing result with explicit status and diagnostic categories.
Definition EditingResult.h:70
Definition ActionPreviewController.cpp:6
Directed dependency between two stable asset identities.
Definition EditorAssetDatabase.h:38
One page of values tied to an asset index generation.
Definition EditorAssetDatabase.h:63
One owning record/dependency unit staged for an atomic index generation.
Definition EditorAssetDatabase.h:46
Deterministic filter used by headless and UI asset queries.
Definition EditorAssetDatabase.h:52
Value snapshot stored by the editor asset index.
Definition EditorAssetDatabase.h:18
std::uint32_t importerVersion
Definition EditorAssetDatabase.h:26
std::vector< std::string > artifacts
Definition EditorAssetDatabase.h:27
std::vector< EditorDiagnostic > diagnostics
Definition EditorAssetDatabase.h:31
Validated importer output staged before publishing to AssetDB.
Definition EditorAssetDatabase.h:100
std::vector< AssetDependency > dependencies
Definition EditorAssetDatabase.h:102
Generation-qualified import request used to reject stale worker products.
Definition EditorAssetDatabase.h:106
std::uint32_t importerVersion
Definition EditorAssetDatabase.h:111