{"id":13491038,"url":"https://github.com/c-frame/aframe-extras","last_synced_at":"2025-05-13T21:12:22.023Z","repository":{"id":37425017,"uuid":"51565197","full_name":"c-frame/aframe-extras","owner":"c-frame","description":"Add-ons and helpers for A-Frame VR.","archived":false,"fork":false,"pushed_at":"2025-03-15T16:19:50.000Z","size":30475,"stargazers_count":989,"open_issues_count":24,"forks_count":309,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-05-13T14:21:58.202Z","etag":null,"topics":["aframe","threejs","webvr"],"latest_commit_sha":null,"homepage":"https://c-frame.github.io/aframe-extras/examples/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/c-frame.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"vincentfretin","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2016-02-12T03:33:40.000Z","updated_at":"2025-04-26T09:55:58.000Z","dependencies_parsed_at":"2024-01-14T20:18:27.065Z","dependency_job_id":"0dcc4a99-c56c-48bd-a4ea-ef0192606825","html_url":"https://github.com/c-frame/aframe-extras","commit_stats":{"total_commits":759,"total_committers":44,"mean_commits":17.25,"dds":"0.26877470355731226","last_synced_commit":"b105e0c46d06a9a8259fff3de658dac5b503ce66"},"previous_names":["donmccurdy/aframe-extras"],"tags_count":134,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-frame%2Faframe-extras","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-frame%2Faframe-extras/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-frame%2Faframe-extras/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c-frame%2Faframe-extras/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/c-frame","download_url":"https://codeload.github.com/c-frame/aframe-extras/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254029008,"owners_count":22002284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aframe","threejs","webvr"],"created_at":"2024-07-31T19:00:53.033Z","updated_at":"2025-05-13T21:12:17.012Z","avatar_url":"https://github.com/c-frame.png","language":"JavaScript","funding_links":["https://github.com/sponsors/vincentfretin"],"categories":["Uncategorized","JavaScript"],"sub_categories":["Uncategorized"],"readme":"# A-Frame Extras\n\n[![Latest NPM release](https://img.shields.io/npm/v/aframe-extras.svg)](https://www.npmjs.com/package/aframe-extras)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/c-frame/aframe-extras/master/LICENSE)\n\nAdd-ons and helpers for A-Frame VR.\n\nIncludes components for controls, model loaders, pathfinding, and more:\n\n\u003c!-- tree src -I index.js --\u003e\n\u003cpre\u003e\nsrc\n├── \u003cb\u003econtrols/\u003c/b\u003e (\u003ca href=\"/src/controls\"\u003eDocumentation\u003c/a\u003e)\n│   ├── movement-controls.js\n│   ├── checkpoint-controls.js\n│   ├── gamepad-controls.js\n│   ├── keyboard-controls.js\n│   ├── touch-controls.js\n│   └── trackpad-controls.js\n├── \u003cb\u003eloaders/\u003c/b\u003e (\u003ca href=\"/src/loaders\"\u003eDocumentation\u003c/a\u003e)\n│   ├── animation-mixer.js\n│   ├── collada-model-legacy.js\n│   ├── fbx-model.js\n│   ├── gltf-model-legacy.js\n│   └── object-model.js\n├── \u003cb\u003emisc/\u003c/b\u003e (\u003ca href=\"/src/misc\"\u003eDocumentation\u003c/a\u003e)\n│   ├── checkpoint.js\n│   ├── cube-env-map.js\n│   ├── grab.js\n│   ├── mesh-smooth.js\n│   ├── normal-material.js\n│   └── sphere-collider.js\n├── \u003cb\u003epathfinding/\u003c/b\u003e (\u003ca href=\"/src/pathfinding\"\u003eDocumentation\u003c/a\u003e)\n│   ├── nav-mesh.js\n│   └── nav-agent.js\n└── \u003cb\u003eprimitives/\u003c/b\u003e (\u003ca href=\"/src/primitives\"\u003eDocumentation\u003c/a\u003e)\n    ├── a-grid.js\n    ├── a-ocean.js\n    └── a-tube.js\n\u003c/pre\u003e\n\n## Usage (Scripts)\n\nIn the [dist/](https://github.com/c-frame/aframe-extras/tree/master/dist) folder, download any package(s) you need. Include the scripts on your page, and all components are automatically registered for you:\n\n```html\n\u003cscript src=\"https://cdn.jsdelivr.net/gh/c-frame/aframe-extras@7.5.4/dist/aframe-extras.min.js\"\u003e\u003c/script\u003e\n```\n\nreplace `7.5.4` by another tag or a commit hash (for example `3e0ab50`) if you want to use a build from master branch.\nYou can [look at the commits](https://github.com/c-frame/aframe-extras/commits/master) and use the latest commit hash.\n\nFor partial builds, use a subpackage like `aframe-extras.controls.min.js`. Full list of packages above.\n\n**A-Frame Version Compatibility**\n\n| A-Frame  | Extras |\n|----------|--------|\n| v1.4.0   | v7.0.0 |\n| v1.3.0   | v7.0.0 |\n| v1.2.0   | v7.0.0 |\n| v1.1.0   | v6.1.1 |\n\n\u003e **NOTE:** Several components and examples also rely on [aframe-physics-system](https://github.com/c-frame/aframe-physics-system).\n\n## Usage (NPM)\n\n```\nnpm install --save aframe-extras\n```\n\n```javascript\n// index.js\nimport 'aframe-extras';\n// or specific packages\nimport \"aframe-extras/controls/index.js\";\nimport \"aframe-extras/pathfinding/index.js\";\n```\n\nOnce installed, you'll need to compile your JavaScript using something like [webpack](https://webpack.js.org) with three defined as external, see webpack.config.js in this repo for an example.\n\n## Examples\n\nA live set of usage examples can be found here:\n\nhttps://c-frame.github.io/aframe-extras/examples/\n\n## Deprecated Components\n\nThe following components existed in previous versions of A-Frame Extras, but have been removed as of the latest release\n\n| Component        | Removed in | Reasons                                                      |\n| ---------------- | ---------- | ------------------------------------------------------------ |\n| `kinematic-body` | 7.0.0      | Using physics for movement is unstable and performs poorly. When preventing players from passing through obstacles, use a navigation mesh instead whenever possible.\u003cbr /\u003e\u003cbr /\u003eThe `kinematic-body` component constrainted player movement using physics, and depended on [aframe-physics-system](http://github.com/c-frame/aframe-physics-system). Using physics for locomotion is not VR-friendly, and often glitchy even for traditional 3D experiences. [Use a navigation mesh](https://github.com/c-frame/aframe-extras/tree/master/src/controls#usage) instead, whenever possible. |\n| `jump-ability`   | 7.0.0      | Dependent on `kinematic-body`                                |\n| `a-hexgrid`      | 7.0.0      | Was based on [this repo](https://github.com/vonWolfehaus/von-grid), which is no longer maintained, and does not work with recent versions of THREE.js. |\n| `mesh-smooth`    | 7.0.0      | Intended for JSON models, but the JSON Loader is [no longer part of this repo](https://github.com/c-frame/aframe-extras/commit/d079064e6ac55a4cd6bbf64bd46a576e26dd214e).  More background [here](https://github.com/c-frame/aframe-extras/issues/411). |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc-frame%2Faframe-extras","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fc-frame%2Faframe-extras","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc-frame%2Faframe-extras/lists"}