declare const _default: "\n// Required call order: getCenter() first, then getOpacity() (loads and caches color),\n// then getColor() (returns cached RGB). getRotation(), getScale() can follow in any order.\nuvec4 cachedTransformA;\nuvec2 cachedTransformB;\nvec4 cachedColor;\n\nvec3 getCenter() {\n    cachedTransformA = loadDataTransformA();\n    cachedTransformB = loadDataTransformB().xy;\n    return vec3(uintBitsToFloat(cachedTransformA.r), uintBitsToFloat(cachedTransformA.g), uintBitsToFloat(cachedTransformA.b));\n}\n\nfloat getOpacity() {\n    #ifdef GSPLAT_COLOR_FLOAT\n        cachedColor = loadDataColor();\n    #else\n        uvec4 packedColor = loadDataColor();\n        uint packed_rg = packedColor.r | (packedColor.g << 16u);\n        uint packed_ba = packedColor.b | (packedColor.a << 16u);\n        cachedColor = vec4(unpackHalf2x16(packed_rg), unpackHalf2x16(packed_ba));\n    #endif\n    return cachedColor.a;\n}\n\nvec3 getColor() {\n    return cachedColor.rgb;\n}\n\nvec4 getRotation() {\n    vec2 rotXY = unpackHalf2x16(cachedTransformA.a);\n    vec2 rotZscaleX = unpackHalf2x16(cachedTransformB.x);\n    vec3 rotXYZ = vec3(rotXY, rotZscaleX.x);\n    return vec4(rotXYZ, sqrt(max(0.0, 1.0 - dot(rotXYZ, rotXYZ)))).wxyz;\n}\n\nvec3 getScale() {\n    vec2 rotZscaleX = unpackHalf2x16(cachedTransformB.x);\n    vec2 scaleYZ = unpackHalf2x16(cachedTransformB.y);\n    return vec3(rotZscaleX.y, scaleYZ);\n}\n";
export default _default;
