# 奇幻地图生成器（MiniMax M3.1 Flash / max）

## 原始提示词

见 [完整原始输入](prompt.md)。该输入与主题提示词 v1 正文一致。

## 实现说明

单文件 `index.html`，HTML / CSS / JavaScript 内联，无后端、无 CDN、无构建步骤。

### 生成流程

1. **地形**：分形值噪声（fBm）+ 岛屿径向衰减生成高度场，另有脊状噪声形成山脉；结果按最大值归一化到 `[0,1]`，保证海平面滑块在不同粗糙度下都有效。
2. **分类**：按高度划分海洋 / 海岸 / 平原 / 森林 / 山脉，平原再按湿度噪声细分为森林。
3. **河流**：对所有高于海平面的格子计算“最陡下降”下游指针（D8），按高度从高到低累积汇流量；汇流量超过阈值的格子标记为河道，并对河床轻微下切使河道可见。下切基于原始高度每次重算，不会累积。
4. **湖泊**：从地图边界的水格做连通性泛洪，未与海洋连通的水格判定为内陆湖泊。
5. **城镇**：由种子派生的固定候选序列筛选出平原 / 海岸 / 森林格，保证彼此间距，名称用中文音节组合生成。

### 交互

- 种子输入 + 「按种子生成地图」：相同种子与参数生成完全相同的地图。
- 海平面滑块：实时重算海岸、湖泊、河流与城镇。
- 地形粗糙度滑块：重新生成噪声频率更高的地图。
- 升高 / 降低笔刷：以当前半径抬升或压低高度场，随后完整重算分类、河流与城镇。
- 平移拖动、滚轮缩放（以指针为中心）、双指缩放与平移、视图复位。
- 城镇标签可开关；「导出当前视图 PNG」与「导出整幅地图 PNG」输出当前地图状态。

### 视觉

旧纸底纹 + multiply 叠加、地形按海拔渐变着色、手绘抖动海岸线（确定性哈希抖动，逐格一致）、森林三角符号与山脉折线符号、蓝色河道、红褐城镇点与带描边的中文名。

## 运行与验证

Playwright + Chromium 自动化校验（模型生成的实现，均通过）：

- 相同种子两次生成的地形数组完全一致；不同种子结果不同。
- 默认地图包含海洋、陆地、河流（数十格）与 9 个城镇标签。
- 河流单调性检查：所有河道格的下游格高度都不高于当前格（无 uphill 段），即不会穿越山脊。
- 升高笔刷改动了 29 格地形；连续降低笔刷后海岸分类随之变化。
- 缩放 2.2 倍后按屏幕坐标绘制，命中格子与换算结果一致。
- 导出 PNG 得到有效 `data:image/png;base64` 数据（长度约 290KB）。
- 390px 视口 `scrollWidth == clientWidth`；触摸点击可绘制；控制台无错误。

<!-- archive:start -->
## 当前归档信息（自动生成）

- 实验 ID：`fantasy-map-generator--minimax-m3-1-flash-max-r01`
- 模型：MiniMax M3.1 Flash；推理档位：max
- 类型：single-html；预览：static；网络：offline
- [完整原始输入快照](prompt.md) · [主题与其他版本](../../../../topic.html?id=fantasy-map-generator)
- 输入记录：完整原始输入快照，与主题提示词 v1 正文一致（任务正文本身即原始输入）。
- 工具：Claude Code CLI（当前会话，模型 MiniMax-M3.1-Flash，档位 max）。单会话直接实现，未使用子代理；本地用 Playwright/Chromium 以 file:// 与 390px 视口做自动化校验。
- 运行方式：浏览器直接打开本目录入口；CDN/外部素材需要联网。
- 费用记录：MiniMax 批次合计 金额未记录（11 个案例；批次 minimax-m3-1-flash-max-2026-10-19；未记录单案例费用）
- [地图生成器主页面](../../../../demos/fantasy-map-generator/runs/minimax-m3-1-flash-max-r01/index.html)

### 部署适配记录

- 迁移来源：F:\dev\ai-coding-demo-test 的 experiment/minimax-m3-1-flash-max 分支，提交 871beb18e0e85d6dd542cadca398e67aa4ff1247；保留该提交中的任务输入、实现源码和原有说明。
- 维护者于 2026-10-20 按本仓库统计规则为网页入口引用公共 assets/analytics.js；原始任务输入未改动。
- 维护者于 2026-10-20 在本仓库本地 HTTP 预览中补拍真实桌面截图，并按案例评分规则 v2 逐项复核。
- 维护者于 2026-10-20 按用户要求重新逐图评分，原始 PNG、输入及实现不变；旧分、新分、逐项观察和规则快照保存在 catalog/score-reviews/2026-10-20-minimax-m3-1-flash-max-v2.json。
- 维护者于 2026-10-22 按 v3 对本轮桌面、手机及补充状态逐图重评并绑定 captures 证据；旧截图和 v2 评分见 catalog/score-reviews/2026-10-21-v3-source.json。未重跑模型或改写实验源码，截图不证明完整功能、算法、手势或性能。
<!-- archive:end -->
