Shadow¶
Purpose¶
Owns shadow-related editor workflows, shadow capture request models, shadow material handling, and shadow catcher helper systems for Snap Studio Pro.
This territory coordinates shadow-specific feature behaviour without owning preview scene lifecycle, rendering pipeline implementation, or export orchestration.
Owns¶
- Shadow feature workflows
- Shadow capture request models
- Shadow catcher material helpers
- Ground/background material handling
- Shadow-specific utility logic
- Shadow catcher setup helpers
- Shadow debug shader selection
Does NOT Own¶
- Preview scene lifecycle ownership
- Rendering pipeline implementation
- Export orchestration
- Capture execution internals
- Panel UI layout ownership
- General lighting workflows
Allowed Dependencies¶
Shadow may depend on:
- Capture request models
- Rendering/pipeline-safe shader helpers
- Unity rendering/material APIs
- Preview-facing scene objects where required
Shadow should avoid depending on:
- panel orchestration systems
- export workflow systems
- rendering implementation ownership
- window lifecycle systems
Notes¶
Shadow is a feature-domain territory.
It owns shadow-specific behaviour and helper systems, but should not become the owner of preview scene lifecycle or rendering pipeline behaviour.
Preview owns: - preview scene objects - preview lifecycle - shadow catcher placement inside the preview scene
Capture/Export own: - when shadow captures are requested - how shadow outputs participate in export workflows
Shadow owns: - shadow-specific request data - material instance safety - shadow helper behaviour
This separation keeps shadow support feature-focused and prevents it from becoming a hidden rendering manager.
Future Candidates¶
- Continue isolating shadow-specific behaviour from preview scene lifecycle.
- Keep material instance ownership explicit and safe.
- Avoid pushing export orchestration into Shadow.
- Maintain pipeline-safe shader helper boundaries.