From b65497138f101a54e0825eb41a865f5c8d86baef Mon Sep 17 00:00:00 2001 From: Brian Love Date: Tue, 9 Jun 2026 17:19:47 -0700 Subject: [PATCH 1/5] =?UTF-8?q?docs(spec):=20homepage=20demo=20=E2=80=94?= =?UTF-8?q?=20expand-to-modal=20on=20launch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- .../specs/2026-06-07-demo-modal-design.md | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 docs/superpowers/specs/2026-06-07-demo-modal-design.md diff --git a/docs/superpowers/specs/2026-06-07-demo-modal-design.md b/docs/superpowers/specs/2026-06-07-demo-modal-design.md new file mode 100644 index 000000000..c1bd6723d --- /dev/null +++ b/docs/superpowers/specs/2026-06-07-demo-modal-design.md @@ -0,0 +1,103 @@ +# Homepage Demo — Expand-to-Modal on Launch + +**Date:** 2026-06-07 +**Status:** Design / spec +**Scope:** `apps/website` homepage `DemoShowcase`. No library/backend changes. + +--- + +## Goal + +When a visitor clicks **"Launch live demo"** on the homepage demo section, open the live interactive demo in a **large modal/lightbox** instead of swapping a small inline iframe. This gives a genuinely usable chat surface (near-viewport size, perfect 16:10) without reflowing the page. + +## Problem + +`DemoShowcase` today is video-first: an inline `BrowserFrame` (~720px wide, capped by the section's `maxWidth: 760`) plays a looping clip with a "Launch live demo ▶" overlay. Clicking it swaps the video for a live `