diff --git a/package-lock.json b/package-lock.json index b9bc50f..6b68eae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -66,7 +66,7 @@ "peerDependencies": { "@contentful/rich-text-react-renderer": "^16.0.0", "@dcl/hooks": "^1.2.1", - "@dcl/schemas": "^25.1.0", + "@dcl/schemas": "^25.3.0", "@dcl/ui-env": "^2.0.0", "lottie-react": "^2.4.0", "react": "^18.2.0", @@ -2320,9 +2320,9 @@ } }, "node_modules/@dcl/schemas": { - "version": "25.1.0", - "resolved": "https://registry.npmjs.org/@dcl/schemas/-/schemas-25.1.0.tgz", - "integrity": "sha512-798xh6pDX9ErWgg/6enUEkAp/qrAgBJMY3sHSm8qN6NQOx/iuxIaporUO9Atvylt3npkZEl0GbJPupu5+MGmlA==", + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/@dcl/schemas/-/schemas-25.3.0.tgz", + "integrity": "sha512-ChFW3jU3ELN6YsRvs8TZIueBR8/DDxFcWPOeCoPafjLzSRK4GX9wHYrD3Crent07C3i3tm1rX8L/2rw+S39bzQ==", "license": "Apache-2.0", "peer": true, "dependencies": { diff --git a/package.json b/package.json index 8f235f6..b957db9 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "peerDependencies": { "@contentful/rich-text-react-renderer": "^16.0.0", "@dcl/hooks": "^1.2.1", - "@dcl/schemas": "^25.1.0", + "@dcl/schemas": "^25.3.0", "@dcl/ui-env": "^2.0.0", "lottie-react": "^2.4.0", "react": "^18.2.0", diff --git a/src/components/WearablePreview/WearablePreview.controller.ts b/src/components/WearablePreview/WearablePreview.controller.ts index 33451c2..5dc49db 100644 --- a/src/components/WearablePreview/WearablePreview.controller.ts +++ b/src/components/WearablePreview/WearablePreview.controller.ts @@ -1,6 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { EmoteEvents, IPreviewController, PreviewMessagePayload, PreviewMessageType, sendMessage } from '@dcl/schemas/dist/dapps/preview' import { SocialEmoteAnimation } from '@dcl/schemas/dist/dapps/preview/social-emote-animation' +import { SpringBoneParams } from '@dcl/schemas/dist/dapps/preview/spring-bone-params' import { Metrics } from '@dcl/schemas/dist/platform/item/metrics' import { IFuture, default as future } from 'fp-future' import mitt, { Emitter } from 'mitt' @@ -101,7 +102,7 @@ if (typeof window !== 'undefined') { let nonce = 0 function createSendRequest(id: string) { return function sendRequest( - namespace: 'scene' | 'emote', + namespace: keyof IPreviewController, method: | 'getScreenshot' | 'getMetrics' @@ -121,7 +122,8 @@ function createSendRequest(id: string) { | 'setUsername' | 'isSocialEmote' | 'getSocialEmoteAnimations' - | 'getPlayingSocialEmoteAnimation', + | 'getPlayingSocialEmoteAnimation' + | 'setSpringBonesParams', params: any[] ) { const iframe = document.getElementById(id) as HTMLIFrameElement @@ -246,6 +248,11 @@ function createController(id: string): IPreviewController { }, emote: null, events + }, + physics: { + setSpringBonesParams(itemHash: string, params: Record): Promise { + return sendRequest('physics', 'setSpringBonesParams', [itemHash, params]) + } } } }