Skip to content

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.