Skip to content

feat: add @wterm/ghostty package with libghostty WASM core#62

Merged
ctate merged 3 commits into
mainfrom
ctate/libghostty
Apr 30, 2026
Merged

feat: add @wterm/ghostty package with libghostty WASM core#62
ctate merged 3 commits into
mainfrom
ctate/libghostty

Conversation

@ctate

@ctate ctate commented Apr 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds @wterm/ghostty, a new pluggable TerminalCore implementation powered by libghostty, built directly from the ghostty-org/ghostty source via Zig package management
  • Includes a custom wasm_api.zig export layer and build/patch scripts that make ghostty's Terminal compatible with wasm32-freestanding (replacing posix.mmap with std.heap.wasm_allocator)
  • Extracts the TerminalCore interface into a standalone module in @wterm/core for reuse across core implementations
  • Adds a core toggle (Built-in / Ghostty) to the local example so both cores can be compared side-by-side
  • New standalone ghostty example with vanilla TypeScript
  • Docs page, navigation entries, and README updates for the new package

- New @wterm/ghostty package with GhosttyCore implementing TerminalCore
- Custom wasm_api.zig thin export layer over ghostty's Terminal
- Build scripts to fetch, patch, and compile ghostty to WASM
- Extract TerminalCore interface into standalone module for reuse
- Add core toggle (Built-in / Ghostty) to the local example
- Ghostty example with vanilla TS setup
- Docs page, navigation, and README updates
@vercel

vercel Bot commented Apr 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
wterm Error Error Apr 30, 2026 7:11pm

- Set vite build target to esnext for top-level await support
- Add write coalescing (setTimeout batching) to reduce animation flashing
- Switch renderer to innerHTML for fewer DOM operations per frame
- Defer PTY spawn until first RESIZE to eliminate zsh % artifact
- Split local example into / (built-in) and /ghostty routes with toggle
@ctate ctate merged commit a523f76 into main Apr 30, 2026
4 of 5 checks 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.

1 participant