Commit Graph

2999 Commits

Author SHA1 Message Date
k88936 79d3e5e6de 保留颜色草稿卸载时的修改
组件卸载前提交仍未关闭的颜色草稿,避免切换面板或删除组件导致颜色丢失
2026-09-03 13:17:15 +08:00
k88936 08caa1f29f 防止资源比较循环递归溢出
为 sameResource 增加对象对访问跟踪,遇到循环结构时安全终止递归
2026-09-03 13:15:49 +08:00
k88936 6b332e8c12 阻止快捷键重复触发历史操作
忽略 keydown 重复事件,避免长按撤销或重做键耗尽历史记录
2026-09-03 13:15:17 +08:00
k88936 cb86ab8be9 减少编辑器历史快照复制
提交历史时复用已克隆的 nextState,避免每次编辑产生冗余深拷贝
2026-09-03 13:15:01 +08:00
k88936 071998fee9 提取编辑器历史上限常量
为撤销历史容量 100 增加命名常量,便于理解和调节内存权衡
2026-09-03 13:14:43 +08:00
k88936 d60d93a327 简化预览变换查找
单次读取节点预览变换,移除重复 Map 查找和非空断言
2026-09-03 13:14:18 +08:00
k88936 e75450357d 优化预览变换回退分配
复用空的预览变换映射,避免节点递归渲染重复分配
2026-09-03 13:14:00 +08:00
k88936 d6f0c2642f 提交颜色选择器结束态草稿
Project CI / Repository checks (pull_request) Failing after 19s
Project CI / Backend tests (pull_request) Failing after 19s
Project CI / Frontend tests (pull_request) Successful in 2m41s
Project CI / Native shell tests (pull_request) Successful in 14m54s
使用 RgbaColorPicker 的 onChangeEnd 处理指针与键盘结束\n关闭颜色弹层时提交仍存在的草稿
2026-09-03 12:17:36 +08:00
k88936 074ee615ae 更新节点拖拽提交测试
断言 pointermove 仅更新预览\n断言 pointerup 才提交一次节点变换
2026-09-03 12:17:25 +08:00
k88936 d44c924f5e 简化 UI 编辑器历史提交边界
移除撤销事务 API 与额外事务状态

让绑定每个 batch 独立提交一条撤销记录

同步更新规格和独立提交测试
2026-09-03 12:14:21 +08:00
k88936 b07c8a5e25 优化编辑器状态相等性检查
用可提前退出的递归比较替代完整状态序列化\n减少每次编辑提交的无谓 JSON 字符串构造
2026-09-03 12:00:36 +08:00
k88936 37c465dbc3 稳定编辑器快捷键监听
按稳定的撤销重做回调绑定全局监听\n尊重已被其他处理器阻止的键盘事件
2026-09-03 11:54:59 +08:00
k88936 95f5904b92 放宽编辑器快捷键焦点限制
仅将文本输入控件视为可编辑目标\n保持工具栏按钮聚焦时仍可使用撤销重做快捷键
2026-09-03 11:54:27 +08:00
k88936 e616e2c899 清理透明度输入的颜色草稿
透明度修改提交前显式清除颜色草稿\n避免无效更新后残留未提交颜色
2026-09-03 11:51:58 +08:00
k88936 f79ccccf44 稳定预览手势清理回调
通过 ref 读取最新预览回调\n避免回调身份变化时重复取消进行中的手势
2026-09-03 11:51:34 +08:00
k88936 093a2ace76 优化预览变换状态更新
仅在预览变换实际变化时创建新 Map\n避免取消不存在手势时触发预览树重渲染
2026-09-03 11:51:07 +08:00
k88936 90623f136d 登记 UI 编辑器撤销重做规范
将撤销重做规格加入文档总览入口
2026-09-03 11:08:52 +08:00
k88936 dc0ea0eda0 接入 UI 编辑器撤销重做入口
在编辑器头部增加撤销与重做按钮及禁用态

增加桌面 Cmd/Ctrl 快捷键并保留文本控件原生行为
2026-09-03 11:07:19 +08:00
k88936 0544e78996 修正清空编辑器历史边界
清空编辑器时重置撤销与重做栈

补充清空操作不会进入历史的测试
2026-09-03 11:06:47 +08:00
k88936 e379459820 降低 UI 编辑器颜色选择器提交频率
颜色拖动期间使用本地草稿预览

指针释放时一次提交最终颜色 State
2026-09-03 11:05:58 +08:00
k88936 15caf1cafc 收敛 UI 编辑器锁与历史事务
新增统一的加锁并包裹历史事务操作

