You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CodingBuddy already has a strong visual language for character output:
Buddy uses compact face banners such as ◕‿◕, ◕⌄◕, and ◕⁀◕.
Agents already define their own visual.eye glyphs in agent JSON.
Rendering helpers already exist for display-width-aware padding and truncation.
The goal is not to invent a completely different mascot style. The goal is to extend the existing style into a kitschy, character-driven ASCII scene that can show multiple agents at once.
Goal
Introduce a Tiny Actor Grid presentation for agent scenes such as PLAN, EVAL, AUTO, and SHIP.
The grid must feel playful and characterful, but it must also be technically robust:
it must not tilt,
it must not break with CJK text,
it must not break with emoji,
it must not break with ANSI color codes,
and it must degrade responsively instead of forcing a broken multi-column layout.
Core constraints
Reuse the existing display-width helpers from /Users/pjw/workspace/codingbuddy/packages/claude-code-plugin/hooks/lib/buddy_renderer.py.
Do not use naive len()-based visible-width logic for layout decisions.
Derive agent faces from each agent JSON visual.eye value rather than inventing unrelated character sets.
Keep Buddy as the moderator character and keep the rest of the cast in the existing eye + mouth + eye style.
Support both Unicode mode and asciiMode fallback.
Use responsive column fallback. If the terminal is too narrow, the layout must move from 4 or 3 columns to 2 or 1 columns instead of rendering a crooked grid.
Non-goals for the first milestone
Full multi-agent orchestration is not required here.
Replacing all existing Buddy surfaces is not required.
A TUI-wide rollout is not required in the first pass.
Initial implementation strategy
Define a small card contract for actor entries.
Build a width-safe card renderer.
Build a responsive grid layout engine.
Add regression tests specifically for alignment safety.
Add a feature-flagged preview path before replacing stable output paths.
Expected output style
The final style should look like a compact sticker board or cardboard standee cast, not like full-body ASCII characters.
Background
CodingBuddy already has a strong visual language for character output:
◕‿◕,◕⌄◕, and◕⁀◕.visual.eyeglyphs in agent JSON.The goal is not to invent a completely different mascot style. The goal is to extend the existing style into a kitschy, character-driven ASCII scene that can show multiple agents at once.
Goal
Introduce a
Tiny Actor Gridpresentation for agent scenes such as PLAN, EVAL, AUTO, and SHIP.The grid must feel playful and characterful, but it must also be technically robust:
Core constraints
/Users/pjw/workspace/codingbuddy/packages/claude-code-plugin/hooks/lib/buddy_renderer.py.len()-based visible-width logic for layout decisions.visual.eyevalue rather than inventing unrelated character sets.eye + mouth + eyestyle.asciiModefallback.Non-goals for the first milestone
Initial implementation strategy
Expected output style
The final style should look like a compact sticker board or cardboard standee cast, not like full-body ASCII characters.
Example direction:
[⎔⌄⎔] planner[◮‿◮] security[⊙‿⊙] test◕⁀◕ Buddy: conditional yesImplementation notes
Candidate integration points:
/Users/pjw/workspace/codingbuddy/packages/claude-code-plugin/hooks/lib/buddy_renderer.py/Users/pjw/workspace/codingbuddy/packages/claude-code-plugin/hooks/lib/agent_status.py/Users/pjw/workspace/codingbuddy/packages/claude-code-plugin/commands/buddy.mdCandidate new module:
/Users/pjw/workspace/codingbuddy/packages/claude-code-plugin/hooks/lib/tiny_actor_grid.pySub-issues
Recommended execution order