chore: checkpoint current workspace changes

This commit is contained in:
2026-04-11 22:14:02 +08:00
parent 3e55f8c204
commit 8848cfd958
227 changed files with 34027 additions and 6711 deletions

View File

@@ -1,6 +1,8 @@
#include <gtest/gtest.h>
#include <XCEngine/Core/Asset/AssetDatabase.h>
#include <XCEngine/Core/Asset/ArtifactContainer.h>
#include <XCEngine/Core/Asset/ArtifactFormats.h>
#include <XCEngine/Core/Asset/AssetRef.h>
#include <XCEngine/Core/Asset/ResourceManager.h>
#include <XCEngine/Core/Math/Bounds.h>
@@ -446,7 +448,18 @@ TEST(GaussianSplatLoader, AssetDatabaseImportsSyntheticPlyAndLinearizesData) {
ASSERT_TRUE(database.EnsureArtifact("Assets/sample.ply", ResourceType::GaussianSplat, resolved));
ASSERT_TRUE(resolved.artifactReady);
EXPECT_TRUE(fs::exists(resolved.artifactMainPath.CStr()));
EXPECT_FALSE(resolved.artifactMainEntryPath.Empty());
EXPECT_NE(resolved.artifactMainEntryPath, resolved.artifactMainPath);
EXPECT_EQ(fs::path(resolved.artifactMainPath.CStr()).extension().generic_string(), ".xcgsplat");
XCEngine::Containers::Array<XCEngine::Core::uint8> artifactPayload;
EXPECT_TRUE(ReadArtifactContainerMainEntryPayload(
resolved.artifactMainPath,
ResourceType::GaussianSplat,
artifactPayload));
ASSERT_GE(artifactPayload.Size(), sizeof(GaussianSplatArtifactFileHeader));
GaussianSplatArtifactFileHeader artifactFileHeader = {};
std::memcpy(&artifactFileHeader, artifactPayload.Data(), sizeof(artifactFileHeader));
EXPECT_EQ(std::memcmp(artifactFileHeader.magic, "XCGSP01", 7), 0);
GaussianSplatLoader loader;
LoadResult result = loader.Load(resolved.artifactMainPath);
@@ -485,6 +498,12 @@ TEST(GaussianSplatLoader, AssetDatabaseImportsSyntheticPlyAndLinearizesData) {
EXPECT_NEAR(gaussianSplat->GetSHRecords()[1].coefficients[44], vertices[1].sh[44], 1e-6f);
delete gaussianSplat;
LoadResult entryResult = loader.Load(resolved.artifactMainEntryPath);
ASSERT_TRUE(entryResult);
ASSERT_NE(entryResult.resource, nullptr);
delete entryResult.resource;
database.Shutdown();
fs::remove_all(projectRoot);
}