Skip to content

Releases: TibetOS/Roulette

Release list

v0.2.0

Choose a tag to compare

@TibetOS TibetOS released this 26 Feb 21:59
0e058d9

v0.2.0 — Full Feature Release

Highlights

Resolved all 34 open issues in a single session using 5 parallel agents across 2 waves.

Bug Fixes

  • Secure RNG: Replaced Math.random() with crypto.getRandomValues() for fair results (#1)
  • Column bet indicator: Fixed chip placement on correct column/dozen cells (#2)
  • Animation loop: Added rAF cancellation to prevent double animations (#3)
  • Canvas clarity: Fixed blurriness on Retina/HiDPI displays (#8)
  • Color contrast: Fixed WCAG AA compliance for lose-message text (#18)

New Features

  • localStorage persistence: Balance saved across sessions (#10)
  • Bankruptcy state: Game over modal when balance hits zero (#11)
  • Repeat/Undo bets: Replay last round or undo individual bets (#14)
  • Sound effects: Web Audio API with mute toggle (#12)
  • Bet history panel: Last 20 spins with hot/cold numbers (#13)
  • Statistics panel: Win rate, streaks, profit tracking (#28)
  • Win feedback: Cell highlights, balance animation, confetti (#25)
  • Keyboard shortcuts: Space/Escape/R/Z/1-4 (#26)
  • Table limits: Min $1 / Max $500 per position (#30)
  • American roulette: Double-zero mode toggle (#31)
  • Dark/light theme: CSS custom properties with toggle (#32)
  • Advanced bets: Split, street, corner, six-line placement (#9)

Accessibility

  • ARIA labels, keyboard navigation, focus outlines (#15)
  • prefers-reduced-motion support (#16)
  • Colorblind mode with texture patterns (#17)

DevOps

  • Vitest: 76 unit tests, 97%+ coverage (#4)
  • ESLint with typescript-eslint (#5)
  • Husky + lint-staged pre-commit hooks (#6)
  • GitHub Actions CI/CD + Pages deploy (#7)
  • pnpm-lock.yaml committed (#33)

Performance

  • Off-screen canvas for static wheel elements (#19)
  • Diff-based chip indicator updates (#20)
  • Ball bounce animation with damped oscillation (#29)

Code Quality

  • Named constants replacing magic numbers (#21)
  • Dead state fields removed, WheelState encapsulated (#22)
  • Typed getEl<T>() guard replacing non-null assertions (#23)
  • CSS custom properties for color deduplication (#24)

Other

  • Mobile/touch support with 44px targets (#27)
  • Meta tags, Open Graph, PWA manifest (#34)

What's Changed

  • fix: resolve RNG, column bet indicator, and rAF loop bugs by @TibetOS in #36
  • feat: set up Vitest testing framework by @TibetOS in #39
  • feat: add ESLint, husky, CI/CD pipeline, and lockfile by @TibetOS in #37
  • refactor: extract constants, typed guards, CSS vars by @TibetOS in #41
  • feat: add localStorage, bankruptcy, repeat/undo by @TibetOS in #35
  • feat: integrate accessibility, canvas, UX, and remaining features by @TibetOS in #44

New Contributors

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@TibetOS TibetOS released this 26 Feb 18:52