{"version":3,"file":"validateRenderables.mjs","sources":["../../../../src/scene/container/utils/validateRenderables.ts"],"sourcesContent":["import type { RenderPipe } from '../../../rendering/renderers/shared/instructions/RenderPipe';\nimport type { RenderPipes } from '../../../rendering/renderers/types';\nimport type { RenderGroup } from '../RenderGroup';\n\n/**\n * @param renderGroup\n * @param renderPipes\n * @internal\n */\nexport function validateRenderables(renderGroup: RenderGroup, renderPipes: RenderPipes): boolean\n{\n    const { list } = renderGroup.childrenRenderablesToUpdate;\n\n    let rebuildRequired = false;\n\n    for (let i = 0; i < renderGroup.childrenRenderablesToUpdate.index; i++)\n    {\n        const container = list[i];\n\n        // note to self: there is no need to check if container.parentRenderGroup || !container.renderGroup\n        // exist here, as this function is only called if the structure did NOT change\n        // which means they have to be valid if this function is called\n\n        const renderable = container;\n        const pipe = renderPipes[renderable.renderPipeId as keyof RenderPipes] as RenderPipe<any>;\n\n        rebuildRequired = pipe.validateRenderable(container);\n\n        if (rebuildRequired)\n        {\n            break;\n        }\n    }\n\n    renderGroup.structureDidChange = rebuildRequired;\n\n    return rebuildRequired;\n}\n"],"names":[],"mappings":";AASO,SAAS,mBAAA,CAAoB,aAA0B,WAAA,EAC9D;AACI,EAAA,MAAM,EAAE,IAAA,EAAK,GAAI,WAAA,CAAY,2BAAA;AAE7B,EAAA,IAAI,eAAA,GAAkB,KAAA;AAEtB,EAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,WAAA,CAAY,2BAAA,CAA4B,OAAO,CAAA,EAAA,EACnE;AACI,IAAA,MAAM,SAAA,GAAY,KAAK,CAAC,CAAA;AAMxB,IAAA,MAAM,UAAA,GAAa,SAAA;AACnB,IAAA,MAAM,IAAA,GAAO,WAAA,CAAY,UAAA,CAAW,YAAiC,CAAA;AAErE,IAAA,eAAA,GAAkB,IAAA,CAAK,mBAAmB,SAAS,CAAA;AAEnD,IAAA,IAAI,eAAA,EACJ;AACI,MAAA;AAAA,IACJ;AAAA,EACJ;AAEA,EAAA,WAAA,CAAY,kBAAA,GAAqB,eAAA;AAEjC,EAAA,OAAO,eAAA;AACX;;;;"}