Commit Graph

351 Commits

Author SHA1 Message Date
kdletters 3530e9251e 优化画布任务计时与去背景占位
移除画布任务列表的百分比展示

生成中任务显示阶段和已用时,排队任务不计时

去除背景在项目画布中创建生成占位并通过后端快照完成

补充客户端、工作流和后端契约测试

同步图片画布技术文档和项目记忆
2026-06-30 19:24:35 +08:00
kdletters 53c5639620 完善画布任务与标准绿幕抠除链路
统一编辑器标准绿幕提示词和本地绿幕透明化后处理

生成标准绿幕资产前保存源图到 OSS 并下沉字节级抠绿到 platform-image

将手动去背景接入外部生成队列与画布任务侧栏

修复任务侧栏分页、滚动、计时、焦点与完成信息展示

补充右键菜单关闭和素材复制下载交互

同步编辑器相关文档和项目记忆

(cherry picked from commit a8c19e132d)
2026-06-30 17:12:13 +08:00
kdletters fab9f21aa7 完善画布任务列表与远程抠图接入
新增图片画布任务侧栏页签、滚轮隔离、完成时间、后端计时和运行中状态展示。

限制外部生成任务只显示当前项目,并让任务点击聚焦画布内容和快速编辑源图。

接入外部生成任务列表查询状态过滤、提示词摘要和后端任务映射。

补充 BiRefNet 抠图请求日志、任务耗时提示和相关文档。

补充侧栏、画布聚焦、外部任务契约和 api-server 定向测试。

(cherry picked from commit 12ef866b66)
2026-06-30 17:12:13 +08:00
kdletters 08f188e26e 切换图片画布抠图到 BiRefNet
新增图片画布去背景 BFF 配置与路由,服务端代理 BiRefNet 并持久化结果。

将手动去背景、角色图、图标 spritesheet、UI 素材提取和角色动作帧抠图切到 BiRefNet。

新增画布右上角任务侧栏并展示去背景任务耗时与状态。

同步图片画布技术文档和项目决策记录。

(cherry picked from commit 495fcc8801)
2026-06-30 17:12:13 +08:00
kdletters f40a45e01b 合并编辑器素材修复分支
合并 codex/240e-editor-asset-fixes 到 codex/editor-asset-library

保留视频生成资源与素材返回

保留视频缩略图与生成输入元数据
2026-06-29 11:37:26 +08:00
kdletters ad72e4691c 修复编辑器素材与交互验收问题
生成视频结果写入编辑器资源和素材库,并返回视频素材快照

上传视频使用真实视频尺寸创建素材和画布图层

素材库视频卡片使用签名地址渲染首帧预览并显示视频标签

剪贴板图片粘贴重新接入系统粘贴和右键粘贴路径

多选图层拖拽保留已有选区并批量移动

图标规范引用支持对象存储资源和素材引用,不再要求 Data URL

音效和背景音乐生成失败展示上游详细原因
2026-06-29 11:29:48 +08:00
kdletters 4321312b8e Merge remote-tracking branch 'origin/codex/editor-asset-library' into codex/editor-asset-library
# Conflicts:
#	docs/technical/【前端架构】图片画布编辑器MVP接入方案-2026-06-11.md
#	src/components/image-editor/ImageCanvasEditorModel.ts
2026-06-28 17:05:36 +08:00
kdletters 567a9110dc Merge remote-tracking branch 'origin/master' into codex/editor-asset-library 2026-06-28 01:11:09 +08:00
kdletters 8ee57210a4 修复编辑器参考图与后台日期问题
后台 Dashboard 默认日期按北京时间计算

图片快编请求补齐额外参考图、模型和尺寸参数

后端校验参考图 objectKey 归属并放宽编辑请求体限制

同步资产契约、测试和相关文档
2026-06-28 01:09:40 +08:00
kdletters 63790e22ef 补齐画板视频封面持久化
生成画板视频时截取首帧并上传为封面

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

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

补充相关测试与文档说明
2026-06-28 00:22:59 +08:00
kdletters 5976c2b337 支持素材生成上传参考图
图标素材生成支持上传普通参考图并提交到后端参考图数组。

UI设计图生成和UI素材提取支持上传参考图并写入生成输入记录。

