Merge remote-tracking branch 'origin/master' into codex/agc-runtime-generation-reliability

# Conflicts:
#	apps/ai-game-creator-shell/src-tauri/src/project/manifest.rs
#	apps/ai-game-creator-shell/src/features/app-shell/useHomeProjectCreation.ts
#	apps/ai-game-creator-shell/tests/appSurface/project-development.suite.ts
This commit is contained in:
kdletters
2026-08-15 15:20:30 +08:00
58 changed files with 3403 additions and 1520 deletions
File diff suppressed because one or more lines are too long
@@ -205,7 +205,7 @@ controller 配置:
- `editor_icon_spritesheet_generation`:图标素材 spritesheet 生成和拆分。
- `editor_ui_design_asset_extraction`:UI 设计图红框素材提取。
- `editor_character_animation_generation`:角色动作视频和帧素材生成。
- `editor_video_generation`:画布视频生成和视频素材快速编辑。
- `editor_video_generation`:画布视频生成。
- `editor_sound_effect_generation` / `editor_background_music_generation`:画布音效与背景音乐。
画板结果的业务真相仍是 `asset_object`、`editor_project_resource`、账号级 `editor_asset`、可选 `asset_entity_binding` 和对应的 legacy / structured canvas 表;`editor_generation_operation` 只是提交回执,不替代这些 read model。worker 在 Provider 与 OSS 完成后只做 prepare:使用 owner + operation kind + job ID + stable slot 派生 resource/asset ID,构造可选 object/binding、候选 layout 和 compact job result,然后一次调用 `persist_editor_generation_result_and_return`。该 procedure 必须在当前事务快照校验 owner、job kind、由 `request_payload_json` 重算的 fingerprint 与未过期 lease,最后与业务记录一起完成 job 和 receipt。任一验证、binding 或 canvas CAS 失败都回滚全部数据库事实;worker 不得随后再调用 `complete_external_generation_job_and_return`。前端轮询单 job 到 completed 后重新读取项目快照,不从队列 payload、receipt 或本地临时响应重建正式图层。
File diff suppressed because one or more lines are too long