奇幻地图生成器
原始提示词
见 本次原始提示词。本目录的 prompt.md 与 demos/fantasy-map-generator/prompts/v1/prompt.md 逐字节一致。
运行与复盘
运行方式
- 模型:MiniMax-M3.1-Flash-Preview,档位 max,会话内一次性生成,未委派子代理。
- 产物:单个
index.html,Canvas 2D + 原生 JavaScript,无外部依赖。 - 入口:本目录
index.html。
实现方式
- 随机源:mulberry32 定长伪随机,种子固定为 1337(可在界面上改)。同样的种子必然得到同样的地图。
- 高程场:160×120 的值噪声,用 fBm 叠加 5 个倍频,再乘一个多岛屿衰减掩码,使地图呈现若干块分离的大陆而不是一整片噪声。
- 交互雕刻:升高 / 降低 / 平移三种画笔,可调笔刷大小与强度,改动直接写回高程数组。
- 河流:源点只取「非山峰且海拔高于阈值」的格子,之后严格沿最陡下降方向逐格下行。因为每一步海拔都严格下降且山峰是局部极大值,路径在数学上不可能上坡或穿越山峰,最终必然终止于海洋或内陆湖。
- 导出:PNG 按整图 4 倍尺寸输出,并包含海岸线、河流与城镇标注。
验证记录
用 Playwright 驱动真实 UI:
| 项目 | 结果 |
|---|---|
| 同种子可复现 | 两次重生成后整屏截图字节完全一致 |
| 不同种子 | 画面明显不同 |
| 画笔生效 | 升高 / 降低画笔落点处高程按预期改变 |
| 缩放锚点 | zoom×1 落点偏差 3.5px;zoom×2.31 偏差 9.1px(属单格像素量化范围) |
| PNG 导出 | 成功产出 fantasy-map-1337.png,116572 字节 |
| 390px 横向溢出 | 无溢出 |
| 控制台错误 | 0 |
已知限制
- 城镇位置按海拔与到水距离启发式挑选,不做真正的选址优化。
- 导出为整图,不支持导出当前视口区域。
过程中修掉的真实问题
toWorld() 把 e.clientX 直接当作画布内坐标,漏减了画布自身的页面偏移(未减去 getBoundingClientRect().left / top),导致所有画笔的落点整体偏移约 20×83 px,改正后偏差降到单个格子的量级。
当前归档信息(自动生成)
- 实验 ID:
fantasy-map-generator--minimax-m3-1-flash-preview-max-r02 - 模型:MiniMax M3.1 Flash Preview;推理档位:max
- 类型:single-html;预览:static;网络:offline
- 完整原始输入快照 · 主题与其他版本
- 输入记录:本目录 prompt.md 与 demos/fantasy-map-generator/prompts/v1/prompt.md 逐字节一致,完整原文已保存。
- 工具:MiniMax Code 桌面版(MiniMax M3.1 Flash Preview)。纯静态单文件,无外部依赖,network 为 offline。相同种子重生成截图字节完全一致;390px 下无横向溢出,控制台无错误。本工作副本用 node scripts/serve.mjs --read-only(PORT=4180)预览,未复用其他工作副本的 4173 端口;验证用 Playwright(chromium)驱动真实 UI 读数。 本轮使用 MiniMax Code 桌面版执行,未使用 Claude Code。
- 运行方式:浏览器直接打开本目录入口;CDN/外部素材需要联网。
- 费用记录:MiniMax 批次合计 37 %(Max 订阅套餐五小时额度)(11 个案例;批次 minimax-m3-1-flash-preview-max-2026-10-13;未记录单案例费用)
- 地图生成器
部署适配记录
- 地图完全由种子决定:相同 seed 重生成的画面字节级一致,不同 seed 结果不同。
- 河流沿最陡下降路径从源点流向海洋或内陆湖,源点只取非山峰且高于阈值的格子,路径严格下降,因此数学上不可能逆流上坡或穿越山峰。
- 缩放锚定光标位置,zoom×1 落点偏差 3.5px、zoom×2.31 偏差 9.1px,属于单格像素量化的正常范围。
- 修复 toWorld() 漏减画布自身页面偏移(未减去 getBoundingClientRect 的 left/top),导致所有画笔落点整体偏移约 20×83 px。
- PNG 导出按整图 4 倍尺寸输出,并包含海岸线、河流与城镇标注。
- 迁移来源:F:\dev\ai-coding-demo-test(experiment/minimax-m3-1-flash-preview-max)/demos/fantasy-map-generator/runs/minimax-m3-1-flash-preview-max-r01;当前 main 已存在该轮号,保留历史并迁入为 minimax-m3-1-flash-preview-max-r02。
- 迁移验证:使用本仓库本地 HTTP 入口补拍实际桌面截图 screenshot.png;Chromium 确认入口可加载且无页面异常,390px 视口横向溢出为 0。
- 迁移验证补充:本 static 入口可通过 file:// 直接打开,Chromium 页面异常为 0。
- 维护者于 2026-10-22 按 v3 对本轮桌面、手机及补充状态逐图重评并绑定 captures 证据;旧截图和 v2 评分见 catalog/score-reviews/2026-10-21-v3-source.json。未重跑模型或改写实验源码,截图不证明完整功能、算法、手势或性能。