{"version":3,"file":"GpuBlendModesToPixi.mjs","sources":["../../../../../src/rendering/renderers/gpu/state/GpuBlendModesToPixi.ts"],"sourcesContent":["import type { BLEND_MODES } from '../../shared/state/const';\n\nexport const GpuBlendModesToPixi: Partial<Record<BLEND_MODES, GPUBlendState>> = {};\n\nGpuBlendModesToPixi.normal = {\n    alpha: {\n        srcFactor: 'one',\n        dstFactor: 'one-minus-src-alpha',\n        operation: 'add',\n    },\n    color: {\n        srcFactor: 'one',\n        dstFactor: 'one-minus-src-alpha',\n        operation: 'add',\n    },\n};\n\nGpuBlendModesToPixi.add = {\n    alpha: {\n        srcFactor: 'src-alpha',\n        dstFactor: 'one-minus-src-alpha',\n        operation: 'add',\n    },\n    color: {\n        srcFactor: 'one',\n        dstFactor: 'one',\n        operation: 'add',\n    },\n};\n\nGpuBlendModesToPixi.multiply = {\n    alpha: {\n        srcFactor: 'one',\n        dstFactor: 'one-minus-src-alpha',\n        operation: 'add',\n    },\n    color: {\n        srcFactor: 'dst',\n        dstFactor: 'one-minus-src-alpha',\n        operation: 'add',\n    },\n};\n\nGpuBlendModesToPixi.screen = {\n    alpha: {\n        srcFactor: 'one',\n        dstFactor: 'one-minus-src-alpha',\n        operation: 'add',\n    },\n    color: {\n        srcFactor: 'one',\n        dstFactor: 'one-minus-src',\n        operation: 'add',\n    },\n};\n\nGpuBlendModesToPixi.overlay = {\n    alpha: {\n        srcFactor: 'one',\n        dstFactor: 'one-minus-src-alpha',\n        operation: 'add',\n    },\n    color: {\n        srcFactor: 'one',\n        dstFactor: 'one-minus-src',\n        operation: 'add',\n    },\n};\n\nGpuBlendModesToPixi.none = {\n    alpha: {\n        srcFactor: 'one',\n        dstFactor: 'one-minus-src-alpha',\n        operation: 'add',\n    },\n    color: {\n        srcFactor: 'zero',\n        dstFactor: 'zero',\n        operation: 'add',\n    },\n};\n\n// not-premultiplied blend modes\nGpuBlendModesToPixi['normal-npm'] = {\n    alpha: {\n        srcFactor: 'one',\n        dstFactor: 'one-minus-src-alpha',\n        operation: 'add',\n    },\n    color: {\n        srcFactor: 'src-alpha',\n        dstFactor: 'one-minus-src-alpha',\n        operation: 'add',\n    },\n};\n\nGpuBlendModesToPixi['add-npm'] = {\n    alpha: {\n        srcFactor: 'one',\n        dstFactor: 'one',\n        operation: 'add',\n    },\n    color: {\n        srcFactor: 'src-alpha',\n        dstFactor: 'one',\n        operation: 'add',\n    },\n};\n\nGpuBlendModesToPixi['screen-npm'] = {\n    alpha: {\n        srcFactor: 'one',\n        dstFactor: 'one-minus-src-alpha',\n        operation: 'add',\n    },\n    color: {\n        srcFactor: 'src-alpha',\n        dstFactor: 'one-minus-src',\n        operation: 'add',\n    },\n};\n\nGpuBlendModesToPixi.erase = {\n    alpha: {\n        srcFactor: 'zero',\n        dstFactor: 'one-minus-src-alpha',\n        operation: 'add',\n    },\n    color: {\n        srcFactor: 'zero',\n        dstFactor: 'one-minus-src',\n        operation: 'add',\n    },\n};\n\nGpuBlendModesToPixi.min = {\n    alpha: {\n        srcFactor: 'one',\n        dstFactor: 'one',\n        operation: 'min',\n    },\n    color: {\n        srcFactor: 'one',\n        dstFactor: 'one',\n        operation: 'min',\n    },\n};\n\nGpuBlendModesToPixi.max = {\n    alpha: {\n        srcFactor: 'one',\n        dstFactor: 'one',\n        operation: 'max',\n    },\n    color: {\n        srcFactor: 'one',\n        dstFactor: 'one',\n        operation: 'max',\n    },\n};\n\n// composite operations\n// GpuBlendModesToPixi[BLEND_MODES.SRC_IN] = {\n//     alpha: {\n//         srcFactor: 'src-alpha',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n//     color: {\n//         srcFactor: 'dst-alpha',\n//         dstFactor: 'zero',\n//         operation: 'add',\n//     },\n// };\n\n// GpuBlendModesToPixi[BLEND_MODES.SRC_OUT] = {\n//     alpha: {\n//         srcFactor: 'src-alpha',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n//     color: {\n//         srcFactor: 'one-minus-dst-alpha',\n//         dstFactor: 'zero',\n//         operation: 'add',\n//     },\n// };\n\n// GpuBlendModesToPixi[BLEND_MODES.SRC_ATOP] = {\n//     alpha: {\n//         srcFactor: 'src-alpha',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n//     color: {\n//         srcFactor: 'dst-alpha',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n// };\n\n// GpuBlendModesToPixi[BLEND_MODES.DST_OVER] = {\n//     alpha: {\n//         srcFactor: 'src-alpha',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n//     color: {\n//         srcFactor: 'one-minus-dst-alpha',\n//         dstFactor: 'one',\n//         operation: 'add',\n//     },\n// };\n\n// GpuBlendModesToPixi[BLEND_MODES.DST_IN] = {\n//     alpha: {\n//         srcFactor: 'src-alpha',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n//     color: {\n//         srcFactor: 'zero',\n//         dstFactor: 'src-alpha',\n//         operation: 'add',\n//     },\n// };\n\n// GpuBlendModesToPixi[BLEND_MODES.DST_OUT] = {\n//     alpha: {\n//         srcFactor: 'src-alpha',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n//     color: {\n//         srcFactor: 'zero',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n// };\n\n// GpuBlendModesToPixi[BLEND_MODES.DST_ATOP] = {\n//     alpha: {\n//         srcFactor: 'src-alpha',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n//     color: {\n//         srcFactor: 'one-minus-dst-alpha',\n//         dstFactor: 'src-alpha',\n//         operation: 'add',\n//     },\n// };\n\n// GpuBlendModesToPixi[BLEND_MODES.XOR] = {\n//     alpha: {\n//         srcFactor: 'src-alpha',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n//     color: {\n//         srcFactor: 'one-minus-dst-alpha',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n// };\n\n// TODO - fix me\n// GLBlendModesToPixi[BLEND_MODES.SUBTRACT] = {\n//     alpha: {\n//         srcFactor: 'one',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n//     color: {\n//         srcFactor: 'one-minus-dst-alpha',\n//         dstFactor: 'one-minus-src-alpha',\n//         operation: 'add',\n//     },\n// };\n"],"names":[],"mappings":"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"}