SOURCE / PINNED RELEASE
Made of little things.
Powder Tool V600Billion
- Release
- 142767edcab8…
- Author-recorded commit
- 6d92971effd0…
- License
- LICENSE
- Author’s source reference
- nostr://npub1fllw8kw0thjj55wds0uugcnp5kej2nfxd36eruq39d56wwz8r44q5q78wj/wss%3A%2F%2Fgit.napplet.soy%2F/powder-toy
Archive hash verified: ed7d6a8ea7083197…. The source-to-build association is the author’s claim; it has not been independently rebuilt.
{
"$comment": "The upstream source this napplet builds, and what the build must produce. scripts/build-wasm.sh fetches every input by git and checks it against these commits; scripts/upstream.mjs refuses a vendor folder whose files do not hash to build.files.",
"name": "The Powder Toy",
"license": "GPL-3.0",
"source": "https://github.com/The-Powder-Toy/The-Powder-Toy",
"version": "100.1.400",
"tag": "v100.1.400",
"commit": "d768aeb89acad986bd252d7e904bf44bb374545f",
"build": {
"$comment": "Upstream's release configuration for wasm32-emscripten-emscripten-static, without threads: upstream's own web release needs SharedArrayBuffer, so it only runs in cross-origin isolated pages.",
"emsdk": "3.1.72",
"meson": "1.12.1",
"$mesonComment": "Meson generates other code for this build type from 1.4 on (1.3.2 and 1.0.1 give one result, 1.12.1 another), so the version is part of the pin. build-wasm.sh refuses any other.",
"patches": [
"patches/the-powder-toy-single-thread.patch",
"patches/the-powder-toy-napplet-bridge.patch",
"patches/tpt-libs-single-thread.patch"
],
"libraries": {
"repo": "https://github.com/The-Powder-Toy/tpt-libs",
"tag": "v20251019131007",
"commit": "4fe4f8eb4fbba07237710ac15c0f0eb35866b333"
},
"ports": {
"zlib": {
"repo": "https://github.com/madler/zlib",
"tag": "v1.2.13",
"commit": "04f42ceca40f73e2978b50e93806c2a18c1281fc",
"subdir": "zlib-1.2.13",
"archive": "https://github.com/madler/zlib/archive/refs/tags/v1.2.13.tar.gz"
},
"sdl2": {
"repo": "https://github.com/libsdl-org/SDL",
"tag": "release-2.30.9",
"commit": "c98c4fbff6d8f3016a3ce6685bf8f43433c3efcc",
"subdir": "SDL-release-2.30.9",
"archive": "https://github.com/libsdl-org/SDL/archive/release-2.30.9.zip"
},
"bzip2": {
"repo": "https://github.com/emscripten-ports/bzip2",
"tag": "1.0.6",
"commit": "60ce9dfe9a75f7ee92956aba8a83d1a37625bc1d",
"subdir": "bzip2-1.0.6",
"archive": "https://github.com/emscripten-ports/bzip2/archive/1.0.6.zip"
}
},
"$filesComment": "Pinned 2026-09-28 with patches/the-powder-toy-napplet-bridge.patch, from a build in WSL (Meson 1.12.1, emsdk in the work directory, Emscripten's port list sorted); CI builds the same bytes from source on every push. Earlier pins differ for reasons found on the way: the first (powder.wasm 88122404...) carried the paths of an emsdk outside the work directory, and it and the second (fb241838..., before the bridge) linked Emscripten's ports in the directory order of the machine they were built on, which is why a WSL build of that source gave other bytes.",
"files": {
"powder.js": "d249df9fe548101c1c096505a5484153b545ef2aac2ded7d3c75414142a0256a",
"powder.wasm": "8fa5fbf107cce77fe6a7e16ccff294998756c7da06f20ef3789f2f8d806a0385"
}
}
}
