{"id":15100795,"url":"https://github.com/simbleau/nbody-wasm-sim","last_synced_at":"2025-03-15T10:30:59.228Z","repository":{"id":41488715,"uuid":"509603377","full_name":"simbleau/nbody-wasm-sim","owner":"simbleau","description":"An N-body WebAssembly simulation using Web GPU","archived":false,"fork":false,"pushed_at":"2022-12-01T02:07:56.000Z","size":10913,"stargazers_count":209,"open_issues_count":10,"forks_count":11,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-27T00:06:03.982Z","etag":null,"topics":["rust","rust-lang","simulation","wasm","webassembly","webgpu","wgpu","wgpu-rs"],"latest_commit_sha":null,"homepage":"https://simbleau.github.io/nbody-wasm-sim","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simbleau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["simbleau"],"custom":["buymeacoffee.com/simbleau"]}},"created_at":"2022-07-01T22:28:19.000Z","updated_at":"2025-02-10T14:27:02.000Z","dependencies_parsed_at":"2023-01-22T08:45:24.544Z","dependency_job_id":null,"html_url":"https://github.com/simbleau/nbody-wasm-sim","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simbleau%2Fnbody-wasm-sim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simbleau%2Fnbody-wasm-sim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simbleau%2Fnbody-wasm-sim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simbleau%2Fnbody-wasm-sim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simbleau","download_url":"https://codeload.github.com/simbleau/nbody-wasm-sim/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243718810,"owners_count":20336589,"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":["rust","rust-lang","simulation","wasm","webassembly","webgpu","wgpu","wgpu-rs"],"created_at":"2024-09-25T18:01:02.300Z","updated_at":"2025-03-15T10:30:58.522Z","avatar_url":"https://github.com/simbleau.png","language":"Rust","funding_links":["https://github.com/sponsors/simbleau","buymeacoffee.com/simbleau"],"categories":["Rust"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ch1\u003eGPU N-body WASM Simulation\n\u003c/br\u003e\n\u003ca href=\"https://www.rust-lang.org/\"\u003e\u003cimg src=\"https://simpleicons.org/icons/rust.svg\" width=\"50px\" height=\"50px\"/\u003e\u003c/a\u003e\n+\n\u003ca href=\"https://www.rust-lang.org/what/wasm\"\u003e\u003cimg src=\"https://simpleicons.org/icons/webassembly.svg\" width=\"50px\" height=\"50px\"/\u003e\u003c/a\u003e\n+\n\u003ca href=\"https://wgpu.rs/\"\u003e\u003cimg src=\"https://wgpu.rs/logo.min.svg\" width=\"50px\" height=\"50px\"/\u003e\u003c/a\u003e\n\u003c/h1\u003e\n\n\u003ch2\u003eClick \u003ca href=\"https://simbleau.github.io/nbody-wasm-sim\"\u003ehere\u003c/a\u003e to demo the simulation.\u003c/h2\u003e\n\u003cimg src=\"demo.gif\" width=\"300px\" height=\"300px\"/\u003e\n\nAuthors: [@seabassjh](https://github.com/seabassjh), [@simbleau](https://github.com/simblau)\n\n\u003c/div\u003e\n\n---\n\n## 📖 Overview\nThis repository is a 2D N-body simulation of a dynamical system of bodies, under the influence of physical forces such as gravity. The simulation is written completely in Rust with WebGPU and WGSL shading, exported to WebAssembly. We deploy the demo with GitHub Actions.\n\n🔸 Simulations like these are common in astrophysics and are used to understand the evolution of large-scale universal structures.\n\n---\n\n# 🚀 Serve Locally\n## Dependencies\n- [Rust](https://www.rust-lang.org/)\n- [trunk](https://trunkrs.dev/) (`cargo install trunk`)\n- [wasm32-unkown-unknown](https://yew.rs/docs/getting-started/introduction#install-webassembly-target) (`rustup target add wasm32-unknown-unknown`)\n## Serve\n- Run: `trunk serve`\n- Preview: [`http://localhost:8080/`](http://localhost:8080/)\n\n![Screenshot](https://user-images.githubusercontent.com/48108917/183275653-a2ee4f9c-a982-482e-8405-bd124d4bbcf5.png)\n\n---\n\n## 📁 Directories\n\n- [__`assets`__](./assets/): directory contains textures and shaders.\n- [__`src`__](./src/): directory contains the rust source code.\n\n---\n\n## 🔏 License\nThis project is dual-licensed under both [Apache 2.0](LICENSE-APACHE) and [MIT](LICENSE-MIT) licenses.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimbleau%2Fnbody-wasm-sim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimbleau%2Fnbody-wasm-sim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimbleau%2Fnbody-wasm-sim/lists"}