Commit Graph

37 Commits

Author SHA1 Message Date
40e3252901 refactor: 스킬 트리거 효과를 그룹 구조로 변경 — 하나의 애니메이션 이벤트로 여러 effect 발동 가능
- SkillGemTriggeredEffectEntry를 공용 타입 SkillTriggeredEffectEntry로 승격

- SkillData.effects를 List<SkillTriggeredEffectEntry>로 변경 (기존 flat list는 OnValidate에서 자동 마이그레이션)

- SkillLoadoutEntry, PlayerSkillInput 등 소비자 코드 그룹 구조 대응

- 기존 스킬 에셋 마이그레이션 완료

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-03 08:26:08 +09:00
ee8f4a5701 chore: 미사용 스킬 및 이펙트 애셋 정리
- SkillData에서 레거시 legacySkillClip/legacyEndClip 필드 및 MigrateLegacyClips 제거
  - [FormerlySerializedAs] 누락으로 인해 실제로 동작하지 않던 마이그레이션 코드 정리
- 애니메이션 클립이 없는 스킬 11개 삭제 (투척, 광역치유, 구르기, 돌진, 방어태세, 보호막, 부활, 철벽, 치유, 투사체, 회전베기)
- 삭제된 스킬에 연결된 전용 이펙트 11개 삭제
- 어떤 스킬에서도 참조되지 않는 고아 이펙트 9개 추가 삭제 (투척투사체_0_데미지, 기절, 다운, 베기_1_버프, 베기_2_디버프, 치유_0_회복, 침묵, 투사체_0_데미지, 한손_마법발사_0_데미지)
- 양손_내려찍기 애니메이션 클립 신규 추가 (untracked)
2026-04-03 00:05:05 +09:00
188b134062 feat: VFX 인프라 구축 및 Ground Target 시스템 구현
- VfxEffect 스킬 이펙트 클래스 추가 (일회성 VFX 스폰, 위치/스케일/파티클 제어)
- SkillEffect.IsVisualOnly 프로퍼티 추가로 서버 가드 없이 모든 클라이언트에서 VFX 로컬 실행
- SkillProjectile 트레일 VFX 지원 (OnNetworkSpawn에서 양쪽 생성, despawn 시 월드 분리)
- SkillProjectile HitEffectClientRpc 추가로 충돌 이펙트 클라이언트 동기화
- Ground Target 시스템: 타겟팅 모드 상태머신, 인디케이터, 지면 위치 RPC 전달
- 마법 오름 Ground Target 스킬 에셋 및 VfxEffect 에셋 추가
- 마법 오름 애니메이션 클립 추가
- Ground layer (Layer 7) 추가
- ProjectileBasic에 trailPrefab/hitEffect 필드 추가
- Prefabs/VFX/ 폴더 생성
2026-04-02 22:25:19 +09:00
90192e38fa chore: 신규 스킬 에셋 .meta 파일 추가 2026-04-02 19:52:01 +09:00
eead05c562 feat: 양손 모아베기, 마법 발사, 마법 휘두르기 스킬 추가
- 양손 모아베기: TwoHanded 전용, 부채꼴 Physical 범위 데미지, Root Motion
- 마법 발사: Magic 전용, 투사체형 Magical 데미지 (SpawnEffect + hitEffect)
- 마법 휘두르기: Magic 전용, 부채꼴 Magical 범위 데미지
- 각 스킬에 대응하는 DamageEffect/SpawnEffect 에셋 생성
2026-04-02 19:51:54 +09:00
5f8c39186b chore: 애니메이션 애셋 네이밍 규칙 적용 및 스킬 데이터 재구성
- 애니메이션 클립을 Anim_{소유자}_{이름}_{순서} 규칙으로 일괄 rename
  - 플레이어: 한손 → 공용 카테고리 변경, _{순서} 접미사 추가
  - 드로그: 기존 클립 rename + 밟기, 짓밟기, 스윙 등 신규 추가
  - Anim_Common_Base 추가 (모든 컨트롤러 공용 base clip)
  - 미사용 Mixamo 클립 (A_MOD_SWD_*) 제거
  - MixamoAvatar 애셋 추가
