Skip to content

Add comprehensive screen design documentation#530

Open
avpv wants to merge 5 commits into
mainfrom
claude/redesign-job-list-ui-GzdNb
Open

Add comprehensive screen design documentation#530
avpv wants to merge 5 commits into
mainfrom
claude/redesign-job-list-ui-GzdNb

Conversation

@avpv
Copy link
Copy Markdown
Owner

@avpv avpv commented May 14, 2026

Summary

This PR adds a complete set of design documentation for all major screens in the Bubo application. These documents serve as normative specifications for UI/UX implementation, establishing a shared understanding of each surface's purpose, current state, and target design.

Changes

  • Added 16 new design specification documents in docs/design/screens/:
    • README.md — Template and overview of the screen documentation system
    • settings.md — Settings panel with 5-tab sidebar (Calendars, Reminders, AI, Appearance, General)
    • task-details.md — Task detail view with hero title, subtasks, and scheduling
    • today.md — Main menu-bar popover showing day overview and timeline
    • event-editor.md — Unified event/task creation and editing form
    • intent-composer.md — Declarative scheduling rules interface for the optimizer
    • command-palette.md — ⌘K command launcher with fuzzy search and Power Mode
    • meeting-alert.md — Fullscreen meeting countdown alert
    • pomodoro.md — Pomodoro timer mini-window
    • slot-picker.md — Task-anchored time slot selection
    • scenario-picker.md — Optimizer output visualization (MAP-Elites archive)
    • backlog.md — Unscheduled task list and triage surface
    • menubar-density.md — Menu-bar owl icon with density indicator
    • join-ribbon.md — Floating pill showing active meeting status
    • quick-capture.md — Global hotkey (⌃⇧⌘␣) for rapid task capture

Documentation Structure

Each screen document follows a consistent five-section format:

  1. JTBD (Jobs to Be Done) — User scenarios and desired outcomes in Russian
  2. Current state — File locations, anatomy, and known failures
  3. Target design — Mockup references, target anatomy, and visual hierarchy
  4. Acceptance criteria — Observable changes for PR review (where applicable)
  5. Out of scope — Deferred work and rationale

Key Design Principles Applied

  • Sidebar over top-tabs for Settings (macOS convention, documented deviation from mockup)
  • Hero-first hierarchy for task details and event editing
  • Direct manipulation prioritized (drag-to-schedule, slot-anchored pickers)
  • Conflict surfacing before optimizer runs (intent composer)
  • Glanceable density in menu bar (colour + length encoding)
  • Unified row pattern for consistent field rendering across forms

Notable Decisions Documented

  • Consolidation of 8 Settings tabs → 5 (grouping related concerns)
  • Task-anchored slot picker as inverse of existing slot-anchored flow
  • Standalone Intent Composer surface (currently hidden in Power Mode)
  • Scenario Picker with MAP-Elites grid visualization
  • Menu-bar density bar with colour bucketing (green → orange)

These documents are pair-reviewed before implementation PRs and serve as the source of truth for UI/UX specifications.

https://claude.ai/code/session_013PnXRrP7bLqLBrkemsByh8

claude added 5 commits May 13, 2026 19:27
JTBD-rooted design specs for the five surfaces in the core daily loop:
backlog, today popover, task details, scenario picker, slot picker.
Each follows a five-section template (JTBD · current state · target
design · acceptance criteria · out of scope) so the next refactor PR
opens with the spec rather than negotiating it.

Mockups referenced from ui_kits/index2.html line ranges; current Swift
file paths and line ranges noted in §2 of each doc.
Corrections to existing Tier 0 docs after reading the entire mockup
catalogue:

- backlog: per-row controls are hover-only (CSS :1107-1140, :1372-1402),
  segmented filter has three chips (All/Scheduled/Completed), task-sched
  toolbar replaces when-chip on hover, sel-complete master toggle with
  indeterminate state.
- today: event-row variants (cancelled/declined/travel/reminder/all-day),
  platform chips with Zoom/Meet/Teams tints, attendee avatar stacks, RSVP
  chip, jumpTodayBtn opacity-as-state, smooth-scroll day-nav.
- task-details: open question on row tap gesture — recommendation B
  (tap = open details, ⌘-click = select), pending decision before
  backlog AC for "push TaskDetailsView" can be marked done.

New specs for surfaces that already exist in the codebase but need
mockup-alignment refactors:

- meeting-alert: countdown ring, platform-aware Join, stacked-reminder
  strip, agenda preview affordance.
- join-ribbon: pulsing red dot, Mute/Agenda/Leave actions, lifecycle
  extends to event.endDate.
- menubar-density: 5 states (Clear/Light/Full/Packed/Focus) with colour
  bucketing, owl+time capsule, event-count badge, Pomodoro ring
  replacement.
…lette

Four new specs, one README index update.

- quick-capture: existing QuickCaptureView refactor — parser-chip,
  hint-row, keycap topbar, window-position memory.
- intent-composer: promote Power Mode out of the command palette into
  a standalone IntentComposerView with conflict-banner and DAG-compile
  ribbon; coexist with the palette's inline composer.
- pomodoro: split 695-line TimerScreenView into PomodoroMiniView
  (during-focus) and PomodoroAdminView (session admin).
- command-palette: collapse 5 sections into 3 flat groups (Suggested
  · Actions · Navigate); add foot-hint bar and explicit «Open intents…»
  row alongside ⌥ Power Mode.

Each spec is grounded in current Swift file paths and ui_kits/index2.html
mockup line ranges.
Two new specs, README marked complete across all three tiers.

- event-editor: unify AddEventView (654 lines) · NewTaskView (582
  lines) · EditTaskView (814 lines) into a single generic
  EntityEditorView<EditableKind>. Hero title, shared SettingsRow
  rendering, filled-accent Save in topbar, always-visible Notes.
- settings: collapse 8-tab sidebar into 5 top-horizontal tabs;
  World Clock joins Calendars, Notifications joins Reminders,
  Optimizer folds into General. AI tab gets a hero rate-limit
  visualisation; Appearance keeps its 2-column skin grid.
User feedback: current NavigationSplitView sidebar feels right.
Diverge from the mockup on this specific point: keep the sidebar
layout, only consolidate entries from 8 to 5. Rationale documented
under PRINCIPLES.md §11 (HIG vs mockup tension explained in §3).

Other AC unchanged — AI hero rate-limit, skin grid, SettingsRow
component, tab consolidation logic all stand.
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