Generated environment maps (pseudo-HDRI)
Read blender-scene for the local session contract.
Tool names below use its capability mapping when the named interface is absent;
read only the relevant rows in blender-volatile.
Requires: blender-generation (credit workflow),
blender-lighting-camera (lighting integration), and blender-volatile
(live capability and parameter contract). The prompt contract is below.
Scope: a generated HDRI, sky, panorama, or custom environment applied to the
live Blender World.
What this output is — and is not
The generated map is an SDR PNG/JPEG, not floating-point radiance
.hdr/.exr. Name it honestly: an AI environment map or pseudo-HDRI.
It carries background, reflections, ambient color, and low-frequency fill; it
does not carry trustworthy high-dynamic-range sun values.
Choose a 2:1 output only if the current model and wrapper support it; otherwise
inspect the actual output ratio. The local processing route below can repair an appropriate panorama source. Cropping alone does not convert an ordinary
perspective picture into an equirectangular panorama, and pole/horizon
distortion must be audited. An equirectangular map wraps horizontally only —
zenith and nadir are poles, so never promise vertical tiling.
If the deliverable explicitly requires a true HDR/EXR light probe, this
workflow does not satisfy it. Say so, and use a real bracketed/CG HDRI or an
approved radiance-reconstruction pipeline.
Inspect before generation
- Read
bl_scene_snapshot, the active camera, World nodes, exposure/view
transform, existing lights, reflective hero materials, and the motion
range.
- An existing suitable environment map gets reused automatically; with
several candidates, ask which one.
- The Scene Passport records:
- environment description, biome/interior, time, weather, horizon height;
- intended key/sun direction relative to the active camera;
- what the map must supply: background only, reflections, ambient light,
or all three;
- dynamic camera range and seam-sensitive reflective objects;
- the existing World/map kept for rollback.
Prompt, model, and parameters
Before generation, establish a local file-transfer, processing and application
route that can satisfy the checks below. The local server does not expose
bl_apply_hdri. Use supported bpy work through bl_execute and available
host processing tools; verify dependencies before spending. If the complete
required route is unavailable, report that gap and continue independent work.
Choose a compatible live image model through blender-generation; its
environment default is a routing hint, not an unsupported parameter payload.
Compose the prompt from the Passport:
- a single full 360-degree horizontal by 180-degree vertical equirectangular
environment panorama, with the specified scene, time, weather and palette;
- level horizon at the intended height, consistent scale and illumination,
continuous left/right wrap, plausible zenith and nadir;
- the brightest region's direction relative to the intended key, restrained
highlights appropriate to an SDR environment;
- no text, borders, panels, split views, embedded camera/UI, or central hero
object meant to exist as separate scene geometry.
Use only supported aspect/resolution/reference fields. Run the estimate and
submission flow through the connected provider; state the SDR limitation with
the estimate. The prompt does not itself prove projection or seam quality.
Local processing and application
- Download the completed source to an absolute path readable by Blender.
Inspect its projection and dimensions. A perspective image does not become
equirectangular through a crop; reject an unsuitable source.
- Use a genuine 2:1 equirectangular source directly. If a generated panorama
needs crop or seam correction, process its pixels through an available
host image processor or bpy image data, preserving a separate original.
Match horizontal edge bands smoothly; inspect horizon/poles after any crop.
Measure edge differences and view the wrap on reflective test geometry.
- In bl_execute, preserve the old World and build/reuse named World nodes:
Texture Coordinate/Mapping for rotation, an Environment Texture in
equirectangular projection, Background, then World Output. Load the
processed local image with its appropriate color space. Set restrained
strength and return the image path and World/node names for read-back.
- Retain the source job/provider and processing details in the report.
Pack only under the core delivery policy. Do not claim seam repair or
packing happened without checking its output.
These are local operations, not a call to an absent bl_apply_hdri tool.
Choose the World rotation by looking at shadows, reflections, and the visible
horizon — not by picking an angle. Keep strength restrained: an SDR sky at
full strength flattens the authored lighting.
Complete the lighting
- The AI map covers background, reflections, ambient color, broad fill.
- When the scene needs directional high-dynamic-range light, add a separate
Sun/Area/Spot key aligned with the visible or implied sun, moon, window, or
brightest sky region.
- Key and environment must agree in direction and hue. A painted sun pointing
one way while cast shadows point another is an automatic failure.
- For product shots, audit reflected seam bands and panorama landmarks across
the whole turntable; add controlled white/black cards as needed.
- The previous World stays in a disabled alternative or checkpoint until the
new environment passes.
Audit gate
Accepted only when viewed evidence confirms:
- dimensions exactly
2:1, measured left/right edge differences negligible
at the working color scale; record the measurement method;
- no brightness/color band at the wrapped left/right seam;
- horizon, zenith, and nadir free of obvious stretching, duplicated
structures, text, borders, or split panels;
- visible sun/window direction agrees with the separate key and cast shadows;
- glossy objects expose no seam repair, duplicated landmarks, or broken
highlight motion;
- World strength does not flatten silhouette, contact, or focal hierarchy;
- opening, midpoint, and final/rest frames stay coherent for animated
cameras or turntables.
Evidence is viewed local bl_render output at the required sample frames.
Numeric seam checks prove edge equality, not panorama quality. If renders
cannot be viewed, the environment audit is blocked, never passed.
1---2name: blender-hdri3description: Generate and apply SDR environment panoramas through a connected provider and local Blender processing, with projection, seam, lighting and reflection checks.4---56# Generated environment maps (pseudo-HDRI)78Read [blender-scene](../blender-scene/SKILL.md) for the local session contract.9Tool names below use its capability mapping when the named interface is absent;10read only the relevant rows in [blender-volatile](../blender-volatile/SKILL.md).1112Requires: `blender-generation` (credit workflow),13`blender-lighting-camera` (lighting integration), and `blender-volatile`14(live capability and parameter contract). The prompt contract is below.1516Scope: a generated HDRI, sky, panorama, or custom environment applied to the17live Blender World.1819## What this output is — and is not2021The generated map is an SDR PNG/JPEG, not floating-point radiance22`.hdr`/`.exr`. Name it honestly: an **AI environment map** or **pseudo-HDRI**.23It carries background, reflections, ambient color, and low-frequency fill; it24does not carry trustworthy high-dynamic-range sun values.2526Choose a 2:1 output only if the current model and wrapper support it; otherwise27inspect the actual output ratio. The local processing route below can repair an appropriate panorama source. Cropping alone does not convert an ordinary28perspective picture into an equirectangular panorama, and pole/horizon29distortion must be audited. An equirectangular map wraps horizontally only —30zenith and nadir are poles, so never promise vertical tiling.3132If the deliverable explicitly requires a true HDR/EXR light probe, this33workflow does not satisfy it. Say so, and use a real bracketed/CG HDRI or an34approved radiance-reconstruction pipeline.3536## Inspect before generation37381. Read `bl_scene_snapshot`, the active camera, World nodes, exposure/view39 transform, existing lights, reflective hero materials, and the motion40 range.412. An existing suitable environment map gets reused automatically; with42 several candidates, ask which one.433. The Scene Passport records:44 - environment description, biome/interior, time, weather, horizon height;45 - intended key/sun direction relative to the active camera;46 - what the map must supply: background only, reflections, ambient light,47 or all three;48 - dynamic camera range and seam-sensitive reflective objects;49 - the existing World/map kept for rollback.5051## Prompt, model, and parameters5253Before generation, establish a local file-transfer, processing and application54route that can satisfy the checks below. The local server does not expose55bl_apply_hdri. Use supported bpy work through bl_execute and available56host processing tools; verify dependencies before spending. If the complete57required route is unavailable, report that gap and continue independent work.5859Choose a compatible live image model through `blender-generation`; its60environment default is a routing hint, not an unsupported parameter payload.61Compose the prompt from the Passport:6263- a single full 360-degree horizontal by 180-degree vertical equirectangular64 environment panorama, with the specified scene, time, weather and palette;65- level horizon at the intended height, consistent scale and illumination,66 continuous left/right wrap, plausible zenith and nadir;67- the brightest region's direction relative to the intended key, restrained68 highlights appropriate to an SDR environment;69- no text, borders, panels, split views, embedded camera/UI, or central hero70 object meant to exist as separate scene geometry.7172Use only supported aspect/resolution/reference fields. Run the estimate and73submission flow through the connected provider; state the SDR limitation with74the estimate. The prompt does not itself prove projection or seam quality.7576## Local processing and application77781. Download the completed source to an absolute path readable by Blender.79 Inspect its projection and dimensions. A perspective image does not become80 equirectangular through a crop; reject an unsuitable source.812. Use a genuine 2:1 equirectangular source directly. If a generated panorama82 needs crop or seam correction, process its pixels through an available83 host image processor or bpy image data, preserving a separate original.84 Match horizontal edge bands smoothly; inspect horizon/poles after any crop.85 Measure edge differences and view the wrap on reflective test geometry.863. In bl_execute, preserve the old World and build/reuse named World nodes:87 Texture Coordinate/Mapping for rotation, an Environment Texture in88 equirectangular projection, Background, then World Output. Load the89 processed local image with its appropriate color space. Set restrained90 strength and return the image path and World/node names for read-back.914. Retain the source job/provider and processing details in the report.92 Pack only under the core delivery policy. Do not claim seam repair or93 packing happened without checking its output.9495These are local operations, not a call to an absent bl_apply_hdri tool.9697Choose the World rotation by looking at shadows, reflections, and the visible98horizon — not by picking an angle. Keep strength restrained: an SDR sky at99full strength flattens the authored lighting.100101## Complete the lighting102103- The AI map covers background, reflections, ambient color, broad fill.104- When the scene needs directional high-dynamic-range light, add a separate105 Sun/Area/Spot key aligned with the visible or implied sun, moon, window, or106 brightest sky region.107- Key and environment must agree in direction and hue. A painted sun pointing108 one way while cast shadows point another is an automatic failure.109- For product shots, audit reflected seam bands and panorama landmarks across110 the whole turntable; add controlled white/black cards as needed.111- The previous World stays in a disabled alternative or checkpoint until the112 new environment passes.113114## Audit gate115116Accepted only when viewed evidence confirms:1171181. dimensions exactly `2:1`, measured left/right edge differences negligible119 at the working color scale; record the measurement method;1202. no brightness/color band at the wrapped left/right seam;1213. horizon, zenith, and nadir free of obvious stretching, duplicated122 structures, text, borders, or split panels;1234. visible sun/window direction agrees with the separate key and cast shadows;1245. glossy objects expose no seam repair, duplicated landmarks, or broken125 highlight motion;1266. World strength does not flatten silhouette, contact, or focal hierarchy;1277. opening, midpoint, and final/rest frames stay coherent for animated128 cameras or turntables.129130Evidence is viewed local `bl_render` output at the required sample frames.131Numeric seam checks prove edge equality, not panorama quality. If renders132cannot be viewed, the environment audit is `blocked`, never `passed`.