From 36f4316dbafcc9e9c34d462074fdd197bd710372 Mon Sep 17 00:00:00 2001 From: Lucas Winther Date: Tue, 18 Aug 2026 22:13:09 +0200 Subject: [PATCH] docs: say where the focus bar sits per layout, not per page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit F4a called it "a bar at the top of the page", which the previous two commits made false above `lg` — the working agreement's two-column bullet and the PRD's desktop split both described a rail the bar was not in. "Above everything it affects" is the rule that survived the move; where that lands now depends on whether the layout has a rail. Co-Authored-By: Claude Opus 5 (1M context) --- AGENTS.md | 5 ++++- docs/PRD.md | 15 ++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 1fa6f02..f57e6a1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -511,7 +511,10 @@ to an open page). Four things hold it up: - **The page is two columns past `lg`, and the split is the one below.** What the page *tells* the reader to do — the next deadlines, tonight's dailies — pins to a rail on the left and stays put while the lists it *shows* them scroll beside it. Below that breakpoint it is one column in the - same order. The rail's rule belongs to the panel, not the column: the panel is short and the list + same order. The focus bar goes at the top of that rail rather than full-width above both columns: + it narrows what the rail holds, and a wide row of chips above everything pushes the headline + deadline down the page. On a phone, and on the timeline, which has no rail, it is back at the top + of the page — one render site per view, never both at once. The rail's rule belongs to the panel, not the column: the panel is short and the list is long, so a full-height divider would spend most of its length walling off a gap. - **Truncating a list is not re-sorting it.** Each section shows `LIST_CAP` rows and offers "show all N". The rows below the cut keep their place in the order, stay counted in the header, and stay diff --git a/docs/PRD.md b/docs/PRD.md index df9535c..d6bbe42 100644 --- a/docs/PRD.md +++ b/docs/PRD.md @@ -31,8 +31,9 @@ One persona: a player of 2–5 gacha games who checks in a few times a week, mos Most often is not only, and the desktop layout is not the phone layout stretched. Past `lg` the page splits: what it is *telling* the reader to do — the next deadlines, tonight's dailies — pins to a -rail on the left and stays put, while the lists it is *showing* them scroll beside it. Below that -breakpoint the same split produces the same answer in one column: instructions first. +rail on the left and stays put, while the lists it is *showing* them scroll beside it. The focus bar +(F4a) rides at the top of that rail, because it narrows what is in it. Below that breakpoint the same +split produces the same answer in one column: instructions first. They care about accuracy of end dates above everything else — a wrong date is worse than a missing event, because a missing event sends them to a wiki while a wrong one makes them miss content. @@ -131,9 +132,13 @@ tool for the thing a player of four games actually does while reading: clear one next. Doing that with the on/off switches costs two taps per game and leaves the settings panel no longer describing what they play. -So focus is a **lens over the filter, not a second filter**: a bar at the top of the page, above -everything it affects, narrowing every view — headline, dailies, lists, calendar and counts — to one -game, with a "next game" control that steps through them and ends by returning to all. It never +So focus is a **lens over the filter, not a second filter**: a bar above everything it affects, +narrowing every view — headline, dailies, lists, calendar and counts — to one game, with a "next +game" control that steps through them and ends by returning to all. "Above everything it affects" is +the top of the page on a phone and on the timeline, and past `lg` it is the top of the checklist's +rail: there the bar pins with the deadlines and dailies it narrows, rather than spending the full +width of a wide screen on a row of chips and pushing "next to expire" — the answer the reader opened +the page for — below the fold to make room. It never changes `hiddenGames`, "All" is always one tap away, and a focus on a game that is switched off or has left the feed is ignored rather than obeyed, so it can never strand the reader on a blank page whose cause is elsewhere. Each chip carries that game's outstanding count, so a game with nothing