The gap
A falling-sand simulation is easy to make slow or unpredictable, and checking that every level can still be won after a rule change is slow.
Game templates
The complete TypeScript source of Siftwend, a falling-sand puzzle in a jar that turns upside down. A recorded solution in the tests finishes every level within its three-star budget.
Coming soon
Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.
The gap
A falling-sand simulation is easy to make slow or unpredictable, and checking that every level can still be won after a rule change is slow.
What it is
A finished, tested falling-sand puzzle whose simulation replays exactly and whose levels are proven by recorded solutions.
How you use it
Unzip, run npm ci and npm run dev, then edit the config; npm test proves every level again in seconds.
Source code of a real, playable game to reskin and learn from, with its proofs built into the tests.
Use it when
Built for
Goals (bloom, clear, fill a box, keep), ink budgets, paint zones and flips, with builder helpers for seedlings, crates and cottages.
On every npm test a recorded solution finishes every level within its three-star budget, and doing nothing must fail.
Ten materials, a gravity flip, 20 goal jars, a daily jar and a free sandbox that saves itself.
56 unit tests and Playwright browser runs, a frame-time script, a size budget, an upload zip for itch.io or any static host, and a guide to adding levels and materials.
1 of 3
| Platform or runtime | Supported versions | Tested up to |
|---|---|---|
| Node.js | 22.12 or newer | Not stated |
The template is finished and tested. It is not on sale yet; this page will say where to get it when it is.
Coming soon
Not published on its store yet, so there is no buy or download link. PN Scripts does not take payment for it here.