- SkillData를 Data_Skill_{소유자}_{이름} 규칙으로 rename
  - 드로그: 강타R, 평타1R, 평타2R, 밟기, 짓밟기, 스윙, 올려치기, 점프시작 등
  - 플레이어: 한손 → 공용 카테고리 변경
  - 미사용 스킬 (한손_마법사무기) 제거
- AnimatorController에 base clip 할당
- 플레이어/드로그 프리팹 참조 업데이트
- TMP 폰트 애셋 자동 갱신
2026-04-02 19:00:43 +09:00
bd99283f17 refactor: FBX 애니메이션 클립 독립 .anim 추출 및 자동 등록 시스템 구축
- FBX 내장 AnimationClip을 개별 .anim 파일로 추출하는 에디터 툴 추가 (AnimationClipExtractor)
  - 스킬/보스/AnimatorController에서 참조 중인 클립만 선택적 추출
  - 추출 후 모든 참조(SkillData, BossPhaseData, AnimatorController)를 .anim으로 자동 relink
  - 추출 완료된 FBX 자동 삭제 (참조 안전성 검증 포함)
- SkillController: registeredClips를 OnValidate에서 _Player_ 이름 기반 자동 등록
- PlayerSkillInput: skillSlots를 OnValidate에서 _Skill_Player_ 이름 기반 자동 등록
- 38개 FBX 삭제, 40+개 .anim 파일로 교체 완료
2026-04-02 11:01:50 +09:00
affb241e85 chore: SkillRegistry 에셋 경로를 Data/Skills에서 Data로 이동 2026-04-02 11:00:16 +09:00
eadf9a7bde feat: 스킬 레지스트리 도입으로 빌드 스킬 포함 보장 및 기본 장착 구조 개편
- SkillRegistry ScriptableObject 추가: _Skill_Player_ 에셋을 자동 수집하여 빌드 포함 보장
- PlayerSkillInput에 Registry 참조 추가 및 AutoRegisterPlayerSkills 개편
  - 슬롯 0~5는 Inspector에서 디버그용 수동 설정 가능 (AutoRegister 불개입)
  - 슬롯 6(회피)에 구르기 스킬 자동 유지
  - OnValidate 호출 순서 변경: SyncLegacySkillsToLoadoutEntries → AutoRegisterPlayerSkills
- 플레이어 프리팹에 SkillRegistry 에셋 할당 (14개 플레이어 스킬 수집됨)
- 에디터 전용 EditorAllPlayerSkills 정적 프로퍼티로 전체 스킬 목록 접근 가능
2026-04-02 10:58:23 +09:00
7ff9332333 feat: 드로그 펀치R 스킬 및 애니메이션 추가
- Anim_Drog_펀치R 애니메이션 클립 및 FBX 에셋 추가
- Data_Skill_Drog_펀치R 스킬 데이터 생성
- Model_Enemy_Drog 프리팹 업데이트
2026-04-01 23:19:33 +09:00
d4b10fa5fd feat: 돌진 및 회전베기 스킬 애니메이션 클립 등록
- 돌진 스킬에 Anim_Player_전진베기 + 전진베기_End 클립 할당
- 회전베기 스킬에 Anim_Player_돌려베기 + 돌려베기_End 클립 할당
- Prefab_Player_Default registeredClips에 4개 클립 추가 (네트워크 동기화)
2026-03-31 23:10:55 +09:00
106e53c9aa feat: 아군 타게팅 시스템 구현 — SingleAlly 투사체형 치유/보호막
- 치유/보호막 스킬을 즉발 자가시전에서 투사체형 아군 1인 타겟팅으로 전환

- TargetType.SingleAlly 추가, targetOverride 매개변수로 외부 타겟 주입 지원

- PlayerSkillInput: 카메라 레이캐스트 기반 아군 탐지, 서버 검증, RPC 타겟 ID 전달

- AllyTargetIndicator: 호버 아군 위에 디스크 인디케이터 표시, 사거리/초과 색상 변경

- SpawnEffect: 타겟 방향 회전 보정

- 투사체 스폰 이펙트 에셋 생성 (치유/보호막 각각)

- 인디케이터 프리팹 + URP/Unlit 머티리얼 생성

- Player 프리팹에 AllyTargetIndicator 컴포넌트 추가 및 설정

