# ScriptPlayer+ 랜딩 페이지 작업 이력

이 문서는 `scriptplayer-landing` 저장소에서 진행한 랜딩(정적 마케팅 페이지) 관련 변경을 요약합니다. 배포 URL: https://scriptplayer-landing.vercel.app

---

## 13. 2026-05 v0.2.2 릴리스 데모 반영

- `docs/screenshots/releases/v022`에 풀스크린 드로어, 타임라인 썸네일, A-B 루프, fit video, reset 메뉴, 파일 관리, 랜덤 스트로크 gap fill 자산을 추가.
- 히어로를 v0.2.2 풀스크린 드로어 데모로 교체하고 릴리스 메타를 `v0.2.2 · 2026.05.05`로 갱신.
- 워크플로/업데이트/기능 카드 문구를 풀스크린 UX, timeline thumbnail, A-B loop, script drag/drop, random stroke L0/R0, reset, file management 중심으로 재작성.
- 최근 업데이트의 이전 릴리스는 `v0.2.0 · Script control layer`로 정리하고, 기존 핵심 기능 데모 섹션은 유지.
- 스크린 갤러리에 v0.2.2 영상 데모를 표시할 수 있도록 `<video>` 카드 표시를 지원.
- 피드백 링크는 사용자가 공유한 `https://sioaeko.github.io/scriptplayer-plus-feedback/index.html`로 맞춤.

---

## 12. 2026-05 v0.2.1 릴리스 반영

- 사용자 제공 Patreon 본문(`ScriptPlayer+ v0.2.1`)과 로컬 `C:\Users\서대렬\Desktop\021` 자산을 기준으로 최신 릴리스를 `v0.2.1 · Playback reliability`로 갱신.
- 히어로와 워크플로 영상을 `docs/screenshots/releases/v021/no-script-patterns.mp4`로 교체하고, No-script preset / motion pattern 개선을 첫 화면 메시지에 반영.
- 최근 업데이트 카드에 No-script Surge/Extreme 프리셋, Pulse/Ramp Up/Drill/Chaos 패턴, FunOSR PRO 6-axis 및 SR1/SR6 프로필, Intiface/Buttplug 멀티축 안정성, 재생 진단 복사 기능을 요약.
- 업데이트 프리뷰에 `no-script-patterns.mp4`, `multi-axis-device.mp4`, `playback-diagnostics-panel.jpg`를 배치하고, 스크린 갤러리는 `v021` 캡처 기반으로 교체.
- 공개 랜딩에서 사이드바 파일명 노출을 줄이기 위해 `playback-diagnostics.png`에서 진단 패널만 보이는 `playback-diagnostics-panel.jpg`를 추가 생성.
- CTA와 푸터 링크를 GitHub `v0.2.1` 릴리스, Patreon `v0.2.1` 글, 전용 피드백 보드 흐름으로 정리.
- `script.js`의 ko/en/ja/zh 번역 키를 새 릴리스 내용과 `release19Item4`, `footerPatreon021` 키까지 맞춰 갱신.

---

## 11. 2026-04 피드백 보드 연결

- `PROJECT_NOTES.md` 기준으로 별도 운영 중인 ScriptPlayer+ 피드백 보드를 랜딩 헤더에서 바로 열 수 있도록 연결.
- 헤더 액션 영역에 `피드백` 버튼을 추가하고, 모바일 좁은 화면에서는 말풍선 아이콘만 남도록 처리.
- 링크 대상: `https://sioaeko.github.io/scriptplayer-plus-feedback/index.html`

---

## 10. 2026-04 v0.2.0 릴리스 데모 반영

