奇幻地图生成器(MiniMax M3.1 Flash / max)
原始提示词
见 完整原始输入。该输入与主题提示词 v1 正文一致。
实现说明
单文件 index.html,HTML / CSS / JavaScript 内联,无后端、无 CDN、无构建步骤。
生成流程
- 地形:分形值噪声(fBm)+ 岛屿径向衰减生成高度场,另有脊状噪声形成山脉;结果按最大值归一化到
[0,1],保证海平面滑块在不同粗糙度下都有效。 - 分类:按高度划分海洋 / 海岸 / 平原 / 森林 / 山脉,平原再按湿度噪声细分为森林。
- 河流:对所有高于海平面的格子计算“最陡下降”下游指针(D8),按高度从高到低累积汇流量;汇流量超过阈值的格子标记为河道,并对河床轻微下切使河道可见。下切基于原始高度每次重算,不会累积。
- 湖泊:从地图边界的水格做连通性泛洪,未与海洋连通的水格判定为内陆湖泊。
- 城镇:由种子派生的固定候选序列筛选出平原 / 海岸 / 森林格,保证彼此间距,名称用中文音节组合生成。
交互
- 种子输入 + 「按种子生成地图」:相同种子与参数生成完全相同的地图。
- 海平面滑块:实时重算海岸、湖泊、河流与城镇。
- 地形粗糙度滑块:重新生成噪声频率更高的地图。
- 升高 / 降低笔刷:以当前半径抬升或压低高度场,随后完整重算分类、河流与城镇。
- 平移拖动、滚轮缩放(以指针为中心)、双指缩放与平移、视图复位。
- 城镇标签可开关;「导出当前视图 PNG」与「导出整幅地图 PNG」输出当前地图状态。
视觉
旧纸底纹 + multiply 叠加、地形按海拔渐变着色、手绘抖动海岸线(确定性哈希抖动,逐格一致)、森林三角符号与山脉折线符号、蓝色河道、红褐城镇点与带描边的中文名。
运行与验证
Playwright + Chromium 自动化校验(模型生成的实现,均通过):
- 相同种子两次生成的地形数组完全一致;不同种子结果不同。
- 默认地图包含海洋、陆地、河流(数十格)与 9 个城镇标签。
- 河流单调性检查:所有河道格的下游格高度都不高于当前格(无 uphill 段),即不会穿越山脊。
- 升高笔刷改动了 29 格地形;连续降低笔刷后海岸分类随之变化。
- 缩放 2.2 倍后按屏幕坐标绘制,命中格子与换算结果一致。
- 导出 PNG 得到有效
data:image/png;base64数据(长度约 290KB)。 - 390px 视口
scrollWidth == clientWidth;触摸点击可绘制;控制台无错误。
当前归档信息(自动生成)
- 实验 ID:
fantasy-map-generator--minimax-m3-1-flash-max-r01 - 模型:MiniMax M3.1 Flash;推理档位:max
- 类型:single-html;预览:static;网络:offline
- 完整原始输入快照 · 主题与其他版本
- 输入记录:完整原始输入快照,与主题提示词 v1 正文一致(任务正文本身即原始输入)。
- 工具:Claude Code CLI(当前会话,模型 MiniMax-M3.1-Flash,档位 max)。单会话直接实现,未使用子代理;本地用 Playwright/Chromium 以 file:// 与 390px 视口做自动化校验。
- 运行方式:浏览器直接打开本目录入口;CDN/外部素材需要联网。
- 费用记录:MiniMax 批次合计 金额未记录(11 个案例;批次 minimax-m3-1-flash-max-2026-10-19;未记录单案例费用)
- 地图生成器主页面
部署适配记录
- 迁移来源: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。未重跑模型或改写实验源码,截图不证明完整功能、算法、手势或性能。