@spatialwalk/avatarkit 1.0.0-beta.64 → 1.0.0-beta.66
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/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.0.0-beta.66] - 2026-01-14
|
|
6
|
+
|
|
7
|
+
### 🔧 Improvements
|
|
8
|
+
- **Template Cache Version Update** - Updated template resource cache version from 1.0.0 to 1.0.1 to invalidate old cache after WASM module update
|
|
9
|
+
- Ensures users get updated template resources compatible with the new WASM module
|
|
10
|
+
- Fixes "offset is out of bounds" errors caused by incompatible cached template resources
|
|
11
|
+
|
|
12
|
+
## [1.0.0-beta.65] - 2026-01-14
|
|
13
|
+
|
|
14
|
+
### 🐛 Bugfixes
|
|
15
|
+
- **Transition Frame Reset Logic** - Fixed issue where `currentPlayingFrame` was not reset after generating transitions, causing jump artifacts on second conversation
|
|
16
|
+
- Reset `currentPlayingFrame` to `null` after generating idle->speaking transitions
|
|
17
|
+
- Reset `currentPlayingFrame` to `null` after generating speaking->idle transitions
|
|
18
|
+
- Reset `currentPlayingFrame` to `null` when entering Idle state
|
|
19
|
+
- Ensures each transition starts from the correct current frame by re-fetching the current state frame when needed
|
|
20
|
+
|
|
21
|
+
### 🔧 Improvements
|
|
22
|
+
- **Template Cache Version Update** - Updated template resource cache version from 1.0.0 to 1.0.1 to invalidate old cache after WASM module update
|
|
23
|
+
- Ensures users get updated template resources compatible with the new WASM module
|
|
24
|
+
- Fixes "offset is out of bounds" errors caused by incompatible cached template resources
|
|
25
|
+
|
|
5
26
|
## [1.0.0-beta.64] - 2026-01-14
|
|
6
27
|
|
|
7
28
|
### ✨ New Features
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import { A as APP_CONFIG, l as logger, e as errorToMessage, a as logEvent } from "./index-
|
|
4
|
+
import { A as APP_CONFIG, l as logger, e as errorToMessage, a as logEvent } from "./index-zj_wtoEC.js";
|
|
5
5
|
class StreamingAudioPlayer {
|
|
6
6
|
constructor(options) {
|
|
7
7
|
__publicField(this, "audioContext", null);
|
|
@@ -7624,7 +7624,7 @@ const _AnimationPlayer = class _AnimationPlayer {
|
|
|
7624
7624
|
if (this.streamingPlayer) {
|
|
7625
7625
|
return;
|
|
7626
7626
|
}
|
|
7627
|
-
const { StreamingAudioPlayer } = await import("./StreamingAudioPlayer-
|
|
7627
|
+
const { StreamingAudioPlayer } = await import("./StreamingAudioPlayer-Dm6v2zbj.js");
|
|
7628
7628
|
const { AvatarSDK: AvatarSDK2 } = await Promise.resolve().then(() => AvatarSDK$1);
|
|
7629
7629
|
const audioFormat = AvatarSDK2.getAudioFormat();
|
|
7630
7630
|
this.streamingPlayer = new StreamingAudioPlayer({
|
|
@@ -8961,7 +8961,7 @@ class AvatarSDK {
|
|
|
8961
8961
|
}
|
|
8962
8962
|
__publicField(AvatarSDK, "_isInitialized", false);
|
|
8963
8963
|
__publicField(AvatarSDK, "_configuration", null);
|
|
8964
|
-
__publicField(AvatarSDK, "_version", "1.0.0-beta.
|
|
8964
|
+
__publicField(AvatarSDK, "_version", "1.0.0-beta.66");
|
|
8965
8965
|
__publicField(AvatarSDK, "_avatarCore", null);
|
|
8966
8966
|
__publicField(AvatarSDK, "_dynamicSdkConfig", null);
|
|
8967
8967
|
const AvatarSDK$1 = Object.freeze(Object.defineProperty({
|
|
@@ -11841,7 +11841,7 @@ const _PwaCacheManager = class _PwaCacheManager {
|
|
|
11841
11841
|
}
|
|
11842
11842
|
}
|
|
11843
11843
|
};
|
|
11844
|
-
__publicField(_PwaCacheManager, "TEMPLATE_RESOURCE_VERSION", "1.0.
|
|
11844
|
+
__publicField(_PwaCacheManager, "TEMPLATE_RESOURCE_VERSION", "1.0.1");
|
|
11845
11845
|
__publicField(_PwaCacheManager, "TEMPLATE_CACHE_NAME", `spatialwalk-sdk-template-cache-${_PwaCacheManager.TEMPLATE_RESOURCE_VERSION}`);
|
|
11846
11846
|
__publicField(_PwaCacheManager, "TEMPLATE_VERSION_STORAGE_KEY", "spatialwalk-sdk-template-cache-version");
|
|
11847
11847
|
__publicField(_PwaCacheManager, "CHARACTER_CACHE_PREFIX", "spatialwalk-sdk-character-");
|
|
@@ -14520,6 +14520,7 @@ class AvatarView {
|
|
|
14520
14520
|
this.lastRealtimeProtoFrame = null;
|
|
14521
14521
|
this.transitionKeyframes = [];
|
|
14522
14522
|
this.transitionStartTime = 0;
|
|
14523
|
+
this.currentPlayingFrame = null;
|
|
14523
14524
|
}
|
|
14524
14525
|
}
|
|
14525
14526
|
get isRealtimePlaying() {
|
|
@@ -14604,6 +14605,7 @@ class AvatarView {
|
|
|
14604
14605
|
const firstSpeakingWithPostProcessing = this.avatarController.applyPostProcessingToFlame(firstSpeaking);
|
|
14605
14606
|
this.transitionKeyframes = this.generateAndAlignTransitionFrames(fromFrame, firstSpeakingWithPostProcessing, this.startTransitionDurationMs, true);
|
|
14606
14607
|
this.transitionStartTime = performance.now();
|
|
14608
|
+
this.currentPlayingFrame = null;
|
|
14607
14609
|
if (this.transitionKeyframes.length === 0) {
|
|
14608
14610
|
this.setState("speaking");
|
|
14609
14611
|
this.avatarController.onTransitionComplete();
|
|
@@ -14681,6 +14683,7 @@ class AvatarView {
|
|
|
14681
14683
|
if (idleFirstProto) {
|
|
14682
14684
|
this.transitionKeyframes = this.generateAndAlignTransitionFrames(fromFrameWithPostProcessing, idleFirstProto, this.endTransitionDurationMs);
|
|
14683
14685
|
this.transitionStartTime = performance.now();
|
|
14686
|
+
this.currentPlayingFrame = null;
|
|
14684
14687
|
if (this.transitionKeyframes.length > 0 && this.renderingState === "transitioningToIdle") {
|
|
14685
14688
|
if (APP_CONFIG.debug)
|
|
14686
14689
|
logger.log("[AvatarView] Return transition started:", this.transitionKeyframes.length, "frames");
|
package/dist/index.js
CHANGED
package/package.json
CHANGED