videx-3d
Version:
React 3D component library designed for sub surface visualizations in the browser
51 lines (50 loc) • 1.22 kB
TypeScript
import { DataTexture, UniformsGroup } from 'three';
export type Glyph = {
position: [number, number];
dimension: [number, number];
offset: [number, number];
spacing: number;
};
export type EncodedTextSegment = {
indices: number[];
width: number;
};
export type EncodedTextTexture = {
texture: DataTexture;
textPointersOffset: number;
textPointersCount: number;
};
export type GlyphConfig = {
glyphsCount: number;
glyphData: UniformsGroup;
encodeText: (text: string) => EncodedTextSegment;
encodeTextTexture: (textSegments: string[] | string) => EncodedTextTexture;
dispose: () => void;
};
export interface MsdfFontJson {
info: {
size: number;
};
common: {
scaleW: number;
scaleH: number;
lineHeight: number;
base: number;
};
chars: {
id: number;
index: number;
char: string;
width: number;
height: number;
xoffset: number;
yoffset: number;
xadvance: number;
x: number;
y: number;
}[];
distanceField: {
distanceRange: number;
};
}
export declare function createConfig(json: MsdfFontJson): GlyphConfig;