命名空间 | |
| namespace | detail |
类 | |
| struct | AssetCookProfile |
| Explicit deterministic target profile for one runtime variant. 更多... | |
| struct | AssetCookReceipt |
| Owning result of a completed and reopened deterministic Cook. 更多... | |
| class | AtomicAssetPackageStore |
| Filesystem publisher whose failed prepare/verify leaves the destination unchanged. 更多... | |
| struct | AvailableAssetDependency |
| One externally supplied asset available to a Cook dependency closure. 更多... | |
| struct | CanonicalMeshAttribute |
| Owning float vertex attribute; one to four components per vertex. 更多... | |
| struct | CanonicalMeshData |
| Owning CPU mesh snapshot; UV arrays are packed ST pairs indexed by source set number. No pointers into the source archive are retained. Each array has one authoritative owner. 更多... | |
| struct | CanonicalMeshLimits |
| Allocation limits checked before decoding any vertex arrays. UV count is byte-budget bounded. 更多... | |
| struct | CookedCanonicalImage |
| Runtime definition and typed RGBA8 bulk generated from one canonical image source. 更多... | |
| struct | CookedCanonicalPcgGraph |
| Runtime metadata and deterministic PointGraph definition for one canonical PCG graph. 更多... | |
| struct | CookedCanonicalVolumeTexture |
| Runtime definition and RGBA8 bulk generated from one canonical volume. 更多... | |
| struct | DecodedEvpackImage |
| Owning validated RGBA8 mip chain independent of a graphics backend. 更多... | |
| struct | EvaArchive |
| Fully admitted source archive with its typed manifest and payloads. 更多... | |
| struct | EvaArchiveEntry |
One owning regular-file entry inside an .eva archive. 更多... | |
| struct | EvaArchiveLimits |
| Admission budgets applied before allocating decoded archive entries. 更多... | |
| struct | EvaAssetChange |
| One canonical asset identity changed between source packages. 更多... | |
| struct | EvaAssetEntry |
One typed asset definition in an .eva archive. 更多... | |
| struct | EvaDependency |
| One directed dependency between stable asset identities. 更多... | |
| struct | EvaDependencyValidation |
| Observable result of validating a package dependency closure. 更多... | |
| struct | EvaManifest |
Validated, owning .eva manifest. 更多... | |
| struct | EvaPackageDiff |
| Deterministically ordered semantic package difference. 更多... | |
| class | Evpack |
| Fully admitted owning runtime pack. 更多... | |
| struct | EvpackAssetHandle |
| Generation-scoped stable-reference resolution across mounted packages. 更多... | |
| struct | EvpackBuild |
Complete input to deterministic .evpack assembly. 更多... | |
| struct | EvpackCapabilities |
| Actual runtime device capabilities used for variant selection. 更多... | |
| struct | EvpackChunk |
| Admitted immutable chunk metadata. 更多... | |
| struct | EvpackChunkHandle |
| Generation-scoped handle to one verified chunk in a mounted package. 更多... | |
| struct | EvpackChunkInput |
| Cooker-owned uncompressed chunk before deterministic package assembly. 更多... | |
| struct | EvpackHandle |
| Generation-scoped handle to one mounted runtime package. 更多... | |
| struct | EvpackImageDecodeLimits |
| Bounds applied before allocating decoded image bytes. 更多... | |
| struct | EvpackLimits |
| Resource limits checked before package allocations and hash work. 更多... | |
| struct | EvpackMountReceipt |
| Receipt returned after an atomic registry publication. 更多... | |
| class | EvpackRangeMount |
| Admitted metadata plus an immutable range source retained by shared ownership. 更多... | |
| class | EvpackRangeSource |
| Abstract immutable byte-range provider for files, mmap, HTTP or object storage. 更多... | |
| class | EvpackRegistry |
| Thread-safe owner of current runtime package generations. 更多... | |
| struct | EvpackRegistryEvent |
| Immutable lifecycle event delivered to registry subscribers. 更多... | |
| struct | EvpackRegistrySubscription |
| Opaque identity used to cancel a registry subscription. 更多... | |
| class | EvpackResourceReader |
| Immutable reader retaining an admitted pack by shared ownership. 更多... | |
| struct | EvpackSignature |
| Fixed-size detached publisher signature stored in a v1 runtime pack. 更多... | |
| class | EvpackSignatureVerifier |
| Runtime trust provider supplied by the application/project policy. 更多... | |
| class | EvpackSigner |
| Tool-side provider that signs the authenticated 32-byte package metadata digest. 更多... | |
| struct | EvpackTrust |
| Trust inputs kept separate from size/resource limits. 更多... | |
| struct | EvpackUnmountReceipt |
| Receipt proving one generation was atomically unmounted. 更多... | |
| struct | EvpackVariant |
| Capability-addressed runtime representation; list order is fallback order. 更多... | |
| struct | EvpackVariantSelection |
| Result of ordered capability variant selection. 更多... | |
| class | FileEvpackRangeSource |
| Thread-safe file-backed range source; each request owns its file stream. 更多... | |
| struct | PackagePublishReceipt |
| Durable information returned only after atomic replacement succeeds. 更多... | |
| class | PreparedEvpackMount |
| Owning admitted mount candidate that has not changed observable registry state. 更多... | |
| struct | RuntimeAssetChunk |
| One decoded runtime chunk with its admitted semantic metadata. 更多... | |
| struct | RuntimeAssetPayload |
| Owning backend-neutral payload returned to a domain decoder. 更多... | |
| struct | RuntimeDefinitionLimits |
| Structural and allocation limits for untrusted EVDEF metadata. 更多... | |
| struct | ShaderAsset |
| Owning CPU program snapshot; decoding does not prove GPU/descriptor compatibility. 更多... | |
| struct | ShaderAssetLimits |
| Admission bounds checked before copying stage words. 更多... | |
| struct | ShaderAssetParameter |
| One sequential float/vector push-constant parameter, owned by the definition. 更多... | |
| class | SpriteAnimationClip |
| Immutable validated sprite timeline. No GPU/ECS objects, scheduler, callbacks or mutable playback clock. @ownership Owns frame metadata; snapshots remain valid independently of the clip or source package. @thread Const sampling is worker-safe. Callers supply finite nonnegative elapsed seconds. @reentrancy No callbacks or locks. Reimport builds a new candidate without mutating existing clips. 更多... | |
| struct | SpriteAnimationFrame |
| Owning sprite key snapshot; pixel rectangles and pivots use top-left coordinates. 更多... | |
枚举 | |
| enum class | CookPublication : std::uint8_t { LocalInspection , PublicDistribution } |
| Publication policy controls license admission without making legal inferences. 更多... | |
| enum class | EvaAssetChangeKind : std::uint8_t { Added , Removed , Changed } |
| Stable asset-level change classification. 更多... | |
| enum class | PackagePublishGateDecision : std::uint8_t { Proceed , Reject } |
| Explicit test/tool gate result immediately before atomic replacement. 更多... | |
| enum class | EvaDependencyKind : std::uint8_t { RuntimeRequired , RuntimeOptional , Build , Editor , Source , Platform } |
| Dependency role recorded by a source asset archive. 更多... | |
| enum class | EvpackChunkKind : std::uint16_t { Definition = 1 , Bulk = 2 , Stream = 3 , Shader = 4 , Dictionary = 5 , DebugName = 6 } |
| Semantic role of a runtime chunk. 更多... | |
| enum class | EvpackCodec : std::uint16_t { None = 0 , Zstd = 1 } |
| Physical outer compression applied to one runtime chunk. 更多... | |
| enum class | EvpackSignaturePolicy : std::uint8_t { AllowUnsignedDevelopment , RequireTrustedSignature } |
| Admission policy for unsigned development packages. 更多... | |
| enum class | EvpackRegistryEventKind : std::uint8_t { Mounted , Replaced , Unmounted } |
| Observable registry lifecycle operation dispatched after commit and outside locks. 更多... | |
| enum class | ShaderAssetInterface { Sprite2D , Mesh3D } |
| Fixed graphics binding contract; this is not an arbitrary pipeline layout. 更多... | |
函数 | |
| Result< AssetCookProfile > | assetCookProfileForTarget (std::string_view target) |
| Resolve a stable CLI/tool target name to its exact capability profile. | |
| Result< AssetCookReceipt > | cookEvaToEvpack (const EvaArchive &source, const AssetCookProfile &profile, const EvaArchiveLimits &evaLimits={}, const EvpackLimits &evpackLimits={}) |
| Cook an admitted source archive into one target-specific runtime pack. | |
| Result< EvaDependencyValidation > | validateEvaDependencies (const EvaManifest &manifest, std::span< const AvailableAssetDependency > available={}) |
| Validate local/external references, expected types and required-edge acyclicity. | |
| Result< EvaPackageDiff > | diffEvaManifests (const EvaManifest &before, const EvaManifest &after) |
| Compare two admitted manifests without using paths, timestamps or archive order. | |
| Result< SchemaVersion > | currentAssetSchemaVersion (std::string_view type) |
| Return the current supported definition version for a canonical asset type. | |
| Result< EvaArchive > | migrateEvaArchive (EvaArchive source, const EvaArchiveLimits &limits={}) |
| Migrate every definition in an owning archive to its current schema. | |
| Result< CookedCanonicalImage > | cookCanonicalImageRgba8 (std::span< const std::uint8_t > definition, std::span< const std::uint8_t > encodedSource, std::uint64_t maximumDecodedBytes) |
| Decode image/2 base images or image/3 explicit linear RGBA8 mip chains into bounded EVIMG. | |
| Result< CanonicalMeshData > | decodeCanonicalMesh (std::span< const std::uint8_t > bytes, const CanonicalMeshLimits &limits={}) |
| Decode canonical EVMESH binary v1, v2 or v3 into independently owned arrays. | |
| EVENGINE_API_FOUNDATION Result< std::vector< std::uint8_t > > | encodeCanonicalMesh (const CanonicalMeshData &mesh, const CanonicalMeshLimits &limits={}) |
| Encode an owning snapshot to EVMESH v3, or v2 when no named attributes exist. Borrows input synchronously; worker-safe, reentrant, without callbacks or retained pointers. | |
| Result< CookedCanonicalPcgGraph > | cookCanonicalPcgGraph (std::span< const std::uint8_t > definition, std::uint32_t maximumRules, std::uint64_t maximumPlanBytes) |
Compile eve.pcg-graph/1 terrain scatter rules to a bounded PointGraph plan. | |
| Result< CookedCanonicalVolumeTexture > | cookCanonicalVolumeTextureRgba8 (std::span< const uint8_t > definition, std::span< const uint8_t > sourceR8, uint64_t maximumDecodedBytes) |
| EVENGINE_API_FOUNDATION Result< CookedCanonicalVolumeTexture > | cookCanonicalVolumeTextureRgba8 (std::span< const std::uint8_t > definition, std::span< const std::uint8_t > sourceR8, std::uint64_t maximumDecodedBytes) |
| Validate volume-texture/1 and expand its X-fastest R8 voxels to RGBA8 EVVOL. | |
| Result< std::vector< std::uint8_t > > | buildEvaArchive (const EvaManifest &manifest, std::vector< EvaArchiveEntry > entries, const EvaArchiveLimits &limits={}) |
Build a deterministic ZIP64 .eva, selecting raw Deflate only when smaller than Store. | |
| Result< EvaArchive > | parseEvaArchive (std::span< const std::uint8_t > bytes, const EvaArchiveLimits &limits={}) |
Parse and fully verify an untrusted .eva ZIP64 image. | |
| std::string_view | evaDependencyKindName (EvaDependencyKind kind) noexcept |
| Return the stable manifest spelling for a dependency role. | |
| Result< EvaManifest > | parseEvaManifest (std::string_view json) |
Parse and validate canonical .eva manifest JSON. | |
| Result< std::string > | serializeEvaManifest (const EvaManifest &manifest) |
| Serialize a validated manifest as deterministic compact JSON. | |
| Result< std::vector< std::uint8_t > > | buildEvpack (EvpackBuild build, const EvpackLimits &limits={}) |
Build deterministic little-endian .evpack bytes from validated Cook output. | |
| Result< Evpack > | parseEvpackMetadata (std::span< const std::uint8_t > metadataPrefix, std::uint64_t packageSize, const EvpackLimits &limits={}, const EvpackTrust &trust={}) |
| Admit only the contiguous header/manifest/TOC prefix of a range-readable package. | |
| Result< Evpack > | parseEvpack (std::span< const std::uint8_t > bytes, const EvpackLimits &limits={}, const EvpackTrust &trust={}) |
Parse, bound-check and hash-verify a complete untrusted .evpack. | |
| Result< EvpackVariantSelection > | selectEvpackVariant (const Evpack &pack, const EvpackCapabilities &capabilities) |
| Select the first explicitly ordered variant satisfied by device capabilities. | |
| Result< std::vector< std::uint8_t > > | compressEvpackChunk (EvpackCodec codec, std::span< const std::uint8_t > decoded) |
| Compress decoded chunk bytes using the selected stable wire codec. | |
| Result< std::vector< std::uint8_t > > | decompressEvpackChunk (EvpackCodec codec, std::span< const std::uint8_t > stored, std::uint64_t decodedSize, std::uint64_t maximumDecodedBytes) |
| Decode one chunk into its authenticated canonical bytes. | |
| std::string | evpackCodecBuildIdentity (EvpackCodec codec) |
| Stable codec implementation identity included in deterministic Cook keys. | |
| Result< DecodedEvpackImage > | decodeEvpackImage (const EvpackResourceReader &reader, const AssetRef &image, const EvpackCapabilities &capabilities, const EvpackImageDecodeLimits &limits={}) |
| Decode and validate canonical eve.image/3 data with eve.image/2 compatibility. | |
| Result< EvpackRangeMount > | prepareEvpackRangeMount (std::shared_ptr< const EvpackRangeSource > source, const EvpackLimits &limits={}, const EvpackTrust &trust={}) |
| Read only header/manifest/TOC and prepare on-demand range loading. | |
| Result< PreparedEvpackMount > | prepareEvpackMount (std::span< const std::uint8_t > bytes, const EvpackLimits &limits={}, const EvpackTrust &trust={}) |
| Fully parse and verify package bytes without publishing them. | |
| Result< std::vector< std::uint8_t > > | encodeRuntimeDefinition (const Value &value, const RuntimeDefinitionLimits &limits={}) |
Encode an owning metadata tree as deterministic EVDEF\0\1 bytes. | |
| Result< Value > | decodeRuntimeDefinition (std::span< const std::uint8_t > bytes, const RuntimeDefinitionLimits &limits={}) |
Decode a bounded EVDEF\0\1 metadata tree without a JSON parser. | |
| Result< ShaderAsset > | decodeShaderAsset (const Value &definition, const ShaderAssetLimits &limits={}) |
Decode strict eve.shader/1 metadata with SPIR-V 1.0 through 1.6 stages. | |
| EVENGINE_API_FOUNDATION Result< ShaderAsset > | loadShaderAsset (const EvpackResourceReader &reader, const AssetRef &asset, const EvpackCapabilities &capabilities) |
Read and decode one capability-selected eve.shader/1 from an admitted runtime package. | |
枚举类型说明
◆ CookPublication
|
strong |
Publication policy controls license admission without making legal inferences.
| 枚举值 | |
|---|---|
| LocalInspection | |
| PublicDistribution | |
在文件 AssetCooker.h 第 17 行定义.
◆ EvaAssetChangeKind
|
strong |
◆ EvaDependencyKind
|
strong |
Dependency role recorded by a source asset archive.
| 枚举值 | |
|---|---|
| RuntimeRequired | |
| RuntimeOptional | |
| Build | |
| Editor | |
| Source | |
| Platform | |
在文件 EvaManifest.h 第 21 行定义.
◆ EvpackChunkKind
|
strong |
◆ EvpackCodec
|
strong |
◆ EvpackRegistryEventKind
|
strong |
Observable registry lifecycle operation dispatched after commit and outside locks.
| 枚举值 | |
|---|---|
| Mounted | |
| Replaced | |
| Unmounted | |
在文件 EvpackRegistry.h 第 51 行定义.
◆ EvpackSignaturePolicy
|
strong |
◆ PackagePublishGateDecision
|
strong |
Explicit test/tool gate result immediately before atomic replacement.
| 枚举值 | |
|---|---|
| Proceed | |
| Reject | |
在文件 AssetPackageStore.h 第 21 行定义.
◆ ShaderAssetInterface
|
strong |
Fixed graphics binding contract; this is not an arbitrary pipeline layout.
| 枚举值 | |
|---|---|
| Sprite2D | |
| Mesh3D | |
在文件 ShaderAsset.h 第 17 行定义.
函数说明
◆ assetCookProfileForTarget()
| EVENGINE_API_FOUNDATION Result< AssetCookProfile > eve::asset::assetCookProfileForTarget | ( | std::string_view | target | ) |
Resolve a stable CLI/tool target name to its exact capability profile.
- 参数
-
target One of the documented <os>-<arch>-<graphics>target names.
- 返回
- A local-inspection profile, or Unsupported for an unknown target. @thread Worker-safe; returns an owning value and uses no shared mutable state.
在文件 AssetCooker.cpp 第 129 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), LocalInspection, eve::asset::AssetCookProfile::publication, eve::Result< T >::success(), target, eve::Unsupported , 以及 eve::asset::AssetCookProfile::variant.
◆ buildEvaArchive()
| EVENGINE_API_FOUNDATION Result< std::vector< std::uint8_t > > eve::asset::buildEvaArchive | ( | const EvaManifest & | manifest, |
| std::vector< EvaArchiveEntry > | entries, | ||
| const EvaArchiveLimits & | limits = {} |
||
| ) |
Build a deterministic ZIP64 .eva, selecting raw Deflate only when smaller than Store.
- 参数
-
manifest Typed manifest written as the root manifest.jsonentry.entries Regular payload files; callers must not supply manifest.json.limits Resource budgets enforced before construction.
- 返回
- Complete owning archive bytes or a structured diagnostic. @thread Worker-safe when inputs are not concurrently mutated. @reentrancy Does not invoke callbacks.
在文件 EvaArchive.cpp 第 408 行定义.
引用了 eve::Conflict, definitions, entries, eve::Diagnostic::error(), eve::InvalidArgument, left, limits, parseEvaManifest(), payload, previous, right , 以及 serializeEvaManifest().
被这些函数引用 cookEvaToEvpack(), migrateEvaArchive(), eve::asset_procgen::prepareGtsTerrainLodPackage(), eve::asset_stylize::prepareMeshVfxPackage() , 以及 eve::asset::AtomicAssetPackageStore::publishEva().
◆ buildEvpack()
| EVENGINE_API_FOUNDATION Result< std::vector< std::uint8_t > > eve::asset::buildEvpack | ( | EvpackBuild | build, |
| const EvpackLimits & | limits | ||
| ) |
Build deterministic little-endian .evpack bytes from validated Cook output.
在文件 Evpack.cpp 第 248 行定义.
引用了 eve::asset::EvpackChunkInput::alignment, eve::asset::EvpackChunkInput::assetId, eve::asset::EvpackBuild::buildId, eve::asset::EvpackChunkInput::bytes, eve::asset::EvpackBuild::chunks, eve::asset::EvpackChunkInput::codec, compressEvpackChunk(), eve::Conflict, eve::asset::EvpackChunkInput::dependencies, eve::Diagnostic::error(), input, eve::InvalidArgument, eve::detail::Id128< Tag >::isNil(), limits, None, eve::asset::EvpackBuild::packageId, eve::asset::EvpackChunkInput::schemaVersion, eve::asset::EvpackChunkInput::type, eve::detail::StrongUint64< Tag >::value(), variant, eve::asset::EvpackChunkInput::variantIndex, eve::asset::EvpackBuild::variants , 以及 Zstd.
被这些函数引用 cookEvaToEvpack().
◆ compressEvpackChunk()
| EVENGINE_API_FOUNDATION Result< std::vector< std::uint8_t > > eve::asset::compressEvpackChunk | ( | EvpackCodec | codec, |
| std::span< const std::uint8_t > | decoded | ||
| ) |
Compress decoded chunk bytes using the selected stable wire codec.
在文件 EvpackCompression.cpp 第 12 行定义.
引用了 eve::Diagnostic::error(), eve::Failed, eve::InvalidArgument, None, size, stored, eve::Unsupported , 以及 Zstd.
被这些函数引用 eve::pixelworld_streaming::archiveChunkBatch() , 以及 buildEvpack().
◆ cookCanonicalImageRgba8()
| EVENGINE_API_FOUNDATION Result< CookedCanonicalImage > eve::asset::cookCanonicalImageRgba8 | ( | std::span< const std::uint8_t > | definition, |
| std::span< const std::uint8_t > | encodedSource, | ||
| std::uint64_t | maximumDecodedBytes | ||
| ) |
Decode image/2 base images or image/3 explicit linear RGBA8 mip chains into bounded EVIMG.
- 参数
-
definition Canonical source definition bytes. encodedSource Encoded image bytes referenced by the definition. maximumDecodedBytes Upper bound including the EVIMG header and pixels.
- 返回
- Owning runtime candidate; JPEG and unsupported PNG modes fail explicitly.
Image/3 requires mipCount; rgba8-mips is top-down level-major RGBA8, with a base-only or complete halving chain. Image/2 retains EVIMG v1; image/3 emits EVIMG v2 with mip count. @thread Worker-safe; uses no global decoder state.
在文件 CanonicalImageCook.cpp 第 163 行定义.
引用了 eve::Value::asInt(), eve::Value::asString(), begin, color, eve::asset::detail::decodeTgaRgba8(), eve::asset::detail::decodeTiffRgba8(), encoding, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Value::fromJson(), height, index, eve::InvalidArgument, eve::Value::isInt64(), eve::Value::isString(), eve::ParseError, pixels, size, eve::Result< T >::success(), eve::Unsupported , 以及 width.
被这些函数引用 cookEvaToEvpack() , 以及 eve::asset_import::prepareImageImport().
◆ cookCanonicalPcgGraph()
| Result< CookedCanonicalPcgGraph > eve::asset::cookCanonicalPcgGraph | ( | std::span< const std::uint8_t > | definition, |
| std::uint32_t | maximumRules, | ||
| std::uint64_t | maximumPlanBytes | ||
| ) |
Compile eve.pcg-graph/1 terrain scatter rules to a bounded PointGraph plan.
- 参数
-
definition Canonical JSON definition owned by the caller for this call. maximumRules Upper bound on accepted scatter rules and generated branches. maximumPlanBytes Upper bound on the owning execution-plan result.
- 返回
- Transactional owning Cook result; malformed or unsupported graphs are rejected. @thread Worker-safe; uses no shared mutable state.
在文件 CanonicalPcgCook.cpp 第 34 行定义.
引用了 eve::Value::asInt(), eve::Value::asString(), begin, edge, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Value::fromJson(), eve::Value::getIf(), id, eve::InvalidArgument, eve::Value::isInt64(), eve::Value::isString(), layer, node, number, output, root, seed, slots, eve::Result< T >::success(), eve::Value::toJson() , 以及 eve::Unsupported.
被这些函数引用 cookEvaToEvpack().
◆ cookCanonicalVolumeTextureRgba8() [1/2]
| EVENGINE_API_FOUNDATION Result< CookedCanonicalVolumeTexture > eve::asset::cookCanonicalVolumeTextureRgba8 | ( | std::span< const std::uint8_t > | definition, |
| std::span< const std::uint8_t > | sourceR8, | ||
| std::uint64_t | maximumDecodedBytes | ||
| ) |
Validate volume-texture/1 and expand its X-fastest R8 voxels to RGBA8 EVVOL.
- 参数
-
definition Canonical JSON definition bytes. sourceR8 Exact raw R8 voxel blob referenced by the definition. maximumDecodedBytes Upper bound including the EVVOL header and RGBA8 voxels.
- 返回
- Owning unpublished runtime candidate or structured failure. @thread Worker-safe, synchronous and reentrant; no callbacks or retained pointers.
◆ cookCanonicalVolumeTextureRgba8() [2/2]
| Result< CookedCanonicalVolumeTexture > eve::asset::cookCanonicalVolumeTextureRgba8 | ( | std::span< const uint8_t > | definition, |
| std::span< const uint8_t > | sourceR8, | ||
| uint64_t | maximumDecodedBytes | ||
| ) |
在文件 CanonicalVolumeTextureCook.cpp 第 28 行定义.
引用了 blob, eve::asset::CookedCanonicalVolumeTexture::bulk, eve::asset::CookedCanonicalVolumeTexture::definition, depth, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Value::fromJson(), height, eve::InvalidArgument, object, eve::ParseError, eve::Result< T >::success(), eve::Value::toJson(), value , 以及 width.
被这些函数引用 cookEvaToEvpack() , 以及 eve::asset_import::prepareUnityNativeVolumeTexture().
◆ cookEvaToEvpack()
| EVENGINE_API_FOUNDATION Result< AssetCookReceipt > eve::asset::cookEvaToEvpack | ( | const EvaArchive & | source, |
| const AssetCookProfile & | profile, | ||
| const EvaArchiveLimits & | evaLimits = {}, |
||
| const EvpackLimits & | evpackLimits = {} |
||
| ) |
Cook an admitted source archive into one target-specific runtime pack.
- 参数
-
source Owning source archive; it is revalidated before Cook. profile Explicit capability and publication policy. evaLimits Source revalidation budgets. evpackLimits Runtime package budgets.
- 返回
- Verified package bytes and deterministic receipt. @thread Worker-safe when source is not concurrently mutated. @reentrancy Does not execute scripts, tools, network requests or callbacks.
在文件 AssetCooker.cpp 第 150 行定义.
引用了 eve::asset::EvaManifest::assets, eve::asset::AssetCookProfile::availableDependencies, Build, buildEvaArchive(), buildEvpack(), eve::asset::EvpackBuild::buildId, Bulk, eve::asset::AssetCookProfile::bulkAlignment, eve::asset::EvaArchiveEntry::bytes, eve::asset::AssetCookProfile::chunkCodec, eve::asset::EvpackBuild::chunks, cookCanonicalImageRgba8(), cookCanonicalPcgGraph(), cookCanonicalVolumeTextureRgba8(), decodeShaderAsset(), Definition, eve::asset::EvaManifest::dependencies, Editor, eve::asset::EvaArchive::entries, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::asset::EvaDependency::from, eve::Value::fromJson(), eve::asset::EvpackVariant::graphics, eve::AssetRef::id(), image, eve::asset::EvaDependency::kind, eve::asset::EvaArchive::manifest, eve::asset::EvpackLimits::maximumChunkBytes, migrateEvaArchive(), None, eve::NotFound, eve::asset::EvaManifest::packageId, eve::asset::EvpackBuild::packageId, eve::ParseError, parseEvaArchive(), parseEvpack(), path, eve::asset::EvaArchiveEntry::path, eve::asset::AssetCookProfile::publication, RuntimeOptional, serializeEvaManifest(), shader, eve::asset::EvpackVariant::shaderFormat, Source, source, eve::Result< T >::success(), eve::asset::EvpackVariant::textureFamilies, eve::asset::EvaDependency::to, eve::Unsupported, validateEvaDependencies(), value, eve::asset::AssetCookProfile::variant, eve::asset::EvpackBuild::variants , 以及 volume.
◆ currentAssetSchemaVersion()
| EVENGINE_API_FOUNDATION Result< SchemaVersion > eve::asset::currentAssetSchemaVersion | ( | std::string_view | type | ) |
Return the current supported definition version for a canonical asset type.
在文件 AssetMigration.cpp 第 507 行定义.
引用了 currentAssetSchemaVersion(), found , 以及 type.
被这些函数引用 currentAssetSchemaVersion() , 以及 migrateEvaArchive().
◆ decodeCanonicalMesh()
| EVENGINE_API_FOUNDATION Result< CanonicalMeshData > eve::asset::decodeCanonicalMesh | ( | std::span< const std::uint8_t > | bytes, |
| const CanonicalMeshLimits & | limits = {} |
||
| ) |
Decode canonical EVMESH binary v1, v2 or v3 into independently owned arrays.
- 参数
-
bytes Borrowed immutable input valid for this synchronous call only. limits Bounds checked before allocating staging data.
- 返回
- Complete snapshot, or a checked format/range/budget failure; no partial result escapes. @thread Worker-safe and reentrant; no IO, callbacks, backend calls or global mutation.
Older versions are compatibility inputs. V3 additionally retains named float attributes.
在文件 CanonicalMesh.cpp 第 22 行定义.
引用了 at, eve::asset::CanonicalMeshData::attributes, bytes, c, eve::asset::CanonicalMeshData::colors, colors, count, cursor, ended, eve::Diagnostic::error(), eve::Result< T >::failure(), id, index, indexCount, eve::asset::CanonicalMeshData::indices, eve::InvalidArgument, limits, name, eve::asset::CanonicalMeshData::normals, normals, output, eve::ParseError, eve::asset::CanonicalMeshData::positions, positions, previous, eve::Result< T >::success(), eve::asset::CanonicalMeshData::texcoords, texcoords, u, value, values , 以及 vertexCount.
被这些函数引用 eve::asset_graphics::VegetationAsset::load() , 以及 eve::asset_graphics::EvpackGraphicsLoader::loadMesh().
◆ decodeEvpackImage()
| EVENGINE_API_FOUNDATION Result< DecodedEvpackImage > eve::asset::decodeEvpackImage | ( | const EvpackResourceReader & | reader, |
| const AssetRef & | image, | ||
| const EvpackCapabilities & | capabilities, | ||
| const EvpackImageDecodeLimits & | limits = {} |
||
| ) |
Decode and validate canonical eve.image/3 data with eve.image/2 compatibility.
- 参数
-
reader Borrowed immutable package reader valid for the call. image Stable image identity. capabilities Runtime capability selection. limits Allocation limits checked before copying pixels.
- 返回
- Detached owning RGBA8 mip data; failure publishes no partial bytes. @thread Worker-safe when reader is read concurrently; performs no GPU calls or callbacks.
在文件 EvpackImageDecoder.cpp 第 14 行定义.
引用了 Bulk, eve::asset::RuntimeAssetChunk::bytes, eve::asset::RuntimeAssetChunk::chunkId, color, decodeRuntimeDefinition(), Definition, eve::Diagnostic::error(), eve::Result< T >::failure(), found, h, height, image, eve::InvalidArgument, key, limits, eve::ParseError, payload, eve::asset::EvpackResourceReader::read(), eve::Result< T >::success(), eve::TypeMismatch, value, w , 以及 width.
被这些函数引用 eve::asset_graphics::EvpackImageLoader::load() , 以及 eve::asset_graphics::loadVegetationSceneElementMasks().
◆ decodeRuntimeDefinition()
| EVENGINE_API_FOUNDATION Result< Value > eve::asset::decodeRuntimeDefinition | ( | std::span< const std::uint8_t > | bytes, |
| const RuntimeDefinitionLimits & | limits = {} |
||
| ) |
Decode a bounded EVDEF\0\1 metadata tree without a JSON parser.
- 返回
- Owning Value after exact-length, canonical-key and finite-number validation. @thread Worker-safe; no shared mutable state.
在文件 RuntimeDefinition.cpp 第 246 行定义.
引用了 bytes, eve::Diagnostic::error(), eve::Result< T >::failure(), limits , 以及 eve::ParseError.
被这些函数引用 decodeEvpackImage(), eve::asset_stylize::EvpackMeshVfx::load(), eve::asset_graphics::EvpackVegetationSceneLoader::load(), eve::asset_procgen::EvpackPointGraphLoader::load(), eve::asset_procgen::EvpackInstanceSetLoader::load(), eve::asset_procgen::EvpackTerrainMaterialLoader::load(), eve::asset_physics::EvpackClothModelLoader::load(), eve::asset_scene::EvpackSceneTemplateLoader::load(), eve::asset_procgen::EvpackTerrainLoader::load(), eve::asset_graphics::EvpackVolumeTextureLoader::load(), eve::asset::SpriteAnimationClip::load(), loadShaderAsset() , 以及 eve::asset_graphics::detail::readCookedMaterial().
◆ decodeShaderAsset()
| EVENGINE_API_FOUNDATION Result< ShaderAsset > eve::asset::decodeShaderAsset | ( | const Value & | definition, |
| const ShaderAssetLimits & | limits = {} |
||
| ) |
Decode strict eve.shader/1 metadata with SPIR-V 1.0 through 1.6 stages.
- 参数
-
definition Borrowed owning tree, retained only during this call. limits Per-stage allocation budget.
- 返回
- Owning CPU snapshot or diagnostic; unknown fields/versions are rejected.
- 备注
- Validates framing and main entry-point stages, not full SPIR-V semantics or reflection. Parameters occupy consecutive float slots, at most 32, with one to four finite components each. No version zero format exists; future versions require explicit migration. @thread Worker-safe with immutable input. No callbacks, GPU objects, or live-state mutation.
在文件 ShaderAsset.cpp 第 54 行定义.
引用了 at, eve::Diagnostic::error(), eve::Result< T >::failure(), fields, eve::asset::ShaderAsset::fragment, eve::asset::ShaderAsset::interface, eve::InvalidArgument, limits, name, number, object, output, eve::asset::ShaderAsset::parameters, slots, Sprite2D, eve::Result< T >::success(), eve::UnknownVersion, value , 以及 eve::asset::ShaderAsset::vertex.
被这些函数引用 cookEvaToEvpack(), loadShaderAsset(), eve::asset_stylize::prepareMeshVfxPackage() , 以及 eve::asset_import::prepareShaderImport().
◆ decompressEvpackChunk()
| EVENGINE_API_FOUNDATION Result< std::vector< std::uint8_t > > eve::asset::decompressEvpackChunk | ( | EvpackCodec | codec, |
| std::span< const std::uint8_t > | stored, | ||
| std::uint64_t | decodedSize, | ||
| std::uint64_t | maximumDecodedBytes | ||
| ) |
Decode one chunk into its authenticated canonical bytes.
- 参数
-
codec Physical codec recorded in the TOC. stored Untrusted stored bytes. decodedSize Exact output size admitted from the TOC. maximumDecodedBytes Caller budget checked before allocation.
在文件 EvpackCompression.cpp 第 34 行定义.
引用了 decodedSize, eve::Diagnostic::error(), eve::InvalidArgument, None, eve::ParseError, size, stored, eve::Unsupported , 以及 Zstd.
被这些函数引用 eve::asset::Evpack::decodeChunk(), eve::pixelworld_streaming::decodeChunkBatchArchive() , 以及 eve::asset::EvpackRangeMount::readChunk().
◆ diffEvaManifests()
| EVENGINE_API_FOUNDATION Result< EvaPackageDiff > eve::asset::diffEvaManifests | ( | const EvaManifest & | before, |
| const EvaManifest & | after | ||
| ) |
Compare two admitted manifests without using paths, timestamps or archive order.
在文件 AssetDiff.cpp 第 29 行定义.
引用了 Added, eve::asset::EvaPackageDiff::assets, eve::asset::EvaManifest::assets, Changed, found, id, left, Removed , 以及 right.
◆ encodeCanonicalMesh()
| Result< std::vector< std::uint8_t > > eve::asset::encodeCanonicalMesh | ( | const CanonicalMeshData & | mesh, |
| const CanonicalMeshLimits & | limits = {} |
||
| ) |
Encode an owning snapshot to EVMESH v3, or v2 when no named attributes exist. Borrows input synchronously; worker-safe, reentrant, without callbacks or retained pointers.
- 返回
- Complete bytes or checked validation/budget failure; no partial output escapes.
在文件 CanonicalMeshEncode.cpp 第 9 行定义.
引用了 bytes, c, count, eve::Diagnostic::error(), eve::Failed, index, eve::InvalidArgument, limits, mesh, name, size, u, v, value , 以及 values.
◆ encodeRuntimeDefinition()
| EVENGINE_API_FOUNDATION Result< std::vector< std::uint8_t > > eve::asset::encodeRuntimeDefinition | ( | const Value & | value, |
| const RuntimeDefinitionLimits & | limits = {} |
||
| ) |
◆ evaDependencyKindName()
|
noexcept |
Return the stable manifest spelling for a dependency role.
在文件 EvaManifest.cpp 第 120 行定义.
引用了 Build, Editor, kind, Platform, RuntimeOptional, RuntimeRequired , 以及 Source.
被这些函数引用 serializeEvaManifest().
◆ evpackCodecBuildIdentity()
| std::string eve::asset::evpackCodecBuildIdentity | ( | EvpackCodec | codec | ) |
Stable codec implementation identity included in deterministic Cook keys.
在文件 EvpackCompression.cpp 第 64 行定义.
◆ loadShaderAsset()
| Result< ShaderAsset > eve::asset::loadShaderAsset | ( | const EvpackResourceReader & | reader, |
| const AssetRef & | asset, | ||
| const EvpackCapabilities & | capabilities | ||
| ) |
Read and decode one capability-selected eve.shader/1 from an admitted runtime package.
- 参数
-
reader Borrowed for this call; the result owns all decoded data. asset Persistent shader identity, not a runtime GPU handle. capabilities Actual device capabilities; only Vulkan SPIR-V is supported in version one.
- 返回
- Independent CPU candidate or a diagnostic; no live state is changed. @thread Worker-safe. No callbacks or GPU allocation. GPU validation remains the upload boundary's responsibility.
在文件 ShaderAssetLoader.cpp 第 6 行定义.
引用了 decodeRuntimeDefinition(), decodeShaderAsset(), Definition, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::asset::EvpackCapabilities::graphics, eve::InvalidArgument, limits, eve::asset::RuntimeDefinitionLimits::maximumBytes, payload, eve::asset::EvpackResourceReader::read() , 以及 eve::Unsupported.
被这些函数引用 eve::asset_graphics::EvpackShader::load() , 以及 eve::asset_stylize::EvpackMeshVfx::load().
◆ migrateEvaArchive()
| EVENGINE_API_FOUNDATION Result< EvaArchive > eve::asset::migrateEvaArchive | ( | EvaArchive | source, |
| const EvaArchiveLimits & | limits = {} |
||
| ) |
Migrate every definition in an owning archive to its current schema.
- 参数
-
source Source value consumed only after every migration and invariant validates.
- 返回
- A fully rebuilt owning candidate; the caller decides whether to publish it.
- 备注
- Supports the current version and N-1. Unknown newer versions and downgrade requests are rejected. No files or registries are mutated by this operation.
在文件 AssetMigration.cpp 第 537 行定义.
引用了 buildEvaArchive(), current, currentAssetSchemaVersion(), limits, migrateEvaArchive(), parseEvaArchive(), path, source , 以及 text.
被这些函数引用 cookEvaToEvpack() , 以及 migrateEvaArchive().
◆ parseEvaArchive()
| EVENGINE_API_FOUNDATION Result< EvaArchive > eve::asset::parseEvaArchive | ( | std::span< const std::uint8_t > | bytes, |
| const EvaArchiveLimits & | limits = {} |
||
| ) |
Parse and fully verify an untrusted .eva ZIP64 image.
- 参数
-
bytes Complete archive bytes whose lifetime need only cover this call. limits Resource budgets checked before decoded allocations.
- 返回
- Owning admitted archive or a structured diagnostic. @thread Worker-safe; no state is retained across calls. @reentrancy Does not invoke callbacks.
在文件 EvaArchive.cpp 第 505 行定义.
引用了 bytes, compressedSize, crc, cursor, decodedSize, definitions, eve::asset::EvaArchive::entries, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::HashMismatch, index, eve::InvalidArgument, left, limits, local, localOffset, eve::asset::EvaArchive::manifest, method, eve::ParseError, parseEvaManifest(), path, eve::asset::EvaArchiveEntry::path, payload, right, eve::Result< T >::success() , 以及 eve::Unsupported.
被这些函数引用 cookEvaToEvpack(), migrateEvaArchive() , 以及 eve::asset::AtomicAssetPackageStore::publishEva().
◆ parseEvaManifest()
| EVENGINE_API_FOUNDATION Result< EvaManifest > eve::asset::parseEvaManifest | ( | std::string_view | json | ) |
Parse and validate canonical .eva manifest JSON.
- 参数
-
json Untrusted UTF-8 JSON bytes from manifest.json.
- 返回
- An owning validated manifest or a structured diagnostic. @thread Worker-safe when each call owns its input and result. @reentrancy Does not invoke callbacks.
在文件 EvaManifest.cpp 第 132 行定义.
引用了 eve::asset::EvaManifest::assets, eve::Value::asString(), eve::Conflict, eve::asset::EvaManifest::dependencies, entries, eve::asset::EvaManifest::entrypoints, eve::Diagnostic::error(), eve::asset::EvaManifest::extensions, eve::Result< T >::failure(), from, eve::Value::fromJson(), eve::Value::getIf(), index, eve::InvalidArgument, eve::Value::isString(), key, kind, eve::asset::EvaManifest::kSchema, eve::asset::EvaManifest::kVersion, name, object, eve::asset::EvaManifest::packageId, packageId, eve::asset::EvaManifest::packageName, packageName, eve::asset::EvaManifest::packageVersion, packageVersion, eve::detail::Id128< Tag >::parse(), eve::ParseError, path, Platform, eve::asset::EvaManifest::provenance, reference, required, root, eve::Result< T >::success(), to, type, eve::UnknownVersion, eve::Unsupported , 以及 value.
被这些函数引用 buildEvaArchive() , 以及 parseEvaArchive().
◆ parseEvpack()
| EVENGINE_API_FOUNDATION Result< Evpack > eve::asset::parseEvpack | ( | std::span< const std::uint8_t > | bytes, |
| const EvpackLimits & | limits, | ||
| const EvpackTrust & | trust | ||
| ) |
Parse, bound-check and hash-verify a complete untrusted .evpack.
在文件 Evpack.cpp 第 542 行定义.
被这些函数引用 cookEvaToEvpack() , 以及 eve::asset::AtomicAssetPackageStore::publishEvpack().
◆ parseEvpackMetadata()
| Result< Evpack > eve::asset::parseEvpackMetadata | ( | std::span< const std::uint8_t > | metadataPrefix, |
| std::uint64_t | packageSize, | ||
| const EvpackLimits & | limits = {}, |
||
| const EvpackTrust & | trust = {} |
||
| ) |
Admit only the contiguous header/manifest/TOC prefix of a range-readable package.
- 参数
-
metadataPrefix Bytes from offset zero through the end of the TOC. packageSize Authoritative total source size used to validate chunk ranges.
- 返回
- Metadata-only Evpack index;
chunkBytes()intentionally rejects it.
- 备注
- Chunk hashes are verified later by the range mount before bytes reach a decoder.
在文件 Evpack.cpp 第 361 行定义.
◆ prepareEvpackMount()
| EVENGINE_API_FOUNDATION Result< PreparedEvpackMount > eve::asset::prepareEvpackMount | ( | std::span< const std::uint8_t > | bytes, |
| const EvpackLimits & | limits = {}, |
||
| const EvpackTrust & | trust = {} |
||
| ) |
Fully parse and verify package bytes without publishing them.
- 参数
-
bytes Untrusted complete package bytes, copied into the candidate. limits Admission budgets.
- 返回
- Owning candidate suitable for an explicit commit. @thread Worker-safe. @reentrancy Does not invoke callbacks.
在文件 EvpackRegistry.cpp 第 40 行定义.
◆ prepareEvpackRangeMount()
| EVENGINE_API_FOUNDATION Result< EvpackRangeMount > eve::asset::prepareEvpackRangeMount | ( | std::shared_ptr< const EvpackRangeSource > | source, |
| const EvpackLimits & | limits = {}, |
||
| const EvpackTrust & | trust = {} |
||
| ) |
Read only header/manifest/TOC and prepare on-demand range loading.
- 参数
-
source Immutable source retained for the mount lifetime. limits Metadata and chunk budgets.
- 返回
- Prepared range mount; no chunk payload has been fetched yet.
在文件 EvpackRange.cpp 第 65 行定义.
◆ selectEvpackVariant()
| EVENGINE_API_FOUNDATION Result< EvpackVariantSelection > eve::asset::selectEvpackVariant | ( | const Evpack & | pack, |
| const EvpackCapabilities & | capabilities | ||
| ) |
Select the first explicitly ordered variant satisfied by device capabilities.
- 返回
- Selected index and whether an ordered fallback after index zero was used.
在文件 Evpack.cpp 第 585 行定义.
引用了 index, selectEvpackVariant(), size , 以及 eve::asset::Evpack::variants().
被这些函数引用 eve::asset::EvpackResourceReader::listAssets(), eve::asset::EvpackResourceReader::read(), eve::asset::EvpackRegistry::resolveAsset() , 以及 selectEvpackVariant().
◆ serializeEvaManifest()
| EVENGINE_API_FOUNDATION Result< std::string > eve::asset::serializeEvaManifest | ( | const EvaManifest & | manifest | ) |
Serialize a validated manifest as deterministic compact JSON.
- 返回
- Canonical JSON or a serialization diagnostic. @thread Worker-safe when the manifest is not concurrently mutated. @reentrancy Does not invoke callbacks.
在文件 EvaManifest.cpp 第 321 行定义.
引用了 eve::asset::EvaManifest::assets, eve::asset::EvaManifest::dependencies, eve::asset::EvaManifest::entrypoints, evaDependencyKindName(), eve::asset::EvaManifest::extensions, eve::detail::Id128< Tag >::format(), eve::asset::EvaManifest::kSchema, eve::asset::EvaManifest::kVersion, name, object, eve::asset::EvaManifest::packageId, eve::asset::EvaManifest::packageName, eve::asset::EvaManifest::packageVersion, eve::asset::EvaManifest::provenance, reference, root, tag , 以及 eve::Value::toJson().
被这些函数引用 buildEvaArchive() , 以及 cookEvaToEvpack().
◆ validateEvaDependencies()
| EVENGINE_API_FOUNDATION Result< EvaDependencyValidation > eve::asset::validateEvaDependencies | ( | const EvaManifest & | manifest, |
| std::span< const AvailableAssetDependency > | available | ||
| ) |
Validate local/external references, expected types and required-edge acyclicity.
在文件 AssetDependency.cpp 第 34 行定义.
引用了 eve::asset::EvaManifest::assets, eve::Diagnostic::error(), found, eve::InvalidArgument, local , 以及 eve::TypeMismatch.
被这些函数引用 cookEvaToEvpack().