Make collage selection automatic and restore dashboard navigation order

This commit is contained in:
Pigway
2026-10-10 09:28:37 +08:00
parent cc4126d23c
commit a869f0b042
17 changed files with 452 additions and 13 deletions
+55
View File
@@ -0,0 +1,55 @@
# Automatic collage
The navigation starts with Dashboard, followed by Gallery, Photo Sources, Upload,
Templates, Layout Studio, Automation, Playlists, History, Connections and Settings.
## Web workflow / 界面操作
在「拼图」选择照片来源与数量(1–12),填写可选标题或排版要求,点击
「随机选图并生成预览」。默认使用启用的数据源;没有数据源时使用本地上传照片。
AI 只接收图片尺寸、内部资产 ID 和排版文字,不发送照片。
AI 未配置或请求失败会明确报错,不会偷偷切换引擎;取消 AI 勾选可用自动网格。
预览不会上传或切换画框,确认效果后再点「显示到画框」。
Choose a source and count, then create a preview. Only dimensions, asset IDs and
layout instructions are sent to AI. AI configuration/errors are explicit; uncheck
AI for deterministic grid layout. Preview never changes the frame. Canvas
orientation follows the target device. Manual layout is under Advanced.
「创建自动化任务」保存来源和数量,而不是固定图片列表。任务初始暂停,
请在自动化中编辑执行时间后启用。每次运行重新随机选图,但不同运行之间可能重复;
单次不重复选同一照片。照片不足时失败,不重复图片凑数。
NAS 来源继续使用人物、方向与质量筛选;一次最多检查数量的五倍候选图片。
输入图缓存与生成图在 NAS;原始 NAS 照片不会被修改或删除。
定时拼图沿用云库每任务保留最近一张成功图的策略,下一张确认成功前不删除上一张。
Create automation stores the source/count, initially paused. Edit its schedule
and enable it. Each execution selects new candidates; repeats across executions
are possible. Too few usable photos fails before upload. Existing unknown-write,
restoration and cloud-retention safeguards apply.
## Public API
`POST /api/v1/render` accepts this additive content type, returning HTTP 202 and
an operation ID. `POST /api/v1/display` uses the same content inside its existing
request envelope. Scheduler `source` accepts the same object; job previews are
read-only.
```json
{
"type": "auto_collage",
"source_id": "nas-photos",
"count": 4,
"title": "Our moments",
"orientation": "auto",
"style": "grid",
"use_ai": true,
"prompt": "Feature one photo with smaller supporting photos",
"profile": "color"
}
```
`source_id: null` chooses local uploaded assets (generated and cache images are
excluded). AI configuration is shared with existing Layout Studio. No new API key
or vendor dependency is introduced. The OpenAPI contract test records the new
content schema while keeping all existing schema fields unchanged.
+2 -2
View File
@@ -1,7 +1,7 @@
# UI layout audit
The Mock-only `scripts/ui-layout-audit.cjs` checks all 11 navigation pages,
local/cloud gallery layouts and six modal states at 1440, 768 and 390 CSS pixels,
local/cloud gallery layouts and six modal states plus expanded manual collage at 1440, 768 and 390 CSS pixels,
in Chinese/English and light/dark themes. It checks page horizontal overflow and
at least 8 pixels between visible input/select/textarea/button rectangles, and
44-pixel control heights on mobile.
@@ -32,5 +32,5 @@ node scripts/ui-layout-audit.cjs
Set `NODE_PATH` to the installed Playwright runtime if needed. Optional
`FRAME_FLOW_SCREENSHOT_DIR` saves fixture-only screenshots for visual review.
The full audit passed 217 checks with no console errors. This complements
The full audit passed 229 checks with no console errors. This complements
`ui-smoke.cjs` and `ui-integrations.cjs`; it does not replace functional tests.