@spatialwalk/avatarkit 1.0.0-beta.10 → 1.0.0-beta.101

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.
Files changed (98) hide show
  1. package/CHANGELOG.md +771 -4
  2. package/README.md +676 -365
  3. package/dist/StreamingAudioPlayer-BULgPjpe.js +643 -0
  4. package/dist/avatar_core_wasm-CQbUl6zN.js +2696 -0
  5. package/dist/avatar_core_wasm-bd762669.wasm +0 -0
  6. package/dist/core/Avatar.d.ts +5 -7
  7. package/dist/core/AvatarController.d.ts +99 -60
  8. package/dist/core/AvatarManager.d.ts +32 -12
  9. package/dist/core/AvatarSDK.d.ts +58 -0
  10. package/dist/core/AvatarView.d.ts +136 -128
  11. package/dist/index-C0A1HA8M.js +18427 -0
  12. package/dist/index.d.ts +2 -4
  13. package/dist/index.js +17 -17
  14. package/dist/next.d.ts +2 -0
  15. package/dist/performance/FrameRateMonitor.d.ts +85 -0
  16. package/dist/types/character-settings.d.ts +7 -1
  17. package/dist/types/character.d.ts +42 -16
  18. package/dist/types/index.d.ts +165 -45
  19. package/dist/vite.d.ts +19 -0
  20. package/next.d.ts +3 -0
  21. package/next.js +187 -0
  22. package/package.json +38 -8
  23. package/vite.d.ts +20 -0
  24. package/vite.js +126 -0
  25. package/dist/StreamingAudioPlayer-Bq2-bQiT.js +0 -319
  26. package/dist/StreamingAudioPlayer-Bq2-bQiT.js.map +0 -1
  27. package/dist/animation/AnimationWebSocketClient.d.ts +0 -50
  28. package/dist/animation/AnimationWebSocketClient.d.ts.map +0 -1
  29. package/dist/animation/utils/eventEmitter.d.ts +0 -13
  30. package/dist/animation/utils/eventEmitter.d.ts.map +0 -1
  31. package/dist/animation/utils/flameConverter.d.ts +0 -26
  32. package/dist/animation/utils/flameConverter.d.ts.map +0 -1
  33. package/dist/audio/AnimationPlayer.d.ts +0 -57
  34. package/dist/audio/AnimationPlayer.d.ts.map +0 -1
  35. package/dist/audio/StreamingAudioPlayer.d.ts +0 -123
  36. package/dist/audio/StreamingAudioPlayer.d.ts.map +0 -1
  37. package/dist/avatar_core_wasm-D4eEi7Eh.js +0 -1666
  38. package/dist/avatar_core_wasm-D4eEi7Eh.js.map +0 -1
  39. package/dist/avatar_core_wasm.wasm +0 -0
  40. package/dist/config/app-config.d.ts +0 -44
  41. package/dist/config/app-config.d.ts.map +0 -1
  42. package/dist/config/constants.d.ts +0 -29
  43. package/dist/config/constants.d.ts.map +0 -1
  44. package/dist/config/sdk-config-loader.d.ts +0 -12
  45. package/dist/config/sdk-config-loader.d.ts.map +0 -1
  46. package/dist/core/Avatar.d.ts.map +0 -1
  47. package/dist/core/AvatarController.d.ts.map +0 -1
  48. package/dist/core/AvatarDownloader.d.ts +0 -95
  49. package/dist/core/AvatarDownloader.d.ts.map +0 -1
  50. package/dist/core/AvatarKit.d.ts +0 -48
  51. package/dist/core/AvatarKit.d.ts.map +0 -1
  52. package/dist/core/AvatarManager.d.ts.map +0 -1
  53. package/dist/core/AvatarView.d.ts.map +0 -1
  54. package/dist/core/NetworkLayer.d.ts +0 -59
  55. package/dist/core/NetworkLayer.d.ts.map +0 -1
  56. package/dist/generated/driveningress/v1/driveningress.d.ts +0 -80
  57. package/dist/generated/driveningress/v1/driveningress.d.ts.map +0 -1
  58. package/dist/generated/driveningress/v2/driveningress.d.ts +0 -81
  59. package/dist/generated/driveningress/v2/driveningress.d.ts.map +0 -1
  60. package/dist/generated/google/protobuf/struct.d.ts +0 -108
  61. package/dist/generated/google/protobuf/struct.d.ts.map +0 -1
  62. package/dist/generated/google/protobuf/timestamp.d.ts +0 -129
  63. package/dist/generated/google/protobuf/timestamp.d.ts.map +0 -1
  64. package/dist/index-bQnEVIkT.js +0 -5999
  65. package/dist/index-bQnEVIkT.js.map +0 -1
  66. package/dist/index.d.ts.map +0 -1
  67. package/dist/index.js.map +0 -1
  68. package/dist/renderer/RenderSystem.d.ts +0 -79
  69. package/dist/renderer/RenderSystem.d.ts.map +0 -1
  70. package/dist/renderer/covariance.d.ts +0 -13
  71. package/dist/renderer/covariance.d.ts.map +0 -1
  72. package/dist/renderer/renderer.d.ts +0 -8
  73. package/dist/renderer/renderer.d.ts.map +0 -1
  74. package/dist/renderer/sortSplats.d.ts +0 -12
  75. package/dist/renderer/sortSplats.d.ts.map +0 -1
  76. package/dist/renderer/webgl/reorderData.d.ts +0 -14
  77. package/dist/renderer/webgl/reorderData.d.ts.map +0 -1
  78. package/dist/renderer/webgl/webglRenderer.d.ts +0 -66
  79. package/dist/renderer/webgl/webglRenderer.d.ts.map +0 -1
  80. package/dist/renderer/webgpu/webgpuRenderer.d.ts +0 -54
  81. package/dist/renderer/webgpu/webgpuRenderer.d.ts.map +0 -1
  82. package/dist/types/character-settings.d.ts.map +0 -1
  83. package/dist/types/character.d.ts.map +0 -1
  84. package/dist/types/index.d.ts.map +0 -1
  85. package/dist/utils/animation-interpolation.d.ts +0 -17
  86. package/dist/utils/animation-interpolation.d.ts.map +0 -1
  87. package/dist/utils/cls-tracker.d.ts +0 -17
  88. package/dist/utils/cls-tracker.d.ts.map +0 -1
  89. package/dist/utils/error-utils.d.ts +0 -27
  90. package/dist/utils/error-utils.d.ts.map +0 -1
  91. package/dist/utils/logger.d.ts +0 -35
  92. package/dist/utils/logger.d.ts.map +0 -1
  93. package/dist/utils/reqId.d.ts +0 -20
  94. package/dist/utils/reqId.d.ts.map +0 -1
  95. package/dist/wasm/avatarCoreAdapter.d.ts +0 -188
  96. package/dist/wasm/avatarCoreAdapter.d.ts.map +0 -1
  97. package/dist/wasm/avatarCoreMemory.d.ts +0 -141
  98. package/dist/wasm/avatarCoreMemory.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,cAAc,SAAS,CAAA;AAGvB,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,79 +0,0 @@
