diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-09 12:31:47 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-09 12:31:47 +0200 |
| commit | d990f7c6775b4b921c6d6d8d539c7018279346be (patch) | |
| tree | f42f876fcb1dbf49ba78d20025eea10f63fff42d /src/mailsync.cpp | |
| parent | 14218dc6e6ba8d8648b9b574457214b298bcf75f (diff) | |
| download | qtmaildir-d990f7c6775b4b921c6d6d8d539c7018279346be.tar.gz qtmaildir-d990f7c6775b4b921c6d6d8d539c7018279346be.zip | |
docs: plan the card list implementation
Eleven tasks against the card-list spec, TDD throughout, each with its own
mutation check.
Three decisions the plan makes that the spec did not:
- Task 0 rebases the branch first. item-20-message-rows is 15 commits behind
master and conflicts in eight files, one of which carries the item 55
splitter fix in the same file this plan rewrites heavily. Resolving that
while also building a feature would mean debugging a merge and a feature at
once, so it is its own task with its own verification step.
- CardLayout is a separate file from CardDelegate, holding all the geometry
and touching no painter or widget. That is a direct response to the
rendering-probe lessons in CLAUDE.md: a delegate test can be defeated by a
blank render, a pure function cannot.
- Tasks 2, 5 and 6 knowingly leave the build red between commits, since
removing a column across three files cannot be atomic without one enormous
commit. The plan says so at each one and warns against merging mid-plan.
Also recorded: the account chip is specified but has no task, because its
placement on a card was never specified and inventing one would be a guess.
Diffstat (limited to 'src/mailsync.cpp')
0 files changed, 0 insertions, 0 deletions
