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.
# Powder Tool V600Billion
[The Powder Toy](https://github.com/The-Powder-Toy/The-Powder-Toy) 100.1.400, the falling-sand physics
sandbox, as a napplet. `index.html` is the whole game in one file: upstream's C++
built for the web without threads, so it runs in any `sandbox="allow-scripts"`
frame, plus a page around it that keeps saves in napplet storage and carries the
game's online features (shared saves, votes, comments) over Nostr, signed by the
host with the player's key.
It asks the host for identity, link, outbox, storage. The page itself has no network
(its policy says `connect-src 'none'`).
## Source
GPL-3.0 (`LICENSE`), the same as upstream. The corresponding source:
- `source/`: the napplet around the game, exactly as it builds this page:
`npm install`, `npm run wasm` (below), then `npx vite build` in `source/`
writes it as `source/dist/index.html`.
- `source/patches/`: the changes to upstream's source and libraries that make
the single-thread build.
- `source/scripts/build-wasm.sh`: builds `vendor/powder.js` and
`vendor/powder.wasm` from upstream's source at commit `d768aeb89acad986bd252d7e904bf44bb374545f`
(tag `v100.1.400`, https://github.com/The-Powder-Toy/The-Powder-Toy) with Emscripten 3.1.72,
every input fetched by Git and checked against `source/upstream.json`.
- `source/licenses/`: the libraries the wasm links (FFTW, jsoncpp, Lua, SDL, zlib,
bzip2, libpng, Emscripten's runtime) and their licenses.
- This page's sha256 is `ebee2bba2735604b01900b6b350410deb4cd2507996eca8d29f9681a152dea2c`.
