@xmov/avatar 2.4.0 → 2.5.0-alpha.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.
Files changed (157) hide show
  1. package/README.md +34 -6
  2. package/package-dist/agent/avatar.cjs +1 -0
  3. package/package-dist/agent/avatar.modern.js +1 -0
  4. package/package-dist/agent/avatar.module.js +1 -0
  5. package/package-dist/agent/avatar.umd.js +1 -0
  6. package/package-dist/agent/index.d.ts +42 -0
  7. package/{dist/agent/types.d.ts → package-dist/agent/public-types.d.ts} +115 -116
  8. package/package-dist/index.cjs +3 -0
  9. package/package-dist/index.d.ts +34 -0
  10. package/package-dist/index.modern.js +1 -0
  11. package/package-dist/index.module.js +1 -0
  12. package/package-dist/index.umd.js +14 -0
  13. package/package-dist/public-types.d.ts +205 -0
  14. package/package.json +41 -33
  15. package/dist/agent/avatar.cjs +0 -1
  16. package/dist/agent/avatar.modern.js +0 -1
  17. package/dist/agent/avatar.module.js +0 -1
  18. package/dist/agent/avatar.umd.js +0 -1
  19. package/dist/agent/index.d.ts +0 -137
  20. package/dist/baseRender/AudioRenderer.d.ts +0 -46
  21. package/dist/baseRender/AudioWorklet.d.ts +0 -78
  22. package/dist/baseRender/AvatarRenderer.d.ts +0 -225
  23. package/dist/baseRender/MSEAudioPlayer.d.ts +0 -51
  24. package/dist/baseRender/UIRenderer.d.ts +0 -39
  25. package/dist/baseRender/pcm-audio-processor.d.ts +0 -63
  26. package/dist/control/APIForwarder.d.ts +0 -23
  27. package/dist/control/DataCacheQueue.d.ts +0 -69
  28. package/dist/control/EventDispatcher.d.ts +0 -35
  29. package/dist/control/RenderScheduler.d.ts +0 -171
  30. package/dist/control/SaveAndDownload.d.ts +0 -14
  31. package/dist/control/StreamingClient.d.ts +0 -33
  32. package/dist/control/VideoPlayer.d.ts +0 -47
  33. package/dist/control/ttsa.d.ts +0 -125
  34. package/dist/encoding/media-recorder-encoder.d.ts +0 -33
  35. package/dist/encoding/pcm-webm-encoder.d.ts +0 -13
  36. package/dist/encoding/webcodec-opus-encoder.d.ts +0 -41
  37. package/dist/encoding/webm-muxer.d.ts +0 -90
  38. package/dist/index.cjs +0 -2
  39. package/dist/index.cjs.map +0 -1
  40. package/dist/index.d.ts +0 -251
  41. package/dist/index.modern.js +0 -2
  42. package/dist/index.modern.js.map +0 -1
  43. package/dist/index.module.js +0 -2
  44. package/dist/index.module.js.map +0 -1
  45. package/dist/index.umd.js +0 -2
  46. package/dist/index.umd.js.map +0 -1
  47. package/dist/modules/Composition.d.ts +0 -28
  48. package/dist/modules/ResourceManager.d.ts +0 -299
  49. package/dist/modules/TrackRenderer/base-track.d.ts +0 -4
  50. package/dist/modules/TrackRenderer/index.d.ts +0 -12
  51. package/dist/modules/TrackRenderer/render-implements.d.ts +0 -19
  52. package/dist/modules/TrackRenderer/track-pic.d.ts +0 -8
  53. package/dist/modules/TrackRenderer/track-subtitle.d.ts +0 -8
  54. package/dist/modules/cache-manager.d.ts +0 -5
  55. package/dist/modules/decoder.d.ts +0 -84
  56. package/dist/modules/error-handle.d.ts +0 -17
  57. package/dist/modules/network.d.ts +0 -21
  58. package/dist/modules/sentry-reporter.d.ts +0 -58
  59. package/dist/proto/face_data_pb.d.ts +0 -0
  60. package/dist/types/capability.d.ts +0 -15
  61. package/dist/types/error.d.ts +0 -70
  62. package/dist/types/event.d.ts +0 -25
  63. package/dist/types/frame-data.d.ts +0 -107
  64. package/dist/types/index.d.ts +0 -196
  65. package/dist/types/render.d.ts +0 -18
  66. package/dist/utils/DataInterface.d.ts +0 -113
  67. package/dist/utils/GLDevice.d.ts +0 -46
  68. package/dist/utils/GLPipeline.d.ts +0 -84
  69. package/dist/utils/GLPipelineDebugTools.d.ts +0 -5
  70. package/dist/utils/Math.d.ts +0 -21
  71. package/dist/utils/__tests__/capability-checker.test.d.ts +0 -1
  72. package/dist/utils/audio-session.d.ts +0 -11
  73. package/dist/utils/audio.d.ts +0 -1
  74. package/dist/utils/capability-checker.d.ts +0 -28
  75. package/dist/utils/encodeToken.d.ts +0 -14
  76. package/dist/utils/face.d.ts +0 -1
  77. package/dist/utils/float32-decoder.d.ts +0 -26
  78. package/dist/utils/fpsTracker.d.ts +0 -27
  79. package/dist/utils/index.d.ts +0 -22
  80. package/dist/utils/logger.d.ts +0 -9
  81. package/dist/utils/media-recorder-timestamp.d.ts +0 -15
  82. package/dist/utils/pcmAnalyzer.d.ts +0 -40
  83. package/dist/utils/perfermance.d.ts +0 -15
  84. package/dist/utils/request.d.ts +0 -20
  85. package/dist/utils/requestAnimateFrames.d.ts +0 -31
  86. package/dist/utils/time.d.ts +0 -9
  87. package/dist/utils/video-probe-asset.d.ts +0 -28
  88. package/dist/view/DebugOverlay.d.ts +0 -54
  89. package/dist/worker/streaming-video.d.ts +0 -1
  90. package/src/baseRender/AudioRenderer.ts +0 -328
  91. package/src/baseRender/AudioWorklet.ts +0 -776
  92. package/src/baseRender/AvatarRenderer.ts +0 -1550
  93. package/src/baseRender/MSEAudioPlayer.ts +0 -254
  94. package/src/baseRender/UIRenderer.ts +0 -195
  95. package/src/baseRender/pcm-audio-processor.js +0 -267
  96. package/src/control/APIForwarder.ts +0 -67
  97. package/src/control/DataCacheQueue.ts +0 -372
  98. package/src/control/EventDispatcher.ts +0 -106
  99. package/src/control/RenderScheduler.ts +0 -1000
  100. package/src/control/SaveAndDownload.js +0 -77
  101. package/src/control/StreamingClient.ts +0 -138
  102. package/src/control/VideoPlayer.ts +0 -306
  103. package/src/control/ttsa.ts +0 -754
  104. package/src/encoding/media-recorder-encoder.ts +0 -175
  105. package/src/encoding/pcm-webm-encoder.ts +0 -72
  106. package/src/encoding/webcodec-opus-encoder.ts +0 -258
  107. package/src/encoding/webm-muxer.ts +0 -337
  108. package/src/global.d.ts +0 -112
  109. package/src/index.ts +0 -2053
  110. package/src/modules/Composition.ts +0 -79
  111. package/src/modules/ResourceManager.ts +0 -926
  112. package/src/modules/TrackRenderer/base-track.ts +0 -7
  113. package/src/modules/TrackRenderer/index.ts +0 -40
  114. package/src/modules/TrackRenderer/render-implements.ts +0 -269
  115. package/src/modules/TrackRenderer/track-pic.ts +0 -19
  116. package/src/modules/TrackRenderer/track-subtitle.ts +0 -16
  117. package/src/modules/cache-manager.ts +0 -10
  118. package/src/modules/decoder.ts +0 -548
  119. package/src/modules/error-handle.ts +0 -20
  120. package/src/modules/network.ts +0 -71
  121. package/src/modules/sentry-reporter.ts +0 -171
  122. package/src/proto/face_data.proto +0 -45
  123. package/src/proto/face_data_pb.js +0 -1297
  124. package/src/proto/protobuf.min.js +0 -8
  125. package/src/types/capability.ts +0 -24
  126. package/src/types/error.ts +0 -211
  127. package/src/types/event.ts +0 -38
  128. package/src/types/frame-data.ts +0 -121
  129. package/src/types/index.ts +0 -220
  130. package/src/types/render.ts +0 -18
  131. package/src/utils/DataInterface.ts +0 -746
  132. package/src/utils/GLDevice.ts +0 -286
  133. package/src/utils/GLPipeline.ts +0 -1293
  134. package/src/utils/GLPipelineDebugTools.ts +0 -174
  135. package/src/utils/Math.ts +0 -266
  136. package/src/utils/__tests__/capability-checker.test.ts +0 -159
  137. package/src/utils/audio-session.ts +0 -144
  138. package/src/utils/audio.ts +0 -44
  139. package/src/utils/blueimp-md5.d.ts +0 -3
  140. package/src/utils/capability-checker.ts +0 -762
  141. package/src/utils/encodeToken.ts +0 -115
  142. package/src/utils/face.ts +0 -29
  143. package/src/utils/float32-decoder.js +0 -130
  144. package/src/utils/fpsTracker.ts +0 -100
  145. package/src/utils/index.ts +0 -182
  146. package/src/utils/logger.js +0 -36
  147. package/src/utils/media-recorder-timestamp.ts +0 -79
  148. package/src/utils/pcmAnalyzer.ts +0 -154
  149. package/src/utils/perfermance.ts +0 -141
  150. package/src/utils/request.ts +0 -107
  151. package/src/utils/requestAnimateFrames.ts +0 -195
  152. package/src/utils/time.ts +0 -32
  153. package/src/utils/video-probe-asset.ts +0 -99
  154. package/src/view/DebugOverlay.ts +0 -409
  155. package/src/worker/streaming-video.ts +0 -4647
  156. /package/{dist → package-dist}/agent/index.cjs +0 -0
  157. /package/{dist → package-dist}/agent/index.umd.js +0 -0
