# Task Template: 抽取布局体系(library/layouts) task: id: extract-layout intent: "从本仓库抽取布局体系到目标项目,最小闭包迁移,尽量不改动原仓库代码" inputs: required: - target_project_type # vue-cli | vite | other - extraction_style # copy-module | copy-snippet scope: entrypoints: - library/layouts/index.vue - library/layouts/VabLayoutVertical/ - library/layouts/VabLayoutHorizontal/ - library/layouts/VabLayoutCommon/ - library/layouts/VabLayoutComprehensive/ - library/layouts/VabLayoutFloat/ - library/layouts/VabLayoutColumn/ dependency_closure_checklist: runtime: - "Element Plus(el-backtop 等)" - "Theme 组件(library/components/VabTheme)是否随闭包迁移" - "事件总线注入(library/plugins/vab.ts:$pub/$sub/$unsub)是否可用" - "Pinia settings store:src/store/modules/settings(theme/layout/collapse/device)" - "全局样式变量:library/styles/variables/(布局 SCSS 使用的变量)" - "Theme 变量:library/styles/variables/vab-*-variables.module.scss(settings.updateTheme() 依赖)" alias: - "@ -> src" - "@vab -> library" outputs: required_sections: - changed_files - extracted_modules - dependency_closure - acceptance_commands - risks acceptance: - "Layout 能渲染" - "切换移动端/桌面端时不崩溃(resize/watch 逻辑生效)"