I am not sure if this is already implemented under the hood but I decided to ask away anyway.
My use case is large environments and camera & AI agent collision detection.
Doing ray intersects on large mesh is quite slow and perhaps applying octree on triangle level could give one or two orders of magnitude performance boost. This would work by placing mesh triangles in octree and find matching triangles by ray bounding box in mesh local coordinates. Then you could still move the mesh around freely if needed without need to update the octree. Only changing mesh content would require updating the octree.
Even if you create specialized collision shapes they can get quite complex and costly on large levels.
Submeshing in turn seems to affect overall performance adversely and collision engine with submeshing did not really solve my performance issues. I am still planning to try the webworker collision detection but I am afraid the ray intersect cost is still order of magnitude too large.