private void ProcessEntity(int index, Entity entity, Collider collider, RigidTransform rigidTransform)
            {
                Aabb aabb = Physics.CalculateAabb(collider, rigidTransform);

                colliderAoS[index] = new ColliderAoSData
                {
                    collider       = collider,
                    rigidTransform = rigidTransform,
                    aabb           = aabb,
                    entity         = entity
                };
                xmins[index] = aabb.min.x;

                int3 minBucket = math.int3(math.floor((aabb.min - layer.worldMin) / layer.worldAxisStride));
                int3 maxBucket = math.int3(math.floor((aabb.max - layer.worldMin) / layer.worldAxisStride));

                minBucket = math.clamp(minBucket, 0, layer.worldSubdivisionsPerAxis - 1);
                maxBucket = math.clamp(maxBucket, 0, layer.worldSubdivisionsPerAxis - 1);

                if (math.all(minBucket == maxBucket))
                {
                    layerIndices[index] = (minBucket.x * layer.worldSubdivisionsPerAxis.y + minBucket.y) * layer.worldSubdivisionsPerAxis.z + minBucket.z;
                }
                else
                {
                    layerIndices[index] = layer.bucketStartsAndCounts.Length - 1;
                }
            }
            public void Execute(int i)
            {
                var aabb = Physics.CalculateAabb(colliderBodies[i].collider, colliderBodies[i].transform);

                aabbs[i] = aabb;
                xmins[i] = aabb.min.x;

                int3 minBucket = math.int3(math.floor((aabb.min - layer.worldMin) / layer.worldAxisStride));
                int3 maxBucket = math.int3(math.floor((aabb.max - layer.worldMin) / layer.worldAxisStride));

                minBucket = math.clamp(minBucket, 0, layer.worldSubdivisionsPerAxis - 1);
                maxBucket = math.clamp(maxBucket, 0, layer.worldSubdivisionsPerAxis - 1);

                if (math.all(minBucket == maxBucket))
                {
                    layerIndices[i] = (minBucket.x * layer.worldSubdivisionsPerAxis.y + minBucket.y) * layer.worldSubdivisionsPerAxis.z + minBucket.z;
                }
                else
                {
                    layerIndices[i] = layer.bucketStartsAndCounts.Length - 1;
                }
            }