Commit Graph

96 Commits

Author SHA1 Message Date
JenkenB 75e1ac93db Refactor UI asset extraction overlay and handlers
Remove explicit cancel callback and centralize dismissal: clicking the canvas now dismisses active UI extraction (handled in ImageCanvasEditorView) instead of relying on an onCancel prop. Simplify ImageCanvasStageView and ImageCanvasUiAssetExtractionOverlayView APIs by removing onCancel and related UI. Improve preview bounds and rendering: add normalization to mark bounds, clamp to source dimensions, and render crop previews using an absolutely-positioned <img> for accurate, coordinate-based previews. Update styles for toolbar active states and preview image layout, and reduce SVG stroke width. Update tests and docs to reflect new behaviors and UI wording (tool highlight, accurate crop preview, and dismissal behavior).
2026-06-22 21:37:39 +08:00
wuxiangwanzi 25421140bf 优化画布泥点入口
让画布顶部泥点余额按钮复用创作页充值和兑换码入口

抽取账户充值支付结果与确认弹窗组件供创作页和画布页共用

补充画布泥点入口回归测试和编辑器技术文档
2026-06-22 21:08:33 +08:00
wuxiangwanzi 7fe4a10d19 优化画布顶部栏布局
收窄画布顶部栏高度和按钮间距

移除未命名画布下方的画布副标题

将画布标题和重命名入口贴近返回按钮

在顶部栏右端展示当前泥点余额

补充画布顶部栏测试和技术方案说明
2026-06-22 21:04:43 +08:00
JenkenB e91a46a419 Merge branch 'codex/editor-asset-library' of https://git.genarrative.world/git/GenarrativeAI/Genarrative into codex/editor-asset-library 2026-06-22 19:18:31 +08:00
JenkenB 55469a2198 UI extraction selection + local FFmpeg dev env
Require an explicit red-box selection before extracting UI-design assets: add rectangular/ellipse/brush selection UI, render red-outline marks into a marked Data URL on the client, and update the extraction prompt to "仅提取被红色框框选的素材并整理成spritesheet". Add frontend overlay/raster models and tests to support the selection flow and adjust numerous image-editor tests and views to wire up the selection lifecycle. On the dev ops side, enhance scripts/dev to detect a local %LOCALAPPDATA%/Genarrative/ffmpeg/bin installation on Windows, prepend it to PATH and inject CHARACTER_ANIMATION_FFMPEG_PATH/FFPROBE_PATH (with tests), and export the helper. Server config now prefers GENARRATIVE_*-prefixed FFmpeg env vars and includes a Rust test to validate reading the prefixed variables. Update docs to describe the new UI extraction behavior and local FFmpeg handling.
2026-06-22 19:13:37 +08:00
kdletters 820e179be5 新增画布快捷键弹窗
添加画布右上角快捷键入口和独立弹窗

补齐 Windows 画布快捷键与选中图层命令

更新快捷键单测和画布文档
2026-06-22 17:58:00 +08:00
JenkenB 163b2fa077 Add editor generation model pricing admin UI & API
Introduce centralized model pricing for editor generations: add EditorGenerationPricing types and admin API client methods (GET/POST), backend default config and runtime override support, and server route/handler changes to expose admin editor-generation-pricing. Add an AdminEditorGenerationPricingPage component, styles, route entry, icon, and tests, plus a test for admin routes. Update docs and decision log to describe the pricing contract and management workflow. This enables managing per-model pricing (perGeneration / perSecond, flat or tiered) from the admin panel and exposes runtime pricing to the main site.
2026-06-22 16:57:29 +08:00
kdletters fc49ba2a61 后端写入画布生成完成态
后端在图片生成完成后直接写入画布布局和生成器状态

前端提交canvasCompletion并只应用后端项目快照刷新显示

移除项目加载时根据资源行推断生成完成态的路径

