Interface: IRenderingEngine
Defined in: src/types/rendering.ts:135
Rendering engine adapter that the runtime uses to display and manipulate
canvas content. The built-in implementation is createWebLayeringEngine()
(backed by @picsart/web-layering), but any object satisfying this
interface can be injected via IRuntimeConfig.renderingEngine.
Example
// Minimal no-op engine for headless / testing scenarios
const noopEngine: IRenderingEngine = {
init() {},
destroy() {},
getCanvasSizes: () => ({ width: 0, height: 0 }),
getVisibleBounds: () => ({ x: 0, y: 0, width: 0, height: 0 }),
syncLayers: () => Promise.resolve(),
renderLayerToImage: () => Promise.resolve({ id: '', type: 'photo', width: 0, height: 0, location: '' }),
};
Properties
player?
optionalplayer?:IPlayerAdapter
Defined in: src/types/rendering.ts:182
Media player adapter
Methods
awaitRenderComplete()?
optionalawaitRenderComplete():Promise<void>
Defined in: src/types/rendering.ts:200
Resolves when the rendering engine has finished drawing after the most
recent syncLayers call. Headless implementations resolve immediately.
Returns
Promise<void>
calculateTextMetrics()?
optionalcalculateTextMetrics(payload):Promise<ITextMetrics>
Defined in: src/types/rendering.ts:173
Calculate text metrics for a text layer
Parameters
payload
layer
unknown
targetWidth?
number
Returns
Promise<ITextMetrics>
destroy()
destroy():
void
Defined in: src/types/rendering.ts:140
Destroy the rendering engine and clean up resources