Generate desktop and mobile wallpapers with color-theory palettes and layered patterns. Runs entirely client-side — no server, no build step, just static files served via GitHub Pages.
- 9 pattern types → gradient, geometric, waves, noise, particles, text, landscape, celestial, texture.
- Layered compositing → stack unlimited patterns with per-layer opacity, blend modes, and CSS filters.
- Color theory engine → 5 harmony types (complementary, analogous, triadic, split-complementary, tetradic) with dark/light variant generation.
- 21 built-in presets → one-click starting points from minimal gradients to full sci-fi landscapes.
- PNG export → download dark, light, or both variants at any resolution up to 5K.
- Shareable links → config encoded in the URL hash fragment for zero-server sharing.
- Responsive neumorphic UI → dark/light theme toggle, live preview, drag-to-reorder layers.
| Layer | Choice |
|---|---|
| Language | Vanilla JS (ES modules, no build step) |
| Rendering | Canvas 2D API |
| Styling | CSS custom properties, neumorphic design |
| Icons | Lucide via CDN |
| Fonts | DM Sans + Outfit |
| Testing | Vitest (117 tests across 10 files) |
| Hosting | GitHub Pages (static files) |
# Install dev dependencies (Vitest only).
npm install
# Run tests.
npm test
# Run tests in watch mode.
npm run test:watchNo build step — open index.html directly or serve with any static file server.
├── index.html Entry point.
├── css/ Stylesheets (variables, base, components).
├── js/
│ ├── core/ Color engine, layers, renderer, config, presets.
│ │ └── patterns/ Pattern implementations + registry.
│ └── ui/ Theme, controls, layers panel, preview, download.
├── tests/ Vitest test suites mirroring js/ structure.
└── docs/specs/ Behavior specifications (6 spec files).