@dylanebert/shallot
v0.9.2
Published
WebGPU game engine. Procedural-first, ECS, declarative scenes. In development.
Maintainers
Readme
@dylanebert/shallot
webgpu game engine
- fast by default
- instant iteration
- runs in any WebGPU browser, or native
start a project
bun create shallot my-game
cd my-game
bun install
bunx shallot dev # run it, with hot reloadbunx shallot build ships it as a web bundle. bunx shallot verify boots the project in a headless browser and exits 0 or nonzero; it needs the optional playwright peer (bun add -d playwright && bunx playwright install chromium). Native builds (--target windows|mac|linux) work from a standard install: the rust window host ships as crate source and compiles on first build, so you need the Rust toolchain plus your target's system dependencies.
add to an existing project
bun add @dylanebert/shallot typegpu@~0.12.0
bun add -d unplugin-typegpuTypeGPU is a required peer, and TGSL needs exactly one TypeGPU transform in your bundler. A shallot.json project gets that from the CLI. An ejected Vite app adds typegpu() from unplugin-typegpu/vite plus optimizeDeps: { exclude: ["@dylanebert/shallot", "typegpu"] } — MIGRATION.md has the full setup.
docs
The docs ship with the package. AGENTS.md is the consumer contract: commands, the ECS and plugin conventions, the GPU and render rules. examples/AGENTS.md indexes one recipe per problem, to read in place; bunx shallot recipe <name> [dir] copies one out as a runnable, version-matched project.
Porting from 0.8? MIGRATION.md is the GPU-consumer port.
links
license
MIT
