Skip to content

Preferences

Purpose

Owns shared editor preference key definitions used across Snap Studio Pro.

This territory centralizes cross-domain EditorPrefs key strings so preference ownership remains explicit and typo-safe.

Owns

  • Shared EditorPrefs key constants
  • Cross-domain preference key naming
  • Preference key consistency
  • Preference migration safety support

Does NOT Own

  • Preference read/write workflows
  • Feature-specific preference services
  • Session persistence logic
  • Panel UI
  • Export workflows
  • Preview orchestration

Allowed Dependencies

Preferences should remain dependency-light and should avoid depending on:

  • feature systems
  • preview systems
  • rendering systems
  • panel UI systems
  • workflow orchestration systems

Notes

Preferences owns key identity, not preference behaviour.

Feature/domain services should own: - reading values - writing values - resetting values - applying loaded settings

This folder exists to prevent scattered hardcoded strings and preference key drift.

Future Candidates

  • Keep shared keys centralized.
  • Avoid adding preference behaviour here.
  • Move domain-specific preference logic into the owning feature or infrastructure service.