From 90f5538f2393d0afb51b07208c222d454b1fdd13 Mon Sep 17 00:00:00 2001 From: Juan Cazala Date: Thu, 5 Oct 2023 17:16:49 -0300 Subject: [PATCH] feat: attach/detach, loop animation, stop animation/sound (#770) * feat: attach/detach, loop animation, stop animation/sound * feat: upgrade @dcl/asset-packs --- packages/@dcl/inspector/package-lock.json | 467 +++++++++--------- packages/@dcl/inspector/package.json | 2 +- .../ActionInspector/ActionInspector.tsx | 78 +-- .../PlayAnimationAction.css | 11 + .../PlayAnimationAction.tsx | 78 +++ .../PlayAnimationAction/index.ts | 2 + .../PlayAnimationAction/types.ts | 8 + .../PlayAnimationAction/utils.ts | 7 + .../PlaySoundAction/PlaySoundAction.tsx | 4 +- .../ActionInspector/TweenAction/utils.ts | 2 +- .../src/lib/sdk/operations/add-asset.ts | 28 +- 11 files changed, 395 insertions(+), 292 deletions(-) create mode 100644 packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/PlayAnimationAction.css create mode 100644 packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/PlayAnimationAction.tsx create mode 100644 packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/index.ts create mode 100644 packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/types.ts create mode 100644 packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/utils.ts diff --git a/packages/@dcl/inspector/package-lock.json b/packages/@dcl/inspector/package-lock.json index f532da763..f94153a9f 100644 --- a/packages/@dcl/inspector/package-lock.json +++ b/packages/@dcl/inspector/package-lock.json @@ -13,7 +13,7 @@ "@babylonjs/inspector": "^6.18.0", "@babylonjs/loaders": "^6.18.0", "@babylonjs/materials": "^6.18.0", - "@dcl/asset-packs": "^0.0.0-20231004215238.commit-830aa6e", + "@dcl/asset-packs": "^0.0.0-20231005184607.commit-bcc54dd", "@dcl/ecs": "file:../ecs", "@dcl/ecs-math": "2.0.2", "@dcl/mini-rpc": "^1.0.7", @@ -279,20 +279,20 @@ "dev": true }, "node_modules/@dcl/asset-packs": { - "version": "0.0.0-20231004215238.commit-830aa6e", - "resolved": "https://registry.npmjs.org/@dcl/asset-packs/-/asset-packs-0.0.0-20231004215238.commit-830aa6e.tgz", - "integrity": "sha512-O948uojx+W5gBBxFeDqczNleWabw7LHa4GNlYeRM/zpET7UEQG0/tFAo3vN0AvC+z5sR4XHWTyJ69My7jhDq1g==", + "version": "0.0.0-20231005184607.commit-bcc54dd", + "resolved": "https://registry.npmjs.org/@dcl/asset-packs/-/asset-packs-0.0.0-20231005184607.commit-bcc54dd.tgz", + "integrity": "sha512-+e1i/Syp/+pKCh09qkkgqqwUuP+kcDuPGDzz1c4Lpj6Bvqu+E4gBvtUM4HfCTx3xxEuNJt+ZzPLbByBNpOEGhg==", "dev": true, "dependencies": { "@dcl-sdk/utils": "^1.1.3", - "@dcl/sdk": "^7.3.12", + "@dcl/sdk": "^7.3.18", "mitt": "^3.0.1" } }, "node_modules/@dcl/catalyst-contracts": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@dcl/catalyst-contracts/-/catalyst-contracts-4.1.0.tgz", - "integrity": "sha512-WPs1RPKOfo8eVHV9JR5FdgTYNUro8+WdAd/BT/WWynsNBFUs/Togah9+s7EpnXb877md45caSbl8sGacIW4AEQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@dcl/catalyst-contracts/-/catalyst-contracts-4.2.0.tgz", + "integrity": "sha512-4xRIlrXTrUIZEf/TmZY4xiF7ZC1ixJJvCwEct1Xtyt3hrqVpfetuuzgBfKOvsy4kUu2syJ3hI8QL/vPO5CigcA==", "dev": true }, "node_modules/@dcl/crypto": { @@ -307,9 +307,9 @@ } }, "node_modules/@dcl/crypto/node_modules/@dcl/schemas": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@dcl/schemas/-/schemas-9.5.0.tgz", - "integrity": "sha512-OIPRbItAF+qMAmUlVxoa/esO83LZ96oDTim/Fxfwj6LAmPfwtZsAPH22iAiYIP6i5XuLMS7PS13NLioHT8lQJg==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@dcl/schemas/-/schemas-9.7.0.tgz", + "integrity": "sha512-biebiK72leOhSBCSTPywnHl0vNpWmJX7dYSnk6UKzq08Ri15bs1S7s2Mxuxo6r15DnEvYgcqrfXeCwufJTFeqA==", "dev": true, "dependencies": { "ajv": "^8.11.0", @@ -328,33 +328,38 @@ "dev": true }, "node_modules/@dcl/explorer": { - "version": "1.0.141942-20230828173247.commit-e060db1", - "resolved": "https://registry.npmjs.org/@dcl/explorer/-/explorer-1.0.141942-20230828173247.commit-e060db1.tgz", - "integrity": "sha512-sRDMuDAzmQTALcxW6MflWIqBj1AbOagTCGqhnjPytPogrO0lKu6a+ok1LOlaH6ZzJxXuV/GVTZlsUF5ZBt2ZXA==", + "version": "1.0.148846-20231002132009.commit-60a8fe3", + "resolved": "https://registry.npmjs.org/@dcl/explorer/-/explorer-1.0.148846-20231002132009.commit-60a8fe3.tgz", + "integrity": "sha512-en65I+qBqfV7cvFE671qe9N9zu6ZZ8C5uqV6wVgsgd6ods9jaTx0cgd4s1FxGHTY2WYdBd1fHVNRlvcxHhKtmA==", "dev": true }, "node_modules/@dcl/hashing": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@dcl/hashing/-/hashing-3.0.4.tgz", - "integrity": "sha512-Cg+MoIOn+BYmQV2q8zSFnNYY+GldlnUazwBnfgrq3i66ZxOaZ65h01btd8OUtSAlfWG4VTNIOHDjtKqmuwJNBg==", - "dev": true + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@dcl/hashing/-/hashing-1.1.3.tgz", + "integrity": "sha512-mU1+Q8jcFLAR1hSBOd6WcnLwvQmKIPAH8+UPf2DZUk+Ntu7jWqSOqG+PoWRlh7/gPfI/gKofeW0a+HzVUK6N/g==", + "dev": true, + "dependencies": { + "ethereum-cryptography": "^1.0.3", + "ipfs-unixfs-importer": "^7.0.3", + "multiformats": "^9.6.3" + } }, "node_modules/@dcl/inspector": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/inspector/-/inspector-7.3.12.tgz", - "integrity": "sha512-QFtVp41kLmR28rNV+JC4X5SCATLHAQLYFgI0V6Ht0BG3jUjde47hdOQoGO0J9O7g+s5RX0sT7OB4RGhKtqzepw==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/inspector/-/inspector-7.3.18.tgz", + "integrity": "sha512-cPrORAjCqQExZyrW1wJWty6ONSEof7orILZ3wrCCewXHZ4ifV6UeXvHk/p4A+6XEys2n/QtXfVvv+c3GLde8Cw==", "dev": true }, "node_modules/@dcl/js-runtime": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/js-runtime/-/js-runtime-7.3.12.tgz", - "integrity": "sha512-fbBfPn6fC5KzCa1bZ/jVST/SJA1LzMu8JNUnc3dH1vNm3XnyzBIBlGAaV8LO3h8NwfGUVU1ML7V9nfqs1DxG4A==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/js-runtime/-/js-runtime-7.3.18.tgz", + "integrity": "sha512-kdcjyIdS2jgklZpFKGhy3PWecDpng9u7Goyn8ek4JLtBxYtD35F9yb5mSAflnayoyy8M2lQwRbW7gDZF8n7DYw==", "dev": true }, "node_modules/@dcl/linker-dapp": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@dcl/linker-dapp/-/linker-dapp-0.9.1.tgz", - "integrity": "sha512-Ji/dDrtHq1LVgkDG16kpe2ss/Ee2wKGLFmPaKAQF4TFg40LepSXnHQzPLhZVqzlNm2iyQxlkYStxJai+bMMSog==", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@dcl/linker-dapp/-/linker-dapp-0.11.0.tgz", + "integrity": "sha512-5iiQcS5mizxdZ7WKYqOFuaDtDhvOP1Cc92LEQjG60rbzxdP6gWZI3bjlROQukDX/TBplvUq7QsZTTuYtP+hS0g==", "dev": true }, "node_modules/@dcl/mini-comms": { @@ -399,29 +404,35 @@ } }, "node_modules/@dcl/protocol": { - "version": "1.0.0-5812097343.commit-8025576", - "resolved": "https://registry.npmjs.org/@dcl/protocol/-/protocol-1.0.0-5812097343.commit-8025576.tgz", - "integrity": "sha512-ZqgITIayuZVZYPlbuZhEiZt1DVo3a9TFmRDN0pJp3BB7ymg9X/7W/joxEsgP++dCtEJ3DZ1HjzlB0SEX2nyrmg==", + "version": "1.0.0-6314457636.commit-a9a962a", + "resolved": "https://registry.npmjs.org/@dcl/protocol/-/protocol-1.0.0-6314457636.commit-a9a962a.tgz", + "integrity": "sha512-XDUuJATEMRHXjkbhvK/j16iL+tK9vqUmpnGy1IyzfQphmxvk508DCU/EZWAN24E6z1pNjsSKphPoykxVDyUwFw==", "dev": true, "dependencies": { "@dcl/ts-proto": "1.154.0" } }, + "node_modules/@dcl/quests-manager": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@dcl/quests-manager/-/quests-manager-0.1.2.tgz", + "integrity": "sha512-4iSvVQdiR558XDcnUvQPvuGfaGa0CK2mRac8RnAQeW1k45JkOPWiVv8cv6LT6bF5IcuksK0LkQIVG252eF1VRw==", + "dev": true + }, "node_modules/@dcl/react-ecs": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/react-ecs/-/react-ecs-7.3.12.tgz", - "integrity": "sha512-CE/YSAiFUEL9whnpww7xlu1PY6o6Us5tSKMnQePUVf0MbfdHoIFGm/cxSYThe7T1WexOzSLJNuhuJQ5aJPSELA==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/react-ecs/-/react-ecs-7.3.18.tgz", + "integrity": "sha512-xL0FNSCnn1L/bOKfkowFPkstcp/RqJSmZ+atRLglgUGEb7+LLMg7AKxf/6FsccojZw+KJuvR0gS8V29xlZUHHQ==", "dev": true, "dependencies": { - "@dcl/ecs": "7.3.12", + "@dcl/ecs": "7.3.18", "react": "^18.2.0", "react-reconciler": "^0.29.0" } }, "node_modules/@dcl/react-ecs/node_modules/@dcl/ecs": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/ecs/-/ecs-7.3.12.tgz", - "integrity": "sha512-9/iM6ZrEmiF+qwBMeOEc837/OgONfaPRtkod/UGly3eo1N1qnTq1lQgobavfScjdPS1N/IBDzgw4e4aNBy7ySQ==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/ecs/-/ecs-7.3.18.tgz", + "integrity": "sha512-J3BOeAFwcYmwpOv2akphYUNq+rfwHTzEgU5/NENy3eQrsyU2TyQaiCWGQpdfOeKLyJIIpcBjKpzL3GM3Amf+Rg==", "dev": true }, "node_modules/@dcl/rpc": { @@ -445,31 +456,33 @@ } }, "node_modules/@dcl/sdk": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/sdk/-/sdk-7.3.12.tgz", - "integrity": "sha512-sUyEUC3O6p/pFufrMACEWkWionhzKnmG0VqPmStKtK6wy1elI566N6TXEtTUy6AIrMCh+n63rTwN4uvpJ4fBDg==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/sdk/-/sdk-7.3.18.tgz", + "integrity": "sha512-z9MoibCdNPjnqSVwWcT/8BZllU8QUX+ny3lsRipHVn6864JB8lF9qA5feKfxyCT16BK8Jn/obWGUe6mCEBKNEg==", "dev": true, "dependencies": { - "@dcl/ecs": "7.3.12", + "@dcl/ecs": "7.3.18", "@dcl/ecs-math": "2.0.2", - "@dcl/explorer": "1.0.141942-20230828173247.commit-e060db1", - "@dcl/js-runtime": "7.3.12", - "@dcl/react-ecs": "7.3.12", - "@dcl/sdk-commands": "7.3.12" + "@dcl/explorer": "1.0.148846-20231002132009.commit-60a8fe3", + "@dcl/js-runtime": "7.3.18", + "@dcl/react-ecs": "7.3.18", + "@dcl/sdk-commands": "7.3.18" } }, "node_modules/@dcl/sdk-commands": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/sdk-commands/-/sdk-commands-7.3.12.tgz", - "integrity": "sha512-Ctc7cvlshiPpqNbw35CsYvM3PPjwBZcj/hr2EmN98N333KHjQi4f7elUx8dZit3NG1yc6Zbi7YJPnOtr0OiGuQ==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/sdk-commands/-/sdk-commands-7.3.18.tgz", + "integrity": "sha512-4H+X3HxSBzkp2t+cKPAl1PbDvFpdgT+eGA/fKGLcukU68nC/lgFIg0ehs+2X5IS5IA/PnvMl78EWrIxBsPMlhg==", "dev": true, "dependencies": { - "@dcl/ecs": "7.3.12", + "@dcl/crypto": "^3.4.4", + "@dcl/ecs": "7.3.18", "@dcl/hashing": "1.1.3", - "@dcl/inspector": "7.3.12", - "@dcl/linker-dapp": "0.9.1", + "@dcl/inspector": "7.3.18", + "@dcl/linker-dapp": "^0.11.0", "@dcl/mini-comms": "1.0.1-20230216163137.commit-a4c75be", - "@dcl/protocol": "1.0.0-5812097343.commit-8025576", + "@dcl/protocol": "1.0.0-6314457636.commit-a9a962a", + "@dcl/quests-manager": "^0.1.2", "@dcl/rpc": "^1.1.1", "@dcl/schemas": "^8.2.3-20230718182824.commit-356025c", "@segment/analytics-node": "^1.0.0-beta.22", @@ -488,9 +501,10 @@ "fp-future": "^1.0.1", "glob": "^9.3.2", "ignore": "^5.2.4", - "node-fetch": "^2.6.8", + "node-fetch": "^2.7.0", "open": "^8.4.0", "portfinder": "^1.0.32", + "prompts": "^2.4.2", "typescript": "^5.0.2", "undici": "^5.19.1", "uuid": "^9.0.0" @@ -500,26 +514,15 @@ } }, "node_modules/@dcl/sdk-commands/node_modules/@dcl/ecs": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/ecs/-/ecs-7.3.12.tgz", - "integrity": "sha512-9/iM6ZrEmiF+qwBMeOEc837/OgONfaPRtkod/UGly3eo1N1qnTq1lQgobavfScjdPS1N/IBDzgw4e4aNBy7ySQ==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/ecs/-/ecs-7.3.18.tgz", + "integrity": "sha512-J3BOeAFwcYmwpOv2akphYUNq+rfwHTzEgU5/NENy3eQrsyU2TyQaiCWGQpdfOeKLyJIIpcBjKpzL3GM3Amf+Rg==", "dev": true }, - "node_modules/@dcl/sdk-commands/node_modules/@dcl/hashing": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@dcl/hashing/-/hashing-1.1.3.tgz", - "integrity": "sha512-mU1+Q8jcFLAR1hSBOd6WcnLwvQmKIPAH8+UPf2DZUk+Ntu7jWqSOqG+PoWRlh7/gPfI/gKofeW0a+HzVUK6N/g==", - "dev": true, - "dependencies": { - "ethereum-cryptography": "^1.0.3", - "ipfs-unixfs-importer": "^7.0.3", - "multiformats": "^9.6.3" - } - }, "node_modules/@dcl/sdk/node_modules/@dcl/ecs": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/ecs/-/ecs-7.3.12.tgz", - "integrity": "sha512-9/iM6ZrEmiF+qwBMeOEc837/OgONfaPRtkod/UGly3eo1N1qnTq1lQgobavfScjdPS1N/IBDzgw4e4aNBy7ySQ==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/ecs/-/ecs-7.3.18.tgz", + "integrity": "sha512-J3BOeAFwcYmwpOv2akphYUNq+rfwHTzEgU5/NENy3eQrsyU2TyQaiCWGQpdfOeKLyJIIpcBjKpzL3GM3Amf+Rg==", "dev": true }, "node_modules/@dcl/ts-proto": { @@ -947,6 +950,15 @@ "node": ">=12" } }, + "node_modules/@fastify/busboy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", + "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", + "dev": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@fluentui/react-component-event-listener": { "version": "0.63.1", "dev": true, @@ -1437,9 +1449,9 @@ } }, "node_modules/@segment/analytics-core": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.3.0.tgz", - "integrity": "sha512-ujScWZH49NK1hYlp2/EMw45nOPEh+pmTydAnR6gSkRNucZD4fuinvpPL03rmFCw8ibaMuKLAdgPJfQ0gkLKZ5A==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.3.1.tgz", + "integrity": "sha512-KGblJ8WQNC4t0j31zeyYBm2thHWuPULNAoP7waU5ts7Asz9ipvGoHqFSLG6warqvcnBdkiRbNam242zmxX53oA==", "dev": true, "dependencies": { "@lukeed/uuid": "^2.0.0", @@ -1454,13 +1466,13 @@ "dev": true }, "node_modules/@segment/analytics-node": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-1.1.0.tgz", - "integrity": "sha512-q8MPpvQJgMUSIRmQXficA33ZmLQ6s5YqUMr623xJhhfp/TGkkgfpcdMk+qSniZVIm8JuQRXm8Mbh922LG3goBQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-1.1.1.tgz", + "integrity": "sha512-YNn32SfD8KrxIBowLz3MVav0GzhGIbBRgAtjW4Kv57oHwgaJNSLEp/z/ypnu7vAqUjm9jAwAW9Wfc24ssZI49g==", "dev": true, "dependencies": { "@lukeed/uuid": "^2.0.0", - "@segment/analytics-core": "1.3.0", + "@segment/analytics-core": "1.3.1", "buffer": "^6.0.3", "node-fetch": "^2.6.7", "tslib": "^2.4.1" @@ -1694,9 +1706,9 @@ } }, "node_modules/@types/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", + "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==", "dev": true }, "node_modules/@types/istanbul-lib-coverage": { @@ -1994,9 +2006,9 @@ "dev": true }, "node_modules/@types/ws": { - "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.6.tgz", + "integrity": "sha512-8B5EO9jLVCy+B58PLHvLDuOD8DRVMgQzq8d55SjLCOn9kqGyqOvy27exVaTio1q1nX5zLu8/6N0n2ThSxOM6tg==", "dev": true, "dependencies": { "@types/node": "*" @@ -2088,9 +2100,9 @@ } }, "node_modules/@well-known-components/interfaces/node_modules/@types/node": { - "version": "20.5.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.9.tgz", - "integrity": "sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ==", + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", + "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==", "dev": true }, "node_modules/@well-known-components/logger": { @@ -2554,18 +2566,6 @@ "node": "*" } }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dev": true, - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, "node_modules/call-bind": { "version": "1.0.2", "dev": true, @@ -3099,10 +3099,16 @@ "form-data": "^4.0.0" } }, + "node_modules/dcl-catalyst-client/node_modules/@dcl/hashing": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@dcl/hashing/-/hashing-3.0.4.tgz", + "integrity": "sha512-Cg+MoIOn+BYmQV2q8zSFnNYY+GldlnUazwBnfgrq3i66ZxOaZ65h01btd8OUtSAlfWG4VTNIOHDjtKqmuwJNBg==", + "dev": true + }, "node_modules/dcl-catalyst-client/node_modules/@dcl/schemas": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@dcl/schemas/-/schemas-9.5.0.tgz", - "integrity": "sha512-OIPRbItAF+qMAmUlVxoa/esO83LZ96oDTim/Fxfwj6LAmPfwtZsAPH22iAiYIP6i5XuLMS7PS13NLioHT8lQJg==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@dcl/schemas/-/schemas-9.7.0.tgz", + "integrity": "sha512-biebiK72leOhSBCSTPywnHl0vNpWmJX7dYSnk6UKzq08Ri15bs1S7s2Mxuxo6r15DnEvYgcqrfXeCwufJTFeqA==", "dev": true, "dependencies": { "ajv": "^8.11.0", @@ -5853,9 +5859,9 @@ } }, "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -7038,15 +7044,6 @@ "node": ">= 0.4" } }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -7424,12 +7421,12 @@ } }, "node_modules/undici": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.23.0.tgz", - "integrity": "sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg==", + "version": "5.25.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.25.4.tgz", + "integrity": "sha512-450yJxT29qKMf3aoudzFpIciqpx6Pji3hEWaXqXmanbXF58LTAGCKxcJjxMXWu3iG+Mudgo3ZUfDB6YDFd/dAw==", "dev": true, "dependencies": { - "busboy": "^1.6.0" + "@fastify/busboy": "^2.0.0" }, "engines": { "node": ">=14.0" @@ -7476,10 +7473,14 @@ "dev": true }, "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "bin": { "uuid": "dist/bin/uuid" } @@ -8041,20 +8042,20 @@ "dev": true }, "@dcl/asset-packs": { - "version": "0.0.0-20231004215238.commit-830aa6e", - "resolved": "https://registry.npmjs.org/@dcl/asset-packs/-/asset-packs-0.0.0-20231004215238.commit-830aa6e.tgz", - "integrity": "sha512-O948uojx+W5gBBxFeDqczNleWabw7LHa4GNlYeRM/zpET7UEQG0/tFAo3vN0AvC+z5sR4XHWTyJ69My7jhDq1g==", + "version": "0.0.0-20231005184607.commit-bcc54dd", + "resolved": "https://registry.npmjs.org/@dcl/asset-packs/-/asset-packs-0.0.0-20231005184607.commit-bcc54dd.tgz", + "integrity": "sha512-+e1i/Syp/+pKCh09qkkgqqwUuP+kcDuPGDzz1c4Lpj6Bvqu+E4gBvtUM4HfCTx3xxEuNJt+ZzPLbByBNpOEGhg==", "dev": true, "requires": { "@dcl-sdk/utils": "^1.1.3", - "@dcl/sdk": "^7.3.12", + "@dcl/sdk": "^7.3.18", "mitt": "^3.0.1" } }, "@dcl/catalyst-contracts": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@dcl/catalyst-contracts/-/catalyst-contracts-4.1.0.tgz", - "integrity": "sha512-WPs1RPKOfo8eVHV9JR5FdgTYNUro8+WdAd/BT/WWynsNBFUs/Togah9+s7EpnXb877md45caSbl8sGacIW4AEQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@dcl/catalyst-contracts/-/catalyst-contracts-4.2.0.tgz", + "integrity": "sha512-4xRIlrXTrUIZEf/TmZY4xiF7ZC1ixJJvCwEct1Xtyt3hrqVpfetuuzgBfKOvsy4kUu2syJ3hI8QL/vPO5CigcA==", "dev": true }, "@dcl/crypto": { @@ -8069,9 +8070,9 @@ }, "dependencies": { "@dcl/schemas": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@dcl/schemas/-/schemas-9.5.0.tgz", - "integrity": "sha512-OIPRbItAF+qMAmUlVxoa/esO83LZ96oDTim/Fxfwj6LAmPfwtZsAPH22iAiYIP6i5XuLMS7PS13NLioHT8lQJg==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@dcl/schemas/-/schemas-9.7.0.tgz", + "integrity": "sha512-biebiK72leOhSBCSTPywnHl0vNpWmJX7dYSnk6UKzq08Ri15bs1S7s2Mxuxo6r15DnEvYgcqrfXeCwufJTFeqA==", "dev": true, "requires": { "ajv": "^8.11.0", @@ -8091,33 +8092,38 @@ "dev": true }, "@dcl/explorer": { - "version": "1.0.141942-20230828173247.commit-e060db1", - "resolved": "https://registry.npmjs.org/@dcl/explorer/-/explorer-1.0.141942-20230828173247.commit-e060db1.tgz", - "integrity": "sha512-sRDMuDAzmQTALcxW6MflWIqBj1AbOagTCGqhnjPytPogrO0lKu6a+ok1LOlaH6ZzJxXuV/GVTZlsUF5ZBt2ZXA==", + "version": "1.0.148846-20231002132009.commit-60a8fe3", + "resolved": "https://registry.npmjs.org/@dcl/explorer/-/explorer-1.0.148846-20231002132009.commit-60a8fe3.tgz", + "integrity": "sha512-en65I+qBqfV7cvFE671qe9N9zu6ZZ8C5uqV6wVgsgd6ods9jaTx0cgd4s1FxGHTY2WYdBd1fHVNRlvcxHhKtmA==", "dev": true }, "@dcl/hashing": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@dcl/hashing/-/hashing-3.0.4.tgz", - "integrity": "sha512-Cg+MoIOn+BYmQV2q8zSFnNYY+GldlnUazwBnfgrq3i66ZxOaZ65h01btd8OUtSAlfWG4VTNIOHDjtKqmuwJNBg==", - "dev": true + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@dcl/hashing/-/hashing-1.1.3.tgz", + "integrity": "sha512-mU1+Q8jcFLAR1hSBOd6WcnLwvQmKIPAH8+UPf2DZUk+Ntu7jWqSOqG+PoWRlh7/gPfI/gKofeW0a+HzVUK6N/g==", + "dev": true, + "requires": { + "ethereum-cryptography": "^1.0.3", + "ipfs-unixfs-importer": "^7.0.3", + "multiformats": "^9.6.3" + } }, "@dcl/inspector": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/inspector/-/inspector-7.3.12.tgz", - "integrity": "sha512-QFtVp41kLmR28rNV+JC4X5SCATLHAQLYFgI0V6Ht0BG3jUjde47hdOQoGO0J9O7g+s5RX0sT7OB4RGhKtqzepw==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/inspector/-/inspector-7.3.18.tgz", + "integrity": "sha512-cPrORAjCqQExZyrW1wJWty6ONSEof7orILZ3wrCCewXHZ4ifV6UeXvHk/p4A+6XEys2n/QtXfVvv+c3GLde8Cw==", "dev": true }, "@dcl/js-runtime": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/js-runtime/-/js-runtime-7.3.12.tgz", - "integrity": "sha512-fbBfPn6fC5KzCa1bZ/jVST/SJA1LzMu8JNUnc3dH1vNm3XnyzBIBlGAaV8LO3h8NwfGUVU1ML7V9nfqs1DxG4A==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/js-runtime/-/js-runtime-7.3.18.tgz", + "integrity": "sha512-kdcjyIdS2jgklZpFKGhy3PWecDpng9u7Goyn8ek4JLtBxYtD35F9yb5mSAflnayoyy8M2lQwRbW7gDZF8n7DYw==", "dev": true }, "@dcl/linker-dapp": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@dcl/linker-dapp/-/linker-dapp-0.9.1.tgz", - "integrity": "sha512-Ji/dDrtHq1LVgkDG16kpe2ss/Ee2wKGLFmPaKAQF4TFg40LepSXnHQzPLhZVqzlNm2iyQxlkYStxJai+bMMSog==", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@dcl/linker-dapp/-/linker-dapp-0.11.0.tgz", + "integrity": "sha512-5iiQcS5mizxdZ7WKYqOFuaDtDhvOP1Cc92LEQjG60rbzxdP6gWZI3bjlROQukDX/TBplvUq7QsZTTuYtP+hS0g==", "dev": true }, "@dcl/mini-comms": { @@ -8164,29 +8170,35 @@ } }, "@dcl/protocol": { - "version": "1.0.0-5812097343.commit-8025576", - "resolved": "https://registry.npmjs.org/@dcl/protocol/-/protocol-1.0.0-5812097343.commit-8025576.tgz", - "integrity": "sha512-ZqgITIayuZVZYPlbuZhEiZt1DVo3a9TFmRDN0pJp3BB7ymg9X/7W/joxEsgP++dCtEJ3DZ1HjzlB0SEX2nyrmg==", + "version": "1.0.0-6314457636.commit-a9a962a", + "resolved": "https://registry.npmjs.org/@dcl/protocol/-/protocol-1.0.0-6314457636.commit-a9a962a.tgz", + "integrity": "sha512-XDUuJATEMRHXjkbhvK/j16iL+tK9vqUmpnGy1IyzfQphmxvk508DCU/EZWAN24E6z1pNjsSKphPoykxVDyUwFw==", "dev": true, "requires": { "@dcl/ts-proto": "1.154.0" } }, + "@dcl/quests-manager": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@dcl/quests-manager/-/quests-manager-0.1.2.tgz", + "integrity": "sha512-4iSvVQdiR558XDcnUvQPvuGfaGa0CK2mRac8RnAQeW1k45JkOPWiVv8cv6LT6bF5IcuksK0LkQIVG252eF1VRw==", + "dev": true + }, "@dcl/react-ecs": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/react-ecs/-/react-ecs-7.3.12.tgz", - "integrity": "sha512-CE/YSAiFUEL9whnpww7xlu1PY6o6Us5tSKMnQePUVf0MbfdHoIFGm/cxSYThe7T1WexOzSLJNuhuJQ5aJPSELA==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/react-ecs/-/react-ecs-7.3.18.tgz", + "integrity": "sha512-xL0FNSCnn1L/bOKfkowFPkstcp/RqJSmZ+atRLglgUGEb7+LLMg7AKxf/6FsccojZw+KJuvR0gS8V29xlZUHHQ==", "dev": true, "requires": { - "@dcl/ecs": "7.3.12", + "@dcl/ecs": "7.3.18", "react": "^18.2.0", "react-reconciler": "^0.29.0" }, "dependencies": { "@dcl/ecs": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/ecs/-/ecs-7.3.12.tgz", - "integrity": "sha512-9/iM6ZrEmiF+qwBMeOEc837/OgONfaPRtkod/UGly3eo1N1qnTq1lQgobavfScjdPS1N/IBDzgw4e4aNBy7ySQ==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/ecs/-/ecs-7.3.18.tgz", + "integrity": "sha512-J3BOeAFwcYmwpOv2akphYUNq+rfwHTzEgU5/NENy3eQrsyU2TyQaiCWGQpdfOeKLyJIIpcBjKpzL3GM3Amf+Rg==", "dev": true } } @@ -8211,39 +8223,41 @@ } }, "@dcl/sdk": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/sdk/-/sdk-7.3.12.tgz", - "integrity": "sha512-sUyEUC3O6p/pFufrMACEWkWionhzKnmG0VqPmStKtK6wy1elI566N6TXEtTUy6AIrMCh+n63rTwN4uvpJ4fBDg==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/sdk/-/sdk-7.3.18.tgz", + "integrity": "sha512-z9MoibCdNPjnqSVwWcT/8BZllU8QUX+ny3lsRipHVn6864JB8lF9qA5feKfxyCT16BK8Jn/obWGUe6mCEBKNEg==", "dev": true, "requires": { - "@dcl/ecs": "7.3.12", + "@dcl/ecs": "7.3.18", "@dcl/ecs-math": "2.0.2", - "@dcl/explorer": "1.0.141942-20230828173247.commit-e060db1", - "@dcl/js-runtime": "7.3.12", - "@dcl/react-ecs": "7.3.12", - "@dcl/sdk-commands": "7.3.12" + "@dcl/explorer": "1.0.148846-20231002132009.commit-60a8fe3", + "@dcl/js-runtime": "7.3.18", + "@dcl/react-ecs": "7.3.18", + "@dcl/sdk-commands": "7.3.18" }, "dependencies": { "@dcl/ecs": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/ecs/-/ecs-7.3.12.tgz", - "integrity": "sha512-9/iM6ZrEmiF+qwBMeOEc837/OgONfaPRtkod/UGly3eo1N1qnTq1lQgobavfScjdPS1N/IBDzgw4e4aNBy7ySQ==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/ecs/-/ecs-7.3.18.tgz", + "integrity": "sha512-J3BOeAFwcYmwpOv2akphYUNq+rfwHTzEgU5/NENy3eQrsyU2TyQaiCWGQpdfOeKLyJIIpcBjKpzL3GM3Amf+Rg==", "dev": true } } }, "@dcl/sdk-commands": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/sdk-commands/-/sdk-commands-7.3.12.tgz", - "integrity": "sha512-Ctc7cvlshiPpqNbw35CsYvM3PPjwBZcj/hr2EmN98N333KHjQi4f7elUx8dZit3NG1yc6Zbi7YJPnOtr0OiGuQ==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/sdk-commands/-/sdk-commands-7.3.18.tgz", + "integrity": "sha512-4H+X3HxSBzkp2t+cKPAl1PbDvFpdgT+eGA/fKGLcukU68nC/lgFIg0ehs+2X5IS5IA/PnvMl78EWrIxBsPMlhg==", "dev": true, "requires": { - "@dcl/ecs": "7.3.12", + "@dcl/crypto": "^3.4.4", + "@dcl/ecs": "7.3.18", "@dcl/hashing": "1.1.3", - "@dcl/inspector": "7.3.12", - "@dcl/linker-dapp": "0.9.1", + "@dcl/inspector": "7.3.18", + "@dcl/linker-dapp": "^0.11.0", "@dcl/mini-comms": "1.0.1-20230216163137.commit-a4c75be", - "@dcl/protocol": "1.0.0-5812097343.commit-8025576", + "@dcl/protocol": "1.0.0-6314457636.commit-a9a962a", + "@dcl/quests-manager": "^0.1.2", "@dcl/rpc": "^1.1.1", "@dcl/schemas": "^8.2.3-20230718182824.commit-356025c", "@segment/analytics-node": "^1.0.0-beta.22", @@ -8262,30 +8276,20 @@ "fp-future": "^1.0.1", "glob": "^9.3.2", "ignore": "^5.2.4", - "node-fetch": "^2.6.8", + "node-fetch": "^2.7.0", "open": "^8.4.0", "portfinder": "^1.0.32", + "prompts": "^2.4.2", "typescript": "^5.0.2", "undici": "^5.19.1", "uuid": "^9.0.0" }, "dependencies": { "@dcl/ecs": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@dcl/ecs/-/ecs-7.3.12.tgz", - "integrity": "sha512-9/iM6ZrEmiF+qwBMeOEc837/OgONfaPRtkod/UGly3eo1N1qnTq1lQgobavfScjdPS1N/IBDzgw4e4aNBy7ySQ==", + "version": "7.3.18", + "resolved": "https://registry.npmjs.org/@dcl/ecs/-/ecs-7.3.18.tgz", + "integrity": "sha512-J3BOeAFwcYmwpOv2akphYUNq+rfwHTzEgU5/NENy3eQrsyU2TyQaiCWGQpdfOeKLyJIIpcBjKpzL3GM3Amf+Rg==", "dev": true - }, - "@dcl/hashing": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@dcl/hashing/-/hashing-1.1.3.tgz", - "integrity": "sha512-mU1+Q8jcFLAR1hSBOd6WcnLwvQmKIPAH8+UPf2DZUk+Ntu7jWqSOqG+PoWRlh7/gPfI/gKofeW0a+HzVUK6N/g==", - "dev": true, - "requires": { - "ethereum-cryptography": "^1.0.3", - "ipfs-unixfs-importer": "^7.0.3", - "multiformats": "^9.6.3" - } } } }, @@ -8508,6 +8512,12 @@ "dev": true, "optional": true }, + "@fastify/busboy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", + "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", + "dev": true + }, "@fluentui/react-component-event-listener": { "version": "0.63.1", "dev": true, @@ -8865,9 +8875,9 @@ } }, "@segment/analytics-core": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.3.0.tgz", - "integrity": "sha512-ujScWZH49NK1hYlp2/EMw45nOPEh+pmTydAnR6gSkRNucZD4fuinvpPL03rmFCw8ibaMuKLAdgPJfQ0gkLKZ5A==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.3.1.tgz", + "integrity": "sha512-KGblJ8WQNC4t0j31zeyYBm2thHWuPULNAoP7waU5ts7Asz9ipvGoHqFSLG6warqvcnBdkiRbNam242zmxX53oA==", "dev": true, "requires": { "@lukeed/uuid": "^2.0.0", @@ -8884,13 +8894,13 @@ } }, "@segment/analytics-node": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-1.1.0.tgz", - "integrity": "sha512-q8MPpvQJgMUSIRmQXficA33ZmLQ6s5YqUMr623xJhhfp/TGkkgfpcdMk+qSniZVIm8JuQRXm8Mbh922LG3goBQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-1.1.1.tgz", + "integrity": "sha512-YNn32SfD8KrxIBowLz3MVav0GzhGIbBRgAtjW4Kv57oHwgaJNSLEp/z/ypnu7vAqUjm9jAwAW9Wfc24ssZI49g==", "dev": true, "requires": { "@lukeed/uuid": "^2.0.0", - "@segment/analytics-core": "1.3.0", + "@segment/analytics-core": "1.3.1", "buffer": "^6.0.3", "node-fetch": "^2.6.7", "tslib": "^2.4.1" @@ -9078,9 +9088,9 @@ } }, "@types/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", + "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==", "dev": true }, "@types/istanbul-lib-coverage": { @@ -9343,9 +9353,9 @@ "dev": true }, "@types/ws": { - "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.6.tgz", + "integrity": "sha512-8B5EO9jLVCy+B58PLHvLDuOD8DRVMgQzq8d55SjLCOn9kqGyqOvy27exVaTio1q1nX5zLu8/6N0n2ThSxOM6tg==", "dev": true, "requires": { "@types/node": "*" @@ -9428,9 +9438,9 @@ }, "dependencies": { "@types/node": { - "version": "20.5.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.9.tgz", - "integrity": "sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ==", + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", + "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==", "dev": true } } @@ -9785,15 +9795,6 @@ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true }, - "busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dev": true, - "requires": { - "streamsearch": "^1.1.0" - } - }, "call-bind": { "version": "1.0.2", "dev": true, @@ -10165,10 +10166,16 @@ "form-data": "^4.0.0" }, "dependencies": { + "@dcl/hashing": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@dcl/hashing/-/hashing-3.0.4.tgz", + "integrity": "sha512-Cg+MoIOn+BYmQV2q8zSFnNYY+GldlnUazwBnfgrq3i66ZxOaZ65h01btd8OUtSAlfWG4VTNIOHDjtKqmuwJNBg==", + "dev": true + }, "@dcl/schemas": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/@dcl/schemas/-/schemas-9.5.0.tgz", - "integrity": "sha512-OIPRbItAF+qMAmUlVxoa/esO83LZ96oDTim/Fxfwj6LAmPfwtZsAPH22iAiYIP6i5XuLMS7PS13NLioHT8lQJg==", + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@dcl/schemas/-/schemas-9.7.0.tgz", + "integrity": "sha512-biebiK72leOhSBCSTPywnHl0vNpWmJX7dYSnk6UKzq08Ri15bs1S7s2Mxuxo6r15DnEvYgcqrfXeCwufJTFeqA==", "dev": true, "requires": { "ajv": "^8.11.0", @@ -12176,9 +12183,9 @@ "dev": true }, "minipass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "dev": true } } @@ -13033,12 +13040,6 @@ "internal-slot": "^1.0.4" } }, - "streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "dev": true - }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -13339,12 +13340,12 @@ } }, "undici": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.23.0.tgz", - "integrity": "sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg==", + "version": "5.25.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.25.4.tgz", + "integrity": "sha512-450yJxT29qKMf3aoudzFpIciqpx6Pji3hEWaXqXmanbXF58LTAGCKxcJjxMXWu3iG+Mudgo3ZUfDB6YDFd/dAw==", "dev": true, "requires": { - "busboy": "^1.6.0" + "@fastify/busboy": "^2.0.0" } }, "universalify": { @@ -13380,9 +13381,9 @@ "dev": true }, "uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", "dev": true }, "v8-compile-cache-lib": { diff --git a/packages/@dcl/inspector/package.json b/packages/@dcl/inspector/package.json index f62dad942..fcf2b4963 100644 --- a/packages/@dcl/inspector/package.json +++ b/packages/@dcl/inspector/package.json @@ -7,7 +7,7 @@ "@babylonjs/inspector": "^6.18.0", "@babylonjs/loaders": "^6.18.0", "@babylonjs/materials": "^6.18.0", - "@dcl/asset-packs": "^0.0.0-20231004215238.commit-830aa6e", + "@dcl/asset-packs": "^0.0.0-20231005184607.commit-bcc54dd", "@dcl/ecs": "file:../ecs", "@dcl/ecs-math": "2.0.2", "@dcl/mini-rpc": "^1.0.7", diff --git a/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/ActionInspector.tsx b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/ActionInspector.tsx index 726fb297c..d149901e2 100644 --- a/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/ActionInspector.tsx +++ b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/ActionInspector.tsx @@ -1,7 +1,7 @@ import { useCallback, useEffect, useMemo, useState } from 'react' import { Item } from 'react-contexify' import { AiFillDelete as DeleteIcon } from 'react-icons/ai' -import { VscQuestion as QuestionIcon, VscTrash as RemoveIcon, VscInfo as InfoIcon } from 'react-icons/vsc' +import { VscQuestion as QuestionIcon, VscTrash as RemoveIcon } from 'react-icons/vsc' import { Action, ActionType, getActionTypes, getJson, ActionPayload, getActionSchema } from '@dcl/asset-packs' import { ReadWriteByteBuffer } from '@dcl/ecs/dist/serialization/ByteBuffer' import { Popup } from 'decentraland-ui/dist/components/Popup/Popup' @@ -31,6 +31,8 @@ import { getDefaultPayload, getPartialPayload, isStates } from './utils' import { Props } from './types' import './ActionInspector.css' +import { AvatarAnchorPointType } from '@dcl/ecs' +import { PlayAnimationAction } from './PlayAnimationAction' export default withSdk( withContextMenu(({ sdk, entity: entityId, contextMenuId }) => { @@ -161,6 +163,7 @@ export default withSdk( const conditionalActions: Partial boolean>> = useMemo( () => ({ [ActionType.PLAY_ANIMATION]: () => hasAnimations, + [ActionType.STOP_ANIMATION]: () => hasAnimations, [ActionType.SET_STATE]: () => hasStates, [ActionType.INCREMENT_COUNTER]: () => hasCounter, [ActionType.DECREASE_COUNTER]: () => hasCounter, @@ -194,12 +197,10 @@ export default withSdk( }, [addAction]) const handleChangeAnimation = useCallback( - ({ target: { value } }: React.ChangeEvent, idx: number) => { + (value: ActionPayload, idx: number) => { modifyAction(idx, { ...actions[idx], - jsonPayload: getJson({ - animation: value - }) + jsonPayload: getJson(value) }) }, [modifyAction, actions] @@ -249,6 +250,18 @@ export default withSdk( [modifyAction, actions] ) + const handleChangeAnchorPoint = useCallback( + ({ target: { value } }: React.ChangeEvent, idx: number) => { + modifyAction(idx, { + ...actions[idx], + jsonPayload: getJson({ + anchorPointId: parseInt(value) + }) + }) + }, + [modifyAction, actions] + ) + const handleChangeType = useCallback( ({ target: { value } }: React.ChangeEvent, idx: number) => { modifyAction(idx, { @@ -323,40 +336,15 @@ export default withSdk( ) } - const renderSelectAnimationMoreInfo = () => { - return ( - - Learn more about animations in the docs. - - } - trigger={} - position="top center" - on="hover" - hideOnScroll - hoverable - /> - ) - } - const renderAction = (action: Action, idx: number) => { switch (action.type) { case ActionType.PLAY_ANIMATION: { return hasAnimations ? ( -
-
- - ({ text: animation.name, value: animation.name })) - ]} - value={getPartialPayload(action)?.animation} - onChange={(e) => handleChangeAnimation(e, idx)} - /> -
-
+ (action)} + animations={animations} + onUpdate={(value: ActionPayload) => handleChangeAnimation(value, idx)} + /> ) : null } case ActionType.SET_STATE: { @@ -423,6 +411,26 @@ export default withSdk( ) } + case ActionType.ATTACH_TO_PLAYER: { + return ( +
+
+ + (action)?.anchorPointId} + onChange={(e) => handleChangeAnchorPoint(e, idx)} + /> +
+
+ ) + } default: { // TODO: handle generic schemas with something like return null diff --git a/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/PlayAnimationAction.css b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/PlayAnimationAction.css new file mode 100644 index 000000000..10376680c --- /dev/null +++ b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/PlayAnimationAction.css @@ -0,0 +1,11 @@ +.PlayAnimationActionContainer { + width: 100%; +} + +.PlayAnimationActionContainer .SelectField { + width: 100%; +} + +.PlayAnimationActionContainer .SelectField { + width: 100%; +} \ No newline at end of file diff --git a/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/PlayAnimationAction.tsx b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/PlayAnimationAction.tsx new file mode 100644 index 000000000..b5b2a3470 --- /dev/null +++ b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/PlayAnimationAction.tsx @@ -0,0 +1,78 @@ +import React, { useCallback, useEffect, useState } from 'react' +import { ActionPayload, ActionType } from '@dcl/asset-packs' +import { recursiveCheck } from 'jest-matcher-deep-close-to/lib/recursiveCheck' +import { SelectField } from '../../SelectField' +import { Dropdown } from '../../../Dropdown' +import { isValid } from './utils' +import type { Props } from './types' + +import './PlayAnimationAction.css' + +enum PLAY_MODE { + PLAY_ONCE = 'play-once', + LOOP = 'loop' +} + +const playModeOptions = [ + { + label: 'Play Once', + value: PLAY_MODE.PLAY_ONCE + }, + { + label: 'Loop', + value: PLAY_MODE.LOOP + } +] + +const PlaySoundAction: React.FC = ({ value, animations, onUpdate }: Props) => { + const [payload, setPayload] = useState>>({ + ...value + }) + + useEffect(() => { + if (!recursiveCheck(payload, value, 2) || !isValid(payload)) return + onUpdate(payload) + }, [payload, onUpdate]) + + const handleChangeAnimation = useCallback( + ({ target: { value } }: React.ChangeEvent) => { + setPayload({ ...payload, animation: value }) + }, + [payload, setPayload] + ) + + const handleChangePlayMode = useCallback( + ({ target: { value } }: React.ChangeEvent) => { + setPayload({ ...payload, loop: value === PLAY_MODE.LOOP }) + }, + [payload, setPayload] + ) + + return ( +
+
+
+ + ({ text: animation.name, value: animation.name })) + ]} + value={payload.animation} + onChange={handleChangeAnimation} + /> +
+
+ + +
+
+
+ ) +} + +export default React.memo(PlaySoundAction) diff --git a/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/index.ts b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/index.ts new file mode 100644 index 000000000..bdb993817 --- /dev/null +++ b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/index.ts @@ -0,0 +1,2 @@ +import PlayAnimationAction from './PlayAnimationAction' +export { PlayAnimationAction } diff --git a/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/types.ts b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/types.ts new file mode 100644 index 000000000..102f64118 --- /dev/null +++ b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/types.ts @@ -0,0 +1,8 @@ +import { AnimationGroup } from '@babylonjs/core' +import { ActionPayload, ActionType } from '@dcl/asset-packs' + +export interface Props { + value: Partial> + animations: AnimationGroup[] + onUpdate: (value: ActionPayload) => void +} diff --git a/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/utils.ts b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/utils.ts new file mode 100644 index 000000000..a33d7caca --- /dev/null +++ b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlayAnimationAction/utils.ts @@ -0,0 +1,7 @@ +import { ActionPayload, ActionType } from '@dcl/asset-packs' + +export function isValid( + payload: Partial> +): payload is ActionPayload { + return !!payload.animation +} diff --git a/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlaySoundAction/PlaySoundAction.tsx b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlaySoundAction/PlaySoundAction.tsx index bb1374588..20d581d29 100644 --- a/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlaySoundAction/PlaySoundAction.tsx +++ b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/PlaySoundAction/PlaySoundAction.tsx @@ -22,7 +22,7 @@ enum PLAY_MODE { LOOP = 'loop' } -const options = [ +const playModeOptions = [ { label: 'Play Once', value: PLAY_MODE.PLAY_ONCE @@ -126,7 +126,7 @@ const PlaySoundAction: React.FC = ({ value, onUpdate }: Props) => { diff --git a/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/TweenAction/utils.ts b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/TweenAction/utils.ts index d6730d692..6091b855f 100644 --- a/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/TweenAction/utils.ts +++ b/packages/@dcl/inspector/src/components/EntityInspector/ActionInspector/TweenAction/utils.ts @@ -8,6 +8,6 @@ export function isValidTween(tween: ActionPayload['start_tween']) { !isNaN(parseInt(tween.end.z)) && tween.relative !== undefined && !!tween.interpolationType && - !!tween.duration + !isNaN(Number(tween.duration)) ) } diff --git a/packages/@dcl/inspector/src/lib/sdk/operations/add-asset.ts b/packages/@dcl/inspector/src/lib/sdk/operations/add-asset.ts index 242e6c633..9a3ccfa53 100644 --- a/packages/@dcl/inspector/src/lib/sdk/operations/add-asset.ts +++ b/packages/@dcl/inspector/src/lib/sdk/operations/add-asset.ts @@ -8,17 +8,7 @@ import { PBAudioSource, LastWriteWinElementSetComponentDefinition } from '@dcl/ecs' -import { - ActionType, - Actions, - ComponentName, - Trigger, - TriggerType, - Triggers, - getJson, - getNextId, - getPayload -} from '@dcl/asset-packs' +import { ActionType, Actions, ComponentName, Triggers, getJson, getNextId, getPayload } from '@dcl/asset-packs' import { CoreComponents } from '../components' import updateSelectedEntity from './update-selected-entity' import { addChild } from './add-child' @@ -80,14 +70,8 @@ export function addAsset(engine: IEngine) { switch (componentName) { case CoreComponents.GLTF_CONTAINER: { const gltfContainer = values.get(componentName) as PBGltfContainer - if (components[ComponentName.TRIGGERS]) { - const triggers = values.get(ComponentName.TRIGGERS) as Triggers - // fix collision masks if the asset has an ON_CLICK trigger - if (triggers.value.some((trigger: Trigger) => trigger.type === TriggerType.ON_CLICK)) { - gltfContainer.visibleMeshesCollisionMask ??= 1 - gltfContainer.invisibleMeshesCollisionMask ??= 2 - } - } + gltfContainer.visibleMeshesCollisionMask ??= 1 + gltfContainer.invisibleMeshesCollisionMask ??= 2 values.set(componentName, { ...gltfContainer, src: gltfContainer.src.replace('{assetPath}', base) }) break } @@ -142,7 +126,11 @@ export function addAsset(engine: IEngine) { } } else { // if the asset is just a path to a model, create a gltf container for it (this is the case for assets dropped from the local files tab) - GltfContainer.create(child, { src: `${base}/${src}` }) + GltfContainer.create(child, { + src: `${base}/${src}`, + visibleMeshesCollisionMask: 1, + invisibleMeshesCollisionMask: 2 + }) } // update selection