Skip to content

Entry의 View 구성 요소와 렌더링 입력을 분리한다 #879

Description

@opficdev

구현 순서

목적

현재 탐색 구조와 동작을 유지하면서 MainView.swift의 UI 구성 요소와 렌더링 입력을 분리

작업 범위 및 완료 조건

  • MainView.swift의 UI 계산 속성·뷰 생성 함수를 중심으로 같은 파일의 private struct View로 분리
  • #893에서 추가한 SideBarResizableSideBarModifier의 같은 파일 전용 접근 수준 및 동작 보존
  • 화면 표현에 필요한 값·Binding과 필요한 범위의 동작만 전달; 단순 이동을 위한 전체 StoreOf·Coordinator·저장 클로저 전달 방지
  • UI 계층·modifier·순서·동작 보존; 모든 View의 Equatable 적용 강제 없이 build-only 검증
  • #893의 최종 탐색 구조를 기준으로 실제 착수 시 Entry 모듈 전체 대상 재점검

책임 구분 및 선행 작업

  • 기능·디자인 변경과 근거 없는 성능 향상 주장 제외
  • 성능 효과를 주장할 경우 동일 시나리오 Instruments 전후 측정
  • #893에서 확정한 탐색 컨테이너, 사이드바 표시 조건, 너비 조절 정책 변경 제외

제외 범위

  • 원본 요구사항을 넘어서는 기능·정책 및 구조 변경
  • .sidebarAdaptable 복원
  • SideBarResizableSideBarModifier의 다른 파일 또는 다른 모듈 이동

검증

  • 변경 파일 SwiftLint 및 DevLog.xcworkspaceApp scheme build-only
  • UI 동작 보존 확인; 실행 검증은 별도 실행 허용 후 수행
  • 성능 효과를 주장할 경우 Instruments 동일 시나리오 전후 측정

참조

현재 탐색 구조 보존

  • 최소 지원 버전 iOS 18과 현재 화면의 Store·탐색 경로 소유권 유지
  • 제거된 화면 Coordinator와 넓은 화면 전용 상세 컨테이너 복원 제외
  • 하나의 TabView(selection:)와 네 개 Tab을 화면 너비와 관계없이 같은 구조적 위치에 유지
  • regular width와 Mac Designed for iPad에서 별도 SideBar를 표시하고 시스템 tab bar를 숨기는 구조 유지
  • compact width에서 별도 SideBar를 숨기고 시스템 tab bar를 표시하는 구조 유지
  • 별도 SideBar와 시스템 tab bar가 같은 selectedTab과 읽지 않은 알림 수를 공유하는 구조 유지
  • isTabContentActive, TodoEditorWindowEvent, Toast와 alert 전달 유지
  • 사이드바 너비 조절, 하단 프로필 탭, 세로 safe area 구분선, iPadOS 26 창 제어 여백 처리 유지

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions