Skip to content

feat(tui): redraw the small cross as a three-row sign with sub-cell fillets - #228

Open
plombeer31 wants to merge 3 commits into
valeryb/onboarding-meanwhilefrom
valeryb/small-cross-fillets
Open

feat(tui): redraw the small cross as a three-row sign with sub-cell fillets#228
plombeer31 wants to merge 3 commits into
valeryb/onboarding-meanwhilefrom
valeryb/small-cross-fillets

Conversation

@plombeer31

Copy link
Copy Markdown
Collaborator

Stacked on #227#226#225#224#223#222#220.

The mark

   ▗█░
 █████░
   █▘░

Three rows, one-cell arms, a quadrant block tucked into each concave corner, keeping the one-column bevel.

Why

The small mark was the five-row bevelled cross. At the two places it actually appears — the rail lockup and the setup headers — five rows of logo out-shout the two lines of text beside them. It is a sign at this size, not a reproduction.

The fillets. The concave diagonal (top-left, bottom-right) is what distinguishes this mark from a plain cross, and at one cell per arm there is no room to draw it in whole cells. A quadrant block puts the ink in the corner it belongs to at half the size — the only sub-cell tool a terminal offers. The hard 90° corners stay empty: filleting all four would make the mark 4-fold symmetric, which is a different logo.

The part worth reviewing

This size is constructed, not rasterised. Every other mark samples the bezier path from assets/logo.svg. This one cannot: the arm is a quarter of the box, so a one-column arm implies a five-row box at a 2.2:1 cell, and fullGrid(5) rounds straight back up to a two-column arm. The proportion (arm 1, bar 4×arm + 1 for centring) is written out in renderSmall instead, with the reasoning in the doc comment. It is still generated code — logo-art.generated.test.ts runs --check and fails on drift — but it is derived from the rule rather than from the path, and that deserves a reviewer's eye.

ASCII keeps plain cells (no quadrant glyphs in that stroke); the charset test still passes.

Knock-on effects

The mark lost two rows, and things measured it:

  • SIDEBAR_CHROME_ROWS 16 → 14, so the rail's sessions/tasks budget grows by two rows (24-row terminal: 4/2 → 6/2).
  • LOGO_METRICS.mini 9×5 → 6×3, which gives the splash one more tip row on a small window.
  • RailBrand seated its two text rows under two blanks to centre them on a five-row mark; one blank now.

All three are pinned by existing tests, which is how each of them surfaced.

Verified

Captured at 100×30: the setup header and the agent's rail lockup both draw the new mark, with atomic-agent / v0.3.6 seated on the bar row.

Full suite: 5205 passed. fs-glob-real and send-message-concurrency fail on main too; llm-health-poller is the usual parallel-load flake and passes in isolation.

…illets

The small mark was the five-row bevelled cross, and at the two places it
actually appears — the rail lockup and the setup headers — five rows of
logo out-shout the two lines of text beside them.

    ▗█░
  █████░
    █▘░

Three rows, one-cell arms, a quadrant block tucked into each concave
corner. The concave diagonal is what distinguishes this mark from a plain
cross, and at one cell per arm there is no room to draw it in whole
cells; a quadrant puts the ink in the corner it belongs to at half the
size, which is the only sub-cell tool a terminal has. The hard 90°
corners stay empty — filleting all four would make the mark 4-fold
symmetric, which is a different logo.

This size is **constructed rather than rasterised**, and the generator
says so at length. Every other mark samples the bezier path, but the arm
is a quarter of the box, so a one-column arm implies a five-row box at a
2.2:1 cell — `fullGrid(5)` rounds straight back up to two columns. The
proportion is written out instead.

ASCII keeps plain cells; that stroke has no quadrant glyphs.

Two rows came back to the rail, so `SIDEBAR_CHROME_ROWS` drops 16 → 14
and the sessions/tasks budget grows with it; `LOGO_METRICS.mini` and the
rail lockup's seating follow the new height.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant