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:

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
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