{"_id":"@aws/aws-tools-for-babylonjs-editor-open-source-hosts-plugin","_rev":"8-9b68d64f8b1eb25e64bb22682ff2ae95","name":"@aws/aws-tools-for-babylonjs-editor-open-source-hosts-plugin","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@aws/aws-tools-for-babylonjs-editor-open-source-hosts-plugin","version":"1.0.0","author":{"url":"https://aws.amazon.com","name":"Amazon Web Services"},"license":"Apache 2.0","_id":"@aws/aws-tools-for-babylonjs-editor-open-source-hosts-plugin@1.0.0","maintainers":[{"name":"brhook-aws","email":"brhook+npm_publishing@amazon.com"},{"name":"runpiw","email":"runpiw@amazon.com"}],"homepage":"https://github.com/aws-samples/aws-tools-for-babylonjs-editor#readme","bugs":{"url":"https://github.com/aws-samples/aws-tools-for-babylonjs-editor/issues"},"dist":{"shasum":"e33caf4d76f44d2f3026b7dc90ef3fa1fabdd403","tarball":"https://registry.npmjs.org/@aws/aws-tools-for-babylonjs-editor-open-source-hosts-plugin/-/aws-tools-for-babylonjs-editor-open-source-hosts-plugin-1.0.0.tgz","fileCount":320,"integrity":"sha512-CpgryRKmC1NfFrHeUIh3BgAyC8udBVzU8wnW0OeyQRFNUybeSECyDQdjB4AS4jQl/roJ7oD95IyWkrcrEYQW/w==","signatures":[{"sig":"MEUCIQCy2D/DVAs0UQoavlybXbYMt0FXfDiSXSjEdDMEioppvQIgV3h5feSi1Rsdo1rUbcNUSRCiQI/VRpy069391q1MRXs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":168778970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicHV0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1sBAAnF4Z5tuLUrKGJoL96xcz25z/K3h+QrsnMn1hgguZQUpUGxgM\r\nFrxIfG4GfZQl8LWrXO83ITITzraMIaZU5H0CVuDy2T+SEh9toGQZIoj5/Pah\r\nkLqpX9CGx7mPe4LGbSoTDh3p+Oksqn0l5gUQDV0bWQvzhqTVuxxlQaNNrivc\r\nFyMVRwAmR216hy/nHboJIqhHw4WzyaC5OZ2S78Le9pRQbYrCDdSVD05aLFit\r\nfxpMREacJKT0CLIsiVBHx/FSckMbIzCEABupdK4CtHYOCeqyvQrJ+RJnReaa\r\nwTXkd52RdeutS1uhFxFU4u4P0OfbQP+yPikevusEoz+2m3DuyQsrpGXayTwU\r\nVLlESBBDT5ZUTZnLZKefec52LxafHlkojY7t/ssHZA344vamFhgAoF1mj0u7\r\nLCaIxFxLZdbZ1l9TdZ238ddp4fSFgac9NNj3hUmIS6hvSOmxxf/aqKDwjMzu\r\nEYcQAO8qUX5aFAz4MZPREiLKUmf68M0jL1oiRo2Dz3NCMRaQg0glqJVzcHiL\r\nBON+78km6oCQOCt7/yA89Oo9PzylDLBCMgLs/os/WAWogjcCcHRJt9vHYJxY\r\nrigLypsXhOUuOUd9dGiW/x0kQcndyxGm5fnRrTMwA0CzhWBDo+20n7FLNf0D\r\nSmqtc2ApPtWMXinpsbgrR9jnEhC3oklDh3Q=\r\n=vF8i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"build/src/index.js","gitHead":"b86eeb843e4d365a14b8b2dc26d8843b77ba7d2f","scripts":{"lint":"eslint . ","test":"jest --verbose","build":"npm run format && npm run lint-fix && npm run compile && npm run copy-config","watch":"tsc -p . --watch","format":"prettier src/**/*.ts* scripts/*.ts* test/**/**.ts --write","compile":"tsc -p .","release":"npm run lint && npm run compile  && npm run test && npm run copy-config","lint-fix":"eslint . --fix","copy-config":"node tools/copyConfig","postinstall":"npm run retrieve-assets","retrieve-assets":"node tools/retrieveHostAssets"},"_npmUser":{"name":"runpiw","email":"runpiw@amazon.com"},"prettier":{"semi":true,"useTabs":false,"tabWidth":2,"printWidth":80,"singleQuote":true,"trailingComma":"es5","bracketSpacing":false},"repository":{"url":"git+https://github.com/aws-samples/aws-tools-for-babylonjs-editor.git","type":"git","directory":"open-source-hosts-plugin"},"_npmVersion":"8.5.0","description":"AWS Tools for Babylon.JS Editor: Open Source Hosts Plugin is a set of tools meant to communicate with Amazon Sumerian Hosts (https://github.com/aws-samples/amazon-sumerian-hosts) inside of Babylon.JS Editor","directories":{},"_nodeVersion":"16.14.2","dependencies":{"aws-sdk":"^2.1096.0","fix-path":"^3.0.0","fs-extra":"^10.0.1","babylonjs":"^4.2.1","@types/node":"^17.0.21","@babylonjs/core":"4.2.1","@blueprintjs/core":"^3.54.0","babylonjs-loaders":"4.2.1","@amazon-sumerian-hosts/babylon":"^2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","eslint":"^8.11.0","ts-jest":"^27.1.4","prettier":"^2.5.1","typescript":"^4.6.2","@types/jest":"^27.4.1","babylonjs-editor":"^4.1.0","eslint-config-airbnb":"^19.0.4","eslint-plugin-jasmine":"^4.1.3","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.16.0","@typescript-eslint/eslint-plugin":"^5.16.0","prettier-plugin-organize-imports":"^2.3.4"},"peerDependencies":{"react":"^17.0.2"},"_npmOperationalInternal":{"tmp":"tmp/aws-tools-for-babylonjs-editor-open-source-hosts-plugin_1.0.0_1651537266042_0.7342300858082684","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-05-03T00:21:05.946Z","modified":"2026-06-22T20:39:28.440Z","1.0.0":"2022-05-03T00:21:08.069Z"},"bugs":{"url":"https://github.com/aws-samples/aws-tools-for-babylonjs-editor/issues"},"author":{"url":"https://aws.amazon.com","name":"Amazon Web Services"},"license":"Apache 2.0","homepage":"https://github.com/aws-samples/aws-tools-for-babylonjs-editor#readme","repository":{"url":"git+https://github.com/aws-samples/aws-tools-for-babylonjs-editor.git","type":"git","directory":"open-source-hosts-plugin"},"description":"AWS Tools for Babylon.JS Editor: Open Source Hosts Plugin is a set of tools meant to communicate with Amazon Sumerian Hosts (https://github.com/aws-samples/amazon-sumerian-hosts) inside of Babylon.JS Editor","maintainers":[{"email":"prestomation@gmail.com","name":"prestomation"}],"readme":"# AWS Tools for Babylon.JS Editor: Open Source Hosts Plugin\n\nAWS Tools for Babylon.JS Editor: Open Source Hosts Plugin (AWS Tools: Open Source Hosts Plugin) is a plugin that enables BabylonJS Editor workflows with Amazon Sumerian Hosts.\n\n## License\n\nThis project is licensed under the Apache-2.0 License. See the [LICENSE](LICENSE) file.\n\n## Installation\n\n1. If you haven't already, download and install the [Babylon.JS Editor](http://editor.babylonjs.com/)\n1. Open the Babylon.JS Editor, in the upper left corner click Edit > Preferences to open the Preferences tab\n1. Click \"Plugins\"\n1. Add the plugin to your Babylon.JS Editor:\n   - If you are not building the package manually:\n     1. Select \"Add from NPM...\"\n     1. Type in \"@aws/aws-tools-for-babylonjs-editor-open-source-hosts-plugin\"\n     1. Press \"Ok\"\n   - If you are building the package manually:\n     1. Ensure the plugin has been compiled and built successfully\n     1. Select \"Add...\"\n     1. Locate and select the [root folder](.) that contains the plugin (it will be the folder containing `package.json` )\n1. Click \"Apply\" on the bottom left of the preferences window\n\nNote that the editor is not capable of hot reloading; whenever changes to the plugin are made, the editor must be refreshed (close/open the editor, File->Reload Project, or press F5 with the devtools focused, or type `location.reload()` into the console window in the devtools) to see those changes reflected.\n\nTo debug the plugin, press ctrl+alt+I (or cmd+option+I on a mac) to bring up the dev tools. If you log to the console, those messages will be routed here.\n\n## Usage\n\n### Add a host to the scene\n\nLocate `Open Source Hosts Tools` in the editor toolbars. When you expand \"Add Hosts\", you will see a submenu of possible host types, each with their own unique model. Select one to spawn it at the origin of your scene. This will also copy the necessary assets and install the requisite dependencies into your project workspace.\n\nThe script `sumerianhost.ts` will be added into your project source; the file will load and configure animations at runtime, such as blinking, lip sync, gestures, etc. The host will track the main camera by default; the configuration of this behavior can be found in this script.\n\n### Configure webpack\n\nThe `@amazon-sumerian-hosts` library needs to be configured to use the same instance of BabylonJS as the rest of the project. To do this, add the following to the `module.exports.resolve` block in the `webpack.config.js` for the project:\n\n```\n\t\tmodules: ['node_modules'],\n\t\talias: {\n\t\t\t'@babylonjs/core': path.resolve('./node_modules/@babylonjs/core')\n\t\t}\n```\n\n### Configure the text to speech feature\n\nSelect the host in the editor and find the `Script` node in the Inspector column. There is a field under `Exported Values` called `Cognito Identity Pool ID` that will need to be filled in with the ARN of a Cognito Identity Pool that has access to Polly.\n\nThe `SumerianHost` class has a `speak` utility method that can be used to trigger the host to speak. To make use of it, you may need to get a reference to the SumerianHost node:\n\n```\n      // change name to whatever the name of the added host was\n      const host = scene.getNodeByName('Cristine') as SumerianHost;\n      host.speak(\"Hello world!\");\n```","readmeFilename":"README.md"}