codebase-renderer

Document the Rust TUI game renderer pipeline and subsystem responsibilities.

Updated Dec 13, 2025
One-click install
npx skills add https://github.com/EliasVahlberg/saltglass-steppe --skill codebase-renderer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: codebase-renderer
Source: https://github.com/EliasVahlberg/saltglass-steppe/tree/main/.kiro_snapshot_2026-04-04_1209/skills/codebase-renderer
Command: npx skills add https://github.com/EliasVahlberg/saltglass-steppe --skill codebase-renderer

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provides a focused map of the renderer's architecture, responsibilities, and extension points so engineers can quickly understand, debug, and modify visual output without combing the entire codebase.

Core Features & Use Cases

  • Subsystem mapping: Documents core renderer components such as TileRenderer, EntityRenderer, LightingRenderer, EffectsRenderer, ParticleSystem, AnimationSystem, Camera, ThemeManager, EffectsManager, viewport culling, and frame limiting.
  • Pipeline explanation: Describes the main render_game flow including camera update, viewport culling, tile pass, entity pass, effects pass, particle pass, and animation pass and how state fields like visible, revealed, and light_map affect rendering.
  • Extension guidance: Explains how to add new visual effects via data/effects_config.json, introduce particle types in particles.rs, and update render_config.json and themes.json, plus how satellite terminals render subsets of state.
  • Use Case: Use it to add a new visual effect for an adaptation, resolve entity glyph rendering issues, or tune performance for large viewports and particle loads.

Quick Start

Analyze src/renderer to produce a prioritized list of extension points, the specific files to change, required data/config updates, and any performance implications.

Frequently Asked Questions about codebase-renderer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How does the Rust TUI rendering pipeline work?

The rendering pipeline processes state fields like visible, revealed, and light_map through sequential passes: camera update, viewport culling, tile pass, entity pass, effects pass, particle pass, and animation pass to generate visual output.

How do I add new visual effects to a Rust TUI game?

To add new visual effects, update data/effects_config.json and introduce new particle types in particles.rs. You must also update render_config.json and themes.json to ensure the renderer applies the new visual modifications correctly.

What's the best way to debug lighting and animation issues in a TUI renderer?

Debug lighting and animation issues by inspecting the LightingRenderer and AnimationSystem modules under src/renderer. Analyze how state fields like light_map interact with the effects pass to identify rendering discrepancies.

How do I optimize TUI renderer performance for large viewports and particle loads?

Optimize TUI renderer performance by tuning viewport culling, limiting particle count, and adjusting frame limiting configurations. Analyze the Camera and ParticleSystem modules to reduce unnecessary rendering computations for large viewports.

Can I modify tile and entity appearance using render config files?

Yes, you can modify tile and entity appearance by updating render_config.json and themes.json. The TileRenderer and EntityRenderer use these configurations to determine glyph rendering and visual state during their respective pipeline passes.

What are the limitations of modifying the TUI rendering pipeline via config files?

Config files like effects_config.json only extend existing visual effects and particle types. Fundamental changes to the rendering pipeline or subsystem behavior require modifying the Rust source modules directly under src/renderer.