lhk229
bcff8f1957
修复 SFX 音效信息页元数据整块丢失 ( #153 )
...
Project CI / Repository checks (push) Successful in 1m12s
Project CI / Frontend tests (push) Successful in 2m55s
Project CI / Backend tests (push) Successful in 4m0s
Project CI / Native shell tests (push) Successful in 13m23s
Project CI / Backend 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 / Frontend tests (pull_request) Has been cancelled
读边界的内联媒体脱敏在每层对象上无差别删除 null 值,把 SFX 自动时长 metadata 里
合法的 requestedDurationSeconds: null 一并删掉;客户端据此判定整份 soundEffect 非法,
音频信息页的「生成输入」退化成空,Task 也被截成 0 这类误导值。手动指定时长的音效不受
影响,图片路径的 generationInputs 没有可为 null 的字段,所以只有部分 SFX 可见。
- sanitize_editor_payload_media_value 改为返回「是否被抹除」,只删除本次抹掉的内联
媒体,调用方原有的显式 null 保留;脱敏强度不变,内联媒体与保留字段仍连键消失
- SFX 自动时长的 requestedDurationSeconds 接受显式 null 与整个键缺失两种同义形态
- 音频信息页 Task 按图层 assetKind 判定,不再随 soundEffect 元数据缺失降级成截断值
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/153
Co-authored-by: Linghong <ink29535@proton.me >
Co-committed-by: Linghong <ink29535@proton.me >
2026-08-09 13:47:16 +08:00
kdletters
a27798be77
合并生成参数恢复与改造入口修复
...
合入 PR 135 的 GenerationInputs V2 稳定字段与严格恢复链路
统一缺失来源时保留改造入口并在点击后复检拒绝
保留主分支 SFX V2 自动时长、Loop 与权威元数据语义
将队列引用槽位与场景配方修复移植到 PR 137 的模块结构
2026-08-08 22:03:50 +08:00
lhk229
87c0e167c4
音频信息的时长展示收敛到两位小数
...
Project CI / Repository checks (pull_request) Failing after 7s
Project CI / Backend tests (pull_request) Failing after 8s
Project CI / Frontend tests (pull_request) Successful in 3m17s
Project CI / Native shell tests (pull_request) Has been cancelled
模型返回的时长是全精度秒数,落库后信息面板会直出 8.306938775510204秒
这类无意义尾数。
- 新增 formatEditorGenerationInputFieldValue,只改写标题为「时长」或
duration 的字段中的首个数字,四舍五入到两位小数
- 接入音频信息弹窗与导出的可见元数据两处用户可见出口
- 不补零,"自动"这类无数字取值与其他字段原样保留
只作用于展示:generationInputs 落库值不变,重绘默认时长与作品时长推断
仍按原精度解析,已有素材也一并生效。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-07 12:28:41 +00:00
lhk229
392741215c
完成 SFX V2 T5 正式生成链路
...
Project CI / Repository checks (pull_request) Failing after 7s
Project CI / Backend tests (pull_request) Failing after 7s
Project CI / Frontend tests (pull_request) Successful in 2m52s
Project CI / Native shell tests (pull_request) Successful in 13m43s
接通 Luna 英文化、ElevenLabs 单次生成、MP3 校验、OSS 与权威元数据写回
演进站内和 External v1 契约、幂等参数、详情重绘与 Agent 音效模型
新增 ElevenLabs 动态定价键及历史定价快照兼容
同步 OpenAPI、外部 Agent Skill、共享计划与决策记录
2026-08-07 06:13:34 +00:00
k88936
e2fbef79e1
修复画布生成配方恢复与快照失真
...
保持背景音乐规范提示词与生成输入快照一致。
统一 V2 generationInputs 的项目、素材与完美像素账本水合,并保留 legacy 兼容。
为完美像素、裁扩、去背景和图集切片保存确定性配方并禁止改造。
由服务端按当前账号资源重建安全来源引用,修复布尔元数据显示。
补齐刷新恢复、数值布尔、无标签引用、来源溯源与确定性操作回归测试。
2026-08-07 11:53:25 +08:00
k88936
291724a984
合并主分支并解决画布生成冲突
...
同步主分支的角色动作序列、精选展示与外部编辑器契约更新
保留画布生成输入 V2 契约并合并视频、音效时长元数据
修复精选视频对数值型 V2 时长元数据的兼容
2026-08-06 17:09:39 +08:00
k88936
a03f13d0a5
Fix/动作 前端展示下载+后端数据结构+精选 的问题 ( #117 )
...
Project CI / Repository checks (push) Successful in 1m28s
Project CI / Frontend tests (push) Successful in 3m19s
Project CI / Backend tests (push) Successful in 4m3s
Project CI / Native shell tests (push) Successful in 13m58s
原问题
```
历史角色动作是一个兼容例外:
后端允许它没有 editor_project_resource 资源行,只要布局自身保存了完整图片序列帧。
```
- 把生成动作的原视频asstetkind改为 video, 只把图片序列作为action
- db asset新增字段image_sequence_frames_json image_seq_duration_ms等, (原来动作的这些数据存在generation-input中,并不合适)
修改了externaljob,把这部分数据正确填写到数据库中。
- 为避免到处fallback,做了数据库迁移, 脚本: `scripts/spacetime-normalize-editor-character-actions.mjs` 手动进行过画布+素材库中动作序列帧+原始视频 迁移的测试
- 移除preview_video_path字段, reason:
>preview video
→ separate resource/asset with assetKind="video"
final transparent action
→ assetKind="character-animation"
→ source_resource_id points to the preview-video resource
→ image_sequence_frames_json contains the actual playable result
>
> So preview_video_path on the final action duplicates the source video resource’s image_src.
- 移除每个frame的index字段 原因: 这个只用于后端内部处理时有一个并发请求, 每个赋一个index方便收集, 后续没有再用到,且与数组本身重复
- 清除副产品preview video的generation_input_json, 因为会影响改造功能, 迁移后预览视频不提供改造(参数), 只有序列帧动作有改造
仍存在的共性问题: #134
- 导出:
下载改为完整序列帧, 封面不再作为fallback, 部分帧读取失败时行为:仍生成 ZIP,并记录失败帧, 不变
画布放置:
before:

after:

精选模块: 主页展示, 审核部分UI:


这两处序列帧们的加载设计为惰式的, 只有hover和单独preview才会全部加载
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/117
Reviewed-by: 段舒康 <kdletters@qq.com >
Co-authored-by: 王德宇 <kvtodev@outlook.com >
Co-committed-by: 王德宇 <kvtodev@outlook.com >
2026-08-06 16:57:38 +08:00
k88936
0d0d4c0915
合并主分支协作 Prompt 约束更新
...
同步协作 Prompt 跨语义复用禁止规则
保留画布生成配方分支改动
2026-08-05 17:46:49 +08:00
k88936
78307de9a1
修复图片编辑复用与元数据回退的小问题
...
- 修复参考素材标签的空白文本回退显示
- 重构 quick-edit 参数选择逻辑,移除嵌套三元并统一回退
- 抽取生成复用流程的参数回退与缺失素材提示逻辑
- 使用 quick-edit 提交计划中的输出尺寸构建复用时占位符
2026-08-04 17:15:33 +08:00
k88936
5fd26a11ee
统一画布生成产物改造契约
...
新增 generationInputs V2 稳定 action、field id 与 reference id 契约
恢复图片、视频、音频、角色动作等生成面板并保留 legacy 回退
非生成裁扩、去背景和图集拆分不再继承生成配方
匿名精选响应不再返回 owner generationInputs
同步前后端测试与架构文档
2026-08-03 20:07:06 +08:00
k88936
e6b3199490
Fix/统一修复modal样式失效 ( #122 )
...
Project CI / Repository checks (push) Successful in 48s
Project CI / Frontend tests (push) Successful in 3m21s
Project CI / Backend tests (push) Successful in 3m53s
Project CI / Native shell tests (push) Successful in 11m16s
之前遇到几次弹窗的样式不生效,bug 现在在画布agent的删除对话弹窗又出现了,
这个pr把类似的修改集中到最下层的UnifiedModal,适用于所有的modal,
一些特殊的modal有特殊处理.
画布agent的删除对话弹窗

---------
Co-authored-by: 段舒康 <kdletters@qq.com >
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/122
Reviewed-by: 段舒康 <kdletters@qq.com >
Co-authored-by: 王德宇 <kvtodev@outlook.com >
Co-committed-by: 王德宇 <kvtodev@outlook.com >
2026-08-03 17:55:47 +08:00
lhk229
72acd0ec05
停止向用户泄露抠图模型 ( #120 )
...
Project CI / Repository checks (push) Successful in 1m19s
Project CI / Frontend tests (push) Successful in 3m40s
Project CI / Backend tests (push) Successful in 4m11s
Project CI / Native shell tests (push) Successful in 12m36s
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/120
Co-authored-by: Linghong <ink29535@proton.me >
Co-committed-by: Linghong <ink29535@proton.me >
2026-07-31 16:40:43 +08:00
k88936
29db6365e1
隐藏画板素材信息中Object ID
2026-07-06 19:23:02 +08:00
kdletters
73121f18ba
修复图片信息文本复制
...
移除图片信息弹窗的整段复制按钮
保留选中文本时的浏览器原生 Ctrl+C
放行图片信息弹窗内的浏览器右键菜单
补充文本复制与右键菜单回归测试
2026-06-28 17:43:52 +08:00
kdletters
20f6f20c55
修复画布图片信息复制
...
为图片信息弹窗增加复制信息按钮
复制内容仅包含当前可见元数据字段
补充图片信息复制回归测试和文档约定
2026-06-27 17:15:19 +08:00
kdletters
2e60e43e17
收紧画布素材导出元数据
...
只导出信息面板可见的素材元数据
过滤导出生成输入中的内置提示词
补充导出测试和图片画布文档约束
2026-06-23 19:23:46 +08:00
kdletters
1176c71f72
角色动作素材改为序列帧
...
将角色动作结果图层主类型改为 image-sequence,并持久化完整帧列表与预览视频来源
在画布中增加序列帧播放器,展示透明 PNG 帧而不是预览视频
将角色动作单素材下载和画布素材导出改为序列帧 ZIP/frames 目录
更新角色动作、导出方案和项目记忆文档,补齐相关前端测试
2026-06-22 20:49:51 +08:00
JenkenB
c836ac604d
Treat character-action generations as video & UI tweaks
...
Handle character-action generation results as real video assets: use backend previewVideoPath as layer src, set mediaType="video" and assetKind="character-animation", and store the first frame only as thumbnail/poster. Update docs to document the new behavior and preserve backend frame extraction/green-screen workflows. Update UI/UX: compact parameter labels (e.g. "16:9·1K"), quick-edit treats original image as an implicit last reference (hidden from the reference bar) and allows editable bottom capsules, and ensure exports preserve true media file types. Change upload toolbar icon to Upload and add tests to cover the icon and video-layer behavior; also add serialization/hydration test for video thumbnails and adjust many integration/unit tests to reflect new labels, sizes and generation semantics. Files touched include multiple docs under docs/, edited components and tests under src/components/image-editor/, and minor stylesheet updates.
2026-06-22 13:45:20 +08:00
kdletters
de9eaef28f
改为行引用保存画布参考图元数据
...
生成输入参考图只保存 refType/refId 行引用
生成器布局快照只保存参考图行指针并在加载时恢复临时源
上传参考图优先创建项目资源行并回写 resourceId
元数据弹窗改为展示参考图行引用信息
更新图片画布技术文档和项目决策记录
2026-06-21 17:27:23 +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
ac180ecad9
完善画板生成音乐与生成面板交互
...
新增画板底部生成音乐入口,支持游戏音效和游戏背景音乐生成面板。
接入编辑器音频生成前后端契约、VectorEngine 请求与 BFF 路由。
补齐音频结果图层、元数据、画布恢复和客户端提交流程。
统一生成类面板 Lovart 式参数浮层、参考素材入口与相关测试。
更新编辑器音乐生成设计文档和项目长期记忆。
2026-06-18 15:42:17 +08:00
JenkenB
b2fd5574db
接入画板生成视频功能
...
新增画板底部生成视频入口、Lovart 风格面板、视频图层渲染与元数据展示。
接入 /api/editor/videos/generations 契约与后端 Ark/VectorEngine 视频任务链路。
统一编辑器生成类泥点配置,并补充 UI 设计图、参考图与生成面板结构测试。
更新编辑器技术方案、生成类面板方案和 Hermes 共享决策/踩坑记录。
2026-06-17 20:52:45 +08:00
JenkenB
d1cd300695
隐藏图片信息中的上游标识
...
图片信息弹窗标题固定为图片信息,不再拼接图片名称
图片信息弹窗移除 Provider 展示行
Task 展示收口为任务标识末尾数字,避免暴露 Provider 字符串
补充图片信息脱敏展示回归测试
更新画板角色形象生成文档中的图片信息展示口径
2026-06-17 20:47:52 +08:00
kdletters
d8b935317d
拆分编辑器前端画布视图
...
抽出素材栏、生成器、舞台工具栏和画布世界视图
补充各拆分视图的聚焦测试
更新 TRACKING.md 记录第三十四阶段验证
2026-06-17 17:48:12 +08:00
kdletters
f34556d33d
拆分图片画布图片信息弹窗
...
新增图片信息弹窗组件,承接 metadata 详情渲染和 UnifiedModal 接入
修复未登录进入编辑器时项目和素材接口抢跑 401
修复重置画布视图点击事件误传导致适合视图报错
补充图片信息弹窗、鉴权门禁和重置按钮回归测试
更新前端拆分文档和 TRACKING 浏览器回归记录
2026-06-17 10:56:51 +08:00