Skip to content

feat(tui): render Mermaid timelines - #42130

Merged
kitlangton merged 3 commits into
v2from
merman-timeline
Aug 12, 2026
Merged

feat(tui): render Mermaid timelines#42130
kitlangton merged 3 commits into
v2from
merman-timeline

Conversation

@kitlangton

@kitlangton kitlangton commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

What

Render Mermaid timeline fences as terminal-native vertical timelines in OpenCode instead of falling back to source code.

       Product history

Foundation ───┐
              │
      2024 ───●  Prototype
              │  First release

Bare, TD, and LR timeline headers preserve Mermaid parse semantics while sharing the vertical layout that remains readable in narrow terminal viewports.

How

  • Adds timeline detection, parsing, vertical-spine drawing, styling, and plain rendering to packages/merman/src/timeline.
  • Supports titles, sections, standalone periods, inline and continued events, entities, <br> lines, comments, and accessibility metadata.
  • Integrates timeline output with the existing themed Markdown renderer and streaming fallback behavior.
  • Keeps the implementation synchronized with @opentui/mermaid in feat(mermaid): add terminal diagram renderer opentui#1351 until OpenCode can consume that package directly.

Scope

This intentionally renders timeline LR vertically. Horizontal timelines become unreadable quickly in terminal message viewports. Mermaid-specific timeline styling and icons remain unsupported.

Testing

  • bun run test in packages/merman: 311 passed
  • bun run typecheck in packages/merman
  • Push hook: full monorepo typecheck, 32 packages passed

@kitlangton
kitlangton merged commit d31a994 into v2 Aug 12, 2026
10 checks passed
@kitlangton
kitlangton deleted the merman-timeline branch August 12, 2026 23:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant