/** * Create and return a higher-order facade class for a given facade class, that can render a * Troika sub-world (2D or 3D) into a Three.js `Texture` and supply that texture to * the facade. It can then be used by the facade for its own purposes, such as rendering * onto a 3D mesh. * * Pointer events will also be refired within the sub-world at the appropriate coordinates, * making the texture's contents interactive. This allows things like presenting a 2D user * interface that is mapped onto a 3D mesh. * * To configure the sub-world, define a `textureWorld` object on the facade's config. It * will work like any other facade config, and you'll need to set its `facade` property * to use either `World2DFacade` or `World3DFacade` as appropriate. * * To use the generated texture, access `this.worldTexture`. * * @param {Facade} WrappedFacadeClass * @return {Facade} */ export function makeWorldTextureProvider(WrappedFacadeClass: Facade): Facade;