More providers, a deep refactor, and two new games
Random AI Prompt has its biggest day yet — 2.15.0 through 2.28.18: the interface goes multilingual, the single-image view gains real actions, the provider set roughly doubles and grows a whole AI upscale/enhance row, and then the codebase is taken apart floor-up into tested modules, capped by a memoization that makes prompt generation ~280× faster. Fairy Fox Games ships two more games — Orbit Slingshot and Polarity — and the hub finishes wiring the games repo in as a tracked node.
A heavy day across the mesh. Random AI Prompt moved
a remarkable distance in one stretch — from 2.15.0 to 2.28.18 — adding capability
on top, then rebuilding the structure underneath. Fairy Fox
Games added two more games, and this site finished
bringing that repo in as a first-class node.
The interface learns other languages
The prompt tool’s web app became internationalized (2.15.0): its strings now go through react-intl and FormatJS, so the entire interface can be translated rather than being hard-wired to English. It is the kind of change that touches almost every component at once but shows nothing on the surface until a locale is added — the groundwork for the app to speak more than one language.
The single-image view grows up
The dedicated single-image view gained the actions it was missing. First (2.16.0) came re-roll and variation — regenerate a prompt fresh, or nudge an existing one — with each result keeping a tracked ancestry back to what it came from, plus a Markdown export. A second round (2.17.0) added inline actions, live derived strips, a resizable layout, a “View Raw” mode, and uniform locks, so the view reads and behaves consistently with the rest of the app.
A wave of providers — and upscaling joins generation
The biggest visible jump was the provider set. The app already dispatched prompts to a range of image generators; over the 2.18–2.28 line that roughly doubled and grew a new dimension. An AI upscale / enhance framework landed first (2.18.0) with an NSFW soft-lock, then a dedicated Upscaler / Enhancer row in the UI and a steady run of providers to fill it — DeepAI, Picsart, Segmind, the local Stable Diffusion stack (A1111, Forge, SD.Next, ComfyUI), Clipdrop, Venice, and a set of async-job enhancers (WaveSpeed, Claid, Deep-Image, neural.love, VanceAI, Leonardo, Replicate). A parallel batch added text (prompt-rewrite) providers, reaching 18 in total (2.27.0–2.28.0). The through-line: generation is no longer the end of the road — a finished image can be sharpened in the same app, and far more services are reachable for both jobs.
Then the floor is rebuilt — with tests under it
With the surface that broad, the back half of the day was a deliberate refactor (Phases 4–6) that took the largest files apart into focused, individually testable modules — the Home image-batch flow, the 900-line single-image view, the Manage tab’s tree CRUD, the list manifest, the content-safety lexicons, and the DPL language tooling. The discipline worth noting is that previously-untested logic landed its test net at the same time it was extracted, rather than after: the Manage tree, the wrapper presets, the list-editor ops, and the dev-server API helpers all gained unit suites as they moved. Alongside it, a Lighthouse polish pass took SEO and Accessibility to 100 and Performance to 97, backed by real meta tags and a CI gate so the scores can’t silently regress.
The day closed on a profiling win: the data loaders had been redoing their entire
static catalog on every generated prompt. Memoizing the directory walks and the
keyword vocabulary cut a single generate() from roughly 56 ms to 0.2 ms — about
280× faster — with no behavior change, because the loaders only ever read a catalog
that’s fixed for the life of the process.
Two more games
Fairy Fox Games shipped two new games the same day,
taking it from 0.2.0 to 0.4.0. Orbit Slingshot (0.3.0) is a gravity game: hold
to thrust a probe around a planet, sweep the targets, and avoid both crashing and
escaping — its pure core runs a symplectic-Euler integrator with a 600-tick
orbit-stability test among its 16. Polarity (0.4.0) is a charge-match runner: flip
between cyan and magenta to match each incoming gate, where a clash ends the run and
the pace keeps climbing, with a 2000-tick buffer-integrity check in its 15-test suite.
Both follow the house pattern — a tested logic core split cleanly from a thin rendering
shell — so however small the game, it ships to the same bar as the rest of the mesh.
The hub finishes wiring the games in
On the hub side, the day before’s work to register Fairy Fox Games as an integrated
node was completed (0.9.10–0.9.12): a full-history reference clone added under
assets/references/, a tracking entry in the round-up markers, the project card and
node page reconciled to the real repo state, and the planned player page renamed from
/fun/ to /games/. The games repo is now read on the inbound side like the other
siblings — which is exactly why its two new games could be picked up and written about
here.