Compare commits
2 Commits
f1137cc006
...
06f3eb0504
| Author | SHA1 | Date | |
|---|---|---|---|
| 06f3eb0504 | |||
| 54f159b6ef |
1
RULES.md
1
RULES.md
@@ -16,6 +16,7 @@
|
||||
## 部署事实
|
||||
- 平台:VPS `76.13.31.179`(Ubuntu 24.04 / Docker Compose / Coolify Traefik)
|
||||
- 发布状态:已部署并验证(2026-05-20,主体元素按套图文件夹分组展示,主体生成接口提交后立即返回 queued 占位并后台逐视角生成、逐张回填;源视频工作区主体链路为上方竖向参考帧池 + 宽幅对话式转换层、下方主体元素结果栏;转换层通过参考帧 `+` 加入、参考图分析、生图对话、英文 prompt 弹窗确认后才触发主体套图生成;下方主体元素结果栏的套图输出、轮询、文件夹分组、单张重生、删除和 hover 预览逻辑保持不变;胶片双击/拖拽加入参考帧池 + 胶片缓存复用 + 音频解析失败可重试,参考帧缩略图保持小尺寸 9:16 比例 + hover 左侧紧凑预览,旧主体模板区移出主路径 + 逐句时间轴移到原版视频下方并支持双行文案 + 波形同框时间对齐画面胶片 + 胶片密度按钮上移波形顶部 + 去分隔线 + 胶片上下错落 + body 顶层原位大放大 + 隐藏源视频工作区音频解析摘要卡 + 隐藏工作区顶部状态提示条 + 三字段候选生成工作流 + 折叠紧凑候选区);`https://marketing.skg.com` 已启用应用内登录页,未登录 API 返回 401,认证后首页 200;容器内 `/health` 返回 `ok:true`
|
||||
- 最近部署验证(2026-05-20):`54f159b` 已通过 `./scripts/deploy-prod-safe.sh` 部署到 `/opt/skg-marketing-studio`;部署前备份为 `/opt/skg-marketing-studio-backups/skg-marketing-preserve-20260520135509.tgz`,生产 Docker 重建后脚本内验证通过(`web:/login/ 200`、`web:/api/health 401`、`api:health ok`)。线上登录后 Playwright 以 2048x1060 复测转换层:转换层和参考帧池共用高度从 500px 拉到 560px,转换层内部改为 gap 堆叠并让主要板块 `shrink-0`,超出由转换层自身滚动承接;页面无客户端异常,验证截图 `/tmp/skg-conversion-stretched.png`。
|
||||
- 最近部署验证(2026-05-20):`d1e2b17` 已通过 `./scripts/deploy-prod-safe.sh` 部署到 `/opt/skg-marketing-studio`;部署前备份为 `/opt/skg-marketing-studio-backups/skg-marketing-preserve-20260520134529.tgz`,生产 Docker 重建后脚本内验证通过(`web:/login/ 200`、`web:/api/health 401`、`api:health ok`)。线上登录后 Playwright 以 2048x1060 复测转换层:内嵌“待确认提示词”卡和黑色“确认并生成 N 张”按钮均不再渲染,页面无客户端异常;有待确认 prompt 时只在“生成要求”标题右侧显示小型“待确认 · N 张”入口,验证截图 `/tmp/skg-conversion-no-inline-confirm.png`。
|
||||
- 最近部署验证(2026-05-20):`caa7b73` 已通过 `./scripts/deploy-prod-safe.sh` 部署到 `/opt/skg-marketing-studio`;部署前备份为 `/opt/skg-marketing-studio-backups/skg-marketing-preserve-20260520132820.tgz`,生产 Docker 重建后脚本内验证通过(`web:/login/ 200`、`web:/api/health 401`、`api:health ok`)。线上登录后 Playwright 以 2048x1060 复测:页面无客户端异常,源视频工作区已撤销“布局调节”按钮和 `localStorage["skg-source-workspace-layout:v1"]` 布局读写,固定为左侧原视频列 380px、9:16 视频高 500px、逐句时间轴最大高 270px、参考帧池 140px、转换层 500px 内部滚动、主体空态 78px;验证截图 `/tmp/skg-layout-fixed-no-tuning.png`。
|
||||
- 最近部署验证(2026-05-20):`0db265f` 已通过 `./scripts/deploy-prod-safe.sh` 部署到 `/opt/skg-marketing-studio`;部署前备份为 `/opt/skg-marketing-studio-backups/skg-marketing-preserve-20260520131649.tgz`,生产 Docker 重建后脚本内验证通过(`web:/login/ 200`、`web:/api/health 401`、`api:health ok`)。线上登录后 Playwright 打开历史任务并展开“布局调节”:面板显示左列宽、视频高、时间轴高、参考池宽、转换层高、主体空态 6 个滑杆,调参值写入 `localStorage["skg-source-workspace-layout:v1"]`,供用户先在线试比例再固化默认值。
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -112,7 +112,7 @@ const SOURCE_LEFT_COLUMN_WIDTH = 380
|
||||
const SOURCE_VIDEO_HEIGHT = 500
|
||||
const SOURCE_TRANSCRIPT_MAX_HEIGHT = 270
|
||||
const SOURCE_REFERENCE_POOL_WIDTH = 140
|
||||
const SOURCE_CONVERSION_HEIGHT = 500
|
||||
const SOURCE_CONVERSION_HEIGHT = 560
|
||||
const SOURCE_SUBJECT_EMPTY_HEIGHT = 78
|
||||
|
||||
const resolveBoardScale = (viewportWidth: number) => {
|
||||
@@ -4074,10 +4074,10 @@ function SourceSubjectPipeline({
|
||||
</span>
|
||||
</div>
|
||||
<div
|
||||
className="flex flex-col overflow-y-auto rounded-md border border-white/10 bg-black/24 p-2"
|
||||
className="flex flex-col gap-2 overflow-y-auto rounded-md border border-white/10 bg-black/24 p-2"
|
||||
style={{ height: SOURCE_CONVERSION_HEIGHT }}
|
||||
>
|
||||
<div className="mb-2 grid grid-cols-2 gap-1.5">
|
||||
<div className="grid shrink-0 grid-cols-2 gap-1.5">
|
||||
{SUBJECT_MODEL_BUNDLE_OPTIONS.map((option) => (
|
||||
<button
|
||||
key={option.value}
|
||||
@@ -4097,7 +4097,7 @@ function SourceSubjectPipeline({
|
||||
</div>
|
||||
|
||||
<div
|
||||
className={`rounded-md border p-2 transition ${
|
||||
className={`shrink-0 rounded-md border p-2 transition ${
|
||||
agentDropActive || referenceFrameDragging || filmstripDragging || agentReferenceUploadBusy
|
||||
? "border-cyan-200/65 bg-cyan-300/[0.08] ring-1 ring-cyan-200/25"
|
||||
: "border-white/10 bg-black/22"
|
||||
@@ -4155,7 +4155,7 @@ function SourceSubjectPipeline({
|
||||
</div>
|
||||
|
||||
{agentAnalysis ? (
|
||||
<div className="mt-2 rounded-md border border-emerald-200/18 bg-emerald-300/[0.055] p-2">
|
||||
<div className="shrink-0 rounded-md border border-emerald-200/18 bg-emerald-300/[0.055] p-2">
|
||||
<div className="flex items-center justify-between gap-2">
|
||||
<span className="text-[10px] font-semibold text-emerald-50/76">识别结果</span>
|
||||
<span className="text-[9px] text-white/34">
|
||||
@@ -4206,7 +4206,7 @@ function SourceSubjectPipeline({
|
||||
</div>
|
||||
) : null}
|
||||
|
||||
<div className="mt-2 flex min-h-0 flex-1 flex-col rounded-md border border-white/10 bg-black/22 p-2">
|
||||
<div className="flex shrink-0 flex-col rounded-md border border-white/10 bg-black/22 p-2">
|
||||
<div className="mb-1.5 flex items-center justify-between gap-2">
|
||||
<span className="inline-flex items-center gap-1 text-[10px] font-semibold text-white/72">
|
||||
<MessageSquare className="h-3.5 w-3.5 text-cyan-100/55" />
|
||||
|
||||
Reference in New Issue
Block a user