tinyworld-render-performance
Installation
SKILL.md
Tiny World Render Performance
Keep the renderer single-pass and predictable.
Current renderer contract:
- Default render path is direct except for two explicit render-target systems:
the optional pixelation pass (low-res render target + depth/normal-edge fullscreen quad)
and the enhanced-water planar reflection pass. The reflection pass renders the scene once
from a mirrored camera into
tw-water-planar-reflection, hides reflective water during capture, clips below-water geometry, and is disabled in XR / when enhanced water is off. Do not introduce any other always-on post passes (EffectComposer, screen shaders, additional render targets) without explicit approval. - Cap DPR; do not return to uncapped
devicePixelRatio. Dynamic resolution (renderDynamicResolution) is an adaptive multiplier below the user's Resolution slider ceiling: it adjusts effective pixel ratio slowly toward Target FPS and never persists its transient scale. - Warn on software WebGL renderers (SwiftShader/llvmpipe/softpipe/WARP/etc.) with the dismissible hardware-acceleration banner; many FPS complaints come from browser hardware acceleration being disabled.
- Main WebGL context uses
antialias: true; the old smoothing/post pass has been removed. - Brightness/saturation/contrast are lightweight CSS filters on the WebGL canvas, not shader uniforms.
GPU caches (introduced for low-end GPU + visible-distance scaling):