将 AI 建议、识别、合并和批量绑定改用统一入口
2026-09-03 11:05:04 +08:00
k88936 f79724cb17 实现 UI 编辑器 State 撤销重做核心
在统一 State 提交入口增加 100 条快照历史与 no-op 过滤

提供撤销、重做、事务分组及加载重置历史 API

补充 State 历史、事务回滚和加载清理测试
2026-09-03 11:01:21 +08:00
k88936 c519f65ac2 补充 UI 编辑器撤销重做规范
明确撤销与重做的 State 范围、事务边界和生命周期

明确连续控件与节点变换的低频提交规则

明确资产文件、副作用、快捷键和验收标准
2026-09-03 10:58:54 +08:00
k88936 8a18b1b181 调整 UI 编辑器节点变换为松开时提交
Project CI / Repository checks (pull_request) Failing after 16s
Project CI / Frontend tests (pull_request) Failing after 2m3s
Project CI / Backend tests (pull_request) Failing after 20s
Project CI / Native shell tests (pull_request) Failing after 4m30s
拖动和缩放期间仅更新预览临时变换

指针松开时提交最终变换,取消操作不写入 State

补充 UI 编辑器拖动变换提交边界文档
2026-09-03 10:51:52 +08:00
k88936 422c8931d6 Feat/AGC错误报告 (#240)
Project CI / Repository checks (push) Successful in 2m45s
Project CI / Frontend tests (push) Successful in 3m22s
Project CI / Backend tests (push) Successful in 5m53s
Project CI / Native shell tests (push) Successful in 16m45s
实现:
在rust内存里维护错误事件队列, webview调用tauri command传入, 后台任务agent工具等直接插入
把rust , webview console的日志统一写到AppData文件夹下的(滚动保存的)日志文件.
rust对传入的错误进行筛选,脱敏, 防抖,后通知前端提醒用户.
用户提醒是一个不阻塞的小UI, 展开后可以选择错误上报, 可以附加文字描述
上传时附带最近日志, 错误堆栈等信息

元数据存在数据库, 考虑到字符串信息很难查询, 所以在api server打包成zip存在OSS.
管理页面新增错误报告的查看页面

![shotmd-1788328504.jpg](/attachments/641b43c8-deed-47d8-8c78-36adb9a2548f)
![shotmd-1788328495.jpg](/attachments/33c6ada3-dd4d-44b6-9859-f18f944eb653)
![shotmd-1788328222.jpg](/attachments/59267df9-f624-4e47-bb9b-b69d77f595c4)
![shotmd-1788328230.jpg](/attachments/63ea6a86-9a51-412b-a98c-dce454bcc968)

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/240
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-09-03 10:02:05 +08:00
kdletters aad9be8274 Merge pull request '移除 AGC Skill 读取工具' (#256) from fix/remove-read-skill-tool into master
Project CI / Frontend tests (push) Successful in 3m18s
Project CI / Repository checks (push) Successful in 2m37s
Project CI / Backend tests (push) Successful in 6m59s
Project CI / Native shell tests (push) Successful in 19m4s
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/256
Reviewed-by: 段舒康 <kdletters@qq.com>
2026-09-02 20:04:59 +08:00
k88936 d93dd39e23 Merge remote-tracking branch 'origin/master' into fix/remove-read-skill-tool
Project CI / Repository checks (pull_request) Successful in 3m24s
Project CI / Frontend tests (pull_request) Successful in 3m47s
Project CI / Native shell tests (pull_request) Successful in 17m20s
Project CI / Backend tests (pull_request) Successful in 7m20s
2026-09-02 19:15:44 +08:00
k88936 1e67728953 清理已移除工具名称残留
删除 unknown-tool 测试中对旧 AGC 工具名的硬编码引用
2026-09-02 19:12:38 +08:00
k88936 6fe91a169c 移除 AGC Skill 受控引用读取工具
删除 agc_read_skill_resource 的实现、MCP 暴露、审计分支与专用测试

将内置 Skill references 改为 Codex 原生相对路径读取

同步 Skill manifest 指纹、Runtime 提示词与 AGC 项目文档

保留既有 references 安装与隔离 HOME 校验
2026-09-02 19:00:31 +08:00
suzmii 8932f0b27c 修复泥点紧凑显示向上舍入 (#255)
Project CI / Repository checks (push) Successful in 2m59s
Project CI / Frontend tests (push) Successful in 3m15s
Project CI / Backend tests (push) Successful in 7m57s
Project CI / Native shell tests (push) Successful in 17m13s
## 变更内容

- 将泥点紧凑显示从四舍五入改为按一位小数向下截断;
- “万”和“亿”两个紧凑单位分支使用一致规则,不会再显示出高于实际余额的数值;
- `12,999` 由 `1.3万` 改为 `1.2万`,`19,999` 由 `2.0万` 改为 `1.9万`;
- 低于 `1万` 的完整数字显示和非紧凑模式保持不变。

## 前后对照

| 实际泥点 | 修改前 | 修改后 |
| --- | --- | --- |
| `9,999` | `9,999` | `9,999` |
| `12,999` | `1.3万` | `1.2万` |
| `19,999` | `2.0万` | `1.9万` |

## 排查范围

- 仓库内泥点紧凑缩写只有 `formatMudPointCount` 一处;
- 该函数仅包含“万”和“亿”两个单位分支,本次均已修改;
- 其它泥点展示使用完整整数,不存在同类单位舍入问题。

## 验证

- `npm run check:encoding`
- `git diff --check`
- 按需求未新增测试
- 首轮 Frontend CI 唯一失败为 `AdminEditorAssetQueryPage.test.tsx` 既有大量缩略图换签用例超时,与本次格式化改动无关;新提交已触发 CI 重跑

Closes #254

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/255
Reviewed-by: 段舒康 <kdletters@qq.com>
Co-authored-by: suzmii <suzmii@qq.com>
Co-committed-by: suzmii <suzmii@qq.com>
2026-09-02 18:40:17 +08:00
kdletters 97b0231afc 优化 AGC 会话恢复超时与 Runner 启动校验 (#253)
Project CI / Frontend tests (push) Successful in 4m33s
Project CI / Repository checks (push) Successful in 4m48s
Project CI / Backend tests (push) Successful in 8m38s
Project CI / Native shell tests (push) Successful in 18m37s
## 变更内容

- 增加启动会话恢复阶段、等待时间和可操作错误提示。
- 为客户端 HTTP 请求增加默认超时、AbortController 取消和可选长请求豁免。
- 会话恢复失败后提供重试,并隔离旧请求的迟到结果。
- 让 Runner 启动探测严格遵守剩余启动时间预算。
- 补充前端、HTTP、Runner 定向测试并同步技术方案。

## 验证

- npm run typecheck --workspace @genarrative/ai-game-creator-shell
- npm run check:encoding
- clientHttp 定向测试
- AuthenticatedClient 定向测试
- Runner 启动探测测试
- cargo fmt --check
- git diff --check

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/253
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
2026-09-02 18:15:38 +08:00
k88936 5de9554426 Feat/ui编辑器与code agent整合 (#237)
Project CI / Repository checks (push) Successful in 3m36s
Project CI / Frontend tests (push) Successful in 4m30s
Project CI / Native shell tests (push) Successful in 18m33s
Project CI / Backend tests (push) Successful in 8m12s
实现:
在ui编辑器保存旁增加一个保存并生成代码(js)
生成的是js字符串形式的html, 在整个js前有文档说明
code agent使用js直接注入已经生成的 export的html片段,
每次保存会直接覆盖这些html片段, 依靠动态注入实现编辑器的微调反映到游戏中.
每个节点提供了稳定的id用于code agent在生成html的基础上进行功能实现, 节点增删

目前是作为一个自说明的文件直接让code agent阅读使用, 都是用户调整保存顺便生成, 不提供工具调用.
希望以skill的形式使用

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Co-authored-by: 孔令弘 <ink29535@proton.me>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/237
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-09-02 16:49:19 +08:00
kdletters fe35fcf264 修复 AGC Windows NSIS 打包工具缓存
Project CI / Backend tests (push) Successful in 6m48s
Project CI / Repository checks (push) Successful in 2m46s
Project CI / Frontend tests (push) Successful in 3m16s
Project CI / Native shell tests (push) Successful in 15m39s
启用 Tauri 项目级 NSIS 工具缓存,避开 Jenkins systemprofile AppData。

补充 Windows 配置门禁,防止 useLocalToolsDir 回退。

增强 Jenkins 预检与失败诊断,记录实际用户和 makensis 路径。

同步 AGC 发布文档与 NSIS 排障记忆。
2026-09-02 15:24:07 +08:00
lhk229 65d7a57eb7 AGC对主站的请求添加header (#241)
Project CI / Frontend tests (push) Successful in 4m0s
Project CI / Repository checks (push) Successful in 4m4s
Project CI / Backend tests (push) Successful in 8m40s
Project CI / Native shell tests (push) Successful in 17m56s
Project CI / Frontend tests (pull_request) Successful in 5m16s
Project CI / Repository checks (pull_request) Successful in 6m57s
Project CI / Backend tests (pull_request) Successful in 6m31s
Project CI / Native shell tests (pull_request) Successful in 16m57s
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/241
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-09-02 14:39:01 +08:00
kdletters a75dc94f20 稳定 GDD 审批响应标识测试
Project CI / Repository checks (push) Successful in 3m2s
Project CI / Frontend tests (push) Successful in 3m46s
Project CI / Backend tests (push) Successful in 7m10s
Project CI / Native shell tests (push) Successful in 16m58s
等待审批提交按钮恢复可用后再触发重试

消除慢环境下 React 状态更新未完成导致的偶发红灯
2026-09-02 11:36:00 +08:00
kdletters 4a2f5be6c5 同步 AGC 更新下载域名门禁
Project CI / Repository checks (push) Successful in 3m2s
Project CI / Backend tests (push) Successful in 7m7s
Project CI / Frontend tests (push) Failing after 2m54s
Project CI / Native shell tests (push) Successful in 17m15s
允许受信任 OSS 更新资源域名

保持客户端更新网络范围与运行时配置一致
2026-09-02 11:14:47 +08:00
kdletters cb737cae94 修复 AGC Jenkins 空参数处理
Project CI / Repository checks (push) Successful in 3m44s
Project CI / Frontend tests (push) Successful in 4m34s
Project CI / Backend tests (push) Successful in 6m55s
Project CI / Native shell tests (push) Failing after 16m37s
COMMIT_HASH 为空时按空字符串处理

OSSUTIL_BIN 为空时按默认命令处理

补充 Windows 构建节点参数行为说明
2026-09-02 11:02:30 +08:00
kdletters eb14cec0b8 修复客户端更新代码格式
Project CI / Frontend tests (push) Successful in 4m4s
Project CI / Backend tests (push) Successful in 8m3s
Project CI / Repository checks (push) Successful in 2m48s
Project CI / Native shell tests (push) Failing after 17m21s
同步 Rust 更新下载与重启逻辑的 rustfmt 输出
2026-09-01 20:17:42 +08:00
kdletters 89e021f52b 补齐 H5 导航静态断言格式兼容
兼容原生页面 URL 调用对象被格式化拆行
2026-09-01 20:16:51 +08:00
kdletters 3e8e238286 统一原生壳静态断言格式兼容
所有源码片段断言统一兼容格式化拆行

保留严格语义匹配并归一化空白与标点
2026-09-01 20:16:51 +08:00
lhk229 b14e42d9bb AGC支持安装扩展skill、MCP (#233)
Project CI / Repository checks (push) Failing after 1m45s
Project CI / Frontend tests (push) Successful in 4m1s
Project CI / Backend tests (push) Successful in 6m55s
Project CI / Native shell tests (push) Failing after 16m22s
Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/233
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-09-01 20:13:48 +08:00
kdletters a7e810b999 添加 AGC 客户端更新检查与下载能力 (#230)
Project CI / Backend tests (push) Successful in 7m40s
Project CI / Native shell tests (push) Failing after 18m53s
Project CI / Repository checks (push) Failing after 1m11s
Project CI / Frontend tests (push) Failing after 2m27s
实现 AGC 启动版本检测与 OSS 安装包下载。

- 每次客户端打开时从 OSS latest.json 检查新版本
- 新版本提示支持 releaseNotes,并通过 Tauri 命令下载到系统下载目录
- 下载地址限制受信任 OSS、HTTPS、大小与可选 SHA-256 校验
- 补充 Tauri capability/CSP、单测和发布文档

Closes #224

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/230
2026-09-01 19:23:55 +08:00
kdletters 59a76be3c4 补齐微信认证静态断言格式兼容
Project CI / Native shell tests (push) Failing after 19m0s
Project CI / Repository checks (push) Successful in 2m57s
Project CI / Frontend tests (push) Successful in 3m24s
Project CI / Backend tests (push) Successful in 7m56s
兼容认证边界测试被格式化拆行后的源码匹配
2026-09-01 19:17:06 +08:00
kdletters a187d78a1c 修复原生壳静态断言格式兼容
Project CI / Repository checks (push) Successful in 4m5s
Project CI / Frontend tests (push) Successful in 4m59s
Project CI / Backend tests (push) Successful in 8m12s
Project CI / Native shell tests (push) Failing after 18m0s
放宽能力文档方法表的 Markdown 空白解析

统一源码片段断言的空白、括号与尾逗号归一化
2026-09-01 18:37:41 +08:00
kdletters 80f34d062d 修复原生壳能力检查换行解析
Project CI / Repository checks (push) Successful in 2m40s
Project CI / Frontend tests (push) Successful in 4m2s
Project CI / Backend tests (push) Successful in 7m43s
Project CI / Native shell tests (push) Failing after 20m9s
允许能力数组导出等号后的格式化空白
2026-09-01 17:28:30 +08:00
kdletters b489244e03 修复原生壳 CI 格式化兼容
Project CI / Frontend tests (push) Successful in 3m44s
Project CI / Repository checks (push) Successful in 3m1s
Project CI / Backend tests (push) Successful in 7m54s
Project CI / Native shell tests (push) Failing after 17m32s
放宽移动壳能力数组导出解析的空白匹配

兼容格式化后的移动壳源码断言换行

放宽桌面壳能力数组导出解析的空白匹配
2026-09-01 17:00:44 +08:00
kdletters 669405c8b8 忽略所有 Rust target 目录
Project CI / Repository checks (push) Successful in 3m35s
Project CI / Frontend tests (push) Successful in 4m21s
Project CI / Native shell tests (push) Failing after 3m19s
Project CI / Backend tests (push) Successful in 7m56s
将 target 忽略规则扩展到仓库任意层级
2026-09-01 16:30:15 +08:00
kdletters 071faa482c 统一 Rust 与 TypeScript 格式化门禁
纳入 AGC Cargo workspace 的统一 rustfmt 检查与格式化入口

完成项目 TypeScript/Prettier 与 Rust 全量格式化

修复 Pingora expected executable 门禁的空白敏感误报

同步开发运维文档与 AGC skill pack 格式化忽略规则
2026-09-01 16:28:34 +08:00
k88936 ae79d50b14 Fix/修复ui-editor调用llm与实际配置不一致 (#235)
Project CI / Repository checks (push) Successful in 2m54s
Project CI / Frontend tests (push) Successful in 4m56s
Project CI / Backend tests (push) Successful in 6m39s
Project CI / Native shell tests (push) Successful in 14m28s
复用统一的LLM调用, 原来的方法内部会默认不stream传输,
一些上游要求流式传输会出现问题

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/235
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-09-01 14:35:45 +08:00
suzmii f0142f7019 Close213/215 本地资源注册与后台表查询 (#232)
Project CI / Repository checks (push) Successful in 4m8s
Project CI / Frontend tests (push) Successful in 4m52s
Project CI / Backend tests (push) Successful in 6m35s
Project CI / Native shell tests (push) Successful in 16m33s
## 关联 Issue

- Close #213:补充本地资源注册类型
- Close #215:后台表查询添加字段查询

## 背景

本 PR 合并处理两个规模较小、已完成统一 review 的客户端与后台能力改动,整体已基于远端最新 master。

## 本地资源注册(#213)

- AGC 本地项目资源支持图片、字体、音频、视频、文档和代码类型。
- 支持 PNG/JPEG/WEBP/GIF/SVG/AVIF/BMP、TTF/OTF/WOFF/WOFF2、MP3/WAV/OGG/FLAC/M4A/AAC/OPUS、MP4/WEBM/MOV,以及常见文本、配置和源码扩展名。
- 同步更新 Direct Tool Bridge、MCP schema、Runtime/Provider Prompt、AGC Skill 文档和技术方案。
- 保留项目相对路径、敏感目录、符号链接、文件大小、字体解析、UTF-8、项目锁、manifest/revision 和幂等语义。
- 修复从 game 等目录复制到 assets/uploads 时扩展名退化为 .bin 的问题。

## 后台表查询(#215)

- 使用结构化筛选条件替换手写筛选 JSON。
- 支持多条件、比较、包含、前后缀、列表、空值和旧 JSON object 兼容。
- 优化预览表格、详情复制、Toast、JSON 预览和排序交互。
- 修复数字范围筛选,包括数据库字符串化数字的数值比较。
- 补充前后端回归测试与文档。

## 验证

- AGC 本地资源导入测试:6/6
- AGC Direct/MCP 工具测试:8/8
- 本地资源扩展名与 Prompt 映射回归测试通过
- 后台 admin 数据库测试:17/17
- 后台页面 Vitest:16/16
- `npm run admin-web:typecheck`
- `npm run admin-web:build`
- `npm run check:encoding`
- `git diff --check`
- `rustfmt --edition 2024 --check server-rs/crates/api-server/src/admin.rs`

## 限制

- 未执行真实生产 SpacetimeDB、OSS 或其它付费服务验证。
- Native shell CI 及其它 PR CI 以最新 head 的远端结果为准。
- 当前 PR 保持 WIP,待 reviewer 基于最新 head 重新 review。

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/232
Co-authored-by: 董羽秦 <suzmii@qq.com>
Co-committed-by: 董羽秦 <suzmii@qq.com>
2026-09-01 14:27:39 +08:00