@spatialwalk/avatarkit
Version:
SPAvatar SDK - 3D Gaussian Splatting Avatar Rendering SDK
86 lines • 2.14 kB
TypeScript
/**
* 统一公开类型 & 接口
*/
export declare enum Environment {
cn = "cn",
us = "us",
test = "test"
}
export interface Configuration {
readonly environment: Environment;
}
export interface SdkConfigResponse {
endpoints: {
cn?: string;
us?: string;
test?: string;
};
}
export declare enum LoadProgress {
downloading = "downloading",
completed = "completed",
failed = "failed"
}
export interface LoadProgressInfo {
type: LoadProgress;
progress?: number;
error?: Error;
}
export declare enum ConnectionState {
disconnected = "disconnected",
connecting = "connecting",
connected = "connected",
failed = "failed"
}
export declare enum AvatarState {
idle = "idle",// 空闲状态,呈现呼吸态
active = "active",// 活跃中,等待可播放内容
playing = "playing"
}
export declare class SPAvatarError extends Error {
code?: string | undefined;
constructor(message: string, code?: string | undefined);
}
export interface FlatSplatData {
positions: Float32Array;
scales: Float32Array;
rotations: Float32Array;
colors: Float32Array;
opacities: Float32Array;
pointCount: number;
}
export interface CameraConfig {
position: [number, number, number];
target: [number, number, number];
fov: number;
near: number;
far: number;
up?: [number, number, number];
aspect?: number;
}
export interface RenderPerformanceStats {
renderTime: number;
sortTime: number;
backend: 'webgpu' | 'webgl' | null;
pointCount?: number;
}
/**
* 播放模式
*/
export declare enum AvatarPlaybackMode {
/** 网络模式:通过 WebSocket 发送音频,接收动画数据 */
network = "network",
/** 外部数据模式:外部提供音频和动画数据, SDK 负责同步播放 */
external = "external"
}
/**
* AvatarView 配置选项
*/
export interface AvatarViewOptions {
/** 播放模式 */
playbackMode?: AvatarPlaybackMode;
/** Canvas 容器 */
container?: HTMLElement;
}
export * from './character';
//# sourceMappingURL=index.d.ts.map