k88936
|
fe4e952853
|
更新 UI 文档资源编辑器入口
将 ui-design-doc 资源纳入选中资源的 UI 编辑器按钮判定
保留 ui-prototype 图片资源的编辑器桥接入口
|
2026-09-14 21:04:08 +08:00 |
|
k88936
|
18654b6806
|
同步 UI 文档资产共享契约与前端识别
共享契约新增 ui-design-doc 分类及中英文映射
前端编辑器与资源桥接严格识别文档资产
更新技术方案、实施计划和长期决策记录
|
2026-09-14 20:45:04 +08:00 |
|
k88936
|
ee7d00c0b1
|
统一 UI 编辑器文档资产类型
新增 ui-design-doc 与 application/json 常量
创建、桥接、工作流和持久化统一使用严格资产类型
|
2026-09-14 20:44:49 +08:00 |
|
k88936
|
9cd1a94369
|
接入 UI 文档引用代码上下文生成
Direct Codex 引用 ui-design-doc 时生成带文档的 JS 文件
生成成功或失败信息追加到当前 prompt
补充成功、失败与 ui-prototype 隔离测试
|
2026-09-14 20:44:49 +08:00 |
|
k88936
|
470e85c0ff
|
Add UI-specific prompt rendering for design assets in resource references
|
2026-09-14 20:44:49 +08:00 |
|
lhk229
|
a5dfa322cb
|
Merge branch 'master' into fix/cant-pan-after-ui-editor
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Successful in 5m12s
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Successful in 5m18s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Successful in 5m22s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Successful in 5m23s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m39s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 3m21s
Project CI / Frontend tests (pull_request) Successful in 4m18s
Project CI / Native shell tests (pull_request) Successful in 6m7s
Project CI / Repository checks (pull_request) Successful in 3m1s
Project CI / Backend tests (pull_request) Successful in 7m41s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m4s
|
2026-09-14 19:56:40 +08:00 |
|
k88936
|
174b6dd347
|
抽取共享 ResizeObserver 测试桩
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Successful in 4m59s
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust smoke (pull_request) Has been cancelled
让项目开发测试复用统一 observer 安装 helper
保留 observer 创建与断开计数断言
|
2026-09-14 19:24:23 +08:00 |
|
lhk229
|
a7c40da6cf
|
修复自动切分问题节点恢复与临时文件清理
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Successful in 5m3s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Successful in 4m46s
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Successful in 4m46s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Successful in 4m4s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m33s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 2m3s
Project CI / Frontend tests (pull_request) Successful in 4m13s
Project CI / Repository checks (pull_request) Successful in 3m26s
Project CI / Native shell tests (pull_request) Successful in 6m30s
Project CI / Backend tests (pull_request) Successful in 7m27s
Project CI / AI game creator shell web tests (pull_request) Successful in 3m14s
Project CI / AI game creator shell Rust shard 1/4 (push) Has been cancelled
Project CI / AI game creator shell Rust shard 2/4 (push) Has been cancelled
Project CI / AI game creator shell Rust shard 3/4 (push) Has been cancelled
Project CI / AI game creator shell Rust shard 4/4 (push) Has been cancelled
Project CI / AI game creator shell Rust smoke (push) Has been cancelled
Project CI / AI game creator shell Rust crates (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
将 problematic_nodes 纳入失败判定并保留恢复状态
清理完成或放弃流程产生的 processed 和 binding 临时文件
|
2026-09-14 19:11:27 +08:00 |
|
k88936
|
a0b5a84d61
|
Merge branch 'master' into fix/cant-pan-after-ui-editor
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust smoke (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Has been cancelled
|
2026-09-14 19:00:47 +08:00 |
|
k88936
|
411f49a65d
|
Merge pull request 'UI编辑器自动分图层切图标' (#304) from feat/ui-editor-auto-seperation into master
Project CI / AI game creator shell Rust shard 1/4 (push) Successful in 5m9s
Project CI / AI game creator shell Rust shard 2/4 (push) Successful in 4m33s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m31s
Project CI / AI game creator shell Rust shard 3/4 (push) Successful in 4m27s
Project CI / AI game creator shell Rust shard 4/4 (push) Successful in 4m26s
Project CI / AI game creator shell Rust crates (push) Successful in 2m0s
Project CI / Frontend tests (push) Successful in 4m14s
Project CI / Repository checks (push) Successful in 3m25s
Project CI / Backend tests (push) Failing after 5m18s
Project CI / Native shell tests (push) Successful in 6m55s
Project CI / AI game creator shell web tests (push) Successful in 3m17s
Reviewed-on: #304
|
2026-09-14 18:59:00 +08:00 |
|
k88936
|
a8aacb27bd
|
修正资源画布回归测试 IPC 桩
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust smoke (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
使用 manifest projectId 匹配真实布局读取契约
补充初始化布局更新命令回执
|
2026-09-14 18:53:52 +08:00 |
|
kdletters
|
e8403e547b
|
补齐游戏从策划到成品的完整生产流程
Project CI / AI game creator shell Rust shard 1/4 (push) Successful in 5m15s
Project CI / AI game creator shell Rust shard 2/4 (push) Successful in 4m33s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m33s
Project CI / AI game creator shell Rust shard 3/4 (push) Successful in 4m29s
Project CI / AI game creator shell Rust shard 4/4 (push) Successful in 4m19s
Project CI / AI game creator shell Rust crates (push) Successful in 1m53s
Project CI / Frontend tests (push) Successful in 4m10s
Project CI / Repository checks (push) Successful in 3m19s
Project CI / Native shell tests (push) Successful in 6m39s
Project CI / Backend tests (push) Successful in 7m27s
Project CI / AI game creator shell web tests (push) Successful in 3m6s
新增 AGC 完整游戏生产 workflow Skill,定义策划、资源、实现、构建、试玩和交付阶段。
将真实美术生成、处理、登记和接入从可选提示改为新游戏交付链路要求。
同步 Skill Pack 清单、系统提示、测试契约和实施计划文档。
|
2026-09-14 18:43:12 +08:00 |
|
lhk229
|
2b5ce24a97
|
Merge branch 'master' into feat/ui-editor-auto-seperation
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Successful in 4m48s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Successful in 4m21s
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Successful in 4m16s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m33s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Successful in 3m55s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 2m52s
Project CI / Frontend tests (pull_request) Successful in 4m10s
Project CI / Repository checks (pull_request) Successful in 3m14s
Project CI / Native shell tests (pull_request) Successful in 6m35s
Project CI / Backend tests (pull_request) Successful in 7m32s
Project CI / AI game creator shell web tests (pull_request) Successful in 2m58s
|
2026-09-14 18:31:38 +08:00 |
|
k88936
|
c485ce94a1
|
修复 UI 编辑器返回后资源画布平移
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust smoke (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
资源管理卸载重挂时重新绑定画布 wheel 监听
补充 UI 编辑器返回后的资源画布平移回归用例
记录资源画布事件监听重挂排障经验
|
2026-09-14 18:30:33 +08:00 |
|
lhk229
|
25769ad5e8
|
更新 AGC 构建版本
同步 AI Game Creator Shell 的包、Tauri 和锁文件版本
|
2026-09-14 18:15:12 +08:00 |
|
k88936
|
b082addc34
|
Merge remote-tracking branch 'origin/master' into feat/ui-editor-auto-seperation
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Successful in 5m1s
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Successful in 4m35s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m31s
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Successful in 4m42s
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Successful in 4m38s
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m49s
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
|
2026-09-14 17:41:36 +08:00 |
|
kdletters
|
2566ae705f
|
AGC 壳 Rust 套件改为「一片一个 job」,客户端 Rust 关键路径压到 7 分钟以内
Project CI / AI game creator shell Rust shard 2/4 (push) Successful in 3m53s
Project CI / AI game creator shell Rust shard 1/4 (push) Successful in 4m11s
Project CI / AI game creator shell Rust shard 3/4 (push) Successful in 4m6s
Project CI / AI game creator shell Rust shard 4/4 (push) Successful in 4m2s
Project CI / AI game creator shell Rust smoke (push) Successful in 1m26s
Project CI / AI game creator shell Rust crates (push) Successful in 2m21s
Project CI / Backend tests (push) Successful in 6m22s
Project CI / Native shell tests (push) Successful in 5m25s
Project CI / Repository checks (push) Successful in 2m17s
Project CI / Frontend tests (push) Successful in 2m58s
Project CI / AI game creator shell web tests (push) Successful in 2m6s
上一轮把 2466 条 bin target 单测切成 4 片放在同一个 job 内多进程并行,run 2102 证明这条路
不通:门禁步骤跑满 18 分钟仍未结束,比整套串行的 507 秒还慢——同一容器内这几片共享
HOME、target 目录与固定临时路径,会互相拖慢。这一轮改成按 job 拆分。
- run-rust-shell-test-shards.mjs 新增 --shard-index=<i>:只跑第 i 片,供 CI 的每个分片 job
使用;覆盖自校验(片并集等于 --list 全集且互斥)仍针对全集执行,所以每个 job 都会
发现分片规则改动,不会被"只跑一片"绕过。负例 --shard-index 超出 --shards 立即失败。
不传 --shard-index 时行为不变(一条命令把 N 片放进程里并行),留给本地全量自测。
- project-ci.yml 由 7 个 job 变 11 个:原 AGC Rust job 拆成 AI game creator shell Rust
shard 1/4 ~ 4/4 与 AI game creator shell Rust smoke,加上已有的 Rust crates,AGC 相关
门禁共 6 个 job。4 个片 job 只预热 AGC 壳自己那份锁定依赖,且与 smoke、crates 一样都是
纯 cargo 门禁,因此这 6 个 job 都不再执行 npm ci(每个省 1~3 分钟)。
- check-native-shells.mjs 分组由五个变十个:agc-rust-shard-1 ~ agc-rust-shard-4 与
agc-rust-smoke 取代 agc-rust-shell;每个分片分组的命令是
`npm run ai-game-creator-shell:check:rust:shell -- --shard-index=<i>`。
- project-ci-workflow.test.ts 相应更新:11 个 job、6 个 job 免 npm ci、10 个分组各被一个
job 恰好调用一次,并新增「每个分片 job 都落到 --shard-index」「4 个 index 各一次」
「分片运行器保留覆盖自校验」等断言。
- 同步运维文档、development-workflow、decision-log、pitfalls 与 gitea-ci-triage 技能到
job 级分片口径,并记录 run 2102 的反面实验,避免以后又改回单 job 内并行。
验证:npx vitest run scripts/project-ci-workflow.test.ts(12 passed)、eslint、prettier、
check:encoding(13330 文件)、check:doc-index、--groups=contract、mobile check-config 全绿;
分片运行器本地以 agent-runtime-core(7 条 → 2/2/2/1)验证 --shard-index 四个 index 各自
只跑一片、片 TMPDIR 隔离、无 index 时全量模式不变。Gitea master 分支保护需补 6 个新
context(共十一个),其中含 4 个分片 job、smoke job 与 crates job。
Co-authored-by: DotCraft <273930855+dotcraft-ai@users.noreply.github.com>
|
2026-09-14 17:32:06 +08:00 |
|
kdletters
|
86b830cf2d
|
AGC 壳 Rust 套件分片并行,客户端 Rust 关键路径压到 7 分钟以内
Project CI / AI game creator shell Rust crates (push) Successful in 3m17s
Project CI / Native shell tests (push) Successful in 6m1s
Project CI / Backend tests (push) Successful in 6m39s
Project CI / Frontend tests (push) Successful in 3m59s
Project CI / Repository checks (push) Successful in 2m37s
Project CI / AI game creator shell web tests (push) Successful in 2m37s
Project CI / AI game creator shell Rust tests (push) Has been cancelled
run 2097 显示 AI game creator shell Rust tests 是客户端 CI 的关键路径(15 分 27 秒):
前置 5 分 30 秒(checkout + npm ci + Cargo fetch)、编译 1 分 39 秒、AGC 壳 bin target
的 2466 条单测一条命令串行 507 秒、agent-run smoke 51 秒。
- 新增 apps/ai-game-creator-shell/scripts/run-rust-shell-test-shards.mjs:cargo test
--no-run 编译一次拿到测试可执行文件,用 --list 取全部用例名,排序后按 index % shards
切 4 片,每片作为独立进程执行 <bin> --exact <名单> --test-threads=1,并给每片独立
TMPDIR。片并集必须等于 --list 全集且互斥(assertShardsCoverEveryTest),改分片规则
不会静默漏跑。串行口径只从「整套串行」放宽到「片内串行」:当年 libtest 线程并行会
互相干扰的是进程内后台锁与异步终态,进程分片不共享这些状态,因此不必放宽断言。
- package.json:ai-game-creator-shell:check:rust 拆成 :rust:crates(agent-runtime-core /
orchestration / platform-llm / shared-contracts)与 :rust:shell(分片运行器),聚合
脚本保持同序,ai-game-creator-shell:check 与本地全量入口语义不变。
- check-native-shells.mjs:分组由五个变六个(新增 agc-rust-crates、agc-rust-shell,
移除 agc-rust);smoke 与壳测试同组以共享 AGC 壳的依赖预热。
- project-ci.yml:新增第 7 个 job AI game creator shell Rust crates(预热 server-rs 与
两个无锁独立 crate 后跑四条 crate 测试);AI game creator shell Rust tests 只保留壳
分片与 agent-run smoke,并只预热 AGC 壳自己那份 manifest(其 Cargo.lock 的 path 依赖
已覆盖 platform-llm / platform-agent / agent-runtime-core / shared-contracts)。
这两个 job 只用 cargo 与 node 内建模块,因此都不再执行 npm ci(各省 1~3 分钟)。
- project-ci-workflow.test.ts:新增纯 cargo job 免 npm ci、分片运行器覆盖校验、crate 级
job 预热顺序等断言;同步运维文档、development-workflow、decision-log、pitfalls。
验证:分片运行器本地以 agent-runtime-core(7 条 → 2/2/2/1)与 platform-llm(146 条 →
49/49/48)验证分片、--exact 与片 TMPDIR 隔离,参数负例 exit 1;vitest
scripts/project-ci-workflow.test.ts 12 passed;contract 分组、AGC 与 mobile 壳
check-config、eslint、prettier、check:encoding(13400 文件)、check:doc-index 全绿。
Gitea master 分支保护需补 Project CI / AI game creator shell Rust crates (pull_request)。
Co-authored-by: DotCraft <273930855+dotcraft-ai@users.noreply.github.com>
|
2026-09-14 17:02:34 +08:00 |
|
kdletters
|
4e553bb15d
|
收窄项目写锁同进程复用判据为同线程重入
Project CI / Repository checks (push) Successful in 3m21s
Project CI / Frontend tests (push) Successful in 4m15s
Project CI / Backend tests (push) Successful in 6m13s
Project CI / Native shell tests (push) Successful in 18m37s
- 修复 write_lock.rs:advisory 复用判据从「本进程持锁」收窄为「同一线程重入或自主流水线」,新增按锁路径登记真实持锁线程的 PROJECT_WRITE_LOCK_THREAD_OWNERS,登记在 create_new 成功处、在 guard Drop 里按路径注销(guard 会被移到别的线程再 Drop)
- 恢复本进程其它线程写通道的串行化:一致快照读、project.diff / action_history、command.output_read、steer 序号分配、项目 revision 侧车、pending sidecar 复核与恢复安装重新等待并保持终态占用
- 调整 tests/project_tools.rs 的 agent_runtime_file_write_lock_failure_redacts_project_path:改为在另一条线程持锁,保持「别的写者持锁时 file.write 失败关闭且脱敏」的断言语义
- 调整 ui_editor/persistence.rs 的 recovery_install_respects_the_project_write_lock:同样改为在另一条线程持锁,保持占用失败断言
- 同步技术方案「2026-09-14 项目客户端占用锁收敛」段落,以及里程碑和实施计划的目标、验收标准、修改顺序、验证命令与未决事项
- 在 decision-log 记录复用判据收窄为同线程重入,并在 pitfalls 记录「同进程复用判据不能只看 pid」的现场、原因、处理与易错点
- 回答 AGC 生命周期文档「同 PID advisory guard 是否放过并行写」的未决项:确认会放过并行写,已收窄
Co-authored-by: DotCraft <273930855+dotcraft-ai@users.noreply.github.com>
|
2026-09-14 15:41:17 +08:00 |
|
kdletters
|
7092689b36
|
收口 AGC 生命周期超时隔离与建项恢复
Project CI / Repository checks (push) Successful in 3m11s
Project CI / Frontend tests (push) Successful in 4m4s
Project CI / Backend tests (push) Successful in 6m14s
Project CI / Native shell tests (push) Failing after 14m20s
## 变更内容
在 master(0f829cd25)上用故障注入复现出四类"每走一步都会卡住"的生命周期残留,本轮按"超时后真正隔离并核对底层操作"收口,不再新增 operation 字段:
- 本地会话写入队列从"无限等上一次完成"改为带解围期限的闸门(60s)。Rust 侧 install/clear 本来就按 generation 单调拒绝更旧写入,所以渲染层只需保证新 generation 不被卡死的调用永久挡住;
- generation floor 读取不再把一次瞬时失败缓存成永久失败(原先 `??=` 缓存了已 reject 的 promise,导致同一渲染进程内后续登录/退出全部失败);
- 登录 UI 的 45 秒围栏只放弃等待、不放弃结果:本地运行时确实装好会话时界面跟随进入工作区,且迟到结果不会覆盖更新的登录尝试;
- 首页自动建项从 `deadlineMs: null` 改为 10 分钟兜底期限:到点解围并提示(底层创建继续在后台跑,迟到成功照常进项目),失败时保留 `scope.projectPath`、登记最近项目并新增「打开已创建的工作区」入口;底层创建未返回期间只挡"再建一个",不挡打开已有项目;
- 同步 `project.bootstrap` 权限文案断言、生命周期技术方案状态与 shared pitfalls。
## 验证
- `npm --prefix apps/ai-game-creator-shell run typecheck`(含 skill-pack、check-config)
- `vitest run apps/ai-game-creator-shell/tests/appSurface.test.ts`(428/428,含新增 5 个故障注入回归;`project.bootstrap` 文案断言在此前 master 上确定性失败)
- 定向 `clientHttp`、`clientApi`、`clientOperation`、`recentProjectsModel`、`clientRuntimeErrorBoundary`、`sessionPreview`、`start-dev-stack`、`dev-port`、`start-tauri-dev`(全部通过)
- `npm run check:doc-index`、`npm run check:encoding`、`git diff --check`
原生 Runner/IPC 与真实 Provider 下的同一批时序未执行,本轮结论来自 deterministic surface 与 mock 故障注入。
Co-authored-by: DotCraft <273930855+dotcraft-ai@users.noreply.github.com>
|
2026-09-14 14:49:45 +08:00 |
|
k88936
|
ad8f42a68f
|
回写自动切分问题节点状态
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
扩展 problematic DTO 携带完整返工历史
分离流程回写 NeedReview 并清理成功节点旧状态
补充概览计数定位与状态覆盖测试
同步 UI workflow 规范文档
|
2026-09-14 14:34:33 +08:00 |
|
kdletters
|
0f829cd252
|
完成 DirectProject Phaser 迁移闭环 (#353)
Project CI / Repository checks (push) Failing after 2m44s
Project CI / Frontend tests (push) Failing after 2m53s
Project CI / Native shell tests (push) Failing after 6m39s
Project CI / Backend tests (push) Successful in 8m7s
## 变更
单 HTML → Phaser 4 + Vite 的迁移链路现在有明确且可执行的工程合同:Phaser/npm 目标固定走 DirectProject,旧 JSON Generator 继续只处理单文件 HTML。
- 新增受控 `project.bootstrap`,仅允许项目内 `game` 目录执行无参数 `npm install`,校验 package/lock、路径、npm 管理器并记录依赖指纹。
- `project.verify` 支持相对 `cwd`,构建前诊断缺失依赖,`cwd=game` 的 build 必须产出 `game/dist/index.html`。
- npm bootstrap 使用受控网络沙箱;通用 `command.exec npm install` 仍被拒绝。
- 同步 Runtime 工具广告、执行分发、审计、权限策略、DirectProject/Generator 提示、前端权限面板、TypeScript/Rust 契约和项目文档。
- Phaser 迁移提示覆盖 Scene、输入、敌人/守卫、波次、胜负、重开和桌面/移动双视口验收。
## 验证
- `npm run ai-game-creator-shell:typecheck`
- `cargo check --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml`
- `cargo fmt --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml -- --check`
- `cargo test --locked -p shared-contracts --manifest-path server-rs/Cargo.toml game_creation_app`
- 定向 `project.verify` Rust 测试
- `npm run check:encoding`
- `npm run check:doc-index`
- `git diff --check`
- 真实 DirectProject:`npm install`、`npm run build` 成功,`game/dist/index.html` 存在。
- 浏览器试玩:桌面视口画布非空;移动视口触摸开火、键盘换道和重开逻辑均已观察确认。
真实项目没有纳入仓库提交;PR 只包含客户端合同、Runtime 能力和验证门禁。
Reviewed-on: #353
|
2026-09-14 13:57:24 +08:00 |
|
kdletters
|
c146f7f99c
|
建立 AGC 稳定版生命周期基础合同 (#348)
Project CI / Repository checks (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
## 变更内容
这是基于 PR #346 的稳定版生命周期基础切换,承接已完成的 HTTP body timeout、Runner blocking worker、最近项目逐项刷新和首页跨页防重:
- 新增统一 `ClientOperation` 合同,固定 operationId、requestId、phase、deadline、scope、cancellable 和 stale 判定;
- 认证 refresh 投影 `auth-refresh` operation;登录、401 refresh、退出共用平台 session generation,并由 `auth-transition` 投影 Runner phase/成功/失败/不确定状态;
- 首页自动创建记录 draft、startMode、phase 和建项后的 project scope,页面卸载不会释放 operation;
- `.app/dev-stack.json` 增加 instanceId、repoRoot、服务级 dataDir/instanceId,AGC Vite marker 增加 repoRoot/processId/port;缺身份的旧状态拒绝 AGC 后端复用;
- 新增稳定版生命周期主规范、开发运维口径和 shared pitfalls。
## 验证
- `npm --prefix apps/ai-game-creator-shell run typecheck`
- `npm --prefix apps/ai-game-creator-shell exec -- vitest run tests/clientOperation.test.ts tests/clientApi.test.ts tests/clientHttp.test.ts tests/recentProjectsModel.test.ts tests/start-dev-stack.test.ts tests/dev-port.test.ts --reporter=dot`(61 passed,2 skipped)
- `npm --prefix apps/ai-game-creator-shell exec -- vitest run tests/appSurface.test.ts --reporter=dot`(423/423 passed)
- `node --check scripts/dev.mjs`
- `node --check apps/ai-game-creator-shell/scripts/start-dev-stack.mjs`
- `npm run check:doc-index`
- `npm run check:encoding`
- `git diff --check`
`scripts/dev.test.ts` 全量仍有 1 个 Windows 文件权限相关既有失败:bootstrap secret 测试在 Windows 上无法通过 chmod 模拟 0600;本变更未触及该逻辑。
Reviewed-on: #348
|
2026-09-14 13:56:56 +08:00 |
|
kdletters
|
818cfdba50
|
收敛项目客户端占用锁语义 (#344)
Project CI / Repository checks (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
本 PR 收敛项目锁的同进程重入语义,避免客户端内部调用等待自身持有的 `.agent/project.lock`。
变更:
- 同进程嵌套项目锁返回 advisory guard,不删除真实持有者锁。
- 跨进程占用、残留回收和权限分类保持不变。
- 增加回归测试与锁收敛里程碑/实施计划文档。
验证:
- 定向 Rust 锁测试通过。
- Runner owner 定向测试通过。
- cargo fmt --check 通过。
- npm run check:encoding 通过。
- git diff --check 通过。
后续里程碑:Runner 的 `.agent/runtime/execution-owner.lock` 迁移到统一项目占用锁仍需单独完成跨进程生命周期验证。
Reviewed-on: #344
|
2026-09-14 13:56:23 +08:00 |
|
kdletters
|
86c1187ddc
|
放开 DirectProject Codex 沙箱权限 (#347)
Project CI / Repository checks (push) Successful in 3m5s
Project CI / Frontend tests (push) Successful in 3m39s
Project CI / Backend tests (push) Successful in 7m31s
Project CI / Native shell tests (push) Has been cancelled
## 变更内容
- DirectProject Codex app-server 使用 danger-full-access sandbox。
- 移除 workspaceWrite / writableRoots 与文件变更审批根白名单。
- DirectProject app-server 交互请求不再按 grant root 裁剪;首页只读对话、AGC 受控 MCP、凭据隔离和 Runtime 审计边界保持不变。
- 同步更新 DirectProject 提示词、技术方案和决策记录。
## 验证
- Rust 定向测试:49 passed,1 ignored。
- npm run check:encoding 通过。
- npm run check:doc-index 通过。
- git diff --check 通过。
- pre-push-master 门禁通过。
Reviewed-on: #347
|
2026-09-14 13:19:44 +08:00 |
|
kdletters
|
991b2a1104
|
修复 AGC 异步操作恢复闭环 (#346)
Project CI / Repository checks (push) Successful in 3m43s
Project CI / Backend tests (push) Successful in 6m16s
Project CI / Frontend tests (push) Successful in 3m54s
Project CI / Native shell tests (push) Successful in 20m0s
## 变更内容
AGC 登录、Runner 会话、最近项目检查和首页自动创建原先各自维护异步状态,响应体卡住、单目录变慢或切页会导致按钮长期 busy、项目列表整体不可用或重复创建项目。本 PR 将这些入口收口到可恢复的生命周期边界:
- 认证响应体读取增加独立超时,refresh singleflight 在失败后释放;
- Runner 会话安装/清除移到 blocking worker,登录/退出增加 45 秒 UI fence;
- 最近项目逐项检查并设置单项目超时,已完成行不受其它慢目录阻塞;
- 首页自动创建锁提升到 WorkspaceLauncher,切页后仍防重并保留状态;
- 新增异步闭环技术方案、body 卡住测试、逐行项目测试和跨页创建测试。
## 验证
- `npm --prefix apps/ai-game-creator-shell run typecheck`
- `npm --prefix apps/ai-game-creator-shell exec -- vitest run tests/clientHttp.test.ts tests/clientApi.test.ts tests/recentProjectsModel.test.ts --reporter=dot`
- `npm --prefix apps/ai-game-creator-shell exec -- vitest run tests/appSurface.test.ts --reporter=dot`
- `cargo check --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml`
- `npm run check:doc-index`
- `npm run check:encoding`
- `git diff --check`
`appSurface.test.ts` 390/390 通过;保留仓库既有 act/jsdom media warning。本 PR 未触发真实 Provider 或发布安装包。
Reviewed-on: #346
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
|
2026-09-14 13:19:13 +08:00 |
|
k88936
|
b617873f46
|
调整模块引用顺序及精简测试断言格式
|
2026-09-14 11:58:42 +08:00 |
|
lhk229
|
a7fa8e103a
|
修复策划产物归类为文档
Project CI / Repository checks (pull_request) Successful in 3m27s
Project CI / Frontend tests (pull_request) Successful in 4m7s
Project CI / Backend tests (pull_request) Successful in 6m50s
Project CI / Native shell tests (pull_request) Successful in 20m50s
将策划产物注册 kind 从 design-document 调整为 document
同步更新项目工具测试夹具
|
2026-09-14 03:57:20 +00:00 |
|
k88936
|
513c25898c
|
Merge remote-tracking branch 'origin/master' into feat/ui-editor-auto-seperation
Project CI / Repository checks (pull_request) Failing after 2m16s
Project CI / Frontend tests (pull_request) Successful in 4m44s
Project CI / Backend tests (pull_request) Successful in 7m39s
Project CI / Native shell tests (pull_request) Successful in 18m52s
# Conflicts:
# apps/ai-game-creator-shell/src/view/project-development/index.tsx
|
2026-09-14 11:32:17 +08:00 |
|
lhk229
|
340d8241a5
|
优化策划agent (#340)
Project CI / Repository checks (push) Successful in 2m53s
Project CI / Frontend tests (push) Successful in 3m55s
Project CI / Backend tests (push) Successful in 6m50s
Project CI / Native shell tests (push) Successful in 17m42s
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/340
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
|
2026-09-13 19:32:12 +08:00 |
|
suzmii
|
7b21bc529e
|
合并 master:Cocos 插件按当前项目类型暴露
Project CI / Repository checks (pull_request) Successful in 2m44s
Project CI / Frontend tests (pull_request) Successful in 3m13s
Project CI / Backend tests (pull_request) Successful in 5m52s
Project CI / Native shell tests (pull_request) Successful in 18m57s
- 合入 origin/master c19b32178,使 PR 头包含当前 master tip,修 CI comparison base 门禁(11 秒红)
- 冲突 1 处:docs/project-memory/shared-memory/decision-log.md 两侧追加记录,两条逐字保留(HEAD 的 2026-09-11 起多条 + master 的「2026-09-13 Cocos 插件按当前项目类型暴露」),只删 3 行冲突标记
- 验证:npm run check:doc-index 通过(97 份 Markdown);npm run typecheck exit 0;check:encoding 4557 文件通过;git diff --check 干净;全仓无冲突标记
|
2026-09-13 17:27:14 +08:00 |
|
kdletters
|
c19b321785
|
Cocos 插件按当前项目类型暴露
Project CI / Repository checks (push) Successful in 2m21s
Project CI / Frontend tests (push) Successful in 2m41s
Project CI / Backend tests (push) Successful in 5m21s
Project CI / Native shell tests (push) Successful in 19m48s
新增 Cocos 项目根识别门禁,限制插件、面板、RPC 和编辑器执行范围
让 DirectProject MCP 工具目录按当前项目类型动态过滤
切换离开 Cocos 项目时停止已运行的插件实例
补充项目级测试、Cocos 技术方案和插件说明
|
2026-09-13 17:12:37 +08:00 |
|
suzmii
|
3bf499ddfd
|
修复「所有资源」展开态文档卡与图片卡初始自动重叠
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / Backend tests (pull_request) Failing after 15s
Project CI / Frontend tests (pull_request) Successful in 2m59s
Project CI / Native shell tests (pull_request) Successful in 19m29s
- resourceBookLayout:新增分带几何缓存键 resourceBookAllLayoutKey 与取几何的 resolveResourceBookAllLayout,键纳入布局是否就绪 / 卡片真实尺寸 / 排序模式,拖动只改坐标时键保持不变
- resourceBookLayout:抽出 ResourceBookAllLayoutInput,生产组件与回归用例共用同一份「键 + 缓存」口径
- index.tsx:展开态分带几何改走 resolveResourceBookAllLayout,并传入当前布局 hook 的 ready;此前只按项目 / 排序 / 可见资源 id 冻结,依赖模式关系图就绪前算出的单行带(144 高)被永久固化,图片带仍挤在 144 + 48 处,整排压住文档卡
- tests/resourceBookLayout.test.ts:新增混合类型(12 文档 + 12 图片)第一版坐标到位后分带重算、逐对矩形不相交的主用例
- tests/resourceBookLayout.test.ts:新增同一栏混排不同尺寸卡(类型 / 依赖两种模式)不相交、sidecar 手放坐标保留并让开下一带的对照用例
- tests/resourceBookLayout.test.ts:新增缓存键的拖动稳定性、就绪翻转、卡片尺寸与排序模式变化用例
- tests/projectResourceLiveIntegration.test.tsx:新增真宿主用例,依赖模式下打开「所有资源」,读渲染出的卡片世界矩形做逐对相交检查
|
2026-09-13 17:06:09 +08:00 |
|
suzmii
|
7ae71441ba
|
合并 master:接入 AGC 内置插件宿主与 Cocos 编辑器能力(#338)
Project CI / Repository checks (pull_request) Successful in 2m49s
Project CI / Frontend tests (pull_request) Successful in 3m46s
Project CI / Backend tests (pull_request) Successful in 6m42s
Project CI / Native shell tests (pull_request) Successful in 17m35s
合并 origin/master 4a46f89c9 到 chore/agc-acceptance-build(HEAD 55fab1776),本次合并共涉及 117 个文件(113 个自动合并 + 4 个冲突)。
- 自动合并 113 个文件:插件宿主与插件工作区(plugin_host.rs / builtin_plugins.rs / editor_adapter(_s).rs / plugins/agc-cocos-editor / cocos-editor-bridge crate / editor-adapter-api)、构建与打包脚本、locked Cargo.lock 及 master 侧锁与资源链路改动;不逐条列出。
- 冲突 1 apps/ai-game-creator-shell/src/App.tsx:271-278:两侧各自新增一个 import(本分支 ./services/tauriEventSubscription、master ./services/pluginHost),两个 import 都保留,并按 simple-import-sort 口径排在 ./services/platformSession 之后、tauriEventSubscription 之前;四个符号都仍被使用。
- 冲突 2 docs/project-memory/shared-memory/decision-log.md:8338-8469:两侧在同一位置追加记录,逐字保留两侧记录且各自原有顺序不变(先本分支的 2026-09-11 资源卡预览 data URL / loopback HTTP 两条,后 master 的 2026-09-09~2026-09-12 通用插件宿主、Cocos 桥接与内置插件开关条目),不改写、不合并措辞。
- 冲突 3 docs/project-memory/shared-memory/pitfalls.md:79-112:同上,保留本分支的「2026-09-05 资源画本转场与视口分离」与 master 的「2026-09-11 首页自动工作区必须使用 AGC 管理目录」「2026-09-12 Cocos 项目识别不等于编辑器桥就绪」「2026-09-11 Cocos 项目必须走独立导入分支」,内容逐字保留、两侧原顺序不变。
- 冲突 4 apps/ai-game-creator-shell/src-tauri/src/agent/direct_project_history.rs:400-435:判据是「两侧不互斥」,解法为 both(语义超集)。
- 冲突 4 保留本分支的有界退避重试循环(DIRECT_PROJECT_HISTORY_CONTENTION_RETRY_BACKOFF_MS + is_direct_project_history_contention_failure + 测试注入点)与单次尝试函数 append_direct_project_history_item_once(含锁外幂等回扫与锁内状态复核)。
- 冲突 4 保留 master 的有界等待取项目写锁:把该函数内原来的零等待 crate::project::acquire_project_write_lock(root, "conversation.write") 换成 acquire_game_creator_agent_runtime_project_write_lock_with_wait(root, "conversation.write"),并原样保留 master 的注释(agc_write_file 占锁 5.5 秒期间,零等待取锁会让流式历史落盘直接失败)。
- 冲突 4 判断依据:master 只替换了同一处的取锁语义(零等待 → 约 10 秒有界等待,并有 append_waits_for_a_same_process_project_writer 用例锁定),不改变函数签名、调用方与错误类型;HEAD 的重试循环因此仍然可达,与有界等待叠加后语义更强——写文件占锁由有界等待吃掉,等待窗口耗尽后的残余争用再由一次 250ms 短退避重试兜底。未删除任何一侧行为,也未放弃任何一侧语义。
- 冲突 4 位置取舍:有界等待取锁仍放在锁外回扫与序列化之后(本分支结构),保住「幂等回扫与序列化留在锁外、不让他人等整份历史读完」的性能语义;master 的注释与调用参数逐字保留。
- 验证:npm run typecheck、npm --prefix apps/ai-game-creator-shell run typecheck、cargo check --locked --all-targets(exit 0,0 error)、npm run check:rustfmt、npm run check:encoding、git diff --check 全部通过;冲突标记扫描为空。
- 定向 Rust 测试(--test-threads=1):direct_project_history 19 passed / 0 failed(含本分支 contention_failure_is_retried_with_bounded_backoff、contention_failure_beyond_the_backoff_budget_fails_closed、shape_failure_is_not_retried 与 master 的 append_waits_for_a_same_process_project_writer);conversation 36 passed / 0 failed;write_lock 21 passed / 0 failed。两侧用例同时绿,证明有界等待取锁与有界退避重试叠加后语义自洽。
- 未跑全量测试(按仓库约定本地只跑定向,全量交给 CI);本次不 push。
|
2026-09-13 15:33:48 +08:00 |
|
kdletters
|
4a46f89c9b
|
接入 AGC 内置插件宿主并补齐 Cocos 编辑器能力 (#338)
Project CI / Repository checks (push) Successful in 2m45s
Project CI / Frontend tests (push) Successful in 3m27s
Project CI / Backend tests (push) Successful in 6m18s
Project CI / Native shell tests (push) Failing after 13m52s
客户端新增随包提供的插件宿主和 Cocos Creator 集成:识别并导入 Cocos 项目,通过内置桥接操作已打开的编辑器,无需安装项目 MCP 扩展。DirectProject 现在公开 36 个独立 cocos_* 工具,保留通用 JavaScript 执行入口。
- 通用插件 SDK、命令/能力/面板注册、编辑器适配器和跨进程内置插件开关。
- Cocos 场景、节点、组件、Prefab、UI、Layout/Widget、资源、保存、撤销、日志与预览调试;目录和实现由 JS/native 共用。
- 编辑事务回读、失败回滚、后续手动修改保护及不确定结果禁止重放;预览截图通过 MCP image 返回。
- DirectProject 跳过无关专业 Agent 历史,将项目打开和历史读取中的同步 I/O 移出窗口线程,消除 Cocos 执行与项目文件锁的错误耦合。
验证:
- 合并 master 后:类型/配置检查、编码检查、Rust 格式检查和提交钩子通过。
- 合并 master 后:Cocos 项目打开、插件面板和开发启动定向测试 10 通过、2 跳过;DirectProject MCP 测试 17 通过、1 项真实 Creator opt-in 忽略;插件宿主测试 9/9。
- 插件行为测试 17/17;native 测试 20/20,4 项 opt-in 测试默认忽略。
- 真实 Creator 3.8.8 的 36/36 操作 smoke,以及客户端 MCP tools/list、tools/call、UI/撤销和预览截图,在功能实现阶段已验证通过;本次 master 合并后未重复真实 GUI smoke。
验证边界:发行安装包和远端 CI 尚未验收。
Reviewed-on: #338
Co-authored-by: kdletters <kdletters@qq.com>
Co-committed-by: kdletters <kdletters@qq.com>
|
2026-09-13 14:48:55 +08:00 |
|
suzmii
|
55fab1776a
|
AGC 画布验收问题修复与栏目画布底部工具栏
Project CI / Repository checks (pull_request) Successful in 2m55s
Project CI / Frontend tests (pull_request) Successful in 3m59s
Project CI / Backend tests (pull_request) Successful in 6m50s
Project CI / Native shell tests (pull_request) Failing after 14m3s
- 合并资源画布命名筛选与条件筛选为单一筛选浮层,Dock 只留放大镜入口
- 修复「编辑素材标签」面板标签多时不可见且不可滚:加高度上界与标签区独立滚动
- 替换素材新增点选替换模式,并在资源卡标注会话内替换血缘
- 新增栏目画布底部工具栏,按功能画布分流图片类生成、音频生成与上传入口
- 新增 Tauri IPC generate_local_project_asset,收口图片类无源生成的 kind 与提示词目录
- 同步 PRD、AGC 验收用例、决策日志、踩坑记录与待解决事项文档
|
2026-09-13 14:07:03 +08:00 |
|
k88936
|
16db7ae8aa
|
为识别根节点补充名称兜底
LLM 返回空根名称时使用页面根节点默认名称,避免空标题进入 UI 树。
|
2026-09-12 21:40:20 +08:00 |
|
k88936
|
0ea7c7745c
|
保留分离结果的必要类型断言
TypeScript 对闭包赋值结果无法完成控制流收窄,恢复断言以通过类型检查。
|
2026-09-12 21:37:04 +08:00 |
|
k88936
|
6baf358bc7
|
完善素材分离恢复与步骤映射
回填部分失败时重新读取恢复状态;移除冗余类型断言并改用显式步骤映射。
|
2026-09-12 21:34:45 +08:00 |
|
k88936
|
8a96190db8
|
限制素材分离图片的 Base64 解码大小
对源图和服务端处理图在解码前后统一执行 64 MiB 上限检查,避免无界内存分配。
|
2026-09-12 21:32:20 +08:00 |
|
k88936
|
584da5b76b
|
限制视觉绑定处理图的解码规模
在解码前限制 base64 字节数并校验图像宽高,避免异常响应造成过量内存分配。
|
2026-09-12 21:31:13 +08:00 |
|
k88936
|
d1a03aec0e
|
统一预览画布适配与缩放滑杆计算
自动适配复用 fitToCanvas,避免重复计算;滑杆直接从原始缩放比例计算步进值。
|
2026-09-12 21:29:04 +08:00 |
|
k88936
|
b90d12c5fb
|
补充 Windows 原子替换安全说明
记录 MoveFileExW 路径缓冲区的所有权、终止符和调用生命周期不变量。
|
2026-09-12 21:27:57 +08:00 |
|
k88936
|
8135b4c374
|
避免 LLM 重试循环生产环境崩溃
将理论不可达分支改为显式错误返回,防止重试边界变化触发 panic。
|
2026-09-12 21:27:34 +08:00 |
|
k88936
|
124d94de93
|
保证素材批次补丁失败时状态原子
在修改状态前预检所有成功绑定节点的裁剪路径,避免中途错误留下部分更新。
|
2026-09-12 21:27:05 +08:00 |
|
k88936
|
103fe6fcd6
|
移除无效的裁剪路径伪校验
裁剪路径由 UUID 文件名和 sidecar 目录构造,直接依靠项目相对路径校验。
|
2026-09-12 21:26:33 +08:00 |
|
k88936
|
1370094c52
|
为素材处理产物生成唯一文件名
处理图 sidecar 文件名改用 UUID,避免全批次返工时覆盖前一批产物。
|
2026-09-12 21:25:58 +08:00 |
|
k88936
|
be8155c4a8
|
保留素材切分原始失败原因
检查点写入失败时仅记录日志,继续返回图像处理、绑定或裁剪的原始错误。
|
2026-09-12 21:25:21 +08:00 |
|
k88936
|
9052ff14f8
|
区分素材提取的完成与问题节点
仅将已绑定节点标记为 DONE,达到返工上限的节点继续作为上下文提供给提取模型。
|
2026-09-12 21:24:25 +08:00 |
|
k88936
|
9d9f1b8164
|
清理素材提取提示中的备注内容
对 YAML 提示中的描述和返工备注做有界清洗,避免代码围栏破坏提示结构。
|
2026-09-12 21:23:44 +08:00 |
|