UNPKG

@prachwal/mandelbrot-generator

Version:

Professional Mandelbrot fractal generator with TypeScript support, interactive web interface, and multiple output formats

58 lines 2.03 kB
/** * @fileoverview Central fractal engine and algorithm registry * @module FractalEngine */ import type { BaseFractal } from './base-fractal.js'; import type { FractalConfig, FractalInfo, Complex } from './types.js'; /** * Central registry and manager for all fractal algorithms * Provides plugin-like architecture for adding new fractals */ export declare class FractalEngine { private algorithms; private defaultAlgorithm; /** * Register a new fractal algorithm * @param algorithm - Fractal algorithm instance */ register(algorithm: BaseFractal): void; /** * Get algorithm by ID * @param id - Algorithm identifier * @returns Fractal algorithm instance */ getAlgorithm(id: string): BaseFractal | undefined; /** * Get default algorithm */ getDefaultAlgorithm(): BaseFractal | undefined; /** * Get all available algorithms * @returns Array of algorithm metadata */ getAllAlgorithms(): FractalInfo[]; /** * Generate fractal data using specified algorithm * @param algorithmId - Algorithm to use * @param config - Generation configuration * @returns Generated image data */ generateFractal(algorithmId: string, config: FractalConfig): Uint8ClampedArray; /** * Get iteration result for single point * @param algorithmId - Algorithm to use * @param point - Point in complex plane * @param config - Algorithm configuration */ iteratePoint(algorithmId: string, point: Complex, config: FractalConfig): import("./types.js").FractalResult; /** * Get merged configuration with algorithm defaults * @param algorithmId - Algorithm ID * @param userConfig - User-provided configuration * @returns Merged configuration */ getMergedConfig(algorithmId: string, userConfig: Partial<FractalConfig>): FractalConfig; private categorizeAlgorithm; } export declare const fractalEngine: FractalEngine; //# sourceMappingURL=fractal-engine.d.ts.map