Skip to content

Roadmap

github-actions[bot] edited this page Jun 27, 2026 · 112 revisions

Synced from docs/ROADMAP.md @ e98fea0. Edit there, not here.

Candela roadmap

A short-form list of shipped + in-flight + planned work. Detailed designs live under docs/superpowers/specs/. Touching Compose? See docs/compose-gotchas.md for known scope-shadowing and stability traps before searching the internet for confusing errors.

Last refreshed for v1.1.5 (AGP 9 migration + deprecation cleanup). Prior major refresh was v0.5.51.


Shipped in the v0.5 line

The full v0.5 line landed the bulk of the user-visible surface — twenty-one fiction backends, three voice families, the AI chat heavies, performance work that hit the 0.8 s cold-launch target, the a11y pass, and the TechEmpower repositioning.

Voice + audio

  • KittenTTS lightest-tier voice family (v0.5.36, #119) — ~24 MB shared across 8 en_US speakers, "first chapter in 10 seconds" on slow devices
  • Per-voice lexicon override (#197) — IPA pronunciation dictionaries per voice
  • Kokoro phonemizer-lang override — per-voice language pinning for proper-noun fixes
  • Full PCM cache series (v0.5.47–v0.5.49) — streaming-tee, cache-hit playback, background pre-render, Settings UI for cache size + eviction, status icons on chapter rows
  • Magical brass voice-settings icon on the play screen replacing the buried overflow

Performance

  • Cold launch 6.7 s → 0.8 s on Galaxy Tab A7 Lite (v0.5.46) — R8 minification + Baseline Profile (#409) + isDebuggable=false in release builds
  • :baselineprofile producer module — UI Automator walks the hot path on :app and emits baseline-prof.txt for the AndroidX plugin to wire back

Accessibility (v0.5.43)

  • Twelve a11y audit findings closed — high-contrast brass-on-near-black theme, prefers-reduced-motion collapses fold-in animations, TalkBack pacing tuned to chapter-list patterns
  • Accessibility settings subscreen — high-contrast toggle, reduced-motion toggle, dyslexia-friendly font opt-in

Navigation (v0.5.40, settling v0.5.50)

  • Nav restructure — Settings becomes a primary destination; Browse and Follows tuck under Library
  • Final four-tab dock{Playing · Library · Voices · Settings} (v0.5.50 revision)
  • InstantDB cross-device sync (#360, v0.5.12) — library / follows / positions / bookmarks / pronunciation / encrypted secrets
  • Magical sign-in surface — InstantDB auth with brass-edged onboarding

AI chat heavies

  • Cross-fiction memory (#217) — character/place/concept entities surface in per-book Notebook tab with manual edit
  • Function calling (#216) — "Add this to my Reading shelf", "Queue chapter 5", "Open Voice Library" route through ToolCatalog; brass-edged tool cards show in-flight state
  • Multi-modal image input (#215) — paste cover art/scene refs into chat (Anthropic + OpenAI native, auto-downscale to 1280 px / JPEG q=85)

TechEmpower-as-default (v0.5.51, six-parallel-agent bundle)

  • Library brass TechEmpower hero card at the top of the Library tab (#511)
  • TechEmpower Home — dedicated screen with Discord peer support + dial 211 + Browse library + About cards
  • README repositioning — leads with TechEmpower's mission, audiobook engine framed as "under the hood"
  • Beautiful Notion covers (#514) — body-image fallback + brass-edged synthetic BrandedCoverTile for cover-less pages
  • Home-screen widget — Continue Listening + Play/Pause on Android home/lock surfaces
  • AO3 auth PR1 (#426) — auth surface scaffolding; PR2 wires the WebView login flow

Four new fiction backends (v0.5.51)

  • :source-telegram (#462) — public Telegram channels via Bot API
  • :source-palace (#502) — Palace Project free-library catalog walker (OPDS); non-DRM titles only, LCP DRM deferred
  • :source-slack (#454) — Slack channels as fictions via Web API
  • :source-matrix (#457) — federated Matrix rooms as fictions

Earlier v0.5 (fiction backends — running totals)

  • 17 → 21 fiction backends — Telegram + Palace + Slack + Matrix (v0.5.51) on top of Hacker News, arXiv, PLOS, Discord, Wikisource, Radio Browser (v0.5.38)
  • @SourcePlugin annotation + KSP processor (v0.5.27) — adding a backend is ~4 touchpoints; Plugin manager auto-discovers
  • Plugin manager Settings hub — brass-edged card grid iterating the registry

In flight

  • AO3 PR2 — login wiring (#426) — wire the WebView login on top of PR1's auth surface. Unlocks bookmarks/marked-for-later sync and adult-content gating.
  • Discord channel-as-fiction wiring follow-up (#502 follow-up) — improvements after the initial Palace Project pass.
  • Settings hub follow-through — the v0.5.38 hub has 13 cards; 5 route to subscreens, 7 still fall back to the legacy long-scroll. Each one wants its own subscreen.

Toward v1.0

  • v1.0 release keystore (#16) — generate a proper release keystore + signing config; ship a stable signed APK from a CI secret. Currently shipping with the checked-in debug keystore (stable since v0.4.15 but not the production posture).
  • VoxSherpa knob exposure (research draft) — loudness normalization, breath pause, pitch envelope as user-tunable settings.
  • Auto integration — Media3 MediaSessionService + MediaBrowserService exposes the library to Android Auto.
  • Wear OS pairing polish:wear builds; pairing-and-discovery via play-services-wearable works in principle but isn't a polished experience yet.

Backlog

  • AudioTrack.Builder + AudioAttributes — swap the legacy six-arg AudioTrack(STREAM_MUSIC, …) ctor for the modern Builder form with USAGE_MEDIA / CONTENT_TYPE_SPEECH. Defer until we're sure the v0.4.x fuzz fix sticks across all chips.
  • Voice-tagging in candela.json — let a fiction author specify a preferred narrator voice (narrator: "en-US-Andrew"). Per-fiction default; user can still override.
  • Sleep timer end-of-chapter mode — fade-out tail polish.
  • Knowledge graph for fiction (#147) — per-book Notebook seeding into MemPalace. Cross-fiction memory (#217) is the read path; the seed-into-MemPalace write path is the remaining piece.

Docs / site

  • Comprehensive site + docs sweep for v0.5.51 — landing page, install, voices, architecture, ROADMAP, screenshots, README, wiki, version.json (this PR).

Clone this wiki locally