- The single-BVH API (
BVH,TriangleMesh,AccelPrimitive) is replaced by a two-level acceleration-structure API:BLAS/TLAS(and the BVH4 variantsBLAS4/TLAS4). Build withbuild_blas/build_tlas/build_blas4. Multiple meshes/instances now live under oneTLASrather than being merged into a singleBVH. - The
RayIntersectionSessionAPI (hit_points,hit_distances,hit_count,miss_count) is removed. Usetrace_rays/closest_hit/any_hitagainst aTLASdirectly; the result types areRTHitResultandRTRay. - Primitives now carry a generic
meta::Tfield instead of separate material/primitive indices (this was prepared in 0.1.x via PR #9 and is now the only supported shape).
- Replace
BVH(meshes...)withbuild_blas(...)per geometry plusbuild_tlas(blases, instances). For dynamic scenes useTLASHandle+update!+sync!. - Replace
RayIntersectionSessionworkflows withtrace_rays(tlas, rays)returningVector{RTHitResult}, or callclosest_hit(tlas, ray)/any_hit(tlas, ray)for single-ray queries. - For heterogeneous geometry sets, see the new
MultiTypeSet/StaticMultiTypeSetAPI (with_index,deref,store_texture).
- Two-level acceleration structures (
TLAS/BLAS) with instance transforms, dynamicupdate!/sync!, GPU-sideinstance_buffer, and lifecycle helpers (n_instances,n_total_instances,n_geometries,wait_for_gpu!,free!). - BVH4 (4-wide) acceleration:
BVHNode4,BLAS4,TLAS4,build_blas4,closest_hit4,any_hit4. MultiTypeSet/StaticMultiTypeSetfor heterogeneous, type-stable collections; companionSetKey/TextureRefindexing types andstore_texture,maybe_convert_fieldmutators.- Collision queries:
collide_instances,collide_instances_any,ContactPair,CollisionResult. - Struct-of-arrays helpers:
@get,@set,similar_soa, plus the unrolled-iteration utilitiesfor_unrolled,map_unrolled,reduce_unrolled,sum_unrolled,getindex_unrolled, andFastClosure. - Abstract accel hierarchy (
AbstractAccel,AbstractAdaptedAccel) to host both software-BVH and hardware-RT (e.g. Vulkan) backends.