public void Execute()
        {
            var distances = new NativeArray <ushort>(field.spans.Length, Allocator.Temp, NativeArrayOptions.UninitializedMemory);

            VoxelUtilityBurst.CalculateDistanceField(field, distances);

            output.ResizeUninitialized(field.spans.Length);
            VoxelUtilityBurst.BoxBlur(field, distances, output);
        }
        public void Execute()
        {
            var distances = new NativeArray <ushort>(field.spans.Length, Allocator.Temp, NativeArrayOptions.UninitializedMemory);

            VoxelUtilityBurst.CalculateDistanceField(field, distances);

            for (int i = 0; i < distances.Length; i++)
            {
                // Note multiplied with 2 because the distance field increments distance by 2 for each voxel (and 3 for diagonal)
                if (distances[i] < radius * 2)
                {
                    field.areaTypes[i] = CompactVoxelField.UnwalkableArea;
                }
            }
        }