diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md b/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md index 8b3858b..cba4e81 100644 --- a/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md +++ b/docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md @@ -1661,6 +1661,57 @@ raises. - The placeholder must not appear between a selection and its render, or every thread open flashes a logo first. +### Specified with the user 2026-08-07; fonts committed, pane not built + +**The design source is the user's own HTML mockup**, not the PNGs recorded +above. Those were rendered *from* it. Both mockups are in the user's Downloads +as `qtMailDir Background {dark,light} Mockup.zip`, each holding +`qtmaildir-mockup-bg.html` and a `COLOR-REFERENCE.md` giving the complete brand +palette for both modes. Build from that HTML; do not trace the PNGs. + +**Two things in the mockup cannot survive the port, by design.** Its +`@import` of Google Fonts is blocked by the interceptor, deliberately, and its +`fit()` script cannot run because JavaScript is off in this profile. The fonts +are dealt with (below); the scaling script is unnecessary, since CSS can centre +the block without it. + +**Decided with the user:** + +- **The brand palette wins over the desktop palette**, a deliberate exception + to item 12's rule. A logo is brand rather than chrome. The dark or light set + is chosen by the desktop theme, so it still flips correctly. +- **Layout is a header ROW, not the mockup's centred lockup**: icon on the + left, wordmark on the right, with the glow and grid still centred behind as + background. Helpers below the header. +- **No fixed vertical split.** The user first suggested 40/60; this pane is a + splitter panel whose height varies enormously, so a ratio breaks at one + extreme or the other. The block takes its natural height and is centred in + whatever the pane gives. +- **The helpers are counts and sync state**, NOT the selected-thread count the + section above proposes. The user rejected that: the status bar already says + it. Instead: unread, flagged and inbox counts, each clickable to run that + query, and a sync line that appears only when something needs attention + (last sync failed, or edits waiting to sync). Nothing when all is well, so it + cannot become wallpaper. +- **Footer**: copyright, version, and the website as a WORKING link. Clicking + hands off to the desktop browser through the existing + `NavigationTypeLinkClicked` path in `messageview.cpp`. +- **Tips and tricks stays dropped**, as the section above already argues. +- **The AI-assisted development notice does not go here.** It belongs in the + README, per the user's global preference, and in the About dialog if wanted. + +**Already done (commit "build: bundle the fonts…"):** Oxanium ExtraBold and +IBM Plex Sans Regular are in `assets/fonts/`, subset, with their OFL licences, +and the README records them. Nothing references them yet. + +**Still to build:** `resources.qrc` entries; +`HtmlBuilder::buildPlaceholder(...)` porting the mockup's CSS with the fonts as +`@font-face` data URIs; `MessageView::showPlaceholder(...)`; and the four +`MessageView::clear()` call sites choosing between the placeholder and a blank +pane. The **helper counts are the largest piece**: three `notmuch count` calls +crossing to the worker, plus a refresh policy, since a count goes stale the +moment a tag is edited. + ## 31. The quit prompt has no highlighted default button **Observed (user, 2026-08-04):** "quit popup has no Predefined answer (there's |
