彩色流体实验台 · WebGL 压力投影
原始提示词
见 完整原始输入(任务正文与 主题 prompts/v1/prompt.md 一致,未删改内容)。
实现要点
- 每帧在 GPU 上执行:速度平流(半拉格朗日)→ 涡量约束 → 散度 → 压力雅可比迭代 → 梯度减除(速度投影)→ 染料平流,是真实的不可压缩求解而非粒子轨迹或画布淡出。
- 离散格式经过实测标定:散度用前向差分、梯度用后向差分,与窄模板拉普拉斯严格配对,避免中心差分组合导致的投影正反馈;涡量项采用饱和化(C/(1+|C|))防止能量指数增长。
- 提供染料颜色、注入力度、染料消散、速度消散、压力迭代次数、模拟分辨率、染料分辨率倍率与涡量强化等参数,以及暂停、继续、清空、重置参数与 PNG 截图。
- 内置 WebGL2 与 EXT_color_buffer_float 检测、上下文丢失兜底提示、渐进质量档位(帧率不足时自动降档,重建时保留已有内容)与绘制缓冲上限。
运行与复盘
- 运行方式:在 Windows + PowerShell 7 环境用当前会话直接实现;软渲染环境(SwiftShader)下需要预热 GPU 进程并依赖渐进质量档位,真实 GPU 可跑满档。
- 验证记录:
- 拖动注入后染料场与速度场均非零;左右与上下拖动的速度场统计明显不同,说明方向影响流动。
- 压力迭代次数从 1 调到 40 后计算结果发生变化;暂停后 500ms 内染料与速度统计保持不变。
- 清空后染料与速度归零;截图可生成 data URL;真实鼠标拖动可注入染料。
- 禁用 WebGL 时页面给出明确提示而不是空白页;390px 视口无横向溢出。
- 已知限制:
- 软渲染环境(SwiftShader)下需要先预热 GPU 进程,否则首次加载会被 GPU 进程回收;页面已用渐进质量档位兜底。
- 压力场按 0.8 系数逐帧衰减作为迭代初值,投影略有欠松弛,长时间运行速度场会有轻微耗散。
当前归档信息(自动生成)
- 实验 ID:
fluid-simulation--minimax-m3-1-flash-max-r02 - 模型:MiniMax M3.1 Flash;推理档位:max
- 类型:single-html;预览:static;网络:offline
- 完整原始输入快照 · 主题与其他版本
- 输入记录:完整任务正文,与 demos/fluid-simulation/prompts/v1/prompt.md 一致。
- 工具:MiniMax Code。在 Windows + PowerShell 7 环境用当前会话直接实现;软渲染环境(SwiftShader)下需要预热 GPU 进程并依赖渐进质量档位,真实 GPU 可跑满档。
- 运行方式:浏览器直接打开本目录入口;CDN/外部素材需要联网。
- 费用记录:MiniMax 批次合计 金额未记录(11 个案例;批次 minimax-m3-1-flash-max-minimax-code-2026-10-20;未记录单案例费用)
- 流体实验台
部署适配记录
- 迁移来源:F:\dev\ai-coding-demo-test(model-test-base 分支工作区,未提交状态)中的 demos/fluid-simulation/runs/minimax-m3-1-flash-max-r01;同模型同档位的 r01 记录来自 Claude Code CLI 会话,本轮由 MiniMax Code 重新执行并另存为 r02;原始输入、模型产物与复盘文字原样保留。
- 维护者于 2026-10-20 按本仓库统计规则为网页入口引用公共 assets/analytics.js;原始任务输入未改动。
- 维护者于 2026-10-21 在本仓库本地 HTTP 预览中补拍真实桌面截图(1440px 宽),并按案例评分规则 v2 逐项复核;实验源码和原始输入未修改。
- 维护者于 2026-10-22 按 v3 对本轮桌面、手机及补充状态逐图重评并绑定 captures 证据;旧截图和 v2 评分见 catalog/score-reviews/2026-10-21-v3-source.json。未重跑模型或改写实验源码,截图不证明完整功能、算法、手势或性能。