- 히어로 영상을 `v0.2.0`의 **Motion Speed Limit** 데모로 교체하고, 릴리스 메타 문구를 `v0.2.0 · 2026.04.24`로 갱신.
- 워크플로 데모를 **Script Debug info** 영상으로 바꾸고, 설명을 속도 제한 / 디버그 정보 / 저장 오프셋 중심으로 재작성.
- 최근 업데이트 카드의 최신 릴리스를 `v0.2.0 · Script control layer`로 바꾸고, 이전 릴리스는 `v0.1.9 · Handy sync polish`로 정리.
- 업데이트 프리뷰와 스크린 갤러리에 `docs/screenshots/releases/v020` 자산을 추가해 Motion Speed Limit, Script Debug, Script Scan, Script Offset, Always on Top 화면을 사용.
- `v0.1.8` / `v0.1.9`의 기존 데모는 삭제하지 않고 **핵심 기능 데모** 섹션으로 분리해 Playback flow, Multi-Axis Only, 영상 미리보기, 랜덤 스트로크를 유지.
- 스크린 갤러리는 세로형/와이드형 캡처가 잘리지 않도록 이미지 표시 방식을 `contain`으로 조정.
- 히어로 진입 애니메이션, 스크롤 리빌, 카드 호버 리프트, 모바일 데모 스냅 슬라이드를 추가하고 `prefers-reduced-motion` 환경에서는 정적으로 표시.
- 영상 프리뷰 카드 위에 떠 있던 장식용 재생 배지는 실제 데모 화면을 가리지 않도록 제거.

---

## 9. 2026-04 풀 리디자인 / 구조 리팩터링

- `index.html`에 들어 있던 대형 인라인 i18n 스크립트를 `script.js`로 분리해 정적 HTML 구조를 가볍게 정리.
- 히어로를 기존 좌우 분할 레이아웃에서 실제 앱 데모 영상 기반의 풀블리드 제품 히어로로 변경.
- 첫 화면 메시지는 `ScriptPlayer+` 브랜드를 중심에 두고, 기존 한국어 핵심 문구는 히어로 리드로 유지.
- 섹션 구조를 `핵심 흐름 → 워크플로 → 최근 업데이트 → 기능 스택 → 실제 화면 → 다운로드 CTA` 순서로 재구성.
- v0.1.9 / v0.1.8 업데이트 내용은 카드형 릴리스 요약과 실제 데모 타일로 분리하고, 영상 미리보기 / 랜덤 스트로크는 비디오 타일로 유지.
- 헤더의 언어 선택 UI를 세그먼트 버튼에서 현재 언어 중심의 드롭다운으로 변경하고, GitHub 링크는 텍스트 버튼 대신 GitHub 마크 아이콘 버튼으로 정리.
- 하단 스크린 갤러리는 특정 카드가 과하게 커지지 않도록 동일 크기 4열 구성을 적용.
- 색상 체계, 간격, 카드 반경, 반응형 레이아웃을 전면 재작성해 앱 화면 자산이 먼저 보이는 랜딩 톤으로 조정.

---

## 8. 2026-04 릴리스 데모 반영 (v0.1.9 / v0.1.8)

- 기존 공개 랜딩의 **전체 구조는 유지**하고, 내용만 `v0.1.9`(2026-04-15) / `v0.1.8`(2026-04-11) 기준으로 갱신.
- 히어로 영상은 **v0.1.9 Auto Play After Handy Sync** 데모로 교체하고, 히어로 메타 문구도 최신 업데이트 기준으로 수정.
- 기존 `v0.1.7 기능 데모` 섹션은 **레이아웃을 유지한 채** `최근 업데이트 데모` 섹션으로 바꾸고:
  - Patreon `v0.1.9` / `v0.1.8` 글 링크
  - 두 버전의 변경 요약 리스트
  - `v0.1.8` 재생 흐름 메인 데모
  - `v0.1.9` Multi-Axis Only / `v0.1.8` 영상 미리보기 / 랜덤 스트로크 타일
  를 반영.
- 기존 갤러리 섹션도 구조는 유지하고, 내용만
  - 스크립트 변형 패널
  - 오디오 재생 화면
  - 재생 설정 화면
  으로 교체.
