Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
d7f0f36
feat(inspector): dashboard layout v2 — right panel tabs, tamagotchi p…
Jan 31, 2026
f8b2151
fix(inspector): redesign star placeholder — crystalline Sirius avatar
Jan 31, 2026
8de89fb
fix(inspector): icy blue star palette + wider points
Jan 31, 2026
b67cb8d
fix(inspector): broader compass-style star points
Jan 31, 2026
9b75edd
fix(inspector): center empty state labels in both panels
Jan 31, 2026
9d521a5
fix(inspector): perfectly symmetric star with brighter icy palette
Jan 31, 2026
ed51dbd
fix(inspector): 8-bit pixel art star — white on black
Jan 31, 2026
ef13b8c
fix(inspector): proper 8-pointed pixel star with distinct rays
Jan 31, 2026
d66c4bd
fix(inspector): use PNG image for star placeholder
Jan 31, 2026
7dc1379
fix(inspector): use sirius star as header logo + rename title
Jan 31, 2026
b4c0cca
fix(inspector): bigger logo (36px), tighter gap with title
Jan 31, 2026
1b57ceb
fix(inspector): update logo and sirius star images
gabrypavanello Jan 31, 2026
995f9e6
fix(inspector): mirror panel headers + match styles
Jan 31, 2026
3889261
fix(inspector): update logo and sirius star images
gabrypavanello Jan 31, 2026
a35eec7
fix(inspector): header logo 20px to match font, widget star halved to…
Jan 31, 2026
8c3485f
fix(inspector): add showTitle/showClearButton props to LogsPanel
Jan 31, 2026
f56311f
fix(inspector): address PR #135 review comments
Jan 31, 2026
c55aa11
style: format keyframes.css with prettier
Jan 31, 2026
842c2dc
fix(inspector): remove unused hasActiveSession variable
Jan 31, 2026
1594cff
fix(inspector): guard localStorage access with try/catch for private …
Jan 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
115 changes: 115 additions & 0 deletions LAYOUT_SPEC.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# Dashboard Layout V2 — Spec

## Current Layout

```
┌─────────────────────────────────────────────────────┐
│ Header (logo, status, toolbar buttons) │
├─────────────────────────────────────────────────────┤
│ TabBar (connection tabs) │
├──────────┬──────────────────────┬───────────────────┤
│ Left: │ Center: │ Right: │
│ MCP │ Screencast / MCP │ Globals Panel │
│ Prims │ (when no session) │ │
│ ├──────────────────────┤ │
│ │ Bottom Panel: │ │
│ │ Logs|Events|Agent │ │
│ │ (side by side) │ │
└──────────┴──────────────────────┴───────────────────┘
```

## Target Layout

```
┌─────────────────────────────────────────────────────┐
│ Header (logo, status, toolbar buttons) │
├─────────────────────────────────────────────────────┤
│ TabBar (connection tabs) │
├──────────┬──────────────────────┬───────────────────┤
│ Left: │ Center: │ Right: │
│ MCP │ Screencast │ [Agent|Events| │
│ Prims │ — OR — │ Logs] tabs │
│ (no │ Tamagotchi │ (one at a time) │
│ title) │ placeholder │ Default: Agent │
│ ├──────────────────────┤ │
│ │ Globals bar │ │
│ │ (only if UI visible, │ │
│ │ collapsible) │ │
└──────────┴──────────────────────┴───────────────────┘
```

## Changes Required

### 1. Right Panel — Tabbed Events/Logs/Agent

**Move** the current BottomPanel content (Logs, Events, Agent) into a **right sidebar panel**.

- Tabs at top: `Agent` | `Events` | `Logs` — only **one visible at a time** (radio-style tabs, not toggles)
- Default active tab: **Agent**
- The entire right panel is **collapsible** (like the current left panel)
- Persist active tab to localStorage
- Tab style: match existing tab styling pattern (teal active, muted inactive)
- Show counts in tabs: `Agent (5)`, `Events (12)`, `Logs (3)`
- Include a "Clear" button in the panel header
- The panel should be resizable (like left panel uses `useResizablePanelWidth`)

### 2. Left Panel — MCP Primitives (Always Left, No Title)

- **Remove** the "MCP Primitives" title/header row from McpPrimitivesPanel when `position="left"`
- Keep the collapse button — move it somewhere sensible (e.g., top of tabs row)
- **Always render on the left**, whether or not there's an active session
- Currently: when no session, MCP Primitives renders in the center. Remove that center variant.
- The left panel should always be there (collapsed or not)
- Keep existing resizable behavior

### 3. Globals/Environment Bar — Below Center Stage

- **Move** GlobalsPanel from right sidebar to a **horizontal bar below the screencast area**
- Only visible when a **UI widget is active** (screencast is streaming)
- **Collapsible** — toggle from within the center stage frame (small toggle button at bottom edge of screencast)
- When collapsed: just a thin bar or button to re-expand
- Horizontal layout: key-value pairs flowing left-to-right
- Persist collapsed state to localStorage

### 4. No-UI Placeholder — Animated Tamagotchi Star

When no active widget/screencast, show a placeholder in the center area instead of the screencast:

- **Animated star character** (Sirius ⭐) with eyes and mouth — tamagotchi style
- CSS animation: gentle floating/bobbing, blinking eyes
- Below the star: message text **"No active widget yet — ask your agent to test"**
- Muted colors, subtle animation (not distracting)
- The star should be an SVG with simple face features (two dot eyes, small smile)

### 5. Toolbar Button Updates

- Remove the current bottom-panel toggle button (LogsIcon) from Toolbar — bottom panel no longer exists
- Remove the globals toggle button (GlobalsIcon) from Toolbar — globals is now part of center stage
- Keep the primitives toggle (PrimitivesIcon) for the left panel
- Add a **right panel toggle** (new icon — could reuse GlobalsIcon rotated, or a new sidebar-right icon)
- Update Toolbar props accordingly

### 6. Remove Bottom Panel

- The BottomPanel component itself can be kept but is no longer used as a bottom panel
- Its content (LogsPanel, EventsPanel, AgentPanel) moves into the new RightPanel component
- Remove the resize handle between center and bottom
- Remove `useResizablePanel` usage for bottom panel height

## File Impact

- `InspectorDashboard.tsx` — Major restructure of layout
- `components/Toolbar.tsx` — Update button set
- `components/McpPrimitivesPanel.tsx` — Remove header when position="left"
- `components/GlobalsPanel.tsx` — Rework to horizontal bar layout
- `components/BottomPanel.tsx` — Refactor into RightPanel or deprecate
- **NEW** `components/RightPanel.tsx` — Tabbed sidebar (Agent/Events/Logs)
- **NEW** `components/NoWidgetPlaceholder.tsx` — Tamagotchi star animation
- `styles.ts` — New/updated styles

## Style Notes

- All existing color scheme stays (#0d0e0e backgrounds, #2d2f2f borders, #20b2aa teal accents)
- Tab styling matches existing pattern in McpPrimitivesPanel
- Smooth transitions on collapse/expand (existing 0.25s ease pattern)
- Star SVG should use teal (#20b2aa) as accent color
Binary file modified packages/inspector/src/dashboard/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading