Files
VoxelForge/Source/VoxelForgeEditor/VoxelForgeEditor.Build.cs
T
Fr0zkaandClaude Opus 5.5 29ca99af7f wip(unreal): VoxelForgeCore UBT module + asset adapter reproduce the standalone world
Luna, integration round 1 (BuildHost only; owner's project and assets untouched):
- New runtime module VoxelForgeCore: one shim per Standalone/Core/core_sources.txt row
  (sources stay canonical under Standalone/), NoPCH/no unity, manifest check; VoxelForge
  links it (no runtime routing yet). UE link-safety audit: 18 shims, 83,843 symbol lines
  vs 399 Unreal-style names, 0 clashes.
- Adapter (editor commandlet path) turns staged copies of the owner's DA_* assets into
  schema-v1 JSON; with clip_radius=3/max_clip_level=8 it reproduces all four Core hashes
  (0xdb2991c73215af4c, 0x8236c5edd7fc8e4f, 0x4c48fa75a543d58e, 0xbea22e76b34a4dfc) and
  walkability 5,642/5,642 at worker limits 1, 8 and 16.
- Noted: the owner's settings asset says max clip level 6 (standalone used 8); Core uses
  25 cm voxels vs the plugin runtime's 12.5 cm.
Not done yet: AVoxelWorld switch and Core runtime route (round 2).
Docs: CODEMAP, ARCHITECTURE, SHARED_CPP_LIBRARY_PLAN, UNREAL_INTEGRATION_REPORT.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
2026-10-08 19:38:18 +02:00

38 lines
1.1 KiB
C#

// Editor-only commandlets and offline explorers. This module is not linked by Game/Shipping.
using UnrealBuildTool;
public class VoxelForgeEditor : ModuleRules
{
public VoxelForgeEditor(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
// The commandlet's PNG shading, metre conversions, and JSON fields are part of its
// deterministic artifact contract, so keep the editor-side arithmetic on the same precise
// floating-point model as the authoritative Runtime module.
FPSemantics = FPSemanticsMode.Precise;
PublicDependencyModuleNames.AddRange(new string[]
{
"Core",
"CoreUObject",
"Engine",
});
PrivateDependencyModuleNames.AddRange(new string[]
{
"Json",
"ImageWrapper",
"VoxelForge",
"VoxelForgeCore",
});
if (Target.Platform == UnrealTargetPlatform.Win64)
{
// DbgHelp is intentionally editor-only: the measured game/sampler process never links
// or initializes it. VoxelForgeExplore uses it only in its post-exit symbolizer mode.
PublicSystemLibraries.Add("Dbghelp.lib");
}
}
}