更新OpenAPI、图片画布文档和共享排障记忆
2026-06-21 22:30:03 +08:00
kdletters de9eaef28f 改为行引用保存画布参考图元数据
生成输入参考图只保存 refType/refId 行引用
生成器布局快照只保存参考图行指针并在加载时恢复临时源
上传参考图优先创建项目资源行并回写 resourceId
元数据弹窗改为展示参考图行引用信息
更新图片画布技术文档和项目决策记录
2026-06-21 17:27:23 +08:00
kdletters 29d9c9ff5b 支持画布多选生成器
新增画布生成器选择 ID 模型,支持图层与生成器混合选择
补齐框选、Shift 点选、拖拽和删除对生成器占位的批量操作
修复音频控件焦点删除和手动素材标签资源持久化
更新图片画布编辑器多选语义文档
2026-06-21 15:59:34 +08:00
kdletters 98545d74d1 修复画布底部上传入画布尺寸
底部工具栏上传图片后直接创建画布图层

上传图片在创建素材和图层前读取原始分辨率

补充上传尺寸解析与素材库集成回归测试

同步图片画布上传语义文档和共享决策记录
2026-06-19 17:36:20 +08:00
kdletters 4821fb90df Merge branch 'codex/editor-asset-metadata-migration' into codex/editor-asset-library
# Conflicts:
#	docs/project-memory/shared-memory/decision-log.md
#	server-rs/crates/api-server/src/editor_project.rs
#	src/components/image-editor/ImageCanvasEditorModel.ts
#	src/components/image-editor/ImageCanvasEditorView.test-utils.ts
#	src/components/image-editor/ImageCanvasEditorView.tsx
#	src/components/image-editor/useImageCanvasGenerationSubmissionWorkflow.ts
#	src/services/image-editor/editorProjectClient.test.ts
2026-06-19 16:55:41 +08:00
kdletters e644d7c99f 后端保存画布生成素材
生成接口接收项目与素材上下文并返回 resource/asset 快照

画布前端使用后端回包落层并避免重复创建资源和素材

补充生成元数据保存边界的测试与文档
2026-06-19 16:30:56 +08:00
kdletters 9bb8ca8dfa Merge branch 'codex/editor-image-library-bugfix' into codex/editor-asset-library 2026-06-19 16:27:13 +08:00
kdletters 0502c5c5df 修复画布生成面板关闭行为
移除普通生图、快速编辑和改造面板的独立关闭按钮

统一空白画布点击后的生成面板收起逻辑

避免快速编辑和改造误移除最近生成器

补充生成面板交互回归测试
2026-06-19 16:22:30 +08:00
kdletters 002b48770d 合并编辑器素材库分支
合入 codex/editor-asset-library 最新改动
保留音视频 OSS 素材库保存与自定义播放器交互
合并画布素材标签编辑与视频换签渲染逻辑
通过后端编译和角色抠图回归测试
2026-06-19 15:58:20 +08:00
kdletters 870d723eaf 修复画板音视频素材保存
生成视频持久化到 OSS 并回传 objectKey 与 assetObjectId

生成音频透传 OSS 对象身份并支持保存到素材库

普通素材上传支持 MP3 和 MP4 直传 OSS 后确认资产对象

素材库和画布恢复音频视频媒体类型与图层播放

更新画板音视频素材保存相关文档与测试
2026-06-19 15:11:42 +08:00
kdletters 76445da9b4 迁移画布素材生成元数据
扩展 editor_project_resource 和 editor_asset 保存素材类别与生成输入快照

调整前端资源与素材读写链路并停止把素材元数据写入新 layout

在服务端保存 layout 时回填并清洗旧图层元数据

更新图片画布契约文档、共享决策和相关测试期望
2026-06-19 15:11:32 +08:00
JenkenB cc3346758c 修复若干bug 2026-06-19 14:18:56 +08:00
JenkenB 160c96a014 合并画板素材生成与宣发入口改动
新增 UI 设计图提取素材入口并复用 gpt-image-2 spritesheet 拆分流程。

保留图标生成与 UI 提取的 spritesheet 原图并同步放置拆分素材到画布。

补齐宣发素材演示入口、占位图样式、引用上传与生成提交链路。

调整编辑器生成接口 body 限制和 VectorEngine 请求兼容逻辑。

