Skip to content

개선(sandbox): #96 UI를 MarketEngine 도메인 모델과 연동#97

Merged
TransparentDeveloper merged 1 commit into
devfrom
feat/#96
May 5, 2026
Merged

개선(sandbox): #96 UI를 MarketEngine 도메인 모델과 연동#97
TransparentDeveloper merged 1 commit into
devfrom
feat/#96

Conversation

@TransparentDeveloper
Copy link
Copy Markdown
Collaborator

@TransparentDeveloper TransparentDeveloper commented May 5, 2026

Summary

  • 샌드박스 UI를 신 DDD 4계층(Controller 직접 호출) 패턴으로 마이그레이션 (샌드박스방 UI를 실제 도메인 모델과 연동 #96)
  • $lib/features/sandbox/stores/sandbox-store.svelte.tsSandboxBoardDto 보유 + 인메모리 repo + SandboxBoardController 호출 구조로 재작성
  • CaptainRoster / PlayerPool / PlayerCard props를 CharacterDto 시그니처로 교체
  • $lib/domain/sandbox/ 디렉토리 전체 제거 + $lib/types/snapshot.ts 도메인 의존 제거

변경 내역

  • store: 옛 SandboxBoard 인스턴스 보유 → SandboxBoardDto 보유. 액션은 SandboxBoardController.{create,assign,move,unassign} 호출 후 반환 DTO 대입. 풀↔로스터 fallback은 assignOrMove로 통합
  • +page.svelte: 옛 SandboxBoard import 제거, sandboxStore.bootstrap / assignOrMove / unassign / toResultTeams 호출. cache 기반 진입·결과 흐름은 그대로 유지(범위 외)
  • 컴포넌트: drag dataTransfer key를 application/x-player-idapplication/x-character-id로 변경 (DTO 시그니처 정합)
  • snapshot.ts: SandboxResultPlayerType / SandboxResultTeamType / TemplateSnapshotPlayerType을 inline 정의 → 옛 $lib/domain/sandbox 의존 끊음
  • 삭제: $lib/domain/sandbox/ 디렉토리 전체 (테스트 포함)

알려진 한계 / 후속

  • Charactertier 필드가 없어 PlayerCard에서 tier 표시를 제거했고, 결과 스냅샷의 tier도 빈 문자열로 채움 → 별도 이슈 권장
  • SandboxBoardApiRepository는 사용처가 없어 그대로 둠 (백엔드 API 미구현 단계라 인메모리 repo가 store 안에 inline)
  • repo DI 패턴 정식 확정은 솔로 경매 세션 흐름 연결 (템플릿 선택 → 경매 → 결과) #2/#3과 함께 정리 필요

Test plan

  • bun run check — 새로 발생한 타입 에러 없음 (기존 25건은 #90으로 분리된 pre-existing)
  • bun run test — 172/172 통과
  • bun run lint — 통과
  • 수동 QA: /templates/create에서 솔로 플레이 → /sandbox/{id} 진입 → 풀↔로스터 드래그 → 로스터 간 이동 → 완성하기 → /result/{id} 결과 확인

Closes #96

옛 $lib/domain/sandbox 제거, store/컴포넌트가 SandboxBoardController
DTO를 사용하도록 교체. snapshot.ts의 옛 sandbox 도메인 의존 제거.
@TransparentDeveloper TransparentDeveloper merged commit b554c43 into dev May 5, 2026
3 checks passed
@TransparentDeveloper TransparentDeveloper deleted the feat/#96 branch May 5, 2026 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

샌드박스방 UI를 실제 도메인 모델과 연동

1 participant