Feat/ui编辑器与code agent整合 #237
Reference in New Issue
Block a user
Delete Branch "feat/agc-use-ui-design"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
实现:
在ui编辑器保存旁增加一个保存并生成代码(js)
生成的是js字符串形式的html, 在整个js前有文档说明
code agent使用js直接注入已经生成的 export的html片段,
每次保存会直接覆盖这些html片段, 依靠动态注入实现编辑器的微调反映到游戏中.
每个节点提供了稳定的id用于code agent在生成html的基础上进行功能实现, 节点增删
目前是作为一个自说明的文件直接让code agent阅读使用, 都是用户调整保存顺便生成, 不提供工具调用.
希望以skill的形式使用
审查 head sha:
bce3cbfb0f已基于 base
a187d78a1c完成代码审查,覆盖 Rust HTML/JS 渲染、UI State 持久化、资源路径校验及前端编辑器接入。未发现经确认明确成立、需要阻塞合并的问题。验证:git diff --check、cargo check、cargo test --no-run、npm run typecheck 均通过。cargo test --bin genarrative-ai-game-creator-shell 在超时前有若干失败/长时间运行测试;uiEditorPage.test.ts 单文件为 17 项中 9 项失败,主要表现为测试 DOM 未清理导致多个同名按钮/导航残留,未将其作为本次变更 finding。
审查 head sha:
e708e09c91结论:请求修改。
明确问题(文件:
apps/ai-game-creator-shell/src-tauri/src/ui_editor/html_renderer/assets.rs,新侧第 517 行):@font-face的format()使用了ttf/otf,但 CSS 标准格式字符串应为truetype/opentype。浏览器可能因此跳过对应 source,导致导出的 UI 对所有绑定 TrueType/OpenType 字体回退到系统字体,最终视觉结果与编辑器不一致。建议将 TrueType/OpenType 映射为
truetype/opentype(woff/woff2 保持不变),并增加生成 CSS/浏览器加载绑定字体的回归测试。行内评审 API 已尝试但返回 HTTP 500,因此本次通过 PR 总评论回写。
审查 head sha: e708e09c91f4601b16e7bbbb634370b102b40239;已发现字体格式声明问题,详见 PR 总评论。
审查 head sha:
bce3cbfb0f已基于 base
a187d78a1c完成真实代码审查,覆盖 Rust HTML/JS 渲染、UI State 持久化、资源路径校验及前端编辑器接入。未发现经确认明确成立、需要阻塞合并的问题。验证:git diff --check、cargo check、cargo test --no-run、npm run typecheck 均通过。cargo test --bin genarrative-ai-game-creator-shell 在超时前有若干失败/长时间运行测试;uiEditorPage.test.ts 单文件为 17 项中 9 项失败,主要表现为测试 DOM 未清理导致多个同名按钮/导航残留,未将其作为本次变更 finding。
复核最新 head e708e09c91,以下问题仍需修改:
P1 Anchor 兼容回归:apps/ai-game-creator-shell/src-tauri/src/ui_editor/persistence.rs:681-689 强制 anchor 位于 0..=1,但现有前端契约允许有序越界 anchor(apps/ai-game-creator-shell/src/features/ui-editor/utils/transform/tf2css.test.tsx:108-122)。用户可预览但保存/加载失败。
P1 默认预览路径错误:persistence.rs:183 生成项目根 ui/generated-*.js;默认 game/index.html 布局下,preview.rs:1418-1440 会把 /ui/... 解析为 game/ui/...,生成模块无法加载(404)。
P1/P2 字体格式错误:html_renderer/assets.rs:8 用扩展名生成 CSS format(\x27ttf\x27/\x27otf\x27),应映射为 truetype/opentype,否则绑定 TTF/OTF 可能回退系统字体。
P1/P2 导出预览不一致:componentToCss.ts:98 对所有 Radial 顺时针起始角减 90°;Rust html_renderer/component/image.rs:110-121 的 Radial180/Radial360 未减 90°,导出结果与编辑器预览偏移 90°。
P2 保存并生成竞态:WorkflowActionCard.tsx:39-52 仅按 isAiRunning 禁用。保存/生成等待期间仍可启动识别或绑定,与 generateCode 并发,可能导出旧状态。需要整个序列互斥或让工作流动作同时受保存/生成状态约束。
本次未发现 asset stem 碰撞问题,SHA-256 后缀已处理。请修复后重新请求审查。
审查 head sha:
e776a8d8af结论:未发现明确问题。已检查当前 head 相对 base 的完整 diff、Rust UI HTML/JS 渲染与持久化、前端编辑器接入、资源路径/字体/填充预览及相关测试。验证:cargo fmt --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml -- --check、UI persistence 定向 cargo test、npm run typecheck --workspace @genarrative/ai-game-creator-shell、git diff --check 均通过。uiEditorPage.test.ts 当前有测试隔离问题(9/17 失败,多个渲染残留导致重复元素),未将其作为本次变更 finding。
审查 head sha: e776a8d8afe65234edf2216c2a607af682579d02;未发现明确问题。
审查 head sha: e776a8d8afe65234edf2216c2a607af682579d02;未发现明确问题。
New commits pushed, approval review dismissed automatically according to repository settings
审查 head sha: a63a477a6b88c823f57fa091531601f767e2e131;发现 2 个阻塞合并的明确问题,详见行内评论。Rust UI Editor 定向测试因执行环境磁盘配额不足未能完成。
P1:这里把 FontFormat 的文件扩展名(
ttf/otf)直接作为 CSSformat()值输出。CSS Fonts 的 format 标识应为truetype/opentype(woff/woff2 才与扩展名相同);浏览器会因此跳过 TTF/OTF source,导出 UI 的字体回退到系统字体,导致字体选择和视觉布局失真。建议增加 FontFormat -> CSS format 的显式映射并覆盖 TTF/OTF/WOFF/WOFF2 的导出测试。审查 head sha:
a63a477a6bP1:Radial90 的顺时针分支在这里额外把起始角减了 90°,而前端
componentToCss.ts的同一规则直接以originAngle作为 clockwise 起始角;因此同一个 Filled/Radial90 组件在编辑器预览和导出的generated-*.js中会发生 90° 方向偏移。建议复用同一角点/起始角映射(或抽共享规则),并增加四个 origin、双向和部分 amount 的前后端一致性测试。审查 head sha:
a63a477a6bClose #227
审查 head sha:
25f093425a未发现明确问题。已验证 UI Editor 相关 Rust 测试 111/111、完整 Tauri binary 测试 2451/2451,以及 uiEditorPage 前端测试 17/17 通过。
审查 head sha:
25f093425a未发现明确问题。已验证 UI Editor 相关 Rust 测试 111/111、完整 Tauri binary 测试 2451/2451,以及 uiEditorPage 前端测试 17/17 通过。