Commit Graph

560 Commits

Author SHA1 Message Date
kdletters aa67e72ec5 修复宣发素材生成器刷新恢复
恢复画布布局中的 publication 生成器快照

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

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

更新图片画布持久化文档和共享踩坑记录
2026-06-19 17:23:34 +08:00
kdletters f615fcd770 合并 master 到图片画布素材分支
保留图片画布素材元数据迁移记录

合入 Pingora 网关与生产运维更新

解决外部生成 worker 测试夹具时间戳冲突
2026-06-19 17:01:31 +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 e644d7c99f 后端保存画布生成素材
生成接口接收项目与素材上下文并返回 resource/asset 快照

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

补充生成元数据保存边界的测试与文档
2026-06-19 16:30:56 +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 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 ea29887d9c 完善快速编辑参考图与生成占位
- 快速编辑支持最多8张额外参考图,并将原图自动作为最后一张参考图提交

- 快速编辑尺寸和模型沿用原图配置,按禁用态参数胶囊展示

- 快速编辑提交前同步改写原图引用为实际图序号

- 快速编辑生成改为创建独立画布生成占位,并支持键盘删除生成中对象

- 对齐生成类面板参考图图标、规范类固定参数和相关文档测试
2026-06-18 22:50:42 +08:00
kdletters e3258f6f1d 完善 Pingora 直连切换门禁
新增 Pingora shadow env 回切脚本与对应检查。

补齐直连证据包时间线和 cutoverRunId 审计门禁。

支持 Gitea Host 透传并更新直连多域名文档。

修复百分号编码静态图标路径并补 smoke 覆盖。

更新生产发布与运维护栏对 Pingora 发布包的校验。
2026-06-18 21:10:45 +08:00
JenkenB b04b6cee2b 修复画板生成面板与音乐音效链路
统一画板生成类面板的参数选项、热区交互、底部按钮和输入框布局。

新增并完善画板生成音乐入口、音效和背景音乐面板以及音频生成提交流程。

按 VectorEngine Suno 音效文档调整音效请求体、任务 ID 解析、轮询和音频地址解析。

补充 Seedance 视频生成版权限制报错的中文提示。

更新编辑器相关技术文档和回归测试。
2026-06-18 20:24:52 +08:00
JenkenB eb855644d5 对齐规范固定参数禁用态样式
生成规范固定参数复用可编辑面板参数胶囊按钮样式。

固定比例尺寸和模型按钮保持禁用不可点击且不弹出选项。

补充面板测试覆盖禁用态和不可展开行为。

更新编辑器 Lovart 面板与图片画布技术文档。
2026-06-18 18:51:53 +08:00
JenkenB 9c7b3ad16d Image editor: Seedance2.0 refs and audio changes
Adds Seedance 2.0 reference-media constraints and forbids video data URLs; updates docs/decision-log and pitfalls to record the new rules. Introduces typed audio params (type: one-shot|loop, tempo: number|null), generator-specific placeholder styles/avoidance and UI changes for generation panels. Implements related front-end changes (new crop/ raster edit components, many image-editor models, tests and workflow hooks) and server-side contract/handler updates across api-server, shared-contracts, platform-audio, platform-image and vector_engine_audio_generation to support the new submission/asset flow and validations.
2026-06-18 17:31:35 +08:00
JenkenB 6f1ae6caef 固定生成规范参数并支持删除生成中占位
生成规范类图片固定提交 16:9、2K 和 gpt-image-2,并在面板底部只读展示。

生成中占位支持通过 Delete 或 Backspace 删除,不新增可见删除按钮。

异步生成回写前按生成对象 ID 校验,避免已删除占位重新落回画布。

更新编辑器生成面板与图片画布技术文档及相关测试。
2026-06-18 16:53:59 +08:00
kdletters 3c1fd004a7 记录 Pingora 直连窗口准备
补充 dev final-prep 审计结果

记录 direct env 候选与 dry-run runbook

明确 active env 提升前不得执行公网切换
2026-06-18 15:47:53 +08:00
kdletters 7fa1c6d791 记录 Pingora 高端口直连演练
补充 dev 高端口直连真实演练结果

记录临时 systemd 演练与 env source 踩坑

确认公网入口仍由 Nginx 承接
2026-06-18 15:42:38 +08:00
JenkenB ac180ecad9 完善画板生成音乐与生成面板交互
新增画板底部生成音乐入口,支持游戏音效和游戏背景音乐生成面板。

接入编辑器音频生成前后端契约、VectorEngine 请求与 BFF 路由。

补齐音频结果图层、元数据、画布恢复和客户端提交流程。

统一生成类面板 Lovart 式参数浮层、参考素材入口与相关测试。

