Skip to content

Roadmap

DoubleGate edited this page Jul 8, 2026 · 1 revision

Roadmap

RustySNES ships as a named, versioned release ladder (to-dos/VERSION-PLAN.md in the repo is the canonical source — this page mirrors it, and may lag slightly behind; the repo doc always wins on a conflict).

Shipped

  • v0.1.0 "Foundation" — the first tagged release, closing the gap between the substantial engineering already done (CPU oracle, scheduler/PPU, APU, Core/Curated + several BestEffort coprocessors, a playable native+wasm-compiling frontend) and an actual GitHub release.
  • v0.2.0 "Persistence" — a versioned, deterministic core-wide save-state format (System::save_state/load_state), the prerequisite every downstream feature below builds on.
  • v0.3.0 "Continuum" — rewind and run-ahead (both built on v0.2.0's save-state primitive), PAL region auto-detection, and the ExLoROM memory-map model.

Next

  • v0.4.0 "Completion" — closes out the coprocessor/board matrix: SPC7110 fully validated (it currently implements the algorithm but doesn't yet boot to real content), ST018 (an ARMv3 LLE core, not started), and standalone S-RTC.
  • v0.5.0 "Fidelity" — the accuracy push: a named hardware-gotcha regression suite, un-deferring the mid-line-raster PPU gap, pushing the composed accuracy battery toward its ceiling.
  • v0.6.0 "Shippable" — release-engineering + doc parity: the full playable WebAssembly frontend (not just a bootstrap scaffold), a cargo audit/cargo deny gate, docs/benchmarks.md, ADR backfill.

v1.0.0

Deliberately not gated on feature breadth. Gated on: the accuracy battery holding its v0.5.0-established target with no regressions, a stable save-state/core API, and a genuinely shippable multi-platform app (native binaries + a wasm demo, both produced by the release pipeline). README/CHANGELOG/docs/STATUS in sync.

Post-v1.0.0 — Reach (deferred, themed minors, additive/default-off)

None of these have started — rustysnes-netplay, rustysnes-cheevos, and rustysnes-script are all still 1-line stub crates.

  • v1.1.0 — Lua scripting (rustysnes-script) + a first debugger pass (breakpoints, memory viewer). See Scripting-Engine.
  • v1.2.0 — Rollback netplay (rustysnes-netplay), riding on the save-state format + the v1.0.0-stabilized determinism contract. See Netplay-and-Rollback.
  • v1.3.0 — RetroAchievements (rustysnes-cheevos), via rcheevos.
  • v1.4.0 — TAS movie recording/playback.
  • v1.5.0+ — shader/filter pipeline, cheat-code support, a Libretro core. Treated as a stretch tail, not committed scope up front. See Libretro-Core.

See Deferred-Features for what's explicitly deferred (not merely unstarted) and why.

Clone this wiki locally