Skip to content

Repository files navigation

Nebuloom

Nebuloom is a local-first wallpaper studio for abstract wallpapers built from gradients, shapes, and grain. This repository is a small workspace: apps/ holds runnable applications, packages/ holds reusable code, and the root coordinates shared commands and workspace configuration.

Why apps/web Exists

apps/web exists because it is the runnable SvelteKit application in the workspace.

  • apps/ is for applications you can run, preview, and deploy.
  • packages/ is for reusable code that should stay independent from any one frontend.

Today Nebuloom only has one app, but the folder still clarifies that the frontend is an application, not the whole repository.

Nebuloom currently ships a curated catalog of 24 preset starting points across four visual families. Presets are intentionally treated as recipes, not locked templates: the engine defines the starting composition, and the studio lets you swap palette, format, seed, and tuning controls on top.

What Goes Where

Put these concerns in apps/web:

  • routes and page composition
  • Svelte components and UI styling
  • Svelte stores and browser state
  • local persistence such as localStorage

Put these concerns in packages/wallpaper-engine:

  • preset, palette, and format definitions
  • preset family taxonomy and curated starting recipes
  • shared types
  • deterministic scene generation from a seed
  • canvas rendering
  • raster export helpers

If code can be reused by another app or should stay UI-free, it belongs in packages/wallpaper-engine.

Dependency Flow

The dependency direction is intentionally one-way:

apps/web -> packages/wallpaper-engine

apps/web may depend on @nebuloom/wallpaper-engine. packages/wallpaper-engine must not depend on app code, Svelte stores, routes, or browser persistence.

Commands

Use the root workspace commands:

vp install
vp run dev
vp run check
vp run test
vp run build

The examples above assume vp is available globally. If it is not installed globally in your shell, use the local binary instead:

./node_modules/.bin/vp run check
./node_modules/.bin/vp run test

Packages

  • apps/web: Nebuloom's SvelteKit frontend, including the landing page, studio UI, and local persistence.
  • packages/wallpaper-engine: the framework-agnostic engine package for presets, scene generation, rendering, and export helpers.

See docs/architecture.md for placement rules and examples.

About

Local-first wallpaper studio for creating abstract backgrounds from gradients, shapes, grain, presets, and reproducible seeds.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages