UNPKG

@henteko/kumiki

Version:

A video generation tool that creates videos from JSON configurations

39 lines 1.17 kB
import { RenderError } from '../utils/errors.js'; import { logger } from '../utils/logger.js'; export class SceneFactory { static renderers = new Map(); /** * Register a scene renderer */ static register(type, renderer) { logger.debug('Registering scene renderer', { type }); this.renderers.set(type, renderer); } /** * Create a scene renderer instance */ static create(scene, options) { const RendererClass = this.renderers.get(scene.type); if (!RendererClass) { throw new RenderError(`Unknown scene type: ${scene.type}`, 'UNKNOWN_SCENE_TYPE', { type: scene.type }); } logger.debug('Creating scene renderer', { type: scene.type, sceneId: scene.id }); return new RendererClass(scene, options); } /** * Get all registered scene types */ static getRegisteredTypes() { return Array.from(this.renderers.keys()); } /** * Check if a scene type is registered */ static isTypeRegistered(type) { return this.renderers.has(type); } } //# sourceMappingURL=factory.js.map