{"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\nexport function validateRenderables(renderGroup: RenderGroup, renderPipes: RenderPipes): boolean\n{\n    const { list, index } = renderGroup.childrenRenderablesToUpdate;\n\n    let rebuildRequired = false;\n\n    for (let i = 0; i < 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":";AAIgB,SAAA,mBAAA,CAAoB,aAA0B,WAC9D,EAAA;AACI,EAAA,MAAM,EAAE,IAAA,EAAM,KAAM,EAAA,GAAI,WAAY,CAAA,2BAAA,CAAA;AAEpC,EAAA,IAAI,eAAkB,GAAA,KAAA,CAAA;AAEtB,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,EAAO,CAC3B,EAAA,EAAA;AACI,IAAM,MAAA,SAAA,GAAY,KAAK,CAAC,CAAA,CAAA;AAMxB,IAAA,MAAM,UAAa,GAAA,SAAA,CAAA;AACnB,IAAM,MAAA,IAAA,GAAO,WAAY,CAAA,UAAA,CAAW,YAAiC,CAAA,CAAA;AAErE,IAAkB,eAAA,GAAA,IAAA,CAAK,mBAAmB,SAAS,CAAA,CAAA;AAEnD,IAAA,IAAI,eACJ,EAAA;AACI,MAAA,MAAA;AAAA,KACJ;AAAA,GACJ;AAEA,EAAA,WAAA,CAAY,kBAAqB,GAAA,eAAA,CAAA;AAEjC,EAAO,OAAA,eAAA,CAAA;AACX;;;;"}