Commit Graph
25 Commits
Author SHA1 Message Date
Greyson Parrelli a2024229ff Hold the battle arena at a fixed height.
The play area grew and shrank as cards entered and left play. Two slots
were sized independently of the cards that fill them: the pet zone
reserved 150px for a 162px battle card, and the empty-deck placeholder
kept its desktop 84x116 on phones where the face-down card is 56x78. So
each faint/reveal moved the arena 12px per side on desktop, and a deck
running dry moved it 38px per side on a phone.

Every arena slot now derives from one set of --unit-*/--deck-* metrics on
.battle, and holds that size whether or not a card occupies it. Measured
across a battle's states (no pets, both revealed, one fainted, fans of
apples, decks dry), the arena height spread goes from 24px desktop /
76px phone to 0.

Also hide the arena's horizontal scrollbar: a wide apple fan made it
appear and vanish mid-battle, and with a content-driven height that alone
jumped the arena by the scrollbar's thickness. Touch, trackpad and
shift+wheel still scroll it.
2026-07-27 16:24:52 -04:00
Greyson Parrelli 1070999b95 Fix some card UX. 2026-07-27 00:03:23 -04:00
Greyson Parrelli 33bef8f58a Battle result dialog, speed toggle, and topbar refactor for mobile.
- End-of-battle result is now a centered dialog (Victory/Defeat/Draw) with
  'Next round' and 'Not yet'; 'Not yet' dismisses it to rewatch the battle,
  and a toolbar button remains to advance. A modal is always fully on screen,
  fixing the next-round button being unreachable below the arena on phones.
- Also make the play area genuinely scrollable on phones (stretch the body
  so table-main's overflow can engage) as a safety net.
- Collapse the 5-button playback speed picker into one button that cycles
  through the options, keeping the battle controls on a single row.
- Topbar: show the round as a die face (1-6 pips) on all screens, move the
  room code and Leave into a '...' dropdown menu, and drop the wordmark on
  phones so the rail stays one row (die + players + menu).
- On phones, strip battle cards to art + power/damage + name (no suit, tier,
  or ability text); the magnified view still shows the full card.
2026-07-26 15:15:18 -04:00
Greyson Parrelli de9bb480c2 Optimize the layout for phones in portrait.
Lock the app to the viewport on screens <=600px wide so the page itself
never scrolls: the topbar becomes a slim rail and the play area fills the
rest. Cards, trays, and type shrink so a shop round or a battle fits on
one screen; the shop and deck rows scroll sideways when a full six-pet
deck outgrows the width, keeping each tray's height fixed. Arrange is the
one screen allowed to scroll past the viewport, since a battle line can
run long.
2026-07-26 15:04:54 -04:00
Greyson Parrelli 4ed04c967b Improve snappiness and add speed setting. 2026-07-26 14:21:56 -04:00
Greyson Parrelli a1d57fe1dd Initial pass at unicorn pack. 2026-07-25 00:37:44 -04:00
Greyson Parrelli 95499026d7 Move the UI to be vertical. 2026-07-24 22:16:28 -04:00
Greyson Parrelli add2218978 More random UI fixes. 2026-07-24 11:23:38 -04:00
Greyson Parrelli 6558806ba0 Various bug fixes and improvements. 2026-07-24 10:47:59 -04:00
Greyson Parrelli 0fe0757e18 Fix nurse shark and remove mid-battle choice. 2026-07-24 10:12:17 -04:00
Greyson Parrelli dd395f4bbf Initial pass at Golden Pack. 2026-07-24 07:47:05 -04:00
Greyson Parrelli 9d9acc4577 Improved battle animations. 2026-07-23 21:39:01 -04:00
Greyson Parrelli 547cd81a99 Various UX improvements. 2026-07-23 11:55:12 -04:00
Greyson Parrelli 235b1d9cc8 Improve UI of food and set-aside cards. 2026-07-23 11:12:47 -04:00
Greyson Parrelli 7bb20e5d2d Improve dice rolls. 2026-07-23 10:26:15 -04:00
Greyson Parrelli 63b64bc1d8 Narrate the battle in the event log, synced to the replay step. 2026-07-23 08:07:17 -04:00
Greyson Parrelli f7a00f6c48 Fly faint-summoned apples and bees out from the pet. 2026-07-23 07:54:19 -04:00
Greyson Parrelli 3922f545dc Keep button layout stable. 2026-07-23 07:47:51 -04:00
Greyson Parrelli 65bf3bf618 Fix clipping issue. 2026-07-23 07:39:58 -04:00
Greyson Parrelli e5604cde8e Add step-through replay controls to the battle view
Prev/next/play-pause/restart and a step counter let a player walk the
battle log manually and replay it before hitting Next. Local-only view
state; nothing is shared or sent to the server.
2026-07-23 01:14:08 -04:00
Greyson Parrelli 7eb4812f86 Let players peek both decks during and after a battle
Record each seat's arranged lineup on the battle result (already public)
and reveal the full deck in a popover when hovering a deck pile in the
battle view — the opponent's included.
2026-07-23 01:12:36 -04:00
Greyson Parrelli 71fa20493a Add 3D dice roll animation for thrown rocks
Emit the individual rock-die faces (0/0/1/1/2/2) from the battle
resolver so the client can render a real CSS 3D cube per die that
tumbles and settles on the rolled face, replacing the flat random
damage number. Falls back to the flying-rock cue for older battle logs
without per-die data.
2026-07-23 01:01:00 -04:00
Greyson Parrelli 10ac457e2e Add pets for tiers 4-6. 2026-07-23 00:10:20 -04:00
Greyson Parrelli 8d43bbf61e Add pets for tiers 1-3. 2026-07-23 00:10:17 -04:00
Greyson Parrelli 612a4e6227 Initial commit. 2026-07-22 23:07:29 -04:00