Generation¶
Purpose¶
Owns editor-driven thumbnail generation runners and thumbnail production execution infrastructure used by Snap Studio Pro.
This territory coordinates long-running thumbnail generation routines, editor update-loop stepping, cancellation handling, and thumbnail generation lifecycle safety.
Owns¶
- Thumbnail generation runners
- Editor update-loop execution
- Thumbnail generation lifecycle management
- Thumbnail generation cancellation handling
- Thumbnail generation completion tracking
- Thumbnail generation error handling
- Routine cleanup/unsubscription safety
Does NOT Own¶
- Thumbnail rendering implementation
- Prefab browser UI
- Thumbnail cache ownership
- Preview scene lifecycle ownership
- Export workflows
- Rendering pipeline implementation
Allowed Dependencies¶
Generation may depend on:
- Unity Editor update APIs
- Diagnostics/logging
- Lightweight thumbnail generation routines
- Unity prefab references/types
Generation should avoid depending on:
- preview orchestration systems
- panel UI systems
- export systems
- rendering implementation systems
Notes¶
Generation owns editor execution infrastructure only.
It answers: - how thumbnail generation routines are stepped - how cancellation behaves - how lifecycle cleanup occurs - how failures are handled safely
ThumbnailGeneration feature systems own: - what thumbnails are rendered - how preview scenes are configured - how thumbnail cameras/lights behave
This separation keeps thumbnail execution infrastructure reusable and prevents rendering behaviour from leaking into editor update-loop systems.
EditorThumbnailGenerationRunner intentionally mirrors the same architectural philosophy as other editor runners: - explicit lifecycle ownership - explicit cancellation - safe update-loop cleanup - workflow-neutral execution infrastructure
Future Candidates¶
- Keep generation runners workflow-neutral.
- Maintain explicit cleanup and cancellation behaviour.
- Avoid embedding thumbnail rendering logic into generation infrastructure.
- Continue treating generation runners as editor execution support systems rather than feature orchestrators.