Skip to content

Thumbnails

Purpose

Owns thumbnail caching and thumbnail-generation infrastructure used throughout Snap Studio Pro.

This territory provides reusable thumbnail storage, thumbnail lifecycle management, and editor-driven thumbnail generation runners used by prefab browsing and thumbnail production workflows.

Owns

  • Thumbnail cache abstractions
  • Thumbnail cache implementations
  • Global thumbnail cache access
  • Thumbnail lifecycle cleanup
  • Thumbnail generation runners
  • Editor update-loop thumbnail execution
  • Thumbnail cancellation handling
  • Thumbnail generation state tracking

Does NOT Own

  • Prefab repository ownership
  • Prefab browser UI
  • Thumbnail rendering implementation
  • Preview scene lifecycle ownership
  • Export workflows
  • Rendering pipeline implementation

Allowed Dependencies

Thumbnails may depend on:

  • Unity texture APIs
  • Unity Editor update APIs
  • Diagnostics/logging
  • Lightweight prefab references/models
  • Thumbnail generation feature systems

Thumbnails should avoid depending on:

  • preview orchestration systems
  • export execution systems
  • panel workflow systems
  • rendering pipeline implementation systems

Notes

Thumbnails is infrastructure/support territory for thumbnail workflows.

It owns: - thumbnail storage - thumbnail lifecycle handling - editor-driven thumbnail execution infrastructure - cache cleanup - cancellation behaviour

ThumbnailGeneration feature systems own: - how thumbnails are rendered - preview scene setup - camera/light coordination - thumbnail production workflows

PrefabBrowser owns: - thumbnail presentation - thumbnail interaction - selection workflows

This separation keeps thumbnail infrastructure reusable and prevents UI systems from owning rendering lifecycle behaviour.

Thumbnail caches intentionally own explicit texture cleanup responsibilities to avoid leaking Texture2D resources during long editor sessions.

Future Candidates

  • Continue separating thumbnail infrastructure from thumbnail rendering workflows.
  • Maintain explicit texture cleanup ownership.
  • Keep thumbnail runners workflow-neutral and editor-safe.
  • Avoid embedding prefab browser behaviour into thumbnail infrastructure.