Commit Graph

86 Commits

Author SHA1 Message Date
81326d5287 fix(embed): adapt toolbar and canvas sizing inside modal 2026-02-24 23:46:49 +08:00
745204f2f4 fix(embed): fallback i18n when host app has no vue-i18n plugin 2026-02-24 23:29:48 +08:00
d97ec0df4d fix(embed): wire local pinia into toolbar store usage 2026-02-24 23:20:23 +08:00
f8eb2f6563 refactor(selector): simplify presets with data-driven groups 2026-02-24 20:28:03 +08:00
5e665966db feat(flow): migrate text node to quill rendering and transparent default style 2026-02-24 20:10:30 +08:00
47fc8928d8 feat: 实现矢量节点 MVP 功能
- 扩展 NodeProperties 接口,添加 vector 字段定义
- 创建 VectorNode.vue 组件,使用 SVG Pattern 实现自动平铺
- 创建 VectorNodeModel.ts 数据模型,处理节点初始化和 resize
- 创建 VectorPanel.vue 属性面板,支持图形类型、平铺尺寸、颜色等配置
- 在 FlowEditor.vue 中注册 vectorNode
- 在 ComponentsPanel.vue 中添加到组件库
- 在 PropertyPanel.vue 中注册属性面板

功能特性:
- 支持 5 种图形类型(矩形/椭圆/多边形/路径/自定义SVG)
- 节点缩放时矢量图自动重复平铺
- 可调整平铺尺寸(10-500px)
- 支持填充和描边颜色配置
- 实时预览,属性修改立即生效
2026-02-17 21:50:24 +08:00
9136f8e84b feat: 修复 textNode Label 宽度自适应问题
- 修改 TextNodeModel.ts,动态设置 Label 的 labelWidth 和坐标
- Label 宽度现在跟随节点宽度变化(节点宽度 - 20px)
- 设置 Label 坐标与节点坐标一致,确保 Label 可见
- 限制每个节点只允许一个 Label(isMultiple: false)
- 移除全局 labelWidth 配置,让每个节点自己控制
- 支持文本自动换行(textOverflowMode: wrap)
- 处理数组格式的旧数据兼容性

相关文件:
- src/components/flow/nodes/common/TextNodeModel.ts
- src/components/flow/FlowEditor.vue
- docs/1management/plan.md
2026-02-17 17:19:46 +08:00
777fc2c944 feat: 添加阴阳师和技能选择器,完成资产选择器统一架构迁移
- 新增阴阳师和阴阳师技能资产类型配置
- 添加 54 张阴阳师和技能图片资源
- 将式神和御魂选择器迁移到统一的 assetSelector 架构
- 删除 10 个冗余的独立节点和面板组件
- 统一使用 GenericImageSelector 通用选择器
- 完全实现配置驱动的设计理念
- 减少约 800+ 行重复代码

所有资产类型(式神/御魂/阴阳师/技能)现在都通过单一的 assetSelector 节点和通用选择器处理
2026-02-17 01:39:24 +08:00
40e9dcef78 fix: 修复节点无法缩放的问题
- 修改 normalizeNodeModel 优先使用 model 的实际尺寸而不是 props
- 移除 width/height 变化检查,避免覆盖用户的手动缩放操作
- 在 setProperties 时强制保持 model 的当前尺寸
- 修改 useNodeAppearance 优先使用 node 的实际尺寸
- 移除 applyStyleToModel 调用,尺寸由 LogicFlow 控制
2026-02-17 00:25:15 +08:00
eb26deff72 feat: 简化 TextNode 实现,完全依赖 LogicFlow 原生文本节点能力
- 移除自定义文本编辑逻辑,交由 LogicFlow 和 TextNodeModel 处理
- TextNode.vue 简化为空容器,LogicFlow 自动渲染文本内容
- 保留 TextNodeModel.ts 用于配置文本样式和编辑行为
- 采用模型-视图分离架构,符合 LogicFlow 设计模式
2026-02-14 23:47:31 +08:00
4a4a55110b refactor: 重构属性编辑面板,支持Tab分离和节点类型切换
- 将属性面板分为游戏属性和图像属性两个Tab
- 游戏属性Tab包含节点基本信息、类型切换和特定属性
- 图像属性Tab包含所有样式设置(填充、描边、阴影等)
- 资产选择器节点支持在式神和御魂之间切换
- 切换节点类型时自动清空已选资产
- 优化AssetSelectorPanel,移除重复的资产库选择器
2026-02-14 21:50:51 +08:00
bbcc1f6980 refactor: 简化图层上移下移逻辑为直接 zIndex ±1 2026-02-13 19:34:59 +08:00
9227a61c85 fix: 修复保存后刷新网页图层全变成1的问题
问题原因:
1. LogicFlow 的 render() 方法不会自动应用节点的 zIndex 属性
2. 切换标签时,LogicFlow Label 插件对空 _label 数组处理有误导致渲染失败
3. 渲染失败后节点 zIndex 被重置为默认值 1