同步前后端契约、OpenAPI、文档和相关单测。
2026-06-27 22:18:10 +08:00
kdletters f20f4e0f8e 修复创作页精选作者和瀑布流宽度
公开精选接口返回作者展示名和陶泥号

前端精选作者只使用公开展示字段,不再兜底内部用户 ID

约束精选瀑布流多列容器宽度,避免 release 桌面端横向撑宽

补充前后端回归测试和项目记忆文档
2026-06-27 20:06:24 +08:00
kdletters a6671e7da7 修正图标素材只生成透明图集
后端图标素材生成只持久化扣绿后的 spritesheet 图集。

响应兼容保留 iconImageSrcs 但图标生成固定返回空数组。

前端测试改为验证只回填图集且不生成独立图标层。

同步 OpenAPI、编辑器文档和项目记忆中的图标素材生成约定。
2026-06-27 18:52:48 +08:00
kdletters 8eecd038f5 允许UI素材提取选择模型
为UI素材提取面板接入图片模型选择器,默认使用nanobanana模型。

提取提交链路传递选中模型并按模型计算泥点价格。

后端UI素材提取请求支持模型字段,队列、执行、持久化和响应统一使用选中模型。

同步外部OpenAPI模型字段并补充前端工作流、客户端请求和后端默认模型测试。
2026-06-27 17:51:41 +08:00
kdletters d73dc02f4d 合并 master 到跳一跳分支
合入 origin/master 最新变更

解决跳一跳提示词测试与图集去背冲突
2026-06-26 21:30:26 +08:00
kdletters c5295a619c 收紧生成任务轮询与资产读取路径
空生成任务列表不再保持四秒轮询

读取资源字节优先通过read-url直连OSS

保留read-bytes作为OSS读取失败兜底

更新资产导出与项目记忆文档口径
2026-06-25 23:01:24 +08:00
kdletters 28e11c4718 修复项目封面本地兜底
新增项目封面 IndexedDB 本地缓存。

封面 Blob 生成后先写入本地缓存,上传失败仍可展示。

项目列表优先服务端封面,其次本地缓存,再回退画布图层。

补充封面兜底测试和项目记忆文档。
2026-06-25 21:59:05 +08:00
kdletters 0c2f743010 要求UI素材图集使用绿幕背景
后端UI设计素材提取固定提示词加入纯绿色绿幕要求

前端UI设计素材提取常量与历史字段断言同步绿幕要求

更新编辑器文档和项目记忆中的素材提取约定
2026-06-25 14:58:09 +08:00
kdletters 6bf8b0051b 完善画板生成器与素材导出体验
图片改造改为独立 quick-edit 生成器占位并补齐提交链路
生成完成应用项目快照后同步刷新素材库
序列帧导出补充 Spine JSON 与独立验证器
序列帧播放预加载帧资源以减少加载闪烁
本地 dev 默认启用 all 进程角色并更新文档
2026-06-25 00:12:21 +08:00
kdletters 4eb7bca536 修复画布素材导出跨域读取
导出读取改走同源 read-bytes 接口

readAssetBytes 支持 objectKey 直读

补充对象素材导出不触发 OSS 跨域请求的回归测试

更新画布素材导出文档的 CORS 边界
2026-06-24 21:15:22 +08:00
wuxiangwanzi 468bdd5cb5 修复精选栏用户id显示
公开精选资源接口透传 ownerUserId

精选模型使用 ownerUserId 作为作者兜底

补充前后端回归测试和相关文档
2026-06-24 20:38:17 +08:00
kdletters db056423de 修复生成确认与素材导出
补齐外部生成确认请求的 JSON Content-Type

本地屏蔽已确认终态任务避免轮询重复弹窗

单素材导出改为读取 Blob 后触发浏览器下载

序列帧导出按 frame objectKey 换签读取
2026-06-24 20:35:03 +08:00
kdletters b6c5fdeb30 修复生成完成提示与项目封面快照
生成完成提示展示后后台确认,避免刷新重复弹出

项目封面改为保存并读取静态快照资源

补充封面快照上传、选择和展示测试

