Commit Graph

325 Commits

Author SHA1 Message Date
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
kdletters 74567e8bb3 收口H5原生能力门控
H5 原生导航和支付能力统一通过 canUseNativeHostCapability 门控

原生壳门禁禁止 H5 facade 直接读取宿主能力数组

架构文档记录 H5 原生能力统一门控规则
2026-06-20 03:33:15 +08:00
kdletters 74661b1a5a 收口本地通知交付结果语义
新增共享本地通知系统交付结果契约

Expo 与 Tauri 壳返回结构化通知交付结果

H5 兼容结构化结果并同步门禁、测试和文档
2026-06-20 03:13:53 +08:00
JenkenB 4677eb60dc Merge branch 'codex/editor-asset-library' of https://git.genarrative.world/git/GenarrativeAI/Genarrative into codex/editor-asset-library 2026-06-20 00:04:22 +08:00
JenkenB 8887e4c3a7 1 2026-06-20 00:02:01 +08:00
kdletters 10dcc2b403 修复图片画布素材与宣发尺寸问题
修复画布上传素材持久化回填和项目重进资源元数据恢复

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

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

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

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

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

更新图片画布编辑器技术文档
2026-06-19 23:16:59 +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 d7af659aa5 收紧导入结果消费边界
将文本、文档、图片和音频导入结果归一化提升到共享 HostBridge 契约
让 H5 facade 消费宿主导入结果前复核文件名、MIME、字节数和 base64 载荷
移除 H5 facade 本地导入 MIME Set 并用总门禁反查共享 normalizer
增加导入结果边界测试和超限结果回退覆盖
同步宿主壳协议文档和共享决策记录
2026-06-19 16:34:35 +08:00
kdletters e644d7c99f 后端保存画布生成素材
生成接口接收项目与素材上下文并返回 resource/asset 快照

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

补充生成元数据保存边界的测试与文档
2026-06-19 16:30:56 +08:00
kdletters a68377596a 收紧文本导出载荷边界
将文本导出载荷预校验提升到共享 HostBridge 契约
让 H5 facade 按共享文本导出边界归一化文件名、MIME 和内容大小
保留 Expo 与 Tauri 壳对文本字节数和 MIME 的二次校验
增加文本导出载荷测试和三端壳总门禁反查
同步宿主壳协议文档和共享决策记录
2026-06-19 16:25:14 +08:00
kdletters 71510ef797 收紧媒体导出载荷边界
将图片和音频导出载荷预校验提升到共享 HostBridge 契约
让 H5 facade 按共享媒体导出边界归一化文件名、MIME 和 base64 载荷
保留 Expo 与 Tauri 壳对真实字节和 MIME 的二次校验
增加媒体导出载荷测试和三端壳总门禁反查
同步宿主壳协议文档和共享决策记录
2026-06-19 16:18:54 +08:00
kdletters 14da1a7e12 收紧分享载荷边界
将 share.open 分享目标归一化提升到共享 HostBridge 契约

让 H5 facade 和 Expo 移动壳按共享分享边界发送与消费载荷

把原生分享 URL 统一映射到公开 H5 主站地址

增加分享载荷测试和三端壳总门禁反查

同步宿主壳协议文档和共享决策记录
2026-06-19 16:08:42 +08:00
kdletters 002b48770d 合并编辑器素材库分支
合入 codex/editor-asset-library 最新改动
保留音视频 OSS 素材库保存与自定义播放器交互
合并画布素材标签编辑与视频换签渲染逻辑
通过后端编译和角色抠图回归测试
2026-06-19 15:58:20 +08:00
kdletters 98f62474b6 收紧外链载荷边界
将 app.openExternalUrl 外链载荷归一化提升到共享 HostBridge 契约

让 H5 facade 和 Expo 移动壳按共享外链 payload 边界发起与消费请求

增加外链载荷测试和三端壳总门禁反查

同步宿主壳协议文档和共享决策记录
2026-06-19 15:48:48 +08:00
kdletters 64f496d091 收紧窗口标题载荷边界
将 app.setTitle 标题长度和控制字符规则提升到共享 HostBridge 契约

让 H5 facade 和 Tauri 壳按共享窗口标题边界归一化载荷

增加标题边界测试和三端壳总门禁反查

同步宿主壳协议文档和共享决策记录
2026-06-19 15:34:37 +08:00
kdletters 95d6bc2ae7 接入外部 OpenAPI 与 API Key 管理
新增外部编辑器 OpenAPI 路由与 openapi.json 导出

新增账号级 API Key 表、鉴权、创建、列表和撤销链路

新增个人中心开发者 API Key 管理弹窗

补充前端契约、客户端方法、测试与项目文档
2026-06-19 15:31:53 +08:00
kdletters 4b269c7bc2 收紧 H5 触觉反馈载荷
在 H5 HostBridge facade 发起触觉反馈前按共享 style 清单归一化

增加触觉反馈载荷归一化测试和总门禁反查

同步宿主壳协议文档和共享决策记录
2026-06-19 15:25:31 +08:00
kdletters b9ec549344 收紧 H5 剪贴板写入载荷
在 H5 HostBridge facade 发起剪贴板写入前按共享上限归一化文本

增加 HostBridge 写剪贴板载荷截断测试和总门禁反查

同步宿主壳协议文档和共享决策记录
2026-06-19 15:19:42 +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
kdletters 14f4ae4a65 统一原生扫码超时契约
将二维码扫码超时提升到共享 HostBridge 契约

让 H5 facade 和测试复用共享扫码超时常量

增加原生壳门禁拦截扫码超时字面量回退

补充宿主壳方案文档和共享决策记录
2026-06-19 14:01:29 +08:00
kdletters fb8c9c2880 收口宿主用户交互超时
将宿主用户交互长操作超时提升到共享 HostBridge 契约

让 H5 HostBridge facade 复用共享用户交互超时

增加原生壳门禁拦截 H5 facade 手写交互超时

补充 HostBridge 测试、壳方案和共享决策记录
2026-06-19 13:48:54 +08:00
kdletters ca9581e534 收口宿主运行态回读超时
将原生宿主 runtime 回读短超时提升到共享 HostBridge 契约

让 H5 HostBridge facade 复用共享 runtime 回读超时

增加原生壳门禁拦截本地 runtime 回读超时重声明

补充 runtime 回读测试、壳方案和共享决策记录
2026-06-19 13:41:54 +08:00
kdletters bd0f566e76 收口原生壳请求超时边界
将原生壳请求默认超时和最大超时提升到共享 HostBridge 契约

让 H5 nativeAppHostBridge 复用共享超时边界

增加原生壳门禁拦截本地超时边界重声明

补充原生壳方案和共享决策记录
2026-06-19 13:26:01 +08:00