更新编辑器音乐生成设计文档和项目长期记忆。
2026-06-18 15:42:17 +08:00
kdletters e79cc5bd09 纳入 Pingora realpath canary 启停门禁
将 realpath canary 启停烟测纳入 Pingora release readiness 默认门禁

补齐 readiness plan 对 realpath canary toggle 的自检

修正生产健康巡检测试夹具的 worker 实例模拟

同步 Pingora realpath canary 运维文档和项目共享记忆
2026-06-18 15:07:43 +08:00
kdletters 0cc2a79c7b 自动拉起 Pingora shadow 发布服务
让 API deploy 在发布包包含 Pingora 时先校验 shadow systemd 和 env 安全边界

在 shadow 配置安全时自动启动或重启 genarrative-pingora-gateway.service

拒绝 direct-entry capability、公网监听 env,并在 current 切换前失败

补充 production-api-deploy 动态烟测、生产运维护栏和 Pingora 运维文档

在 dev 服务器真实验证 shadow inactive 场景可由发布脚本自动拉起
2026-06-18 14:53:03 +08:00
JenkenB 38cbb85d48 严格区分Seedance视频模型
将画板生成视频默认模型调整为 seedance2.0-fast

为 seedance2.0 与 seedance2.0-fast 分别映射独立上游模型

固定角色动画使用 seedance2.0-fast 并更新前后端契约测试

同步更新编辑器生成面板和项目记忆文档
2026-06-18 14:40:39 +08:00
kdletters 10e559701f 补齐 Pingora runtime-only 彩排门禁
将 current release runtime-only 基础门禁接入直连彩排状态复核

保留 /opt/genarrative/current 调用路径,避免 symlink 展开导致 systemd ExecStart 自审误判

补充 release readiness plan 自测和 Pingora 运维文档

在 dev 服务器真实验证 runtime-only 门禁、Nginx 公网边界、Pingora shadow 和 realpath canary
2026-06-18 14:33:54 +08:00
JenkenB 7b277480f0 Save generator snapshots in canvas layout
Persist generation-dialog snapshots into the canvas layout and restore them on load. Added serialization/hydration helpers and layout splitting in ImageCanvasEditorModel to store/load generation dialogs alongside layers; updated view and hooks to restore dialogs and keep composer state after refresh. Hide generation placeholders when a generated result layer exists, and persist generated images into the account-level asset library (createEditorAsset) for non-video results. Updated workflows and surfaces to invoke the new persist flow, added tests covering restore, placeholder hiding and asset creation, and updated docs/decision log to reflect the new behavior.
2026-06-18 11:57:28 +08:00
JenkenB 8956ed6fe6 Unify canvas generation placement and UI changes
Add unified placement and UI updates for canvas generation: docs require ImageCanvasGenerationPlacementModel to compute placeholder positions (avoid overlaps, center viewport on placement) and limit frontend video model entries. Refactor UI components and tests: expose div props on PlatformFloatingMenu, make PlatformInlineOptionButton forwardRef, replace inline placeholder actions with ImageCanvasGenerationImageOptionsView in basic generation composer, enhance character animation panel with parameter menu portal and option choices, add reference chip UI, and update many tests to match new interactions and labels. These changes align generation workflows, accessibility labels, and positioning behavior across editor panels.
2026-06-18 11:40:19 +08:00
kdletters 4bca480f3c 补齐 Pingora 直连彩排状态
新增 Pingora 直连彩排状态脚本,核验 health patrol、端口归属、systemd、realpath canary 和 current release 自审

将彩排状态脚本纳入 API release 构建、部署、Jenkins 归档和生产运维护栏

补充 release readiness、current release audit、cutover snapshot 与发布部署检查对彩排脚本的覆盖

更新 Pingora 运维文档和共享记忆,记录 dev health patrol 真实配置漂移与修复方式

在 dev 服务器真实部署验证 Nginx 仍接 80/443、Pingora shadow 与 realpath canary 高端口正常、health patrol 和彩排状态均为 OK
2026-06-18 00:31:42 +08:00
kdletters 946308b75e 保存图片画布生成器快照
将生成器对话框作为画布布局项序列化和恢复

生成成功后保留生成器快照并锚定到成品图层

图片类生成结果同步写入账号素材库

补充生成器持久化测试和浏览器回归相关文档
2026-06-17 23:57:25 +08:00
kdletters 123d4ada01 脚本化 Pingora realpath canary 启停
新增 realpath canary 启用和关闭脚本

将脚本纳入 release、deploy、Jenkins 和 current release 自审

补充脚本化 canary 文档和生产运维护栏

增加 realpath canary 启停自测和发布部署护栏
2026-06-17 23:45:58 +08:00
kdletters 93f085f95c 记录 Pingora realpath canary 加载顺序
补充 realpath canary 在 conf.d 中必须晚于 log_format 加载

