RenderWhy 1.0.0 · offline guide
Scope, limits and recovery
Version 1.0.0 targets official Blender 5.2.1 / Cycles / Linux x64. It explains supported static restrictions on original scene objects, not final visible pixels.
Animation stays explicitly unknown
Any animation data on an owner—actions, drivers, NLA or even a location-only keyframe—makes its animation-capable controls unavailable for current-value inference. Raw RNA may reflect another frame. Reports label that value as last observed and do not use it as a blocker or an open route. Independently static Collection/LayerCollection restrictions remain useful.
The adapter never requests or updates an evaluation graph, changes frame or view layer, enables a render layer, executes a render, changes trust settings, or evaluates generated geometry to recover a value. Refresh captures another snapshot; it does not remove this limit.
Coverage
- Ordinary surfaces: mesh, curve, surface, metaball and text. Other types receive a surface-appearance-outside-coverage note.
- Holdout, indirect-only and shadow-catcher settings are context, not errors. Effective native roles do not obey the ordinary “one open route wins” formula.
- Local View is observed only with a real invoking viewport. Layer comparisons omit viewport-local effects on both sides.
- Materials, occlusion, frustum/clipping, modifiers, generated instances, compositor and final pixels are not evaluated.
- Linked/override data is read by original identity. The inspector never loads libraries, makes data local or creates overrides.
Resource boundaries
Per inspected layer: 20,000 occurrences, depth 128 and 512 materialized paths. At most two layers. A cooperative five-second capture deadline stops before the next bounded unit; one native call can overrun it. Modal chunks process at most 200 occurrences and check an approximately eight-millisecond deadline between units. Escape cancels at the next check.
Scene search examines at most 2,000 candidates per continuation and retains 50 visible matches. Incomplete search exposes Continue searching. UI path rows page at 50. Direct-membership fallback examines at most 20,000 object references across a capture. Reports stop before replacing a file or clipboard if escaped UTF-8 would exceed 10 MiB.
Recovery
- No target: choose a scene object; there is no fake result.
- Stale: the old snapshot remains labeled. Refresh explicitly.
- Missing target / scene: choose an object in this scene again.
- Incomplete: read the scanned count and known causes; there is no all-path positive conclusion.
- Playback / render: pause playback or finish rendering before inspection.
- Export failure: the previous destination remains intact; choose a different regular HTML file or Copy report. Symlink destinations are refused.
- Disabled comparison layer: its render-inclusion note remains separate; RenderWhy never enables it.
Limits are not performance guarantees. Public speed superiority or customer-demand claims are not made.