Files
MagnetismHeroes/docs/content.md
T

47 lines
9.5 KiB
Markdown

# T6 고정 30개 콘텐츠
## 현재 여섯 자연 풍경 (2026-10-11 KST)
| 번호 | 풍경 | 기존 내부 테마 |
|---|---|---|
| 1~5 | 꽃 초원 | Garden |
| 6~10 | 나무 쉼터 | Garden |
| 11~15 | 꽃 언덕 | Cloud |
| 16~20 | 양치식물 숲 | Cloud |
| 21~25 | 바위 정원 | Workshop |
| 26~30 | 돌 아치 계곡 | Workshop |
승인 자연 모델을 주 소품·지형·밀도·방향의 서로 다른 고정 조합으로 배치했다. 같은 다섯 번호 안에도 변형이 있으며 재입장·재플레이·성공 후 자유 놀이에서는 원래 번호의 풍경을 사용한다. Garden/Cloud/Workshop 식별자와 저장 버전 1은 그대로다. 30개 목표·종류·초기 묶음과 원래 173개 구 ID·위치는 보존했다. 지형·큰 소품만 이동을 막고 작은 식생은 통과한다. 아래 세 테마와 지면 아래 시점 설명은 이전 제품의 제작 이력이다.
아래 제작·음성 후보·가독성 잔여는 2026-10-05 당시 구현 이력이다. 현재 시각 채택은 2026-10-09 기록, 음성은 승인 44개 active-adoption을 따른다. 당시 후속 상태를 현재 미완료로 확대하지 않는다.
R07의 1..30 초기 묶음·목표·종류를 30개 ScriptableObject로 작성했다. 수 세기는 1..5에서 N=번호, 16..20에서 N=번호−10의 분리된 1인 친구를 정확히 제공한다. 수량·구 ID·묶음 소속·수집·계수·성공은 기존 순수 C# Core가 담당한다. 모든 구성 퍼즐은 전체 최종 group multiset으로 판정하며 구의 모양, 조작 횟수와 풀이 순서를 조건으로 삼지 않는다.
`ContentAssets.Build`는 고정 정의·초기 배치·공유 프리팹 참조를 Unity Editor API로 작성한다. 번호별 씬/실행 규칙은 없다. 기존 단일 GameApp/Main 연결을 사용한다. 당시 정원 1..10, 구름 11..20, 별 작업실 21..30은 같은 공통 바닥·아치·계단·돌과 테마별 세 소품으로 구성했다. Blender 원본/FBX/설정/해시는 [자산 등록](asset-register.md)에 있다.
새 저장은 1번만 열리며 성공하면 원래 배치·카메라·공간을 유지한 Free로 전환한다. 자동 다음 이동은 없다. 선택 화면은 잠금/완료/이어하기/시작을 표시한다. Free의 다음 버튼은 다음 번호의 저장 퍼즐을 먼저 복원하며 30에서는 표시하지 않는다. 완료 퍼즐을 다시 풀다가 나와도 완료 기록과 뒤 해금은 유지한다. 테마 저장 필드는 추가하지 않고 퍼즐 stageId/Free sourceStageId로 Stage SO를 찾는다.
도움은 현재 보드에서 한 행동만 제안한다. 수집 중에는 미수집 구, 계수 중에는 미계수 구, 수집한 구를 다시 나눈 경우에는 합칠 두 묶음을 표시한다. 구성 도움은 현재 정수 분할에서 목표까지의 최단 거리를 계산하고 그 거리를 줄이는 실제 merge/split의 첫 행동을 선택한다. 최대 총량 10의 작은 분할 그래프를 대상으로 하며 새로운 일반 프레임워크는 없다. 도움은 보드/진행/저장을 변경하지 않는다.
6 최초 진입에는 끌어 합치기, 10 최초 진입에는 나누기→하나 선택→선택한 구 끌어내기를 UI ghost로 보여 준다. ghost에는 실제 구 ID/Collider/수학 실행이 없으며 완료 기록을 만들지 않는다. 첫 지정 진입에서 기존 seenTutorialIds API에 merge/split을 기록하여 재진입 시 자동 반복하지 않는다. 선택 강조와 실제 이동은 같은 ghost 구다.
음성 전체 44개 catalog 중 기존 승인 3개의 runtime SHA는 유지했다. 새 회차 `20261005T034100690940Z_96b6d5ac`가 고정 Qwen Korean/Sohee/seed42/GPU 설정으로 생성·재사용한 입력과 원본 파형을 기록한다. count_05만 같은 뜻의 `다섯.` 대본으로 새 take를 만들었고 이전 9.12초 실패 이력은 남겼다. 새 후보는 0.72초의 44.1kHz mono PCM16으로 준비했다. 현재 도움에서 선택할 수 있는 N=2..10, K=1..floor(N/2)의 25개 완전 문장과 guide_find/guide_uncounted/demo_merge6/demo_split10을 모두 별도 오프라인 WAV로 연결했다. 숫자 조각을 붙여 안내 문장을 만들지 않는다.
편집 선택 `SourceAssets/Audio/Voice/edited/20261005T034100690940Z_96b6d5ac/selection.json`은 승인 3개만 이전 승인 selection 경로·파일 SHA·동일 runtime SHA·검수자·날짜·사용자 발언을 historical-approval-reused로 연결한다. count_08의 현재 runtime SHA 6bde9265a8e4ac5a4209b1ddcebf57251430bd2eb5134a59af403f351a640aa2는 사용자의 “count_08 음성이 이상합니다. 쉼표 없이 붙여서 읽으세요” 피드백으로 rejected/user-rejected 상태이며 파형은 유지했다. 새 “여덟.” 후보는 root의 별도 ignored artifacts에서 생성되어 T7 채택·재검사를 기다린다. 그 밖의 40개는 실제 파일 검사와 사람 청취 승인을 구분하여 draft/not_listened 상태다. 모델 캐시/conda/SourceAssets는 APK에 들어가지 않는다. 음성 큐의 입력 지연 없음, FIFO, 마지막 숫자 유지, 같은 보드 안내 취소 시 숫자 유지, navigation/pause 큐 해제를 기존 동작대로 유지한다.
검증은 Content 전체 EditMode/PlayMode 및 변경된 흐름의 Android를 대상으로 한다. 30개의 정확한 정의, 실제 Core 30개 연속 해답/새 저장 해금/다른 분할/모든 분할의 유효 도움/재플레이/next 저장 우선/no31을 검사한다. Editor PlayMode는 모든 수집 구 55개를 시점 회전으로 발견·pick·직접 drag하고 세 테마의 Free 0..10/복원, arch 실제 빈틈, ghost 보드 불변/재진입을 확인한다. 최종 실행 근거는 `artifacts/verification/Content/`에 보존하며 실패/수정 이력은 red-* 폴더에 남긴다.
T7의 AI 최종 캐릭터/UI 이미지·표정/VFX, SFX/BGM 및 아직 응답받지 않은 사람 청취 승인은 이 기능 구현과 분리된 미완료다. 에뮬레이터의 ABI bridge/GLES 검사는 실제 물리 Android 성능을 증명하지 않는다.
시각 검수 잔여: Free 10개를 두 줄로 공급한 기본 시점에서는 아래 줄 일부 개별 묶음의 숫자 배지가 위 줄 친구 몸체와 겹쳐 보인다. T7에서 모든 배열의 배지·선택·계수 표시 가독성을 최종 검수할 대상으로 기록한다. 배경에 의한 기존 아래 시점 숫자 가림은 Blender 바닥을 원래 평면 범위로 조정하여 Collider를 유지한 채 회귀 검사를 통과시켰다. 탐험 자석 몸체는 시점 회전으로 발견할 수 있으며 장식 Collider를 무시하지 않는다.
Android 음성 검사는 Content만 `record-native-audio.ps1`의 Android AudioRecord REMOTE_SUBMIX 무압축 stereo48k PCM16을 원시 보존하고 각 좌우 프레임의 정확한 정수 평균으로 mono48k를 만든다. 공식 scrcpy4.1 ZIP SHA `5b12172b3264b2889f4583ee64752ce832e29bc8b1089dca81093459697165db`를 검증하며 도구·서버·캐시는 ignored artifacts에만 있어 APK에 들어가지 않는다. 기존 gRPC/T5 경로와 비교기의 기본 동작은 유지한다. Content의 `-RequireFullSpeech`는 기존 전체 .95 상관과 동일 onset에서100ms/50ms 겹침의 모든 source RMS32 이상 창 .95를 함께 요구하고, 유효 창0개/불충분 자료는 실패한다. 실제 native 정상 발화와 다른 clip/앞뒤250ms 삭제/중간250ms 삭제·중복/노이즈 negative를 검사한다. gRPC 경로는 같은 APK·원본의 전체발화 불일치가 있었고 이전 T5 APK/native48/냉간부팅 교차 실패를 원시 보존했다. 내부 Android 경로의 정상 대조와 구분하며 정확한 SDK 원인을 확정하지 않는다.
## 이전 자연 테마 연결 (2026-10-09 KST)
승인한 영웅 2 FBX와 자연 배경 21 FBX를 실제 Unity 참조로 연결했다. Garden 1..10의 맑은 초원, Cloud 11..20의 꽃 언덕, Workshop 21..30의 바위 언덕은 자유 놀이에서도 원래 sourceStageId를 따른다. 30개 정의의 수량·ID·초기 위치·목표·종류 등 비시각 필드와 기존 GUID를 유지한다. 장비는 실제 묶음당 한 벌이며 새 장식의 배치가 정답 조건이 되지 않는다. 기존 구 탐색·직접 pick/drag·숫자 가독성 검사의 기준을 낮추지 않았다.
현재 얼굴 6표정·한국어 UI·승인 음성 44개는 유지하며 SFX/BGM은 첫 버전 제외다. 당시 자유 놀이 배지 겹침의 후속 검수는 현재 단일/복수 묶음·합체/분리·10개 상태의 실제 캡처로 확인했다. 기존 카메라의 yaw 210도·pitch −45도·거리 15에서는 넓어진 지면 뒷면이 보드를 더 많이 가린다. 적용 원본은 `SourceAssets/Models/{Heroes,Meadow}/active-adoption.json`, 실제 실행은 `artifacts/verification/VisualUpgrade/FinalProduct/completion.json`에 연결한다. 제품 소스 `3346eb559bdfba24332feb4d9be4b7104520233e`의 EditMode 103/103·PlayMode 53/53·Android 226/226와 네 명령의 실제 종료 0을 확인했다.
원경 하단의 실제 틈을 보정하기 위해 30개 Stage의 FarHorizon 120개 x/z 배치 반경만 35에서 27로 옮겼다. 승인 메시·31개 재질·높이·회전·크기·다른 배치와 카메라·입력·Collider는 유지했다. 실제 가져온 sharedMesh의 별도 물리 장면에서 중앙 24m 복도 표본 누락은 366→반경 28의 6→반경 27의 세 풍경 각각 0이었다. 같은 카메라의 근접 A/B와 지적된 두 전체 화면에서도 중앙 틈 제거를 확인했으며 모든 외곽·픽셀·시점의 무틈을 보장하지 않는다. 원문은 `artifacts/verification/VisualUpgrade/HorizonFix/result.json`과 `HorizonFix/final`의 119개 PNG다.