记录 dev realpath canary current release 真实验收结果

新增生产运维护栏防止加载顺序说明丢失
2026-06-17 23:21:56 +08:00
kdletters 75b85ee5a9 修正 Pingora 高端口重定向验收
direct live 支持独立 redirect base URL 预期

release readiness 和切换证据链透传 redirect base URL

直连启用脚本透传高端口 rehearsal 参数

补充 direct live guard、运维门禁和文档示例
2026-06-17 23:00:28 +08:00
kdletters 057522fc2e 补齐 Pingora TLS 证书同步
新增 Pingora TLS 证书同步脚本,默认 dry-run,apply 时原子复制证书到私有目录并复核服务用户可读。

将证书同步脚本纳入 API release 构建、部署复制和 current release 自审清单。

补充发布包、deploy、自审和脚本自身门禁,覆盖缺失脚本、symlink 目标与权限边界。

更新 Pingora env 示例、运维文档和项目踩坑记录,明确不要放宽 Let’s Encrypt 原路径权限。
2026-06-17 22:40:05 +08:00
kdletters 206ea48878 记录 Pingora dev 正式发布验收
补充 dev API release 正式路径部署证据

记录 current release 自审、runtime-only 门禁和 shadow WSS 验收结果

明确公网入口仍由 Nginx 承接且临时发布包已清理
2026-06-17 22:15:15 +08:00
kdletters 68bf3b698a 补齐 API 发布 checksum 入包
部署脚本将 api-server 与 Pingora checksum 一起复制到 current release

部署自测覆盖 current release checksum 自审依赖

同步 Pingora 正式发布链路文档和共享排障记忆
2026-06-17 22:09:03 +08:00
kdletters e5713944f3 记录 Pingora 真实路径 canary 验收
记录 dev 真实路径 canary 的 live smoke 和 WSS 验收

记录 Nginx 与 Pingora access log 真实路径对账结果

记录恢复 Nginx 配置并释放 18083 端口
2026-06-17 21:52:49 +08:00
kdletters 55df19da9f 记录 Pingora dev 阶段验收
记录 dev 持久 shadow service 真实链路验收结果

记录 dev Nginx 前缀 canary 验收和恢复状态

补充 canary 前必须先完成持久 shadow 验收的口径
2026-06-17 21:48:26 +08:00
kdletters c3f7d1f222 修正 Pingora 直连验收口径
允许 direct live 接受 SpacetimeDB identity 的 405 真实响应

同步 Nginx README 与 Pingora 试点文档的直连验收说明

在 dev 服务器用真实 API、SpacetimeDB 和静态目录完成 shadow 验收
2026-06-17 21:25:36 +08:00
kdletters 2d90a30b8b Merge remote-tracking branch 'origin/codex/editor-asset-library' into codex/editor-asset-library 2026-06-17 21:16:33 +08:00
kdletters 27912fd020 合并 master 到 Pingora 网关分支
保留 Pingora 网关发布与巡检能力

合入外部生成 worker 与 controller 运维链路

对齐 SpacetimeDB 2.5.0 依赖锁定

更新项目共享记忆与生产运维文档
2026-06-17 21:05:57 +08:00
JenkenB b2fd5574db 接入画板生成视频功能
新增画板底部生成视频入口、Lovart 风格面板、视频图层渲染与元数据展示。

接入 /api/editor/videos/generations 契约与后端 Ark/VectorEngine 视频任务链路。

统一编辑器生成类泥点配置,并补充 UI 设计图、参考图与生成面板结构测试。

更新编辑器技术方案、生成类面板方案和 Hermes 共享决策/踩坑记录。
2026-06-17 20:52:45 +08:00
kdletters 7765c69a8a Merge remote-tracking branch 'origin/master' into codex/editor-asset-library
# Conflicts:
#	docs/project-memory/shared-memory/decision-log.md
2026-06-17 20:52:41 +08:00
kdletters a7711d2dc3 引入Pingora独立网关正式化链路
新增 pingora-gateway 独立二进制 crate,覆盖路由、静态资源、压缩、接流保护、TLS 直连和访问日志能力。

新增 Nginx canary、realpath canary、direct preflight、direct live、direct enable 和 rollback 脚本。

新增 Pingora 切流证据包、命令证据、manifest 验真、根目录总审计和 release readiness 聚合门禁。

完善 API release、Jenkins、systemd、health patrol、生产部署和发布包自包含校验。

更新 Pingora 试点文档、Nginx README 与 Hermes 共享记忆。
2026-06-17 20:16:51 +08:00
kdletters 84818f9bd5 拆分图片画布生成表面编排
新增 useImageCanvasGenerationSurface 收口生成浮层编排。

