Improve workspace search and responsive shell
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
# UX/UI Refactor Plan
|
||||
|
||||
## Assumptions
|
||||
|
||||
- `verstak-desktop` is the core platform and UI shell. Notes, files, editor, activity, journal, browser inbox, and search behavior stay plugin-owned.
|
||||
- The old `~/git/verstak` UI is a visual and interaction reference, not an architecture source.
|
||||
- The v2 shell should improve orientation, density, keyboard/mouse ergonomics, and responsive behavior without reintroducing the v1 monolith.
|
||||
|
||||
## Reference Rules
|
||||
|
||||
Keep from v1:
|
||||
|
||||
- compact dark workbench rhythm;
|
||||
- clear title/header zones;
|
||||
- dense rows and tabs for repeated work;
|
||||
- action controls that appear where the user is working;
|
||||
- custom, in-app interaction surfaces instead of browser-default dialogs where the flow is important.
|
||||
|
||||
Avoid from v1:
|
||||
|
||||
- putting user business workflows into `App.svelte`;
|
||||
- direct coupling between shell and notes/files/editor internals;
|
||||
- global mutable UI state that plugins must know about;
|
||||
- moving plugin behavior into core for visual convenience.
|
||||
|
||||
## Mimo Delegation Model
|
||||
|
||||
Use `~/bin/mimo.sh run --dir <repo> "<task>"` only for bounded junior tasks.
|
||||
|
||||
Good tasks:
|
||||
|
||||
- compare two small components and write a short report to `/tmp`;
|
||||
- draft CSS for a named component within existing tokens;
|
||||
- inspect one test file and suggest missing assertions;
|
||||
- make a one-component mechanical change after the target behavior is already specified.
|
||||
|
||||
Do not delegate:
|
||||
|
||||
- architecture decisions;
|
||||
- plugin/core boundary decisions;
|
||||
- final diff review;
|
||||
- verification claims;
|
||||
- commits or pushes.
|
||||
|
||||
Every mimo result must be reviewed with `git diff` and verified independently.
|
||||
|
||||
## Work Plan
|
||||
|
||||
1. Shell orientation
|
||||
- Move persistent search and workspace context into the workspace header.
|
||||
- Keep exactly one global search entry visible at a time.
|
||||
- Preserve search availability in global plugin views.
|
||||
|
||||
2. Responsive shell
|
||||
- Make narrow viewports usable by stacking sidebar above workspace content.
|
||||
- Ensure tabs and workspace cards do not force horizontal page overflow.
|
||||
- Add Playwright coverage for mobile geometry.
|
||||
|
||||
3. Today surface
|
||||
- Make Today feel like a work-resume surface, not a static card grid.
|
||||
- Keep data loading from plugin settings/contributions; do not add business logic to core.
|
||||
- Improve empty states and quick actions based on available workspace tools.
|
||||
|
||||
4. Plugin manager polish
|
||||
- Improve scanning, status density, and permission readability.
|
||||
- Keep enable/disable/status behavior unchanged.
|
||||
- Verify degraded/failed/disabled plugin paths.
|
||||
|
||||
5. Files/workbench ergonomics
|
||||
- Use the existing files plugin comparison report as input.
|
||||
- Prefer plugin-local improvements: context menu, keyboard navigation, selection, and custom confirmation.
|
||||
- Do not add file-manager logic to the shell.
|
||||
|
||||
## Verification Gates
|
||||
|
||||
Before commit:
|
||||
|
||||
- `npm run build`
|
||||
- focused Playwright suite for the touched flow
|
||||
- full `npm run test:e2e` when App, Sidebar, WorkspaceHost, PluginManager, or shared shell layout changes
|
||||
- desktop and mobile screenshots inspected manually
|
||||
|
||||
Before push:
|
||||
|
||||
- re-run the relevant verification from a clean current worktree state;
|
||||
- inspect `git status` and `git diff --stat`;
|
||||
- push only after tests and visual smoke have current evidence.
|
||||
Reference in New Issue
Block a user