<!-- GENERATED FILE: do not edit by hand. --> <!-- Regenerate with npm run gen-docs. -->
Sources: packages/renderer-visual-profiles/src/index.ts.
Renderer Visual Profiles
Renderer visual profiles are cataloged data. Applying one mutates project.world.environment through the backend renderer.visual_profile.apply path; SceneSnapshot.environment remains the only renderer input.
Catalog version: renderer-visual-profile-catalog.v1. Catalog hash: sha256:6e6d5be9bf33ad960f5055d48d3ec78d2d6a7cee2c9a537dfa85148755809ed8.
Authoring Rules
- Profiles do not create terrain, navmesh, scatter, gameplay entities, scripts, water systems, Nanite/Lumen equivalents, hardware ray tracing, custom shader source, or custom render passes.
- Frontend controls consume the catalog and call the backend profile apply action; they do not carry profile defaults.
- WebGL fallback and WebGPU expectation receipts are part of the profile metadata and must appear in renderer QA/profiler proof.
- The Post, Effects, and Budget columns are each profile's REQUESTED target, not a guarantee of delivered pixels. The runtime resolves every request against live backend capability and the per-tier frame budget and emits a typed RenderPlan degradation receipt for anything it downgrades. On WebGL, effects-on advanced/cinematic profiles commonly resolve down: the live
outdoor_day_clearfixture resolves post to basic/smaa/warm (RenderPlan degradationCount 27, reasons such asphysical_sky_hardware_required,screenSpaceGlobalIllumination_requires_standard_pass,colorGrading_requires_standard_pass), andscreenSpaceReflectionsclamps to the probe/environment fallback. Read the profiler's effective quality and clamp reasons for what actually rendered.
Profile Matrix
| Profile | Title | Category/Intent | Preset | Post | Effects | Reflection | WebGL fallback/clamps | WebGPU expectation | QA scenarios | Budget |
|---|---|---|---|---|---|---|---|---|---|---|
studio_softbox.v1 | Studio Softbox | studio/soft | studio | standard | ambientOcclusion, bloom, colorGrading, contactShadows, vignette | environment | WebGL uses the environment map and authored probes when present. | WebGPU uses environment PMREM and authored probes. | visual-profile-studio-softbox | 1920x1080 DPR 1, ultra, WebGL p95 12 ms, WebGPU p95 12 ms |
outdoor_day_clear.v1 | Outdoor Day Clear | outdoor/natural | outdoor_day | advanced | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, vignette | environment | WebGL uses the environment map and authored probes when present. | WebGPU uses environment PMREM and authored probes. | visual-profile-outdoor-day-clear | 1920x1080 DPR 1, ultra, WebGL p95 12 ms, WebGPU p95 12 ms |
outdoor_sunset_haze.v1 | Outdoor Sunset Haze | cinematic/dramatic | outdoor_sunset | cinematic | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, screenSpaceReflections, vignette | probes_plus_ssr | WebGL clamps SSR to reflection probe/environment-map fallback.<br>webgl_ssr_reflection_probe_env_map_fallback | WebGPU may resolve selective SSR when scene hints and MRT inputs are available. | visual-profile-outdoor-sunset-haze | 1920x1080 DPR 1, ultra, WebGL p95 16 ms, WebGPU p95 16 ms |
forest_morning_haze.v1 | Forest Morning Haze | outdoor/natural | outdoor_day | advanced | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, vignette | probes | WebGL falls back to environment map if a probe cubemap is unavailable. | WebGPU binds authored probes and environment PMREM. | visual-profile-forest-morning-haze | 1920x1080 DPR 1, ultra, WebGL p95 16 ms, WebGPU p95 16 ms |
desert_noon_glare.v1 | Desert Noon Glare | outdoor/dramatic | outdoor_day | advanced | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, vignette | environment | WebGL uses the environment map and authored probes when present. | WebGPU uses environment PMREM and authored probes. | visual-profile-desert-noon-glare | 1920x1080 DPR 1, ultra, WebGL p95 16 ms, WebGPU p95 16 ms |
jungle_canopy_mist.v1 | Jungle Canopy Mist | cinematic/dramatic | outdoor_day | cinematic | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, vignette | probes | WebGL falls back to environment map if a probe cubemap is unavailable. | WebGPU binds authored probes and environment PMREM. | visual-profile-jungle-canopy-mist | 1920x1080 DPR 1, ultra, WebGL p95 16 ms, WebGPU p95 16 ms |
interior_soft_bounce.v1 | Interior Soft Bounce | indoor/soft | indoor | advanced | ambientOcclusion, bloom, colorGrading, contactShadows, screenSpaceGlobalIllumination, vignette | probes | WebGL falls back to environment map if a probe cubemap is unavailable. | WebGPU binds authored probes and environment PMREM. | visual-profile-interior-soft-bounce | 1920x1080 DPR 1, ultra, WebGL p95 14 ms, WebGPU p95 14 ms |
city_sunset_aerial.v1 | City Sunset Aerial | cinematic/showcase | outdoor_sunset | cinematic | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, screenSpaceReflections, vignette | probes_plus_ssr | WebGL clamps SSR to reflection probe/environment-map fallback.<br>webgl_ssr_reflection_probe_env_map_fallback | WebGPU may resolve selective SSR when scene hints and MRT inputs are available. | visual-profile-city-sunset-aerial | 1920x1080 DPR 1, ultra, WebGL p95 16 ms, WebGPU p95 16 ms |
night_moonlit_fog.v1 | Night Moonlit Fog | cinematic/night | night | cinematic | ambientOcclusion, bloom, colorGrading, contactShadows, screenSpaceGlobalIllumination, vignette | probes | WebGL falls back to environment map if a probe cubemap is unavailable.<br>webgl_depth_of_field_not_available_uses_camera_focus_fallback | WebGPU binds authored probes and environment PMREM. | visual-profile-night-moonlit-fog | 1920x1080 DPR 1, ultra, WebGL p95 16 ms, WebGPU p95 16 ms |
renderer_moat_cinematic.v1 | Renderer Moat Cinematic | cinematic/showcase | outdoor_sunset | cinematic | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, screenSpaceReflections, vignette | planar_when_authored | WebGL uses authored planar water/probe fallback only.<br>webgl_ssr_reflection_probe_env_map_fallback | WebGPU uses authored planar/probe paths and selective SSR where policy allows. | visual-profile-renderer-moat-cinematic<br>renderer-moat-demo | 2560x1440 DPR 2, ultra, WebGL p95 16 ms, WebGPU p95 16 ms |
stylized_pop.v1 | Stylized Pop | stylized/showcase | stylized | advanced | ambientOcclusion, bloom, colorGrading, contactShadows, screenSpaceGlobalIllumination, vignette | environment | WebGL uses the environment map and authored probes when present. | WebGPU uses environment PMREM and authored probes. | visual-profile-stylized-pop | 1920x1080 DPR 1, ultra, WebGL p95 14 ms, WebGPU p95 14 ms |
Lighting Rigs
| Rig | Title | Preset | Shadow tier | Contact shadows |
|---|---|---|---|---|
studio.softbox | Studio Softbox | studio | standard | auto |
outdoor.clear_sun | Outdoor Clear Sun | outdoor | csm | auto |
outdoor.sunset_haze | Outdoor Sunset Haze | outdoor | cinematic_csm | on |
outdoor.forest_morning | Forest Morning | outdoor | csm | on |
outdoor.desert_noon | Desert Noon | outdoor | csm | auto |
outdoor.jungle_canopy | Jungle Canopy | outdoor | cinematic_csm | on |
interior.soft_bounce | Interior Soft Bounce | indoor | standard | on |
city.sunset_aerial | City Sunset Aerial | outdoor | cinematic_csm | auto |
night.moonlit_fog | Night Moonlit Fog | night | cinematic_csm | on |
stylized.pop | Stylized Pop | stylized | csm | auto |
Post Profiles
| Post profile | Title | Preset | Color grade | Effects |
|---|---|---|---|---|
post.studio_softbox | Studio Softbox Post | standard | neutral | ambientOcclusion, bloom, colorGrading, contactShadows, vignette |
post.outdoor_day_clear | Outdoor Day Clear Post | advanced | neutral | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, vignette |
post.sunset_haze | Sunset Haze Post | cinematic | warm | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, screenSpaceReflections, vignette |
post.forest_morning_haze | Forest Morning Haze Post | advanced | cool | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, vignette |
post.desert_noon_glare | Desert Noon Glare Post | advanced | warm | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, vignette |
post.jungle_canopy_mist | Jungle Canopy Mist Post | cinematic | cool | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, vignette |
post.interior_soft_bounce | Interior Soft Bounce Post | advanced | neutral | ambientOcclusion, bloom, colorGrading, contactShadows, screenSpaceGlobalIllumination, vignette |
post.city_sunset_aerial | City Sunset Aerial Post | cinematic | cinematic | ambientOcclusion, bloom, colorGrading, contactShadows, lightShafts, screenSpaceGlobalIllumination, screenSpaceReflections, vignette |
post.night_moonlit_fog | Night Moonlit Fog Post | cinematic | cool | ambientOcclusion, bloom, colorGrading, contactShadows, screenSpaceGlobalIllumination, vignette |
post.stylized_pop | Stylized Pop Post | advanced | vibrant | ambientOcclusion, bloom, colorGrading, contactShadows, screenSpaceGlobalIllumination, vignette |
Reflection Profiles
| Reflection profile | Mode | WebGL fallback | WebGPU expectation |
|---|---|---|---|
reflection.environment | environment | WebGL uses the environment map and authored probes when present. | WebGPU uses environment PMREM and authored probes. |
reflection.probes | probes | WebGL falls back to environment map if a probe cubemap is unavailable. | WebGPU binds authored probes and environment PMREM. |
reflection.probes_plus_ssr | probes_plus_ssr | WebGL clamps SSR to reflection probe/environment-map fallback. | WebGPU may resolve selective SSR when scene hints and MRT inputs are available. |
reflection.planar_when_authored | planar_when_authored | WebGL uses authored planar water/probe fallback only. | WebGPU uses authored planar/probe paths and selective SSR where policy allows. |