﻿# 01. 개발 이력과 현재 기능

갱신: 2026-09-14. [기능 변경 요약](git-history.md)과 현재 구현을 정리합니다.

## 전신 플랫폼

| 요구와 문제 | 현재 결과 | 근거/제약 |
|---|---|---|
| 해부학적 전신과 순환·호흡·신경 가상 실험 | 골격, 근육, 심혈관, 내장, 신경, 피부를 계통별 투명도로 표시 | `lib/anatomy.ts`, 압축 GLB. 미세혈관 전체나 모든 기관의 전기생리를 재현한 것은 아님 |
| 피부 체크 위치와 초기 상태 | 피부계 기본 OFF, 센서 다중 선택/전체 해제, 좌우 근육 모두 근육으로 표시 | `app/body-lab.tsx`, `lib/muscle.ts` |
| 신체 외형과 해부학 구조의 정합 | 현재는 전신 아틀라스와 같은 BodyParts3D 피부 사용 | 과거 MakeHuman 얼굴/등록 스크립트는 역사 자료이며 현재 외피가 아님 |
| 겨드랑이·팔꿈치·후경부·허벅지 외피 구김 | 네이티브 피부 추출·평활화·bone-heat 바인딩 및 DQ 피부 변형 | 미세 조직 물성에 기반한 전신 FEM은 아님 |
| 골격을 구부리는 모션, 중앙부 분리 | 관절 회전, 뼈별 강체 바인딩, 골반 중앙 단일 연결 | `lib/rig.ts`, 뼈 51개 리그, 최대 4개 가중치, 손가락 관절 포함 |
| 걷기/달리기 무릎, 흔들림, 머리 기울기, 상체 리듬, 손바닥 방향 | 캡처 모션 리타게팅·주기 필터, 지면 접촉, 상하 이동, 시선 안정, 손바닥 몸통 방향 | CMU walk 35_01/run 09_01; 건강한 성인 표시 목적이며 임상 보행 분석 모델은 아님 |
| 폐·간·복부 혈관의 늑골 관통 | 늑골 표시 경계 및 호흡 변형 제약, 간 안쪽 이동, 혈관 호흡 동조 | `respiratory`, `hepatic`, `vessel-clearance`, 사전 계산 경계 |
| 심장 딱딱함, 심장/폐 경계 모호 | 수축·비틀림·이완의 연속 곡선, 심장 주위 폐 표시 배제 공간 | `cardiac`, `cardiac-space`. 실제 심장–폐 접촉 해석과 다름 |
| 동맥 맥동 팽창 | 심장 이후 말초로 지연되는 작은 반경 변화 | `lib/arterial.ts`, 표시용 맥파 모델 |
| 신체 운동에 따른 조직 변화 | 공통 연부조직 변위장, 호흡·복부·전방 혈관 동조 | `lib/soft-body.ts`, 안정적인 축약 모델 |

## 센서·피부 실험 및 UI

- 센서 위치: 손목, 손가락, 귓볼, 이마, 흉부, 상완. 여러 위치를 켜거나 전부 끌 수 있다.
- ECG, PPG, EEG, EMG, 호흡, CAP 합성 채널 및 CSV. 센서 모달리티에 따라 설정과 파형을 전환한다.
- 좌우 패널 접기/펼치기, Active Sensor 닫기, 왼쪽 스크롤 공간 예약, 운동 버튼 재배치.
- 피부계에서 12개 국소 영역을 선택하고 중앙 모달에서 3D 절단면을 관찰한다. 표피·진피·지방, 혈관, 지역별 뼈·근육·힘줄을 표시한다.
- 요골동맥 주위 융기/주변 하강, 손목 곡면, 넓어진 길이 방향 창, top-view 격자와 등고선. 깊은 지지체 제약을 포함한다.
- 광선은 교육용 경로와 흡수 그림이다. 전신 페이지의 SpO₂는 입력 조건이며 측정 정확도가 입증된 역추정이 아니다. 비침습 혈당 추정은 구현하지 않았다.

## 자세·동작

일어서기, 반복 앉았다 일어서기, 손 쥐기, 침대 눕기 추가. 앉을 때 실제 피부 지지점으로 의자 관통을 제한한다. 침대는 서 있는 환자 뒤쪽에 놓인다. 왼쪽 가장자리에 앉고 한 손으로 지지한 뒤 옆으로 내려가 다리를 뻗고 반듯하게 눕는다. 최종 수정은 왼팔을 미리 뻗어 몸과 함께 내려놓는 동작이다. 원위 관절의 꺾임·손목 뒤집힘을 줄이고 눕기 확대 시 바운딩 구의 소실을 보정했다.

편안 모드는 기본 ON이며 외부 생식기 영역만 가린다. 임의 덮개 구체를 추가하지 않는다. 뼈·근육·피부는 공통 리그를 따른다. 동작별 CSV에 동작 단계·반복·노력도 등이 기록된다. 현재의 노력도는 생리적 운동 부하 검증 결과가 아닌 입력/합성 곡선이다.

## 변경 시 보존할 원칙

현재 피부는 `skin-atlas-web.glb`, 바인딩은 같은 해부학 좌표계다. 역사적인 외피/리깅을 무심코 복구하지 않는다. 관절 동작을 메시 절반 분할·비균일 스케일로 대체하지 않는다. 지면·의자·침대 지지는 실제 네이티브 피부 샘플을 유지한다. 피부와 센서 표시는 선택 사항이며 편안 모드는 켠 상태로 시작한다.
