Files
2nd/00_Raw/2026-04-26-Skybound_Hangar_Layout_Guardrails_Scroll_Islands.md
T
2026-04-26 20:05:02 +09:00

3.8 KiB

Skybound Hangar Layout Guardrails Scroll Islands

작성일: 2026-04-26 17:24 KST

요청 요약

  • Mount Bays 목록이 전체적으로 확인되지 않고 하단이 잘린다.
  • 이런 문제가 여러 UI에서 반복적으로 발생한다.
  • 사용자가 하나씩 찾아서 수정 요청하기 어렵기 때문에 근본적으로 수정해야 한다.

핵심 문제

행거 UI에는 overflow: hidden과 고정 높이 카드가 여러 곳에 섞여 있었다.

특히 Loadout 화면의 Mount Bays는 다음 구조였다.

  • 부모 컬럼은 overflow: hidden
  • 내부 슬롯은 고정 min-height
  • 화면 높이가 줄어들면 마지막 슬롯이 부모 밖으로 밀림
  • 부모가 hidden이므로 사용자가 확인하거나 스크롤할 수 없음

이 문제는 Mount Bays만의 문제가 아니라, 장비 목록, 업그레이드 목록, 포지 목록처럼 콘텐츠량이 가변적인 UI 전반에서 반복될 수 있는 구조적 문제다.

적용한 해결 방향

이번 수정은 개별 카드 하나를 줄이는 방식이 아니라, 행거 전체에 Scroll Island 규칙을 추가하는 방향으로 처리했다.

원칙:

  • 화면 전체는 가능한 한 유지한다.
  • 콘텐츠가 많은 영역만 내부 스크롤을 가진다.
  • overflow: hidden은 레이아웃 컨테이너를 안정화하는 곳에만 쓰고, 실제 목록 영역은 반드시 스크롤 가능하게 둔다.
  • 고정 높이보다 minmax(0, 1fr)min-height: 0을 우선한다.
  • 작은 화면에서는 외부 shell 자체도 스크롤 가능하게 둔다.

적용한 변경

행거 전체 레이아웃 방어선 추가

변경:

  • .hangar-overlayoverflow: auto로 변경
  • .hangar-inner96vh 기준으로 확장
  • grid row를 auto minmax(0, 1fr) auto로 고정
  • 주요 패널에 min-height: 0 적용

의도:

  • 전체 화면 높이가 줄어도 UI가 잘려 접근 불가능해지는 상황을 방지한다.

탭 콘텐츠 공통 스크롤 처리

변경:

  • .tab-content, .upgrade-shop, .pass-panel에 내부 스크롤 규칙 적용
  • 공통 스크롤바 스타일 적용
  • 목록형 영역에 overscroll-behavior: contain 적용

의도:

  • 특정 탭의 콘텐츠가 많아도 화면 밖으로 사라지지 않고 해당 탭 내부에서 스크롤된다.

Mount Bays 스크롤 아일랜드 적용

변경:

  • .mount-bay-column을 grid로 변경
  • 제목 영역과 목록 영역을 분리
  • .slots-container.compactoverflow-y: auto 적용
  • 슬롯 최소 높이를 줄여 4개 부위가 더 안정적으로 보이도록 조정

의도:

  • Weapon, Armor, Engine, Wings를 모두 접근 가능하게 한다.
  • 화면 높이가 작아져도 마지막 Aero Stabilizer가 숨지 않게 한다.

변경:

  • Footer 최소 높이 축소
  • Mission Mode, Tactical Support, Launch 영역이 메인 콘텐츠를 과도하게 밀어내지 않도록 조정
  • 낮은 화면 높이에서는 카드 높이와 미리보기 높이를 자동으로 압축
  • 좁은 화면에서는 left telemetry panel을 숨기고 메인 콘텐츠 우선

의도:

  • 핵심 작업 영역이 footer 때문에 잘리는 문제를 줄인다.

수정 파일

  • /Volumes/Data/project/Antigravity/Skybound/src/features/game/ui/HangarOverlay.css

검증

  • npm run build 성공
  • 출력 디렉터리: dist/43

후속 체크 포인트

  • Loadout에서 Mount Bays 4개가 모두 접근 가능한지 확인한다.
  • 화면 높이를 줄였을 때 Mount Bays 내부 스크롤이 동작하는지 확인한다.
  • Upgrade, Merge, Salvage, Forge, Pass 탭에서 목록이 잘리지 않는지 확인한다.
  • Footer가 메인 콘텐츠를 과하게 밀어내지 않는지 확인한다.
  • 좁은 화면에서 left telemetry panel이 숨겨져도 핵심 기능 접근이 가능한지 확인한다.