更新画板音乐生成、项目基线、宣发素材与图片画布相关文档。
2026-06-19 10:37:22 +08:00
JenkenB 097170836d Add UI-design asset extraction & spritesheet support
Introduce a new UI design asset extraction flow: add POST /api/editor/ui-designs/assets/extractions handler that always uses gpt-image-2 with the fixed prompt "提取画面中的所有独立并整理成spritesheet"; parse Data URL references, call OpenAI image edits, return a spritesheet and sliced icon assets. Increase request body limit for image Data URLs and wire the route with bearer auth. Add platform-image slicing: slice_generated_icon_spritesheet_all_by_connected_components (with auto-naming "素材 1..N", foreground estimation and heuristics) and export it. Add Rust tests for the handler, prompt constant, and slicing behavior. Update frontend client and integration tests to call the new extractEditorUiDesignAssets API and verify spritesheet + icon layers are added to the canvas and persisted. Update multiple docs to describe the extraction UI, toolbar placement, and related audio/playback pitfalls. Minor related updates: toolbar button ordering and audio duration / signed read-url notes.
2026-06-19 10:09:19 +08:00
JenkenB ea29887d9c 完善快速编辑参考图与生成占位
- 快速编辑支持最多8张额外参考图,并将原图自动作为最后一张参考图提交

- 快速编辑尺寸和模型沿用原图配置,按禁用态参数胶囊展示

- 快速编辑提交前同步改写原图引用为实际图序号

- 快速编辑生成改为创建独立画布生成占位,并支持键盘删除生成中对象

- 对齐生成类面板参考图图标、规范类固定参数和相关文档测试
2026-06-18 22:50:42 +08:00
kdletters ae375a8e5f 合并编辑器素材库能力
合并 codex/editor-asset-library 到宣发素材演示分支

保留素材库、生成器、音频、UI设计图和持久化相关能力

补回宣发素材入口与 5 泥点计费契约
2026-06-18 22:36:54 +08:00
kdletters 8c749c5f68 改进生成中占位图删除确认
生成中占位图删除前提示泥点不返还

占位图增加独立删除按钮并接入键盘删除请求

补充生成中占位图删除确认回归测试

记录本轮画布删除确认验证进度
2026-06-18 20:34:29 +08:00
JenkenB b04b6cee2b 修复画板生成面板与音乐音效链路
统一画板生成类面板的参数选项、热区交互、底部按钮和输入框布局。

新增并完善画板生成音乐入口、音效和背景音乐面板以及音频生成提交流程。

按 VectorEngine Suno 音效文档调整音效请求体、任务 ID 解析、轮询和音频地址解析。

补充 Seedance 视频生成版权限制报错的中文提示。

更新编辑器相关技术文档和回归测试。
2026-06-18 20:24:52 +08:00
JenkenB 9c7b3ad16d Image editor: Seedance2.0 refs and audio changes
Adds Seedance 2.0 reference-media constraints and forbids video data URLs; updates docs/decision-log and pitfalls to record the new rules. Introduces typed audio params (type: one-shot|loop, tempo: number|null), generator-specific placeholder styles/avoidance and UI changes for generation panels. Implements related front-end changes (new crop/ raster edit components, many image-editor models, tests and workflow hooks) and server-side contract/handler updates across api-server, shared-contracts, platform-audio, platform-image and vector_engine_audio_generation to support the new submission/asset flow and validations.
2026-06-18 17:31:35 +08:00
JenkenB 6f1ae6caef 固定生成规范参数并支持删除生成中占位
生成规范类图片固定提交 16:9、2K 和 gpt-image-2,并在面板底部只读展示。

生成中占位支持通过 Delete 或 Backspace 删除,不新增可见删除按钮。

异步生成回写前按生成对象 ID 校验,避免已删除占位重新落回画布。

更新编辑器生成面板与图片画布技术文档及相关测试。
2026-06-18 16:53:59 +08:00
JenkenB 9eab60e427 修复编辑器底栏选项面板悬停交互
将生成规范和生成音乐底栏入口改为悬停打开、离开收起

将生成音乐选项面板锚定到音乐按钮上方,避免错位

补充底栏 hover 行为和音乐菜单定位测试