同步外部生成与图片画布契约文档
2026-06-24 19:30:16 +08:00
wuxiangwanzi 32fc4089cb 补充是否公开资源的逻辑,修改精选列表展示逻辑
新增画布项目资源公开展示开关和公开精选资源接口。

左侧素材右键菜单支持公开展示勾选与删除操作。

陶泥儿精选改为读取全站公开生成资源并过滤同源同媒体副本。

拖拽生成素材入画布时保留源资源关系并复用同源资源。

同步 SpacetimeDB 迁移、绑定、前端测试和相关文档。
2026-06-24 17:25:19 +08:00
kdletters 73a17193d4 升级外部生成为正式任务列表
将 external_generation_job 扩展为含价格、确认时间、退款流水和事件审计的正式生成任务事实源

新增外部生成任务列表与确认 BFF,并让平台入口按后端任务补弹完成或失败提示

保护画布生成队列超时、快照回写和自动保存覆盖场景

将 worker 计费退款流水写入 externalGenerationJobId,并补充冷备份后 worker/controller 恢复守护
2026-06-24 15:17:12 +08:00
kdletters f1b4e70bda 节流私有素材换签请求
限制大量不同素材同时换签时的首批派发和后续间隔

补充 read-url 换签爆发导致发布入口 429 的排障记录
2026-06-23 23:11:37 +08:00
kdletters 0c2c0c2c0f 合并 master 到编辑器素材库分支
同步主线原生壳与宿主桥接改动

保留画板媒体瘦身和请求重试契约

合并项目记忆决策记录
2026-06-23 17:25:35 +08:00
kdletters f5ede50ba9 瘦身画板媒体保存链路
改造画板项目保存响应为轻量 ack

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

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

刷新生成后泥点余额并补充回归测试
2026-06-23 17:21:55 +08:00
kdletters 9ad2152816 为图片编辑器上传和生成加自动重试
新增图片编辑器请求重试配置

生成请求遇到429等临时错误自动重试

上传凭证、资产确认和直传上传共用重试策略

补充图片编辑器重试参数和直传429测试
2026-06-23 16:30:54 +08:00
kdletters 0579741f64 画板生成统一接入Worker队列
新增图片画布外部生成队列封装和 worker job 分发

将画板图片、改图、图标、UI 素材、角色动作、视频和音频生成切到队列模式

前端提交生成任务后轮询 queueState 并应用后端项目快照

补充共享契约、测试和 worker 化文档说明
2026-06-23 01:07:33 +08:00
kdletters 79257f6e4a 合并编辑器素材库最新分支
合并 codex/editor-asset-library 到 master
同步编辑器生成服务端计费能力
同步创作主页精选素材来源限制
2026-06-22 23:29:31 +08:00
JenkenB 7830d201c4 Server-side billing for editor generation
Move editor generation pricing to backend: remove priceMudPoints from public request schemas and docs, require backend to compute model prices and perform pre-charge via execute_billable_asset_operation_with_cost. Update character animation and video handlers to use authenticated owner IDs and wrap generation requests in billing; remove client-side price validation. Adjust OpenAPI, project-memory docs, pricing management docs, and related tests to reflect that front-end only displays prices and must not submit priceMudPoints. Also document new user registration reward and wallet refund outbox behavior. Code and test changes applied across api-server handlers, shared contracts, and image-editor client/tests.
2026-06-22 23:11:23 +08:00
kdletters 008bbae845 合并编辑器素材库分支
合并 codex/editor-asset-library 到 master
保留原生壳桥接统一分支已合入内容
合并图片编辑器素材库、模型定价和项目记忆更新
解决项目记忆踩坑记录冲突
2026-06-22 22:37:14 +08:00
kdletters 25761b84a3 合并原生壳桥接统一分支
合并 Expo 移动壳与 Tauri 桌面壳工程
保留创作主页、项目入口和现有生产发布脚本
同步 HostBridge 文档、依赖锁文件和原生壳门禁
2026-06-22 22:28:31 +08:00
JenkenB 2007f1f9ce Update editor generation pricing defaults
Unify and lower default mud-point prices across editor generation features and update related API/schema, docs and tests. Changes set gpt-image-2 to 1K=3 / 2K=5, audio1.0 to 5, and chirp-v5 to 12, and update server default JSON, frontend models/workflows, OpenAPI schema (require aspectRatio/imageSize/priceMudPoints for UI extraction), multiple UX docs (quick-edit viewport, UI extraction panel, pricing guidance) and accompanying tests to match the new defaults and validation rules.
2026-06-22 21:10:43 +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
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 8bd8363ffa 修正原生壳公开主站配置
将原生壳公开主站统一为 www.genarrative.world

