Rendering¶
Purpose¶
The Rendering folder owns low-level rendering implementation used by preview and export systems throughout Snap Studio Pro.
This territory is responsible for texture generation, compositing, render capture utilities, background rendering implementation, shader fallback handling, and rendering-focused helper systems.
Rendering is implementation territory — not workflow orchestration territory.
Owns¶
- Render texture capture utilities
- Texture compositing
- Background texture generation
- Background rendering implementation
- Preview rendering helpers
- Rendering-safe texture lifecycle utilities
- Shader fallback handling
- Rendering startup cleanup
- Rendering-focused utility systems
Does NOT Own¶
- Preview workflow orchestration
- Export workflow orchestration
- Editor panel UI
- Preview scene lifecycle ownership
- Feature-level business workflows
- Editor navigation/layout
- Persistent preset ownership
Allowed Dependencies¶
Rendering may depend on:
- Abstractions
- Models
- Enums
- Core rendering contracts
- Diagnostics
- Unity rendering APIs
Rendering should avoid depending on:
- Panels
- Window
- High-level workflow coordinators
- Feature orchestration systems
Notes¶
This folder intentionally contains implementation-heavy systems.
Rendering owns: - how textures are generated - how captures are performed - how compositing occurs - how rendering utilities behave
Preview owns: - when rendering occurs - how preview workflows are coordinated
Features own: - export/business workflows
This separation is extremely important for long-term maintainability.
Rendering should remain: - implementation-focused - reusable - predictable - workflow-agnostic
Large utility-heavy systems are acceptable here when they represent real rendering implementation responsibilities.
Future Candidates¶
- Continue protecting the separation between orchestration and implementation.
- Avoid allowing workflow coordination logic to drift into Rendering.
- Keep cleanup/resource ownership explicit for generated textures and temporary render resources.
- Continue isolating pipeline-specific behaviour behind rendering abstractions and pipeline systems.