更新生成类面板 Lovart 交互文档
2026-06-18 16:43:02 +08:00
JenkenB ac180ecad9 完善画板生成音乐与生成面板交互
新增画板底部生成音乐入口,支持游戏音效和游戏背景音乐生成面板。

接入编辑器音频生成前后端契约、VectorEngine 请求与 BFF 路由。

补齐音频结果图层、元数据、画布恢复和客户端提交流程。

统一生成类面板 Lovart 式参数浮层、参考素材入口与相关测试。

更新编辑器音乐生成设计文档和项目长期记忆。
2026-06-18 15:42:17 +08:00
Codex 0ebf6242bb 完成图片编辑器宣发素材生成
新增宣发素材入口、工作流模型、画布生成卡片和参考图选择能力。

接入宣发素材真实生图请求,隐藏 Prompt 摘要和约束预览,并将约束作为内部 Prompt 使用。

支持游戏首图、详情五图、运营海报尺寸,其中详情五图一次生成五张 720x1280 竖图。

后端仅对 publication-material 生图扣 5 泥点,并沿用现有失败退款逻辑。

补充前后端测试和宣发素材设计文档。
2026-06-18 00:05:25 +08:00
kdletters 946308b75e 保存图片画布生成器快照
将生成器对话框作为画布布局项序列化和恢复

生成成功后保留生成器快照并锚定到成品图层

图片类生成结果同步写入账号素材库

补充生成器持久化测试和浏览器回归相关文档
2026-06-17 23:57:25 +08:00
kdletters 6d964937db 完善画布生成面板交互
补齐普通生图参考图来源菜单和画布选择流程

接入UI设计图与视频生成面板的提交链路

让生成引用上传目标支持多种生成面板

统一图片信息弹窗断言并补充相关测试

修复图标按钮浮层锚点ref与视频生成类型契约
2026-06-17 21:49:32 +08:00
kdletters d8b935317d 拆分编辑器前端画布视图
抽出素材栏、生成器、舞台工具栏和画布世界视图

补充各拆分视图的聚焦测试

更新 TRACKING.md 记录第三十四阶段验证
2026-06-17 17:48:12 +08:00
kdletters 7a77ab4df7 修复上传素材切换侧栏
上传到画布后保持当前左侧侧栏状态。

补充上传工作流和画布 drop 回归断言。

更新跟踪记录并完成浏览器回归。
2026-06-17 14:59:02 +08:00
kdletters 84818f9bd5 拆分图片画布生成表面编排
新增 useImageCanvasGenerationSurface 收口生成浮层编排。

主视图移除生成 Composer 大段 props 胶水。

舞台控制模型移除重复生成锚点派生。

补充生成表面 hook 单测并更新拆分文档与跟踪记录。
2026-06-17 14:40:57 +08:00
JenkenB f8e063a878 Merge branch 'codex/editor-asset-library' of https://git.genarrative.world/GenarrativeAI/Genarrative into codex/editor-asset-library 2026-06-17 14:13:53 +08:00
JenkenB e970d34574 调整图片编辑器参考图选择交互
- 常规参考图入口改为先弹出来源菜单,支持从画布选择和上传图片。

- 角色规范、图标规范和常规参考图来源菜单统一向上弹出。

- 画布参考图选择拦截普通图层选中逻辑,保持生成面板不隐藏。

- 补充图片编辑器交互测试与技术文档说明。
2026-06-17 14:08:26 +08:00
kdletters a319d2ae0d 拆分图片画布顶部栏视图
新增 ImageCanvasTopbarView 承载返回项目入口和项目标题区域

新增顶栏视图测试覆盖重命名和导出入口

精简 ImageCanvasEditorView 的顶部栏 JSX

更新图片画布拆分计划和 TRACKING 验证记录
2026-06-17 13:48:48 +08:00
kdletters 1c92db19c1 拆分图片画布舞台控制层
新增 ImageCanvasStageControllerModel 承载舞台派生状态和右键菜单模型

新增 useImageCanvasStageController 收口清空焦点和右键菜单处理

精简 ImageCanvasEditorView 的舞台控制胶水