主视图移除生成 Composer 大段 props 胶水。

舞台控制模型移除重复生成锚点派生。

补充生成表面 hook 单测并更新拆分文档与跟踪记录。
2026-06-17 14:40:57 +08:00
JenkenB f8e063a878 Merge branch 'codex/editor-asset-library' of https://git.genarrative.world/GenarrativeAI/Genarrative into codex/editor-asset-library 2026-06-17 14:13:53 +08:00
JenkenB e970d34574 调整图片编辑器参考图选择交互
- 常规参考图入口改为先弹出来源菜单,支持从画布选择和上传图片。

- 角色规范、图标规范和常规参考图来源菜单统一向上弹出。

- 画布参考图选择拦截普通图层选中逻辑,保持生成面板不隐藏。

- 补充图片编辑器交互测试与技术文档说明。
2026-06-17 14:08:26 +08:00
kdletters a319d2ae0d 拆分图片画布顶部栏视图
新增 ImageCanvasTopbarView 承载返回项目入口和项目标题区域

新增顶栏视图测试覆盖重命名和导出入口

精简 ImageCanvasEditorView 的顶部栏 JSX

更新图片画布拆分计划和 TRACKING 验证记录
2026-06-17 13:48:48 +08:00
kdletters 1c92db19c1 拆分图片画布舞台控制层
新增 ImageCanvasStageControllerModel 承载舞台派生状态和右键菜单模型

新增 useImageCanvasStageController 收口清空焦点和右键菜单处理

精简 ImageCanvasEditorView 的舞台控制胶水

更新图片画布拆分计划和 TRACKING 验证记录
2026-06-17 13:39:48 +08:00
kdletters 015716945e 拆分图片画布素材入画布桥接
新增 useImageCanvasAssetCanvasBridge 承载素材加入画布和画布 drop 桥接

新增 hook 单测覆盖素材建层、pointer drop 和删除素材清理图层

精简 ImageCanvasEditorView 中的素材到画布胶水

更新图片画布拆分计划和 TRACKING 浏览器回归记录
2026-06-17 13:14:36 +08:00
kdletters d0ad8402de 拆分图片画布浮层定位模型
新增 ImageCanvasOverlayModel 承载生成输入框、图片工具栏、快速编辑和角色动画面板定位规则

新增浮层定位模型单测覆盖锚定、边界限制和生成面板可见模式

更新图片画布前端拆分计划和 TRACKING 记录本阶段验证

精简 ImageCanvasEditorView 中的浮层坐标计算
2026-06-17 12:46:41 +08:00
kdletters cdc823611b 拆分图片画布素材拖拽桥接
新增素材拖拽桥接 hook,承接素材拖向画布或文件夹的全局 pointer 监听

恢复认证弹窗 portal 渲染,避免全屏画布遮住账号入口

优化画布背景设置面板,补回当前色、色域、色相、预设、HEX 和恢复默认

补充素材拖拽、认证弹窗和背景面板回归测试并更新文档与 TRACKING
2026-06-17 12:20:04 +08:00
kdletters 5d6be7fd66 拆分图片画布键盘快捷键
新增图片画布键盘快捷键 hook,承接撤销重做、删除、Escape 和临时抓手逻辑

保留主视图状态编排,只把 window 键盘监听移出巨型组件

补充键盘快捷键 hook 测试并更新拆分文档和 TRACKING 记录
2026-06-17 11:50:44 +08:00
kdletters f34556d33d 拆分图片画布图片信息弹窗
新增图片信息弹窗组件,承接 metadata 详情渲染和 UnifiedModal 接入

修复未登录进入编辑器时项目和素材接口抢跑 401

修复重置画布视图点击事件误传导致适合视图报错

补充图片信息弹窗、鉴权门禁和重置按钮回归测试

更新前端拆分文档和 TRACKING 浏览器回归记录
2026-06-17 10:56:51 +08:00
kdletters 53d1283083 拆分图片画布拖拽入画布流程
新增画布拖拽 drop workflow,承接素材库图片和本地文件拖入画布分流

补充拖拽入画布 hook 测试,覆盖遮罩、默认文件夹和无关拖拽不拦截

更新前端拆分文档和 TRACKING 浏览器回归记录
2026-06-17 10:17:07 +08:00
kdletters 31da3b2fa2 拆分图片画布舞台交互
新增画布舞台交互 hook,承接选择、框选、拖拽、平移和小地图 pointer 状态机

更新历史恢复清理入口,撤销重做时统一重置舞台交互状态

补充舞台交互 hook 测试并更新前端拆分文档和 TRACKING 记录
2026-06-17 10:04:32 +08:00