namespace VoxelEngine.World.Blocks; public interface IBlock { ushort Id { get; } string Name { get; } // Drives face culling: a face is emitted only if its neighbor is not opaque. bool IsOpaque { get; } // Reserved for future collision (not used in the baseline). bool IsSolid { get; } // Atlas tile coordinate for the given face. TileCoord GetTextureTile(BlockFace face); // Interaction hooks — capability present now, system built post-baseline. void OnInteract() { } void OnPlaced() { } void OnBroken() { } }