更新图片画布拆分计划和 TRACKING 验证记录
2026-06-17 13:39:48 +08:00
kdletters 015716945e 拆分图片画布素材入画布桥接
新增 useImageCanvasAssetCanvasBridge 承载素材加入画布和画布 drop 桥接

新增 hook 单测覆盖素材建层、pointer drop 和删除素材清理图层

精简 ImageCanvasEditorView 中的素材到画布胶水

更新图片画布拆分计划和 TRACKING 浏览器回归记录
2026-06-17 13:14:36 +08:00
kdletters d0ad8402de 拆分图片画布浮层定位模型
新增 ImageCanvasOverlayModel 承载生成输入框、图片工具栏、快速编辑和角色动画面板定位规则

新增浮层定位模型单测覆盖锚定、边界限制和生成面板可见模式

更新图片画布前端拆分计划和 TRACKING 记录本阶段验证

精简 ImageCanvasEditorView 中的浮层坐标计算
2026-06-17 12:46:41 +08:00
kdletters cdc823611b 拆分图片画布素材拖拽桥接
新增素材拖拽桥接 hook,承接素材拖向画布或文件夹的全局 pointer 监听

恢复认证弹窗 portal 渲染,避免全屏画布遮住账号入口

优化画布背景设置面板,补回当前色、色域、色相、预设、HEX 和恢复默认

补充素材拖拽、认证弹窗和背景面板回归测试并更新文档与 TRACKING
2026-06-17 12:20:04 +08:00
kdletters 5d6be7fd66 拆分图片画布键盘快捷键
新增图片画布键盘快捷键 hook,承接撤销重做、删除、Escape 和临时抓手逻辑

保留主视图状态编排,只把 window 键盘监听移出巨型组件

补充键盘快捷键 hook 测试并更新拆分文档和 TRACKING 记录
2026-06-17 11:50:44 +08:00
kdletters f34556d33d 拆分图片画布图片信息弹窗
新增图片信息弹窗组件,承接 metadata 详情渲染和 UnifiedModal 接入

修复未登录进入编辑器时项目和素材接口抢跑 401

修复重置画布视图点击事件误传导致适合视图报错

补充图片信息弹窗、鉴权门禁和重置按钮回归测试

更新前端拆分文档和 TRACKING 浏览器回归记录
2026-06-17 10:56:51 +08:00
kdletters 53d1283083 拆分图片画布拖拽入画布流程
新增画布拖拽 drop workflow,承接素材库图片和本地文件拖入画布分流

补充拖拽入画布 hook 测试,覆盖遮罩、默认文件夹和无关拖拽不拦截

更新前端拆分文档和 TRACKING 浏览器回归记录
2026-06-17 10:17:07 +08:00
kdletters 31da3b2fa2 拆分图片画布舞台交互
新增画布舞台交互 hook,承接选择、框选、拖拽、平移和小地图 pointer 状态机

更新历史恢复清理入口,撤销重做时统一重置舞台交互状态

补充舞台交互 hook 测试并更新前端拆分文档和 TRACKING 记录
2026-06-17 10:04:32 +08:00
kdletters 31cc1f0473 拆分图片画布视口控制
新增视口控制 hook 管理缩放、滚轮、坐标和小地图

从主视图移除视口尺寸与滚轮绑定逻辑

补充视口控制单测并更新拆分记录
2026-06-17 09:17:04 +08:00
kdletters e67e921c67 拆分图片画布编辑器外壳状态
新增编辑器外壳状态 hook

抽出项目重命名、背景设置、侧栏和工具状态

补充外壳状态单测并更新拆分记录
2026-06-17 08:58:43 +08:00
kdletters be3d91f1c5 修复图片画布素材上传鉴权
统一侧栏上传入口走上传工作流

未登录素材上传先弹账号入口,不再打开文件选择器

补充上传鉴权回归测试和编辑器拆分文档记录
2026-06-17 08:35:00 +08:00
kdletters e07002c1dc 拆分图片画布生成工作流
新增 useImageCanvasGenerationWorkflow 承接生成入口、提交和结果落图

主视图改为通过生成工作流 hook 处理生成态清理和工具入口

补充生成工作流单测、拆分文档和 TRACKING 浏览器回归记录
2026-06-17 08:11:51 +08:00