- Input.mousePosition → Mouse.current.position.ReadValue() 수정 (Input System 호환)
2026-03-31 23:08:46 +09:00
282e4b29c4 feat: 빈사/부활 시스템 및 ReviveEffect 추가
- PlayerNetworkController에 Revive(healthPercent) 메서드와 OnRevived 이벤트 추가

- ReviveEffect 스킬 이펙트 구현 (Area/Ally 타겟팅, healthPercent로 체력 복구)

- GameManager가 OnRevived 구독하여 alivePlayers 동적 복구

- GameManager.Update에서 나중에 스폰된 플레이어 자동 구독 (MPP 대응)

- SkillCancelReason에 Revive 추가

- 부활 스킬/이펙트 ScriptableObject 에셋 생성 (치유 클립 임시 사용)

- PlayerSkillDebugMenu에 즉사/부활/리스폰/스폰/Client1 스킬 디버그 메뉴 추가

- PlayerAbnormalityDebugHUD에 부활 버튼 추가

- DebugExecuteSkillAsServer에 실패 원인 로그 추가

- AGENTS.md에 코드 변경 후 force reload 규칙 추가
2026-03-28 21:03:28 +09:00
a94daf7968 feat: 젬 분류 사양과 장착 UI 반영
- 옵시디언 기준의 역할/발동 타입 분류를 스킬·젬 데이터와 장착 검증 로직에 반영
- 젬 보관 UI와 퀵슬롯 표시를 새 분류 및 실제 마나/쿨타임 계산 기준으로 갱신
- 테스트 스킬/젬 자산을 에디터 메뉴로 동기화하고 Unity 컴파일 및 플레이 검증 완료
2026-03-26 16:18:45 +09:00
1261d4dc3c feat: 젬 장착 제약 시스템 추가
- 기반 스킬 분류를 도입하고 젬별 장착 가능 스킬 타입 조건을 추가함
- 동일 젬 중복 장착, 카테고리 상호 배타, 특정 젬 상호 배타를 로드아웃 검증에 반영함
- 테스트용 젬/스킬 자산과 디버그 생성 메뉴를 새 제약 구조에 맞게 갱신함
- Unity 재컴파일과 콘솔 확인으로 신규 컴파일 에러가 없음을 검증함
2026-03-26 14:49:59 +09:00
78dbbbf88d fix: 젬 테스트 공격 클립과 반복 재생 가시성 정리
- 젬 테스트 공격이 커스텀 분리 클립 대신 원본 찌르기 클립을 사용하도록 수정함
- 테스트 스킬의 루트 모션을 끄고 반복 재생 시 위치가 무너지는 문제를 줄임
- 실제 4번 키 반복 재생이 정상적으로 두 번 보이는 것을 확인함
- 관련 TMP 폰트 아틀라스 갱신을 함께 반영함
2026-03-26 12:53:25 +09:00
b4475ea77f feat: 젬 반복 시전 로직 및 테스트 프리셋 추가
- SkillGemData에 카테고리, 시전 속도 배율, 추가 반복 횟수 필드를 추가함
- SkillLoadoutEntry가 젬 합산 기준 최종 속도와 반복 횟수를 계산하도록 확장함
- SkillController가 반복 횟수만큼 스킬을 재시전하고 시작 효과와 OnEffect를 매 반복에 다시 적용하도록 수정함
- 연속 젬과 반복 젬 테스트 프리셋을 추가하고 디버그 메뉴에 적용 및 계산 로그 경로를 보강함
- 공격형 테스트 젬 자산과 추가 대미지 이펙트를 정리하고 무젬 35, 반복 젬 70 피해를 검증함
2026-03-26 12:36:03 +09:00
aaa7d2d6a7 feat: 보호막 타입 분리 및 드로그 시그니처 전조 정리
- 보호막을 단일 수치에서 타입별 독립 인스턴스 구조로 리팩터링하고 같은 타입만 갱신되도록 정리
- 플레이어/보스 보호막 상태를 이상상태와 연동해 HUD 및 보스 UI에서 타입별로 식별 가능하게 보강
- 드로그 집행 개시 전조를 집행 준비 이상상태 기반으로 재구성하고 관련 데이터와 보스 컨텍스트를 정리
- 전투 밸런스 계측기와 디버그 메뉴를 추가해 피해, 치유, 보호막, 위협, 패턴 사용량 측정 경로를 마련
- 테스트용 보호막 A/B와 시그니처 전조 자산을 추가하고 기본 포트 7777 원복 후 빌드 및 런타임 검증을 완료
2026-03-26 11:19:19 +09:00
3db8acfaaa feat: 다중 젬 공격 검증용 프리셋 및 디버그 보강
- 젬 테스트 공격용 공격형 젬 3종과 추가 피해 이펙트 자산을 추가
- 단일/복합/삼중 젬 프리셋과 공격 삼중 젬 테스트 프리셋을 생성 경로에 반영
- 플레이어 스킬 디버그 메뉴에 젬 프리셋 적용, 보스 체력 확인, 공격 검증 경로를 추가
- 추가 피해 이펙트의 타겟 레이어 설정을 수정해 보스 타격이 실제 대미지로 이어지도록 보강
- 무젬 35, 공격 삼중 젬 56으로 서로 다른 추가 피해 젬 3종의 합산 대미지 21을 검증
2026-03-25 19:59:16 +09:00
24b284ad7e feat: 젬 테스트 경로 및 보스 기절 디버그 추가
- 다중 젬 슬롯용 타입을 별도 스크립트로 분리하고 테스트 젬/로드아웃 자산 생성 경로를 정리

