Skip to main content

F043 — Config and Sound Controls

Business Rule

The game provides two persistent icon buttons rendered as HTML overlay elements outside the Phaser canvas: These buttons are always visible during gameplay. They are NOT part of the Phaser canvas — they live in #fugaGameUI, a zero-height HTML div positioned at the canvas bottom.

Layout Mechanism

The game (game.min.js) adds class desktop to #fugaGame at boot. CSS in game.css then positions the buttons:
Critical: game.css does not supply bottom: 0. Without it, #fugaGameUI defaults to top: 0 and all buttons render at y = -702px — completely clipped by #fugaGame { overflow: hidden }. Platform fix (index-live.html):
With this, #fugaGameUI sits at the canvas bottom and the top: -702px buttons appear near the canvas top corners.

UIGameSettings Modal

btnMenuLeft fires UI.MODALTOGGLE "UIGameSettings", which opens the settings panel. The panel includes:
  • Sound Music on/off (UISoundMusicSetting)
  • Sound SFX on/off (UISoundSFXSetting)
  • Spacebar spin toggle
  • Double-up, turbo, cashier button enable/disable (suppressed via null in SetData patch)

Sound Button Levels

btnSound is type: "multilevel" — each click fires UI.SOUND.PLUS, cycling through icon states (sound_icon_level_0_1_2_3). The level adjusts the GDK sound volume.

Acceptance Criteria

Version Parity

  • F022 — Card Display (canvas rendering, Phaser setup)
  • HEDGE-78 — Menu and help screens
  • HEDGE-79 — Config button
  • HEDGE-142 — UMA sounds (sound button cycles levels but no audio yet)