{"id":17169633,"url":"https://github.com/swiftcoder/simple-wgpu","last_synced_at":"2025-04-13T16:06:08.904Z","repository":{"id":152379298,"uuid":"625873178","full_name":"swiftcoder/simple-wgpu","owner":"swiftcoder","description":"An opinionated wrapper around wgpu-rs","archived":false,"fork":false,"pushed_at":"2025-02-21T21:12:56.000Z","size":46,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"trunk","last_synced_at":"2025-02-21T22:19:41.444Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/swiftcoder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2023-04-10T09:43:18.000Z","updated_at":"2025-02-21T21:12:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"7f78f7e5-1139-4de3-9c5b-8fb629856748","html_url":"https://github.com/swiftcoder/simple-wgpu","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/swiftcoder%2Fsimple-wgpu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiftcoder%2Fsimple-wgpu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiftcoder%2Fsimple-wgpu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiftcoder%2Fsimple-wgpu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swiftcoder","download_url":"https://codeload.github.com/swiftcoder/simple-wgpu/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240100514,"owners_count":19747683,"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":[],"created_at":"2024-10-14T23:26:50.224Z","updated_at":"2025-02-23T16:33:21.562Z","avatar_url":"https://github.com/swiftcoder.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# simple-wgpu\n\nAn opinionated wrapper around [wgpu-rs](https://github.com/gfx-rs/wgpu), that aims to improve the API ergonomics.\n\nI'm a big fan of the write-once-cross-compile-anywhere promise underlying WebGPU, but I'm less of a fan of the API itself. The WebGPU API is modelled on an earlier, pipeline-centric vision of the Vulkan API, and has inherited a degree of verbosity/inflexibility as a result. This library aims to recapture some of the simplicity of writing code for OpenGL - ideally without giving up the safety and stability guarantees of wgpu-rs.\n\n## Goals\n- Reduce the combinatorial pipeline explosion, along the lines of [VK_EXT_extended_dynamic_state](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_extended_dynamic_state.html)\n- Improve DRY (Don't Repeat Yourself) by eliminating the duplicate specification in bind group/pipeline layout objects\n- Make pipeline specification render target-agnostic, so the same pipeline can render to different types of target texture\n\n### Non-goals\n- Performance. I don't want this wrapper to be slow, but where necessary I will trade performance for ergonomics.\n- API Stability (for now). I'm actively iterating on where the boundary between dynamic and baked state should be, as well as whether the more object-oriented wrappers make sense.\n- 100% coverage of wgpu features. I'll wrap more functionality as it becomes useful to me.\n\n## Who is it for?\n\nMe, mostly, but if you find it useful, feel free.\n\n## License\n\nI've put this under the Apache license, but if you need a more permissive license, feel free to get in touch.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswiftcoder%2Fsimple-wgpu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswiftcoder%2Fsimple-wgpu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswiftcoder%2Fsimple-wgpu/lists"}