AuraWall is a vector-first wallpaper generator built with React, TypeScript and SVG. The editor and the promo site are both static deployments, so the full product works without a backend and can be published on GitHub Pages.
- 10 visual engines:
boreal,chroma,lava,midnight,geometrica,glitch,sakura,ember,oceanic,astra - 1 engine active at a time in the editor
- 3 curated library presets per engine
Randomizar Motor Atualthat preserves the identity of the selected preset when one is activeVariacoes Inspiradasgenerated from the current canvas, not from an unrelated engine default- real preset thumbnails rendered from the same SVG config used by the canvas
- export to
JPG,PNGand sourceSVG
AuraWall has two surfaces:
src/: the main editor appwebsite/: the promo site
The editor is driven by WallpaperConfig. Engines generate and transform that config, WallpaperRenderer turns it into SVG, and export flows rasterize when needed.
Each engine has:
- engine metadata in
src/engines/*.ts - 3 curated library presets in
src/constants.ts - engine-specific randomization rules
- inspired variation transforms derived from the current canvas
Canonical promo imagery is also preset-based. Each engine maps to one official preset through CANONICAL_ENGINE_PRESET_IDS in src/constants.ts, and the promo/site background SVGs are regenerated from those presets.
- Node.js 20.19+ or 22.12+
- npm
npm cinpm run devnpm run lint
npm run build:app
npm run build:promo
npm run generate:engine-samples
npm run generate:promo-assetsThe repo includes a CLI renderer for sampling engines without opening the UI:
npm run generate:engine-samples -- --engines=midnight,glitch,sakura --count=2 --width=2560 --height=1440 --formats=jpgThis uses the real engine definitions and the real WallpaperRenderer, and writes outputs to .dev/img/cli-samples/.
The promo site does not invent engine illustrations separately. Instead, it consumes canonical SVGs generated from one official preset per engine:
npm run generate:promo-assetsThis updates both:
public/bg-*.svgwebsite/public/bg-*.svg
src/constants.ts: defaults, preset library, canonical promo preset mappingsrc/engines/*.ts: engine metadata, randomizers, inspired variation rulessrc/components/WallpaperRenderer.tsx: SVG renderersrc/App.tsx: editor flow, preset selection, randomization, exportwebsite/src/data/engines.ts: promo catalog metadata
Before shipping changes, run:
npm run lint
npm run build:app
npm run build:promo