@@ -1,171 +0,0 @@
1
- import {
2
- BrowserClient,
3
- defaultStackParser,
4
- getDefaultIntegrations,
5
- makeFetchTransport,
6
- Scope,
7
- browserTracingIntegration,
8
- startSpan,
9
- startInactiveSpan,
10
- } from '@sentry/browser';
11
-
12
- import type { SDKError } from 'types/error';
13
-
14
- /** 渲染噪音 / 数据过期等高频低危错误码,直接过滤不上报 */
15
- const NOISE_ERROR_CODES = ['3205', '3206', '3305', '30005'];
16
-
17
- export interface SentryReporterOptions {
18
- /** Traces 采样率,默认 1.0(100% 全量) */
19
- tracesSampleRate?: number;
20
- }
21
-
22
- /** span 附加属性(兼容 Sentry SpanAttributeValue 的标量子集) */
23
- type SpanData = Record<string, string | number | boolean | undefined>;
24
-
25
- /**
26
- * Sentry 错误上报器(隔离实例)
27
- *
28
- * 使用独立的 BrowserClient + Scope,不污染宿主应用的全局 Sentry 状态。
29
- * 此文件仅在公有云构建(ENABLE_SENTRY=true)时被打包,
30
- * 私有化构建时通过编译时常量 + 死代码消除完全移除。
31
- */
32
- export class SentryReporter {
33
- private client: BrowserClient;
34
- private scope: Scope;
35
- private tracesSampleRate: number;
36
-
37
- constructor(dsn: string, options: SentryReporterOptions = {}) {
38
- this.tracesSampleRate = options.tracesSampleRate ?? 1.0;
39
-
40
- // 过滤掉依赖全局状态的集成,避免与宿主应用的 Sentry 实例冲突
41
- const integrations = getDefaultIntegrations({}).filter(
42
- (i) =>
43
- ![
44
- 'BrowserApiErrors',
45
- 'BrowserSession',
46
- 'Breadcrumbs',
47
- 'GlobalHandlers',
48
- 'FunctionToString',
49
- 'Dedupe',
50
- ].includes(i.name),
51
- );
52
-
53
- // 显式加入 BrowserTracing(getDefaultIntegrations 未包含),
54
- // 关闭页面加载/导航/请求自动追踪,只保留手动 startSpan 埋点,避免噪音 span
55
- integrations.push(
56
- browserTracingIntegration({
57
- instrumentPageLoad: false,
58
- instrumentNavigation: false,
59
- traceFetch: false,
60
- traceXHR: false,
61
- }),
62
- );
63
-
64
- this.client = new BrowserClient({
65
- dsn,
66
- transport: makeFetchTransport,
67
- stackParser: defaultStackParser,
68
- integrations,
69
- release: `xmov-avatar@${VERSION}`,
70
- tracesSampleRate: this.tracesSampleRate,
71
- beforeSend(event) {
72
- // ① 白名单:仅上报 SDK 自身错误(source 标签由 scope 打标),过滤宿主页面异常
73
- if (event.tags?.source !== 'xmov-avatar-sdk') {
74
- return null;
75
- }
76
- // ② 噪音码过滤:高频渲染噪音 / 数据过期类,避免事件量过大
77
- const errorCode = String(event.tags?.error_code ?? '');
78
- if (NOISE_ERROR_CODES.includes(errorCode)) {
79
- return null;
80
- }
81
- // ③ 指纹去重:按「错误码 + 消息前缀」合并,同码同消息收敛为一个 Issue
82
- event.fingerprint = [
83
- errorCode || 'unknown',
84
- String(event.message ?? '').slice(0, 64),
85
- ];
86
- // ④ 上下文补全:浏览器/UA(app_id / session_id 等已在 scope 打标)
87
- event.contexts = {
88
- ...(event.contexts ?? {}),
89
- browser: { name: navigator.userAgent.slice(0, 200) },
90
- };
91
- return event;
92
- },
93
- });
94
-
95
- this.scope = new Scope();
96
- this.scope.setClient(this.client);
97
- this.scope.setTag('sdk_version', VERSION);
98
- this.scope.setTag('source', 'xmov-avatar-sdk');
99
- this.client.init();
100
- }
101
-
102
- /**
103
- * 上报 SDK 错误
104
- */
105
- captureError(error: SDKError): void {
106
- // 在隔离 scope 上设置本次错误的标签和上下文
107
- this.scope.setTag('error_code', String(error.error_code));
108
- this.scope.setTag('error_name', error.error_name);
109
- this.scope.setTag('session_id', error.session_id);
110
- this.scope.setExtra('code', error.code);
111
- this.scope.setExtra('client_speak_id', error.client_speak_id);
112
- this.scope.setExtra('timestamp', error.timestamp);
113
- if (error.originalError) {
114
- this.scope.setExtra('originalError', error.originalError);
115
- }
116
- this.scope.captureException(new Error(error.message));
117
- }
118
-
119
- /**
120
- * 在隔离 scope 上启动一个 span 并执行回调,回调返回时自动结束。
121
- * 异常时 span 自动标记 error(由 startSpan 内部处理),span 数据发往本实例的 DSN。
122
- */
123
- startSpan<T>(name: string, ctx: { op?: string; data?: SpanData }, fn: () => T): T {
124
- return startSpan(
125
- {
126
- name,
127
- op: ctx.op,
128
- scope: this.scope,
129
- attributes: ctx.data,
130
- },
131
- () => fn(),
132
- );
133
- }
134
-
135
- /**
136
- * 启动一个手动管理生命周期的 span(跨回调/异步时用),
137
- * 返回的句柄在操作完成时调用 end() 结束 span。
138
- */
139
- startInactiveSpan(name: string, ctx: { op?: string; data?: SpanData }): { end(): void } {
140
- const span = startInactiveSpan({
141
- name,
142
- op: ctx.op,
143
- scope: this.scope,
144
- attributes: ctx.data,
145
- });
146
- return {
147
- end: () => span?.end(),
148
- };
149
- }
150
-
151
- /**
152
- * 设置全局标签
153
- */
154
- setTag(key: string, value: string): void {
155
- this.scope.setTag(key, value);
156
- }
157
-
158
- /**
159
- * 设置用户信息
160
- */
161
- setUser(user: { id?: string; ip_address?: string }): void {
162
- this.scope.setUser(user);
163
- }
164
-
165
- /**
166
- * 销毁 Sentry 客户端,flush 未发送的事件
167
- */
168
- async destroy(): Promise<void> {
169
- await this.client.close(2000);
170
- }
171
- }
@@ -1,45 +0,0 @@
1
- syntax = "proto3";
2
-
3
- message MeshData {
4
- int32 index = 1;
5
- repeated float weights = 2 [deprecated = true];
6
- }
7
-
8
- message JointData {
9
- repeated float translate = 1;
10
- bytes rotate = 2 [deprecated = true];
11
- }
12
-
13
- message FaceFrameData {
14
- int32 id = 1;
15
- string s = 2;
16
- int32 sf = 3;
17
- int32 ef = 4;
18
-
19
- bytes bsw = 5;
20
-
21
- // v1 废弃字段
22
- // repeated repeated float movable_joint_transforms = 6 [deprecated = true];
23
- // int32 head_texture_model_index = 7 [deprecated = true];
24
- // repeated float head_texture_pca_weights = 8 [deprecated = true];
25
- // int32 teeth_texture_model_index = 9 [deprecated = true];
26
- // repeated float teeth_texture_pca_weights = 10 [deprecated = true];
27
-
28
-
29
- // v2
30
- bytes cs = 11;
31
- repeated JointData js = 12;
32
- repeated MeshData ms = 13;
33
-
34
- int32 body_id = 14;
35
- int32 face_frame_type = 15;
36
-
37
- // 机器人表情块字段
38
- int32 asf = 16;
39
- int32 aef = 17;
40
- string n = 18;
41
- }
42
-
43
- message FaceFrameDataList {
44
- repeated FaceFrameData data = 1;
45
- }