{"version":3,"file":"generateLayoutHash.mjs","sources":["../../../../../../src/rendering/renderers/gpu/shader/utils/generateLayoutHash.ts"],"sourcesContent":["import type { ProgramLayout } from '../GpuProgram';\nimport type { StructsAndGroups } from './extractStructAndGroups';\n\n/**\n * @param root0\n * @param root0.groups\n * @internal\n */\nexport function generateLayoutHash({ groups }: StructsAndGroups): ProgramLayout\n{\n    const layout: ProgramLayout = [];\n\n    for (let i = 0; i < groups.length; i++)\n    {\n        const group = groups[i];\n\n        if (!layout[group.group])\n        {\n            layout[group.group] = {};\n        }\n\n        layout[group.group][group.name] = group.binding;\n    }\n\n    return layout;\n}\n"],"names":[],"mappings":";AAQO,SAAS,kBAAA,CAAmB,EAAE,MAAA,EAAO,EAC5C;AACI,EAAA,MAAM,SAAwB,EAAC;AAE/B,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,MAAA,CAAO,QAAQ,CAAA,EAAA,EACnC;AACI,IAAA,MAAM,KAAA,GAAQ,OAAO,CAAC,CAAA;AAEtB,IAAA,IAAI,CAAC,MAAA,CAAO,KAAA,CAAM,KAAK,CAAA,EACvB;AACI,MAAA,MAAA,CAAO,KAAA,CAAM,KAAK,CAAA,GAAI,EAAC;AAAA,IAC3B;AAEA,IAAA,MAAA,CAAO,MAAM,KAAK,CAAA,CAAE,KAAA,CAAM,IAAI,IAAI,KAAA,CAAM,OAAA;AAAA,EAC5C;AAEA,EAAA,OAAO,MAAA;AACX;;;;"}