{
  "project": {
    "name": "Wallpaper EQ Generator",
    "version": "0.1.0",
    "updated": "2026-05-19",
    "localPath": "/Users/jason/Projects/wallpaper-eq-studio",
    "cloudflarePagesProject": "wallpaper-eq-studio",
    "siteUrl": "https://wallpaper-eq-studio.pages.dev"
  },
  "requirements": {
    "node": ">=22",
    "desktopRuntime": "Electron 33.2.0",
    "externalTools": [
      "ffmpeg",
      "ffprobe"
    ],
    "windowsNotes": [
      "Windows x64 ZIP is unsigned.",
      "ffmpeg and ffprobe must be on PATH for desktop exports."
    ]
  },
  "artifacts": {
    "windowsZip": {
      "localPath": "apps/desktop/release/Wallpaper EQ Generator-win-x64.zip",
      "siteManifest": "/downloads/wallpaper-eq-generator-windows-x64.manifest.json",
      "sha256": "de5f2f03cbb224013631f91544f141107edeb617a3fd355a322cd3ff27871730",
      "approxSizeMiB": 152
    },
    "sourceZip": {
      "sitePath": "/downloads/wallpaper-eq-generator-source-v0.1.0.zip"
    },
    "webStudio": {
      "sitePath": "/studio/"
    }
  },
  "commands": {
    "test": "npm test",
    "buildWeb": "npm run build:web",
    "packageWindows": "npm run package:win --workspace @wallpaper-eq/desktop",
    "prepareSite": "node scripts/prepare-site-assets.mjs",
    "deploy": "npx wrangler pages deploy site --project-name wallpaper-eq-studio"
  },
  "workspace": {
    "desktopApp": "apps/desktop",
    "webStudio": "apps/web",
    "types": "packages/types",
    "engine": "packages/engine",
    "docs": "docs",
    "site": "site"
  },
  "coreFiles": [
    "apps/desktop/src/App.tsx",
    "apps/desktop/electron/ipc.ts",
    "apps/desktop/electron/services/generationService.ts",
    "apps/desktop/electron/services/composer.ts",
    "apps/desktop/electron/services/frameRenderer.ts",
    "apps/desktop/electron/services/qa.ts",
    "packages/engine/src/audio/barAnalysis.ts",
    "packages/engine/src/render/drawFrame.ts",
    "packages/engine/src/physics/simulate.ts",
    "packages/types/src/index.ts"
  ],
  "currentCapabilities": [
    "image or video wallpaper input",
    "music track input",
    "FFT bar analysis",
    "equalizer overlay modes",
    "transparent item sprites",
    "auto hitbox extraction",
    "per-item physics",
    "proxy generation",
    "QA-gated final MP4 export"
  ],
  "nextRoadmap": [
    "launcher shell",
    "mode registry",
    "Core EQ mode extraction",
    "MP4 with audio as a first-class timeline source",
    "Porter Robinson-inspired original mode",
    "Sewerslvt/glitchbreak-inspired original mode",
    "shared export queue and QA across modes"
  ],
  "rightsPolicy": "Use original fan-made assets and user-provided rights-cleared media. Do not bundle official artist art, logos, album covers, videos, or music."
}
