Skip to content

feat: funny pony animation during requirement court#331

Merged
0xroylee merged 6 commits into
mainfrom
feat/court-pony-animation
Jun 26, 2026
Merged

feat: funny pony animation during requirement court#331
0xroylee merged 6 commits into
mainfrom
feat/court-pony-animation

Conversation

@johnku2011

Copy link
Copy Markdown
Collaborator

Summary

  • Starting lineup: all voter bots shown side-by-side before voting begins
  • Each bot gets its own per-pony gallop animation (3-frame leg cycle at 160ms) while deliberating
  • Animation uses the front-facing pony design with dot eyes
  • Role colors: PM=magenta, Engineer=cyan, Testing=yellow, Senior=green, ProjMgr=blue
  • Funny role-specific thought lines cycle below each pony while they think
  • Race track summary (colored vote bars) printed after each round
  • TTY-gated — disabled automatically in JSON/CI mode
  • scripts/demo-animation.ts for local preview without a real AI call

Test plan

  • bun scripts/demo-animation.ts — watch all 4 ponies run (~9s)
  • bun src/cli.ts ponyrace "add dark mode toggle" — real run with animation
  • bun test — 117/117 pass

johnku2011 and others added 6 commits June 25, 2026 15:45
Show an ASCII horse banner before the court starts, cycle through
funny pony-themed spinner messages while each round deliberates,
and print a race-track progress bar after each round completes.

Animation is skipped automatically in non-TTY and JSON output modes.
Adds onRoundStart/onRoundComplete hooks to RunRequirementCourtInput
so the court can drive the animator without coupling UI to runtime.

Also migrates biome.json to v2.5.1 schema and fixes exclude patterns
so local runtime folders and caches are not linted.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the round-level spinner with a per-role gallop animation:
each pony gets its own ASCII horse frame sequence (3 leg positions
cycling every 170ms) and role-specific funny thoughts while it
deliberates. A minimum 1800ms display time ensures the animation
is always visible even with the fast deterministic runner.

The court runs bots sequentially when per-pony callbacks are wired
(onPonyStart/onPonyComplete), preserving parallel execution for all
other callers. The ASCII pony header is redesigned to a cuter
side-profile shape. Timing is injectable via CourtAnimatorOptions
so tests can run without real delays.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the single large ASCII horse header with a side-by-side
starting lineup showing every voter pony in its own role color
(magenta PM, cyan Engineer, yellow Testing, blue ProjMgr, green Senior).

Each pony uses a compact 5-line design with a ^-ear, round (o )~
head, and 3-frame gallop legs. The running animation during deliberation
is also colored per bot so each manager is visually distinct.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the plain ^ ear with a /~~~\ mane bump and a large O eye
inspired by the anime-style proportions of My Little Pony characters.
Body is now 4 lines (was 3) for rounder, chunkier MLP proportions.

Co-authored-by: Cursor <cursoragent@cursor.com>
Swap the side-profile body for the user's bash-script pony:
  ears  —  /)  (\
  face  — ( •_• )
  body  — /|   |\

Three gallop frames cycle between flat stance, trot, and wide stance.

Co-authored-by: Cursor <cursoragent@cursor.com>
Run `bun scripts/demo-animation.ts` to see the full court animation
(starting lineup, per-pony gallop, race track) without a real AI call.

Co-authored-by: Cursor <cursoragent@cursor.com>
@0xroylee 0xroylee merged commit fd367a8 into main Jun 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants