declare const _default: "\n\nprecision highp usampler2D;\n\n// RG32U: (start, accumulatedSum)\nuniform usampler2D uIntervalsTexture;\nuniform int uNumIntervals;\nuniform int uTextureWidth;\nuniform int uActiveSplats;\n\nivec2 getCoordFromIndex(int index, int textureWidth) {\n    return ivec2(index % textureWidth, index / textureWidth);\n}\n\nvoid main() {\n    ivec2 coord = ivec2(gl_FragCoord.xy);\n    int targetIndex = coord.y * uTextureWidth + coord.x;\n    \n    if (targetIndex >= uActiveSplats) {\n        gl_FragColor = 0u;\n        return;\n    }\n    \n    // Binary search through accumulated sums (G channel)\n    int left = 0;\n    int right = uNumIntervals - 1;\n    int intervalIndex = 0;\n    \n    while (left <= right) {\n        int mid = (left + right) / 2;\n        \n        int textureWidth = textureSize(uIntervalsTexture, 0).x;\n        ivec2 intervalCoord = getCoordFromIndex(mid, textureWidth);\n        uvec2 intervalData = texelFetch(uIntervalsTexture, intervalCoord, 0).rg;\n        \n        uint accumulatedSum = intervalData.g;  // G channel\n        \n        if (uint(targetIndex) < accumulatedSum) {\n            intervalIndex = mid;\n            right = mid - 1;\n        } else {\n            left = mid + 1;\n        }\n    }\n    \n    // Get interval data (both start and accumulated sum in one fetch)\n    int textureWidth = textureSize(uIntervalsTexture, 0).x;\n    ivec2 intervalCoord = getCoordFromIndex(intervalIndex, textureWidth);\n    uvec2 intervalData = texelFetch(uIntervalsTexture, intervalCoord, 0).rg;\n    \n    uint intervalStart = intervalData.r;      // R channel\n    uint currentAccSum = intervalData.g;      // G channel\n    \n    // Get previous accumulated sum\n    uint prevAccSum = 0u;\n    if (intervalIndex > 0) {\n        ivec2 prevCoord = getCoordFromIndex(intervalIndex - 1, textureWidth);\n        prevAccSum = texelFetch(uIntervalsTexture, prevCoord, 0).g;\n    }\n    \n    // Calculate original splat index\n    uint offsetInInterval = uint(targetIndex) - prevAccSum;\n    uint originalIndex = intervalStart + offsetInInterval;\n    \n    gl_FragColor = originalIndex;\n}\n";
export default _default;