- 젬 테스트 전용 공격 스킬과 분리된 애니메이션 자산을 추가해 베이스 스킬 검증 경로를 마련

- PlayerSkillDebugMenu와 MPP 디버그 메뉴를 보강해 젬 프리셋 적용, 원격 테스트, 보스 기절 디버그 메뉴를 추가

- BossCombatBehaviorContext와 공통 BT 액션이 기절 상태를 존중하도록 수정해 보스 추적과 패턴 실행을 중단

- Unity 리프레시와 외부 빌드 통과를 확인하고 드로그전 및 MPP 기준 젬 프리셋 적용 흐름을 검증
2026-03-25 18:38:12 +09:00
35a5b272cb feat: 경직 면역 기반 시전 보호 및 지원 스킬 안정성 보강
- 경직 면역 이상상태와 시전 시작 효과를 추가해 철벽, 방어 태세, 치유, 광역 치유, 보호막에 데이터 기반 시전 보호를 연결
- AbnormalityManager와 HitReactionController가 경직 면역 상태를 존중하도록 보강해 일반 피격 반응으로 인한 즉시 취소를 줄임
- SkillData에 castStartEffects를 추가하고 SkillController가 시전 시작 효과를 실행하도록 확장
- 드로그전 재검증에서 철벽, 치유, 광역 치유가 실제 전투 중 취소 없이 완료되는 것을 확인하고 보호막의 후속 피격 체감을 추가 점검 대상으로 정리
- HUD/문서 반영 과정에서 필요한 TMP_MaruBuri, TMP_SuseongBatang 아틀라스 갱신을 함께 포함
2026-03-25 02:47:27 +09:00
42970af621 feat: 플레이어 탱킹 및 지원 스킬 애니메이션 연결
- 도발, 방어 태세, 철벽, 치유, 광역 치유, 보호막 전용 애니메이션 클립을 _Game 경로로 추가
- 각 클립에 OnEffect와 OnSkillEnd 이벤트를 연결해 스킬 발동 타이밍을 고정
- 플레이어 스킬 자산이 새 애니메이션을 사용하도록 skillClip 참조를 교체
- Unity 리프레시와 빌드 후 디버그 캐스트로 6개 스킬의 이펙트 발동을 검증
2026-03-24 19:33:45 +09:00
0c7c7b0c12 feat: 플레이어 탱킹 및 지원 스킬 1차 구현
- 도발, 방어 태세, 철벽 스킬과 위협 생성 배율 시스템을 추가

- 치유, 광역 치유, 보호막 스킬과 관련 이상상태/이펙트 자산을 구성

- 보호막 흡수 로직과 체력 HUD 보너스 표시를 PlayerNetworkController, PlayerHUD, StatBar에 반영

