aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-08-07 17:08:45 +0200
committerDanilo M. <danix@danix.xyz>2026-08-07 17:08:45 +0200
commit6003bab2d4c491a857b7a728f2f23c719723ef1a (patch)
treefa4da20f5b6840abd9c7760ff4eedc9e6697a02e
parent8212f3c08d050ac38ccc76aea59d4db707a6b5c5 (diff)
downloadqtmaildir-6003bab2d4c491a857b7a728f2f23c719723ef1a.tar.gz
qtmaildir-6003bab2d4c491a857b7a728f2f23c719723ef1a.zip
docs: record what item 30 was specified as
The blank-pane item was designed with the user this session but not built, and the decisions would otherwise have to be re-derived. The important correction is to the item's own source material: it is built from the user's HTML mockups, not from the PNGs this section originally recorded. Those PNGs were rendered from that HTML, and it ships a complete brand palette for both light and dark. Two parts of the mockup cannot survive the port, and both are deliberate properties of this application rather than problems to fix: its Google Fonts import is blocked by the interceptor, and its layout script cannot run because JavaScript is off. Also records that the selected-thread count, which this section called the half with real value, was rejected by the user on the grounds that the status bar already shows it. The helpers are unread, flagged and inbox counts plus a sync line that appears only when something needs attention. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
-rw-r--r--docs/superpowers/plans/2026-08-03-post-0.1.0-usability.md51
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