解决方案:
1. 在 App.vue 中,render() 后立即从保存的数据中恢复每个节点的 zIndex
2. 在 normalizeGraphData() 中清理空的 _label 数组,避免 Label 插件报错
3. 简化 FlowEditor.vue 中的 normalizeAllNodes(),移除不必要的重新分配逻辑
4. 清理调试日志,保持代码整洁

测试:
- 添加节点并调整图层顺序
- 切换标签页
- 刷新浏览器
- 确认图层顺序保持不变
2026-02-13 19:28:21 +08:00
92aa4094f5 test: 集成 Vitest 测试框架和开发规范
- 安装 vitest, @vue/test-utils, jsdom 等测试依赖
- 配置 vitest.config.js 测试环境
- 添加 schema.test.ts (7个数据结构验证测试)
- 添加 useStore.test.ts (7个状态管理测试)
- 创建测试指南文档 (docs/testing.md)
- 创建测试规范文档 (docs/testing-rules.md)
- 创建开发规范文档 (docs/development-rules.md)
- 创建开发工作流程文档 (docs/1management/workflow.md)
- 添加测试相关 npm scripts (test, test:watch, test:ui, test:coverage)
- 所有测试通过 (14/14)
2026-02-12 23:25:13 +08:00
9397f357d1 右键菜单实现 2026-01-22 22:26:53 +08:00
9e64df5e33 docs: update progress for minimap control and toolbar toggles 2025-12-28 16:30:09 +08:00
c65c880ad8 feat: unify node style schema and add full style editing panel 2025-12-28 15:25:41 +08:00
6f70269322 feat(flow): 增加显示全部按钮并统一可操作节点过滤 2025-12-28 13:08:58 +08:00
93a8eb9ffb temp 2025-12-26 22:33:30 +08:00
869201d08a feat(flow): 支持框选+网格吸附并新增对齐/等距分布操作 2025-12-26 17:53:26 +08:00
2fb7cc2818 截图继承logic-flow插件,水印支持 2025-12-26 16:19:18 +08:00
28b3818011 启用富文本标签 2025-12-26 14:10:21 +08:00
56ca6be482 属性面板拆分 2025-12-26 11:19:28 +08:00
aa585af76e 实现图片节点 2025-12-26 11:05:57 +08:00
2578bf41c8 图层实现 2025-12-25 18:29:41 +08:00
1abd97ff1f 替换为logicflow菜单 2025-12-25 10:42:15 +08:00
f483227f8b 自动恢复工作区,增加重置按钮 2025-12-24 14:39:32 +08:00
651d82a20f Merge branch 'master' into develop 2025-12-04 20:45:36 +08:00
bc261f7b97 添加ur式神:妖刀姬·绯夜猎刃 2025-10-30 15:44:53 +08:00
7a87ca6c03 固定useStore核心功能,调用解耦,优化代码 2025-07-30 17:04:36 +08:00
b904b257e5 代码同步 2025-07-27 16:01:06 +08:00
5ede390132 重新实现拖动功能,其他组件适配 2025-07-17 16:37:29 +08:00
f083f8065b 自定义节点注册,属性编辑对话框交互,持久化配置 2025-07-16 16:17:47 +08:00
99231ce52c FlowEditor.vue重写,数据结构调整,重新实现数据持久化和画布缩放保存 2025-07-11 17:15:25 +08:00
6f5a1304a6 持久化导入导出支持 2025-07-09 14:39:34 +08:00
7d07e98e76 持久化支持 2025-07-08 17:42:42 +08:00
edac10174c 持久化保存 2025-07-03 18:08:20 +08:00
44ff25b366 切换tab时,恢复viewport 2025-07-03 17:40:07 +08:00
ed2050c5c7 支持多标签编辑 2025-07-02 17:38:11 +08:00
51af096f2e 修改拖拽实现 2025-06-30 17:12:52 +08:00
2b55de6352 属性编辑部分调整 2025-06-30 16:34:57 +08:00
767db2282f 增加全局dialog处理逻辑 2025-06-30 16:33:06 +08:00
4d72dc6780 移除冗余代码 2025-06-30 16:11:38 +08:00
057ce85ff3 支持图层处理 2025-06-12 19:34:50 +08:00
45565de5ef 支持组件缩放 2025-05-27 18:22:32 +08:00
a465450bf1 修复式神图标缩放问题 2025-05-23 10:28:39 +08:00
721acb9033 init commit 2025-05-14 13:43:44 +08:00
13db9c4e7b Merge branch 'develop' into feature/yysrank 2025-05-06 09:15:31 +08:00
5bb50f4dbb 支持御魂搜索, 显示式神和御魂名称 2025-03-31 14:50:15 +08:00
69a2cea366 队伍组件化修改 2025-03-31 14:28:18 +08:00