@spatialwalk/avatarkit 1.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +375 -0
- package/dist/StreamingAudioPlayer-C2TfYsO8.js +293 -0
- package/dist/StreamingAudioPlayer-C2TfYsO8.js.map +1 -0
- package/dist/animation/AnimationWebSocketClient.d.ts +50 -0
- package/dist/animation/AnimationWebSocketClient.d.ts.map +1 -0
- package/dist/animation/utils/eventEmitter.d.ts +13 -0
- package/dist/animation/utils/eventEmitter.d.ts.map +1 -0
- package/dist/animation/utils/flameConverter.d.ts +26 -0
- package/dist/animation/utils/flameConverter.d.ts.map +1 -0
- package/dist/audio/AnimationPlayer.d.ts +53 -0
- package/dist/audio/AnimationPlayer.d.ts.map +1 -0
- package/dist/audio/StreamingAudioPlayer.d.ts +113 -0
- package/dist/audio/StreamingAudioPlayer.d.ts.map +1 -0
- package/dist/avatar_core_wasm-DmkU6dYn.js +1666 -0
- package/dist/avatar_core_wasm-DmkU6dYn.js.map +1 -0
- package/dist/avatar_core_wasm.wasm +0 -0
- package/dist/config/app-config.d.ts +48 -0
- package/dist/config/app-config.d.ts.map +1 -0
- package/dist/config/constants.d.ts +13 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/region-config.d.ts +17 -0
- package/dist/config/region-config.d.ts.map +1 -0
- package/dist/config/sdk-config-loader.d.ts +12 -0
- package/dist/config/sdk-config-loader.d.ts.map +1 -0
- package/dist/core/Avatar.d.ts +23 -0
- package/dist/core/Avatar.d.ts.map +1 -0
- package/dist/core/AvatarController.d.ts +125 -0
- package/dist/core/AvatarController.d.ts.map +1 -0
- package/dist/core/AvatarDownloader.d.ts +100 -0
- package/dist/core/AvatarDownloader.d.ts.map +1 -0
- package/dist/core/AvatarKit.d.ts +60 -0
- package/dist/core/AvatarKit.d.ts.map +1 -0
- package/dist/core/AvatarManager.d.ts +26 -0
- package/dist/core/AvatarManager.d.ts.map +1 -0
- package/dist/core/AvatarView.d.ts +158 -0
- package/dist/core/AvatarView.d.ts.map +1 -0
- package/dist/generated/driveningress/v1/driveningress.d.ts +80 -0
- package/dist/generated/driveningress/v1/driveningress.d.ts.map +1 -0
- package/dist/generated/driveningress/v2/driveningress.d.ts +81 -0
- package/dist/generated/driveningress/v2/driveningress.d.ts.map +1 -0
- package/dist/generated/google/protobuf/any.d.ts +145 -0
- package/dist/generated/google/protobuf/any.d.ts.map +1 -0
- package/dist/generated/google/protobuf/struct.d.ts +108 -0
- package/dist/generated/google/protobuf/struct.d.ts.map +1 -0
- package/dist/generated/google/protobuf/timestamp.d.ts +129 -0
- package/dist/generated/google/protobuf/timestamp.d.ts.map +1 -0
- package/dist/generated/jsonapi/v1/base.d.ts +140 -0
- package/dist/generated/jsonapi/v1/base.d.ts.map +1 -0
- package/dist/generated/platform/v1/asset_groups.d.ts +225 -0
- package/dist/generated/platform/v1/asset_groups.d.ts.map +1 -0
- package/dist/generated/platform/v1/assets.d.ts +149 -0
- package/dist/generated/platform/v1/assets.d.ts.map +1 -0
- package/dist/generated/platform/v1/character.d.ts +395 -0
- package/dist/generated/platform/v1/character.d.ts.map +1 -0
- package/dist/generated/platform/v1/redeem.d.ts +22 -0
- package/dist/generated/platform/v1/redeem.d.ts.map +1 -0
- package/dist/index-DwhR9l52.js +9712 -0
- package/dist/index-DwhR9l52.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/renderer/RenderSystem.d.ts +77 -0
- package/dist/renderer/RenderSystem.d.ts.map +1 -0
- package/dist/renderer/covariance.d.ts +13 -0
- package/dist/renderer/covariance.d.ts.map +1 -0
- package/dist/renderer/renderer.d.ts +8 -0
- package/dist/renderer/renderer.d.ts.map +1 -0
- package/dist/renderer/sortSplats.d.ts +12 -0
- package/dist/renderer/sortSplats.d.ts.map +1 -0
- package/dist/renderer/webgl/reorderData.d.ts +14 -0
- package/dist/renderer/webgl/reorderData.d.ts.map +1 -0
- package/dist/renderer/webgl/webglRenderer.d.ts +66 -0
- package/dist/renderer/webgl/webglRenderer.d.ts.map +1 -0
- package/dist/renderer/webgpu/webgpuRenderer.d.ts +54 -0
- package/dist/renderer/webgpu/webgpuRenderer.d.ts.map +1 -0
- package/dist/types/character-settings.d.ts +23 -0
- package/dist/types/character-settings.d.ts.map +1 -0
- package/dist/types/character.d.ts +39 -0
- package/dist/types/character.d.ts.map +1 -0
- package/dist/types/index.d.ts +68 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/animation-interpolation.d.ts +17 -0
- package/dist/utils/animation-interpolation.d.ts.map +1 -0
- package/dist/utils/error-utils.d.ts +27 -0
- package/dist/utils/error-utils.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +35 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/posthog-tracker.d.ts +82 -0
- package/dist/utils/posthog-tracker.d.ts.map +1 -0
- package/dist/utils/reqId.d.ts +20 -0
- package/dist/utils/reqId.d.ts.map +1 -0
- package/dist/utils/toast.d.ts +74 -0
- package/dist/utils/toast.d.ts.map +1 -0
- package/dist/wasm/avatarCoreAdapter.d.ts +188 -0
- package/dist/wasm/avatarCoreAdapter.d.ts.map +1 -0
- package/dist/wasm/avatarCoreMemory.d.ts +141 -0
- package/dist/wasm/avatarCoreMemory.d.ts.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { CharacterMeta, PreloadCameraSettings } from '../types/character';
|
|
2
|
+
import { CharacterSettings } from '../types/character-settings';
|
|
3
|
+
interface ProgressInfo {
|
|
4
|
+
stage: string;
|
|
5
|
+
filename: string;
|
|
6
|
+
loaded: number;
|
|
7
|
+
total: number;
|
|
8
|
+
progress: number;
|
|
9
|
+
}
|
|
10
|
+
type ProgressCallback = (info: ProgressInfo) => void;
|
|
11
|
+
interface TemplateResources {
|
|
12
|
+
[key: string]: ArrayBuffer;
|
|
13
|
+
}
|
|
14
|
+
interface FlameResources {
|
|
15
|
+
flameModel?: {
|
|
16
|
+
remote?: string;
|
|
17
|
+
};
|
|
18
|
+
flameTemplate?: {
|
|
19
|
+
remote?: string;
|
|
20
|
+
};
|
|
21
|
+
teethPb?: {
|
|
22
|
+
remote?: string;
|
|
23
|
+
};
|
|
24
|
+
teethNpz?: {
|
|
25
|
+
remote?: string;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
interface CharacterDataResult {
|
|
29
|
+
shape: ArrayBuffer;
|
|
30
|
+
pointCloud: ArrayBuffer;
|
|
31
|
+
idleAnimation?: ArrayBuffer;
|
|
32
|
+
monoAnimation?: ArrayBuffer;
|
|
33
|
+
monoAudioUrl?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface PreloadResult {
|
|
36
|
+
templateResources: TemplateResources;
|
|
37
|
+
characterData: CharacterDataResult;
|
|
38
|
+
preloadCameraSettings?: PreloadCameraSettings;
|
|
39
|
+
characterSettings?: CharacterSettings;
|
|
40
|
+
}
|
|
41
|
+
export declare class AvatarDownloader {
|
|
42
|
+
private baseAssetsPath;
|
|
43
|
+
private characterAssets;
|
|
44
|
+
constructor(baseAssetsPath?: string);
|
|
45
|
+
/**
|
|
46
|
+
* Load template resources from CharacterMeta flame CDN URLs
|
|
47
|
+
* Falls back to global CDN config if not provided by API
|
|
48
|
+
*/
|
|
49
|
+
loadTemplateResources(flameResources?: FlameResources, progressCallback?: ProgressCallback | null): Promise<TemplateResources>;
|
|
50
|
+
/**
|
|
51
|
+
* Load global FLAME template resources from CDN
|
|
52
|
+
* Uses centralized FLAME CDN config (shared across all characters)
|
|
53
|
+
*/
|
|
54
|
+
private loadGlobalFlameResources;
|
|
55
|
+
/**
|
|
56
|
+
* Load camera settings from CharacterMeta (optional)
|
|
57
|
+
*/
|
|
58
|
+
loadCameraSettings(characterMeta: CharacterMeta): Promise<PreloadCameraSettings | undefined>;
|
|
59
|
+
/**
|
|
60
|
+
* Load character data from CharacterMeta (iOS compatible)
|
|
61
|
+
*/
|
|
62
|
+
loadCharacterData(characterMeta: CharacterMeta, options?: {
|
|
63
|
+
loadMonologue?: boolean;
|
|
64
|
+
progressCallback?: ProgressCallback | null;
|
|
65
|
+
}): Promise<CharacterDataResult>;
|
|
66
|
+
/**
|
|
67
|
+
* Preload all resources (template + character data + camera info + settings)
|
|
68
|
+
*/
|
|
69
|
+
preloadResources(characterMeta: CharacterMeta, options?: {
|
|
70
|
+
loadMonologue?: boolean;
|
|
71
|
+
progressCallback?: ProgressCallback | null;
|
|
72
|
+
}): Promise<PreloadResult>;
|
|
73
|
+
/**
|
|
74
|
+
* Get loaded character asset by key
|
|
75
|
+
*/
|
|
76
|
+
getCharacterAsset(key: string): ArrayBuffer | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Clear cached assets
|
|
79
|
+
*/
|
|
80
|
+
clear(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Get Main App API Client (enjoi.spatialwalk.top)
|
|
83
|
+
* Used for: character list, auth, customization, etc.
|
|
84
|
+
*/
|
|
85
|
+
private getMainAppClient;
|
|
86
|
+
/**
|
|
87
|
+
* Get SPAvatarKit SDK API Client (api.spatialwalk.top)
|
|
88
|
+
* Used for: character details and resource URLs (public endpoints, no auth required)
|
|
89
|
+
*/
|
|
90
|
+
private getSdkApiClient;
|
|
91
|
+
/**
|
|
92
|
+
* Get single character by ID from SPAvatarKit SDK API (v2, iOS compatible)
|
|
93
|
+
* Domain: api.spatialwalk.top
|
|
94
|
+
* Auth: Public endpoint, no authentication required
|
|
95
|
+
* Returns CharacterMeta with nested resource structure
|
|
96
|
+
*/
|
|
97
|
+
getCharacterById(characterId: string): Promise<CharacterMeta>;
|
|
98
|
+
}
|
|
99
|
+
export {};
|
|
100
|
+
//# sourceMappingURL=AvatarDownloader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvatarDownloader.d.ts","sourceRoot":"","sources":["../../core/AvatarDownloader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAOpE,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,KAAK,gBAAgB,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;AAEpD,UAAU,iBAAiB;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAC3B;AAED,UAAU,cAAc;IACtB,UAAU,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAChC,aAAa,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACnC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7B,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/B;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,WAAW,CAAA;IAClB,UAAU,EAAE,WAAW,CAAA;IACvB,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,aAAa,EAAE,mBAAmB,CAAA;IAClC,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACtC;AAkCD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,eAAe,CAA0B;gBAErC,cAAc,SAAM;IAKhC;;;OAGG;IACG,qBAAqB,CACzB,cAAc,CAAC,EAAE,cAAc,EAC/B,gBAAgB,GAAE,gBAAgB,GAAG,IAAW,GAC/C,OAAO,CAAC,iBAAiB,CAAC;IAuE7B;;;OAGG;YACW,wBAAwB;IA6DtC;;OAEG;IACG,kBAAkB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAwBlG;;OAEG;IACG,iBAAiB,CACrB,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;KAAE,GAChF,OAAO,CAAC,mBAAmB,CAAC;IAmG/B;;OAEG;IACG,gBAAgB,CACpB,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;KAC3C,GACA,OAAO,CAAC,aAAa,CAAC;IAkCzB;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIvD;;OAEG;IACH,KAAK;IAML;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;;OAGG;IACH,OAAO,CAAC,eAAe;IA+BvB;;;;;OAKG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAqBpE"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Configuration } from '../types';
|
|
2
|
+
import { AvatarCoreAdapter } from '../wasm/avatarCoreAdapter';
|
|
3
|
+
export declare class AvatarKit {
|
|
4
|
+
private static _isInitialized;
|
|
5
|
+
private static _configuration;
|
|
6
|
+
private static _sessionToken;
|
|
7
|
+
private static _userId;
|
|
8
|
+
private static readonly _version;
|
|
9
|
+
private static _avatarCore;
|
|
10
|
+
private static _dynamicSdkConfig;
|
|
11
|
+
/**
|
|
12
|
+
* SDK 初始化
|
|
13
|
+
* @param appId 前端需要在 HTTP Headers 和 WebSocket Headers 中都带上
|
|
14
|
+
* @param configuration 配置参数
|
|
15
|
+
*/
|
|
16
|
+
static initialize(appId: string, configuration: Configuration): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* 初始化WASM模块(跟随整个SDK生命周期)
|
|
19
|
+
*/
|
|
20
|
+
private static initializeWASMModule;
|
|
21
|
+
/**
|
|
22
|
+
* 设置 sessionToken
|
|
23
|
+
* 开发者 Client -> 开发者 Server -> SP Server -> return sessionToken(最长一小时有效时间)
|
|
24
|
+
* 在 WebSocket Headers 中带上,用于数字人 WebSocket 服务鉴权
|
|
25
|
+
*/
|
|
26
|
+
static setSessionToken(token: string): void;
|
|
27
|
+
/**
|
|
28
|
+
* 设置 userId
|
|
29
|
+
* 开发者可选接口,SDK 在日志埋点中带上
|
|
30
|
+
*/
|
|
31
|
+
static setUserId(userId: string): void;
|
|
32
|
+
static get isInitialized(): boolean;
|
|
33
|
+
static get configuration(): Configuration | null;
|
|
34
|
+
static get sessionToken(): string | null;
|
|
35
|
+
static get userId(): string | null;
|
|
36
|
+
static get version(): string;
|
|
37
|
+
/**
|
|
38
|
+
* 获取AvatarCore实例(仅供 SDK 内部使用)
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
static getAvatarCore(): AvatarCoreAdapter | null;
|
|
42
|
+
/**
|
|
43
|
+
* 清理资源
|
|
44
|
+
*/
|
|
45
|
+
static cleanup(): void;
|
|
46
|
+
/**
|
|
47
|
+
* 从远程配置接口获取SDK配置(已简化,逻辑移到 config/sdk-config-loader.ts)
|
|
48
|
+
*/
|
|
49
|
+
private static _fetchSdkConfig;
|
|
50
|
+
/**
|
|
51
|
+
* 获取环境配置(对齐 web 应用的 region-config)
|
|
52
|
+
*/
|
|
53
|
+
static getEnvironmentConfig(): {
|
|
54
|
+
sdkApiBaseUrl: string;
|
|
55
|
+
realtimeApiBaseUrl: string;
|
|
56
|
+
realtimeWsUrl: string;
|
|
57
|
+
driveningressWsUrl: string;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=AvatarKit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvatarKit.d.ts","sourceRoot":"","sources":["../../core/AvatarKit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAK7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7D,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAQ;IACrC,OAAO,CAAC,MAAM,CAAC,cAAc,CAA6B;IAC1D,OAAO,CAAC,MAAM,CAAC,aAAa,CAAsB;IAClD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAsB;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAA6E;IAC7G,OAAO,CAAC,MAAM,CAAC,WAAW,CAAiC;IAC3D,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAoD;IAEpF;;;;OAIG;WACU,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCnF;;OAEG;mBACkB,oBAAoB;IA2CzC;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3C;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKtC,MAAM,KAAK,aAAa,IAAI,OAAO,CAElC;IAED,MAAM,KAAK,aAAa,IAAI,aAAa,GAAG,IAAI,CAE/C;IAED,MAAM,KAAK,YAAY,IAAI,MAAM,GAAG,IAAI,CAEvC;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED,MAAM,KAAK,OAAO,IAAI,MAAM,CAE3B;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,IAAI,iBAAiB,GAAG,IAAI;IAIhD;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,IAAI;IA0BtB;;OAEG;mBACkB,eAAe;IAUpC;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI;QAC7B,aAAa,EAAE,MAAM,CAAA;QACrB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,aAAa,EAAE,MAAM,CAAA;QACrB,kBAAkB,EAAE,MAAM,CAAA;KAC3B;CA0CF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { LoadProgressInfo } from '../types';
|
|
2
|
+
import { Avatar } from './Avatar';
|
|
3
|
+
export declare class AvatarManager {
|
|
4
|
+
private static _instance;
|
|
5
|
+
private avatarDownloader;
|
|
6
|
+
private _templateInitialized;
|
|
7
|
+
/**
|
|
8
|
+
* 通过全局单例来访问
|
|
9
|
+
*/
|
|
10
|
+
static get shared(): AvatarManager;
|
|
11
|
+
/**
|
|
12
|
+
* 加载数字人
|
|
13
|
+
* @param id 数字人 ID
|
|
14
|
+
* @param onProgress 进度回调
|
|
15
|
+
* @param options 加载选项
|
|
16
|
+
* @returns Promise<Avatar>
|
|
17
|
+
*/
|
|
18
|
+
load(id: string, onProgress?: (progress: LoadProgressInfo) => void, options?: {
|
|
19
|
+
enableMonologue?: boolean;
|
|
20
|
+
}): Promise<Avatar>;
|
|
21
|
+
/**
|
|
22
|
+
* 清理资源加载器缓存
|
|
23
|
+
*/
|
|
24
|
+
clearCache(): void;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=AvatarManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvatarManager.d.ts","sourceRoot":"","sources":["../../core/AvatarManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAIhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAIjC,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,SAAS,CAA6B;IACrD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,oBAAoB,CAAiB;IAE7C;;OAEG;IACH,MAAM,KAAK,MAAM,IAAI,aAAa,CAKjC;IAED;;;;;;OAMG;IACG,IAAI,CACR,EAAE,EAAE,MAAM,EACV,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,EACjD,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC,MAAM,CAAC;IAsElB;;OAEG;IACH,UAAU,IAAI,IAAI;CAKnB"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { CameraConfig, RenderPerformanceStats } from '../types';
|
|
2
|
+
import { Avatar } from './Avatar';
|
|
3
|
+
import { AvatarController } from './AvatarController';
|
|
4
|
+
export declare class AvatarView {
|
|
5
|
+
readonly avatarController: AvatarController;
|
|
6
|
+
backgroundImage: string | null;
|
|
7
|
+
backgroundOpaque: boolean;
|
|
8
|
+
private canvas;
|
|
9
|
+
private renderSystem;
|
|
10
|
+
private isInitialized;
|
|
11
|
+
private cameraConfig;
|
|
12
|
+
private isRealtimePlaying;
|
|
13
|
+
private currentKeyframes;
|
|
14
|
+
private lastRenderedFrameIndex;
|
|
15
|
+
private realtimeStartTime;
|
|
16
|
+
private lastRealtimeProtoFrame;
|
|
17
|
+
private idleResumeIndexPending;
|
|
18
|
+
private idleAnimationLoopId;
|
|
19
|
+
private realtimeAnimationLoopId;
|
|
20
|
+
private resizeObserver;
|
|
21
|
+
private onWindowResize;
|
|
22
|
+
private transitionKeyframes;
|
|
23
|
+
private isTransitioning;
|
|
24
|
+
private transitionStartTime;
|
|
25
|
+
private readonly transitionDurationMs;
|
|
26
|
+
private endToIdleAfterTransition;
|
|
27
|
+
private cachedIdleFirstFrame;
|
|
28
|
+
private idleCurrentFrameIndex;
|
|
29
|
+
/**
|
|
30
|
+
* 对齐两端 Flame 维度:标量统一长度,expression 取最大长度并零填充
|
|
31
|
+
*/
|
|
32
|
+
private alignFlamePair;
|
|
33
|
+
/**
|
|
34
|
+
* 判断是否为空 Flame(用于跳过 isLast=true 的哨兵帧)
|
|
35
|
+
*/
|
|
36
|
+
private isEmptyFlame;
|
|
37
|
+
/**
|
|
38
|
+
* 生成并对齐过渡帧,确保首尾帧与起止帧完全一致
|
|
39
|
+
*/
|
|
40
|
+
private generateAndAlignTransitionFrames;
|
|
41
|
+
/**
|
|
42
|
+
* 获取缓存的 Idle 首帧,如果未缓存则获取并缓存
|
|
43
|
+
*/
|
|
44
|
+
private getCachedIdleFirstFrame;
|
|
45
|
+
/**
|
|
46
|
+
* 构造函数
|
|
47
|
+
* 使用 AvatarController(纯动画驱动模式)
|
|
48
|
+
*/
|
|
49
|
+
constructor(avatar: Avatar, canvasContainer?: HTMLElement);
|
|
50
|
+
/**
|
|
51
|
+
* 创建canvas元素
|
|
52
|
+
*/
|
|
53
|
+
private createCanvas;
|
|
54
|
+
/**
|
|
55
|
+
* 获取canvas元素(供外部访问)
|
|
56
|
+
*/
|
|
57
|
+
getCanvas(): HTMLCanvasElement;
|
|
58
|
+
/**
|
|
59
|
+
* 初始化视图系统
|
|
60
|
+
*/
|
|
61
|
+
private initializeView;
|
|
62
|
+
/**
|
|
63
|
+
* 初始化渲染系统
|
|
64
|
+
*/
|
|
65
|
+
private initializeRenderSystem;
|
|
66
|
+
/**
|
|
67
|
+
* 获取默认相机配置
|
|
68
|
+
*/
|
|
69
|
+
private getDefaultCameraConfig;
|
|
70
|
+
/**
|
|
71
|
+
* 根据 PreloadCameraSettings 转换为 CameraConfig
|
|
72
|
+
*/
|
|
73
|
+
private convertPreloadCameraToConfig;
|
|
74
|
+
/**
|
|
75
|
+
* 渲染第一帧
|
|
76
|
+
*/
|
|
77
|
+
private renderFirstFrame;
|
|
78
|
+
/**
|
|
79
|
+
* 开始idle动画循环
|
|
80
|
+
*/
|
|
81
|
+
private startIdleAnimationLoop;
|
|
82
|
+
/**
|
|
83
|
+
* 开始实时对话动画循环
|
|
84
|
+
*/
|
|
85
|
+
private startRealtimeAnimationLoop;
|
|
86
|
+
/**
|
|
87
|
+
* 停止idle动画循环
|
|
88
|
+
*/
|
|
89
|
+
private stopIdleAnimationLoop;
|
|
90
|
+
/**
|
|
91
|
+
* 停止实时对话动画循环
|
|
92
|
+
*/
|
|
93
|
+
private stopRealtimeAnimationLoop;
|
|
94
|
+
/**
|
|
95
|
+
* 停止所有动画循环
|
|
96
|
+
*/
|
|
97
|
+
private stopAllAnimationLoops;
|
|
98
|
+
/**
|
|
99
|
+
* 渲染实时对话帧
|
|
100
|
+
*/
|
|
101
|
+
private renderRealtimeFrame;
|
|
102
|
+
/**
|
|
103
|
+
* 设置 AvatarController 事件监听器
|
|
104
|
+
*/
|
|
105
|
+
private setupControllerEventListeners;
|
|
106
|
+
/**
|
|
107
|
+
* 设置当前关键帧数据
|
|
108
|
+
*/
|
|
109
|
+
private setCurrentKeyframes;
|
|
110
|
+
/**
|
|
111
|
+
* 开始实时对话渲染
|
|
112
|
+
*/
|
|
113
|
+
private startRealtimeRendering;
|
|
114
|
+
/**
|
|
115
|
+
* 停止实时对话渲染
|
|
116
|
+
*/
|
|
117
|
+
private stopRealtimeRendering;
|
|
118
|
+
/**
|
|
119
|
+
* 设置背景图
|
|
120
|
+
* 支持开发者来设置渲染数字人背景图
|
|
121
|
+
*/
|
|
122
|
+
setBackgroundImage(imageUrl: string | null): void;
|
|
123
|
+
/**
|
|
124
|
+
* 设置背景是否不透明
|
|
125
|
+
* 支持开发者来设置是否背景不透明
|
|
126
|
+
*/
|
|
127
|
+
setBackgroundOpaque(opaque: boolean): void;
|
|
128
|
+
/**
|
|
129
|
+
* 清理视图资源
|
|
130
|
+
* 关闭 avatarController 并清理所有相关资源
|
|
131
|
+
*/
|
|
132
|
+
dispose(): void;
|
|
133
|
+
/**
|
|
134
|
+
* 获取相机配置
|
|
135
|
+
*/
|
|
136
|
+
getCameraConfig(): CameraConfig | null;
|
|
137
|
+
/**
|
|
138
|
+
* 更新相机配置
|
|
139
|
+
*/
|
|
140
|
+
updateCameraConfig(cameraConfig: CameraConfig): void;
|
|
141
|
+
/**
|
|
142
|
+
* 处理尺寸变化:通知渲染系统更新视口与投影
|
|
143
|
+
*/
|
|
144
|
+
private handleResize;
|
|
145
|
+
/**
|
|
146
|
+
* 获取渲染性能统计
|
|
147
|
+
* @returns 渲染性能统计数据,如果渲染系统未初始化则返回 null
|
|
148
|
+
*/
|
|
149
|
+
getPerformanceStats(): RenderPerformanceStats | null;
|
|
150
|
+
/**
|
|
151
|
+
* 将 CameraInfo 转换为 CameraConfig
|
|
152
|
+
*/
|
|
153
|
+
/**
|
|
154
|
+
* 设置 canvas 的 CSS 背景(与 app 对齐)
|
|
155
|
+
*/
|
|
156
|
+
private setCanvasBackground;
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=AvatarView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvatarView.d.ts","sourceRoot":"","sources":["../../core/AvatarView.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAQtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,qBAAa,UAAU;IACrB,SAAgB,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAO;IACrC,gBAAgB,EAAE,OAAO,CAAQ;IAGxC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,YAAY,CAA4B;IAGhD,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,sBAAsB,CAAa;IAC3C,OAAO,CAAC,iBAAiB,CAAY;IACrC,OAAO,CAAC,sBAAsB,CAAqB;IACnD,OAAO,CAAC,sBAAsB,CAAsB;IAGpD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,uBAAuB,CAAsB;IACrD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,cAAc,CAA4B;IAGlD,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,mBAAmB,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAc;IACnD,OAAO,CAAC,wBAAwB,CAAiB;IACjD,OAAO,CAAC,oBAAoB,CAAqB;IACjD,OAAO,CAAC,qBAAqB,CAAY;IAEzC;;OAEG;IACH,OAAO,CAAC,cAAc;IA8BtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAoBxC;;OAEG;YACW,uBAAuB;IAgBrC;;;OAGG;gBAED,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,WAAW;IAe/B;;OAEG;IACH,OAAO,CAAC,YAAY;IA4DpB;;OAEG;IACH,SAAS,IAAI,iBAAiB;IAI9B;;OAEG;YACW,cAAc;IAsD5B;;OAEG;YACW,sBAAsB;IA0BpC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAoBpC;;OAEG;YACW,gBAAgB;IAsC9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsE9B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAqFlC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IASjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;YACW,mBAAmB;IAwFjC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAcrC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmD9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwC7B;;;OAGG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIjD;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAI1C;;;OAGG;IACH,OAAO,IAAI,IAAI;IAgDf;;OAEG;IACH,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC;;OAEG;IACH,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAapD;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;;OAGG;IACH,mBAAmB,IAAI,sBAAsB,GAAG,IAAI;IAapD;;OAEG;IACH;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAkB5B"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';
|
|
2
|
+
export declare const protobufPackage = "driveningress.v1";
|
|
3
|
+
export declare enum MessageType {
|
|
4
|
+
MESSAGE_UNSPECIFIED = 0,
|
|
5
|
+
MESSAGE_ERROR = 2,
|
|
6
|
+
MESSAGE_SERVER_RESPONSE_ANIMATION = 1004,
|
|
7
|
+
MESSAGE_CLIENT_AUDIO_INPUT = 2003,
|
|
8
|
+
UNRECOGNIZED = -1
|
|
9
|
+
}
|
|
10
|
+
export declare function messageTypeFromJSON(object: any): MessageType;
|
|
11
|
+
export declare function messageTypeToJSON(object: MessageType): string;
|
|
12
|
+
/**
|
|
13
|
+
* 兼容流式传输,只要 req_id 相同,客户端可以将音频分段发若干个 ClientAudioInputData
|
|
14
|
+
* 新 req_id 出现后,老 req_id 的请求将被忽略
|
|
15
|
+
*/
|
|
16
|
+
export interface ClientAudioInputData {
|
|
17
|
+
reqId: string;
|
|
18
|
+
audio: Uint8Array;
|
|
19
|
+
end: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface Flame {
|
|
22
|
+
/** 平移 */
|
|
23
|
+
translation: number[];
|
|
24
|
+
/** 旋转 */
|
|
25
|
+
rotation: number[];
|
|
26
|
+
/** 脖子 */
|
|
27
|
+
neckPose: number[];
|
|
28
|
+
/** 下巴 */
|
|
29
|
+
jawPose: number[];
|
|
30
|
+
/** 眼睛 */
|
|
31
|
+
eyePose: number[];
|
|
32
|
+
/** 眼皮 */
|
|
33
|
+
eyeLid: number[];
|
|
34
|
+
/** 表情参数 */
|
|
35
|
+
expression: number[];
|
|
36
|
+
}
|
|
37
|
+
export interface FlameAnimation {
|
|
38
|
+
keyframes: Flame[];
|
|
39
|
+
}
|
|
40
|
+
export interface ServerResponseAnimationData {
|
|
41
|
+
reqId: string;
|
|
42
|
+
animation?: FlameAnimation | undefined;
|
|
43
|
+
}
|
|
44
|
+
export interface ErrorInfo {
|
|
45
|
+
reqId: string;
|
|
46
|
+
code: number;
|
|
47
|
+
reason: string;
|
|
48
|
+
}
|
|
49
|
+
export interface Message {
|
|
50
|
+
type: MessageType;
|
|
51
|
+
error?: ErrorInfo | undefined;
|
|
52
|
+
serverResponseAnimation?: ServerResponseAnimationData | undefined;
|
|
53
|
+
clientAudioInput?: ClientAudioInputData | undefined;
|
|
54
|
+
}
|
|
55
|
+
export declare const ClientAudioInputData: MessageFns<ClientAudioInputData>;
|
|
56
|
+
export declare const Flame: MessageFns<Flame>;
|
|
57
|
+
export declare const FlameAnimation: MessageFns<FlameAnimation>;
|
|
58
|
+
export declare const ServerResponseAnimationData: MessageFns<ServerResponseAnimationData>;
|
|
59
|
+
export declare const ErrorInfo: MessageFns<ErrorInfo>;
|
|
60
|
+
export declare const Message: MessageFns<Message>;
|
|
61
|
+
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
62
|
+
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
|
|
63
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
64
|
+
} : Partial<T>;
|
|
65
|
+
type KeysOfUnion<T> = T extends T ? keyof T : never;
|
|
66
|
+
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
|
|
67
|
+
[K in keyof P]: Exact<P[K], I[K]>;
|
|
68
|
+
} & {
|
|
69
|
+
[K in Exclude<keyof I, KeysOfUnion<P>>]: never;
|
|
70
|
+
};
|
|
71
|
+
export interface MessageFns<T> {
|
|
72
|
+
encode(message: T, writer?: BinaryWriter): BinaryWriter;
|
|
73
|
+
decode(input: BinaryReader | Uint8Array, length?: number): T;
|
|
74
|
+
fromJSON(object: any): T;
|
|
75
|
+
toJSON(message: T): unknown;
|
|
76
|
+
create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
|
|
77
|
+
fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
|
|
78
|
+
}
|
|
79
|
+
export {};
|
|
80
|
+
//# sourceMappingURL=driveningress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driveningress.d.ts","sourceRoot":"","sources":["../../../../generated/driveningress/v1/driveningress.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAErE,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAElD,oBAAY,WAAW;IACrB,mBAAmB,IAAI;IACvB,aAAa,IAAI;IACjB,iCAAiC,OAAO;IACxC,0BAA0B,OAAO;IACjC,YAAY,KAAK;CAClB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,CAmB5D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAc7D;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,SAAS;IACT,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS;IACT,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS;IACT,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS;IACT,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS;IACT,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS;IACT,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW;IACX,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,KAAK,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,uBAAuB,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAClE,gBAAgB,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACrD;AAMD,eAAO,MAAM,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,CAsFjE,CAAC;AAMF,eAAO,MAAM,KAAK,EAAE,UAAU,CAAC,KAAK,CA8OnC,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC,cAAc,CAsDrD,CAAC;AAMF,eAAO,MAAM,2BAA2B,EAAE,UAAU,CAAC,2BAA2B,CAwE/E,CAAC;AAMF,eAAO,MAAM,SAAS,EAAE,UAAU,CAAC,SAAS,CAsF3C,CAAC;AAMF,eAAO,MAAM,OAAO,EAAE,UAAU,CAAC,OAAO,CAiHvC,CAAC;AAmBF,KAAK,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,GAC9C,CAAC,SAAS,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACtE,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAChE,CAAC,SAAS,EAAE,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACrD,OAAO,CAAC,CAAC,CAAC,CAAC;AAEf,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;AACpD,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,GACrD,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG;KAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAAE,CAAC;AAMnG,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IAC7D,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IACzB,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;IAC5B,MAAM,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACxD,WAAW,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;CAC/D"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';
|
|
2
|
+
import { Timestamp } from '../../google/protobuf/timestamp';
|
|
3
|
+
export declare const protobufPackage = "driveningress.v2";
|
|
4
|
+
export interface GetCharacterInfoRequest {
|
|
5
|
+
characterId: string;
|
|
6
|
+
}
|
|
7
|
+
export interface CharacterAsset {
|
|
8
|
+
/** 资产ID,例如 "v1/xxx" */
|
|
9
|
+
characterId: string;
|
|
10
|
+
/** 资产版本,例如 "1.0.0" */
|
|
11
|
+
version: string;
|
|
12
|
+
createdAt?: Timestamp | undefined;
|
|
13
|
+
updatedAt?: Timestamp | undefined;
|
|
14
|
+
camera?: ResourceHolder | undefined;
|
|
15
|
+
models?: Models | undefined;
|
|
16
|
+
animations?: Animations | undefined;
|
|
17
|
+
background?: ResourceHolder | undefined;
|
|
18
|
+
characterSettings?: {
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
} | undefined;
|
|
21
|
+
}
|
|
22
|
+
export interface Resource {
|
|
23
|
+
type: string;
|
|
24
|
+
local: string;
|
|
25
|
+
remote: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ResourceHolder {
|
|
28
|
+
resource?: Resource | undefined;
|
|
29
|
+
}
|
|
30
|
+
export interface Models {
|
|
31
|
+
shape?: ResourceHolder | undefined;
|
|
32
|
+
gsStandard?: ResourceHolder | undefined;
|
|
33
|
+
gsHigh?: ResourceHolder | undefined;
|
|
34
|
+
gsUltra?: ResourceHolder | undefined;
|
|
35
|
+
}
|
|
36
|
+
export interface Animations {
|
|
37
|
+
frameIdle?: ResourceHolder | undefined;
|
|
38
|
+
frameMono?: ResourceHolder | undefined;
|
|
39
|
+
audioMono?: ResourceHolder | undefined;
|
|
40
|
+
}
|
|
41
|
+
export declare const GetCharacterInfoRequest: MessageFns<GetCharacterInfoRequest>;
|
|
42
|
+
export declare const CharacterAsset: MessageFns<CharacterAsset>;
|
|
43
|
+
export declare const Resource: MessageFns<Resource>;
|
|
44
|
+
export declare const ResourceHolder: MessageFns<ResourceHolder>;
|
|
45
|
+
export declare const Models: MessageFns<Models>;
|
|
46
|
+
export declare const Animations: MessageFns<Animations>;
|
|
47
|
+
export interface DrivenIngressService {
|
|
48
|
+
GetCharacterInfo(request: GetCharacterInfoRequest): Promise<CharacterAsset>;
|
|
49
|
+
}
|
|
50
|
+
export declare const DrivenIngressServiceServiceName = "driveningress.v2.DrivenIngressService";
|
|
51
|
+
export declare class DrivenIngressServiceClientImpl implements DrivenIngressService {
|
|
52
|
+
private readonly rpc;
|
|
53
|
+
private readonly service;
|
|
54
|
+
constructor(rpc: Rpc, opts?: {
|
|
55
|
+
service?: string;
|
|
56
|
+
});
|
|
57
|
+
GetCharacterInfo(request: GetCharacterInfoRequest): Promise<CharacterAsset>;
|
|
58
|
+
}
|
|
59
|
+
interface Rpc {
|
|
60
|
+
request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
|
|
61
|
+
}
|
|
62
|
+
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
63
|
+
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
|
|
64
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
65
|
+
} : Partial<T>;
|
|
66
|
+
type KeysOfUnion<T> = T extends T ? keyof T : never;
|
|
67
|
+
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
|
|
68
|
+
[K in keyof P]: Exact<P[K], I[K]>;
|
|
69
|
+
} & {
|
|
70
|
+
[K in Exclude<keyof I, KeysOfUnion<P>>]: never;
|
|
71
|
+
};
|
|
72
|
+
export interface MessageFns<T> {
|
|
73
|
+
encode(message: T, writer?: BinaryWriter): BinaryWriter;
|
|
74
|
+
decode(input: BinaryReader | Uint8Array, length?: number): T;
|
|
75
|
+
fromJSON(object: any): T;
|
|
76
|
+
toJSON(message: T): unknown;
|
|
77
|
+
create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
|
|
78
|
+
fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
|
|
79
|
+
}
|
|
80
|
+
export {};
|
|
81
|
+
//# sourceMappingURL=driveningress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driveningress.d.ts","sourceRoot":"","sources":["../../../../generated/driveningress/v2/driveningress.ts"],"names":[],"mappings":"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"}
|