From ecc6c6979cb00aad04eb7b43e86d521715179782 Mon Sep 17 00:00:00 2001 From: Ken Date: Thu, 28 May 2026 06:06:42 +0000 Subject: [PATCH] docs: ghostty-web addon compatibility research Research findings from inspecting ghostty-web@0.4.0 npm package: - UMD build exports 16 symbols (Terminal, FitAddon, Ghostty, init, etc.) - FitAddon: native in ghostty-web, API-compatible, use directly - WebLinksAddon: not needed, ghostty-web has built-in LinkDetector - SearchAddon: incompatible (needs _core internals), reimplement via buffer API - ImageAddon: incompatible (different render pipeline), drop for now - init()/Ghostty.load(wasmPath): supports explicit WASM path for vendoring - No CSS required (canvas-only rendering) - Core Terminal API is highly compatible with xterm.js --- .../plans/ghostty-web-addon-research.md | 275 ++++++++++++++++++ 1 file changed, 275 insertions(+) create mode 100644 docs/superpowers/plans/ghostty-web-addon-research.md diff --git a/docs/superpowers/plans/ghostty-web-addon-research.md b/docs/superpowers/plans/ghostty-web-addon-research.md new file mode 100644 index 0000000..d9ae6be --- /dev/null +++ b/docs/superpowers/plans/ghostty-web-addon-research.md @@ -0,0 +1,275 @@ +# ghostty-web Addon Compatibility Research + +> **Package:** ghostty-web@0.4.0 +> **Date:** 2026-05-28 +> **Source:** npm pack + manual inspection of UMD build, ESM build, and TypeScript definitions + +--- + +## 1. UMD Build Globals + +The UMD build (`dist/ghostty-web.umd.cjs`, 639KB) uses standard `(function(e){})(this)` wrapping. When loaded via `