import type { Effect } from "postprocessing"; import { EffectProviderResult, PostProcessingEffect } from "../PostProcessingEffect.js"; /** * [EffectWrapper](https://engine.needle.tools/docs/api/EffectWrapper) wraps a custom postprocessing effect to integrate it with the Needle Engine post-processing pipeline. * * @summary Adds a custom post-processing effect to the scene. * @category Effects * @group Components */ export class EffectWrapper extends PostProcessingEffect { readonly effect: Effect; constructor(effect: Effect) { super(); this.effect = effect; } get typeName(): string { return this.effect.constructor.name; } onCreateEffect(): EffectProviderResult | undefined { return this.effect; } }