# 출처와 라이선스

## 코드
- **BodyExplorer**, Johan Bellander, MIT License: https://github.com/JohanBellander/BodyExplorer
  - `src/vendor/muscleData.js`와 `src/vendor/bodyBuilder.js`는 원본을 복사한 것이다(`tools/setup.sh`).
  - 원본에서 바꾼 부분:
    - muscleData.js: `ANATOMY_DB` export를 추가했다.
    - bodyBuilder.js: GLB 경로를 `models/` 아래로 바꾸고, `bodyGroup.userData.anatomyCenter`와 `boneMesh.userData.rawName`을 노출하도록 했다.

- **ONNX Runtime Web**, Microsoft, MIT License: https://github.com/microsoft/onnxruntime
  - 그림 속 글자 인식(`src/ocr/`)을 브라우저에서 돌리는 실행기. npm `onnxruntime-web`(버전 고정), wasm 은 빌드가 그대로 내보낸다.
- **PaddleOCR** 모델(PP-OCRv4 검출 mobile, PP-OCRv5 한국어 인식 mobile)과 한국어 글자표, PaddlePaddle Authors, Apache License 2.0: https://github.com/PaddlePaddle/PaddleOCR
  - ONNX 변환본은 **RapidOCR**(RapidAI, Apache License 2.0, v3.9.2): https://github.com/RapidAI/RapidOCR . 파일은 바꾸지 않고 `public/ocr/det.onnx`, `rec_korean.onnx`, `rec_korean_dict.txt` 로 이름만 바꿔 둔다(`tools/setup_ocr.sh`, SHA256 확인).
  - 전·후처리(`src/ocr/pipeline.js`)는 RapidOCR 의 규칙을 참고해 이 프로젝트에서 새로 쓴 것이다.

## 3D 데이터
- **BodyParts3D**, © The Database Center for Life Science, CC BY-SA 2.1 Japan: https://dbarchive.biosciencedbc.jp/en/bodyparts3d/
  - `public/models/anatomy.glb`와 `skeleton.glb`(BodyExplorer를 거쳐 가져옴), 그리고 `public/models/extras.glb`(천골과 추간판, `tools/build_extras.py`로 원본 OBJ에서 변환).
- **Z-Anatomy**, Gauthier Kervyn, CC BY-SA 4.0: https://www.z-anatomy.com/
  - anatomy.glb 안의 근육 mesh 66개가 여기서 왔다.
  - `public/models/za_joints.glb`, `za_nerves.glb`, `za_bones.glb`는 Z-Anatomy FBX(https://github.com/LluisV/Z-Anatomy)를 `tools/build_zanatomy.mjs`로 변환한 것이다. 삼각형 수를 줄이고 BodyParts3D 좌표에 맞게 변형했다.

## 시작 인트로 소재
- **Poly Haven**(https://polyhaven.com), CC0(저작권 포기, 표기 의무 없음). `public/intro/` 는 원본을 `tools/intro/build_assets.py` 로 줄여 압축한 것이다.
- 질감: wood_table_001, painted_plaster_wall, terrazzo_tiles, dark_wood, leather_red_02
- 환경(HDRI): vintage_measuring_lab
- 소품 모형: desk_lamp_arm_01, SchoolChair_01, vintage_microscope, book_encyclopedia_set_01, binder_notebook, stationery_supplies, round_spectacles, alarm_clock_01
- **인트로 영상 소리**(녹화한 영상에만 들어간다. 앱 안의 인트로는 소리가 없다). 고른 녹음과 출처는 `tools/intro/sound_picks.json`, 원본 사본은 `~/.cache/rehab3d/intro_sound/`, 섞기는 `tools/intro/mix_sound.py`.
  - 책장: Mixkit "Stiff paper book paging"(효과음 id 1103), 표지: envirOmaniac2 "Book_open.mp3"(Freesound 393844, CC0), 형광펜: ftpalad "Marker Writing on Paper.aif"(Freesound 119926, CC0), 방 공기음: Yuval "small clock in room"(Freesound 211192, CC0), 구가 붙는 소리: Bachsambora "Sci-Fi Gateway"(Freesound 752034, CC0), 섬광: Mixkit "Big cinematic impact"(id 788)
  - Mixkit 효과음은 Mixkit Sound Effects Free License(상업적 사용 가능, 표기 의무 없음)
  - 배경 음악: Andrew Ev "Echoes"(Mixkit 음악 id 188), **Mixkit Stock Music Free License**: 영상 속 사용은 상업 포함 가능하나 방송·게임·음원 단독 재배포·Content ID 등록은 안 된다. 판매 전에 원문(https://mixkit.co/license/#musicFree)을 다시 확인한다.

## 텍스트
- `public/data/za_ko.json`: 구조물 이름(Z-Anatomy 영문명)의 한국어 명칭과 부착·기능·임상 요약. 요약 문장은 이 프로젝트에서 새로 쓴 것이며 Z-Anatomy 설명문의 번역이 아니다.
- `public/data/info_ko.json`: BodyExplorer `ANATOMY_DB`(MIT, 영문 기시·정지·작용·신경)를 한국어 해부학 용어로 옮긴 것이다. MIT 고지는 위 BodyExplorer 항목으로 갈음한다.
- `public/data/terms.json` 의 `exams`(검사 설명)와 `src/exam/*`(마네킹·검사 시범 동작)은 이 프로젝트 고유 저작물이며 CC BY-SA 대상이 아니다(All rights reserved). `reviewed` 는 내부 검토 여부 기록용이며 화면에는 표시하지 않는다.

## 배포물의 라이선스 구분
- 3D 모델(`public/models/*.glb`): CC BY-SA. 배포 사이트의 `models/LICENSE.md`에 원본, 변경 내역과 다운로드 위치를 적어 두었다. 유료화하더라도 모델 파일 자체는 무료로 공개해 둔다.
- 그 밖의 코드와 콘텐츠: 운영자 권리. 빌드 결과만 배포하고 소스는 공개하지 않는다.
