载入中...
搜索中...
未找到
eve::asset 命名空间参考

命名空间

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

enum class eve::asset::CookPublication : std::uint8_t
strong

Publication policy controls license admission without making legal inferences.

枚举值
LocalInspection 
PublicDistribution 

在文件 AssetCooker.h 第 17 行定义.

◆ EvaAssetChangeKind

enum class eve::asset::EvaAssetChangeKind : std::uint8_t
strong

Stable asset-level change classification.

枚举值
Added 
Removed 
Changed 

在文件 AssetDiff.h 第 12 行定义.

◆ EvaDependencyKind

enum class eve::asset::EvaDependencyKind : std::uint8_t
strong

Dependency role recorded by a source asset archive.

枚举值
RuntimeRequired 
RuntimeOptional 
Build 
Editor 
Source 
Platform 

在文件 EvaManifest.h 第 21 行定义.

◆ EvpackChunkKind

enum class eve::asset::EvpackChunkKind : std::uint16_t
strong

Semantic role of a runtime chunk.

枚举值
Definition 
Bulk 
Stream 
Shader 
Dictionary 
DebugName 

在文件 Evpack.h 第 26 行定义.

◆ EvpackCodec

enum class eve::asset::EvpackCodec : std::uint16_t
strong

Physical outer compression applied to one runtime chunk.

枚举值
None 
Zstd 

在文件 Evpack.h 第 36 行定义.

◆ EvpackRegistryEventKind

enum class eve::asset::EvpackRegistryEventKind : std::uint8_t
strong

Observable registry lifecycle operation dispatched after commit and outside locks.

枚举值
Mounted 
Replaced 
Unmounted 

在文件 EvpackRegistry.h 第 51 行定义.

◆ EvpackSignaturePolicy

enum class eve::asset::EvpackSignaturePolicy : std::uint8_t
strong

Admission policy for unsigned development packages.

枚举值
AllowUnsignedDevelopment 
RequireTrustedSignature 

在文件 Evpack.h 第 69 行定义.

◆ PackagePublishGateDecision

enum class eve::asset::PackagePublishGateDecision : std::uint8_t
strong

Explicit test/tool gate result immediately before atomic replacement.

枚举值
Proceed 
Reject 

在文件 AssetPackageStore.h 第 21 行定义.

◆ ShaderAssetInterface

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.

参数
targetOne 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.

参数
manifestTyped manifest written as the root manifest.json entry.
entriesRegular payload files; callers must not supply manifest.json.
limitsResource 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()

◆ 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.

参数
definitionCanonical source definition bytes.
encodedSourceEncoded image bytes referenced by the definition.
maximumDecodedBytesUpper 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.

参数
definitionCanonical JSON definition owned by the caller for this call.
maximumRulesUpper bound on accepted scatter rules and generated branches.
maximumPlanBytesUpper 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.

参数
definitionCanonical JSON definition bytes.
sourceR8Exact raw R8 voxel blob referenced by the definition.
maximumDecodedBytesUpper 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]

◆ 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.

参数
sourceOwning source archive; it is revalidated before Cook.
profileExplicit capability and publication policy.
evaLimitsSource revalidation budgets.
evpackLimitsRuntime 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.

参数
bytesBorrowed immutable input valid for this synchronous call only.
limitsBounds 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.

参数
readerBorrowed immutable package reader valid for the call.
imageStable image identity.
capabilitiesRuntime capability selection.
limitsAllocation 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()

◆ 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.

参数
definitionBorrowed owning tree, retained only during this call.
limitsPer-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.

参数
codecPhysical codec recorded in the TOC.
storedUntrusted stored bytes.
decodedSizeExact output size admitted from the TOC.
maximumDecodedBytesCaller 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.

被这些函数引用 eve::asset_procgen::prepareGtsTerrainLodPackage().

◆ encodeRuntimeDefinition()

EVENGINE_API_FOUNDATION Result< std::vector< std::uint8_t > > eve::asset::encodeRuntimeDefinition ( const Value &  value,
const RuntimeDefinitionLimits &  limits = {} 
)

Encode an owning metadata tree as deterministic EVDEF\0\1 bytes.

返回
Canonical little-endian bytes; object keys use Value's sorted order. @thread Worker-safe when value is not concurrently mutated.

在文件 RuntimeDefinition.cpp 第 236 行定义.

引用了 count, limits , 以及 value.

◆ evaDependencyKindName()

std::string_view eve::asset::evaDependencyKindName ( EvaDependencyKind  kind)
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 行定义.

引用了 None , 以及 Zstd.

◆ 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.

参数
readerBorrowed for this call; the result owns all decoded data.
assetPersistent shader identity, not a runtime GPU handle.
capabilitiesActual 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.

参数
sourceSource 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.

参数
bytesComplete archive bytes whose lifetime need only cover this call.
limitsResource 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()

◆ 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.

参数
metadataPrefixBytes from offset zero through the end of the TOC.
packageSizeAuthoritative 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.

参数
bytesUntrusted complete package bytes, copied into the candidate.
limitsAdmission 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.

参数
sourceImmutable source retained for the mount lifetime.
limitsMetadata 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().