visual-heatmap
Version:
"Advanced Visual Heatmap - High Scale webGL based rendering."
66 lines (65 loc) • 1.52 kB
TypeScript
export type JavaScriptDataType = number | string | boolean | null | undefined | symbol | bigint | object;
export type ShaderTypes = "VERTEX_SHADER" | "FRAGMENT_SHADER";
export type Shader = {
vertex: string;
fragment: string;
};
export interface ShaderProgram {
program: WebGLProgram;
attr: {
bufferType: GLenum;
buffer: WebGLBuffer;
drawType: GLenum;
valueType: GLenum;
size: GLint;
attribute: number;
data: Float32Array;
}[];
uniform: {
[key: string]: WebGLUniformLocation | null;
};
}
export type Color = [number, number, number, number?];
export interface GradientElement {
color: Color;
offset: number;
}
export interface MappedGradient {
value: Float32Array;
length: number;
offset: number[];
}
export interface Point {
x: number;
y: number;
value: number;
}
export type HeatmapConfig = {
size?: number;
max?: number;
min?: number;
intensity?: number;
translate?: [number, number];
zoom?: number;
angle?: number;
opacity?: number;
gradient: GradientElement[];
backgroundImage?: BackgroundImageConfig;
};
export type HearmapExData = {
posVec: Float32Array;
rVec: Float32Array;
minMax: {
min: number;
max: number;
};
};
export interface BackgroundImageConfig {
url?: string;
width?: number;
height?: number;
x: number;
y: number;
image?: HTMLImageElement;
}
export type Translate = [number, number];