[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3250":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":45,"readmeContent":46,"aiSummary":47,"trendingCount":16,"starSnapshotCount":16,"syncStatus":48,"lastSyncTime":49,"discoverSource":50},3250,"aframe","aframevr\u002Faframe","aframevr",":a: Web framework for building virtual reality experiences.","https:\u002F\u002Faframe.io\u002F",null,"JavaScript",17552,4369,503,320,0,6,28,3,75.8,"MIT License",false,"master",true,[26,5,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"3d","augmented-reality","daydream","ecs","game-development","game-engine","gamedev","html","metaverse","oculus","rift","threejs","virtual-reality","virtualreality","vive","vr","webgl","webvr","webxr","2026-06-12 04:00:17","\u003Ch1 align=\"center\">A-Frame\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\u003Ca href=\"https:\u002F\u002Faframe.io\" target=\"_blank\">\u003Cimg width=\"480\" alt=\"A-Frame\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F674727\u002F32120889-230ef110-bb0f-11e7-908c-76e39aa43149.jpg\">\u003C\u002Fa>\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Cb>A web framework for building browser based 3D, AR and VR experiences.\u003C\u002Fb>\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fcodecov.io\u002Fgh\u002Faframevr\u002Faframe\">\n    \u003Cimg src=\"https:\u002F\u002Fcodecov.io\u002Fgh\u002Faframevr\u002Faframe\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg\" alt=\"Coverage Status\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fnpmjs.org\u002Fpackage\u002Faframe\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdt\u002Faframe.svg?style=flat-square\" alt=\"Downloads\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fnpmjs.org\u002Fpackage\u002Faframe\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Faframe.svg?style=flat-square\" alt=\"Version\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fnpmjs.com\u002Fpackage\u002Faframe\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fl\u002Faframe.svg?style=flat-square\" alt=\"License\">\u003C\u002Fa>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Faframe.io\">Site\u003C\u002Fa>\n  &mdash;\n  \u003Ca href=\"https:\u002F\u002Faframe.io\u002Fdocs\u002F\">Docs\u003C\u002Fa>\n  &mdash;\n  \u003Ca href=\"https:\u002F\u002Faframe.io\u002Faframe\u002Fexamples\u002F\">Examples\u003C\u002Fa>\n  &mdash;\n  \u003Ca href=\"https:\u002F\u002Faframe.io\u002Fschool\u002F\">School\u003C\u002Fa>\n  &mdash;\n  \u003Ca href=\"https:\u002F\u002Faframe.io\u002Fcommunity\u002F\">Community\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n## Examples\n\n\u003Ca href=\"https:\u002F\u002Fsupermedium.com\u002Fsupercraft\">\n  \u003Cimg alt=\"Supercraft\" target=\"_blank\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F674727\u002F41085457-f5429566-69eb-11e8-92e5-3210e4c6c4a0.gif\" height=\"190\" width=\"32%\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Faframe.io\u002Fa-painter\u002F?url=https:\u002F\u002Fucarecdn.com\u002F962b242b-87a9-422c-b730-febdc470f203\u002F\">\n  \u003Cimg alt=\"A-Painter\" target=\"_blank\" src=\"https:\u002F\u002Fcloud.githubusercontent.com\u002Fassets\u002F674727\u002F24531388\u002Facfc3dda-156d-11e7-8563-5bd75252f70f.gif\" height=\"190\" width=\"32%\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fsupermedium.com\">\n  \u003Cimg alt=\"Supermedium\" target=\"_blank\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F674727\u002F37294616-7212cd20-25d3-11e8-9e7f-c0c61074f1e0.png\" height=\"190\" width=\"32%\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Faframe.io\u002Fa-blast\u002F\">\n  \u003Cimg alt=\"A-Blast\" target=\"_blank\" src=\"https:\u002F\u002Fcloud.githubusercontent.com\u002Fassets\u002F674727\u002F24531440\u002F0336e66e-156e-11e7-95c2-f2e6ebc0393d.gif\" height=\"190\" width=\"32%\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Faframe.io\u002Fa-saturday-night\u002F\">\n  \u003Cimg alt=\"A-Saturday-Night\" target=\"_blank\" src=\"https:\u002F\u002Fcloud.githubusercontent.com\u002Fassets\u002F674727\u002F24531477\u002F44272daa-156e-11e7-8ef9-d750ed430f3a.gif\" height=\"190\" width=\"32%\">\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fgooglecreativelab\u002Fwebvr-musicalforest\">\n  \u003Cimg alt=\"Musical Forest by @googlecreativelab\" target=\"_blank\" src=\"https:\u002F\u002Fcloud.githubusercontent.com\u002Fassets\u002F674727\u002F25109861\u002Fb8e9ec48-2394-11e7-8f2d-ea1cd9df69c8.gif\" height=\"190\" width=\"32%\">\n\u003C\u002Fa>\n\n*Find more examples on [the homepage](https:\u002F\u002Faframe.io), [A Week of A-Frame](https:\u002F\u002Faframe.io\u002Fblog\u002F), and [WebVR Directory](https:\u002F\u002Fwebvr.directory).*\n\n## Features\n\n:eyeglasses: **Virtual Reality Made Simple**: A-Frame handles the 3D and WebXR\nboilerplate required to get running across platforms including mobile, desktop, and all headsets (compatible with a WebXR capable browser) just by dropping in `\u003Ca-scene>`.\n\n:heart: **Declarative HTML**: HTML is easy to read and copy-and-paste. Since\nA-Frame can be used from HTML, A-Frame is accessible to everyone: web\ndevelopers, VR and AR enthusiasts, educators, artists, makers, kids.\n\n:electric_plug: **Entity-Component Architecture**: A-Frame is a powerful\nframework on top of three.js, providing a declarative, composable, reusable\nentity-component structure for three.js. While A-Frame can be used from HTML,\ndevelopers have unlimited access to JavaScript, DOM APIs, three.js, WebXR, and\nWebGL.\n\n:zap: **Performance**: A-Frame is a thin framework on top of three.js.\nAlthough A-Frame uses the DOM, A-Frame does not touch the browser layout\nengine. Performance is a top priority, being battle-tested on highly\ninteractive WebXR experiences.\n\n:globe_with_meridians: **Cross-Platform**: Build VR and AR applications for any headset compatible with a WebXR capable browser. Don't have a headset or controllers? No\nproblem! A-Frame still works on standard desktop and smartphones.\n\n:mag: **Visual Inspector**: A-Frame provides a built-in visual 3D inspector\nwith a workflow similar to a browser's developer tools and interface similar to\nUnity. Open up any A-Frame scene and hit `\u003Cctrl> + \u003Calt> + i`.\n\n:runner: **Features**: Hit the ground running with A-Frame's built-in\ncomponents such as geometries, materials, lights, animations, models,\nraycasters, shadows, positional audio, tracked controllers. Get even further\nwith community components such as particle systems, physics, multiuser, oceans,\nmountains, speech recognition, or teleportation!\n\n## Usage\n\n### Example\n\nBuild VR and AR scenes in the browser with just a few lines of HTML! To start playing\nand publishing now, remix the starter example on:\n\n[![Remix](https:\u002F\u002Fcloud.githubusercontent.com\u002Fassets\u002F674727\u002F24572421\u002F688f7fc0-162d-11e7-8a35-b02bc050c043.jpg)](https:\u002F\u002Fglitch.com\u002F~aframe)\n```html\n\u003Chtml>\n  \u003Chead>\n    \u003Cscript src=\"https:\u002F\u002Faframe.io\u002Freleases\u002F1.7.1\u002Faframe.min.js\">\u003C\u002Fscript>\n  \u003C\u002Fhead>\n  \u003Cbody>\n    \u003Ca-scene>\n      \u003Ca-box position=\"-1 0.5 -3\" rotation=\"0 45 0\" color=\"#4CC3D9\">\u003C\u002Fa-box>\n      \u003Ca-sphere position=\"0 1.25 -5\" radius=\"1.25\" color=\"#EF2D5E\">\u003C\u002Fa-sphere>\n      \u003Ca-cylinder position=\"1 0.75 -3\" radius=\"0.5\" height=\"1.5\" color=\"#FFC65D\">\u003C\u002Fa-cylinder>\n      \u003Ca-plane position=\"0 0 -4\" rotation=\"-90 0 0\" width=\"4\" height=\"4\" color=\"#7BC8A4\">\u003C\u002Fa-plane>\n      \u003Ca-sky color=\"#ECECEC\">\u003C\u002Fa-sky>\n    \u003C\u002Fa-scene>\n  \u003C\u002Fbody>\n\u003C\u002Fhtml>\n```\n\nWith A-Frame's [entity-component\narchitecture](https:\u002F\u002Faframe.io\u002Fdocs\u002F1.7.1\u002Fintroduction\u002Fentity-component-system.html), we can drop in community\ncomponents from the ecosystem (e.g., ocean, physics) and plug them into our\nobjects straight from HTML:\n\n[See example](https:\u002F\u002Faframe.io\u002Faframe\u002Fexamples\u002Fdocs\u002Fcommunity-components\u002F)\n\n```html\n\u003Chtml>\n  \u003Chead>\n    \u003Cscript src=\"https:\u002F\u002Faframe.io\u002Freleases\u002F1.7.1\u002Faframe.min.js\">\u003C\u002Fscript>\n    \u003Cscript src=\"https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fc-frame\u002Faframe-particle-system-component@1.2.x\u002Fdist\u002Faframe-particle-system-component.min.js\">\u003C\u002Fscript>\n    \u003Cscript src=\"https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fc-frame\u002Faframe-extras@7.5.0\u002Fdist\u002Faframe-extras.min.js\">\u003C\u002Fscript>\n    \u003Cscript src=\"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002F@fern-solutions\u002Faframe-sky-background\u002Fdist\u002Fsky-background.umd.min.js\">\u003C\u002Fscript>\n  \u003C\u002Fhead>\n  \u003Cbody>\n    \u003Ca-scene>\n      \u003Ca-entity id=\"rain\" particle-system=\"preset: rain; color: #24CAFF; particleCount: 5000\">\u003C\u002Fa-entity>\n\n      \u003Ca-entity id=\"sphere\" geometry=\"primitive: sphere\"\n                material=\"color: #EFEFEF; shader: flat\"\n                position=\"0 0.15 -5\"\n                light=\"type: point; intensity: 15.7\"\n                animation=\"property: position; easing: easeInOutQuad; dir: alternate; dur: 1000; to: 0 -0.10 -5; loop: true\">\u003C\u002Fa-entity>\n\n      \u003Ca-entity id=\"ocean\" ocean=\"density: 20; width: 50; depth: 50; speed: 4\"\n                material=\"color: #9CE3F9; opacity: 0.75; metalness: 0; roughness: 1\"\n                rotation=\"-90 0 0\">\u003C\u002Fa-entity>\n\n      \u003Ca-sky-background top-color=\"#EBEBF5\" bottom-color=\"#B9B9D2\">\u003C\u002Fa-sky-background>\n\n      \u003Ca-entity id=\"light\" light=\"type: ambient; color: #888\">\u003C\u002Fa-entity>\n    \u003C\u002Fa-scene>\n  \u003C\u002Fbody>\n\u003C\u002Fhtml>\n```\n\n### Builds\n\nTo use the latest stable build of A-Frame, include [`aframe.min.js`](https:\u002F\u002Faframe.io\u002Freleases\u002F1.7.1\u002Faframe.min.js):\n\n```js\n\u003Chead>\n  \u003Cscript src=\"https:\u002F\u002Faframe.io\u002Freleases\u002F1.7.1\u002Faframe.min.js\">\u003C\u002Fscript>\n\u003C\u002Fhead>\n```\n\nTo check out the stable and master builds, see the [`dist\u002F` folder](dist\u002F).\n\n### npm\n\n```sh\nnpm install --save aframe\n# Or yarn add aframe\n```\n\n```js\nimport AFRAME from 'aframe';  \u002F\u002F e.g., with Webpack or Vite.\n```\n\n## Local Development\n\n```sh\ngit clone https:\u002F\u002Fgithub.com\u002Faframevr\u002Faframe.git  # Clone the repository.\ncd aframe && npm install  # Install dependencies.\nnpm start  # Start the local development server.\n```\n\nAnd open in your browser [http:\u002F\u002Flocalhost:8080](http:\u002F\u002Flocalhost:8080).\n\nIf you want to test the examples in VR, you need to run it with https:\n\n```sh\nnpm run start:https\n```\n\nLook at the \"On Your Network (IPv4)\" line in the console, and copy and paste\nthe url to https:\u002F\u002Fhmd.link service.\nThen open the browser in your headset and type hmd.link in the address bar\nthen click on the copied url that will show up if you're connected to the same\nnetwork as your machine.\nYou will see a message about the page being dangerous because we're using a\nself-signed certificate, you can ignore that warning and continue to the page.\n\n### Generating Builds\n\n```sh\nnpm run dist\n```\n\n## Questions\n\nFor questions and support, [ask on StackOverflow](https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002Fask\u002F?tags=aframe).\n\n## Stay in Touch\n\n- Hang out with the [community](https:\u002F\u002Faframe.io\u002Fcommunity\u002F)\n- [Follow @aframevr on X](https:\u002F\u002Fx.com\u002Faframevr).\n\nAnd get in touch with the maintainers!\n\n- [Diego Marcos](https:\u002F\u002Fx.com\u002Fdmarcos)\n- [Don McCurdy](https:\u002F\u002Fx.com\u002Fdonrmccurdy)\n- [Kevin Ngo](https:\u002F\u002Fx.com\u002Fandgokevin)\n\n## Contributing\n\nGet involved! Check out the [Contributing Guide](CONTRIBUTING.md) for how to get started.\n\nYou can also support development by [buying a gorgeous A-Frame t-shirt with exclusive designs](https:\u002F\u002Fcottonbureau.com\u002Fproducts\u002Fa-frame-og#\u002F9479538\u002Ftee-men-standard-tee-vintage-black-tri-blend-s)\n\n## License\n\nThis program is free software and is distributed under an [MIT License](LICENSE).\n","A-Frame 是一个用于构建基于浏览器的3D、AR和VR体验的Web框架。它利用HTML元素来创建虚拟现实场景，简化了WebXR应用的开发过程。A-Frame基于Three.js构建，并支持多种设备，包括Oculus Rift、HTC Vive等主流VR头显以及移动设备上的AR体验。其核心功能包括直观的声明式语法、强大的实体组件系统（ECS）架构，以及丰富的社区资源和示例项目。适合于希望快速开发沉浸式内容的开发者使用，无论是游戏开发、教育工具还是虚拟展览等场景都非常适用。",2,"2026-06-11 02:53:08","top_language"]