{"id":36419232,"url":"https://github.com/wgpu4k/wgpu4k","last_synced_at":"2026-01-24T23:12:43.438Z","repository":{"id":231413124,"uuid":"773068055","full_name":"wgpu4k/wgpu4k","owner":"wgpu4k","description":"WebGPU binding for kotlin multi platform","archived":false,"fork":false,"pushed_at":"2025-12-27T18:12:46.000Z","size":17306,"stargazers_count":92,"open_issues_count":15,"forks_count":7,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-12-29T16:57:33.725Z","etag":null,"topics":["kotlin","library","multiplatform","webgpu","wgpu"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/wgpu4k.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-16T16:52:58.000Z","updated_at":"2025-12-27T18:12:50.000Z","dependencies_parsed_at":"2025-04-27T13:31:21.456Z","dependency_job_id":"bb21789a-763d-429a-b7a9-51c67246dc52","html_url":"https://github.com/wgpu4k/wgpu4k","commit_stats":null,"previous_names":["wgpu4k/wgpu4k"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/wgpu4k/wgpu4k","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpu4k%2Fwgpu4k","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpu4k%2Fwgpu4k/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpu4k%2Fwgpu4k/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpu4k%2Fwgpu4k/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wgpu4k","download_url":"https://codeload.github.com/wgpu4k/wgpu4k/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wgpu4k%2Fwgpu4k/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28314260,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T14:58:17.114Z","status":"ssl_error","status_checked_at":"2026-01-11T14:55:53.580Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["kotlin","library","multiplatform","webgpu","wgpu"],"created_at":"2026-01-11T17:02:16.465Z","updated_at":"2026-01-11T17:02:16.518Z","avatar_url":"https://github.com/wgpu4k.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WGPU4K: A WebGPU Binding for Kotlin Multi-platform\n\n[![Tests][test-badge]][test-url]\n![Status][status-badge]\n![Latest Version][version-badge]\n[![License][license-badge]][license-url]\n[![Discord][discord-badge]][discord-url]\n\nThis project focuses on creating a binding for WebGPU across Web, Desktop, and Mobile.  \nFor a low-level library that supports Mobile and Desktop, check out [wgpu4k-native][native-library].\n\n---\n\n## Table of Contents\n\n1. [Prerequisites](#prerequisites)\n2. [How to Execute Examples](#how-to-execute-examples)\n3. [Getting Started](#getting-started)\n4. [Compatibility](#compatibility)\n5. [Backend](#backend)\n6. [Project Phases](#project-phases)\n\n---\n\n## Prerequisites\n\n- **Gradle**: 9.10+\n- **JDK**: 25+\n- **Web Browsers**: A recent version of Chrome or Firefox Nightly (check [compatibility here][chart]).\n\n---\n\n## How to Execute Examples\n\n```bash\ngit clone https://github.com/wgpu4k/wgpu4k.git\ncd wgpu4k\n```\n\n- **Desktop JVM**: `./gradlew examples:glfw:run`\n- **Web JS**: `./gradlew examples:web-js:jsBrowserProductionRun`\n- **Web Wasm**: `./gradlew examples:web-js:wasmJsBrowserProductionRun`\n- **Mac Native (Experimental)**: `./gradlew examples:native:runDebugExecutableNative`\n- **Android (Experimental)**:  Execute the `android` subproject via Android Studio.\n- **iOS (Experimental)**:\n    - Build XCFramework: `./gradlew examples:iOS:assembleWgpuAppXCFramework`.\n    - Run the `iosApp` subproject with XCode (compatible with a simulator or real device).\n\n\u003e **Tip**: Use `Page Down` and `Page Up` on your keyboard to switch scenes while running examples.\n\n---\n\n## Getting Started\n\nDocumentation is on its way!  \nFor now:\n\n- Check out the minimalist project: [Hello Cube][hello-cube]\n- Explore implemented scenes: [Examples/Scenes][scenes].\n\n---\n\n## Compatibility\n\n| Target       | Windows | Linux | MacOS | iOS | Android |\n|--------------|---------|-------|-------|-----|---------|\n| JVM x64      | ✅       | 🆗    | 🆗    | ❌   | 🛠️     |\n| JVM arm64    | 🔍️     | 🆗    | ✅     | ❌   | 🛠️     |\n| JS           | ✅       | 🆗    | ✅     | ❓   | ❓️      |\n| wasm         | 🆗️     | 🆗️   | 🆗️   | ❓️  | ❓️      |\n| native x64   | 🛠️     | 🔍️   | 🛠️   | 🛠️ | ❌️️     |\n| native arm64 | 🔍️     | 🔍️   | 🛠️   | 🛠️ | ❌️️     |\n\n### Key:\n\n- ✅ = First class citizen\n- 🆗 = Best effort\n- ❓ = Untested, could work\n- 🛠️ = Work in progress\n- 🔍 = Not supported yet (open to contributions)\n- ❌ = Not applicable\n\n---\n\n## Backend\n\nThe native backend uses [Firefox WebGPU][backend-info]. For more details, visit the GitHub page.\n\n---\n\n## Project Phases\n\n### Completed\n\n- **Proof of Concept** (Done): Successfully tested WebGPU across multiple platforms using basic examples.\n\n### In Progress\n\n1. **API Implementation**: Developing the entire API.\n2. **API Refinement**: Making the API more idiomatic to Kotlin.\n\n### Upcoming\n\n- **Production**: Preparing the project for production use.\n\n---\n\n\u003c!-- Constants for Badges --\u003e\n\n[test-badge]: https://github.com/wgpu4k/wgpu4k/actions/workflows/test.yml/badge.svg?branch=main\n\n[test-url]: https://github.com/wgpu4k/wgpu4k/actions/workflows/test.yml\n\n[status-badge]: https://img.shields.io/badge/Status-Beta-orange?style=plastic\n\n[version-badge]: https://img.shields.io/badge/Latest%20version-0.1.1-orange?style=plastic\n\n[license-badge]: https://img.shields.io/badge/Licence-MIT-blue?style=plastic\n\n[license-url]: https://en.wikipedia.org/wiki/MIT_License\n\n[discord-badge]: https://img.shields.io/badge/Discord-wgpu4k-purple?style=plastic\n\n[discord-url]: https://discord.gg/qy9KQAP9Kc\n\n\u003c!-- Reference Links --\u003e\n\n[chart]: https://caniuse.com/webgpu\n\n[hello-cube]: https://github.com/wgpu4k/hello-cube\n\n[scenes]: https://github.com/wgpu4k/wgpu4k/tree/main/wgpu4k-scenes/src/commonMain/kotlin/scenes/basic\n\n[native-library]: https://github.com/wgpu4k/wgpu4k-native\n\n[backend-info]: https://github.com/gfx-rs/wgpu\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwgpu4k%2Fwgpu4k","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwgpu4k%2Fwgpu4k","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwgpu4k%2Fwgpu4k/lists"}