Roadmap
The single source of truth for what Iblis intends to build, in what order, and why. Rendered live on https://iblis.meiuxmeiux.com/roadmap. Update via PR — never duplicate this content into the site.
Granularity rule: each phase is a small set of bullets, each bullet is a verifiable outcome. If a bullet wouldn't fit in a single PR description, split it. Anything past v1.0 is intent, not commitment.
Phase 0 — Foundation
- Repo scaffold, charter, feature docs, Justfile.
- Apache vhost template +
just provision-vhost/just provision-ssl. - Placeholder site renders CHANGELOG and ROADMAP from this repo.
Done when: https://iblis.meiuxmeiux.com/ returns 200 with TLS, showing this file.
Phase 1 — Shell skeleton
- Electron + Vite + Svelte 5 app opens on Windows 11 with Mica backdrop.
- Custom titlebar; default dark theme via CSS variables only.
- Empty-state Home view: "Install the engine pack to get started."
electron-updaterwired to a signed release feed served by the site.
Done when: just build produces an installer that opens to the empty
state and self-updates on a staged-tag bump.
Phase 2 — Plugin host
- Signed catalog fetch (Ed25519). SHA-256 verified asset downloads.
- Versioned plugin folders, atomic
current.txtpointer, instant rollback. - Sidecar supervision: spawn, health-check, hot-swap, kill-on-quit.
Done when: a stub echo-server plugin installs, updates, rolls back,
and removes entirely through the UI — no CLI involved.
Phase 3 — Audio engine plugin (ACE-Step)
bin/ace-server.exebuilt in CI (CUDA + CPU fallback).manifest.jsondeclares LM + DiT + VAE + embed GGUFs.- First-run wizard probes VRAM, picks
fast/balanced/quality.
Done when: prompt → 48kHz WAV in the library, under 60s on RTX 3090.
Phase 4 — Library + waveform vis
- SQLite schema (tracks, plugin_state, folders, prompts).
- Inline
<audio>playback. Drag-out to OS filesystem. - Folders, rename-in-place, cover upload + cover-regen hook.
- Prompt re-use: every track stores its prompt; one-click "remix this."
- One built-in waveform visualizer; visualizer interface is a plugin slot so future skins/visualizers compose without re-build.
Done when: a non-technical user can produce a track, file it in a folder, rename it, swap its cover, and remix its prompt without docs.
Phase 5 — Stem split + image gen plugins
- Stem splitter plugin (Demucs port or equivalent native binary).
- Image-gen plugin (SDXL-Turbo or Flux-schnell, GGUF preferred).
- Both expose their results into the library's per-track sidecar files.
Done when: generate track → auto-cover via image-gen → split stems → all artifacts visible against the same track row.
Phase 6 — Skinning UI (in-app)
- Theme picker + "edit current skin" panel inside Settings.
- CSS variables only; skins are JSON-described overrides + optional CSS.
- Several first-party skins covering dark / light / "fun flavor" extremes.
Done when: a user switches skins live, edits one, and exports it as a
shareable .iblis-skin file. New skins composed against the contract
work on every plugin without that plugin knowing the skin exists.
v1.0.0 — MVP launch
All of Phases 0–6 green. Plus:
- The "Easy Mode" / "Sell-your-soul" installer flow (see
docs/feature/installer.md). PRIVACY.mdshipped in the installer.- Jack has generated 50+ tracks across 5+ genres and is satisfied.
Beyond v1.0 (intent, not commitment)
- BPM / key detection plugins (multiple implementations, user picks).
- Node-based builder (ComfyUI-style) as an optional plugin.
- File-explorer UI as an optional plugin.
- DAW drag-and-drop integration.
- Sample-pack pipeline.
- Auto-mastering chain.
- Share-link plugin (when/if cloud is opened up).
- Credit / cloud-boost system (deliberately last — see charter).