psitta

Documentation Index

docs/architecture/ui.md

Purpose

Describe:

This diagram establishes the UI ↔ Application contract.


Diagram

%%{init: {"class": {"hideEmptyMembersBox": true}} }%%
classDiagram

namespace UI {
  class HomeScreen
  class WordSessionScreen
  class SentenceSessionScreen
  class StatsScreen
  class SettingsScreen
}

namespace Application {
  class HomeController
  class SessionController
  class StatsController
  class SettingsController
}

%% UI -> Controllers
HomeScreen --> HomeController
WordSessionScreen --> SessionController
SentenceSessionScreen --> SessionController
StatsScreen --> StatsController
SettingsScreen --> SettingsController

Reading the Diagram

HomeScreen

Uses: HomeController

WordSessionScreen

Uses: SessionController

SentenceSessionScreen

Uses: SessionController

StatsScreen

Uses: StatsController

SettingsScreen

Uses: SettingsController


UI Architecture Rules


Implementation Notes ⚠️