UNPKG

ts-hashlife

Version:

Efficient TypeScript implementation of HashLife, an optimized algorithm for simulating Conway's Game of Life with memoization and quadtree-based compression.

57 lines (56 loc) 1.67 kB
export declare const clamp: (value: number, min: number, max: number) => number; export declare class LifeCanvasDrawer { private canvas; private context; private image_data; private image_data_data; private pixel_ratio; private cell_color_rgb; private canvas_width; private canvas_height; private _canvas_offset_x; private _canvas_offset_y; private _cell_width; private _default_cell_width; border_width: number; background_color: string | null; cell_color: string | null; constructor(); get default_cell_width(): number; set default_cell_width(value: number); private get canvas_offset_x(); private set canvas_offset_x(value); private get canvas_offset_y(); private set canvas_offset_y(value); get cell_width(): number; set cell_width(value: number); private set_cell_width; init(canvas: HTMLCanvasElement): boolean; set_size(width: number, height: number): void; private draw_node; private fill_square; redraw(node: any): void; private draw_grid_lines; pan(dx: number, dy: number): void; center_view(): void; private zoom; zoom_at(zoom_factor: number, pinch_origin_x: number, pinch_origin_y: number): void; zoom_centered(out: boolean): void; zoom_to(level: number): void; fit_bounds(bounds: { right: number; left: number; bottom: number; top: number; }, padding?: { right?: number; left?: number; bottom?: number; top?: number; }): void; pixel2cell(x: number, y: number): { x: number; y: number; }; private color2rgb; }