Skip to content

feat(renderer): render meteors beside content#139

Merged
kunchenguid merged 4 commits into
mainfrom
feat/renderer-side-meteors
May 6, 2026
Merged

feat(renderer): render meteors beside content#139
kunchenguid merged 4 commits into
mainfrom
feat/renderer-side-meteors

Conversation

@kunchenguid
Copy link
Copy Markdown
Owner

Summary

  • Adds side-gutter meteor rendering so the TUI splash effect can appear beside the main content area.
  • Keeps side meteors aligned to the visible content viewport and honors the configured meteor frequency count.
  • Adds renderer coverage for the new meteor behavior and refreshes the splash screenshot to match the updated UI.

Risk Assessment

✅ Low: The changes are narrowly scoped to renderer-side meteor generation/rendering with targeted coverage added and no material correctness or regression risks found in the changed code.

Testing

  • Summary: Exercised the renderer unit suite and the new side-meteor-specific tests; all relevant tests passed.
  • npx vitest run src/renderer.test.ts
  • npx vitest run src/renderer.test.ts -t "Renderer meteors"
  • Outcome: ✅ passed across 1 run (41.6s)

Pipeline

Updates from git push no-mistakes

✅ **Rebase** - passed

Round 1 - passed ✅

🔧 **Review** - 1 issue found → auto-fixed (2)

Round 1 - found 1 warning

  • ⚠️ src/renderer.ts:308 - When meteorFrequency maps to a count of 1, generateSideMeteorShower creates one left meteor and one right meteor, returning 2 meteors instead of honoring the requested count; use rightCount = count - leftCount or explicitly document that side showers intentionally exceed the count at the lowest frequency.

Round 2 (auto-fix) - found 1 warning

  • ⚠️ src/renderer.ts:862 - Side meteors are generated across the full available terminal height, but buildFrameCells only renders them for the content-side rows. On taller terminals, especially at low meteorFrequency, the generated meteor can start below the rendered side viewport and never appear; generate side meteors against the side/content viewport height or regenerate/filter before counting them.

Round 3 (auto-fix) - passed ✅

✅ **Test** - passed

Round 1 - passed ✅

  • npx vitest run src/renderer.test.ts
  • npx vitest run src/renderer.test.ts -t "Renderer meteors"
🔧 **Document** - 1 issue found → auto-fixed

Round 1 - found 1 info

  • ℹ️ README.md:39 - The README embeds docs/splash.png as the product screenshot, but the renderer change adds meteors in the side gutters beside the main content area. The screenshot should be regenerated or replaced so the documented TUI preview reflects the new side-meteor rendering.

Round 2 (auto-fix) - passed ✅

✅ **Lint** - passed

Round 1 - passed ✅

✅ **Push** - passed

Round 1 - passed ✅

@kunchenguid kunchenguid merged commit 6538a2a into main May 6, 2026
5 checks passed
@kunchenguid kunchenguid deleted the feat/renderer-side-meteors branch May 6, 2026 15:52
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