githubnext/chopinPublic

Let's compose rich plans together

Rebuild the status marks and avatars #29

MergedMaggieAppletonmerged 4 commits intomainfromrefs/pull/29/head
  1. MA

    Rebuilds everything that reports state without being operated — the status dot, the notice pill, every count, and the avatar fallback. Task `009`.

    ## What changed

    **The dot and the notice pill** keep the construction they already had. The dot is 6px filled with the colour of the text beside it; the pill is white with the 7% hairline and the resting shadow, fully rounded, and its text moves from 10px to 13px — about a third taller, which is expected rather than a regression. A healthy plan draws no status element at all, and `sr-only` keeps "Saved" in the tree for a screen reader.

    **All three counts take the petrol pill** — 20px tall, white figures: the decisions rail header, a quoted span's replies, and the overflow on a stack of faces. One treatment means a reply count now carries the same weight as an outstanding decision; if that proves too loud in use, the quote is the one to demote, not the rail.

    **Avatars lose their lettering entirely.** Both were 8px inside a 20px circle and the scale now stops at 13px. Shape carries kind instead: a person is a filled rounded square in their account colour, the agent a filled circle in petrol. That holds on every surface that draws a face — the chat entry, the presence stack and the header — because confining the square to chat would have shown one person as two shapes on one screen. Identity now rests on shape, colour, the photograph and the tooltip; in the presence stack there is no name at all, so two people on neighbouring account colours are only told apart by hovering. Worth watching in use.

    Sizes are 20px in a chat entry and the presence stack, 24px in the header, and overlapping faces keep a 2px white ring.

    Two things surfaced on the way and are fixed here rather than left:

    - `--shadow-color` was declared above its own `--shadow-*: initial` reset, so it never reached the built CSS and **every** resting shadow in the app computed to `none`. `check-tokens` now fails a token declared above its namespace reset, so this cannot come back quietly. - The pill beside a quote was counting the places the thread is anchored in. That number already had a home — it is what the jump does, so the button's label says it — and the canvas asks for replies. The two are now separate props, and the pill sits outside the button so a drifted thread with no jump left still counts its replies out loud.

    The tool-call outcome — a successful call losing its tick — is settled but deliberately not here. The tool card is being redesigned with the chat rail and should be touched once.

    ## Screenshots

    Taken against this branch's build.

    **The decisions rail header**

    <img src="https://github.com/githubnext/chopin/raw/c47231ce870ce8cc0e324dd6c6fb729f41adbe0f/tasks/images/009-decisions-header.png" width="320">

    **A reconnecting notice**

    <img src="https://github.com/githubnext/chopin/raw/c47231ce870ce8cc0e324dd6c6fb729f41adbe0f/tasks/images/009-reconnecting.png" width="360">

    **An agent chat entry** — the petrol circle for the planner, a photograph and a fallback rounded square for two people

    <img src="https://github.com/githubnext/chopin/raw/c47231ce870ce8cc0e324dd6c6fb729f41adbe0f/tasks/images/009-chat-entries.png" width="340">

    ## Checks

    `bun run ci`, `bun run types`, 565 unit tests and 55 e2e all green.

    🤖 Generated with [Claude Code](https://claude.com/claude-code)

  2. MaggieAppletonmerged da6abdd436613 months ago on GitHub

  3. MaggieAppletonclosed3 months ago on GitHub

  4. MaggieAppletonhead-ref-deleted3 months ago on GitHub