# 目光所及，交互可达

一段 180 秒的中文科普网页动画，讲解眼动指向、米达斯之触、停留确认，以及眼睛、舌头和头部的交互分工。

## 观看

直接用 Chrome 或 Edge 打开本目录的 `index.html`，点击“开始这段探索”。全部画面、字幕、旁白和配乐都在本地，不需要联网，也不会请求摄像头、麦克风或眼动设备权限。

若浏览器限制本地音频，使用支持音频拖动的预览服务器：

```powershell
cd F:\Develop\Web_Game\experiences\tongue-eye
python server.py
```

然后访问 <http://127.0.0.1:8768/>。可用 `python server.py --port 8769` 更换端口。预览只监听本机，按 Ctrl+C 停止。不要用不支持 HTTP Range 的静态服务器替代：部分浏览器会把音频拖动重置到开头。

## 播放器

- 播放、暂停、从头重播；拖动进度或点击八个章节跳转。
- 空格播放/暂停；左右方向键前后跳 5 秒。焦点位于按钮或滑块时保留其原生键盘行为。
- 中文旁白与原创配乐分别开关；关闭声音仍有完整字幕。
- 全屏播放；打开资料弹窗或切换到后台时暂停。
- 不自动播放，减少动态偏好的用户也由自己决定何时开始。

动画以 1600×900 的逻辑画布绘制，并按 16:9 缩放。手机竖屏会将字幕移到舞台下方以保持可读；观看图解细节建议横屏或桌面大屏。

## 文件

| 文件 | 用途 |
| --- | --- |
| `index.html` / `style.css` / `app.js` | 完整播放器和图解动画，无框架、无构建依赖 |
| `narration.json` | 旁白、字幕、章节和分镜的原始数据 |
| `narration-data.js` | 从 JSON 生成的浏览器数据，保证本地文件模式也可使用 |
| `assets/audio/narration.mp3` | Windows 本机离线合成的 180 秒中文女声 |
| `assets/audio/music.mp3` | 本地程序合成的 180 秒原创环境音乐，无采样 |
| `assets/subtitles.srt` | 完整时间码字幕，可供后续视频制作 |
| `docs/storyboard.md` | 完整中文旁白与带时间段的分镜表 |
| `docs/research.md` | 关键事实、来源、样本范围与事实性调整 |
| `docs/audio.md` | 配音、配乐制作方式与听感验收边界 |
| `docs/verification.md` | 实际检查及未覆盖事项 |
| `tools/build_content.py` | 重新生成网页数据、分镜文档与 SRT |
| `tools/build_audio.py` / `tools/synthesize.ps1` | 重新制作旁白与原创配乐 |
| `tests/browser_check.py` | 时间轴、音频同步、响应布局和完整播放检查 |
| `server.py` | 带字节范围支持的本地静态预览服务器 |

## 内容边界

原型事实来自作者本轮确认：头显中的眼动仪用于目标指向；舌部输入用于确认与物体远近控制；具备相应头颈活动能力时，可通过头部运动调整大致方向。这里的口腔均为输入示意，没有虚构硬件、确认或释放动作协议。

二维方向、径向菜单、旋转和缩放只作为扩展设想。动画中菜单仅高亮示例命令，不实际执行这些功能。影片没有实验精度、成功率或参与人数等本项目的性能主张。

没有找到三组可比较的全球人群统计，采用用户允许的动作开场。参考 B 站视频未能观看，设计依据提示词的视觉描述。论文限制和访问情况详见 `docs/research.md`。

## 修改与验证

修改 `narration.json` 后运行：

```powershell
python tools/build_content.py
```

旁白文本或时间变化后必须重新生成音轨，具体环境见 `docs/audio.md`。`app.js` 中各幕动作也使用绝对时间，应与新分镜一起调整。画面状态每帧直接从当前时间计算，不依赖上一帧，以确保任意跳转可恢复。

使用已有 Python Playwright 环境、已启动的预览服务器：

```powershell
python tests/check_content.py
python tests/browser_check.py --full
```

`--full` 会实际播放全部 180 秒并采样两轨同步。检查产物写入仓库忽略的 `artifacts/tongue-eye/`。测试需要 Playwright 和对应 Chromium；普通观看不需要这些依赖。

本轮为独立本地网页交付，未修改游戏合集首页、注册表或已有游戏，未推送或部署。
