struct aabb { float x_minmax[2]; float y_minmax[2]; float z_minmax[2]; };
Why not just do struct aabb { float mins[3]; float maxs[3]; };
The minmax representation makes less sense if you are frequently updating the 3D objects position, no? You really want both representations available.
It make sense to generate the bounds JIT when you are actually building an octree to test collisions. Assuming you have a nontrivial amount of objects.
For non 3d graphics people AABB -> Axis Aligned Bounding Box.