Skip to content

fix(frame): render diagonal quadrant blocks#34

Merged
kitlangton merged 1 commit into
mainfrom
diagonal-blocks
Jul 19, 2026
Merged

fix(frame): render diagonal quadrant blocks#34
kitlangton merged 1 commit into
mainfrom
diagonal-blocks

Conversation

@kitlangton

Copy link
Copy Markdown
Contributor

What

Render and as exact terminal-cell geometry in screenshots, recordings, and catalog frames instead of relying on font glyph metrics.

Before / After

Before: diagonal quadrant blocks went through font rendering, where glyph side bearings made the Snake joints look narrower than full terminal quadrants.

After: each glyph is drawn as two exact half-cell rectangles, matching terminal geometry edge to edge.

How

  • packages/drive/src/frame/index.ts defines the two quadrant pairs and draws them through the shared renderer-neutral block path.
  • packages/drive/test/frame.test.ts locks down all rectangle coordinates for both glyphs.
  • A patch changeset records the visible rendering correction.

Scope

This only changes geometric rendering for and . Other symbols continue using their existing block geometry or fallback fonts.

Testing

  • bun run test:effect test/frame.test.ts test/recording/export.test.ts (17 passed)
  • bun run typecheck
  • bun run lint
  • git diff --check

Demo

Deterministic Drive capture using the diagonal Snake glyphs:

activity-head-thinking.png

Flow

flowchart LR
  Glyph[Captured ▚ or ▞] --> Geometry[Shared frame geometry]
  Geometry --> Rectangles[Two half-cell rectangles]
  Rectangles --> Output[PNG, MP4, or catalog canvas]
Loading

@kitlangton
kitlangton merged commit e7dff5f into main Jul 19, 2026
1 check passed
@kitlangton
kitlangton deleted the diagonal-blocks branch July 19, 2026 16:14
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