载入中...
搜索中...
未找到
GeneratedArtifact.h 文件参考

Owning, backend-neutral products published by procedural generation. 更多...

#include "common/ArtifactPublication.h"
#include "common/Generation.h"
#include "common/Identity.h"
#include "common/Result.h"
#include "common/SchemaVersion.h"
#include "common/Snapshot.h"
#include "common/Value.h"
#include "procgen/Grid2D.h"
#include "procgen/MeshBuild.h"
#include "procgen/Params.h"
#include "procgen/PointSet.h"
#include <cstdint>
#include <functional>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <unordered_map>
#include <utility>
#include <variant>
#include <vector>

浏览源代码.

类

class  eve::procgen::BuildKey
 Stable key for deterministic-equivalent generation inputs. 更多...
 
struct  eve::procgen::Bounds
 Axis-aligned bounds in the artifact's declared world coordinate space. 更多...
 
struct  eve::procgen::ImageData
 Small owning image product; raw pixels stay out of JSON metadata. 更多...
 
struct  eve::procgen::Collider
 Backend-neutral collider product, normally a triangle mesh or hull. 更多...
 
struct  eve::procgen::ArtifactPart
 One typed, role-named child product inside a composite artifact. 更多...
 
struct  eve::procgen::CompositeArtifact
 A coherent set of products published from one deterministic build. 更多...
 
struct  eve::procgen::GeneratedArtifact
 Complete immutable-once-published artifact record. 更多...
 
class  eve::procgen::ArtifactStore
 In-memory owner and publisher for generated artifacts. 更多...
 

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::procgen
 
namespace  std
 

类型定义

using eve::procgen::ArtifactId = eve::ArtifactId
 Common strong UUID identity for one published procedural artifact.
 
using eve::procgen::MeshData = MeshBuild
 Existing dense CPU mesh type under the artifact vocabulary.
 
using eve::procgen::ArtifactLeafPayload = std::variant< Grid2D, PointSet, MeshData, ImageData, Collider >
 Leaf payloads used by a CompositeArtifact.
 

枚举

enum class  eve::procgen::ArtifactType : std::uint8_t {
  eve::procgen::Grid , eve::procgen::PointSet , eve::procgen::MeshData , eve::procgen::ImageData ,
  eve::procgen::Collider , eve::procgen::Composite
}
 Runtime payload kind; it is checked against the variant on publish. 更多...
 

函数

ArtifactType eve::procgen::artifactType (const GeneratedArtifact::Payload &payload) noexcept
 Return the variant kind for a payload.
 
const char * eve::procgen::artifactTypeName (ArtifactType type) noexcept
 Return the stable textual spelling of an artifact kind.
 
eve::Result< GeneratedArtifact > eve::procgen::makeArtifact (ArtifactId id, ArtifactType type, eve::SchemaVersion schemaVersion, BuildKey buildKey, Bounds bounds, std::vector< ArtifactId > dependencies, eve::Value::Object metadata, GeneratedArtifact::Payload payload)
 Validate and construct one artifact record.
 
eve::Result< ArtifactPart > eve::procgen::makeArtifactPart (std::string role, ArtifactId id, ArtifactType type, eve::SchemaVersion schemaVersion, BuildKey buildKey, Bounds bounds, std::vector< ArtifactId > dependencies, eve::Value::Object metadata, ArtifactLeafPayload payload)
 Validate and construct a leaf part for a composite artifact.
 
eve::Result< GeneratedArtifact > eve::procgen::generateHexTerrainArtifact (const Params &params, ArtifactId id)
 Generate a hex-terrain composite containing mesh, collider, topology and world anchors.
 
eve::Result< GeneratedArtifact > eve::procgen::generateCastleArtifact (const Params &params, ArtifactId id)
 Generate a castle composite containing mesh, collider, ring topology and gate/keep anchors.
 
EVENGINE_API_DOMAINS eve::Result< GeneratedArtifact > eve::procgen::generateRoadNetworkArtifact (const Params &params, ArtifactId id)
 Generate a road composite containing mesh, collider, terrain footprint, navigation and placement points.
 
eve::Result< GeneratedArtifact > eve::procgen::generateMeshArtifact (std::string_view recipeId, const Params &params, ArtifactId id)
 Generate any registered mesh recipe as a CPU artifact.
 

详细描述

Owning, backend-neutral products published by procedural generation.

Generated artifacts are the boundary between deterministic CPU generation and optional map, scene, graphics or physics adapters. The payload keeps dense data in typed values; metadata is deliberately small and dynamic.

在文件 GeneratedArtifact.h 中定义.