@prachwal/mandelbrot-generator
Version:
Professional Mandelbrot fractal generator with TypeScript support, interactive web interface, and multiple output formats
58 lines • 2.03 kB
TypeScript
/**
* @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