Commit Graph

171 Commits

Author SHA1 Message Date
dc21ea6b3b docs(plan): record latest fixes 2026-02-26 00:34:32 +08:00
f0507bc1b2 fix(selector): preserve image aspect ratio in dialog 2026-02-26 00:06:33 +08:00
aa4554943c fix(embed): stabilize yys editor layout sizing in modal 2026-02-25 23:29:18 +08:00
55376651bf fix(embed-layout): stretch canvas area and pin property panel to right 2026-02-25 00:22:07 +08:00
4479c3b7f4 fix(embed): mount dialog manager for selector dialogs 2026-02-25 00:16:32 +08:00
2e305f889e fix(embed): auto-install element-plus and include theme css in lib entry 2026-02-25 00:07:45 +08:00
1173201c30 fix(embed-toolbar): hide release/contact modules in embedded mode 2026-02-24 23:59:13 +08:00
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
2e61397758 fix(build): make yys-editor build output library entry files 2026-02-24 22:17:35 +08:00
f450d7d485 merge: resolve pull conflicts with origin/develop 2026-02-24 21:16:46 +08:00
1f45f62161 feat: add flow capability levels and plugin injection API 2026-02-24 21:04:36 +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
e1f9a0453c wiki集成 2026-02-22 10:34:18 +08:00
ef0ed2f229 1.0.4 2026-02-20 22:48:07 +08:00
0d1500e3cd fix: bundle all dependencies except vue/element-plus/pinia to avoid ESM interop issues 2026-02-20 22:47:52 +08:00
533f1f40bc 1.0.3 2026-02-20 22:00:47 +08:00
92fbf6d178 fix: remove classnames from external to avoid ESM interop issues 2026-02-20 22:00:32 +08:00
c72782f53a 1.0.2 2026-02-20 21:05:32 +08:00
603c5ba431 chore: remove package-lock.json 2026-02-20 21:05:23 +08:00
d927378965 fix: externalize classnames to fix import issues 2026-02-20 21:04:26 +08:00
15bae3be81 feat: 完成组件化改造 - 支持作为可嵌入组件使用
- 创建 YysEditorEmbed.vue 嵌入式组件
- 实现 preview/edit 双模式
- 配置 Vite library mode 构建
- 生成 ES Module + UMD + CSS 构建产物
- 完善设计文档和使用文档
- 更新 plan.md 标记阶段 2 完成

构建产物:
- dist/yys-editor.es.js (155KB, gzip: 35KB)
- dist/yys-editor.umd.js (112KB, gzip: 31KB)
- dist/yys-editor.css (69KB, gzip: 33KB)

相关文档:
- docs/2design/ComponentArchitecture.md
- docs/3build/YysEditorEmbed.md
- docs/3build/EMBED_README.md
- docs/4test/BUILD_TEST_REPORT.md
2026-02-20 17:23:59 +08:00
92557d553b docs: 取消导出增强计划
- 步骤 9(资源与导出增强)标记为已取消
- 原因:实现必要性不大
- 调整下一步行动计划优先级
- 长期目标聚焦愿景二(联动 wiki/攻略站)
2026-02-18 11:41:56 +08:00
8bae1509b2 docs: 更新项目计划,标记矢量节点 MVP 已完成
- 愿景一完成度:100%(步骤 1-10 全部完成)
- 总体完成度:95% -> 98%
- 更新画布模块:新增 vectorNode 注册说明
- 更新组件库模块:新增 vectorNode 组件
- 更新属性面板模块:新增 VectorPanel
- 更新实施进度:步骤 8 标记为完成
- 更新下一步行动计划:矢量节点 MVP 移至低优先级增强功能
2026-02-17 21:53:51 +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
3091ef063c docs: 更新 plan.md,标记 textNode 富文本编辑完成
- 总体完成度:90% → 95%
- 右侧属性面板:85% → 100%
- textNode 基于 LogicFlow Label 插件实现富文本编辑
- 支持文本自动换行和样式属性编辑
- 更新下一步行动计划,vectorNode MVP 为高优先级
2026-02-17 17:49:42 +08:00
63b63ed5eb docs: 更新 plan.md,记录 textNode Label 宽度修复
- 更新画布模块完成度为 100%
- 添加 Label 插件集成说明
- 记录 textNode 动态宽度调整功能
2026-02-17 17:20:35 +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
d205ba89bd docs: 更新项目进度 - textNode 已完成注册
- 总体完成度:85% -> 86%
- 愿景一完成度:75% -> 78%
- 画布模块:90% -> 92%
- 左侧组件库:65% -> 70%
- 步骤1(节点最小化打通)完全完成
- 下一步优先级:撤销重做系统 > textNode 富文本编辑
2026-02-14 23:50:01 +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
c4d701b443 Merge branch 'master' into develop 2026-02-12 21:27:55 +08:00
8e3f8c2283 docs: 添加项目文档
- 添加项目相关文档和说明
2026-02-11 18:51:07 +08:00
87615a805d feat: 更新式神数据配置文件
- 更新所有式神的数据配置
- 包含所有 8 种稀有度类型 (SSR/SP/UR/SR/R/N/L/G)
- 总计 264 个式神数据
2026-02-11 18:50:55 +08:00
55e5fa71bd feat: 添加 L 和 G 类型式神图片资源
- 添加 L 类型(联动)式神图片 23 张
- 添加 G 类型(鬼王)式神图片 17 张
2026-02-11 18:50:42 +08:00
b71e0d4964 chore: 更新式神图片资源
- 更新 SSR/SP/SR/R/N 各稀有度式神图片
2026-02-11 18:50:28 +08:00
b0cb7a7824 feat: 添加新式神图片资源
- 添加 SSR 式神: 596, 597
- 添加 SP 式神: 598
- 添加 SR 式神: 571
2026-02-11 18:50:14 +08:00
fb28cbb87d chore: 添加式神数据抓取脚本配置文件
- 添加 scripts 目录的 package.json 和依赖配置
- 添加 README.md 说明文档
- 添加基础版本的抓取脚本
2026-02-11 18:49:56 +08:00
d69349dc20 chore: 更新 .gitignore 忽略不必要的文件
- 添加 .claude 和 .serena 目录
- 添加 scripts/node_modules 目录
2026-02-11 18:49:44 +08:00
ba264981c3 fix: 修复式神抓取脚本缺失L和G类型的问题
- 添加 type=ld (L类型) 和 type=gt (G类型) 的抓取支持
- 将 RARITY_TYPES 改为对象数组,支持 URL 参数和目录名映射
- 修复图片保存路径,确保 L 和 G 类型图片正确保存到对应目录
- 现在可以完整抓取所有 8 种稀有度类型的式神数据 (SSR/SP/UR/SR/R/N/L/G)
2026-02-11 18:38:20 +08:00
9397f357d1 右键菜单实现 2026-01-22 22:26:53 +08:00
066637c1fa 更新进度 2026-01-22 22:06:38 +08:00
9e64df5e33 docs: update progress for minimap control and toolbar toggles 2025-12-28 16:30:09 +08:00