diff --git a/.claude/project-context.md b/.claude/project-context.md index 521d842..9db69f2 100644 --- a/.claude/project-context.md +++ b/.claude/project-context.md @@ -90,3 +90,8 @@ The workspace should always answer: The interface should minimise cognitive load by presenting the current state first and allowing progressively deeper exploration only when requested. The engine may contain hundreds of reasoning nodes; the user should only see the information required to take the next meaningful action. + +## Why workspace layout matters (v0.7) + +This phase optimises for simultaneous visibility instead of sequential scrolling. +Related panels — Understanding alongside Investigation Map, Situation alongside History — can appear side-by-side on wide screens while mobile continues to stack everything vertically. The reasoning engine is completely unaware of these changes; only the presentation layer is affected. diff --git a/.claude/ux-guidelines.md b/.claude/ux-guidelines.md index 8f8fa41..bac835b 100644 --- a/.claude/ux-guidelines.md +++ b/.claude/ux-guidelines.md @@ -136,6 +136,66 @@ Avoid: The next question should be the strongest visual element. +## Workspace Layout Philosophy + +The Confidence Engine is a workspace, not a document. + +Documents optimise for reading from top to bottom. + +Workspaces optimise for allowing related information to be visible simultaneously. + +As investigations become larger, users should not be forced into unnecessary +vertical scrolling simply because horizontal space is available. + +Layout decisions should always ask: + +> "How much useful investigation context can be seen at one time?" + +rather than: + +> "How narrow can the content column be?" + +### Principles + +- **Active investigation remains the primary focus.** The current question and response form are always fully visible first. +- **Frequently referenced information should remain visible.** Understanding and Investigation Map should be scannable without scrolling away from the active question. +- **Reference material may share horizontal space on larger displays.** Situation and History can sit side-by-side when there is room. +- **Layout should adapt to available space without changing the investigation flow.** The same information is always present; only its arrangement changes. +- **Mobile and tablet continue to use a stacked single-column layout.** No progressive disclosure at small sizes — every section remains accessible by scrolling, just as it always has been. +- **Desktop progressively exposes more simultaneous context.** Instead of simply adding whitespace, wider screens reveal horizontal relationships between related panels. + +### Desktop layout model (wide screens) + +``` +┌───────────────────── full-width ─────────────────────┐ +│ Investigation Summary │ +├───────────────────────────────────────────────────────┤ +│ Active Workspace │ Working Memory │ +│ (full width) │ Understanding Map │ +│ Current Investigation │ │ +│ Response └─────────────────────────────────┘ +├───────────────────────────────────────────────────────┤ +│ Reference: Situation │ History │ +├───────────────────────────────────────────────────────┤ +│ Developer Details (always below) │ +└───────────────────────────────────────────────────────┘ +``` + +### Visual goal + +The page should feel less like a long report and more like an investigator's +workspace. The eye should be able to compare Understanding alongside Investigation Map without scrolling, and Situation alongside History in the same way. + +### What this phase does NOT include + +- No card redesigns. +- No new navigation. +- No account management or top bar. +- No tabs, collapsing layouts, resizable panes, floating panels, or masonry. +- No typography or colour changes. + +This is a layout-only phase. The reasoning engine should remain completely unaware of presentation decisions. + ## TL;DR Workspace Rules The newest state is the most important state. diff --git a/components/reasoning-workspace.jsx b/components/reasoning-workspace.jsx index 636d4e5..8021ccd 100644 --- a/components/reasoning-workspace.jsx +++ b/components/reasoning-workspace.jsx @@ -656,10 +656,10 @@ export default function ReasoningWorkspace({ ) : ( <> - {/* ── Investigation summary card ─────────────── */} + {/* ── Investigation summary card — always full-width ─────────── */} - {/* ── Active investigation context (always visible while question exists) ─ */} + {/* Active workspace — primary focus, full-width column ─────── */} {hasSelectedQuestion && ( <> @@ -669,71 +669,82 @@ export default function ReasoningWorkspace({ {/* Post-update acknowledgement — only after success, never during loading */} {updateStatus === "success" && !isUpdating && } - {/* ── Local update loading (always visible when updating) ─ */} - {isUpdating && ( - - )} - - {/* ── Response form — hidden during update loading ─ */} - {!isUpdating && canAnswer && ( -
-
- -