using Unity.Entities;
namespace ProjectM.Simulation
{
///
/// Singleton holding the physics-filter mask of the static world-collision layer ("Environment"): the baked
/// boundary ring + landmark colliders the player CC sweeps. Baked from the GameObject layer at edit-time (see
/// WorldCollisionAuthoring) so server systems can build a CollisionFilter in Burst WITHOUT a managed
/// LayerMask.NameToLayer call or a hardcoded layer index. Read by 's
/// EnemyAISystem to sweep-test Husk movement against the environment only (never the player / other Husks).
///
public struct WorldCollisionConfig : IComponentData
{
/// BelongsTo bitmask of the Environment physics layer (1u << layerIndex).
/// BelongsTo bitmask of the Environment physics layer (1u << layerIndex).
public uint EnvironmentMask;
/// DR-042 C5: BelongsTo bitmask of the "Structure" physics layer (player-built Wall/Turret/Pylon
/// colliders). OR'd into the enemy-movement sweep filter so husks collide-and-slide against walls. 0 if the
/// layer is absent (feature inert). The layer matrix excludes Structure×the player layer so the player CC
/// passes through its own walls.
public uint StructureMask;
}
}