/// 약속 (설계 M5 AppSession): 앱을 켜 둔 동안만 기억하는 화면 상태 - 저장하지 않고, 앱 (AppController) 하나에 하나. /// 예전에는 화면 클래스의 static 이라 앱 전체가 하나를 함께 썼고, 시험은 그것을 손으로 되돌려야 했다 (새 AppController 면 새로 시작). /// 입력 · 출력: 값을 읽고 쓰기만 한다. 오류 없음 library; class AppSession { /// 시스템 폴더 (Shizuku) · 루트 경고를 이번 실행에서 보였는지 (관리자 결정 10/21: 앱을 켠 뒤 처음 열 때 한 번) bool shizukuWarned = false, rootWarned = false; /// 브라우저: 마지막으로 본 주소 (다시 열 때 그 주소로) String? browserLastUrl; /// 브라우저 오른쪽 작업 현황 (화면 분할) 의 열림 (null = 아직 정하지 않음 - 작업 중이면 열림) · 너비 bool? browserWorkOpen; double browserWorkWidth = 360; }