Skip to content

feat(architecture): PR6 — console frame, recommended-first, de-noised glossary#31

Closed
BunsDev wants to merge 2 commits into
feat/section-overhaul-howitworksfrom
feat/section-overhaul-architecture
Closed

feat(architecture): PR6 — console frame, recommended-first, de-noised glossary#31
BunsDev wants to merge 2 commits into
feat/section-overhaul-howitworksfrom
feat/section-overhaul-architecture

Conversation

@BunsDev

@BunsDev BunsDev commented Jul 7, 2026

Copy link
Copy Markdown
Member

PR6 of the section overhaul — Architecture (final)

Stacked on #30#29#28#27#26. Merge those first.

Brings the interactive diagram onto the shared design language and fixes its
biggest UX gaps.

What changed

  • Console frame: the diagram + detail wrap in the shared .panel with a topbar (dots + "coven · architecture" + a layer legend: harness / runtime / project color keys).
  • Recommended-first: the Adapter node is pre-selected and its content is server-rendered, so the detail panel never ships a generic "pick a node" state. A subtle pulse primes it until the first interaction.
  • Glossary de-noised: mark only the first occurrence of each term (was every occurrence — dense copy was visually noisy); marks are now real <button>s.
  • Tap-dismissible popover (role="dialog"): click/tap pins it, hover previews on pointer devices, with a close button, Escape (returns focus), and click-outside. position: fixed + viewport clamp makes it robust on mobile — the old hover-only tooltip was unusable on touch.
  • Detail repaints crossfade via fadeSwap; palette fixed (green token, violet focus stroke, dropped the off-palette magenta).

Deferred (noted honestly)

The SVG is tappable and usable on mobile as-is, so I deferred the parallel HTML node-stack (larger touch targets) and 2-D grid keyboard nav to keep this high-risk change contained. Follow-ups if desired.

Verification

  • npm run build ✓ · npm run check ✓ · no console errors after exercising node selection, keyword popover, Escape, and click-outside (CDP).
  • CDP asserts: adapter SSR-selected, glossary reduced to first-occurrence marks (<button>s), popover pins/clamps in-viewport and dismisses correctly. Desktop + 390px mobile captures confirm the console frame, legend, and stacked mobile layout.

This completes the six-PR section overhaul (Architecture, How It Works, Compare, Quick Start, Ecosystem) on a shared design language.

🤖 Generated with Claude Code

BunsDev and others added 2 commits July 7, 2026 00:26
- Short laptops (901px+ wide, <=720px tall): compress hero vertical
  rhythm so the continuity timeline stays above the fold (verified at
  1280x640, 1366x700, 1440x720)
- Ultrawide (1680px+): shared containers step 1280->1440px; hero type,
  terminal card, timeline, and ambient glows scale with the canvas
- Hero stacking is now orientation-aware: portrait handhelds stack,
  landscape phones 701-900px wide keep a compact two-column hero
- QuickStart stepper: minmax(0,1fr) track + min-width:0 chain so the
  nowrap codeblock scrolls internally instead of widening the page on
  phones (fixes horizontal overflow at <=500px)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Bring the interactive diagram onto the shared design language and fix its
biggest UX gaps.

- Wrap the diagram + detail in the shared .panel with a console topbar
  (dots + "coven · architecture" + a layer legend: harness/runtime/project).
- Recommended-first: the Adapter node is pre-selected and its content is
  server-rendered, so the detail panel never ships a generic "pick a node"
  state; a subtle pulse primes it until the first interaction.
- Glossary de-noised: mark only the FIRST occurrence of each term (was every
  occurrence), and marks are now real <button>s (native tap).
- Tooltip is now a tap-toggle, dismissible popover (role=dialog): click/tap
  pins it, hover previews on pointer devices, with a close button, Escape
  (returns focus), and click-outside. position:fixed + viewport clamp makes
  it robust on mobile — the old hover-only tooltip was unusable on touch.
- Detail repaints crossfade through fadeSwap; palette fixed (green token,
  violet focus stroke, dropped the off-palette magenta).

Deferred (SVG is tappable and usable on mobile as-is): a parallel HTML
node-stack for larger touch targets, and 2-D grid keyboard nav.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 7, 2026 05:29
@vercel

vercel Bot commented Jul 7, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
coven Ready Ready Preview Jul 7, 2026 5:29am
coven-landing Ready Ready Preview Jul 7, 2026 5:29am

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR finalizes the Architecture section overhaul by bringing the interactive architecture diagram onto the shared design language, making the “Adapter” node the recommended default (server-rendered), and replacing the noisy “mark every glossary term” behavior with a first-occurrence, touch-friendly glossary popover interaction.

Changes:

  • Wraps the Architecture diagram + detail panel in a shared console-like .panel frame with a topbar and layer legend.
  • Makes “Adapter” the pre-selected SSR default and crossfades detail updates via fadeSwap.
  • Updates glossary term marking to first-occurrence and converts marks into real <button> triggers with a dismissible, viewport-clamped popover.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
src/styles/global.css Improves Quick Start grid sizing/overflow behavior using minmax(0, 1fr) + min-width: 0 to prevent mobile layout overflow.
src/components/Architecture.astro Adds the console frame + legend, SSR “recommended-first” selection, glossary popover behavior, and crossfade detail repainting.
Comments suppressed due to low confidence (1)

src/components/Architecture.astro:233

  • The Adapter node is pre-selected (is-selected), but the initial roving tabindex still makes the first node tabbable (i === 0). This creates a mismatch where keyboard focus lands on a different node than the one shown in the detail panel on first Tab. Consider making the pre-selected node the initial tabindex="0" target, and include the layer in the accessible name so the layer context isn’t color-dependent.
          data-recommended={n.id === 'adapter' ? 'true' : null}
          role="button"
          tabindex={i === 0 ? '0' : '-1'}
          aria-label={n.title}
        >

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


<div class="architecture-diagram" data-reveal>
<div class="arch-console panel" data-reveal>
<div class="arch-consolebar" aria-hidden="true">
Comment on lines +395 to +397
document.addEventListener('click', (e) => {
if (pinnedMark && tooltip && !tooltip.contains(e.target) && !e.target.closest('.kw')) hideTooltip();
});
@BunsDev

BunsDev commented Jul 7, 2026

Copy link
Copy Markdown
Member Author

Superseded by #37 — a concurrent session had interleaved two unrelated commits (px→rem conversion, multi-screen support) into this stack. Re-cut cleanly in an isolated worktree with only the six signed overhaul commits. Closing in favour of #37.

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.

2 participants