@pmndrs/bvh
    Preparing search index...

    Variable HIT_RECORD_BYTESConst

    HIT_RECORD_BYTES: 40

    What a batch writes per ray in closest-hit mode, with hitNormal (the default): BvhHitRecord, 40 bytes. BvhHit itself cannot live in a buffer because bool is not host-shareable in WGSL, so frontFace is stored as 0 or 1, and the normal as three f32 (a vec3f would pad the record to 48).

    word 0 t: f32            word 4-5 barycentrics: vec2f
    word 1 instance: u32     word 6   material: u32 (NO_MATERIAL for none)
    word 2 triangle: u32     word 7-9 normal x, y, z: f32
    word 3 frontFace: u32