调整 Tauri release 直接加载线上主站并移除 frontendDist 打包

补齐创作入口配置开发代理与回归测试

同步原生壳方案文档和共享记忆
2026-06-22 15:07:02 +08:00
kdletters fc49ba2a61 后端写入画布生成完成态
后端在图片生成完成后直接写入画布布局和生成器状态

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

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

更新OpenAPI、图片画布文档和共享排障记忆
2026-06-21 22:30:03 +08:00
kdletters 928aecdcb1 扩展画布生成视频参数
生成视频面板支持多比例、4到15秒时长滑杆和静音开关
生成视频清晰度增加1080p并限制Fast模型不可选
生成视频请求默认携带联网搜索标记但不在前端展示
后端校验视频比例、时长、清晰度和声音参数并映射音频生成
更新编辑器视频参数文档和项目决策记录
2026-06-21 20:16:22 +08:00
kdletters ba000111d7 收口原生能力可信边界
H5 原生能力只信任真实 host.getRuntime 回包

移除桌面壳未声明网络事件白名单

补齐原生壳能力门控测试和共享决策记录
2026-06-21 18:08:02 +08:00
kdletters de9eaef28f 改为行引用保存画布参考图元数据
生成输入参考图只保存 refType/refId 行引用
生成器布局快照只保存参考图行指针并在加载时恢复临时源
上传参考图优先创建项目资源行并回写 resourceId
元数据弹窗改为展示参考图行引用信息
更新图片画布技术文档和项目决策记录
2026-06-21 17:27:23 +08:00
kdletters c0624e1576 收口宿主导航诊断日志
微信小程序导航失败日志改为固定标签

移动 WebView 进程失败日志不再输出 detail 对象

补充门禁和共享决策记录
2026-06-21 16:51:40 +08:00
kdletters a3751f18af 锁定原生壳消息来源边界
补充 HostBridge 伪造 origin 事件测试

新增原生壳消息 source 与 origin 门禁
2026-06-20 22:06:01 +08:00
kdletters fba6fb75fb 锁定微信原生页跳转失败提示
H5 HostBridge 微信小程序跳转失败不再透出原生 errMsg

HostBridge 测试覆盖微信跳转失败稳定提示

native shell 总门禁反查微信跳转失败边界
2026-06-20 13:43:48 +08:00
kdletters 3c853da830 区分原生文件选择取消语义
H5 HostBridge 将原生取消从不支持能力错误中拆出

文件导入与拍摄取消统一返回 null,保留不支持和畸形结果为 false

补充取消导入与拍摄回归测试并加入原生壳门禁反查
2026-06-20 05:07:43 +08:00
kdletters 17c1dac76d 收口原生壳剪贴板读取边界
H5 HostBridge 读取剪贴板时将畸形原生返回统一收口为 false

补充原生 App 剪贴板读取归一化回归测试

原生壳门禁反查 clipboard.readText 返回值必须经过共享剪贴板边界
2026-06-20 04:55:34 +08:00
kdletters 0e807d1fe8 收口H5原生导航目标预校验
H5 原生 App 导航请求发送前拒绝外域和危险协议目标

H5 HostBridge 测试覆盖不安全导航目标不触达原生壳

原生壳门禁反查 navigation.openNativePage 预校验
2026-06-20 04:43:50 +08:00
kdletters 082e056b18 收口H5原生状态结果归一化门禁
H5 HostBridge 测试覆盖原生配色异常值归一化

原生壳门禁反查配色和网络状态结果归一化
2026-06-20 04:37:10 +08:00
kdletters de77f59387 收口H5原生分享目标同步边界
H5 原生 App 分享目标同步前复用共享分享 payload 边界

H5 HostBridge 测试覆盖无效分享目标不发送原生请求

原生壳门禁反查 share.setTarget 发送前校验
2026-06-20 04:30:03 +08:00