← Commit history

Deep README sections for the window-type icon system, wiki dual view and taskbar toggle, one-session-one-window; pup skill gains the window-identity section

John Lauer ·477fc6e3d6 ·3mo ago ·parent 3b98a66
2 files changed +80
README.md+55
@@ -50,6 +50,61 @@ adom-desktop browser_readiness '{}'      # → {ready:true, browserKind:"chrome" Full everyday usage (tabs, recording, window ownership, cold-start playbook) is in the `pup` skill (`SKILL.md`). +## Window-type taskbar icons: read a pup window at a glance++![The pup window-type icon family](docs/icons/family-v1.png)++Every pup window's **taskbar icon states what kind of thing it is showing**. All five share the same+drawing (the teal Adom tile carrying a solid browser window) and differ only in the window's+*content*: a monochrome glyph on the 24x24 Adom house grid, per the brand icon law (single color,+no gradients, no emoji):++| Icon | Window content | Means |+|---|---|---|+| ![wiki](docs/icons/pup-cat-wiki.png) | open book | **Adom wiki, public view**: logged out, what the world sees |+| ![wiki signed in](docs/icons/pup-cat-wiki-in.png) | book + person | **Adom wiki, signed in**: the user's logged-in view (private source, drafts, owner cards) |+| ![adom app](docs/icons/pup-cat-app.png) | the Adom mark | **An Adom app**: localhost or a cloud-slug proxy URL |+| ![web](docs/icons/pup-cat-web.png) | globe | **The web**: any other site (ti.com, digikey, ...) |+| ![mixed](docs/icons/pup-cat-mixed.png) | two panes | **Mixed**: the window's tabs span more than one category |++- The category is derived from **all tabs** in the window; it updates **live** (add a digikey tab+  to a wiki window and the icon flips to *mixed* within about a second).+- The **overlay badge** riding the icon's corner is separate and sacred: it is the **active tab's+  own favicon**, so you always see which site you are looking at. In grouped-taskbar mode it shows+  window/tab counters instead.+- The **tab title** carries the same login signal in text: a solid dot (`●   Logged in`) or hollow dot+  (`○   Public`) leads the title of every Adom wiki tab.+- Under the hood, each window's identity (icon, name, Alt-Tab entry) rides a per-session Windows+  AppUserModelID that **carries the category**: the only way Win11 allows a taskbar tile to change+  live. Grouped mode instead keeps one stable, pinnable `Adom.Pup` identity.++## The Adom wiki: logged-in vs public view, and the taskbar toggle++pup can show any Adom wiki page from **two viewpoints**, and both the AI and the user can switch:++- **Public (default)**: a fresh logged-out profile: exactly what the world sees. Use it to verify+  what a publish actually exposed.+- **Signed in**: `browser_open_window {..., wikiView:"authed"}` routes to a reserved persistent+  profile whose cookie jar holds the user's ~30-day SSO session. One login serves **every** AI+  thread on the machine. First use returns `wikiLoginNeeded:true`; the user signs in once, in that+  window.++**The user can flip a wiki window themselves**: right-click its taskbar button: the jump list+carries **"Adom wiki: switch to logged-in view"** (or "...switch to public view"). Clicking it+relaunches that same window under the other cookie jar, brings it to the front, and shows an+on-screen caption while it works ("Switching to the logged-in view of the Adom wiki", then+"Adom wiki: now the LOGGED-IN view (Their Name)"). The AI-side equivalent is the+`browser_wiki_set_view` verb, which exists for that jump-list click: AI threads should pass+`wikiView` on open instead.++## One session, one OS window++Every pup session gets its **own OS window**, even when sessions share a browser profile (as all+signed-in wiki windows share the authed cookie jar). This is what makes per-window identity+possible: a window's title belongs to its active tab, so windows that share sessions as tabs+cannot be found, branded, flashed, or given jump lists individually. Sharing a profile shares the+cookies; it never merges windows.+ ## Recording  pup can record what it drives — a **single tab/window** or the **whole desktop** — straight from the
SKILL.md+25
@@ -91,6 +91,31 @@ under one "Adom Pup" button whose badge shows windows + total tabs. "Split them icons" → `{"taskbarGrouping":"split"}`. The setting persists across updates. Change it ONLY when the user asks — it's their taskbar. Details: `pup-windows-sessions-tabs`. +## Window-type taskbar icons (split mode) — what the user sees per window++In split mode every pup window's taskbar icon states its CONTENT KIND. All five share the teal+Adom tile with a solid browser-window drawing; the glyph inside the window is the category:++| Glyph inside the window | Category |+|---|---|+| open book | Adom wiki, PUBLIC view (logged out) |+| book + person | Adom wiki, SIGNED IN (the user's logged-in view) |+| the Adom mark | an Adom APP (localhost / cloud-slug proxy URL) |+| globe | the web (any other site) |+| two panes | MIXED (tabs span more than one category) |++The category derives from ALL tabs and updates live (about a second). The corner overlay stays the+ACTIVE TAB'S FAVICON (or window/tab counters in grouped mode) — never repurpose it. Adom wiki tab+titles also lead with a text glyph: solid dot = signed in, hollow dot = public. You never manage+any of this; pup does it automatically. It is worth KNOWING because the user can see login state+and window kind at a glance — do not open a second window to "check" what a taskbar icon already+answers, and when the user says "the window with the book/globe icon" you know which one they mean.++A WIKI window's taskbar right-click jump list also carries a view toggle ("Adom wiki: switch to+logged-in view" / "...to public view") — a USER affordance that relaunches that window under the+other cookie jar with on-screen captions. Its callback verb `browser_wiki_set_view` is not for AI+threads; pass `wikiView:"authed"|"public"` on browser_open_window instead. Details: `pup-adom-wiki`.+ ## Key rules (the essentials — details in the sub-skills)  - **Always pass `sessionId`** on session-scoped verbs — `'{}'` targets the *active* session, which may not