Prune stale docs and update .hermes content
Delete a large set of outdated documentation (many files under docs/ and .hermes/plans/, including audits, design, prd, technical, planning, assets, and todos). Update and consolidate .hermes content: refresh shared-memory pages (decision-log, development-workflow, document-map, pitfalls, project-overview, team-conventions) and several skills/references under .hermes/skills. Also modify AGENTS.md, README.md, UI_CODING_STANDARD.md, docs/README.md and .encoding-check-ignore. Purpose: clean up stale planning/audit material and keep current hermes documentation and related top-level docs in sync.
This commit is contained in:
@@ -1,102 +0,0 @@
|
||||
# RPG 创作编辑器历史素材复用设计
|
||||
|
||||
日期:`2026-04-26`
|
||||
|
||||
## 1. 本次目标
|
||||
|
||||
编辑场景角色与编辑场景图片时,玩家可以复用历史生成素材:
|
||||
|
||||
1. 场景角色形象区删除 `基于预设素材修改` 入口,以及它打开的预设拼装编辑下游。
|
||||
2. 场景角色形象区新增 `使用历史素材`,打开独立素材面板。
|
||||
3. 场景图片的幕背景配置新增 `使用历史素材`,打开独立素材面板。
|
||||
4. 历史素材面板需要展示所有账号过去生成过的对应类型素材,并明确标注素材归属账号。
|
||||
5. 选择素材后直接应用到当前角色或当前幕背景,不触发新一轮生成。
|
||||
|
||||
## 2. 数据真相
|
||||
|
||||
历史素材不从前端草稿 profile 扫描,也不从预设素材目录扫描。
|
||||
|
||||
历史素材统一来自 SpacetimeDB 的 `asset_object` 表:
|
||||
|
||||
| 使用位置 | `asset_kind` | 应用字段 |
|
||||
| --- | --- | --- |
|
||||
| 场景角色形象 | `character_visual` | `imageSrc`、`generatedVisualAssetId` |
|
||||
| 场景幕背景 | `scene_image` | `backgroundImageSrc`、`backgroundAssetId` |
|
||||
|
||||
`asset_object.owner_user_id` 是归属账号标注主源。为空时 UI 标注为 `未记录账号`,不能隐藏归属栏。
|
||||
|
||||
## 3. 后端接口
|
||||
|
||||
新增只读接口:
|
||||
|
||||
```text
|
||||
GET /api/assets/history?kind=character_visual
|
||||
GET /api/assets/history?kind=scene_image
|
||||
```
|
||||
|
||||
返回字段只包含前端选择所需脱敏信息:
|
||||
|
||||
1. `assetObjectId`
|
||||
2. `assetKind`
|
||||
3. `imageSrc`
|
||||
4. `ownerUserId`
|
||||
5. `ownerLabel`
|
||||
6. `profileId`
|
||||
7. `entityId`
|
||||
8. `createdAt`
|
||||
9. `updatedAt`
|
||||
|
||||
`asset_object` 仍保持 private table。读取历史列表必须通过 SpacetimeDB procedure + Axum facade,不能让前端直接订阅整表。
|
||||
|
||||
## 4. SpacetimeDB 设计
|
||||
|
||||
`module-assets` 新增:
|
||||
|
||||
1. `AssetHistoryListInput`
|
||||
2. `AssetHistoryEntrySnapshot`
|
||||
3. `AssetHistoryListResult`
|
||||
|
||||
`spacetime-module` 新增 procedure:
|
||||
|
||||
```rust
|
||||
list_asset_history_and_return(input: AssetHistoryListInput) -> AssetHistoryListResult
|
||||
```
|
||||
|
||||
实现规则:
|
||||
|
||||
1. 只允许 `character_visual`、`scene_image`。
|
||||
2. 按 `asset_kind` 过滤。
|
||||
3. 按 `created_at` 倒序返回。
|
||||
4. 默认最多返回 120 条,允许调用方传更小 limit。
|
||||
5. `image_src` 由 `object_key` 转为兼容代理路径:`/{object_key}`。
|
||||
|
||||
## 5. 前端交互
|
||||
|
||||
历史素材面板为独立弹层,不在当前面板下方展开。
|
||||
|
||||
角色历史素材卡片:
|
||||
|
||||
1. 展示素材图。
|
||||
2. 展示归属账号。
|
||||
3. 展示创建时间。
|
||||
4. 点击 `使用` 后写入当前草稿角色:
|
||||
- `imageSrc = imageSrc`
|
||||
- `generatedVisualAssetId = assetObjectId`
|
||||
- `generatedAnimationSetId = undefined`
|
||||
- `animationMap = undefined`
|
||||
|
||||
场景历史素材卡片:
|
||||
|
||||
1. 展示 16:9 预览。
|
||||
2. 展示归属账号。
|
||||
3. 展示创建时间。
|
||||
4. 点击 `使用` 后写入当前幕:
|
||||
- `backgroundImageSrc = imageSrc`
|
||||
- `backgroundAssetId = assetObjectId`
|
||||
|
||||
## 6. 非目标
|
||||
|
||||
1. 不新增图片生成模型能力。
|
||||
2. 不把历史素材复制成新 OSS 对象。
|
||||
3. 不修改旧预设素材目录。
|
||||
4. 不恢复 server-node 或 PostgreSQL 链路。
|
||||
Reference in New Issue
Block a user