Skip to content

Visibility

Purpose

Owns prefab and shadow-catcher visibility control for separated character/shadow capture.

This territory toggles renderer shadow-casting modes and shadow-catcher quad visibility between the two states a "character + shadows separately" export needs, and drives the two-pass (character pass, then shadow pass) capture sequence, without owning export sequencing or capture execution.

Owns

  • Prefab renderer shadow-casting-mode toggling (visible vs shadow-only)
  • Shadow-catcher quad show/hide for capture passes
  • Visibility snapshot and restore
  • The two-pass character/shadow capture driver (Character/ then Shadows/)

Does NOT Own

  • Export sequencing / routine execution
  • Capture execution and file saving
  • Shadow material or shadow-catcher creation (see Shadow/Materials, Shadow/Utilities)
  • Panel UI layout
  • Preview scene lifecycle ownership

Allowed Dependencies

Visibility may depend on:

  • Unity rendering APIs (Renderer, ShadowCastingMode, GameObject active state)
  • Lightweight collections for snapshot/restore

Visibility should avoid depending on:

  • export orchestration systems
  • panel/UI systems
  • window lifecycle systems

Notes

This folder owns how visibility is switched and how the two passes are ordered, not when an export runs.

Export/Animation systems decide: - whether a separated export is requested - how frames/folders are sequenced

Visibility owns: - the reusable visibility toggling - the snapshot/restore lifecycle - the two-pass driver that yields a character pass then a shadow pass

Future Candidates

  • Keep this territory a reusable helper; the two-pass driver should not become an export owner.
  • Avoid embedding folder-layout or routine-sequencing decisions here.
  • Maintain restore safety so preview visibility is never left mutated after a run.