Skip to main content

renderer

Architecture rules for GPU rendering with TypeGPU/WebGPU. Use when adding or changing render passes, shaders, frame orchestration, GPU resources, culling, terrain, shadows, or visual performance work.

Source facts

Repository
dzhng/civsim
Last source activity
October 20, 2026 at 07:15
Detected SKILL.md language
English
Stars
2
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
renderer
description
Architecture rules for GPU rendering with TypeGPU/WebGPU. Use when adding or changing render passes, shaders, frame orchestration, GPU resources, culling, terrain, shadows, or visual performance work.
# GPU renderer The renderer is TypeGPU over WebGPU. It draws plain frame inputs the application hands it and never reaches into simulation or app state. These are the flaws that sink a 3D experience; check a change against each before writing it. - **Fixed-view cost never grows with world size.** For a fixed camera and render size, submitted geometry, shadow casters, and per-frame lists are bounded by what the view can see or cast into, and screen-space work by pixels. Store the world map-wide; select from it spatially. Frustum clipping does not make vertices free. - **One owner per contract.** Frame orchestration, camera, depth convention, targets, culling, lighting, timing, and resource lifetime each have one owner every pass shares. Extend it; a second copy drifts. - **Shared contracts change together.** Depth and lighting are engine-wide: every pass reads the same convention and every material the same shading path. A per-pass exception is a future visual bug. - **No GPU resource without a lifetime owner.** Everything is allocated through the registry, rebuilds swap in whole, and repeated resize/rebuild/reset returns to baseline. - **Pixels prove correctness, not counters.** An optimization is accepted only with an interleaved A/B on the real GPU and an image that shows the subject still drawn correctly.
View on GitHub