- 새 자산은 리포 안 `docs/screenshots/releases/v018`, `docs/screenshots/releases/v019` 로 정리해 사용.
- 다국어 전환(ko/en/ja/zh)은 유지하고, 새 텍스트만 번역 키에 추가.

---

## 1. 히어로 영상 영역

- 히어로 우측 **메인 영상** 아래에 붙어 있던 **캡션 문단**(`hero-visual-caption`)을 제거해 **영상만** 보이도록 함.
- “음소거·자동 재생·반복” 등 **영상 동작을 설명하는 문구**는 사용자 노출 텍스트에서 제거 (브라우저 `<video muted autoplay loop>` 속성은 자동 재생 정책용으로 유지).
- 비디오 접근성 라벨은 짧게 `aria-label="ScriptPlayer+"` 수준으로 정리하고, i18n 키 `heroVideoCap` / `heroVideoAria`는 삭제.
- 관련 **CSS** `.hero-visual-caption` 블록 제거.

---

## 2. 히어로 카피(리드) 반복 수정

- 한때 **자막 자동 인식**, **Handy V4 / Handy 2 Pro**, **안정성**, **FunOSR 직결 TCode** 등을 히어로에 길게 넣었다가, 요청에 따라 **히어로에서는 해당 긴 설명 전부 제거**.
- **부가 문단**(`hero-sub`, `heroSub`)을 두었다가, 이 역시 히어로에서 빼달라는 요청에 따라 **HTML·i18n·스타일 전부 삭제**.
- **한국어 히어로 리드**는 사용자 지정 문구로 고정:

  > The Handy와 FunOSR 외 다양한 스토로커와 호환되는 가장 강력한 funscript 플레이어  

  (표기·철자는 위 문장 그대로 유지.)

- **영어 / 일본어 / 중국어** `heroLead`는 위 한국어와 동일한 의미의 **직역**으로 맞춤 (다른 언어에서 임의로 톤만 바꾸지 않도록 함).
- `<meta name="description">`, `og:description`도 히어로 메시지와 일치하도록 갱신.

---

## 3. v0.1.7 데모 섹션

- 부제에서 “맨 위 대표 영상과 별도” 류 **불필요한 대비 문구** 제거 → `v0.1.7에 추가된 기능을 보여 주는 영상·캡처입니다.` 등으로 단순화.
- PIP 데모 **캡션**에서 음소거/자동재생/반복 설명 제거, 데모 설명만 유지.

---

## 4. 기능 섹션(“왜 ScriptPlayer+인가”)

- **요약 문구**(`featuresSubtitle`): 동작 안정성·하드웨어 연동에 집중한다는 톤으로 조정한 상태 유지.
- 카드별 예시:
  - 비디오+오디오: 자막 자동 인식 문구 포함.
  - The Handy: V4·Handy 2 Pro 등 세부 지원 문구 포함.
  - FunOSR: 직결(COM)·TCode 스트리밍 강조.

(히어로와 달리 **기능 그리드**는 상세 스펙을 적는 영역으로 유지.)

---

## 5. 스타일

- `.hero-lead` 여백: 부가 문단 제거 후 **단일 리드** 기준으로 하단 마진 정리.
- 삭제된 `.hero-sub` 스타일은 더 이상 존재하지 않음.

---

## 6. 동기화·배포

- 동일 내용을 앱 모노레포 쪽 **`scriptplayer+/landing/`** 에도 맞춰 두었음 (경로만 `../docs/...`, `../public/icon.png` 등으로 상이).
- **`scriptplayer-landing`** 저장소 `main` 브랜치에 푸시 시 **Vercel**이 자동 배포.

---

## 7. 관련 파일

| 파일 | 설명 |
|------|------|
| `index.html` | 히어로, i18n(`STR` ko/en/ja/zh), 메타 태그 |
| `styles.css` | 히어로·섹션 레이아웃 |
| `docs/LANDING_HISTORY.md` | 본 문서 |

---

*문서 작성 시점: 랜딩 히어로 리드가 사용자 지정 한국어 한 문장으로 고정된 커밋 기준.*
