Commit Graph

55 Commits

Author SHA1 Message Date
suzmii 05f0e2db06 合并master并保留Spine序列帧修复
合并master当前工程、后端、前端和文档更新

按已确认方案解决Spine序列帧多模态、帧数和快速编辑冲突

保留当前分支底部工具栏宽度与隐藏滚动条样式
2026-08-14 21:33:26 +08:00
suzmii d6cb68cf13 Spine序列帧修复与功能收紧 2026-08-13 01:05:57 +08:00
k88936 8abeb333bb 统一画布快速编辑白名单与入口行为 (#140)
Project CI / Repository checks (push) Successful in 56s
Project CI / Frontend tests (push) Successful in 4m1s
Project CI / Backend tests (push) Successful in 4m26s
Project CI / Native shell tests (push) Successful in 15m12s
- 使用白名单控制快速编辑功能的显示

- 同步浮动工具栏、右键菜单、打开入口和提交门禁
- 禁用角色动作序列帧(整体)、音频和单个图标(explain: backend reject)的快速编辑

- 把快速编辑api改为只接受resource Id | asset Id,删除 image_src 参数, 以保证校验

其中包含生产数据迁移。迁移用于清理历史普通图片错误持久化的 assetKind="image",覆盖 asset → project-resource → showcase → canvas 四个作用域,并包含 operator 鉴权、分批 dry-run、批次 SHA-256 绑定 apply、active 结构化画
  > 布迁移摘要同步及最终零残留复核。

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/140
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-08-12 14:46:24 +08:00
suzmii 1575afc92c Spine序列帧动画多模态生成 2026-08-10 20:14:09 +08:00
lhk229 bcff8f1957 修复 SFX 音效信息页元数据整块丢失 (#153)
Project CI / Native shell tests (push) Successful in 13m23s
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 / 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
kdletters 3c00bcd2e0 合并图标规范与图集生成优化
合入 PR 137 的图标规范生成、稳定引用与图集提示词链路
保留主分支现行音效提交、Prompt 模块与结果压缩逻辑
解决 External Worker、生成提交和客户端测试冲突
2026-08-08 21:44:15 +08:00
lhk229 38e195060b 合并 master 的付费生成预检与调试输出脱敏
Project CI / Repository checks (pull_request) Successful in 1m14s
Project CI / Frontend tests (pull_request) Successful in 2m52s
Project CI / Backend tests (pull_request) Successful in 3m54s
Project CI / Native shell tests (pull_request) Has been cancelled
合入 master 的编辑器付费生成目标预检与应用状态调试输出密钥泄漏两项修复。

SFX 直连与入队沿用 master 预检,源码顺序回归改为锁定本分支的 ElevenLabs worker 编排入口。

画布 Agent 音效参数恢复通用 null 缺省兼容,但保留 duration null 表示自动时长的 SFX V2 语义。

音效时长越界断言按 SFX V2 的 0.5-30 秒边界上移,重算契约测试期望。

哨兵测试补入 ElevenLabs base URL 与 API key,锁定其默认缺席于 AppConfig 调试输出。
2026-08-08 05:33:40 +00:00
k88936 3016b6a3af 合并主分支并保留画布图标与场景生成能力
解决编辑项目后端、SpacetimeDB 客户端与前端生成流程冲突

保留图标规范及图集链路并接入场景生成与统一目标预检

同步合并运行时、钱包、契约、文档与测试改动
2026-08-08 11:43:45 +08:00
k88936 e564db43f1 合并主分支
解决合并冲突
2026-08-08 10:48:13 +08:00
suzmii 72f268e088 Feat/游戏场景需求v1.0 (#139)
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
实现[游戏场景需求v1.0](https://kcnz41bksl1c.feishu.cn/wiki/JSF3wdhduinpqhkrVGKcZFp4nng?psg_id=8477599259997387860&refer_index=1&refer_type=citation)。

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Co-authored-by: suzmii <suzmii@foxmail.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/139
Co-authored-by: 董羽秦 <suzmii@qq.com>
Co-committed-by: 董羽秦 <suzmii@qq.com>
2026-08-08 10:25:42 +08:00
k88936 e99f3209f1 阻止损坏生成配方降级恢复
保留生成配方 hydrate 来源状态

禁止损坏或未来版本配方回退 legacy 恢复

补齐资源快照与改造入口回归测试

记录已生成图层点击恢复浮层的产品待确认项

同步画布编辑器恢复契约文档
2026-08-07 20:25:42 +08:00
lhk229 5c316fc680 统一SFX提示词 trim 规范化
将 SFX Prompt 首尾规范化改为 ECMAScript String.trim 语义并同步 Rust 等值实现

更新共享边界 fixture、前后端与 Worker 回归测试

同步权威设计、实施计划、决策日志和 External OpenAPI 描述
2026-08-07 07:27:52 +00:00
k88936 21b05f9446 修复画布生成配方恢复边界
兼容生成配方未来字段与历史完美像素快照
补齐参数回退、旧版恢复告警和本地参考图上传
收紧生成任务幂等比较与裁扩来源归属
同步画布编辑器设计文档和回归测试
2026-08-07 13:19:47 +08:00
k88936 e2fbef79e1 修复画布生成配方恢复与快照失真
保持背景音乐规范提示词与生成输入快照一致。

统一 V2 generationInputs 的项目、素材与完美像素账本水合,并保留 legacy 兼容。

为完美像素、裁扩、去背景和图集切片保存确定性配方并禁止改造。

由服务端按当前账号资源重建安全来源引用,修复布尔元数据显示。

补齐刷新恢复、数值布尔、无标签引用、来源溯源与确定性操作回归测试。
2026-08-07 11:53:25 +08:00
lhk229 e1e4f487f5 实现 SFX V2 T4 生成面板交互
新增独立 SFX Prompt 助手状态机与请求隔离、单层撤销。

抽取通用音频预设跑马灯并接入 SFX 预设、计数和优化入口。

实现自动/手动时长、Loop、模型展示及同步提交参数冻结。

恢复项目布局状态,补齐回归测试并更新 T4 权威文档与共享决策。
2026-08-07 03:49:04 +00:00
lhk229 cd80c085ff 实现 SFX V2 T1 契约与提示词基础
统一前后端 SFX Prompt Unicode canonicalization、字符计数和 2048 边界
固化 52 个音效预设、追加规则及跨语言测试向量
演进共享音频请求响应、duration、Loop 和 V2 metadata 契约
增加 External model 输入矩阵纯函数并保持正式接线归属 T5
补齐前端提交、读取、深拷贝与请求边界回归测试
更新共享计划并标记 T1 完成且当前不可发布
2026-08-06 13:06:10 +00:00
k88936 969afbaf94 合并主分支并解决图标生成模块冲突
保留图标规范与图集生成独立模块边界

融合主分支角色动画与图片序列字段
2026-08-06 17:13:41 +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:
![shotmd-1785207959-compressed.webp](/attachments/e56454f0-49a3-4a8a-951f-c21960975f99)
after:
![shotmd-1785231365-compressed.webp](/attachments/886f07df-c25b-4ecc-acc9-160e1795a991)
精选模块: 主页展示, 审核部分UI:
![shotmd-1785500046-compressed.webp](/attachments/9ec3b679-0045-494a-9f20-134f7e73fecf)
![shotmd-1785499780-compressed.webp](/attachments/42396e63-5f26-4853-a367-0f3c15111add)
这两处序列帧们的加载设计为惰式的, 只有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 c932f5e8fb 合并主线并保留图标规范生成逻辑
同步游戏创作运行时、资源依赖画布与像素编辑链路更新
保留图标规范参考图解析与提示词结构调整
补齐合并后的前后端合同、文档与测试
2026-08-06 11:02:15 +08:00
lhk229 8f19964e3f 加入手动完美像素入口;像素艺术勾选时自动补提示词约束 (#124)
Project CI / Repository checks (push) Successful in 1m0s
Project CI / Backend tests (push) Successful in 3m52s
Project CI / Native shell tests (push) Successful in 13m8s
Project CI / Frontend tests (push) Successful in 2m43s
Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/124
Reviewed-by: 段舒康 <kdletters@qq.com>
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-08-05 21:28:40 +08:00
k88936 1f530bc806 合并主线并解决图标规范冲突
同步主线的智能体运行时、画布编辑器与后端生成链路更新
解决图标规范面板、编辑器客户端与长期决策文档冲突
保留图标规范分支的字段合同与生成入口
2026-08-05 14:40:38 +08:00
k88936 ac12e929f2 修复图标规范评审问题
迁移旧版 ui 规范快照并隔离跨对话框优化结果。

关闭非幂等图标规范生成重试并统一参考图解析逻辑。

限制 LLM 重试范围并严格校验优化文本与补全参数。

修正图集键色、数量与素材间距提示约束并补充行为测试。

同步图片画布与生成面板技术文档。
2026-08-05 11:32:18 +08:00
kdletters 7f18f7ce04 修复画布副本持久化与素材类型覆盖
Project CI / Frontend tests (push) Failing after 21s
Project CI / Repository checks (push) Failing after 43s
Project CI / Backend tests (push) Successful in 3m44s
Project CI / Native shell tests (push) Successful in 10m42s
复制布局复用项目资源并区分资源登记状态
新增图层素材类型覆盖并保持资源默认类型
补齐结构化存储迁移、绑定与权威类型校验
同步前后端回归测试和画布持久化文档
2026-08-04 18:06:15 +08:00
lhk229 72acd0ec05 停止向用户泄露抠图模型 (#120)
Project CI / Frontend tests (push) Successful in 3m40s
Project CI / Backend tests (push) Successful in 4m11s
Project CI / Repository checks (push) Successful in 1m19s
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
lhk229 732fcf0b45 新增图片生成像素艺术后处理
新增确定性像素网格规整模块并保留第三方 MIT 许可证。

为普通图片、角色和图标图集接入像素艺术选项、并发预算和失败降级。

同步前端交互、请求契约、OpenAPI、项目文档与测试。
2026-07-29 03:46:03 +00:00
kdletters 387a1c26e3 完成全量检查整改
清理已跟踪原始日志与个人本地配置
修复前后端有效门禁、测试和构建问题
补齐生产 Jenkins、SpacetimeDB 本地命令与文档约束
收紧图片编辑器状态、附件与媒体引用测试
排除已下线旧创作入口测试并清理 warning
2026-07-17 16:56:46 +08:00
kdletters f7f799df81 修复画布音频拖放与拖拽热区
素材库显式拖放不再叠加级联偏移,音频卡中心落在鼠标松手位置
将音频播放按钮热区收紧到中央,释放卡片主体用于选择与拖拽
补充模型、桥接和画布交互回归测试并同步音频设计文档
2026-07-14 10:23:42 +08:00
kdletters 67fee3718d 修复画布背景色与任务计时显示
恢复生成任务列表的进行中计时显示并兼容微秒时间戳

替换画布背景色原生取色器为可拖拽色盘和色带

持久化画布背景色并在项目恢复时应用

补充背景色交互持久化和任务计时显示测试
2026-07-09 16:05:25 +08:00
kdletters d50ecbc492 修复创作弹窗与生成器引用缓存
未开放工具弹窗补充平台主题背景
画布生成器缓存引用按当前账号过滤
新画布工具栏引导改用文档图片
补充弹窗、引导图和引用归属回归测试
2026-06-30 21:50:16 +08:00
kdletters e138562841 修复画布任务列表服务端任务显示
任务列表只使用服务端返回的生成任务。

保留生成任务水合后的开始和结束时间。

同步任务列表与画布阶段视图测试。

(cherry picked from commit 7417370ae9)
2026-06-30 17:12:13 +08:00
kdletters 63790e22ef 补齐画板视频封面持久化
生成画板视频时截取首帧并上传为封面

将视频生成结果写入素材库并保留 thumbnailSrc

同步后端契约、SpacetimeDB 绑定、前端素材库和画布层映射

补充相关测试与文档说明
2026-06-28 00:22:59 +08:00
kdletters ed6b17442a 修复画布素材删除级联
保留素材库 sourceResourceId 并写入画布图层

删除素材时用 sourceResourceId 匹配项目资源图层

补充级联删除持久化回归测试和排障记录
2026-06-24 14:58:44 +08:00
kdletters f5ede50ba9 瘦身画板媒体保存链路
改造画板项目保存响应为轻量 ack

统一生成上传媒体以 objectKey 持久化

补齐素材库缩略图换签与本地轻量缓存

刷新生成后泥点余额并补充回归测试
2026-06-23 17:21:55 +08:00
kdletters 7d3e652b53 优化项目封面加载与画布吸附
项目页封面和画布图层增加轻量加载态,图片解码不阻塞外框文字。

缩小等距吸附候选范围,降低多素材拖拽热路径开销。

补充项目封面、画布加载、吸附性能测试和文档说明。
2026-06-23 01:06:28 +08:00
wuxiangwanzi 6c984a24f6 修改滚轮缩放和图标容器比例bug
将画布滚轮缩放下限调整为可见 5%。

修正图标素材生成占位框尺寸,避免 1:1 默认外框过大。

取消图标素材占位装饰 tile 的反向缩放,避免缩小时内部容器异常放大。

补充画布缩放、图标占位和文档验收说明。
2026-06-23 00:19:09 +08:00
kdletters 1176c71f72 角色动作素材改为序列帧
将角色动作结果图层主类型改为 image-sequence,并持久化完整帧列表与预览视频来源

在画布中增加序列帧播放器,展示透明 PNG 帧而不是预览视频

将角色动作单素材下载和画布素材导出改为序列帧 ZIP/frames 目录

更新角色动作、导出方案和项目记忆文档,补齐相关前端测试
2026-06-22 20:49:51 +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
wuxiangwanzi 8b18a654eb 增加画布元素吸附功能
新增画布元素边缘、中心线与等距吸附计算。

接入图层与生成占位拖拽吸附,并保持多选队形同步偏移。

补充画布吸附模型和交互测试。

更新图片画布编辑器方案文档中的吸附验收口径。
2026-06-22 17:22:25 +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
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
kdletters 10dcc2b403 修复图片画布素材与宣发尺寸问题
修复画布上传素材持久化回填和项目重进资源元数据恢复

修复图片、音频、视频图层的私有资源换签与视频裸路径回退

修复宣发素材切换模型后卡片尺寸变成1024x1024的问题

修复音视频预览、媒体导出格式、音频默认提示词和前端去背边界

修复角色动作生成在编辑器路径缺少ffprobe时的已知时长兜底

补充图片画布、资源换签、宣发尺寸、媒体导出和chromaKey回归测试

更新图片画布编辑器技术文档
2026-06-19 23:16:59 +08:00
kdletters aa67e72ec5 修复宣发素材生成器刷新恢复
恢复画布布局中的 publication 生成器快照

补齐宣发素材卡片类型、游戏信息和参考图 hydrate

增加模型、面板和编辑器加载链路回归测试

更新图片画布持久化文档和共享踩坑记录
2026-06-19 17:23:34 +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 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 0e47a54a91 对齐编辑器生成占位与面板参数
统一画布生成占位图标,按图片、规范、角色、图标、UI、视频、音频、宣发和快速编辑区分。

让图片、规范、宣发和视频新建占位按面板尺寸或固定输出尺寸创建,并在参数变化时同步占位大小。

完善快速编辑、音频生成、宣发素材和生成类面板相关契约与测试。

更新生成类面板 Lovart 改造文档和项目决策记录。
2026-06-19 12:15:57 +08:00