Gentle Mahjong™

Road to 1.0

A calmer, stronger game is growing one careful milestone at a time.

Our promise: reliability before breadth. Stability, accessibility, player privacy, and preserved progress always come before a release date.

Development milestones

Completed history · v0.8.7–v0.9.4

Reliable foundations

  • Deterministic boards, safe reshuffles, versioned restoration, and Undo protection
  • Keyboard, screen-reader, zoom, contrast, forced-colors, and reduced-motion support
  • Clear Settings, unified dialogs, improved performance, and calmer first sessions
  • Security, privacy, save migration, account recovery, exports, deletion, and database backups
  • Accessible language resources and community correction workflow

Completed and superseded · v0.9.5

Sound and presentation

  • Independent ambience, effects, celebration, and Silent controls completed
  • The original Journey-motion plan was superseded by a complete environmental overhaul
  • All 20 Journey locations now contain seven cumulative restoration stages, responsive framing, accessible descriptions, reduced-motion support, and restrained environmental animation
  • Any remaining sound or presentation polish now belongs to current RC0 finalization

Completed history · v0.9.6

Content validation

  • Normal, daily, seasonal, and weekly board infrastructure received deterministic validation
  • Seasonal deals, inventory-safe reshuffles, hemisphere behavior, and returning rewards received regression coverage
  • Difficulty and the 60 daily challenges were tested for reproducibility and fairness
  • Final seasonal/date review, long-term progression review, and the 1.0 achievement set moved into RC0 finalization
  • The optional mastery concept remains post-1.0 rather than a launch requirement

Completed with cancelled store work · v0.9.7

PWA and install readiness

  • Manifest, original icons and screenshots, theme colors, offline launch, installation, and update behavior completed
  • Privacy, support, account deletion, credits, copyright, asset authorship, retention, and player-facing access were documented
  • The public app-store and Android-store plan was intentionally cancelled; the installable web app is the supported path to 1.0
  • Remaining PWA presentation and update issues moved into RC0 finalization

Completed · v0.9.8.9 RC0

Final planned work before feature freeze

  • Twenty-location Journey environmental restoration overhaul and Journey-wide animation
  • Purpose-built mobile gameplay redesign and stabilization, including a dedicated mobile-first pass fixing status-bar text truncation and Seasonal Garden path-node crowding on narrow phones
  • Private player notices through the existing Garden Keeper infrastructure
  • Targeted pre-Journey code cleanup with clearer rendering ownership
  • Security Remediation Batches 1 and 2, Garden Keeper improvements, and a sanitized deterministic production artifact
  • The private Player Profile shipped: self-view only, built-in avatars, a denylisted display name, featured pins, and an optional private shared page with real trophy and keepsake artwork -- see docs/V0.9.8-RC1-PLAN.md
  • Corrected mobile Settings and More text/control overflow appearing under the wrong tab

Decided: the private Player Profile ships as part of 1.0. Decided: Garden progression, Journey progression, and normal achievement progress all reset at 1.0.

Outstanding sound and presentation polish, remaining content/seasonal/date/daily validation, the final 1.0 achievement set, and pre-1.0 statistics preservation in Garden Keeper were not finished in RC0 and carry forward as RC1 work.

Current · v0.9.8.9 RC1

Feature Freeze

RC1 adds no new player system. Work is limited to serious usability, accessibility, security, data-loss, impossible-board, and account-synchronization problems -- see docs/V0.9.8-RC1-PLAN.md for the full plan and tester matrix.

Completed toward RC1

  • Emulated accessibility, performance, PWA offline behavior, and progression/recovery audits, each verified live in a real browser rather than by static assertion alone
  • A broad walkthrough of secondary features (achievements, statistics, sound settings, all four Seasonal Garden collections, weekly-event boards, and board layout variety) found no rough edges
  • Sound and presentation polish audited against a full checklist -- audio consistency and volume isolation, Reduced Motion and Static Celebrations coverage, presentation consistency, 200%/400% browser zoom, and first-time/returning-player flows -- with no issues found
  • Content, seasonal, date, and daily validation audited directly against the calendar and progression code and live browser behavior -- DST, leap years, year boundaries, hemisphere switching, mid-play seasonal transitions, Garden sequential unlocking, and Journey's independence from calendar transitions -- with no issues found
  • A full player-experience walkthrough on desktop and mobile, from first launch through tutorial, completion, rewards, Journey, and a multi-day return, found nothing that would prevent calling this 1.0-ready pending real-device testing

Remaining RC1 work

  • Define and balance the final 1.0 achievement set once external testers report how quickly the current cabinet fills during normal play
  • Preserve appropriate pre-1.0 statistics in Garden Keeper at the 1.0 transition itself, not before
  • Use a small external testing group across real devices, browsers, installed PWAs, and accessibility setups -- emulated testing does not replace this
  • Collect structured tester reports and prioritize fixes by severity rather than novelty
  • Test clean installs, upgrades, long sessions, Journey progression, and account/save synchronization
  • Verify seasonal behavior, audio, mobile clipping and layout, and PWA update behavior on real hardware

Next · RC2

1.0 Dress Rehearsal

RC2 contains no feature development.

  • Resolve every known Critical and High issue and rerun the full automated/manual matrix
  • Test old-save migration, installed-PWA updates and rollback, offline-to-online transitions, orientation changes, backgrounding, and resume
  • Validate seasons and returning rewards across year boundaries
  • Complete accessibility and account, recovery, support, deletion, moderation, legal-hold, retention, and cleanup verification
  • Verify Cloudflare and security configuration, create the final D1 backup, and archive pre-1.0 source and deployment evidence
  • Rehearse the 1.0 reset and founder transition/claim, then prepare release notes and an honest known-limitations list

Release gate · Version 1.0

Requirements for 1.0

Gentle Mahjong will not be labeled 1.0 until:

  • There is no known progress-loss, impossible-board, or tile-inventory bug
  • Every supported older save migrates safely and updates preserve active games and player data
  • Mobile portrait and landscape are reliably playable
  • JAWS, NVDA, VoiceOver, and keyboard flows are usable
  • Account and seasonal progress synchronize reliably
  • Audio works or fails gracefully
  • All public and administrative APIs have passed security review, and Privacy claims match the code
  • Seasonal schedules and returning rewards work across year boundaries
  • A small external test group completes repeated sessions without developer assistance
  • Critical automated suites pass for every release candidate

Reliability before breadth.

Planned decision · 1.0 transition

Protect history, begin the finished garden

  • Preserve: accounts, Player IDs, settings and accessibility preferences, founder eligibility/history, and appropriate pre-1.0 historical statistics
  • Reset: Garden progression, Journey progression, and normal achievement progression
  • Archive pre-1.0 statistics appropriately in Garden Keeper rather than destroying them

This roadmap records the intended transition; it does not implement it.

Beyond 1.0 · No promised dates

Future garden paths

  • An annual event framework with unique Valentine’s Day, Spring/Easter, Halloween, Winter/Christmas, and other events instead of identical yearly repeats
  • Permanent Event Memories, keepsakes, and an archive
  • Garden expansions, additional Journey content, and new Mahjong layouts and themes
  • Post-launch achievement groups and Garden Keeper event-management tools with aggregate analytics
  • Optional player-created share cards containing only explicitly selected information
  • Account and cross-device improvements guided by real player behavior
  • Reconsider native or wrapped mobile apps only after evaluating the mature 1.0 PWA