Files
YG_FT/docs/superpowers/plans/2026-07-10-route-transition.md

79 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

# Route Transition Removal Implementation Plan
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** 移除主布局的页面级透明转场,消除列表与二级页面切换时的闪烁中间帧。
**Architecture:** `router-view` 直接渲染当前路由组件,不再包裹 Vue `transition`。页面表面仍由 `route.meta.pageSurface` 控制,因此内容和表面在同一轮渲染中同步更新。
**Tech Stack:** Vue 3、Vue Router 4、SCSS、Node.js 回归脚本
## Global Constraints
- 删除页面级透明度转场。
- 保留组件内部动画。
- 不改变路由表面分类、业务逻辑或数据加载流程。
- 先写失败测试,再实现最小修复。
---
### Task 1: 移除主布局页面级透明转场
**Files:**
- Modify: `frontend/scripts/regression-page-surface.mjs`
- Modify: `frontend/src/layouts/MainLayout.vue`
- Test: `frontend/scripts/regression-page-surface.mjs`
**Interfaces:**
- Consumes: `router-view` 提供的当前路由组件。
- Produces: 不带页面级透明度动画的同步路由内容渲染。
- [ ] **Step 1: 写入失败回归测试**
`regression-page-surface.mjs` 中断言主布局模板不包含页面级 `transition`,并断言主布局样式不包含 `.fade-enter-*``.fade-leave-*`
- [ ] **Step 2: 运行测试并确认 RED**
Run: `npm run test:page-surface`
Expected: FAIL提示主布局仍包含页面级透明转场。
- [ ] **Step 3: 写入最小实现**
将:
```vue
<transition name="fade" mode="out-in">
<component :is="Component" />
</transition>
```
改为:
```vue
<component :is="Component" />
```
并删除主布局中的 `.fade-enter-active``.fade-leave-active``.fade-enter-from``.fade-leave-to` 样式。
- [ ] **Step 4: 运行专项回归并确认 GREEN**
Run: `npm run test:page-surface`
Expected: PASS输出“全局页面背景与内容表面回归检查通过”。
- [ ] **Step 5: 运行相关回归与构建**
Run: `npm run test:training-log-layout`
Expected: PASS。
Run: `npx vite build`
Expected: exit code 0允许项目既有字体解析和 chunk size 警告。
- [ ] **Step 6: 浏览器往返验证**
验证 `/fine-tune``/fine-tune/create``/fine-tune``/training-log/1` 以及二级页返回列表;页面内容与表面同步切换,无半透明旧页面、无水平溢出、无新增控制台错误。