최종 갱신 (KST)

← 일감 목록
T-069

클라 — 창고 찾기 도구 (탭별 이름 검색 + 산업 · 희귀도 필터)

태웅 Closed 우선순위 보통 목표 261010 · 보관됨

2026-09-20 QA 피드백에서 왔다 (0920-피드백 및 답변 정리.md 3·4번).

배경

자원만 150종이 넘고, 탭마다 칸이 200개다. 원하는 것을 눈으로 찾는 수밖에 없다.

검색과 필터를 한 일감으로 묶은 이유 — 둘이 같은 동작이다. "격자에 일부만 보이게 한다"이고, 거르는 자리도(StorageSlotSource) 화면도(도구 줄) 같다. 따로 만들면 아래의 같은 판단을 두 번 한다.

서버는 필요 없다. 지금 탭의 공급자가 들고 있는 목록을 클라에서 거르면 끝난다.

📎 200칸은 클라 프레임 수일 뿐 서버 한도가 아니다 (2026-09-20 확인) — 서버에 한도가 없어 넘치면 뒤가 잘리고 경고 로그만 남는다. 한도·뽑기 거절은 T-063, 안내는 T-064가 맡는다(✅ 2026-09-25). 이 일감은 한도와 무관하게 "지금 보이는 것 중에서 찾기"만 한다.

⚠️ 기존 결정을 뒤집는 일감이다. Storage 규칙.md에 "산업별로 걸러 보이지 않는다 — 칸 200개를 탭이 함께 쓰는 격자라 일부만 보이면 빈 칸이 '사라진 아이템'처럼 읽힌다" 가 적혀 있다. 이 일감은 그 결정을 뒤집는 대신 그 문제를 푼다 — 그래서 할 일의 첫 줄이 "거르는 동안 격자를 어떻게 보일지"다.

할 일

  • [x] 거르는 동안의 격자 표시를 먼저 정한다 — 결과 수만큼만 칸을 보일지 / 전부 두고 배너로 알릴지. ⚠️ 프레임 200개를 켜고 끄면 레이아웃 리빌드가 200번 돈다(Storage 규칙.md) — 상시 실행 앱이라 비용을 잰다
  • [x] 거르는 자리 = StorageSlotSource (Fill 전). 세션 정렬 기억(Key별 자리)과 충돌하지 않게 한다 — 걸러서 앞으로 당겨진 자리가 기억으로 굳으면 필터를 풀었을 때 순서가 어긋난다
  • [x] 검색창 — 도구 줄(StorageToolPresenter)에 한 칸. 입력하는 대로 반영하고, 탭을 바꾸거나 창을 닫으면 비운다(거른 상태로 남으면 다음에 열 때 "아이템이 사라졌다"가 된다)
  • [x] 필터 — 축이 탭마다 다르다: 자원 = 산업 + 희귀도 / 캐릭터 = 희귀도 / 장비 = 희귀도 + 대상 산업. 탭이 바뀌면 쓸 수 없는 축은 감춘다
  • [x] 결과 0건일 때의 안내 — 빈 격자만 남기지 않는다
  • [x] 특성 탭에서는 도구 줄이 통째로 사라진다 — 새 위젯도 그 규칙을 그대로 탄다
  • [x] Storage 규칙.md 갱신 — "걸러 보이지 않는다"를 실제 결정으로 바꿔 적는다
  • [x] 실측 — 탭별 검색 · 필터 · 초기화 · 필터 중 채취/판매로 목록이 바뀌는 경우

2026-09-29 구현: 맞는 것을 앞으로, 안 맞는 것은 뒤에 흑백으로 모은다(자리 기억은 전체 기준 유지 → 풀면 원래 배치). 처음엔 맞는 것만 남겼다가 창고가 비어 보여 바꿨다. 0건이면 격자 가운데 안내 · 조건을 바꾸면 맨 위로 스크롤. 도구 줄을 두 줄(75)로 — 2줄에 검색·산업·등급·[초기화]. 캐릭터 탭은 산업 드롭다운을 감춘다.

완료 조건

세 탭 어디서든 이름 일부를 치면 그 항목만 남고, 산업·희귀도를 고르면 해당하는 것만 남는다. 필터를 풀면 원래 자리로 돌아오고, 거르는 중에 채취·판매로 목록이 바뀌어도 화면이 깨지지 않는다.

막고 있는 것 / 선행 일감

  • 없음 (서버 없이 끝난다)

관련 커밋

  • 이 커밋 — 검색·산업·등급 필터 — 맞는 것 앞 · 안 맞는 것 뒤에 흑백

참고

  • Assets/Scripts_Client/UI/Storage/StorageToolPresenter/ — 도구 줄(정렬 화살표 · 일괄 담기가 산다)
  • Assets/Scripts_Client/UI/Storage/StorageGridPresenter/StorageSlotSource.cs — 거르는 자리
  • Storage 규칙.md — 도구 줄 · 정렬 · 200칸 격자
  • 같은 도구 줄에 붙는 정렬 기준 추가 → T-073 (칸 위치 영속은 서버 T-058)