Skip to content

[codex] Add modular overview workspace layout#136

Draft
tobomobo wants to merge 4 commits into
mainfrom
codex/modular-page-workspaces
Draft

[codex] Add modular overview workspace layout#136
tobomobo wants to merge 4 commits into
mainfrom
codex/modular-page-workspaces

Conversation

@tobomobo
Copy link
Copy Markdown
Contributor

@tobomobo tobomobo commented May 16, 2026

Summary

  • add a reusable page workspace layout layer with snapped movement, resize constraints, collision push-down, z-order focus, add/remove, and reset helpers
  • persist page workspace layouts in the existing local UI store keyed by book identity plus page id
  • convert the Overview dashboard sections into configurable page-level widgets and seed the palette with planned report/source-funds/wallet placeholders
  • keep the normal dashboard visually calm: grid, handles, remove controls, and widget palette only appear in Edit layout mode
  • make drag/resize use a lightweight snapped preview outline and commit the real layout only on release
  • document the V1 scope, UX guardrails, and follow-up proof criteria in the desktop plan/reference and TODO.md

Scope notes

This PR intentionally applies the workspace system to Overview first. Reports and Transactions can reuse the shared PageWorkspace layer in follow-up slices without reworking the layout engine.

The long-term UX bar is workflow composition, not movable cards for their own sake. Future expansion should wait until one concrete workflow proves the value, such as a transaction cleanup workstation with table/detail/filter/review-queue modules, or a tax review workstation with blockers, journal freshness, E 1kv preview, and export status.

Long-term UX guardrails

  • ship opinionated presets for real jobs: tax review, transaction cleanup, reporting/export readiness, source-of-funds review, and wallet monitoring
  • keep each page's widget catalog small and page-specific, adding modules only when they expose real state or actions
  • keep normal mode static and quiet: no grid, handles, palette, or motion outside Edit layout
  • preserve reset/default safety now, and add restore preset or save-as-preset later if users customize heavily
  • enforce strong constraints: no overlapping modules, no unusably small widgets, no empty decorative dashboards
  • add precise non-pointer controls before broad rollout: keyboard nudging, size presets, and tile commands such as half-width/full-width/move-to-top
  • keep edit mode, persistence, reset behavior, and accessibility rules consistent across pages
  • do not expand the pattern if the only gain is rearranging dashboard cards

Validation

  • pnpm --dir ui-tauri exec vitest run src/lib/workspaceLayout.test.ts src/store/ui.test.ts
  • pnpm --dir ui-tauri exec tsc -b --noEmit
  • targeted eslint on changed UI/store/layout files
  • pnpm --dir ui-tauri run build
  • headless browser render check for normal and Edit layout modes on /overview
  • ./scripts/quality-gate.sh

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.

1 participant