彩色流体实验台(MiniMax M3.1 Flash / max)
原始提示词
见 完整原始输入。该输入与主题提示词 v1 正文一致。
实现说明
单文件 index.html,HTML / CSS / JavaScript / GLSL 全部内联,无后端、无 CDN、无构建步骤。
求解流程(GPU 上真实数值求解)
每帧按顺序执行:
- 涡量与卷曲增强:由速度场求涡量,再沿涡量梯度方向注入约束力,让流体产生卷曲与混合。
- 散度:计算速度场散度。
- 压力迭代:对压力做 Jacobi 迭代(次数由滑块控制,1–60),上一帧压力按 0.8 衰减。
- 速度投影:从速度场中减去压力梯度,使速度场近似无散。
- 速度场自平流。
- 染料平流:染料作为被动标量随速度场平流,并按消散系数衰减。
全部步骤在浮点纹理上用片元着色器完成,速度场、压力场、散度场、染料场均为双缓冲 FBO。速度场与压力场使用 RGBA16F(WebGL 2)或 OES_texture_float(WebGL 1)纹理;不满足条件时给出明确的中文提示,不会留下空白页。
交互与参数
- 鼠标 / 触摸拖动注入染料与动量,拖动方向决定流动方向,快速拖动会自动插值补点。
- 染料颜色、注入力度、染料消散、压力迭代次数、模拟分辨率、卷曲强度六个滑块全部实时生效。
- 暂停 / 继续、清空流体、重置参数、保存 PNG 截图。
- 设备像素比上限为 2;窗口尺寸变化时按新宽高比重建全部纹理,旧纹理与 FBO 显式释放,触摸坐标按画布实际尺寸换算。
上下文丢失处理
浏览器可能因显卡驱动重置等原因回收 WebGL 上下文。实现监听 webglcontextlost,暂停渲染循环、替换画布并重建着色器与纹理后继续运行(见下方 changes)。
运行与验证
Playwright + Chromium 自动化校验(模型生成的实现,均通过):
- WebGL 2 上下文创建成功,
EXT_color_buffer_float可用,模拟纹理 310 × 192、染料纹理 619 × 384 已创建。 - 注入后画面出现染料(像素和 0 → 2868),继续演化后像素分布改变(2868 → 2117)。
- 向右拖动:右半区像素和 2458、左半区 68;向左拖动:左半区 2470、右半区 68,方向确实影响流动。
- 暂停后 500ms 内像素和完全不变;继续后重新演化。
- 清空后像素和归零。
- 参数面板改动立即反映到求解设置(迭代 45、消散 3.0、模拟分辨率 128 → 纹理高度 128)。
- PNG 截图返回有效
data:image/png;base64。 - 390px 视口无水平溢出;触摸点击可注入染料;控制台无错误。
- 已知限制:测试环境为软件渲染(SwiftShader),帧率偏低;真实 GPU 上可稳定接近 60FPS。
当前归档信息(自动生成)
- 实验 ID:
fluid-simulation--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;未记录单案例费用)
- 流体实验台主页面
部署适配记录
- 实现中加入了 WebGL 上下文丢失后的自动重建:无头/受限环境可能回收首个 WebGL 上下文,此时会替换画布并重新初始化着色器与纹理,避免留下空白画面。
- 迁移来源: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。未重跑模型或改写实验源码,截图不证明完整功能、算法、手势或性能。