1
- import { CameraConfig } from '../types';
2
- import { RenderBackend } from './renderer';
3
- export interface RenderSystemOptions {
4
- canvas: HTMLCanvasElement;
5
- preferBackend?: RenderBackend;
6
- backgroundColor?: [number, number, number, number];
7
- camera?: CameraConfig;
8
- }
9
- export declare class RenderSystem {
10
- private renderer;
11
- private backend;
12
- private canvas;
13
- private options;
14
- private camera;
15
- private viewMatrix;
16
- private projectionMatrix;
17
- private originalPackedData;
18
- renderTime: number;
19
- sortTime: number;
20
- constructor(options: RenderSystemOptions);
21
- /**
22
- * 初始化渲染系统
23
- */
24
- initialize(): Promise<void>;
25
- /**
26
- * 加载已打包的 Splat 数据(零拷贝,GPU 格式)
27
- * 直接接收 WASM 的 packed 数据
28
- *
29
- * @param packedData Float32Array [pos3, color4, cov6] x N 个点
30
- */
31
- loadSplatsFromPackedData(packedData: Float32Array): void;
32
- /**
33
- * 渲染一帧
34
- */
35
- renderFrame(): void;
36
- /**
37
- * 更新相机参数
38
- */
39
- updateCamera(params: Partial<CameraConfig>): void;
40
- /**
41
- * 处理窗口大小变化
42
- */
43
- handleResize(): void;
44
- /**
45
- * 获取当前使用的后端
46
- */
47
- getBackend(): RenderBackend | null;
48
- /**
49
- * 清理资源
50
- */
51
- dispose(): void;
52
- /**
53
- * 检查 WebGPU 支持
54
- */
55
- private checkWebGPUSupport;
56
- /**
57
- * 更新相机长宽比
58
- */
59
- private updateCameraAspect;
60
- /**
61
- * 更新相机矩阵
62
- */
63
- private updateCameraMatrices;
64
- /**
65
- * 获取相机前向向量
66
- */
67
- private getCameraForward;
68
- /**
69
- * 更新透视投影矩阵(复用缓冲区)
70
- */
71
- private updatePerspectiveMatrix;
72
- /**
73
- * 更新视图矩阵(直接更新预分配的缓冲区,避免每帧分配)
74
- * 等价于:inverse(translation) * inverse(rotation) = T^(-1) * R^(-1)
75
- * 其中 T 是平移矩阵,R 是旋转矩阵
76
- */
77
- private updateViewMatrix;
78
- }
79
- //# sourceMappingURL=RenderSystem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenderSystem.d.ts","sourceRoot":"","sources":["../../renderer/RenderSystem.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,YAAY,CAAA;AAQ9D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,iBAAiB,CAAA;IACzB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAClD,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAAqB;IAGpC,OAAO,CAAC,MAAM,CAGb;IAGD,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,gBAAgB,CAAuB;IAG/C,OAAO,CAAC,kBAAkB,CAA4B;IAG/C,UAAU,SAAI;IACd,QAAQ,SAAI;gBAEP,OAAO,EAAE,mBAAmB;IAoBxC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BjC;;;;;OAKG;IACH,wBAAwB,CAAC,UAAU,EAAE,YAAY,GAAG,IAAI;IAQxD;;OAEG;IACH,WAAW,IAAI,IAAI;IAwCnB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAKjD;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,UAAU,IAAI,aAAa,GAAG,IAAI;IAIlC;;OAEG;IACH,OAAO,IAAI,IAAI;IAUf;;OAEG;YACW,kBAAkB;IAYhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA6B/B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAkEzB"}
@@ -1,13 +0,0 @@
1
- /**
2
- * 3D 协方差矩阵计算工具
3
- * 用于从缩放和旋转参数计算 Gaussian Splat 的协方差矩阵
4
- */
5
- /**
6
- * 计算 3D 协方差矩阵
7
- *
8
- * @param scale - 缩放向量 [sx, sy, sz]
9
- * @param rotation - 四元数旋转 [qx, qy, qz, qw]
10
- * @returns 3x3 协方差矩阵
11
- */
12
- export declare function computeCovariance3D(scale: number[], rotation: number[]): number[][];
13
- //# sourceMappingURL=covariance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"covariance.d.ts","sourceRoot":"","sources":["../../renderer/covariance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,EAAE,EAAE,CA6CZ"}
@@ -1,8 +0,0 @@
1
- export interface I3DGSRenderer {
2
- initialize: () => Promise<void>;
3
- loadSplatsFromPackedData: (packedData: Float32Array, pointCount: number, sortOrder?: Uint32Array) => void;
4
- render: (viewMatrix: Float32Array, projectionMatrix: Float32Array, screenSize: [number, number]) => void;
5
- dispose: () => void;
6
- }
7
- export type RenderBackend = 'webgl' | 'webgpu';
8
- //# sourceMappingURL=renderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../renderer/renderer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,wBAAwB,EAAE,CACxB,UAAU,EAAE,YAAY,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,WAAW,KACpB,IAAI,CAAA;IACT,MAAM,EAAE,CACN,UAAU,EAAE,YAAY,EACxB,gBAAgB,EAAE,YAAY,EAC9B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KACzB,IAAI,CAAA;IACT,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAA"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Splat 深度排序(Radix Sort 优化版)
3
- * 使用 11-bit 两轮基数排序,O(n) 时间复杂度
4
- */
5
- /**
6
- * 对 splats 进行深度排序(Radix Sort)
7
- * @param packedData Packed 格式数据 [pos3, color4, cov6] x N
8
- * @param cameraPosition 相机位置
9
- * @param cameraForward 相机前向向量
10
- */
11
- export declare function sortSplats(packedData: Float32Array, cameraPosition: [number, number, number], cameraForward: [number, number, number]): Uint32Array;
12
- //# sourceMappingURL=sortSplats.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sortSplats.d.ts","sourceRoot":"","sources":["../../renderer/sortSplats.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,YAAY,EACxB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACtC,WAAW,CA4Db"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Packed Data 工具函数
3
- *
4
- * Packed 格式:[pos3, color4, cov6] x N 个点
5
- * 每个点 13 个 float,共 52 bytes
6
- */
7
- /**
8
- * 重新排序 packed 数据(复用缓冲区)
9
- * @param packedData 原始数据 [pos3, color4, cov6] x N
10
- * @param sortOrder 排序索引数组
11
- * @returns 重排序后的数据(复用的缓冲区引用)
12
- */
13
- export declare function reorderPackedData(packedData: Float32Array, sortOrder: Uint32Array): Float32Array;
14
- //# sourceMappingURL=reorderData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reorderData.d.ts","sourceRoot":"","sources":["../../../renderer/webgl/reorderData.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,YAAY,EACxB,SAAS,EAAE,WAAW,GACrB,YAAY,CAqBd"}
@@ -1,66 +0,0 @@
1
- import { I3DGSRenderer } from '../renderer';
2
- export declare class WebGLRenderer implements I3DGSRenderer {
3
- private canvas;
4
- private backgroundColor;
5
- private gl;
6
- private shaderProgram;
7
- private uniformLocations;
8
- private attributeLocations;
9
- private splatBuffer;
10
- private quadVertexBuffer;
11
- private vertexArray;
12
- private splatCount;
13
- private isInitialized;
14
- private splatBufferSize;
15
- constructor(canvas: HTMLCanvasElement, backgroundColor?: [number, number, number, number]);
16
- /**
17
- * 初始化 WebGL 渲染器
18
- */
19
- initialize(): Promise<void>;
20
- /**
21
- * 设置着色器位置
22
- */
23
- private setupShaderLocations;
24
- /**
25
- * 设置 WebGL 渲染状态
26
- */
27
- private setupWebGLState;
28
- /**
29
- * 创建渲染缓冲区
30
- */
31
- private createBuffers;
32
- /**
33
- * 创建四边形顶点缓冲区(实例化渲染用)
34
- */
35
- private createQuadVertexBuffer;
36
- /**
37
- * 从已打包数据加载(零拷贝,GPU 优化路径)
38
- * 🚀 性能优化版本:直接使用 WASM 输出的 packed 数据
39
- * 🚀 Buffer 复用:避免每帧重新分配,使用 bufferSubData 更新
40
- * @param packedData Float32Array [pos3, color4, cov6] x N 个点
41
- * @param pointCount 点数
42
- * @param _sortOrder WebGL 忽略此参数(已在 RenderSystem 中重排序)
43
- */
44
- loadSplatsFromPackedData(packedData: Float32Array, pointCount: number, _sortOrder?: Uint32Array): void;
45
- /**
46
- * 上传数据到 GPU
47
- */
48
- private uploadToGPU;
49
- /**
50
- * 设置实例化渲染顶点属性
51
- */
52
- private setupVertexAttributes;
53
- /**
54
- * 渲染一帧
55
- */
56
- render(viewMatrix: Float32Array, projectionMatrix: Float32Array, screenSize: [number, number]): void;
57
- /**
58
- * 创建着色器程序
59
- */
60
- private createShaderProgram;
61
- /**
62
- * 清理资源
63
- */
64
- dispose(): void;
65
- }
66
- //# sourceMappingURL=webglRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webglRenderer.d.ts","sourceRoot":"","sources":["../../../renderer/webgl/webglRenderer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAMhD,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,EAAE,CAA+B;IACzC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,gBAAgB,CAA6C;IACrE,OAAO,CAAC,kBAAkB,CAAwB;IAElD,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,WAAW,CAA+B;IAElD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAQ;gBAEnB,MAAM,EAAE,iBAAiB,EAAE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAqBzF;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;;;;;;OAOG;IACH,wBAAwB,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW;IAW/F;;OAEG;IACH,OAAO,CAAC,WAAW;IAkBnB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4E7B;;OAEG;IACH,MAAM,CACJ,UAAU,EAAE,YAAY,EACxB,gBAAgB,EAAE,YAAY,EAC9B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IA6B9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2D3B;;OAEG;IACH,OAAO;CAiCR"}
@@ -1,54 +0,0 @@
1
- import { I3DGSRenderer } from '../renderer';
2
- export declare class WebGPURenderer implements I3DGSRenderer {
3
- private canvas;
4
- private backgroundColor;
5
- private device;
6
- private context;
7
- private renderPipeline;
8
- private quadVertexBuffer;
9
- private uniformBuffer;
10
- private uniformBindGroup;
11
- private sortIndexBuffer;
12
- private splatDataBuffer;
13
- private storageBindGroup;
14
- private lastSortOrder;
15
- private bindGroupNeedsUpdate;
16
- private splatCount;
17
- private presentationFormat;
18
- constructor(canvas: HTMLCanvasElement, backgroundColor?: [number, number, number, number]);
19
- /**
20
- * 初始化 WebGPU 渲染器
21
- */
22
- initialize(): Promise<void>;
23
- /**
24
- * 创建 Uniform Buffer
25
- */
26
- private createUniformBuffer;
27
- /**
28
- * 创建四边形顶点缓冲区(实例化渲染用)
29
- */
30
- private createQuadVertexBuffer;
31
- /**
32
- * 创建 Render Pipeline
33
- */
34
- private createRenderPipeline;
35
- /**
36
- * 从已打包数据加载
37
- * 🚀 间接索引渲染:packedData 是原始数据,sortOrder 是排序索引
38
- * 🚀 完全消除 CPU 重排序开销
39
- */
40
- loadSplatsFromPackedData(packedData: Float32Array, pointCount: number, sortOrder?: Uint32Array): void;
41
- /**
42
- * 渲染一帧
43
- */
44
- render(viewMatrix: Float32Array, projectionMatrix: Float32Array, screenSize: [number, number]): void;
45
- /**
46
- * 更新 Uniform Buffer
47
- */
48
- private updateUniforms;
49
- /**
50
- * 清理资源
51
- */
52
- dispose(): void;
53
- }
54
- //# sourceMappingURL=webgpuRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webgpuRenderer.d.ts","sourceRoot":"","sources":["../../../renderer/webgpu/webgpuRenderer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIhD,qBAAa,cAAe,YAAW,aAAa;IAClD,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,gBAAgB,CAA4B;IAGpD,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,oBAAoB,CAAQ;IAEpC,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,kBAAkB,CAAiC;gBAE/C,MAAM,EAAE,iBAAiB,EAAE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAKzF;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;OAEG;YACW,oBAAoB;IAiHlC;;;;OAIG;IACH,wBAAwB,CACtB,UAAU,EAAE,YAAY,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,WAAW,GACtB,IAAI;IAoFP;;OAEG;IACH,MAAM,CACJ,UAAU,EAAE,YAAY,EACxB,gBAAgB,EAAE,YAAY,EAC9B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,IAAI;IA0CP;;OAEG;IACH,OAAO,CAAC,cAAc;IA8BtB;;OAEG;IACH,OAAO,IAAI,IAAI;CAiBhB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"character-settings.d.ts","sourceRoot":"","sources":["../../types/character-settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,sBAAsB,EAAE,OAAO,CAAA;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,EAAE,cAAc,CAAA;CACvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"character.d.ts","sourceRoot":"","sources":["../../types/character.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE7E;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAC3C,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,CAAC,CAAA;AAEL,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,CAAC,CAAA;AAEhF;;GAEG;AACH,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,cAAc,cAAc;IAC5B,cAAc,cAAc;IAC5B,UAAU,cAAc;IACxB,WAAW,UAAU;IACrB,QAAQ,eAAe;CACxB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC,CAS5F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAEzD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAYpE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,oBAAY,WAAW;IACrB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,IAAI,SAAS;CACd;AAGD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;CAClC;AAGD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE;QACT,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAGD,oBAAY,YAAY;IACtB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAGD,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAGD,oBAAY,WAAW;IACrB,IAAI,SAAS,CAAE,aAAa;IAC5B,MAAM,WAAW,CAAE,cAAc;IACjC,OAAO,YAAY;CACpB;AAGD,qBAAa,aAAc,SAAQ,KAAK;IACF,IAAI,CAAC,EAAE,MAAM;gBAArC,OAAO,EAAE,MAAM,EAAS,IAAI,CAAC,EAAE,MAAM,YAAA;CAIlD;AAID,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,YAAY,CAAA;IACvB,MAAM,EAAE,YAAY,CAAA;IACpB,SAAS,EAAE,YAAY,CAAA;IACvB,MAAM,EAAE,YAAY,CAAA;IACpB,SAAS,EAAE,YAAY,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAGD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAA;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAID;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,oCAAoC;IACpC,OAAO,YAAY;IACnB,qCAAqC;IACrC,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW;IACX,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,gBAAgB;IAChB,SAAS,CAAC,EAAE,WAAW,CAAA;CACxB;AAKD,cAAc,aAAa,CAAA"}
@@ -1,17 +0,0 @@
1
- import { Flame } from '../generated/driveningress/v1/driveningress';
2
- /**
3
- * Linear interpolation with cosine easing (ease-in-ease-out)
4
- * 0.5 - cos(progress * π) * 0.5
5
- */
6
- export declare function linearLerp(from: Flame, to: Flame, progress: number): Flame;
7
- /**
8
- * Generate transition keyframes between two Flame states
9
- * @param durationMs Transition duration (e.g. 400ms)
10
- * @param fps Frames per second (default 25)
11
- */
12
- export declare function generateTransitionFrames(from: Flame, to: Flame, durationMs: number, fps?: number): Flame[];
13
- /**
14
- * Create a neutral Flame
15
- */
16
- export declare function createNeutralFlame(): Flame;
17
- //# sourceMappingURL=animation-interpolation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"animation-interpolation.d.ts","sourceRoot":"","sources":["../../utils/animation-interpolation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6CAA6C,CAAA;AAWxE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAkB1E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,KAAK,EACT,UAAU,EAAE,MAAM,EAClB,GAAG,SAAK,GACP,KAAK,EAAE,CAQT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAU1C"}
@@ -1,17 +0,0 @@
1
- import { Environment } from '../types';
2
- /**
3
- * 初始化 CLS(需要传入环境信息)
4
- */
5
- export declare function initializeCLS(environment: Environment): void;
6
- /**
7
- * 上报日志到 CLS
8
- * @param event 事件名称
9
- * @param level 日志级别
10
- * @param contents 日志内容
11
- */
12
- export declare function trackEvent(event: string, level?: 'debug' | 'info' | 'warning' | 'error', contents?: Record<string, unknown>): void;
13
- /**
14
- * 清理 CLS(刷新剩余日志并停止定时器)
15
- */
16
- export declare function cleanupCLS(): void;
17
- //# sourceMappingURL=cls-tracker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cls-tracker.d.ts","sourceRoot":"","sources":["../../utils/cls-tracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAetC;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CA4B5D;AAoHD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAgB,EACtD,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,IAAI,CAmCN;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CASjC"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Error Utility Functions
3
- * Provides consistent error handling and formatting across the application
4
- */
5
- /**
6
- * Convert unknown error to a readable error message string
7
- *
8
- * @param err - Unknown error object (could be Error, string, object, etc.)
9
- * @returns Formatted error message string
10
- *
11
- * @example
12
- * try {
13
- * riskyOperation()
14
- * } catch (err) {
15
- * const message = errorToMessage(err)
16
- * logger.error('Operation failed:', message)
17
- * }
18
- */
19
- export declare function errorToMessage(err: unknown): string;
20
- /**
21
- * Convert unknown error to a detailed error message with stack trace (for logging)
22
- *
23
- * @param err - Unknown error object
24
- * @returns Detailed error message with stack if available
25
- */
26
- export declare function errorToDetailedMessage(err: unknown): string;
27
- //# sourceMappingURL=error-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-utils.d.ts","sourceRoot":"","sources":["../../utils/error-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAyBnD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAM3D"}
@@ -1,35 +0,0 @@
1
- /**
2
- * Logger Utility
3
- * Environment-aware logger wrapper
4
- * - Logs normally in test/dev environment
5
- * - In production: silently logs to console
6
- * - Errors and warnings are always reported to CLS (when enabled)
7
- *
8
- * Usage: Replace `console.log()` with `logger.log()`
9
- */
10
- export declare const logger: import('@guiiai/logg').Logg;
11
- export declare const loggerWithUnknown: {
12
- error: (message: string, error?: unknown) => void;
13
- warn: (message: string, error?: unknown) => void;
14
- useGlobalConfig: () => import('@guiiai/logg').Logg;
15
- child: (fields?: Record<string, any>) => import('@guiiai/logg').Logg;
16
- withContext: (context: string) => import('@guiiai/logg').Logg;
17
- withLogLevel: (logLevel: import('@guiiai/logg').LogLevel) => import('@guiiai/logg').Logg;
18
- withLogLevelString: (logLevelString: import('@guiiai/logg').LogLevelString) => import('@guiiai/logg').Logg;
19
- withFormat: (format: import('@guiiai/logg').Format) => import('@guiiai/logg').Logg;
20
- withFields: (fields: Record<string, any>) => import('@guiiai/logg').Logg;
21
- withField: (key: string, value: any) => import('@guiiai/logg').Logg;
22
- withError: (err: Error | unknown) => import('@guiiai/logg').Logg;
23
- withCallStack: (errorLike: {
24
- message: string;
25
- stack?: string;
26
- }) => import('@guiiai/logg').Logg;
27
- debug: (message: any, ...optionalParams: [...any, string?]) => void;
28
- verbose: (message: any, ...optionalParams: [...any, string?]) => void;
29
- log: (message: any, ...optionalParams: any[]) => void;
30
- errorWithError: (message: any, err: Error | unknown, ...optionalParams: any[]) => void;
31
- withTimeFormat: (format: string) => import('@guiiai/logg').Logg;
32
- withTimeFormatter: (fn: (inputDate: Date) => string) => import('@guiiai/logg').Logg;
33
- withErrorProcessor: (fn: (err: Error | unknown) => Error | unknown) => import('@guiiai/logg').Logg;
34
- };
35
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,eAAO,MAAM,MAAM,6BAKC,CAAA;AAGpB,eAAO,MAAM,iBAAiB;qBAEX,MAAM,UAAU,OAAO;oBASxB,MAAM,UAAU,OAAO;;kBAPD,CAAA;;;;;;;;;;aAiCk9B,CAAC;;0BAAoT,GAAI;4BAA0U,GAAI;wBAAkU,GAAI;yDAA2vB,GAAI;;;;CAjBrsF,CAAA"}
@@ -1,20 +0,0 @@
1
- /**
2
- * ReqID 生成工具
3
- *
4
- * 统一格式:时间戳(UTC时间,秒级,格式:YYYYMMDDHHmmss)+ 下划线 + 12位 NanoID
5
- * 示例:20251027143034_aB3dEf9hIjKl
6
- *
7
- * 时间部分使用 UTC 时间,便于跨端日志排查时统一转换时区检索
8
- */
9
- /**
10
- * 生成统一的请求 ID
11
- *
12
- * 格式:时间戳(UTC时间,秒级,格式:YYYYMMDDHHmmss)+ 下划线 + 12位 NanoID
13
- * 时间部分使用 UTC 时间,便于跨端日志排查时统一转换时区检索
14
- *
15
- * @returns 格式为 YYYYMMDDHHmmss_nanoid 的请求 ID
16
- * @example
17
- * generateReqId() // "20251027143034_aB3dEf9hIjKl"
18
- */
19
- export declare function generateReqId(): string;
20
- //# sourceMappingURL=reqId.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reqId.d.ts","sourceRoot":"","sources":["../../utils/reqId.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH;;;;;;;;;GASG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAkBtC"}
@@ -1,188 +0,0 @@
1
- import { AvatarCoreMemoryManager } from './avatarCoreMemory';
2
- export interface WasmModuleConfig {
3
- baseUrl?: string;
4
- [key: string]: unknown;
5
- }
6
- export interface AvatarCoreOptions {
7
- logLevel?: 'basic' | 'verbose';
8
- enableValidation?: boolean;
9
- enablePerformanceMetrics?: boolean;
10
- retryCount?: number;
11
- baseAssetsPath?: string;
12
- modelFolder?: string;
13
- wasmConfig?: WasmModuleConfig;
14
- wasmPath?: string;
15
- }
16
- interface PerformanceMetrics {
17
- initTime: number;
18
- loadTime: number;
19
- computeFrames: number;
20
- totalComputeTime: number;
21
- averageComputeTime: number;
22
- }
23
- export interface FlameInfo {
24
- vertexCount: number;
25
- faceCount: number;
26
- jointCount: number;
27
- }
28
- export interface CharacterInfo {
29
- pointCount: number;
30
- hasAnimation: boolean;
31
- }
32
- export interface FlameParams {
33
- shape_params?: number[];
34
- expr_params?: number[];
35
- rotation?: number[];
36
- translation?: number[];
37
- neck_pose?: number[];
38
- jaw_pose?: number[];
39
- eyes_pose?: number[];
40
- eyelid?: number[];
41
- has_eyelid?: boolean;
42
- }
43
- export declare class AvatarCoreAdapter {
44
- private options;
45
- private wasmConfig;
46
- private wasmModule;
47
- private memoryManager;
48
- private coreHandle;
49
- private characterHandle;
50
- private animationHandle;
51
- private totalFrames;
52
- private isInitialized;
53
- private isCharacterLoaded;
54
- private api;
55
- private performanceMetrics;
56
- wasmTime: number;
57
- private errorCodes;
58
- private flameInfo?;
59
- private characterInfo?;
60
- constructor(options?: AvatarCoreOptions);
61
- /**
62
- * 加载 WASM 模块并设置 API
63
- * 每次都创建全新的 WASM 实例,确保 C++ 内存是干净的
64
- *
65
- * 注意:这里使用动态 import() 导入 WASM 模块。
66
- * Vite 在构建时会自动为 WASM 文件和 JS glue 代码添加 hash(如 avatar_core_wasm-CxWuw7eS.wasm),
67
- * 确保浏览器缓存与版本一致,不会有缓存问题。
68
- *
69
- * Hash 的作用机制:
70
- * - WASM 文件内容变化 → hash 自动变化 → URL 变化 → 浏览器拉取新版本
71
- * - WASM 文件内容不变 → hash 保持不变 → URL 不变 → 浏览器使用缓存
72
- * - Emscripten 生成的 JS 内部会使用 hard-coded 的 hash 路径加载 .wasm 文件
73
- */
74
- loadWASMModule(): Promise<void>;
75
- /**
76
- * 验证 WASM 模块功能
77
- */
78
- private validateWASMModule;
79
- /**
80
- * 初始化内存视图
81
- */
82
- private initializeMemoryViews;
83
- /**
84
- * 设置 C API 函数包装
85
- */
86
- private setupCAPIFunctions;
87
- /**
88
- * 读取当前动画帧的 FlameParams(用于过渡或调试)
89
- */
90
- getCurrentFrameParams(frameIndex?: number): Promise<FlameParams>;
91
- /**
92
- * 初始化 Avatar Core 核心
93
- */
94
- private initializeAvatarCore;
95
- /**
96
- * 加载模板资源(从预加载的 ArrayBuffers)
97
- */
98
- loadTemplateResourcesFromBuffers(templateResources: Record<string, ArrayBuffer>): Promise<boolean>;
99
- /**
100
- * 加载角色数据(从预加载的 ArrayBuffers)
101
- */
102
- loadCharacterFromBuffers(shapeBuffer: ArrayBuffer, pointCloudBuffer: ArrayBuffer): Promise<boolean>;
103
- private loadAnimationFromData;
104
- /**
105
- * Load animation from ArrayBuffer (for CDN-based dynamic loading)
106
- */
107
- loadAnimationFromBuffer(animData: ArrayBuffer): Promise<number>;
108
- switchAnimationFile(animationFile: string): Promise<number>;
109
- /**
110
- * 获取动画总帧数
111
- */
112
- getAnimationTotalFrames(): Promise<number>;
113
- /**
114
- * 从动画中获取指定帧的参数
115
- */
116
- getAnimationFrameParams(frameIndex?: number): Promise<number>;
117
- /**
118
- * 设置眼部追踪配置(对齐 app 实现)
119
- */
120
- setEyeTrackingConfig(config: {
121
- enabled: boolean;
122
- auto_eyelid_adjustment?: boolean;
123
- eyelid_threshold?: number;
124
- }): Promise<boolean>;
125
- /**
126
- * 设置眼部追踪目标(高级功能)
127
- */
128
- setGazeTarget(x: number, y: number, z: number): Promise<boolean>;
129
- /**
130
- * 重置眼部追踪
131
- */
132
- resetEyeTracking(): Promise<boolean>;
133
- /**
134
- * 查询 FLAME 模型信息
135
- */
136
- private queryFlameInfo;
137
- /**
138
- * 查询角色信息
139
- */
140
- private queryCharacterInfo;
141
- /**
142
- * 检查错误码并抛出异常
143
- */
144
- private checkError;
145
- /**
146
- * 更新进度回调
147
- */
148
- private updateProgress;
149
- /**
150
- * 获取性能指标
151
- */
152
- getPerformanceMetrics(): PerformanceMetrics & {
153
- memoryStats?: ReturnType<AvatarCoreMemoryManager['getMemoryStats']>;
154
- flameInfo?: FlameInfo;
155
- characterInfo?: CharacterInfo;
156
- version?: string;
157
- };
158
- /**
159
- * 释放当前角色和动画资源(但保留 core)
160
- */
161
- releaseCurrentCharacter(): void;
162
- /**
163
- * 释放所有资源(包括 core)
164
- */
165
- release(): void;
166
- /**
167
- * 兼容性接口:提供与 FlameComplete3DGSManager 相同的接口
168
- */
169
- loadFlameModel(_modelData: any): Promise<boolean>;
170
- load3DGSData(_original3DGSPoints: any, _binding: any, _flameFaces: any): Promise<boolean>;
171
- /**
172
- * 计算帧并返回 GPU 友好的 flat 格式(零拷贝,协方差预计算)
173
- * 🚀 性能优化版本:
174
- * - C++ 预计算协方差矩阵
175
- * - 零拷贝直接访问 WASM 内存http://localhost:3000/us/
176
- * - 直接输出 GPU 格式 [pos3, color4, cov6]
177
- */
178
- computeCompleteFrameFlat(params?: {
179
- frameIndex?: number;
180
- }): Promise<Float32Array | null>;
181
- /**
182
- * 计算帧并返回 GPU 友好的 flat 格式(从 FLAME 参数)
183
- * 🔑 用于 Realtime: 接受自定义 FLAME 参数并计算 Splat
184
- */
185
- computeFrameFlatFromParams(flameParams: FlameParams): Promise<Float32Array | null>;
186
- }
187
- export {};
188
- //# sourceMappingURL=avatarCoreAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avatarCoreAdapter.d.ts","sourceRoot":"","sources":["../../wasm/avatarCoreAdapter.ts"],"names":[],"mappings":"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"}