- 플레이어 프리팹 슬롯과 디버그 메뉴를 확장해 탱킹·지원 스킬 검증 경로를 추가

- Unity 컴파일과 런타임 테스트에서 도발, 치유, 광역 치유, 보호막 발동 및 보호막 수치 적용을 확인
2026-03-24 19:17:16 +09:00
0610099a62 feat: 드로그 투척 패턴 및 보스명 UI 정리
- 공통 보스 BT 프레임워크에 utility 패턴 역할과 준비/실행 브랜치를 추가

- 드로그 투척 패턴, 스킬, 투사체 이펙트를 연결하고 1인 플레이에서도 주 대상 fallback으로 발동되게 조정

- 투척 스폰 회전 계산을 보강해 zero vector 경고를 제거

- EnemyData와 VictoryUI 보스명을 투기장의 집행자 드로그 기준으로 정리

- Unity 플레이 검증으로 1인 호스트에서 투척 실행과 후속 전투 루프를 확인
2026-03-24 18:20:22 +09:00
0889bb0f25 feat: 드로그 집행 개시 패턴 및 낙인 디버프 추가
- 드로그 시그니처 패턴 역할과 집행 개시 패턴 데이터를 추가하고 BT 브랜치에 연결
- 시그니처 차단 성공과 실패 흐름을 BossCombatBehaviorContext에 구현하고 authoring 그래프를 재구성
- 집행자의 낙인 이상상태를 추가하고 받는 피해 배율 증가가 플레이어 대미지 계산에 반영되도록 정리
- 집행 실패 시 광역 피해, 넉백, 다운, 낙인 부여 설정을 드로그 프리팹에 연결
- 성공 경로 검증 중 확인된 보스 Hit 트리거 오류를 방어 로직으로 수정
- Unity 플레이 검증으로 집행 개시 실패와 성공 분기를 모두 확인하고 설계값은 원복
2026-03-23 18:14:18 +09:00
1fec139e81 feat: 드로그 공통 보스 BT 프레임워크 정리
- 보스 공통 전투 컨텍스트와 패턴 역할 기반 BT 액션을 추가
- 드로그 패턴 선택을 다운 추가타, 도약, 기본 및 보조 패턴 우선순위 브랜치로 이관
- BT_Drog authoring 그래프를 공통 구조에 맞게 재구성
- 드로그 전용 BT 헬퍼를 정리하고 공통 베이스 액션으로 통합
- 플레이 검증으로 도약, 기본 패턴, 내려찍기, 다운 추가타 루프를 확인
2026-03-23 16:02:45 +09:00
9d84154b54 feat: 드로그 보스 리네임 및 기본 패턴 구현
- TestBoss 관련 프리팹, 데이터, 애니메이션, BT 자산을 Drog 명칭으로 정리
- 드로그 전용 패턴 컨트롤러와 기본 패턴 루프를 추가
- 오른손치기2 기반 내려찍기와 다운 추가타 연계 진입점을 구현
- 점프, 스윙, 다운 추가타 관련 스킬 및 이펙트 데이터를 정리
2026-03-21 12:29:29 +09:00
9791b11d13 feat: 플레이어 다운 및 넉백 피격 반응 추가
- HitReactionController로 다운과 넉백 전용 로직을 분리
- 다운 시작, 루프, 회복 애니메이션과 DownEffect를 연결
- 행동 상태와 스킬 취소가 피격 반응과 연동되도록 정리
- 자동 검증 러너에 다운 및 넉백 검증을 추가
2026-03-19 23:35:51 +09:00
287ff4dc83 feat: 무적 이상상태 기반 구르기 스킬 정리
- 무적 이상상태 데이터와 효과 에셋을 추가
- 구르기를 일반 스킬이 무적 상태를 부여하는 구조로 변경
- 대미지 처리와 플레이어 상태 판정이 무적 이상상태를 참조하도록 정리
2026-03-19 19:16:32 +09:00
0c26853b2a feat: 회피 상태와 스킬 시작 판정 분리
- CanEvade를 제거하고 IsEvading 상태와 CanStartSkill 판정으로 정리
- 침묵 중 회피 상태 유지와 회피 스킬 차단 규칙을 반영
- 자동 검증 러너와 디버그 HUD에 회피 상호작용 검증을 추가
2026-03-19 18:51:41 +09:00
5bedf01d6c chore: 플레이어 스킬 데이터 추가 및 잔여 프로젝트 파일 정리
- 신규 플레이어 스킬 데이터와 데미지 효과 에셋을 추가
- 테스트 씬과 로컬 MCP 설정 변경사항을 정리
- 불필요한 Recovery 메타 파일을 제거
2026-03-19 18:23:32 +09:00
e863d108da feat: 플레이어 행동 상태 통합 및 이상상태 디버그 추가
- PlayerActionState로 이동, 점프, 스킬 입력 가능 여부를 통합
- 기절과 침묵 이상상태 데이터 및 효과 에셋을 추가
- 로컬 플레이어용 이상상태 디버그 HUD와 자동 검증 러너를 추가
- 플레이어 이동, 스킬 입력, 네트워크 상태를 새 행동 상태 기준으로 정리
2026-03-19 18:21:39 +09:00
290d59e665 feat: 보스 점프 스킬 - 타겟 위치로 이동 구현
- SkillData에 jumpToTarget, animationSpeed 필드 추가
- 점프 중 XZ를 타겟 위치로 lerp, 착지 시 스냅
- endClip 재생 중 점프 이동 비활성화 (IsInEndAnimation)
- 보스/플레이어 겹침 시 플레이어를 밀어내는 방식으로 분리 처리
- 점프준비/점프/착지 3단계 스킬 & 패턴 구성
- UsePatternAction에 Target 블랙보드 변수 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 18:05:41 +09:00
a9aa3a3091 feat: 투사체 발사 스킬 구현
- SkillProjectile: 서버 권위 이동/충돌, caster 자식 콜라이더 충돌 무시 추가
- SpawnEffect: hitEffect 필드 추가 (투사체 명중 시 적용할 효과 분리)
- SkillEffect: Team 컴포넌트 없는 환경 오브젝트 타겟 제외 처리
- Prefab_Skill_ProjectileBasic 프리팹 생성 (NetworkObject + NetworkTransform + Rigidbody + SphereCollider)
- 투사체 스킬 에셋 추가 (SkillData, SpawnEffect, DamageEffect)
- Anim_Common_찌르기 애니메이션 이벤트 추가 (OnEffect @ 0.867s, OnSkillEnd @ 1.3s)
- DefaultNetworkPrefabs에 Prefab_Skill_ProjectileBasic 등록

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 15:51:41 +09:00
01f9a6573f feat: 보스 스킬 추가 (스윙, 오른손치기2, 점프) 및 외부 애니메이션 추가
- 스윙, 오른손치기2, 점프 FBX 애니메이션 추가
- 각 스킬 데이터, 패턴 데이터, 데미지 이펙트 데이터 추가
- 우수2연타 패턴 삭제 및 오른손치기 스킬 데이터 수정
- BT_TestBoss 보스 AI 업데이트
- AnimationGoblinLocomotion 외부 애니메이션 패키지 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 15:13:53 +09:00
5ca0fdabf7 feat: 긴급회피 스킬 슬롯 추가 및 검 모델 prefab 교체
- Left Ctrl에 Evade 액션 바인딩 추가 (InputSystem_Actions)
- PlayerSkillInput skillSlots 6→7개로 확장, 슬롯 6에 Evade 연결
- Prefab_Player_Default 긴급회피 스킬 슬롯 할당
- 검 무기 모델 fbx → prefab으로 교체
- 구르기 스킬 아이콘, 베기 스킬 이펙트 데이터 수정

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 10:43:49 +09:00
c265f980db chore: Assets 디렉토리 구조 정리 및 네이밍 컨벤션 적용
- Assets/_Game/ 하위로 게임 에셋 통합
- External/ 패키지 벤더별 분류 (Synty, Animations, UI)
- 에셋 네이밍 컨벤션 확립 및 적용
  (Data_Skill_, Data_SkillEffect_, Prefab_, Anim_, Model_, BT_ 등)
- pre-commit hook으로 네이밍 컨벤션 자동 검사 추가
- RESTRUCTURE_CHECKLIST.md 작성

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 19:08:27 +09:00