# 힐링 커팅 두 스테이지 ## 경험과 편성 두꺼운 젤리를 어느 위치에서 어느 각도로 썰지 고르고, 갓 드러난 속살을 식칼 옆면으로 벌려 본다. 가이드 선, 제한 시간, 실패, 속도 평가는 없다. 기존 편성의 끝에 고유 ID `healing-dragon-fruit`, `healing-aurora`를 추가한다. 표시 번호는 병합 시점의 편성에서 결정한다. | 젤리 | 자르기 전 | 벌렸을 때 | |---|---|---| | 크리스털 용과 | 도마 위에 세운 두툼한 분홍 용과. 반투명 껍질에는 연두색 비늘 끝이 솟는다. | 가장자리 조각은 빛이 통하는 분홍색이고, 중심에서는 우윳빛 과육에 박힌 자홍색 결정 씨앗을 가로지른다. | | 오로라 소용돌이 | 청보라빛이 도는 높은 반구 안에 청록·분홍·금색 띠가 비친다. | 절단 위치와 각도에 따라 고리와 휜 띠의 폭·형태가 달라진다. | 단면 무늬는 원본 젤리의 입체 좌표에서 계산한다. 맞붙은 두 절단면의 무늬가 이어지고 조각을 움직여도 표면에서 미끄러지지 않아야 한다. 카메라는 도마를 비스듬히 내려다보며 젤리의 높이와 앞쪽 단면을 함께 보여 준다. 영상은 외형과 동작 참고 자료다. 게임 자산은 절차 생성하고 소리는 프로젝트의 승인된 샘플을 활용한다. ## 최초 프로토타입의 연속 드래그 손을 떼어 조준을 확정하는 방식과 한 번의 드래그로 이어가는 방식을 비교해 사용자가 후자를 선택했다. 한 번의 접촉 안에서 다음 세 단계가 순서대로 일어난다. 1. **조준**. 남은 본체 위나 둘레에 손을 대면 큰 식칼을 그 위에 띄운다. 접점의 좌우 위치로 절단 위치를 잡고, 본체 둘레를 따라 움직이는 접점에 대응해 칼이 제한된 호 안에서 돈다. 접점이 중심에 가깝거나 떨릴 때는 직전 각도를 유지한다. 손잡이가 갑자기 반대편으로 넘어가지 않게 최단 회전, 회전 속도 제한을 적용한다. 2. **썰기**. 화면에 보이는 날의 길이 방향(손잡이에서 칼끝 쪽)으로 의도적인 전진이 누적되고 본체를 가르는 절단면이면 당시 위치·각도를 고정한다. 옆으로 조준하다 섞인 짧은 전진은 무시한다. 이후 같은 방향으로 드래그한 거리가 칼의 하강 깊이가 된다. 빠르게 밀면 빨라지고 손을 멈추면 칼과 절단음도 멈춘다. 젤리 윗면이 날밑에서 눌린 후 칼이 잠긴다. 진행 중 손을 떼면 칼을 들어 올리고 본체를 복원한다. 3. **벌리기**. 날이 도마에 닿는 프레임에서 이번 절단이 딱 한 번 끝난다. 절단 루프를 끝내고 작은 접촉음을 한 번 낸다. 드래그 기준점을 접촉 순간으로 재설정해 직전 전진량이 벌림에 섞이지 않게 한다. 좌우 드래그로 칼의 옆면이 해당 쪽 조각을 밀고 단면이 열린다. 바로 놓아도 얇은 틈이 열리며 조각이 살짝 기운다. 손을 떼면 칼이 들리고 조각은 그 자리에 남는다. 다음 칼질 대상은 더 큰 본체다. 최소 크기 미만이거나 너무 얇은 부스러기만 생기는 배치에서는 새 절단을 시작하지 않는다. 정상적인 엄지 동선에서 화면 끝에 걸리지 않게 한 번의 썰기 거리를 잡는다. 시작 거리, 각도 허용폭, 회전 속도, 최소 조각 크기는 구현 시 두 해상도에서 조정한다. 포인터 취소·숨김은 도마 접촉 이전이면 미완 절단을 되돌리고, 접촉 후에는 이미 분리된 상태를 보존한다. ## 진행과 재방문 첫 절단의 두 면 사이가 벌어져 속살이 보이면 그 판의 진행을 한 번 저장한다. 저장 호환과 별 상점 총량을 위해 첫 발견에 고정 3별을 준다. 재방문이나 반복 썰기로 별이 쌓이지 않는다. 화면은 계속 플레이 상태이며 조용히 다음 이동 버튼을 표시한다. 일반 진행은 다음 판, 전체 마지막은 종료 화면, 도감 재방문은 메뉴로 사용자가 직접 이동한다. 이동 대상에 맞춰 버튼을 `Next Jelly`, `Finish`, `Back`으로 표시한다. 결과 카드나 자동 이동 타이머를 띄우지 않는다. ## 구현 경계와 검수 전용 GameMode가 입력 단계와 젤리 연출을 소유한다. 기존 순수 절단 연산, 원본 좌표·조각 오프셋, 식칼 자원, GameClock과 진행 서비스를 재사용한다. 결과 카드 없이 완료를 기록하는 동작과 이동을 분리한다. 조준이 바뀌면 이전 준비 결과를 폐기하고 메시·SDF 준비를 프레임에 나눈다. 이전 판의 자원이 새 판으로 넘어가지 않게 한다. 단위 테스트로 조준 떨림, 방향 고정, 거리와 깊이, 멈춤, 접촉 단발, 좌우 분리, 취소 경계, 저장 멱등성을 확인한다. 브라우저에서는 일반 터치 경로로 한 번의 연속 드래그, 떨어진 위치에서 두 번째 썰기, Next·마지막·재방문·재시작을 검증한다. 사용자 선택은 전체 시각 검수다. 모바일 390×844와 데스크톱 1280×800에서 두 판의 대기·비스듬한 조준·중간 절단·도마 접촉·벌림을 캡처하고 연속 동작도 대조한다. 구현자가 수정·재촬영하고 독립 리뷰어(gpt-6.1-sol / medium)가 코드와 화면을 검토한다. 결과는 .playwright-mcp/에 보관한다. 모바일 브라우저 검수와 실기기 촉감 검수의 결과는 구분한다. ## 레퍼런스 - references/dragon-fruit-jelly-asmr-qOMLTpmyoCw.mp4 — 두툼한 세로형 용과, 기울어 도마에 눕는 앞 조각, 바로 이어지는 다음 칼질. - references/jelly-asmr-compilation-DcIOK1pMOWo.mp4 — 투명 외피와 내부 장식의 대비, 절단면에 드러나는 색 띠와 알갱이. ## 플레이 피드백 후 용과 201판 조정 201판은 조준 중 의도치 않게 썰리는 문제를 막기 위해 위 연속 드래그 규칙을 교체한다. 당시 202판은 비교용으로 기존 조작을 유지했고 아래 공통 조작으로 전환했다. - 손잡이를 화면 아래쪽에 놓고 시작한다. 첫 접촉에서 본체 위에 자를 위치를 정한다. 첫 드래그 동안 그 위치를 축으로 칼을 돌리고 손을 떼면 현재 각도로 고정한다. 첫 드래그가 아무리 길거나 빨라도 썰기가 시작되지 않는다. - 두 번째 접촉은 도마의 편한 위치에서 시작한다. 첫 움직임이 칼끝 방향이면 고정한 자리에서 거리에 따라 칼이 내려간다. 옆으로 먼저 움직이면 조준으로 돌아가며, 해당 손을 다시 뗄 때까지 자르지 않는다. 취소·숨김은 조준 확정으로 처리하지 않는다. - 칼이 통과한 윗부분부터 틈이 보인다. 도마 접촉 직후에는 두 면이 붙은 채로 기다린다. 옆으로 밀 때 윗부분이 따라오고 마지막 접촉부가 늘어난 뒤 떨어진다. 작은 조각이 도마에 놓이며 한 번 흔들린다. 실제 단면 발견의 고정 3별과 수동 이동을 유지한다. - 모바일·데스크톱에서 첫 드래그와 연속 재조준, 손 뗀 뒤 칼 각도, 중간 절단, 도마 접촉과 별 저장 시점, 조금 벌리기와 완전 분리를 확인한다. 사람 손으로 느끼는 편안함은 201판 직접 플레이로 확인한다. ## 201·202판 공통 조작과 튜토리얼 크리스털 용과에서 확정한 다음 조작을 오로라 소용돌이에도 적용한다. 두 판 모두 위치와 방향을 잡는 동안 식칼 전체를 35% 불투명도로 표시하고, 유효한 절단면에서 마지막 손을 떼면 불투명한 칼로 썰기 단계에 들어간다. - 위치를 잡을 때 한 손가락의 이동량만큼 칼과 예상 절단선을 평행 이동한다. 두 손가락이 닿으면 중심을 고정하고 두 접점을 이은 선의 상대 각도만 반영한다. 손가락을 얹거나 떼는 순간은 새 기준점을 잡는다. 두 손가락 평행 이동과 핀치 자체는 칼을 움직이지 않는다. - 곡면의 실제 절단 경로·양 끝·중심점을 조준 중에 표시하고 회전 중에만 회전 호를 표시한다. 조준 중 마지막 접점이 정상적으로 떨어진 순간 현재 위치·방향을 확정하고 HUD에 Slice mode를 표시한다. 두 손가락에서 하나만 떼면 남은 손가락으로 위치 조절을 이어간다. 취소·숨김은 확정으로 처리하지 않는다. 그 뒤에는 화면 아래로 끌면 칼이 내려가고 위로 끌면 올라온다. 도마 접촉 후 위쪽이 벌어지고 아래 접착부가 늘어나 떨어져 도마 위에 눕는다. 단면 발견 고정 3별과 플레이어가 고르는 다음 이동을 유지한다. - 첫 조준에서 손가락 수별 조작과 선택적 회전을 예고하고, 고정 뒤에는 위·아래 동작, 접촉 뒤에는 자동 벌림과 다음 선택을 안내한다. 회전은 생략할 수 있다. 데스크톱 마우스에서는 Shift를 누르고 드래그해 중심을 고정한 채 회전한다. ## 201판 재절단과 칼질 동작 - 조준 단계의 첫 접점으로 도마 위 조각을 고른다. 눕거나 기울어진 조각은 그 자세에서 다시 잘린다. 선택된 조각의 곡면에 표시한 선과 실제 단면은 같은 절단 평면을 쓴다. - 단면은 가볍게 붙었다가 짧게 떨어진다. 조각이 도마에 놓일 때 지지면과 무게중심을 고려해, 얇고 불안정한 잔여 덩어리도 누울 수 있다. 새로 잘린 조각이 차지할 자리에 다른 조각이 있으면 분리되는 동안 서로 밀려나 도마 위에 자리를 잡는다. - 아래로 드래그하면 칼끝이 먼저 들어가고 칼날을 앞으로 밀면서 썬다. 도마에 닿을 때는 날 전체가 수평이 된다. 위로 끌면 같은 경로로 칼이 빠지고 손을 멈추면 그 깊이에 머문다. 절단 후에는 도마에서 들어 올려 다음 대기 위치까지 연속으로 이동한다. 두 판 모두 첫 단면 3별과 수동 진행을 유지한다. ## 자유 조준과 힐링 전용 식칼 - 201판에서 한 손가락으로 절단선을 옮길 때에는 도마의 빈 공간을 지나 다른 조각까지 이어서 움직일 수 있다. 유효한 조각 위에서 마지막 손을 떼면 해당 조각의 썰기 단계로 들어간다. 조각 사이에서 손을 떼면 거기서 다시 조준을 이어간다. 썰기 단계에서 도마에 닿기 전까지는 `Reposition`을 눌러 같은 자리에서 조준으로 돌아갈 수 있다. - 두 힐링 판은 상점 장착 상태와 관계없이 같은 긴 식칼을 사용한다. 손잡이 크기는 일정하고, 자르는 동안 금속날이 젤리를 가로지르며 나무 손잡이는 단면 바깥에 남는다. 두 판 모두 위아래로 깊이를 조절하고 도마에 닿으면 자동으로 단면이 벌어진다. - 손잡이 자리를 이웃 조각이 막으면 조준 중에는 그대로 두고 썰기 시작 때 가까운 빈자리로 비켜준다. 그동안 입력한 깊이는 보존한다. 도마가 가득 차서 손잡이가 들어갈 공간을 마련할 수 없으면 칼 방향을 바꾸라는 안내와 함께 조준으로 돌아간다. - 201판의 조준점은 젤리 표면에서 빈 도마로 나와도 손가락을 따라간다. 실제 조각을 겨눌 때 그 위에 절단선을 표시한다. 두 판에서 위치나 각도를 조정할 때에는 칼날부터 손잡이까지 불투명도를 35%로 낮춰 칼 너머의 절단선을 볼 수 있게 한다. 절단을 확정하는 순간 원래 불투명도로 돌아가며 재조준하면 다시 반투명해진다. 한 번의 드래그로 서로 높이가 다른 표면을 건너더라도 들고 있는 식칼의 위치가 화면에서 튀지 않아야 한다. ## 도마 중앙 복귀와 한 칼에 여러 조각 썰기 - 201판의 조준점은 도마 가장자리 바깥으로 0.90 월드 단위까지 자유롭게 이동한다. 그 범위를 넘으면 각도를 유지하면서 약 0.45초에 걸쳐 도마 중앙으로 돌아간다. 이때 잡고 있던 손을 떼어도 절단은 확정되지 않는다. 새 접촉으로 다시 위치를 잡을 수 있다. - 조각 하나를 겨누면 한 스트로크 동안 금속날이 이웃을 거의 다 덮는 경우에 전체 예상선을 표시한다. 남은 길이가 절단 경로의 12% 이하이면서 0.12 월드 단위 이하일 때만 얇은 끝이 함께 떨어진다. 칼끝이 중간까지만 닿으면 접촉 구간에 짧은 점선을 표시하고 그 자리만 얕게 눌렸다가 복원된다. 이 조각은 원본으로 남고 절단 대상 개수에서 제외한다. 금속날이 닿지 않거나 손잡이만 지나는 이웃, 가장자리에 간신히 닿아 유효한 두 조각으로 나눌 수 없는 이웃은 제외한다. 여러 조각이 대상이면 안내에 개수를 표시한다. 도마에 닿으면 유효한 대상 전부를 그 자리에 놓인 자세에서 나누고, 한 번의 칼질로 기록한다. - 201판의 첫 절단에서는 두 조각이 눕고 난 뒤에도 각 조각이 원래 잘린 쪽에 남고 그 사이로 도마가 보여야 한다. 과육·비늘의 높이와 카메라 방향을 고려해 화면 윤곽이 너무 가까울 때만 두 조각의 이동 목표를 보정한다. 도마 위에서 자연스럽게 미끄러져 정착하고 다음 절단부터는 기존의 여러 조각 배치를 따른다.