The game workbench
Fill the jar. Then prove what's in it.
In charitable gaming a jar is the deal — the container the pull-tabs live in. A jar is only worth something if you can say exactly what is inside and back it up. Sealed Jars is where that happens: one local application that builds a game, lets you open it back up and change anything, then seals it with the checks and the paperwork.
Every model runs on the same machine as the workbench. No cloud service sees a game before players do.
01 — The workbench
Five views, one machine
Generation is configured, watched, inspected, corrected, measured and played in a single window. Nothing here is a report you read later; every view is something you can change.
Queue
Configure the run and watch it happen, asset by asset.
Inspector
Every image, animation and audio track in a game.
Math
The prize distribution, live, with the statistics under it.
Play
Spin the finished game before anyone else does.
Logs
The full generation log, streamed as it runs.
Running a batch
Progress streams live: which game, which asset, which stage. A run can be paused, resumed or cancelled part-way, and an individual image can be accepted or rejected while the batch is still going, so a bad symbol is replaced in place rather than after the fact.
Prompt to play
One sentence — a theme, a mood, a request — produces a complete private game for a single player: math, art, audio and all. In fast mode that lands in about fifteen minutes, which is short enough to do while someone watches.
02 — Change anything
Three levers on every image
Generating the first version is the easy part. The work is the second pass, so every image in a game — symbol, logo, background, frame, button — can be changed three different ways, and the current prompt is always right there to read and edit.
01
Regenerate
Same description, new roll of the dice. For when the idea was right and the execution was not.
02
Edit the prompt
Rewrite the description, then regenerate. For when the idea itself was wrong: a different pose, a different object, a different time of day.
03
Describe a change
Ask in plain words — "remove the text", "make the sky darker" — and the existing picture is edited rather than replaced. Composition, palette and style survive; only the thing you named changes.
Why edit beats regenerate
In September 2026 we repaired 41 shipped backgrounds that had words painted into the artwork. Regenerating them would have produced different pictures and broken the animations built from them. Editing them in place removed the text and left everything else identical.
Animations
Regenerate one looping clip at a time, so a single bad loop does not cost you the other nine.
Audio
Six tracks per game — an ambient score and five win and bonus stingers — regenerated to match the theme and the volatility of the math.
03 — The math
The prize pool is an instrument, not a printout
A finite-pool game is its ticket deck. The Math view puts that deck on screen as something you can pull apart and put back together, with every statistic recomputed from the tickets themselves rather than from the settings used to build them.
Prize distribution
Each prize level is a bar: how many tickets pay $6, how many pay $50, how many pay the top prize. Drag one and the deck changes underneath it.
Rebalance
Hand-editing a distribution breaks the payback percentage. Rebalance adjusts the remaining levels to bring the deck back to its target and reports the new numbers — so you can move the top prize and let the tool restore the arithmetic.
Statistics
Total tickets, ticket price, payback, hit rate, top prize, volatility index, standard deviation and the max win as a multiple of the bet. All measured from the pool as it stands.
Slot presentation
For games that also run as a five-reel slot: the symbol distribution per reel, the paytable and return analysis with each combination's count, probability and share of the return, and the reel strips position by position. Fixed paylines or ways-to-win, set as configuration rather than code.
04 — Sealing the jar
Nothing ships on the strength of looking finished
Every game passes the same gate before it leaves the bench. Anything that fails is fixed or regenerated rather than shipped.
Deck math, from the tickets
Deck size, payback, hit rate and prize floor are recomputed from the actual pool. No prize may fall below the smallest symbol payout.
Payout integrity
Each symbol's advertised payout must equal the largest win it actually produces in the deck, and every symbol must appear in the paytable.
Reel simulation
Reels are simulated to confirm the return and hit rate land in band, and that every paying symbol appears on every reel.
Art read-back
Local vision models read each logo and spell the title back letter by letter. It passes only if the title is read correctly and spelled correctly — a weaker check once reported the name it expected instead of the letters drawn, and misspelled logos reached players.
Asset completeness
Every symbol has artwork under its own name; every game has both frames, logo, background, buttons, animations and all six audio tracks. A game missing one file does not ship.
Bonus completeness
A pick-em bonus is fully populated on every ticket that awards it, or absent entirely. Players never meet a half-configured bonus.
End-to-end play
An automated browser suite plays games through the real interface to confirm they load, spin and pay as designed.
Reproducible inputs
Every asset keeps the description and the starting number that made it, and the models stay on local disk, so a game can be reopened and re-proved months later.
05 — The paperwork
What comes off the bench
A jar on the counter carries a flare: the posted sign that states the game, the price, the card count and the full prize structure. The regulated equivalent is a PAR sheet, and the workbench writes it.
PAR sheetExcel, XML or text
The mathematical description of the game: prize structure, probabilities, return and volatility.
Regulatory packageOne zip, ready to review
The PAR sheet, a math summary and a draft submission letter addressed to an independent test laboratory.
Variance statisticsMeasured, not asserted
So the volatility claim in a submission is a number that came from the deck rather than an adjective.
A finished jar
deck.json the verified finite ticket pool game_config.json symbols, payouts, paytable, draw modes, mechanics reels.json five 64-symbol reel strips for slot presentation images/ symbols, logo, background, two frames, buttons images/videos/ looping symbol and background animations audio/ ambient score and five stingers pulltab.html pull-tab entry point index.html slot entry point PAR sheet math summary for lab submission