秋水云锻

Changelog

项目演进历程

从单页工具到工作流节点系统,从几何映射到物理模型 —— 记录每一次重要迭代

6
版本发布
55+
commits
~8000
行代码
13
工作流节点
v2.1 2025-05-10 鼓形(Barreling)锻压算法

核心算法重构

  • 鼓形物理模型替换方圆投影 — 基于锻造摩擦学原理:上下模具摩擦约束材料横向流动,中间层(远离模具)流动量最大,形成 (1−y²) 抛物线位移剖面,替代 v1 的几何方→圆映射
  • 宽高比感知 — 变形强度 eps = 1 − min(W,H)/max(W,H) 根据输入尺寸自适应。m=n(方形)→ eps=0 无形变;m>n(扁宽)→ 压缩宽度无C纹;m<n(窄高)→ 压缩高度产生C纹
  • 锻压到方形 — warp 后缩放回 380×380 正方形,完成物理锻造工序,无需 v1 的截取+平铺
  • 半高锻压重做 — 减半 n 次:将锻好的正方形缩放到 1/2ⁿ 高度,再次应用鼓形锻压,子图×2ⁿ 堆叠。替代 v1 的简单裁剪+平铺
  • 自然尺寸保留 — 输入图片以实际尺寸加载参与锻压,不再强制缩放为正方形

随机扰动改进

  • 压缩轴感知扰动 — 正弦波扰动作用于压缩轴方向:宽坯料(newW>newH)扰动X轴(波纹沿Y变化);窄坯料(newH>newW)扰动Y轴(波纹沿X变化);半高锻压始终扰动Y轴
  • 偏锻/扭转节点保持默认Y轴扰动,向后兼容

对比演示页面

  • 新增 算法对比演示页 — 左右并排对比方圆投影(v1)与鼓形锻压(v2)的未裁剪输出;支持图片上传、旋转角度、预设条纹/方格演示

文档

  • 项目文档全面更新 — 新增鼓形算法原理详解(物理模型、数学推导、v1/v2对比表格)、压缩轴感知随机扰动说明、已解决问题清单
v2.0 2025-05-06 ~ 2025-05-09 工作流模式重构

架构重构

  • 项目重构 — 在保留 UI 模式完全一致的前提下,引入工作流层作为独立子系统,双模式并行运行
  • 三层架构:核心算法库 → 工作流子系统(引擎+画布+节点注册)→ UI 状态管理,层次分明
  • 模式切换 — 页面 header 增加 UI模式/工作流 双模式切换按钮,两种模式可以独立使用

工作流节点系统

  • 13 个节点类型 — 输入类(生成/自定义生成/上传)、操作类(锻压/偏锻/扭转/多路/平铺/分割)、复合类(堆叠)、辅助类(综合变换/图片查看器)
  • Blender 风格内嵌参数节点 — 节点上直接显示参数控件(滑块、选择、按钮),减少侧边栏切换
  • DAG 执行引擎 — 拓扑排序确定执行顺序,边传递数据,支持多路并行分支
  • 节点画布 — 拖拽节点、端口连线、缩放平移、多选操作

交互完善

  • Ctrl+多选组件 + 多选拖拽/复制粘贴/删除
  • L 键快速连线 — 循环填充逻辑,一键连接空端口
  • 输出端口建议菜单 — 点击空输出端口弹出推荐组件菜单+自动连线
  • 节点纵向调整大小 — 控制预览高度,预览图跟随缩放
  • 工作流 JSON 保存/导入 — 含缩放位置、收起状态的完整还原
  • 画布底部半透明按键指引水印
  • 默认加载示例工作流

问题修复

  • 修复连线连不上、连线被节点遮挡的问题
  • 修复卡片拖拽/参数对齐/连线断开 4 项交互问题
  • 修复多路组件的模式切换、端口数量和旋转镜像翻转功能
  • 子图高度修正为 (1/2)^n,移除多余中间切片
  • 上传组件上传后立即显示预览并自动运行

国际化 (i18n)

  • 完整中英文切换 — 侧边栏/状态栏/模式按钮/select选项全面覆盖
  • 统一中英映射表,消除所有英文残留
  • 「偏移」→「偏锻」术语修正
  • 说明文本书面化

UI 增强

  • Sidebar 品牌标识 + 标题更名为「秋水云锻」
  • 工具栏按钮重排 + 实时刷新指示灯(默认开启)
  • 自定义生成组件微调功能 + 「保存」改为「导出」
  • 堆叠组件优化 + 分割支持动态子图输出 + 综合变换方形缩放
v1.3 2025-04-18 移动端体验优化

移动端适配

  • 响应式布局重排 — 控件面板在窄屏下垂直排列,触摸友好的间距和字号
  • 触摸操作优化 — 滑块添加更大的触摸热区,卡片拖拽在移动端的体验改进,防止页面滚动与卡片拖拽冲突
  • FAB 菜单动画 — 弹性回弹曲线 cubic-bezier(0.34, 1.56, 0.64, 1),展开缩放效果,子项交错弹出/反向交错关闭
  • Grid-Cell 移动端交互 — 第一次点击即选中+显示清除按钮,移除双击需求

修复

  • Grid-Cell 清除按钮恢复正确标签(不再错误显示 "Drop image here")
  • Grid-Cell 图片旋转/翻转 CSS transform 实时同步
  • 移动端和桌面端双击行为统一(双击→填充到当前tab的source)
v1.2 2025-04-18 分割功能 & 格子操作

新功能

  • 分割 (Split) 功能 — 将图像按行/列切分为多个子图,支持 1-8 行、1-8 列自由组合,每个子图可独立拖入后续操作节点
  • Grid-Cell 系统 — 多路 (Multiway) 和平铺 (Tile) 使用网格单元格管理输入,每个格子独立支持拖入/清除/旋转/翻转
  • 多路变换传递 — 旋转/镜像/翻转操作完整传递到每个子图
v1.1 2025-04-17 工作区卡片系统

新功能

  • Card-Area 工作区 — 页面底部增加卡片区域,生成的中间结果自动保存为卡片,可拖拽卡片到任意 tab 的 source 位置,避免重复上传/生成
  • 卡片管理 — 支持移除、拖拽重排、添加新卡片时自动平滑滚动到末尾
  • 拖放交互 — 卡片拖入 tab 控件的 source 区域,自动填充并触发预览刷新
v1.0 2025-04-16 初始发布 · 单页锻压工具

初始功能

  • 参考项目 — 基于 dmt.msbpro.com 的大马士革纹路生成理念,实现独立的锻压模拟工具
  • Tab 式单页面界面 — 生成 (Generate) / 锻压 (Squash) / 偏锻 (Bias) / 扭转 (Twist) 四个核心操作标签页
  • 生成模块 — 支持横纹 (Layers)、方格 (Squares)、网格 (Grid)、渐变 (Gradient)、厚中心 (Thick Center) 五种样式;4-100 层可调;自定义双色
  • 锻压 (Squash)方圆投影算法 (SquareCircleProjection)inverse 方→圆映射产生C型弯曲,截取中间段+平铺模拟方形输出;支持旋转角度、减半次数参数
  • 偏锻 (Bias) — inverse→旋转→forward 双重变换,产生斜向扭曲
  • 扭转 (Twist) — 切片旋转拼接,模拟锻造扭转效果
  • 结果下载 — 每个结果卡片支持拖拽保存为PNG