fix: split overflowing slides to fit frankfurt theme header/footer bars
Deploy Slides / build-and-deploy (push) Successful in 1m39s
Deploy Slides / build-and-deploy (push) Successful in 1m39s
- eino-deep-dive.md: split slide 2 into code-only + explanation+SVG slides - async-deep-dive.md: split slide 2 into code-only + progress+SVG slides - harness.md: split slide 2 (4 Items + SVG) into two slides (2 Items each) - request-journey.md: split into middleware/handler + pipeline/finalization slides The frankfurt theme header (~40px) overlaps ~7px into the content zone, leaving ~467px effective height. Dense slides with code+Items+images exceeded this budget and were hidden behind the bars.
This commit is contained in:
@@ -48,10 +48,6 @@ func (q *TaskQueue) Enqueue(job *TaskJob) {
|
||||
|
||||
Context 注入 + 多通道推送
|
||||
|
||||
<div class="grid grid-cols-2 gap-4 mt-2">
|
||||
|
||||
<div>
|
||||
|
||||
```go {1-3|5-8|all}
|
||||
func WithProgressReporter(ctx context.Context, r ProgressReporter) context.Context {
|
||||
return context.WithValue(ctx, progressCtxKey, r)
|
||||
@@ -62,13 +58,9 @@ reporter := GetProgressReporter(ctx)
|
||||
reporter.Report(Progress{Stage: "prompt", Percent: 25})
|
||||
```
|
||||
|
||||
<div class="flex justify-center mt-2">
|
||||
<img src="../public/async-task.svg" class="w-full max-h-[160px] object-contain" />
|
||||
</div>
|
||||
---
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col justify-center">
|
||||
# 进度推送 — 阶段与通道
|
||||
|
||||
<v-clicks>
|
||||
|
||||
@@ -82,6 +74,6 @@ reporter.Report(Progress{Stage: "prompt", Percent: 25})
|
||||
|
||||
</v-clicks>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="flex justify-center mt-2">
|
||||
<img src="../public/async-task.svg" class="w-full max-h-[200px] object-contain" />
|
||||
</div>
|
||||
|
||||
@@ -45,10 +45,6 @@ PreHandler 从全局 State 提取当前节点所需字段;PostHandler 将节
|
||||
|
||||
QualitySupervisor 驱动的条件分支
|
||||
|
||||
<div class="grid grid-cols-2 gap-4 mt-2">
|
||||
|
||||
<div>
|
||||
|
||||
```go {1-10|all}
|
||||
g.AddBranch(nodeQualitySupervisor, compose.NewGraphBranch(
|
||||
func(ctx context.Context, _ PipelineInput) (string, error) {
|
||||
@@ -67,9 +63,9 @@ g.AddBranch(nodeQualitySupervisor, compose.NewGraphBranch(
|
||||
))
|
||||
```
|
||||
|
||||
</div>
|
||||
---
|
||||
|
||||
<div class="flex flex-col justify-center">
|
||||
# 分支路由 — 逻辑与全貌
|
||||
|
||||
<v-clicks>
|
||||
|
||||
@@ -84,9 +80,5 @@ g.AddBranch(nodeQualitySupervisor, compose.NewGraphBranch(
|
||||
</v-clicks>
|
||||
|
||||
<div class="flex justify-center mt-2">
|
||||
<img src="../public/pipeline-detail.svg" class="w-full max-h-[160px] object-contain" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<img src="../public/pipeline-detail.svg" class="w-full max-h-[200px] object-contain" />
|
||||
</div>
|
||||
|
||||
@@ -41,9 +41,9 @@ QualitySupervisor 自动质检,不合格重试(最多 3 次),超限降
|
||||
|
||||
---
|
||||
|
||||
# 一致性保障 — 数据与部署
|
||||
# 一致性保障 — 数据与 ID
|
||||
|
||||
从存储到部署的全链路一致性
|
||||
存储层的一致性设计
|
||||
|
||||
<v-clicks>
|
||||
|
||||
@@ -55,6 +55,16 @@ SQLite 单文件 ACID + GORM 事务包裹关键操作。CASCADE 删除保证级
|
||||
格式:`prefix_base62`(如 `task_9bN4vR`)。`crypto/rand` 生成 base62 编码,全局唯一且可读。前缀标识实体类型,便于调试。
|
||||
</Item>
|
||||
|
||||
</v-clicks>
|
||||
|
||||
---
|
||||
|
||||
# 一致性保障 — 部署与配置
|
||||
|
||||
从容器到配置的全链路一致性
|
||||
|
||||
<v-clicks>
|
||||
|
||||
<Item title="部署一致性 — 容器化 + 确定性构建">
|
||||
Docker Compose 双容器(nginx + app),确定性构建保证环境一致。CI/CD 推送 master 自动触发部署。
|
||||
</Item>
|
||||
@@ -66,5 +76,5 @@ Docker Compose 双容器(nginx + app),确定性构建保证环境一致。
|
||||
</v-clicks>
|
||||
|
||||
<div class="flex justify-center mt-2">
|
||||
<img src="../public/harness.svg" class="w-full max-h-[160px] object-contain" />
|
||||
<img src="../public/harness.svg" class="w-full max-h-[200px] object-contain" />
|
||||
</div>
|
||||
|
||||
@@ -10,10 +10,6 @@ POST /api/v1/generate {prompt: "像素风骑士", assetType: "sprite", style: {
|
||||
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-2 gap-4 mt-2">
|
||||
|
||||
<div>
|
||||
|
||||
<v-clicks>
|
||||
|
||||
<Item title="① Middleware 层(~1ms)">
|
||||
@@ -26,9 +22,11 @@ JWT 认证 → 解析 userID → 用户级限流(Redis Lua)→ 全局限流
|
||||
|
||||
</v-clicks>
|
||||
|
||||
</div>
|
||||
---
|
||||
|
||||
<div>
|
||||
# 请求旅程 — 管线执行与收尾
|
||||
|
||||
耗时集中在管线阶段(~30s 占 95%)
|
||||
|
||||
<v-clicks>
|
||||
|
||||
@@ -42,11 +40,7 @@ goroutine 取任务 → PromptOptimizer → AssetGenerator → QualitySupervisor
|
||||
|
||||
</v-clicks>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-click class="mt-2 text-center text-gray-400 text-sm">
|
||||
<div v-click class="mt-4 text-center text-gray-400 text-sm">
|
||||
全程异步:前端拿到 taskId 后通过 WebSocket 实时监听进度变化
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user