Skill: wangjiaocheng/singlefile-output-reference (version 1.0.1)

--- name: singlefile-output-reference author: 王教成 Wang Jiaocheng (波动几何) description: 单文件产出知识参考库——Universal Task OS的领域负载物。提供单文件产出类型清单（8域37子分类188种产出类型）、结构要求槽位、可运行代码范本、选型决策树与管线蓝图，由UTOS执行轴动态编排管线、内容轴按清单法/样本法组织产出。四大家族：HTML单文件应用（PPT演示页/俄罗斯方块/数独/计算器/思维导图/白板/Mermaid编辑器）+ Python单文件CLI工具（argparse子命令/管道串联/stdlib only）+ Shell单文件脚本（Bash/PowerShell/系统运维/部署发布）+ SQL单文件脚本（DDL建表/DML数据操作/查询分析/迁移版本）。核心原则：自包含、零依赖、可直接运行、范本即代码、幂等性。触发词：HTML单文件、单文件应用、Python CLI、命令行工具、Shell脚本、Bash脚本、SQL脚本、建表脚本、argparse、幻灯片、PPT、游戏、俄罗斯方块、计算器、Mermaid、白板、single-file、CLI tool、argparse、self-contained、幂等、部署脚本。 --- # 单文件产出知识参考库 ## 定位 本技能是 **Universal Task OS 的领域负载物仓库**，提供单文件产出（HTML单文件应用 / Python单文件CLI工具 / Shell单文件脚本 / SQL单文件脚本）的"是什么""长什么样"以及"怎么做"——执行全部委托UTOS。 | 本技能提供 | UTOS消费方式 | |-----------|-------------| | 产出类型清单（能做什么类型的单文件产物） | 内容轴·清单法的成品目录 | | 结构要求（每种产物的组件槽位） | 内容轴·清单法的组件清单 | | 优秀范本（可直接运行的完整代码） | 内容轴·样本法的样本 | | 依赖拓扑（产物间组合关系） | 执行轴·管线编排的依赖输入 | | 选型决策树（需求→产出类型路由） | 执行轴·管线编排的选型输入 | ## 三层结构 ``` 第一层：产出类型清单 + 依赖拓扑 + 选型决策树 + 管线蓝图（域特有扩展） → references/output-catalog.md 第二层：结构要求清单 + 自包含约束 + 组装流程 + 质量等级 → references/structure-requirements.md 第三层：优秀范本库 → references/exemplars.md ``` ## 依赖声明 本技能**强依赖** Universal Task OS (universal-task-os)。没有UTOS，本技能只有参考查阅能力，无法执行任何代码产出任务。 **加载检查流程**（每次激活时执行）： 1. 检测 `universal-task-os` 技能是否已安装 2. **未安装** → 自动安装 `universal-task-os` 技能 3. **安装成功** → 同时加载UTOS，按本技能"使用规则"执行 4. **安装失败** → 降级为**只读参考模式**： - ✅ 允许：查阅产出类型、结构要求、范本索引 - ❌ 拒绝：任何涉及代码生成、管线编排的任务，并提示"需先安装 Universal Task OS" **任务模式判定**： | 任务类型 | 无UTOS | 有UTOS | |---------|--------|--------| | 查阅产出类型/要求/范本 | ✅ 只读参考 | ✅ 完整 | | 按清单/范本产出单文件代码 | ❌ 拒绝 | ✅ UTOS编排执行 | | 多个单文件串联为工具链 | ❌ 拒绝 | ✅ UTOS执行轴 | | 质量检查点插入 | ❌ 拒绝 | ✅ UTOS守护单元 | ## 使用规则 1. **依赖检查**：激活时按上述流程检测并安装UTOS 2. **首次加载**：读取 `references/output-catalog.md`，获取产出分类、依赖拓扑、选型决策树、UTOS元操作映射提示 3. **按需深入**：确认目标产出类型后，读取 `references/structure-requirements.md` 获取组件清单、自包含约束、组装流程、质量等级；如需样本法，读取 `references/exemplars.md` 获取可运行代码 4. **双模式路由**： - **目录模式**：用户指定具体产出类型(S-XX) → 直达structure-requirements组装 → 交付 - **流程模式**：用户描述需求/问题 → output-catalog决策树选型 → structure-requirements组装 → 集成验证 → 交付 5. **委托UTOS**：将产出类型清单作为清单法输入、范本作为样本法输入、依赖拓扑+管线蓝图作为管线编排输入、决策树作为选型输入，交给UTOS执行轴+内容轴处理 6. **范本即代码**：本技能的exemplars是可直接运行/预览的完整代码文件，非文档描述 ## 与UTOS的接口 当UTOS处理单文件产出任务时： - **Step 0 三轴判定**： - 目录模式（用户指定S-XX）→ 简单+结构化 → 执行轴+内容轴 - 流程模式（用户描述需求）→ 中等+结构化 → 执行轴+内容轴（走output-catalog决策树+structure-requirements组装流程） - 创新混搭（用户要新组合）→ 中等+创新+结构化 → 三轴全开 - 管线组合（多产物串联）→ 复杂+结构化 → 执行轴+内容轴（依赖拓扑+管线蓝图推导） - 管线创新组合（跨家族桥接）→ 复杂+创新+结构化 → 三轴全开（管线蓝图+创新轴推导新组合） - **Step 1 领域校准**：单文件产出=高规范性(R1)+高迭代性(R5) → G权重高（代码必须能运行），循环多（迭代调试），A权重高（直接产出代码） - **Step 2 内容轴**：清单法用本技能的structure-requirements；样本法用本技能的exemplars（代码级样本） - **Step 3 执行轴**：管线编排基于本技能的依赖拓扑自动推导元操作序列 - **Step 4 交付**：G类守护单元自动插入质量检查点（语法验证、功能测试、浏览器兼容性） ## 单文件产出的核心原则 ### 自包含性（Self-Contained） | 原则 | 说明 | |------|------| | **零外部依赖** | HTML文件不依赖CDN以外的资源（或CDN仅用允许的白名单）；Python脚本仅用标准库；Shell脚本仅用coreutils及常见系统工具；SQL脚本使用标准SQL优先 | | **单一文件** | 所有HTML/CSS/JS内联在一个.html中；所有Python逻辑在一个.py中；所有Shell逻辑在一个.sh中；所有SQL逻辑在一个.sql中 | | **可直接运行** | HTML双击即可在浏览器打开；Python `python file.py` 即可运行；Shell `./file.sh` 即可运行；SQL `psql/mysql/sqlite3 < file.sql` 即可执行 | | **幂等性** | Shell脚本可重复执行不出错；SQL脚本含IF NOT EXISTS可重复执行；Python CLI含dry-run模式 | ### 四大家族 | 家族 | 说明 | 代表产出 | |------|------|---------| | **HTML单文件应用** | 内联CSS+JS的单一HTML文件，可在浏览器中直接运行 | PPT演示页、俄罗斯方块、数独、计算器、白板、Mermaid编辑器 | | **Python单文件CLI** | 带argparse子命令的单文件脚本，无第三方依赖 | 文件处理工具、数据分析脚本、自动化批处理、API客户端 | | **Shell单文件脚本** | Bash 4+/PowerShell 5.1+兼容的单文件脚本，零非系统依赖 | 系统初始化、备份恢复、构建部署、Git工作流 | | **SQL单文件脚本** | 标准SQL优先、方言注释标注的单文件脚本，幂等可重复执行 | 建表脚本、批量导入、报表查询、Schema迁移 | ### 组合与扩展 单文件产出之间可以通过以下方式组合： - **HTML嵌套**：一个HTML页面通过iframe嵌入另一个 - **Python子进程调用**：一个Python脚本的子命令调用另一个脚本 - **Shell管道串联**：多个Shell脚本通过Unix管道 `|` 串联 - **Shell→Python调用**：Shell脚本调用Python CLI工具 - **Shell→SQL执行**：Shell脚本通过mysql/psql/sqlite3执行SQL - **SQL→Python桥接**：SQL查询结果导出CSV/JSON，Python读取处理 - **HTML→Python桥接**：HTML前端调用本地Python后端（通过简单HTTP或文件交换） ## 域概览 按产出功能类型组织，共8域37子分类188种产出类型： | 域 | 子分类 | 产出数 | 典型产出 | |----|--------|--------|---------| | S1 演示展示 | A静态/B交互/C活动 | 20 | 幻灯片PPT、信息图、HTML邮件模板、音频可视化 | | S2 游戏娱乐 | A休闲/B街机/C益智/D棋牌/E文字/F记忆/G放置 | 35 | 俄罗斯方块、数独、五子棋、飞翔小鸟、Cookie Clicker | | S3 实用工具 | A文本/B计算/C安全/D效率/E开发/F格式 | 41 | 计算器、Markdown编辑器、白板、Mermaid编辑器、API Mock | | S4 数据可视化 | A图表/B结构/C空间/D动态 | 18 | 图表仪表盘、思维导图、热力图、数据大屏、动态排名图 | | S5 Python CLI | A文件/B数据/C网络/D生成/E运维 | 22 | 文件重命名、CSV处理、HTTP客户端、定时调度、系统信息 | | S6 教学与交互 | A引导/B概念/C模拟/D测验 | 16 | 交互教程、算法可视化、状态机、闪卡记忆、代码调试 | | S7 Shell脚本 | A运维/B文件/C部署/D开发 | 20 | 系统初始化、备份恢复、构建部署、项目脚手架、Git工作流 | | S8 SQL脚本 | A结构定义/B数据操作/C查询分析/D迁移版本 | 16 | 建表脚本、批量导入、报表查询、递归查询、Schema迁移 | 完整清单见 `references/output-catalog.md`。

path: references/exemplars.md
content: # 优秀范本库

单文件产出的完整可运行代码范本。用于UTOS内容轴**样本法**。

> **核心特点**：本技能的范本不是"文档描述"，而是**可直接运行的完整代码**。每个范本文件都是自包含的单文件产物，复制保存即可使用。

---

## 范本索引

### S1 演示展示范本

| 范本ID | 范本名称 | 对应任务 | 类型 | 文件 | 状态 |
|--------|---------|---------|------|------|------|
| EX-01 | HTML幻灯片模板 | S1-01 | HTML演示 | [内联] | [待补充] |
| EX-02 | 滚动落地页模板 | S1-02 | HTML演示 | [内联] | [待补充] |
| EX-03 | 交互式信息图 | S1-08 | HTML演示 | [内联] | [待补充] |
| EX-04 | 在线简历模板 | S1-03 | HTML演示 | [内联] | [待补充] |
| EX-05 | 图片画廊模板 | S1-05 | HTML演示 | [内联] | [待补充] |

### S2 游戏娱乐范本

| 范本ID | 范本名称 | 对应任务 | 类型 | 文件 | 状态 |
|--------|---------|---------|------|------|------|
| EX-10 | 俄罗斯方块完整实现 | S2-06 | HTML游戏 | [内联] | ✅ 已包含 |
| EX-11 | 飞翔小鸟完整实现 | S2-01 | HTML游戏 | [内联] | [待补充] |
| EX-12 | 2048游戏完整实现 | S2-11 | HTML游戏 | [内联] | [待补充] |
| EX-13 | 扫雷完整实现 | S2-12 | HTML游戏 | [内联] | [待补充] |
| EX-14 | 贪吃蛇完整实现 | S2-07 | HTML游戏 | [内联] | [待补充] |
| EX-15 | 五子棋完整实现 | S2-19 | HTML游戏 | [内联] | [待补充] |
| EX-16 | Cookie Clicker放置游戏 | S2-33 | HTML游戏 | [内联] | [待补充] |
| EX-17 | 数独完整实现 | S2-13 | HTML游戏 | [内联] | [待补充] |
| EX-18 | 打地鼠完整实现 | S2-02 | HTML游戏 | [内联] | [待补充] |
| EX-19 | 记忆翻牌完整实现 | S2-29 | HTML游戏 | [内联] | [待补充] |

### S3 实用工具范本

| 范本ID | 范本名称 | 对应任务 | 类型 | 文件 | 状态 |
|--------|---------|---------|------|------|------|
| EX-20 | 计算器完整实现 | S3-06 | HTML工具 | [内联] | ✅ 已包含 |
| EX-21 | JSON格式化工具 | S3-02 | HTML工具 | [内联] | [待补充] |
| EX-22 | 正则表达式测试器 | S3-03 | HTML工具 | [内联] | [待补充] |
| EX-23 | Markdown编辑器 | S3-01 | HTML工具 | [内联] | [待补充] |
| EX-24 | 密码生成器 | S3-12 | HTML工具 | [内联] | [待补充] |
| EX-25 | 番茄钟计时器 | S3-16 | HTML工具 | [内联] | [待补充] |
| EX-26 | 待办清单 | S3-17 | HTML工具 | [内联] | [待补充] |
| EX-27 | 二维码生成器 | S3-15 | HTML工具 | [内联] | [待补充] |
| EX-28 | 白板/画板工具 | S3-22 | HTML工具 | [内联] | [待补充] |
| EX-29 | Mermaid图表编辑器 | S3-33 | HTML工具 | [内联] | [待补充] |

### S4 数据可视化范本

| 范本ID | 范本名称 | 对应任务 | 类型 | 文件 | 状态 |
|--------|---------|---------|------|------|------|
| EX-30 | 图表仪表盘 | S4-01 | HTML可视化 | [内联] | [待补充] |
| EX-31 | 时间线组件 | S4-06 | HTML可视化 | [内联] | [待补充] |
| EX-32 | 思维导图 | S4-09 | HTML可视化 | [内联] | [待补充] |
| EX-33 | 动态排名图 | S4-16 | HTML可视化 | [内联] | [待补充] |

### S5 Python CLI工具范本

| 范本ID | 范本名称 | 对应任务 | 类型 | 文件 | 状态 |
|--------|---------|---------|------|------|------|
| EX-40 | 文件批量重命名 | S5-01 | Python CLI | [内联] | [待补充] |
| EX-41 | 目录分析器 | S5-02 | Python CLI | [内联] | [待补充] |
| EX-42 | CSV处理工具 | S5-06 | Python CLI | [内联] | [待补充] |
| EX-43 | HTTP请求客户端 | S5-11 | Python CLI | [内联] | [待补充] |
| EX-44 | 文本统计器 | S5-10 | Python CLI | [内联] | [待补充] |

### S6 教学与交互范本

| 范本ID | 范本名称 | 对应任务 | 类型 | 文件 | 状态 |
|--------|---------|---------|------|------|------|
| EX-60 | 算法可视化(排序) | S6-06 | HTML教学 | [内联] | [待补充] |
| EX-61 | 状态机演示 | S6-09 | HTML教学 | [内联] | [待补充] |
| EX-62 | 闪卡记忆系统 | S6-03 | HTML教学 | [内联] | [待补充] |

### S7 Shell脚本范本

| 范本ID | 范本名称 | 对应任务 | 类型 | 文件 | 状态 |
|--------|---------|---------|------|------|------|
| EX-70 | 系统初始化脚本 | S7-01 | Shell脚本 | [内联] | [待补充] |
| EX-71 | 备份恢复脚本 | S7-02 | Shell脚本 | [内联] | [待补充] |
| EX-72 | 部署发布脚本 | S7-12 | Shell脚本 | [内联] | [待补充] |
| EX-73 | 项目脚手架 | S7-16 | Shell脚本 | [内联] | [待补充] |
| EX-74 | Git工作流脚本 | S7-20 | Shell脚本 | [内联] | [待补充] |

### S8 SQL脚本范本

| 范本ID | 范本名称 | 对应任务 | 类型 | 文件 | 状态 |
|--------|---------|---------|------|------|------|
| EX-80 | 建表脚本(用户系统) | S8-01 | SQL脚本 | [内联] | [待补充] |
| EX-81 | 批量数据导入 | S8-05 | SQL脚本 | [内联] | [待补充] |
| EX-82 | 报表查询 | S8-09 | SQL脚本 | [内联] | [待补充] |
| EX-83 | Schema迁移脚本 | S8-13 | SQL脚本 | [内联] | [待补充] |
| EX-84 | 种子数据脚本 | S8-15 | SQL脚本 | [内联] | [待补充] |

---

## 范本代码：EX-10 俄罗斯方块（完整可运行）

> **对应任务**: S2-06
> **保存为**: `tetris.html`
> **运行方式**: 双击在浏览器打开
> **依赖**: 零（纯HTML+CSS+JS）

```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>俄罗斯方块</title>
<style>
*{margin:0;padding:0;box-sizing:border-box}
body{background:#1a1a2e;display:flex;justify-content:center;align-items:center;min-height:100vh;font-family:'Courier New',monospace;color:#eee}
.game-wrapper{display:flex;gap:20px;align-items:flex-start}
canvas{background:#16213e;border:2px solid #0f3460;border-radius:4px}
.side-panel{display:flex;flex-direction:column;gap:12px;width:120px}
.panel-box{background:#16213e;padding:12px;border-radius:6px;border:1px solid #0f3460}
.panel-box h3{font-size:13px;margin-bottom:8px;color:#e94560;text-align:center}
.panel-value{font-size:22px;font-weight:bold;text-align:center}
#next-canvas{background:#0f3460;border-radius:4px;margin:0 auto;display:block}
.controls{text-align:center;font-size:11px;color:#888;line-height:1.6}
.controls kbd{background:#0f3460;padding:2px 6px;border-radius:3px;font-size:10px}
#overlay{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:rgba(22,33,62,.95);padding:40px;border-radius:12px;border:2px solid #e94560}
#overlay h2{color:#e94560;font-size:28px;margin-bottom:12px}
#overlay p{font-size:14px;margin-bottom:16px}
#overlay button{background:#e94560;color:#fff;border:none;padding:10px 28px;border-radius:6px;font-size:15px;cursor:pointer}
#overlay button:hover{background:#c73e54}
</style>
</head>
<body>
<div class="game-wrapper" style="position:relative">
  <canvas id="board" width="300" height="600"></canvas>
  <div class="side-panel">
    <div class="panel-box"><h3>分数</h3><div class="panel-value" id="score">0</div></div>
    <div class="panel-box"><h3>等级</h3><div class="panel-value" id="level">1</div></div>
    <div class="panel-box"><h3>行数</h3><div class="panel-value" id="lines">0</div></div>
    <div class="panel-box"><h3>下一个</h3><canvas id="next-canvas" width="96" height="96"></canvas></div>
    <div class="controls">
      <kbd>&#8592;&#8594;</kbd> 移动<br>
      <kbd>&#8593;</kbd> 旋转<br>
      <kbd>&#8595;</kbd> 加速<br>
      <kbd>Space</kbd> 直落<br>
      <kbd>P</kbd> 暂停
    </div>
  </div>
  <div id="overlay">
    <h2>游戏结束</h2>
    <p>最终分数: <span id="final-score">0</span></p>
    <button onclick="game.start()">重新开始</button>
  </div>
</div>
<script>
const COLS=10,ROWS=20,BLOCK_SIZE=30;
const COLORS=['#00f0f0','#f0f000','#a000f0','#00f000','#f00000','#0000f0','#f0f000'];
const SHAPES=[[[1,1,1,1]],[[1,1],[1,1]],[[1,1,1],[0,1,0]],
  [[1,1,0],[0,1,1]],[[0,1,1],[1,1,0]],[[1,1,1],[1,0,0]]];
class Piece{constructor(type){this.type=type;this.shape=SHAPES[type].map(r=>[...r]);this.color=COLORS[type];this.x=Math.floor((COLS-this.shape[0].length)/2);this.y=0}rotate(){const r=this.shape[0].map((_,i)=>this.shape.map(row=>row[i]).reverse());return{shape:r,x:this.x,y:this.y}}}
class Board{constructor(){this.grid=Array.from({length:ROWS},()=>new Array(COLS).fill(0));this.score=0;this.lines=0;this.level=1}valid(shape,ox,oy){return shape.every((r,dy)=>r.every((v,dx)=>!v||(ox+dx>=0&&ox+dx<COLS&&oy+dy<ROWS&&!this.grid[oy+dy][ox+dx])))}lock(piece){piece.shape.forEach((r,dy)=>r.forEach((v,dx)=>{if(v&&piece.y+dy>=0)this.grid[piece.y+dy][piece.x+dx]=parseInt(piece.color.slice(1),16)}))}clearLines(){let cleared=0;for(let y=ROWS-1;y>=0;y--){if(this.grid[y].every(v=>v)){this.grid.splice(y,1);this.grid.unshift(new Array(COLS).fill(0));cleared++;y++}}if(cleared){this.lines+=cleared;const pts=[0,100,300,800];this.score+=(pts[cleared]||0)*(this.level+1);this.level=Math.floor(this.lines/10)+1}}}
class Renderer{constructor(boardCanvas,nextCanvas){this.bc=boardCanvas;this.nc=nextCanvas;this.bctx=boardCanvas.getContext('2d');this.nctx=nextCanvas.getContext('2d');this.bs=BLOCK_SIZE;this.ns=this.nc.width/4}drawBoard(board){this.bctx.fillStyle='#16213e';this.bctx.fillRect(0,0,this.bc.width,this.bc.height);board.grid.forEach((row,y)=>row.forEach((v,x)=>{if(v){this.bctx.fillStyle='#'+v.toString(16).padStart(6,'0');this.bctx.fillRect(x*this.bs,y*this.bs,this.bs-1,this.bs-1)}}))}drawGhost(piece,board){const ghost={...piece,y:piece.y};while(board.valid(ghost.shape,ghost.x,ghost.y+1))ghost.y++;if(ghost.y>piece.y){this.bctx.globalAlpha=0.2;ghost.shape.forEach((r,dy)=>r.forEach((v,dx)=>{if(v){this.bctx.fillStyle=piece.color;this.bctx.fillRect((ghost.x+dx)*this.bs,(ghost.y+dy)*this.bs,this.bs-1,this.bs-1)}}));this.bctx.globalAlpha=1}}drawPiece(piece,pctx,scale){pctx.clearRect(0,0,pctx.canvas.width,pctx.canvas.height);piece.shape.forEach((r,dy)=>r.forEach((v,dx)=>{if(v){pctx.fillStyle=piece.color;pctx.fillRect(dx*scale,dy*scale,scale-1,scale-1)}}))}}
class Game{constructor(){this.board=new Board();this.renderer=new Renderer(document.getElementById('board'),document.getElementById('next-canvas'));this.current=null;this.next=null;this.dropCounter=0;this.dropInterval=1000;this.lastTime=0;this.paused=false;this.over=false;this.animId=null;this.initInput()}initInput(){document.addEventListener('keydown',e=>{if(this.over)return;if(e.key==='p'||e.key==='P'){this.paused=!this.paused;return}if(this.paused)return;switch(e.key){case'ArrowLeft':this.move(-1,0);break;case'ArrowRight':this.move(1,0);break;case'ArrowDown':this.move(0,1);break;case'ArrowUp':this.rotate();break;case' ':this.hardDrop();break}})}spawn(){this.current=this.next||new Piece(Math.floor(Math.random()*7));this.next=new Piece(Math.floor(Math.random()*7));if(!this.board.valid(this.current.shape,this.current.x,this.current.y)){this.gameOver()}this.renderer.drawPiece(this.next,this.renderer.nctx,this.renderer.ns)}move(dx,dy){if(this.board.valid(this.current.shape,this.current.x+dx,this.current.y+dy)){this.current.x+=dx;this.current.y+=dy}}rotate(){const rotated=this.current.rotate();if(this.board.valid(rotated.shape,rotated.x,rotated.y)){this.current.shape=rotated.shape}}hardDrop(){while(this.board.valid(this.current.shape,this.current.x,this.current.y+1))this.current.y++;this.lock()}lock(){this.board.lock(this.current);this.board.clearLines();this.spawn();this.updateUI()}updateUI(){document.getElementById('score').textContent=this.board.score;document.getElementById('level').textContent=this.board.level;document.getElementById('lines').textContent=this.board.lines}gameOver(){this.over=true;cancelAnimationFrame(this.animId);document.getElementById('final-score').textContent=this.board.score;document.getElementById('overlay').style.display='block'}start(){this.board=new Board();this.over=false;this.paused=false;this.dropInterval=1000;document.getElementById('overlay').style.display='none';this.spawn();this.lastTime=0;this.loop(0)}loop(time){if(this.over)return;if(this.paused){this.animId=requestAnimationFrame(t=>this.loop(t));return}const dt=time-this.lastTime;this.lastTime=time;this.dropCounter+=dt;if(this.dropCounter>this.dropInterval){this.move(0,1);this.dropCounter=0;this.updateUI()}this.dropInterval=Math.max(100,1000-this.board.level*80);this.renderer.drawBoard(this.board);this.renderer.drawGhost(this.current,this.board);this.renderer.drawPiece(this.current,this.renderer.bctx,this.renderer.bs);this.animId=requestAnimationFrame(t=>this.loop(t))}}
const game=new Game();
game.start();
</script>
</body>
</html>
```

---

## 范本代码：EX-20 计算器（完整可运行）

> **对应任务**: S3-06
> **保存为**: `calculator.html`
> **运行方式**: 双击在浏览器打开
> **依赖**: 零

```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>计算器</title>
<style>
*{margin:0;padding:0;box-sizing:border-box}
body{background:#1a1a2e;display:flex;justify-content:center;align-items:center;min-height:100vh;font-family:system-ui,sans-serif}
.calc{background:#16213e;padding:20px;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.4);width:320px}
.display{background:#0f3460;color:#e94560;font-size:32px;text-align:right;padding:20px;border-radius:10px;margin-bottom:16px;min-height:48px;word-break:break-all;font-family:'Courier New',monospace;overflow-x:auto}
.keys{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.btn{border:none;border-radius:10px;padding:18px;font-size:20px;cursor:pointer;transition:.15s;background:#1f4068;color:#eee;font-family:inherit}.btn:hover{filter:brightness(1.2)}.btn:active{transform:scale(.95)}
.op{background:#e94560;color:#fff}.fn{background:#0f3460}.eq{grid-column:span 2;background:#e94560;color:#fff;font-size:24px}
</style>
</head>
<body>
<div class="calc"><div class="display" id="display">0</div><div class="keys" id="keys"></div></div>
<script>
const $=id=>document.getElementById(id);
const display=$('display'),keys=$('keys');
const labels=['C','±','%','÷','7','8','9','×','4','5','6','-','1','2','3','+','0','.','='];
const types=['fn','fn','fn','op','num','num','num','op','num','num','num','op','num','num','num','op','num','num','eq'];
labels.forEach((t,i)=>{
  const b=document.createElement('button');
  b.className='btn '+types[i];b.textContent=t;
  b.onclick=()=>handle(t);keys.appendChild(b)
});
let expr='',shouldReset=false;
function handle(val){
  if(val==='C'){expr='';shouldReset=false}
  else if(val==='±'){if(expr&&(expr[0]==='-')?expr=expr.slice(1):expr='-'+expr)}
  else if(val==='%'){try{expr=String(Number(eval(expr.replace(/×/g,'*').replace(/÷/g,'/')))/100))}catch{}}
  else if(val==='='){try{expr=String(eval(expr.replace(/×/g,'*').replace(/÷/g,'/')));shouldReset=true}catch(e){expr='Error'}}
  else if(['+','-','×','÷'].includes(val)){
    const last=expr.slice(-1);
    if(['+','-','×','÷'].includes(last))expr=expr.slice(0,-1)+val;
    else expr+=val;shouldReset=false
  }
  else{
    if(shouldReset)expr='';
    if(val==='.' && expr.split(/[+\-×÷]/).pop().includes('.'))return;
    expr=(expr==='0'&&val!=='.')?val:expr+val
  }
  display.textContent=expr||'0'
}
document.addEventListener('keydown',e=>{
  const m={'Enter':'=','Backspace':'C','%':'%','*':'×','/':'÷'};
  const k=m[e.key]||e.key;
  if(labels.includes(k)||'0123456789.'.includes(k))handle(k)
});
</script>
</body>
</html>
```

---

## 更多范本说明

### 范本扩展指南

以上提供了两个完整的、可直接运行的范本（俄罗斯方块和计算器）。其余范本标记为`[待补充]`。

**填充新范本时需遵循以下规范**：

1. **单文件原则**：所有HTML/CSS/JS内联在一个`.html`中；所有Python逻辑在一个`.py`中；所有Shell逻辑在一个`.sh`中；所有SQL逻辑在一个`.sql`中
2. **零外部依赖**：
   - HTML：仅用CDN白名单资源（cdnjs.cloudflare.com / cdn.jsdelivr.net / unpkg.com）
   - Python：仅用标准库
   - Shell：仅用coreutils及常见系统工具
   - SQL：标准SQL优先，方言差异注释标注
3. **可直接运行**：
   - HTML：双击即可在浏览器中正常工作
   - Python：`python file.py` 即可运行（含 `--help`）
   - Shell：`chmod +x file.sh && ./file.sh` 即可运行（含 `--help`）
   - SQL：`mysql/psql/sqlite3 < file.sql` 即可执行
4. **代码质量**：
   - 变量命名清晰
   - 关键逻辑有注释
   - 错误处理完善
   - 边界情况考虑
5. **文件命名**：`exemplars/<kebab-case-name>.html` / `.py` / `.sh` / `.sql`

### 范本作为UTOS样本法的使用方式

当用户要求产出某种单文件应用时：

1. UTOS从exemplars中找到最接近的范本
2. 分析范本的代码结构（作为"样本特征摘要"）
3. 按用户需求修改/替换内容部分
4. 保持结构框架不变，仅替换差异化内容
5. 输出新的完整可运行单文件

### 范本优先级

当多个范本可用于同一类产出时，选择优先级：

1. **同类同域**：S2游戏优先用S2范本
2. **结构相似**：卡片式UI优先用Portfolio范本
3. **交互模式匹配**：拖拽交互优先用拖拽排序题范本
4. **降级使用**：无精确匹配时，取最接近的范本并标注差异

---

## 管线与选型示例

以下示例展示从用户需求到交付的典型路径，覆盖目录模式、流程模式、管线模式及Shell/SQL家族。

### 示例1：目录模式——"我要做一个数独"

```
决策树 → 匹配S2-13
组件清单 → 读取structure-requirements中S2-13条目
         → 9×9数组 + 回溯生成 + 候选笔记 + 计时 + 难度分级
联调检查 → 边界测试(空格输入/重复数字/完成判定)
质量等级 → L2交付（好用级）
```

### 示例2：流程模式——"我需要展示团队季度业绩"

```
决策树: 可视化数据→图表展示→S4-01仪表盘 或 S1-10报告可视化
选型: S1-10报告可视化页(含目录导航+章节+图表嵌套)
组件清单 → 侧边导航 + 章节内容区 + S4-01图表嵌入 + 目录自动生成
联调检查 → 图表数据联动、响应式、空数据处理
质量等级 → L3交付（精品级，含暗色模式）
```

### 示例3：管线模式——"帮我做日志分析并生成可视化报告"

```
决策树 → Python+HTML管线
选型 → S5-B(日志解析) → S5-B(CSV过滤) → S4-A(图表) → S1-10(报告)
组装 → 逐个组装4个产物，按接口规范设计数据流
     → 日志解析输出JSON → CSV过滤读取JSON输出CSV → 图表读取CSV → 报告嵌入图表
联调 → 管线端到端测试: mock日志→解析→过滤→图表→报告
质量等级 → L2交付（各产物独立可用 + 管线串联可用）
```

### 示例4：Shell脚本模式——"我需要一键部署生产环境"

```
决策树: 部署发布→S7-C(部署发布脚本)
组件清单 → Shebang→安全设置→环境检测→备份当前版本→部署新版本→健康检查→回滚准备→通知
联调检查 → dry-run模式验证 / 健康检查超时处理 / 回滚路径验证
质量等级 → L3交付（含dry-run + 彩色日志 + 通知集成）
```

### 示例5：SQL脚本模式——"我需要建一套用户系统的表"

```
决策树: 定义表结构→S8-A(建表脚本)
组件清单 → 数据库声明→DROP IF EXISTS→事务BEGIN→CREATE TABLE→约束→索引→注释→COMMIT→验证查询
联调检查 → 重复执行(幂等性) / 约束有效性 / 索引创建成功
质量等级 → L2交付（含方言注释 + 验证查询 + 回滚语句）
```


path: references/output-catalog.md
content: # 产出类型清单与依赖拓扑

单文件产出按功能类型组织的清单，附产出间依赖关系和UTOS元操作映射提示。

**域间逻辑流**：

```
基础工具(S3) → 数据处理(S5/S8) → 可视化(S4) → 展示(S1) / 游戏娱乐(S2) / 教学交互(S6)
基础工具(S3) → 系统运维(S7) → 部署发布(S7-C)
数据库(S8) ←→ Python CLI(S5) ←→ Shell脚本(S7)
```

S3实用工具域(S3-E开发调试)贯穿全流程。

> **领域特性声明**：单文件产出的天然独立性决定了约80%的产出类型无前置依赖（标注为"无（入口·独立产出）"），这不同于流水线式领域（如医药/网文）的入口任务占比≤30%的通常预期。每个独立产出均可单独开发、测试和交付，域间依赖主要出现在管线组合场景中。

---

## S1 演示展示（20种）

### S1-A 静态展示

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S1-01 | HTML幻灯片(PPT) | 纯HTML+CSS+JS实现的幻灯片，支持键盘/点击翻页、动画过渡、代码高亮 | 无（入口·独立产出） | A |
| S1-02 | 滚动长海报/落地页 | 单页垂直滚动的营销/展示页面，含视差效果、动画触发、CTA按钮 | 无（入口·独立产出） | A |
| S1-03 | 在线简历/个人主页 | 个人信息结构化展示，含时间线/技能条/作品展示/联系方式 | 无（入口·独立产出） | A |
| S1-04 | 电子名片(vCard) | 极简个人信息卡，含头像/姓名/职务/联系方式/社交链接/二维码 | 无（入口·独立产出） | A |
| S1-05 | 图片画廊/相册 | 响应式瀑布流/网格画廊，含灯箱放大/分类筛选/懒加载 | 无（入口·独立产出） | A |
| S1-06 | 倒计时页面 | 活动倒计时/纪念日/新年倒计，含翻牌动画/背景粒子 | 无（入口·独立产出） | A |
| S1-07 | HTML邮件模板 | 营销/通知邮件的HTML模板，含内联CSS/响应式/MJML兼容/预览测试 | 无（入口·独立产出） | A |

### S1-B 交互展示

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S1-08 | 交互式信息图 | 数据可视化信息图，含hover交互、动态数据更新、故事线滚动 | S4-01 | C→A |
| S1-09 | 作品集/Portfolio | 多项目卡片展示，含筛选/分类/模态详情/搜索 | 无（入口·独立产出） | A→I |
| S1-10 | 报告可视化页 | 结构化报告的数据可视化呈现，含目录导航/章节跳转 | S4-01, S4-02 | C→A |
| S1-11 | 产品发布页 | 产品特性展示，含3D旋转/规格对比/评价/购买引导 | 无（入口·独立产出） | A→I |
| S1-12 | 虚拟展厅/3D展示 | CSS3D或Three.js(白名单CDN)实现的3D空间浏览 | 无（入口·独立产出） | A→I |
| S1-13 | 电子书/翻书效果 | 模拟翻书的页面切换，含目录/书签/缩放/搜索 | 无（入口·独立产出） | A |

### S1-C 活动场景

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S1-14 | 活动邀请函 | 婚礼/发布会/聚会邀请页，含RSVP/地图导航/倒计时/动效 | 无（入口·独立产出） | A |
| S1-15 | 年度报告/数据年报 | 年度数据汇总展示，含关键指标/趋势图/成就时间线 | S4-01, S4-02 | C→A |
| S1-16 | 二维码生成展示页 | 输入文本/URL生成二维码，含样式定制/Logo嵌入/批量导出 | S3-15 | A |
| S1-17 | 文档阅读器 | Markdown/文本文件的在线阅读，含目录/搜索/主题切换/进度 | 无（入口·独立产出） | A |
| S1-18 | 视频播放器页 | 自定义UI的视频播放器，含弹幕/倍速/字幕/画中画 | 无（入口·独立产出） | A |
| S1-19 | 交互式地图/路线图 | 多节点路线展示，含节点详情/进度追踪/缩放平移 | 无（入口·独立产出） | A |
| S1-20 | 音频播放/可视化 | 自定义音频播放器+频谱/波形可视化，含播放列表/均衡器 | 无（入口·独立产出） | A→I |

---

## S2 游戏娱乐（35种）

### S2-A 休闲反应

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S2-01 | 飞翔小鸟(Flappy Bird) | 点击控制高度穿越管道间隙，含计分/最高分/难度递增 | 无（入口·独立产出） | A |
| S2-02 | 打地鼠 | 限时点击随机冒出的地鼠，含连击加成/多洞位/等级加速 | 无（入口·独立产出） | A |
| S2-03 | 乒乓球(Pong) | 经典双人对战/人机弹球，含速度递增/弹道变化/计分 | 无（入口·独立产出） | A |
| S2-04 | 节奏大师 | 按节拍点击下落音符，含判定(Perfect/Great/Miss)/连击/曲目 | 无（入口·独立产出） | A |
| S2-05 | 跳跃过河 | 控制角色跳跃穿越障碍/河流/平台，含蓄力跳/精准落点 | 无（入口·独立产出） | A |

### S2-B 经典街机

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S2-06 | 俄罗斯方块 | 经典方块消除，含计分/等级/下一个预览/暂停/幽灵块 | 无（入口·独立产出） | A |
| S2-07 | 贪吃蛇 | 蛇形移动吃食成长，含加速/穿墙/障碍模式/多食物 | 无（入口·独立产出） | A |
| S2-08 | 弹球打砖块 | 挡板弹球碎砖，含道具系统(加宽/多球/激光)/多关卡 | 无（入口·独立产出） | A |
| S2-09 | 吃豆人(Pac-Man) | 迷宫吃豆躲避幽灵，含能量豆反吃/多关卡/智能AI | 无（入口·独立产出） | A |
| S2-10 | 飞机大战 | 纵向射击躲避弹幕，含武器升级/炸弹/敌机编队/Boss | 无（入口·独立产出） | A |

### S2-C 益智烧脑

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S2-11 | 2048合并 | 数字滑块合并，含撤销/最佳分记录/多种尺寸(4×4/5×5/6×6) | 无（入口·独立产出） | A |
| S2-12 | 扫雷 | 翻格子避雷，含初级/中级/高级/自定义/首次安全 | 无（入口·独立产出） | A |
| S2-13 | 数独 | 9×9数字逻辑填充，含提示/笔记模式/自动校验/难度分级 | 无（入口·独立产出） | A |
| S2-14 | 24点运算 | 四张牌凑24，含计时/难度/运算符扩展/答案揭示 | 无（入口·独立产出） | A |
| S2-15 | 连连看 | 图案配对消除，含路径检测(≤2折)/洗牌/提示/计时 | 无（入口·独立产出） | A |
| S2-16 | 滑块拼图(15 Puzzle) | 滑动数字归位，含步数统计/最优解提示/多尺寸 | 无（入口·独立产出） | A |
| S2-17 | 灯光翻转(Lights Out) | 点击翻转相邻灯状态，含模式选择/求解器/最短步数 | 无（入口·独立产出） | A |
| S2-18 | 华容道 | 经典滑块策略，含多布局/步数统计/历史记录 | 无（入口·独立产出） | A |

### S2-D 棋牌策略

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S2-19 | 五子棋 | 五子连珠，含AI对战(Minimax)/悔棋/禁手规则 | 无（入口·独立产出） | A→I |
| S2-20 | 井字棋(Tic-Tac-Toe) | 三连制胜，含完美AI(Minimax)/难度选择/统计 | 无（入口·独立产出） | A |
| S2-21 | 国际象棋 | 完整棋规+AI(简化版)，含王车易位/吃过路兵/升变 | 无（入口·独立产出） | A→I |
| S2-22 | 中国象棋 | 完整棋规+AI(简化版)，含将军/将死/困毙判定 | 无（入口·独立产出） | A→I |
| S2-23 | 21点(Blackjack) | 经典赌场纸牌，含要牌/停牌/分牌/双倍下注 | 无（入口·独立产出） | A |
| S2-24 | 逻辑推理(Mastermind) | 猜颜色序列+黑白银钉反馈，含难度/步数/求解器 | 无（入口·独立产出） | A→C |

### S2-E 文字语言

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S2-25 | 打字速度练习 | 英文/中文打字，含WPM统计/准确率/难度递进/排行榜 | 无（入口·独立产出） | A |
| S2-26 | 猜词游戏(Hangman) | 逐字母猜单词，含提示/分类词库/剩余机会/动画 | 无（入口·独立产出） | A |
| S2-27 | 找词游戏(Word Search) | 字母矩阵中找隐藏单词，含高亮/计时/多方向 | 无（入口·独立产出） | A |
| S2-28 | Quiz问答系统 | 题库驱动问答，含计分/排名/选择题+填空+判断多题型 | S6可扩展 | A→C |

### S2-F 记忆专注

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S2-29 | 记忆翻牌配对 | 翻牌找对子，含计时/步数统计/主题切换/难度分级 | 无（入口·独立产出） | A |
| S2-30 | 记忆序列(Simon) | 重复递增的颜色/声音序列，含速度递增/最高关记录 | 无（入口·独立产出） | A |
| S2-31 | 找茬/找不同 | 两幅图对比找差异，含计时/提示/圈注标记 | 无（入口·独立产出） | A |
| S2-32 | 舒尔特方格 | N×N方格按序点击训练专注力，含计时/尺寸选择/成绩记录 | 无（入口·独立产出） | A |

### S2-G 放置模拟

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S2-33 | 放置点击(Cookie Clicker) | 点击产出+自动升级+成就系统，含离线收益/重置奖励 | 无（入口·独立产出） | A→C |
| S2-34 | 电子宠物(Tamagotchi) | 喂食/清洁/互动养成，含饥饿度/心情/成长阶段/小游戏 | 无（入口·独立产出） | A |
| S2-35 | 放置矿工/建造 | 资源管理+建筑升级+自动产出，含科技树/解锁条件 | 无（入口·独立产出） | A→C |

---

## S3 实用工具（41种）

### S3-A 文本处理

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S3-01 | Markdown编辑器 | 实时预览的Markdown编辑器，含语法高亮/导出/工具栏 | 无（入口·独立产出） | A |
| S3-02 | JSON格式化工具 | JSON美化/压缩/校验/路径查询/树形浏览 | 无（入口·独立产出） | A |
| S3-03 | 正则表达式测试器 | 实时匹配测试，含高亮/分组捕获/替换预览/常用正则库 | 无（入口·独立产出） | A |
| S3-04 | Base64编解码 | 文本/Base64互编互解码，支持文件拖放编解码/复制 | 无（入口·独立产出） | A |
| S3-05 | 文本对比(Diff) | 并排/统一diff视图，含行级差异高亮/合并/统计 | 无（入口·独立产出） | A |

### S3-B 计算转换

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S3-06 | 计算器 | 基础四则+科学计算+历史记录，含键盘快捷键/连续运算 | 无（入口·独立产出） | A |
| S3-07 | 单位转换器 | 长度/重量/温度/面积/体积/速度等多维度转换 | 无（入口·独立产出） | A |
| S3-08 | 颜色选择器 | HEX/RGB/HSL互调、调色板生成、对比度检查(WCAG) | 无（入口·独立产出） | A |
| S3-09 | 进制转换器 | 二/八/十/十六进制互转，含位运算可视化/补码展示 | 无（入口·独立产出） | A |
| S3-10 | 时区转换器 | 全球时区对照/时间转换/工作时段重叠/夏令时标注 | 无（入口·独立产出） | A |
| S3-11 | 电子表格查看器 | 轻量级CSV/TSV表格查看与简单编辑，含排序/筛选/公式/导出 | 无（入口·独立产出） | A |

### S3-C 安全加密

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S3-12 | 密码生成器 | 可配置长度/字符类型的随机密码生成，含强度指示 | 无（入口·独立产出） | A |
| S3-13 | 哈希计算器 | MD5/SHA-1/SHA-256/SHA-512计算，含文件拖放/对比验证 | 无（入口·独立产出） | A |
| S3-14 | 加密解密工具 | AES/DES/RSA(简化)前端加解密，含密钥管理/输出格式 | 无（入口·独立产出） | A |
| S3-15 | 二维码生成器 | 文本/URL/名片生成二维码，含样式定制/Logo嵌入/批量 | 无（入口·独立产出） | A |

### S3-D 效率工具

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S3-16 | 番茄钟/计时器 | 番茄工作法计时+休息提醒+统计，含自定义时长/任务标签 | 无（入口·独立产出） | A |
| S3-17 | 待办清单(Todo) | 增删改查待办事项，含优先级/分类/截止日期/本地存储 | 无（入口·独立产出） | A |
| S3-18 | 便签/笔记本 | 简易富文本便签，含创建/编辑/删除/搜索/本地存储 | 无（入口·独立产出） | A |
| S3-19 | 习惯追踪器 | 每日习惯打卡+连续天数+热力图，含统计/提醒/导出 | 无（入口·独立产出） | A |
| S3-20 | 世界时钟 | 多时区同时显示，含模拟/数字表盘/自定义城市/12/24h切换 | 无（入口·独立产出） | A |
| S3-21 | 随机决策器 | 抽签/掷骰/转盘/随机数，含自定义选项/权重/动画 | 无（入口·独立产出） | A |
| S3-22 | 白板/画板工具 | Canvas自由绘图，含画笔/橡皮/颜色/图层/导出PNG/撤销重做 | 无（入口·独立产出） | A→I |
| S3-23 | 表单构建器 | 拖拽生成表单，含字段类型/验证规则/预览/导出HTML | 无（入口·独立产出） | A→I |

### S3-E 开发调试

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S3-24 | 代码高亮查看器 | 多语言语法高亮查看，含行号/复制/暗色模式/字体设置 | 无（入口·独立产出） | A |
| S3-25 | 代码格式化器 | 多语言代码格式化，含缩进调整/风格切换/差异预览 | 无（入口·独立产出） | A |
| S3-26 | 代码片段管理器 | 代码片段收藏/分类/搜索/一键复制/导入导出 | 无（入口·独立产出） | A→I |
| S3-27 | AST浏览器 | JavaScript/Python代码的AST可视化浏览/节点定位 | 无（入口·独立产出） | C→A |
| S3-28 | 在线编译运行 | 多语言代码编辑+运行(模拟输出)，含输入/错误提示/分享 | 无（入口·独立产出） | A→I |
| S3-29 | API Mock服务 | 轻量级HTTP Mock，支持路由定义/延迟/状态码/动态响应 | 无（入口·独立产出） | A→I |
| S3-30 | HTTP客户端测试 | 可视化HTTP请求构造，含Header/Body/认证/响应格式化 | 无（入口·独立产出） | A→I |
| S3-31 | WebSocket调试器 | WebSocket连接/消息收发/帧查看/自动重连/日志 | 无（入口·独立产出） | A→I |
| S3-32 | GraphQL探索器 | GraphQL查询构造/Schema浏览/变量编辑/响应格式化 | 无（入口·独立产出） | A→I |
| S3-33 | Mermaid图表编辑器 | Mermaid语法实时编辑+图表预览，含主题切换/导出SVG/PNG | 无（入口·独立产出） | A→I |

### S3-F 格式编码

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S3-34 | Markdown预览器 | 实时Markdown渲染预览，支持GFM扩展/数学公式/TOC | S3-01 | C→A |
| S3-35 | Schema校验器 | YAML/JSON格式校验+Schema验证+错误定位+修复建议 | S3-02 | C→A→G |
| S3-36 | Cron表达式解析器 | Cron表达式→人类可读解释→未来执行时间列表 | 无（入口·独立产出） | A |
| S3-37 | URL编解码工具 | URL encode/decode/Punycode/Base64URL，含各组件拆解 | 无（入口·独立产出） | A |
| S3-38 | 正则表达式可视化 | 正则表达式的图形化分解，展示匹配过程步骤 | S3-03 | C→A |
| S3-39 | 编码转换器(全) | Unicode/UTF-8/GBK/GB2312/Big5互转+百分比编码+HTML实体 | 无（入口·独立产出） | A |
| S3-40 | Unicode浏览器 | Unicode区块浏览/搜索/字符详情(码点/名称/分类) | 无（入口·独立产出） | A |
| S3-41 | 字符集检测器 | 输入文本的字符集/编码检测+频率统计+异常定位 | 无（入口·独立产出） | C→A |

---

## S4 数据可视化（18种）

### S4-A 图表展示

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S4-01 | 图表仪表盘 | 折线/柱状/饼图/雷达图组合仪表盘，含数据联动/导出 | 无（入口·独立产出） | A |
| S4-02 | 柱状图/折线图 | 独立柱状/折线/面积图，含动画/标注/多系列/主题切换 | 无（入口·独立产出） | A |
| S4-03 | 饼图/环形图 | 饼图/环形图/南丁格尔图，含标签/图例/交互钻取 | 无（入口·独立产出） | A |
| S4-04 | 雷达图/极坐标 | 多维度雷达/极坐标图，含区域填充/对比叠加 | 无（入口·独立产出） | A |
| S4-05 | 散点图/气泡图 | 二维散点/气泡图，含大小映射/颜色编码/趋势线 | 无（入口·独立产出） | A |

### S4-B 结构展示

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S4-06 | 时间线组件 | 垂直/水平时间线，含事件节点/图片/描述/缩放 | 无（入口·独立产出） | A |
| S4-07 | 组织架构图 | 树形组织架构，含展开折叠/搜索/高亮路径/缩放 | 无（入口·独立产出） | A |
| S4-08 | 流程图/状态机 | SVG绘制的流程图/状态机，含交互导航/节点编辑 | 无（入口·独立产出） | A |
| S4-09 | 思维导图 | 中心发散式思维导图，含展开折叠/拖拽/编辑/导出 | 无（入口·独立产出） | A |
| S4-10 | 桑基图/瀑布图 | 流向桑基图/贡献瀑布图，含悬停详情/流向高亮 | 无（入口·独立产出） | A |

### S4-C 空间展示

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S4-11 | 地图标注页 | 地图点位标注/热力图/路线规划（需地图API白名单） | 无（入口·独立产出） | A |
| S4-12 | 热力图(Heatmap) | 矩阵热力图/日历热力图，含色阶/标注/缩放 | 无（入口·独立产出） | A |
| S4-13 | 树图/矩形树图 | 层级数据的矩形树图，含大小/颜色映射/钻取 | 无（入口·独立产出） | A |
| S4-14 | 旭日图/圆堆积 | 层级数据的旭日图/圆堆积图，含弧段交互/钻取 | 无（入口·独立产出） | A |

### S4-D 实时动态

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S4-15 | 实时监控面板 | 模拟实时更新的数据面板，含告警阈值/趋势线 | S4-01 | C→A |
| S4-16 | 动态排名图(Bar Chart Race) | 时间维度排名变化动画，含速度控制/暂停/回放 | 无（入口·独立产出） | A |
| S4-17 | 数据大屏 | 全屏数据展示面板，含多图联动/自适应/自动轮播 | S4-01, S4-02 | C→A |
| S4-18 | 粒子数据流 | 数据驱动的粒子/流线动画，含交互/参数调节 | 无（入口·独立产出） | A→I |

---

## S5 Python CLI工具（22种）

> **S5域特殊规范**：
> - 仅使用Python标准库（stdlib），零第三方依赖
> - 使用 `argparse` 实现子命令体系：`python tool.py <subcommand> [options]`
> - 支持 `--verbose` / `--quiet` / `--output FORMAT` 通用选项
> - 支持 Unix管道输入输出（stdin/stdout）
> - 包含 `--help` 和 `--version`
> - 错误时 exit code 非0

### S5-A 文件操作

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S5-01 | 文件批量重命名 | 正则/前缀后缀/编号/日期格式的批量重命名，含dry-run | 无（入口·独立产出） | A→G |
| S5-02 | 目录分析器 | 扫描目录统计文件类型/大小分布/深度分析，输出报告 | 无（入口·独立产出） | S→C→A |
| S5-03 | 文件同步/备份 | 增量同步源→目标，含校验/冲突处理/排除规则 | 无（入口·独立产出） | S→C→A→G |
| S5-04 | 文件监控(Watchdog) | 监控目录变化(创建/修改/删除)，触发回调/命令 | 无（入口·独立产出） | S→C→A |
| S5-05 | 全文搜索替换 | 递归目录搜索/正则匹配/批量替换/预览确认/diff输出 | 无（入口·独立产出） | S→A→G |

### S5-B 数据处理

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S5-06 | CSV处理工具 | CSV读取/筛选/排序/聚合/join/转置/输出格式转换 | 无（入口·独立产出） | S→C→A→O |
| S5-07 | 日志解析器 | 解析通用日志格式，提取关键指标/错误聚合/趋势 | 无（入口·独立产出） | S→C→A |
| S5-08 | JSON/YAML处理 | JSON/YAML读取/查询/转换/合并/diff/格式化 | 无（入口·独立产出） | S→C→A→O |
| S5-09 | 数据库查询(SQLite) | SQLite查询/导出/表结构/索引分析/批量操作 | 无（入口·独立产出） | S→C→A |
| S5-10 | 文本统计器 | 字数/词频/行数/编码检测/去重/摘要提取 | 无（入口·独立产出） | S→C→A |

### S5-C 网络通信

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S5-11 | HTTP请求客户端 | GET/POST/PUT/DELETE + Header管理/认证/Cookie/格式化输出 | 无（入口·独立产出） | A→I |
| S5-12 | WebSocket客户端 | 连接/发送/订阅/自动重连/消息日志/JSON格式化 | 无（入口·独立产出） | A→I |
| S5-13 | 端口扫描器 | TCP端口扫描/服务识别/并发控制/结果汇总 | 无（入口·独立产出） | S→C→A |
| S5-14 | DNS查询工具 | A/AAAA/MX/TXT/NS/CNAME查询/反解/批量/对比 | 无（入口·独立产出） | S→C→A |

### S5-D 开发生成

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S5-15 | 代码生成器 | 基于模板的代码/文档/配置文件批量生成 | S5-17 | C→A |
| S5-16 | 项目脚手架 | 从模板创建项目结构/生成README/配置文件/初始化Git | 无（入口·独立产出） | C→A |
| S5-17 | 配置管理工具 | YAML/TOML/INI/JSON/ENV多格式配置读写/校验/diff | 无（入口·独立产出） | S→C→A→O |
| S5-18 | API文档生成器 | 从代码注释/类型提示生成Markdown/HTML API文档 | 无（入口·独立产出） | S→C→A |

### S5-E 系统运维

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S5-19 | 定时任务调度器 | cron-like的定时执行引擎，支持间隔/定点/条件触发 | 无（入口·独立产出） | C→A |
| S5-20 | 进程管理器 | 进程列表/树/杀死/监控/僵尸检测/资源占用 | 无（入口·独立产出） | S→C→A |
| S5-21 | 系统信息报告 | OS/硬件/网络/磁盘/内存/环境变量汇总报告 | 无（入口·独立产出） | S→C→A |
| S5-22 | 图片批处理 | 缩放/裁剪/格式转换/水印/批重命名（仅Pillow时可用） | 无（入口·独立产出） | S→A |

### S5 子命令串联示例

```
# 分析日志中的错误IP并生成报告
python cli.py log parse --file app.log --level ERROR \
  | python cli.py csv filter --col ip --unique \
  | python cli.py csv sort --col count --desc \
  > error_report.txt

# 扫描目录→筛选图片→批量加水印→重命名
python cli.py dir scan ./photos \
  | python cli.py img resize --max-width 1920 \
  | python cli.py img watermark --text "Copyright" \
  | python cli.py file rename --pattern "photo_{n:04d}.jpg"

# 监控目录变化→自动同步→发通知
python cli.py watch ./src --event modify \
  | python cli.py sync --target ./backup --incremental \
  | python cli.py http post --url https://hook.example.com/notify
```

---

## S6 教学与交互（16种）

### S6-A 引导教学

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S6-01 | 交互式教程 | 分步骤引导式教程，含进度保存/代码示例/即时运行 | 无（入口·独立产出） | A→I |
| S6-02 | 步骤向导(Wizard) | 多步骤表单向导，含步骤校验/进度条/分支跳转 | 无（入口·独立产出） | A→I |
| S6-03 | 闪卡记忆系统 | Anki式间隔重复闪卡，含创建/编辑/统计/ Leitner算法 | 无（入口·独立产出） | A→C |
| S6-04 | 分步解题器 | 数学/逻辑题分步展示解题过程，含每步推导/验证 | 无（入口·独立产出） | A→C |

### S6-B 概念可视化

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S6-05 | 概念图解动画 | 抽象概念的SVG动画解释（如TCP握手/排序算法） | 无（入口·独立产出） | A |
| S6-06 | 算法可视化 | 排序/搜索/图算法的逐步执行可视化 | 无（入口·独立产出） | A |
| S6-07 | 数据结构可视化 | 链表/栈/队列/树/图的交互式操作演示 | 无（入口·独立产出） | A |
| S6-08 | 语法树可视化 | 编译原理语法树的交互式构建和展示 | S3-24 | C→A |

### S6-C 模拟演示

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S6-09 | 状态机演示 | 有限状态机的交互式演示，含事件触发/状态转移/历史 | S4-08 | C→A |
| S6-10 | 网络协议模拟 | TCP/IP/HTTP/DNS协议分层的交互式模拟 | 无（入口·独立产出） | A→C |
| S6-11 | 物理实验模拟 | 力学/光学/电磁学的交互式实验模拟 | 无（入口·独立产出） | A→I |
| S6-12 | 化学反应模拟 | 分子结构/化学反应方程式的交互式演示 | 无（入口·独立产出） | A→I |

### S6-D 测验考核

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S6-13 | Quiz问答系统 | 题库驱动问答，含计分/排名/选择题+填空+判断 | S2-28增强 | A→C |
| S6-14 | 拖拽排序题 | 拖拽元素排序/分类/配对，含即时反馈/计时/评分 | 无（入口·独立产出） | A→I |
| S6-15 | 填空标注题 | 图表/代码/文本的填空标注，含实时校验/提示系统 | 无（入口·独立产出） | A→I |
| S6-16 | 代码调试题 | 含Bug的代码片段调试，含运行/测试/提示/解析 | 无（入口·独立产出） | A→I |

---

## S7 Shell脚本（20种）

> **S7域特殊规范**：
> - Bash 4+ / PowerShell 5.1+ 兼容，方言差异用条件分支处理
> - 不依赖非系统命令（仅用coreutils及常见系统工具）
> - 含 `--help` / `-h` 和用法说明（usage函数）
> - Bash含 `set -euo pipefail`；PowerShell含 `$ErrorActionPreference = 'Stop'`
> - 破坏性操作默认 `--dry-run`，需显式 `--force` 才执行
> - 退出码语义：0成功，1一般错误，2参数错误
> - 支持彩色输出（tput/ANSI转义），`--no-color` 可关闭
> - 支持 `--verbose` / `--quiet` 日志级别

### S7-A 系统运维

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S7-01 | 系统初始化脚本 | 新服务器/开发环境初始化，含包安装/用户创建/时区/防火墙 | 无（入口·独立产出） | S→C→A→G |
| S7-02 | 备份恢复脚本 | 全量/增量备份，含压缩/校验/轮转/远程同步/恢复验证 | 无（入口·独立产出） | S→C→A→G |
| S7-03 | 系统监控脚本 | CPU/内存/磁盘/进程/网络监控，含阈值告警/日志/通知 | 无（入口·独立产出） | S→C→A |
| S7-04 | 日志管理脚本 | 日志轮转/清理/归档/搜索/统计/异常提取/关键词告警 | 无（入口·独立产出） | S→C→A |
| S7-05 | 安全加固脚本 | 防火墙/SSH/权限/审计/漏洞检查/基线合规/入侵检测 | 无（入口·独立产出） | S→C→A→G |

### S7-B 文件处理

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S7-06 | 批量文件操作 | 批量创建/移动/复制/删除/权限修改/属主变更/通配符匹配 | 无（入口·独立产出） | S→A→G |
| S7-07 | 文件同步归档 | rsync/增量同步/归档压缩/去重/差异报告/断点续传 | 无（入口·独立产出） | S→C→A |
| S7-08 | 媒体批处理 | 批量转换/压缩/重命名/元数据提取/缩略图/格式统一 | S7-06 | S→A |
| S7-09 | 文本批量处理 | 批量搜索替换/格式转换/编码转换/合并拆分/行过滤 | 无（入口·独立产出） | S→C→A |
| S7-10 | 文件清理脚本 | 临时文件/缓存/重复文件/大文件/旧文件清理/空间报告 | 无（入口·独立产出） | S→C→A→G |

### S7-C 部署发布

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S7-11 | 应用构建脚本 | 编译/打包/签名/版本号注入/产物归档/依赖检查 | 无（入口·独立产出） | S→C→A |
| S7-12 | 部署发布脚本 | 远程部署/回滚/蓝绿发布/灰度发布/健康检查 | S7-11 | S→C→A→G |
| S7-13 | CI/CD流水线 | Git钩子/持续集成/自动化测试/通知/产物上传 | S7-11, S7-17 | C→A |
| S7-14 | Docker操作脚本 | 构建/运行/清理/日志/健康检查/批量管理/网络配置 | 无（入口·独立产出） | S→C→A |
| S7-15 | 数据库部署脚本 | Schema迁移/数据导入导出/环境切换/版本管理 | S8-13 | S→C→A |

### S7-D 开发工具

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S7-16 | 项目脚手架 | 初始化项目结构/生成配置/安装依赖/Git初始化/模板选择 | 无（入口·独立产出） | C→A |
| S7-17 | 代码质量检查 | 语法检查/Lint/格式化/复杂度分析/依赖审计/报告输出 | 无（入口·独立产出） | S→C→A |
| S7-18 | 测试运行脚本 | 单元测试/集成测试/覆盖率/并行/报告生成/失败重试 | 无（入口·独立产出） | S→C→A |
| S7-19 | 环境管理脚本 | 虚拟环境/版本切换/依赖安装/环境变量管理/导出还原 | 无（入口·独立产出） | S→C→A |
| S7-20 | Git工作流脚本 | 分支管理/自动commit/冲突检测/Changelog生成/发布标签 | 无（入口·独立产出） | S→C→A |

### S7 管道串联示例

```bash
# 监控目录变化→自动同步→发通知
./watch.sh --dir ./src --event modify \
  | ./sync.sh --target ./backup --incremental \
  | ./notify.sh --webhook https://hook.example.com/notify

# 代码检查→测试→构建→部署
./lint.sh --src ./src --strict \
  && ./test.sh --coverage --min 80 \
  && ./build.sh --env production \
  && ./deploy.sh --strategy blue-green

# 日志分析→生成CSV→导入数据库
./log-parse.sh --file app.log --level ERROR \
  | ./text-process.sh --to-csv --fields "time,level,msg" \
  > errors.csv
```

---

## S8 SQL脚本（16种）

> **S8域特殊规范**：
> - 标准SQL优先，方言差异用注释标注（MySQL/PostgreSQL/SQLite/SQL Server）
> - 每条DDL/DML语句含注释说明意图
> - 含事务控制（BEGIN/COMMIT/ROLLBACK），DDL按需独立事务
> - 含 `IF NOT EXISTS` / `IF EXISTS` 防重复执行，保证幂等性
> - 含验证查询（执行后SELECT确认结果）
> - 脚本可重复执行不出错（幂等性设计）
> - 文件头部声明目标数据库及版本
> - 含 `-- @param` 风格的参数占位符，方便批量替换

### S8-A DDL结构定义

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S8-01 | 建表脚本 | 表创建/约束(PK/FK/UQ/CK)/索引/注释/表空间指定/分区策略 | 无（入口·独立产出） | C→A |
| S8-02 | 修改表结构 | ALTER TABLE添加列/修改类型/重命名/拆分/合并/数据迁移 | S8-01 | C→A→G |
| S8-03 | 视图定义 | 简单视图/复杂视图/可更新视图/物化视图/权限授权 | S8-01 | C→A |
| S8-04 | 索引优化脚本 | 创建索引/分析查询计划/索引建议/索引维护/统计信息更新 | S8-01 | S→C→A |

### S8-B DML数据操作

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S8-05 | 批量数据导入 | CSV/JSON/外部表导入/数据清洗/类型转换/进度显示 | S8-01 | S→C→A |
| S8-06 | 批量更新删除 | 条件批量更新/软删除/分区删除/级联操作/影响行数统计 | S8-01 | S→C→A→G |
| S8-07 | 数据合并(UPSERT) | INSERT ON CONFLICT/MERGE/存在则更新否则插入/冲突策略 | S8-01 | S→C→A |
| S8-08 | 数据清洗脚本 | 去重/标准化/空值处理/格式校验/异常修复/清洗报告 | S8-01 | S→C→A |

### S8-C 查询分析

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S8-09 | 报表查询 | 多表关联/分组聚合/窗口函数/条件汇总/小计合计 | S8-01 | S→C→A |
| S8-10 | 统计分析 | 描述统计/分布分析/趋势分析/同比环比/百分位数 | S8-01 | S→C→A |
| S8-11 | 递归查询 | 层级结构/组织树/物料BOM/路径查找/深度优先/广度优先 | S8-01 | S→C→A |
| S8-12 | 透视与交叉表 | 行列转换/交叉汇总/多维分析/PIVOT/动态列生成 | S8-01 | S→C→A |

### S8-D 迁移与版本

| ID | 产出类型 | 说明 | 依赖 | UTOS映射 |
|----|---------|------|------|---------|
| S8-13 | Schema迁移 | 版本化DDL变更/回滚脚本/迁移日志/兼容性检查/前后验证 | S8-01 | C→A→G |
| S8-14 | 数据迁移 | 跨库/跨表数据迁移/映射/校验/回滚/进度显示 | S8-01, S8-13 | S→C→A→G |
| S8-15 | 种子数据脚本 | 初始数据/测试数据/演示数据/字典数据/多环境适配 | S8-01 | C→A |
| S8-16 | 管理维护脚本 | 用户权限/备份恢复/性能优化/空间回收/会话管理/锁检测 | 无（入口·独立产出） | S→C→A |

### S8 脚本串联示例

```sql
-- 执行顺序：建表→种子数据→索引→验证
\i S8-01_create_tables.sql
\i S8-15_seed_data.sql
\i S8-04_create_indexes.sql
\i S8-01_verify_schema.sql

-- 数据迁移管线：导出→清洗→导入→验证
-- 1. S8-14数据迁移脚本调用S8-05导入
-- 2. S8-08数据清洗处理异常
-- 3. S8-09报表查询验证结果
```

---

## 依赖拓扑摘要

### 基础工具链
- **S3全域**（全部无依赖，可作为其他产出的基础设施）

### 数据流水链
- S5-02(目录扫描) → S5-06(CSV处理) → S4-01(图表) → S1-10(报告) / S1-15(年报)
- S5-07(日志解析) → S5-06(CSV处理) → S4-02(柱状图) → S4-15(监控面板)

### 可视化增强链
- S3-03(正则) → S3-38(正则可视化) / S3-02(JSON) → S3-35(Schema校验) / S3-01(Markdown) → S3-34(预览器)

### 教学复合链
- S6-05(概念动画) → S6-06(算法) → S6-07(数据结构)
- S3-24(代码高亮) → S6-08(语法树) / S4-08(流程图) → S6-09(状态机)

### 游戏→教学迁移
- S2-06(俄罗斯方块)/S2-11(2048) → S6-06(算法可视化)
- S2-28(Quiz) → S6-13(增强版Quiz)

### Python工具串联
- S5域内部任意串联（管道/子进程），形成自定义工具链
- S5-04(监控) → S5-03(同步) → S5-11(HTTP通知) 自动化运维链

### 全栈演示链
- S5-11(HTTP请求) → S3-02(JSON格式化) → S4-01(图表) → S1-01(PPT)

### 开发→测试链
- S3-29(Mock) + S3-30(HTTP测试) → S3-05(Diff) → S3-35(Schema校验)

### Shell运维链
- S7-03(监控) → S7-02(备份) → S7-12(部署) 自动化运维
- S7-16(脚手架) → S7-17(质量检查) → S7-18(测试) → S7-11(构建) → S7-12(部署)
- S7-04(日志) → S7-09(文本处理) → S5-07(日志解析) → S4-15(监控面板)

### 数据库链
- S8-01(建表) → S8-15(种子数据) → S8-04(索引) → S8-09(报表查询)
- S8-13(迁移) → S8-14(数据迁移) → S8-16(维护)
- S8-09(报表查询) → S5-09(SQLite查询) → S4-01(图表) → S1-10(报告)

### 跨家族桥接
- S7(Shell) ↔ S5(Python): Shell调用Python CLI / Python调用Shell命令
- S8(SQL) → S5(Python): Python sqlite3执行SQL / SQLAlchemy映射
- S7(Shell) → S8(SQL): Shell脚本通过mysql/psql/sqlite3执行SQL
- S8(SQL) → S4(可视化): SQL查询结果导出→图表可视化
- S7(Shell) → S1(展示): 部署脚本发布HTML产物到服务器

更多组合由UTOS根据具体任务动态推导。

---

## 选型决策树

当用户需求模糊时，按以下决策树路由到最合适的产出类型。

### HTML单文件应用决策树

```
需求输入
  │
  ├── 展示信息/内容？
  │     ├── 静态展示 → S1-A (幻灯片/海报/简历/名片/画廊/倒计时/邮件模板)
  │     ├── 交互展示 → S1-B (信息图/作品集/报告/发布页/展厅/电子书)
  │     └── 活动场景 → S1-C (邀请函/年报/二维码/阅读器/播放器/路线图/音频可视化)
  │
  ├── 游戏/娱乐？
  │     ├── 反应速度 → S2-A (飞翔小鸟/打地鼠/乒乓球/节奏/跳跃)
  │     ├── 经典街机 → S2-B (俄罗斯方块/贪吃蛇/弹球/吃豆人/飞机)
  │     ├── 益智烧脑 → S2-C (2048/扫雷/数独/24点/连连看/滑块/灯光/华容道)
  │     ├── 棋牌策略 → S2-D (五子棋/井字棋/象棋/21点/Mastermind)
  │     ├── 文字语言 → S2-E (打字/猜词/找词/Quiz)
  │     ├── 记忆专注 → S2-F (翻牌/记忆序列/找茬/舒尔特)
  │     └── 放置模拟 → S2-G (Cookie Clicker/电子宠物/放置矿工)
  │
  ├── 处理文本/数据/工具？
  │     ├── 文本处理 → S3-A (Markdown/JSON/正则/Base64/Diff)
  │     ├── 计算转换 → S3-B (计算器/单位/颜色/进制/时区/电子表格)
  │     ├── 安全工具 → S3-C (密码/哈希/加密/二维码)
  │     ├── 效率工具 → S3-D (番茄钟/待办/便签/习惯/时钟/随机/白板/表单构建器)
  │     ├── 开发调试 → S3-E (代码高亮/格式化/片段/AST/在线运行/Mock/HTTP测试/WebSocket/GraphQL/Mermaid编辑器)
  │     └── 格式编码 → S3-F (Markdown预览/Schema校验/Cron/URL/正则可视化/编码转换/Unicode/字符集)
  │
  ├── 可视化数据？
  │     ├── 图表展示 → S4-A (仪表盘/柱状图/饼图/雷达/散点)
  │     ├── 结构展示 → S4-B (时间线/组织架构/流程图/思维导图/桑基图)
  │     ├── 空间展示 → S4-C (地图/热力图/树图/旭日图)
  │     └── 实时动态 → S4-D (监控面板/排名动画/数据大屏/粒子流)
  │
  └── 教学/交互？
        ├── 引导教学 → S6-A (教程/向导/闪卡/分步解题)
        ├── 概念可视化 → S6-B (概念动画/算法/数据结构/语法树)
        ├── 模拟演示 → S6-C (状态机/网络协议/物理/化学)
        └── 测验考核 → S6-D (Quiz/拖拽排序/填空标注/代码调试)
```

### Python CLI决策树

```
需求输入
  │
  ├── 操作文件？
  │     ├── 批量处理 → S5-A (重命名/目录分析/同步/监控/搜索替换)
  │
  ├── 处理数据？
  │     ├── 结构化数据 → S5-B (CSV/日志/JSON-YAML/SQLite/文本统计)
  │
  ├── 网络通信？
  │     ├── 请求/扫描 → S5-C (HTTP/WebSocket/端口/DNS)
  │
  ├── 生成代码/项目？
  │     ├── 脚手架/模板 → S5-D (代码生成/项目脚手架/配置/API文档)
  │
  └── 系统运维？
        ├── 调度/监控 → S5-E (定时/进程/系统信息/图片批处理)
```

### Shell脚本决策树

```
需求输入
  │
  ├── 系统运维？
  │     ├── 初始化/配置 → S7-A (系统初始化/备份恢复/监控/日志管理/安全加固)
  │
  ├── 操作文件？
  │     ├── 批量处理 → S7-B (批量文件/同步归档/媒体/文本/清理)
  │
  ├── 部署发布？
  │     ├── 构建/上线 → S7-C (构建/部署/CI-CD/Docker/数据库部署)
  │
  └── 开发工具？
        ├── 辅助流程 → S7-D (脚手架/质量检查/测试/环境管理/Git工作流)
```

### SQL脚本决策树

```
需求输入
  │
  ├── 定义表结构？
  │     ├── DDL操作 → S8-A (建表/修改表/视图/索引优化)
  │
  ├── 操作数据？
  │     ├── 批量增删改 → S8-B (批量导入/更新删除/数据合并/数据清洗)
  │
  ├── 查询分析？
  │     ├── 报表/统计 → S8-C (报表查询/统计分析/递归查询/透视交叉表)
  │
  └── 迁移管理？
        ├── 版本控制 → S8-D (Schema迁移/数据迁移/种子数据/管理维护)
```

### 家族间路由决策

当需求不确定属于哪个家族时，按以下规则路由：

| 需求特征 | 首选家族 | 理由 |
|---------|---------|------|
| 需要浏览器交互/视觉展示 | HTML | 只有HTML能在浏览器中呈现 |
| 需要复杂数据处理/算法 | Python | 标准库丰富，表达力强 |
| 需要系统级操作/管道 | Shell | 直接调用系统命令，管道串联 |
| 需要数据库操作 | SQL | 声明式查询，数据库原生执行 |
| 同时需要数据处理和可视化 | Python+HTML管线 | Python处理→HTML展示 |
| 同时需要系统运维和数据处理 | Shell+Python管线 | Shell调度→Python处理 |
| 同时需要数据库查询和展示 | SQL+Python+HTML管线 | SQL查询→Python处理→HTML展示 |

### 管线组合决策

当需求涉及多步骤时，从依赖拓扑中推导管线：

| 需求模式 | 推导管线 |
|---------|---------|
| 数据获取→处理→展示 | S5-C(HTTP) → S5-B(CSV/JSON) → S4-A(图表) → S1-01(PPT) |
| 目录扫描→分析→报告 | S5-A(目录分析) → S5-B(CSV) → S4-A(仪表盘) → S1-10(报告) |
| 日志→过滤→可视化 | S5-B(日志解析) → S5-B(CSV过滤) → S4-D(监控面板) |
| 代码编写→测试→文档 | S3-E(代码高亮) → S3-E(Mock) → S5-D(API文档) |
| 教学需求→测验→复习 | S6-B(算法可视化) → S6-D(Quiz) → S6-A(闪卡) |

---

## 组合管线蓝图

| 蓝图名称 | 组合 | 场景 |
|---------|------|------|
| **数据分析管线** | S5-C(HTTP) → S5-B(CSV) → S4-A(图表) | API数据→清洗→可视化 |
| **自动化运维管线** | S5-A(监控) → S5-A(同步) → S5-C(HTTP通知) | 文件变更→备份→告警 |
| **教学系统管线** | S6-B(算法可视化) → S6-D(Quiz) → S6-A(闪卡) | 演示→测验→复习 |
| **开发调试管线** | S3-E(Mock) → S3-E(代码编辑) → S3-F(Diff) → S3-F(Schema校验) | API开发→测试→验证 |
| **全栈演示管线** | S5-C(HTTP) → S3-A(JSON格式化) → S4-A(图表) → S1-01(PPT) | 获取数据→展示→汇报 |
| **DevOps管线** | S7-D(脚手架) → S7-D(质量检查) → S7-D(测试) → S7-C(构建) → S7-C(部署) | 全流程CI/CD |
| **数据库交付管线** | S8-A(建表) → S8-D(种子数据) → S8-A(索引) → S8-C(报表查询) | 数据库初始化→可用 |
| **监控告警管线** | S7-A(系统监控) → S8-C(统计分析) → S5-C(HTTP通知) | 运维监控→分析→告警 |
| **数据迁移管线** | S8-D(数据迁移) → S8-B(数据清洗) → S8-D(Schema迁移) | 跨库迁移+清洗+升级 |

---

## 总览

| 域 | 子分类 | 产出数 | 典型产出 |
|----|--------|--------|---------|
| S1 演示展示 | A静态/B交互/C活动 | 20 | 幻灯片PPT、信息图、HTML邮件模板、音频可视化 |
| S2 游戏娱乐 | A休闲/B街机/C益智/D棋牌/E文字/F记忆/G放置 | 35 | 俄罗斯方块、数独、五子棋、Cookie Clicker |
| S3 实用工具 | A文本/B计算/C安全/D效率/E开发/F格式 | 41 | 计算器、Markdown编辑器、白板、Mermaid编辑器、API Mock |
| S4 数据可视化 | A图表/B结构/C空间/D动态 | 18 | 图表仪表盘、思维导图、热力图、数据大屏 |
| S5 Python CLI | A文件/B数据/C网络/D生成/E运维 | 22 | 文件重命名、CSV处理、HTTP客户端、定时调度 |
| S6 教学与交互 | A引导/B概念/C模拟/D测验 | 16 | 交互教程、算法可视化、状态机、代码调试 |
| S7 Shell脚本 | A运维/B文件/C部署/D开发 | 20 | 系统初始化、备份恢复、构建部署、Git工作流 |
| S8 SQL脚本 | A结构定义/B数据操作/C查询分析/D迁移版本 | 16 | 建表脚本、批量导入、报表查询、Schema迁移 |
| **合计** | **8域37子分类** | **188** | — |


path: references/structure-requirements.md
content: # 结构要求清单

每种单文件产出类型的组件槽位定义，供UTOS内容轴清单法使用。标注 `[待补充]` 的字段需根据实际需求定义。

> **重要**：本技能的"结构要求"对HTML产物指HTML/CSS/JS代码结构要素；对Python CLI产物指标准库+argparse代码结构要素；对Shell脚本指Bash/PowerShell代码结构要素；对SQL脚本指DDL/DML语句结构要素。

---

## 家族级默认组装顺序与质量约束

每个产出类型的组装顺序和质量约束在下方逐条定义。当子域摘要表中标注"同家族默认"时，遵循以下定义：

| 家族 | 默认组装顺序 | 默认质量约束 |
|------|-------------|-------------|
| **HTML应用** | HTML骨架→CSS样式→核心数据结构→算法逻辑→交互处理→渲染→测试 | Chrome/Firefox/Safari最新版兼容 |
| **Python CLI** | argparse定义→核心逻辑→子命令实现→输入输出处理→错误处理→测试 | dry-run默认启用; 零第三方依赖; 错误时exit code非0 |
| **Shell脚本** | Shebang→安全设置(set -euo)→usage函数→参数解析→日志系统→主逻辑→清理→验证 | 可重复执行(幂等); dry-run模式完整; 彩色日志 |
| **SQL脚本** | 数据库声明→DROP IF EXISTS→事务BEGIN→DDL/DML→注释→COMMIT→验证查询 | 可重复执行(幂等); 约束名规范; 注释完整 |

---

## S1 演示展示（20种）

### S1-A 静态展示

#### S1-01 HTML幻灯片(PPT)
- **必选组件**: `<!DOCTYPE html>` + `<style>`内联CSS + `<body>`幻灯片容器 + JS翻页逻辑
- **CSS组件**: 全屏slide容器、过渡动画(keyframe/transition)、字体系统、暗/亮主题切换
- **JS组件**: 键盘事件监听(←→/Space)、点击翻页、进度条、页码显示、全屏模式
- **组装顺序**: HTML骨架→CSS样式→翻页JS→内容填充→测试
- **质量约束**: Chrome/Firefox/Safari最新版正常渲染
- **格式**: 单一.html文件

#### S1-02 滚动长海报/落地页
- **必选组件**: 视差滚动层(section)、滚动触发动画(IntersectionObserver)、CTA按钮区、响应式(@media)
- **可选组件**: 导航锚点、计数器动画、视频嵌入占位、表单收集
- **组装顺序**: 页面分区→视差层→动画触发→交互元素→响应式适配
- **质量约束**: 首屏<3s，滚动60fps
- **格式**: 单一.html文件

#### S1-03~S1-06 （摘要）

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S1-03 简历页 | 头像区/简介/时间线/技能条/作品卡片/联系方式/打印样式 | .html |
| S1-04 电子名片 | 头像/姓名/职务/社交链接图标/二维码区/vCard下载 | .html |
| S1-05 图片画廊 | 瀑布流/网格布局/灯箱放大/分类筛选/懒加载/触摸滑动 | .html |
| S1-06 倒计时页面 | 目标日期设置/翻牌/环形进度/背景粒子/分享截图 | .html |

**S1-A(摘要) 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S1-03 | 同HTML默认+时间线+技能条布局 | 浏览器兼容+打印样式 |
| S1-04 | 同HTML默认+vCard下载逻辑 | 浏览器兼容+二维码清晰 |
| S1-05 | 同HTML默认+瀑布流/灯箱逻辑 | 浏览器兼容+懒加载 |
| S1-06 | 同HTML默认+翻牌/环形进度动画 | 浏览器兼容+动画流畅 |

#### S1-07 HTML邮件模板
- **必选组件**: 内联CSS布局/响应式@media/预览框架/邮件客户端兼容测试提示/MJML标签映射/文字+图片混排/CTA按钮
- **组装顺序**: HTML骨架→内联CSS→响应式@media→文字+图片混排→CTA按钮→预览框架→兼容测试提示
- **质量约束**: Outlook/Gmail/Apple Mail主要客户端兼容
- **格式**: .html

### S1-B 交互展示

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S1-08 信息图 | SVG/CSS图表、数据绑定、hover tooltip、图例、故事线滚动 | .html |
| S1-09 作品集 | 筛选栏/卡片网格/模态详情/分类标签/搜索/分页 | .html |
| S1-10 报告可视化 | 侧边导航/章节内容/图表嵌套/目录自动生成/导出PDF | .html |
| S1-11 产品发布页 | 3D旋转/规格对比表/评价轮播/购买CTA/动效触发 | .html |
| S1-12 虚拟展厅 | CSS3D变换/Three.js场景/热点点击/导航地图/全景浏览 | .html |
| S1-13 电子书 | 翻页动画/目录侧栏/书签/搜索/字号调节/阅读进度 | .html |

**S1-B 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S1-08 | 同HTML默认+数据绑定逻辑 | 浏览器兼容+hover交互响应 |
| S1-09 | 同HTML默认+筛选/搜索逻辑 | 浏览器兼容+搜索流畅 |
| S1-10 | 同HTML默认+目录导航+图表嵌套 | 浏览器兼容+图表数据联动 |
| S1-11 | 同HTML默认+3D渲染/动画触发 | 浏览器兼容+3D性能 |
| S1-12 | 同HTML默认+Three.js场景 | 浏览器兼容+3D加载<5s |
| S1-13 | 同HTML默认+翻页动画+搜索 | 浏览器兼容+翻页流畅 |

### S1-C 活动场景

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S1-14 邀请函 | 活动信息/RSVP按钮/地图导航/倒计时/背景动效/社交分享 | .html |
| S1-15 年度报告 | 关键指标卡片/趋势图/成就时间线/数据对比/分享 | .html |
| S1-16 二维码展示页 | 输入框/实时预览/样式定制/Logo上传/批量导出 | .html |
| S1-17 文档阅读器 | 目录树/搜索/主题切换/阅读进度/字号调节/书签 | .html |
| S1-18 视频播放器 | 自定义控件/弹幕/倍速/字幕/画中画/进度预览 | .html |
| S1-19 路线图 | 多节点连线/节点详情弹窗/进度指示/缩放平移/阶段着色 | .html |
| S1-20 音频播放/可视化 | Web Audio API音频上下文/频谱分析器(AnalyserNode)/Canvas波形+频谱渲染/播放控件(播放暂停/进度/音量)/播放列表/均衡器调节 | .html |

**S1-C 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S1-14 | 同HTML默认+RSVP逻辑+地图嵌入 | 浏览器兼容+移动端适配 |
| S1-15 | 同HTML默认+数据联动+趋势图 | 浏览器兼容+数据联动 |
| S1-16 | 同HTML默认+Canvas二维码渲染 | 浏览器兼容+二维码清晰度 |
| S1-17 | 同HTML默认+搜索+主题切换 | 浏览器兼容+大文件不卡顿 |
| S1-18 | 同HTML默认+视频API+弹幕 | 浏览器兼容+视频流畅 |
| S1-19 | 同HTML默认+节点连线+缩放 | 浏览器兼容+节点响应 |
| S1-20 | 同HTML默认+Web Audio API+Canvas | 浏览器兼容+音频API兼容 |

---

## S2 游戏娱乐（35种）

### S2-A 休闲反应

| ID | 核心数据结构 | 关键算法 | 格式 |
|----|-------------|---------|------|
| S2-01 飞翔小鸟 | 小鸟对象(y/velocity)/管道数组(gap位置) | 重力模拟/碰撞检测(AABB)/管道生成 | .html |
| S2-02 打地鼠 | 洞位数组(状态/计时器)/分数/连击 | 随机出洞定时/点击判定/连击加成 | .html |
| S2-03 乒乓球 | 两挡板对象/球对象(x,y,vx,vy) | 反弹角度/速度递增/碰撞检测 | .html |
| S2-04 节奏大师 | 音符数组(time,lane,type)/判定区/连击 | 下落计算/时间窗口判定/连击倍率 | .html |
| S2-05 跳跃过河 | 角色对象/障碍数组/平台数组 | 蓄力跳(按住时长)/碰撞检测/无限生成 | .html |

**S2-A 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S2-01 | 同HTML默认+重力模拟+碰撞检测 | 60fps+触摸操作 |
| S2-02 | 同HTML默认+随机定时+点击判定 | 60fps+触摸操作 |
| S2-03 | 同HTML默认+反弹计算+AI逻辑 | 60fps+双人对战 |
| S2-04 | 同HTML默认+下落计算+时间窗口判定 | 60fps+音频兼容 |
| S2-05 | 同HTML默认+蓄力跳+碰撞检测 | 60fps+触摸操作 |

### S2-B 经典街机

#### S2-06 俄罗斯方块
- **必选组件**: `<canvas>`游戏画布 + 分数/等级/下一个预览UI + 控制按钮
- **CSS组件**: canvas居中、UI面板布局、游戏结束遮罩、响应式画布缩放
- **JS核心模块**:
  - `Game`类：主循环(requestAnimationFrame)、状态管理(playing/paused/gameover)
  - `Board`类：棋盘数据结构(二维数组)、碰撞检测、行消除
  - `Piece`类：7种标准方块(I/O/T/S/Z/J/L)定义、旋转矩阵
  - `Input`类：键盘控制(方向键/旋转/硬降/暂停)、触摸支持
  - `Score`类：计分规则、等级递增、速度曲线、最高分(localStorage)
  - `Renderer`类：canvas绘制（方块颜色/网格/幽灵块阴影）
- **组装顺序**: HTML→CSS→Piece定义→Board逻辑→Input处理→Game主循环→Score→Renderer→测试
- **质量约束**: 60fps，移动端触摸操作
- **格式**: 单一.html文件

| ID | 核心数据结构 | 关键算法 | 格式 |
|----|-------------|---------|------|
| S2-07 贪吃蛇 | 方向队列/身体坐标数组/食物位置 | 碰撞检测(自身+边界)/食物随机/穿墙模式 | .html |
| S2-08 弹球打砖块 | 挡板/球/砖块对象列表/道具数组 | 反射角计算/碰撞AABB/道具效果/关卡定义 | .html |
| S2-09 吃豆人 | 迷宫二维数组/吃豆人位置/幽灵AI状态 | BFS寻路(幽灵)/能量豆计时/路径决策 | .html |
| S2-10 飞机大战 | 玩家飞机/敌机编队/子弹池/道具 | 弹幕生成模式/碰撞检测(圆形)/Boss血量 | .html |

**S2-B 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S2-07 | 同HTML默认+方向队列+碰撞检测 | 60fps+触摸操作 |
| S2-08 | 同HTML默认+反射角计算+道具系统 | 60fps+触摸操作 |
| S2-09 | 同HTML默认+BFS寻路+能量豆计时 | 60fps+触摸操作 |
| S2-10 | 同HTML默认+弹幕生成+碰撞检测 | 60fps+触摸操作 |

### S2-C 益智烧脑

| ID | 核心数据结构 | 关键算法 | 格式 |
|----|-------------|---------|------|
| S2-11 2048 | 4×4数组/滑动方向向量/分数 | 滑动合并+随机生成/撤销栈 | .html |
| S2-12 扫雷 | 二维格数组(-1雷/0-8数字)/标记状态 | BFS递归展开空白/首次安全/难度预设 | .html |
| S2-13 数独 | 9×9数组/候选数笔记/错误标记 | 回溯法生成/唯一解验证/提示算法 | .html |
| S2-14 24点 | 4张牌数组/运算符组合/表达式树 | 穷举运算组合/表达式求值/答案揭示 | .html |
| S2-15 连连看 | 图案二维数组/选中坐标/路径 | BFS路径检测(≤2折)/洗牌算法/提示 | .html |
| S2-16 滑块拼图 | 一维数组(0代表空位)/移动方向 | 空位交换/逆序数可解判定/曼哈顿距离 | .html |
| S2-17 灯光翻转 | 二维数组(0/1状态)/点击位置 | 相邻翻转规则/求解器(Gauss消元)/最短步数 | .html |
| S2-18 华容道 | 棋子数组(大小/位置)/空位集合 | 状态空间搜索(BFS)/最短路径/布局定义 | .html |

**S2-C 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S2-11 | 同HTML默认+滑动合并+撤销栈 | 60fps+触摸滑动 |
| S2-12 | 同HTML默认+BFS展开+首次安全 | 60fps+触摸操作 |
| S2-13 | 同HTML默认+回溯生成+校验 | 60fps+笔记模式 |
| S2-14 | 同HTML默认+穷举运算+求值 | 60fps+计时准确 |
| S2-15 | 同HTML默认+BFS路径+洗牌 | 60fps+路径检测正确 |
| S2-16 | 同HTML默认+空位交换+逆序数 | 60fps+触摸操作 |
| S2-17 | 同HTML默认+相邻翻转+Gauss求解 | 60fps+求解器正确 |
| S2-18 | 同HTML默认+BFS搜索+布局定义 | 60fps+触摸操作 |

### S2-D 棋牌策略

| ID | 核心数据结构 | 关键算法 | 格式 |
|----|-------------|---------|------|
| S2-19 五子棋 | 15×15棋盘数组/当前方/历史 | Minimax(α-β剪枝)/评分函数/禁手判定 | .html |
| S2-20 井字棋 | 3×3数组/当前方 | Minimax完美AI/评分/统计 | .html |
| S2-21 国际象棋 | 8×8棋盘/棋子类型+颜色/合法走法 | Minimax(简化)/走法生成/将军检测/特殊规则 | .html |
| S2-22 中国象棋 | 9×10棋盘/棋子类型+颜色/合法走法 | Minimax(简化)/走法生成/将军检测/蹩马脚 | .html |
| S2-23 21点 | 牌组/玩家手牌/庄家手牌/下注 | 牌面点值/庄家AI规则/分牌逻辑 | .html |
| S2-24 Mastermind | 颜色序列数组/猜测历史/反馈 | 黑白钉计算/穷举求解器/Knuth算法 | .html |

**S2-D 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S2-19 | 同HTML默认+Minimax+禁手判定 | 60fps+触摸+AI响应<1s |
| S2-20 | 同HTML默认+Minimax完美AI | 60fps+AI即时响应 |
| S2-21 | 同HTML默认+走法生成+将军检测 | 60fps+AI响应<2s |
| S2-22 | 同HTML默认+走法生成+蹩马脚 | 60fps+AI响应<2s |
| S2-23 | 同HTML默认+牌面点值+庄家AI | 60fps+牌面动画 |
| S2-24 | 同HTML默认+黑白钉计算+求解器 | 60fps+求解器可选 |

### S2-E 文字语言

| ID | 核心数据结构 | 关键算法 | 格式 |
|----|-------------|---------|------|
| S2-25 打字练习 | 文本库/当前位置/WPM/准确率 | 输入对比/时间测量/难度递进/词频加权 | .html |
| S2-26 猜词游戏 | 单词库/已猜字母/剩余次数 | 字母判定/单词显示/提示系统/分类词库 | .html |
| S2-27 找词游戏 | 字母矩阵/目标词列表/方向向量 | 多方向嵌入/选中高亮/计时统计 | .html |
| S2-28 Quiz问答 | 题库数组/当前题号/得分/计时 | 题型路由(选择/填空/判断)/答案校验/评分 | .html |

**S2-E 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S2-25 | 同HTML默认+输入对比+WPM计算 | 60fps+输入实时响应 |
| S2-26 | 同HTML默认+字母判定+提示系统 | 浏览器兼容+提示正确 |
| S2-27 | 同HTML默认+多方向嵌入+高亮 | 60fps+选中反馈 |
| S2-28 | 同HTML默认+题型路由+评分 | 浏览器兼容+计时准确 |

### S2-F 记忆专注

| ID | 核心数据结构 | 关键算法 | 格式 |
|----|-------------|---------|------|
| S2-29 记忆翻牌 | 卡片数组(值/翻转/匹配)/配对计数 | 洗牌算法/配对检查/计时步数 | .html |
| S2-30 记忆序列 | 颜色序列数组/当前长度/输入队列 | 序列递增/播放动画/输入比对/速度递增 | .html |
| S2-31 找茬 | 两张图区域/差异坐标列表/已找到集合 | 区域比对/点击判定/提示/圈注 | .html |
| S2-32 舒尔特方格 | N×N乱序数字数组/当前目标 | 按序点击判定/计时/尺寸选择 | .html |

**S2-F 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S2-29 | 同HTML默认+洗牌+配对检查 | 60fps+翻转动画流畅 |
| S2-30 | 同HTML默认+序列递增+播放动画 | 60fps+音频同步 |
| S2-31 | 同HTML默认+区域比对+点击判定 | 浏览器兼容+图片加载 |
| S2-32 | 同HTML默认+按序点击+计时 | 60fps+触摸操作 |

### S2-G 放置模拟

| ID | 核心数据结构 | 关键算法 | 格式 |
|----|-------------|---------|------|
| S2-33 Cookie Clicker | 产出值/自动产出率/升级列表/成就 | 数值增长引擎/升级效果/离线收益/大数处理 | .html |
| S2-34 电子宠物 | 状态对象(饥饿/清洁/心情)/成长阶段 | 状态衰减/互动反馈/成长阈值/小游戏触发 | .html |
| S2-35 放置矿工 | 资源数组/建筑列表/科技树/解锁条件 | 资源产出循环/建筑升级/科技解锁/自动采集 | .html |

**S2-G 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S2-33 | 同HTML默认+数值增长引擎+升级系统 | 60fps+大数处理+离线收益 |
| S2-34 | 同HTML默认+状态衰减+成长系统 | 浏览器兼容+状态持久化 |
| S2-35 | 同HTML默认+资源循环+科技树 | 60fps+自动采集+localStorage |

---

## S3 实用工具（41种）

> **S3域特殊规范**：本域全部41种产出均为HTML单文件应用，结构要求指HTML/CSS/JS代码结构要素。

### S3-A 文本处理（5种）

#### S3-01 Markdown编辑器
- **必选组件**: 左右分栏(编辑/预览)/实时渲染/工具栏(粗体/标题/列表/代码)/导出
- **JS核心**: Markdown解析器(手写或CDN marked.js白名单)、XSS过滤、快捷键映射
- **组装顺序**: 分栏布局→工具栏→解析渲染→实时同步→导出功能→键盘快捷键
- **质量约束**: 大文档不卡顿，XSS安全
- **格式**: .html

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S3-02 JSON格式化 | 输入区/美化输出/压缩输出/error定位/树形浏览/路径查询 | .html |
| S3-03 正则测试器 | 正则输入/测试文本/匹配高亮(分组色编码)/替换预览/常用正则库 | .html |
| S3-04 Base64编解码 | 文本输入/Base64输出/双向转换/文件拖放编解码/复制按钮 | .html |
| S3-05 文本对比 | 左右文本区/并排统一切换/行级diff(LCS)/颜色编码/统计 | .html |

**S3-A 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S3-02 | 同HTML默认+JSON解析+树形渲染 | 浏览器兼容+大JSON不卡顿 |
| S3-03 | 同HTML默认+正则引擎+匹配高亮 | 浏览器兼容+实时匹配 |
| S3-04 | 同HTML默认+Base64编解码+拖放 | 浏览器兼容+大文件处理 |
| S3-05 | 同HTML默认+LCS算法+diff渲染 | 浏览器兼容+行级高亮 |

### S3-B 计算转换（6种）

#### S3-06 计算器
- **必选组件**: 显示屏(input readonly或div)、按键网格(0-9+-×÷=C%)、运算逻辑
- **JS核心**: 表达式解析(shunting-yard或状态机)、历史记录栈、键盘输入映射
- **组装顺序**: UI布局→按键事件→表达式解析→结果显示→历史记录→键盘支持
- **质量约束**: 连续运算、小数精度、错误提示
- **格式**: .html

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S3-07 单位转换器 | 分类选择/输入框/结果展示/常用快捷/反向转换/自定义单位 | .html |
| S3-08 颜色选择器 | 拾色器/HEX-RGB-HSL互转/调色板/对比度检查(WCAG)/复制 | .html |
| S3-09 进制转换器 | 输入框/进制选择/位运算可视化/补码展示/位操作 | .html |
| S3-10 时区转换器 | 城市选择/时间输入/多时区对照/工作时段重叠/夏令时 | .html |
| S3-11 电子表格查看器 | CSV/TSV解析器/表格渲染(网格)/排序(列点击)/筛选(行过滤)/简单公式(SUM/AVG)/单元格编辑/导出CSV | .html |

**S3-B 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S3-07 | 同HTML默认+单位换算+快捷列表 | 浏览器兼容+实时换算 |
| S3-08 | 同HTML默认+拾色器+WCAG对比度 | 浏览器兼容+颜色准确 |
| S3-09 | 同HTML默认+进制转换+位运算可视化 | 浏览器兼容+补码展示正确 |
| S3-10 | 同HTML默认+时区数据+夏令时 | 浏览器兼容+时区准确 |
| S3-11 | 同HTML默认+CSV解析+表格渲染+公式 | 浏览器兼容+大文件不卡顿 |

### S3-C 安全加密（4种）

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S3-12 密码生成器 | 选项面板(长度/大小写/数字/符号)/生成按钮/强度指示条/批量/复制 | .html |
| S3-13 哈希计算器 | 输入区/算法选择(MD5/SHA系列)/文件拖放/对比验证/Web Crypto API | .html |
| S3-14 加密解密工具 | 明文/密文区/算法选择(AES等)/密钥输入/输出格式/复制 | .html |
| S3-15 二维码生成器 | 输入框/实时预览Canvas/样式定制(颜色/大小)/Logo嵌入/批量 | .html |

**S3-C 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S3-12 | 同HTML默认+随机生成+强度指示 | 浏览器兼容+强度算法正确 |
| S3-13 | 同HTML默认+Web Crypto API+文件拖放 | 浏览器兼容+哈希值准确 |
| S3-14 | 同HTML默认+加密API+密钥管理 | 浏览器兼容+加解密正确 |
| S3-15 | 同HTML默认+Canvas二维码渲染 | 浏览器兼容+二维码可扫描 |

### S3-D 效率工具（8种）

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S3-16 番茄钟 | 计时器/工作+休息模式/任务标签/统计图表/本地存储/提醒 | .html |
| S3-17 待办清单 | 增删改查/优先级标记/分类/截止日期/完成统计/本地存储 | .html |
| S3-18 便签笔记本 | 富文本编辑/创建/编辑/删除/搜索/标签/本地存储 | .html |
| S3-19 习惯追踪器 | 习惯列表/打卡按钮/连续天数/热力图/统计/导出 | .html |
| S3-20 世界时钟 | 多时区显示/模拟+数字表盘/城市选择/12/24h切换/本地存储 | .html |
| S3-21 随机决策器 | 抽签/掷骰(多面)/转盘/随机数/自定义选项/权重/动画 | .html |
| S3-22 白板/画板工具 | Canvas画布/工具栏(画笔/橡皮/形状/文字)/颜色选择器/线宽调节/图层管理/撤销重做栈/导出PNG(含toDataURL)/触摸支持 | .html |
| S3-23 表单构建器 | 字段类型面板(文本/数字/下拉/多选/日期等)/画布区域(拖拽放置)/属性编辑器(标签/验证/选项)/实时预览/导出HTML | .html |

#### S3-22 白板/画板工具（展开）
- **JS核心**: Canvas 2D绑定/鼠标+触摸事件/状态快照(ImageData)/键盘快捷键(Ctrl+Z/Y)
- **组装顺序**: Canvas→工具栏→绘图事件→图层→撤销栈→导出
- **格式**: .html

#### S3-23 表单构建器（展开）
- **JS核心**: 拖拽API(dragstart/dragover/drop)/字段配置对象/表单验证规则/HTML生成器
- **格式**: .html

**S3-D 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S3-16 | 同HTML默认+计时器+统计 | 浏览器兼容+计时准确 |
| S3-17 | 同HTML默认+CRUD+本地存储 | 浏览器兼容+数据持久化 |
| S3-18 | 同HTML默认+富文本+搜索 | 浏览器兼容+内容持久化 |
| S3-19 | 同HTML默认+打卡+热力图 | 浏览器兼容+连续天数准确 |
| S3-20 | 同HTML默认+多时区+表盘渲染 | 浏览器兼容+时区准确 |
| S3-21 | 同HTML默认+随机+动画 | 60fps+动画流畅 |
| S3-22 | 同HTML默认+Canvas绘图+撤销栈 | 60fps+触摸绘图 |
| S3-23 | 同HTML默认+拖拽API+HTML生成 | 浏览器兼容+拖拽响应 |

### S3-E 开发调试（10种）

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S3-24 代码高亮查看器 | 语言选择/代码输入区/语法高亮(手写keyword正则)/行号/复制/暗色模式 | .html |
| S3-25 代码格式化器 | 语言选择/输入区/格式化输出/风格切换/差异预览/一键复制 | .html |
| S3-26 代码片段管理器 | 片段列表/分类标签/搜索/一键复制/导入导出/本地存储 | .html |
| S3-27 AST浏览器 | 代码输入/AST树形展示/节点高亮/属性面板/搜索 | .html |
| S3-28 在线编译运行 | 语言选择/代码编辑器/输入区/输出区/错误提示/分享 | .html |
| S3-29 API Mock服务 | 路由定义(JSON)/延迟模拟/状态码/CORS/请求日志/动态响应模板 | .html |
| S3-30 HTTP客户端测试 | 方法选择/URL输入/Header编辑/Body编辑/认证/响应格式化 | .html |
| S3-31 WebSocket调试器 | 连接URL/消息收发/帧查看/自动重连/日志/JSON格式化 | .html |
| S3-32 GraphQL探索器 | 查询编辑器/Schema浏览/变量编辑/响应格式化/历史 | .html |
| S3-33 Mermaid图表编辑器 | 左右分栏(编辑+预览)/Mermaid语法高亮/实时渲染/主题切换/导出SVG+PNG/错误提示/常用模板 | .html |

**S3-E 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S3-24 | 同HTML默认+语法高亮+行号 | 浏览器兼容+大文件不卡顿 |
| S3-25 | 同HTML默认+格式化引擎+diff预览 | 浏览器兼容+格式化正确 |
| S3-26 | 同HTML默认+CRUD+搜索+本地存储 | 浏览器兼容+搜索流畅 |
| S3-27 | 同HTML默认+解析器+树形渲染 | 浏览器兼容+AST渲染正确 |
| S3-28 | 同HTML默认+多语言编辑+模拟输出 | 浏览器兼容+运行安全(沙箱) |
| S3-29 | 同HTML默认+路由定义+延迟模拟 | 浏览器兼容+CORS处理 |
| S3-30 | 同HTML默认+请求构造+响应格式化 | 浏览器兼容+认证支持 |
| S3-31 | 同HTML默认+WebSocket+消息日志 | 浏览器兼容+自动重连 |
| S3-32 | 同HTML默认+查询编辑+Schema浏览 | 浏览器兼容+格式化正确 |
| S3-33 | 同HTML默认+Mermaid解析+SVG渲染 | 浏览器兼容+错误提示友好 |

### S3-F 格式编码（8种）

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S3-34 Markdown预览 | 编辑/预览分栏/GFM扩展/数学公式(KaTeX CDN)/代码高亮/TOC | .html |
| S3-35 Schema校验 | YAML/JSON输入/Schema定义(内联)/错误定位(行+列)/修复建议 | .html |
| S3-36 Cron解析器 | Cron表达式输入/人类可读解释/未来N次执行时间/逆推最近 | .html |
| S3-37 URL编解码 | URL输入/各组件拆解/encode/decode/Punycode/Base64URL | .html |
| S3-38 正则可视化 | 正则输入/图形化分解/匹配步骤动画/分组捕获/测试文本 | .html |
| S3-39 编码转换器 | 输入区/编码选择(Unicode/UTF-8/GBK/Big5)/百分比/HTML实体 | .html |
| S3-40 Unicode浏览器 | 区块列表/搜索/字符网格/详情(码点/名称/分类/变体) | .html |
| S3-41 字符集检测 | 输入文本/编码检测/频率统计/异常定位/分布图 | .html |

**S3-F 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S3-34 | 同HTML默认+GFM解析+KaTeX+TOC | 浏览器兼容+公式渲染 |
| S3-35 | 同HTML默认+Schema校验+错误定位 | 浏览器兼容+行号定位准确 |
| S3-36 | 同HTML默认+Cron解析+时间列表 | 浏览器兼容+Cron语法正确 |
| S3-37 | 同HTML默认+URL拆解+编解码 | 浏览器兼容+Punycode正确 |
| S3-38 | 同HTML默认+正则图形分解+动画 | 浏览器兼容+步骤可视化 |
| S3-39 | 同HTML默认+多编码转换+百分比 | 浏览器兼容+编码准确 |
| S3-40 | 同HTML默认+Unicode浏览+搜索 | 浏览器兼容+码点查询 |
| S3-41 | 同HTML默认+编码检测+频率统计 | 浏览器兼容+检测准确 |

---

## S4 数据可视化（18种）

### S4-A 图表展示

| ID | 必选组件摘要 | 数据源格式 | 格式 |
|----|-------------|----------|------|
| S4-01 图表仪表盘 | 图表类型选择器/数据输入(canvas或SVG)/多图表联动/导出PNG | JSON数组 | .html |
| S4-02 柱状图/折线图 | 数据输入区/动画渲染/标注/多系列/主题切换/导出 | JSON数组 | .html |
| S4-03 饼图/环形图 | 数据输入/标签/图例/交互钻取/南丁格尔模式 | JSON数组 | .html |
| S4-04 雷达图/极坐标 | 维度定义/多系列叠加/区域填充/交互高亮 | JSON数组 | .html |
| S4-05 散点图/气泡图 | XY数据/大小映射/颜色编码/趋势线/缩放 | JSON数组 | .html |

**S4-A 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S4-01 | 同HTML默认+图表渲染+数据联动 | 浏览器兼容+导出功能 |
| S4-02 | 同HTML默认+动画渲染+多系列 | 浏览器兼容+动画流畅 |
| S4-03 | 同HTML默认+饼图渲染+交互钻取 | 浏览器兼容+标签清晰 |
| S4-04 | 同HTML默认+雷达渲染+区域填充 | 浏览器兼容+叠加显示 |
| S4-05 | 同HTML默认+散点渲染+缩放 | 浏览器兼容+趋势线准确 |

### S4-B 结构展示

| ID | 必选组件摘要 | 数据源格式 | 格式 |
|----|-------------|----------|------|
| S4-06 时间线 | 垂直/水平切换/事件节点(时间+标题+描述+图片)/缩放/锚点 | JSON数组 | .html |
| S4-07 组织架构树 | 树形数据/展开折叠/搜索高亮/缩放平移/drag重排 | 嵌套JSON | .html |
| S4-08 流程图/状态机 | 节点+连线定义/交互式导航/状态高亮/事件触发 | JSON图定义 | .html |
| S4-09 思维导图 | 中心节点/子节点展开/拖拽/编辑/自动布局/导出 | 嵌套JSON | .html |
| S4-10 桑基图/瀑布图 | 节点+流向定义/悬停详情/流向高亮/动画 | JSON图定义 | .html |

**S4-B 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S4-06 | 同HTML默认+时间线渲染+锚点 | 浏览器兼容+缩放流畅 |
| S4-07 | 同HTML默认+树形渲染+搜索高亮 | 浏览器兼容+展开折叠 |
| S4-08 | 同HTML默认+SVG流程+交互导航 | 浏览器兼容+节点编辑 |
| S4-09 | 同HTML默认+思维导图+自动布局 | 浏览器兼容+拖拽编辑 |
| S4-10 | 同HTML默认+桑基渲染+流向高亮 | 浏览器兼容+悬停响应 |

### S4-C 空间展示

| ID | 必选组件摘要 | 数据源格式 | 格式 |
|----|-------------|----------|------|
| S4-11 地图标注 | 地图画布(Leaflet CDN白名单)/标记聚类/信息窗口/图层 | GeoJSON | .html |
| S4-12 热力图 | 矩阵数据/色阶配置/标注/缩放/行列标签 | 二维数组 | .html |
| S4-13 树图/矩形树图 | 层级数据/大小+颜色映射/钻取/悬停详情/面包屑 | 嵌套JSON | .html |
| S4-14 旭日图/圆堆积 | 层级数据/弧段交互/钻取/颜色映射 | 嵌套JSON | .html |

**S4-C 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S4-11 | 同HTML默认+地图渲染+标记聚类 | 浏览器兼容+地图API白名单 |
| S4-12 | 同HTML默认+色阶渲染+缩放 | 浏览器兼容+色阶准确 |
| S4-13 | 同HTML默认+矩形树图+钻取 | 浏览器兼容+大小映射 |
| S4-14 | 同HTML默认+旭日渲染+弧段交互 | 浏览器兼容+钻取功能 |

### S4-D 实时动态

| ID | 必选组件摘要 | 数据源格式 | 格式 |
|----|-------------|----------|------|
| S4-15 实时监控面板 | 多指标卡片/趋势图/表格/阈值告警闪烁/模拟数据流 | WebSocket模拟 | .html |
| S4-16 动态排名图 | 时间维度数据/排名变化动画/速度控制/暂停/回放 | 时序JSON | .html |
| S4-17 数据大屏 | 全屏布局/多图联动/自适应/自动轮播/主题 | 多JSON源 | .html |
| S4-18 粒子数据流 | Canvas粒子系统/数据驱动/交互/参数调节/动画 | 参数JSON | .html |

**S4-D 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S4-15 | 同HTML默认+多指标卡片+模拟数据流 | 浏览器兼容+阈值告警 |
| S4-16 | 同HTML默认+排名动画+速度控制 | 60fps+动画流畅+回放 |
| S4-17 | 同HTML默认+全屏布局+多图联动 | 浏览器兼容+自适应 |
| S4-18 | 同HTML默认+Canvas粒子+参数调节 | 60fps+粒子流畅 |

---

## S5 Python CLI工具（22种）

> **S5域特殊规范**：
> - 仅使用Python标准库（stdlib），零第三方依赖
> - 使用 `argparse` 实现子命令体系：`python tool.py <subcommand> [options]`
> - 支持 `--verbose` / `--quiet` / `--output FORMAT` 通用选项
> - 支持 Unix管道输入输出（stdin/stdout）
> - 包含 `--help` 和 `--version`
> - 错误时 exit code 非0

### S5-A 文件操作

#### S5-01 文件批量重命名
- **必选子命令**: `rename` (主命令)
- **必选参数**: `--pattern` (命名模式)、`--target-dir`、`--dry-run`(预览)
- **可选参数**: `--regex`、`--prefix`、`--suffix`、`--case`(upper/lower/title)、`--recursive`
- **核心逻辑**: os.listdir/scandir → 匹配文件名 → 应用变换规则 → 冲突检测 → 执行
- **组装顺序**: argparse→文件扫描→模式解析→变换执行→冲突检查→dry-run确认→执行
- **质量约束**: dry-run默认启用
- **格式**: 单一.py文件

#### S5-02 目录分析器
- **必选子命令**: `scan` / `stats` / `tree`
- **必选参数**: `--path`、`--output`(json/text/csv/table)
- **可选参数**: `--max-depth`、`--min-size`、`--by-ext`、`--top-n`
- **核心逻辑**: os.walk递归遍历 → 收集文件元信息 → 聚合统计 → 格式化输出
- **组装顺序**: argparse→os.walk遍历→元信息收集→聚合统计→格式化输出
- **质量约束**: 零第三方依赖+大目录不内存溢出
- **格式**: 单一.py文件

| ID | 子命令 | 核心功能 | 关键stdlib模块 |
|----|--------|---------|---------------|
| S5-03 文件同步 | `sync`/`verify`/`diff` | 增量复制/校验/冲突 | shutil/filecmp/os/pathlib |
| S5-04 文件监控 | `watch`/`list`/`ignore` | 目录变化监控/触发 | os/pathlib/time |
| S5-05 全文搜索 | `search`/`replace`/`preview`/`count` | 递归搜索/正则/批量替换 | re/os/pathlib/glob |

**S5-A(摘要) 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S5-03 | 同Python默认+增量比对+校验 | dry-run默认+校验和验证 |
| S5-04 | 同Python默认+目录遍历+回调 | dry-run默认+事件不遗漏 |
| S5-05 | 同Python默认+递归搜索+预览确认 | dry-run默认+正则安全 |

### S5-B 数据处理

| ID | 子命令 | 核心功能 | 关键stdlib模块 |
|----|--------|---------|---------------|
| S5-06 CSV处理 | `read`/`filter`/`sort`/`join`/`agg`/`transpose`/`convert` | 全功能CSV操作 | csv/io/collections |
| S5-07 日志解析 | `parse`/`stats`/`errors`/`timeline` | 多格式日志解析 | re/datetime/json |
| S5-08 JSON/YAML | `read`/`query`/`convert`/`merge`/`diff`/`format` | 多格式数据处理 | json/csv/collections |
| S5-09 SQLite查询 | `query`/`export`/`schema`/`index` | 数据库操作 | sqlite3/json/csv |
| S5-10 文本统计 | `count`/`freq`/`lines`/`encoding`/`dedup`/`summary` | 文本分析 | re/collections/io |

**S5-B 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S5-06 | 同Python默认+CSV读写+聚合 | 零第三方+大文件流式 |
| S5-07 | 同Python默认+正则解析+聚合 | 零第三方+多格式兼容 |
| S5-08 | 同Python默认+JSON/YAML读写 | 零第三方+diff功能 |
| S5-09 | 同Python默认+SQLite查询+导出 | 零第三方+SQL注入防护 |
| S5-10 | 同Python默认+文本统计+去重 | 零第三方+编码检测 |

### S5-C 网络通信

| ID | 子命令 | 核心功能 | 关键stdlib模块 |
|----|--------|---------|---------------|
| S5-11 HTTP客户端 | `get`/`post`/`put`/`delete`/`head` | HTTP全方法请求 | urllib.request/ssl/json |
| S5-12 WebSocket | `connect`/`send`/`subscribe` | WebSocket通信 | asyncio/websockets(简化模拟) |
| S5-13 端口扫描 | `scan`/`service`/`range` | TCP端口扫描 | socket/concurrent/threading |
| S5-14 DNS查询 | `query`/`reverse`/`batch`/`compare` | DNS记录查询 | socket/dnspython(简化模拟) |

**S5-C 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S5-11 | 同Python默认+urllib请求+认证 | 零第三方+SSL验证+超时 |
| S5-12 | 同Python默认+asyncio+消息协议 | 零第三方+自动重连 |
| S5-13 | 同Python默认+socket扫描+并发 | 零第三方+并发控制+超时 |
| S5-14 | 同Python默认+socket查询+批量 | 零第三方+超时处理 |

### S5-D 开发生成

| ID | 子命令 | 核心功能 | 关键stdlib模块 |
|----|--------|---------|---------------|
| S5-15 代码生成 | `generate`/`list-templates` | 模板驱动代码生成 | string.Template/textwrap |
| S5-16 项目脚手架 | `create`/`list`/`validate` | 项目结构生成 | os/pathlib/json/string |
| S5-17 配置管理 | `read`/`write`/`validate`/`diff`/`merge` | 多格式配置 | configparser/json/toml |
| S5-18 API文档生成 | `generate`/`serve`/`validate` | 注释→文档 | ast/inspect/textwrap |

**S5-D 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S5-15 | 同Python默认+模板引擎+批量生成 | 零第三方+模板安全 |
| S5-16 | 同Python默认+目录生成+Git初始化 | 零第三方+路径安全 |
| S5-17 | 同Python默认+多格式读写+校验 | 零第三方+格式兼容 |
| S5-18 | 同Python默认+AST解析+Markdown生成 | 零第三方+注释完整 |

### S5-E 系统运维

| ID | 子命令 | 核心功能 | 关键stdlib模块 |
|----|--------|---------|---------------|
| S5-19 定时调度 | `run`/`list`/`remove`/`status` | cron-like定时执行 | sched/time/threading |
| S5-20 进程管理 | `list`/`tree`/`kill`/`monitor` | 进程操作监控 | os/subprocess/signal |
| S5-21 系统信息 | `report`/`hardware`/`network`/`disk` | 系统信息汇总 | platform/os/shutil/socket |
| S5-22 图片批处理 | `resize`/`crop`/`convert`/`watermark`/`rename` | 图片批量操作 | PIL(可用时)/struct |

**S5-E 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S5-19 | 同Python默认+sched调度+线程 | 零第三方+时区处理 |
| S5-20 | 同Python默认+os进程+signal | 零第三方+僵尸检测 |
| S5-21 | 同Python默认+platform汇总+报告 | 零第三方+跨平台兼容 |
| S5-22 | 同Python默认+图片处理+批量 | PIL可选+降级提示 |

---

## S6 教学与交互（16种）

### S6-A 引导教学

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S6-01 交互式教程 | 步骤卡片/进度条/代码示例(executable sandbox)/下一步/完成庆祝 | .html |
| S6-02 步骤向导 | 步骤条/每步表单/校验/上一步下一步/分支条件/最终汇总 | .html |
| S6-03 闪卡记忆系统 | 卡片组管理/翻转动画/Leitner算法/统计图表/间隔重复 | .html |
| S6-04 分步解题器 | 题目输入/分步展示/推导过程/验证检查/步骤导航 | .html |

**S6-A 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S6-01 | 同HTML默认+步骤卡片+代码沙箱 | 浏览器兼容+进度持久化 |
| S6-02 | 同HTML默认+步骤条+校验+分支 | 浏览器兼容+校验正确 |
| S6-03 | 同HTML默认+Leitner算法+翻转动画 | 浏览器兼容+间隔重复正确 |
| S6-04 | 同HTML默认+分步推导+验证 | 浏览器兼容+推导正确 |

### S6-B 概念可视化

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S6-05 概念图解动画 | SVG图形+CSS/JS动画序列/播放控制/步骤说明/循环播放 | .html |
| S6-06 算法可视化 | 数组可视化(柱状图)/比较交换高亮/速度控制/步数/复杂度标注 | .html |
| S6-07 数据结构可视化 | 结构选择/交互操作(插入/删除/查找)/动画/状态显示 | .html |
| S6-08 语法树可视化 | 代码输入→解析→SVG树形绘制/节点=非终结符/叶=token/展开折叠 | .html |

> **S6-08依赖**: S3-24代码高亮查看器

**S6-B 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S6-05 | 同HTML默认+SVG动画+播放控制 | 浏览器兼容+动画流畅 |
| S6-06 | 同HTML默认+数组可视化+比较交换 | 60fps+速度控制 |
| S6-07 | 同HTML默认+结构渲染+交互操作 | 浏览器兼容+操作响应 |
| S6-08 | 同HTML默认+解析器+SVG树形 | 浏览器兼容+树形正确 |

### S6-C 模拟演示

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S6-09 状态机演示 | 状态节点(圆圈)+转移箭头(带事件标签)/点击触发/历史轨迹/当前态 | .html |
| S6-10 网络协议模拟 | 协议分层/数据包构造/传输动画/握手过程/丢包重传 | .html |
| S6-11 物理实验模拟 | 实验选择/参数调节/Canvas动画/测量数据/公式对照 | .html |
| S6-12 化学反应模拟 | 分子模型/反应方程式/条件调节/反应动画/产物展示 | .html |

> **S6-09依赖**: S4-08流程图

**S6-C 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S6-09 | 同HTML默认+状态节点+转移箭头+事件触发 | 浏览器兼容+状态转换正确 |
| S6-10 | 同HTML默认+协议分层+数据包动画 | 浏览器兼容+握手过程正确 |
| S6-11 | 同HTML默认+Canvas动画+参数调节 | 浏览器兼容+物理公式对照 |
| S6-12 | 同HTML默认+分子模型+反应动画 | 浏览器兼容+方程式平衡 |

### S6-D 测验考核

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S6-13 Quiz问答系统 | 题库管理/题型路由/计分/计时/排名/结果分析 | .html |
| S6-14 拖拽排序题 | 拖拽区域/排序槽位/即时反馈/计时/评分/提示 | .html |
| S6-15 填空标注题 | 标注目标/填空区/实时校验/提示系统/评分 | .html |
| S6-16 代码调试题 | Bug代码/运行按钮/测试结果/提示等级/解析展示 | .html |

**S6-D 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S6-13 | 同HTML默认+题库管理+题型路由+评分 | 浏览器兼容+计时准确 |
| S6-14 | 同HTML默认+拖拽API+即时反馈+计时 | 浏览器兼容+拖拽响应 |
| S6-15 | 同HTML默认+标注目标+实时校验+提示 | 浏览器兼容+校验正确 |
| S6-16 | 同HTML默认+代码运行+测试结果+提示 | 浏览器兼容+沙箱安全 |

---

## S7 Shell脚本（20种）

> **S7域特殊规范**：
> - Bash 4+ / PowerShell 5.1+ 兼容
> - 不依赖非系统命令（仅用coreutils及常见系统工具）
> - 含 `set -euo pipefail`（Bash）/ `$ErrorActionPreference = 'Stop'`（PowerShell）
> - 破坏性操作默认 `--dry-run`
> - 退出码：0成功，1一般错误，2参数错误

### S7-A 系统运维

#### S7-01 系统初始化脚本
- **必选组件**: Shebang行 + usage函数 + 参数解析(getopts/param) + 执行日志 + 错误陷阱
- **Bash组件**: `set -euo pipefail`、彩色日志函数(info/warn/error)、进度指示、dry-run支持
- **核心逻辑**: 系统检测→依赖检查→包安装→用户创建→配置写入→服务启用→验证
- **组装顺序**: Shebang→安全设置→usage→参数解析→日志系统→主逻辑→清理→验证
- **质量约束**: 可重复执行(幂等)、dry-run模式完整
- **格式**: 单一.sh文件

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S7-02 备份恢复 | 源/目标路径/压缩算法/轮转策略/校验和/恢复验证/远程同步/增量检测 | .sh |
| S7-03 系统监控 | 监控指标(CPU/内存/磁盘/网络)/阈值配置/告警动作/采样间隔/日志输出 | .sh |
| S7-04 日志管理 | 日志路径/轮转规则/归档策略/搜索关键词/统计维度/异常提取/压缩 | .sh |
| S7-05 安全加固 | 检查项清单/修复动作/基线定义/报告输出/交互确认/回滚选项 | .sh |

**S7-A(摘要) 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S7-02 | 同Shell默认+压缩+校验+轮转 | 幂等+校验和验证+断点续传 |
| S7-03 | 同Shell默认+采样+阈值+告警 | 幂等+阈值可配+采样间隔 |
| S7-04 | 同Shell默认+轮转+归档+搜索 | 幂等+关键词匹配正确 |
| S7-05 | 同Shell默认+检查+修复+回滚 | 幂等+交互确认+回滚安全 |

### S7-B 文件处理

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S7-06 批量文件操作 | 目标路径/操作类型/通配符/dry-run/权限设置/属主变更/进度计数 | .sh |
| S7-07 文件同步归档 | 源/目标/同步策略(全量增量)/排除规则/校验/差异报告/断点续传 | .sh |
| S7-08 媒体批处理 | 输入目录/输出格式/质量参数/重命名规则/元数据提取/并行度 | .sh |
| S7-09 文本批量处理 | 输入源/搜索模式/替换内容/编码检测/格式转换/合并拆分/预览 | .sh |
| S7-10 文件清理 | 扫描路径/清理规则(类型/大小/年龄)/排除列表/空间报告/dry-run/确认 | .sh |

**S7-B 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S7-06 | 同Shell默认+通配符+权限修改+进度 | 幂等+dry-run+进度计数 |
| S7-07 | 同Shell默认+rsync+增量+校验 | 幂等+差异报告+断点续传 |
| S7-08 | 同Shell默认+格式转换+元数据+并行 | 幂等+dry-run+并行安全 |
| S7-09 | 同Shell默认+搜索替换+编码检测+预览 | 幂等+dry-run+编码正确 |
| S7-10 | 同Shell默认+扫描+规则+空间报告 | 幂等+dry-run+排除列表 |

### S7-C 部署发布

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S7-11 应用构建 | 构建环境检测/依赖安装/编译命令/版本注入/产物归档/签名/校验 | .sh |
| S7-12 部署发布 | 环境配置/部署策略(蓝绿/灰度)/健康检查/回滚机制/通知/版本记录 | .sh |
| S7-13 CI/CD流水线 | 触发条件/阶段定义/并行策略/测试命令/产物路径/通知集成/失败处理 | .sh |
| S7-14 Docker操作 | Dockerfile路径/镜像标签/容器配置/网络/卷挂载/健康检查/清理/批量 | .sh |
| S7-15 数据库部署 | 迁移文件目录/环境配置/执行顺序/前后验证/回滚脚本/版本记录 | .sh |

> **S7-15依赖**: S8-13 Schema迁移

**S7-C 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S7-11 | 同Shell默认+环境检测+编译+签名 | 幂等+版本号注入+校验 |
| S7-12 | 同Shell默认+环境配置+部署+健康检查 | 幂等+回滚机制+蓝绿/灰度 |
| S7-13 | 同Shell默认+阶段定义+并行+测试+通知 | 幂等+失败处理+产物路径 |
| S7-14 | 同Shell默认+Docker命令+网络+健康检查 | 幂等+容器清理+批量 |
| S7-15 | 同Shell默认+迁移执行+验证+回滚 | 幂等+前后验证+版本记录 |

### S7-D 开发工具

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S7-16 项目脚手架 | 模板选择/目录结构/配置生成/依赖安装/Git初始化/README生成/交互提示 | .sh |
| S7-17 代码质量检查 | 源码路径/检查工具链/规则配置/输出格式/阈值设定/报告生成 | .sh |
| S7-18 测试运行 | 测试目录/框架检测/并行度/覆盖率/失败重试/报告格式/环境准备 | .sh |
| S7-19 环境管理 | 环境类型/版本指定/依赖文件/变量管理/导出还原/激活/停用 | .sh |
| S7-20 Git工作流 | 分支策略/提交规范/冲突检测/Changelog模板/标签规则/发布流程 | .sh |

**S7-D 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S7-16 | 同Shell默认+模板选择+目录生成+Git初始化 | 幂等+交互提示+模板正确 |
| S7-17 | 同Shell默认+工具链+规则+报告 | 幂等+报告格式+阈值 |
| S7-18 | 同Shell默认+框架检测+并行+覆盖率 | 幂等+失败重试+报告 |
| S7-19 | 同Shell默认+版本指定+依赖安装+变量管理 | 幂等+导出还原+激活停用 |
| S7-20 | 同Shell默认+分支+提交+冲突+Changelog | 幂等+规范检查+标签 |

---

## S8 SQL脚本（16种）

> **S8域特殊规范**：
> - 标准SQL优先，方言差异用注释标注（MySQL/PostgreSQL/SQLite/SQL Server）
> - 每条DDL/DML语句含注释说明意图
> - 含事务控制（BEGIN/COMMIT/ROLLBACK），DDL按需独立事务
> - 含 `IF NOT EXISTS` / `IF EXISTS` 防重复执行
> - 含验证查询（执行后SELECT确认结果）
> - 脚本可重复执行不出错（幂等性设计）

### S8-A DDL结构定义

#### S8-01 建表脚本
- **必选组件**: 数据库声明 + DROP IF EXISTS + CREATE TABLE + 约束(PK/FK/UQ/CK) + 索引 + 注释 + 验证查询
- **约束组件**: PRIMARY KEY、FOREIGN KEY(含ON DELETE/UPDATE)、UNIQUE、CHECK、DEFAULT、NOT NULL
- **索引组件**: CREATE INDEX(含条件索引/部分索引)、CONCURRENTLY(PostgreSQL)、USING指定
- **幂等组件**: IF NOT EXISTS / IF EXISTS、事务包裹、验证SELECT COUNT
- **组装顺序**: 数据库声明→DROP IF EXISTS→事务BEGIN→CREATE TABLE→约束→索引→注释→COMMIT→验证查询
- **质量约束**: 可重复执行、约束名规范(表_列_类型缩写)、注释完整
- **格式**: 单一.sql文件

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S8-02 修改表结构 | ALTER TABLE(ADD/DROP/MODIFY列)/数据迁移/回滚脚本/前后验证/兼容性注释 | .sql |
| S8-03 视图定义 | CREATE OR REPLACE VIEW/复杂查询/可更新条件/物化视图/权限/注释 | .sql |
| S8-04 索引优化 | CREATE INDEX/查询计划分析(EXPLAIN)/索引建议/维护(重建/统计)/并发创建 | .sql |

**S8-A(摘要) 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S8-02 | 同SQL默认+ALTER TABLE+数据迁移+回滚 | 幂等+回滚脚本+兼容性注释 |
| S8-03 | 同SQL默认+CREATE OR REPLACE VIEW | 幂等+权限授权+注释 |
| S8-04 | 同SQL默认+CREATE INDEX+EXPLAIN分析 | 幂等+并发创建+统计更新 |

### S8-B DML数据操作

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S8-05 批量导入 | 目标表/源格式(CSV/JSON)/字段映射/类型转换/错误处理/进度/验证 | .sql |
| S8-06 批量更新删除 | WHERE条件/分批处理(LIMIT+OFFSET)/软删除/级联/影响行数统计/事务 | .sql |
| S8-07 数据合并 | INSERT ON CONFLICT/MERGE/冲突策略(更新/忽略/报错)/源数据/目标映射 | .sql |
| S8-08 数据清洗 | 去重(ROW_NUMBER)/标准化(UPPER/TRIM)/空值处理/格式校验/异常修复/报告 | .sql |

**S8-B 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S8-05 | 同SQL默认+字段映射+类型转换+进度 | 幂等+错误处理+验证 |
| S8-06 | 同SQL默认+分批处理+级联+事务 | 幂等+影响行数统计+软删除 |
| S8-07 | 同SQL默认+ON CONFLICT/MERGE+冲突策略 | 幂等+冲突策略正确 |
| S8-08 | 同SQL默认+去重+标准化+空值处理 | 幂等+清洗报告+格式校验 |

### S8-C 查询分析

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S8-09 报表查询 | 多表JOIN/分组聚合(GROUP BY)/窗口函数(ROW_NUMBER/RANK/LAG)/条件汇总 | .sql |
| S8-10 统计分析 | 描述统计(AVG/STDDEV)/分布(PERCENTILE)/趋势(同比环比)/分位数 | .sql |
| S8-11 递归查询 | WITH RECURSIVE/锚点查询/递归条件/深度标记/路径枚举/循环检测 | .sql |
| S8-12 透视交叉表 | CASE WHEN行列转换/聚合+条件/动态列生成(CROSSTAB)/多维分组 | .sql |

**S8-C 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S8-09 | 同SQL默认+多表JOIN+窗口函数 | 幂等+分组正确+小计合计 |
| S8-10 | 同SQL默认+描述统计+分布+趋势 | 幂等+统计函数正确+百分位数 |
| S8-11 | 同SQL默认+WITH RECURSIVE+深度标记 | 幂等+循环检测+路径枚举 |
| S8-12 | 同SQL默认+CASE WHEN+聚合+动态列 | 幂等+行列转换正确 |

### S8-D 迁移与版本

| ID | 必选组件摘要 | 格式 |
|----|-------------|------|
| S8-13 Schema迁移 | 版本号/DDL变更/回滚脚本/迁移日志表/兼容性检查/前后验证/事务 | .sql |
| S8-14 数据迁移 | 源/目标映射/类型转换/校验查询/回滚/进度/差异报告 | .sql |
| S8-15 种子数据 | INSERT IGNORE/多环境适配/依赖顺序/字典数据/测试数据/演示数据 | .sql |
| S8-16 管理维护 | 用户权限/备份恢复/性能优化(ANALYZE/VACUUM)/空间回收/会话管理 | .sql |

**S8-D 组装与约束**：

| ID | 组装顺序 | 质量约束 |
|----|---------|---------|
| S8-13 | 同SQL默认+版本号+DDL变更+回滚脚本+迁移日志 | 幂等+回滚安全+兼容性检查 |
| S8-14 | 同SQL默认+源目标映射+校验+差异报告 | 幂等+校验查询+回滚 |
| S8-15 | 同SQL默认+INSERT IGNORE+多环境适配+依赖顺序 | 幂等+环境适配+字典数据完整 |
| S8-16 | 同SQL默认+权限+优化+空间回收 | 幂等+ANALYZE/VACUUM+锁检测 |

---

## 自包含性约束详解

单文件产出的核心约束是**自包含**，以下是四大家族的具体规则：

### HTML产物约束

| 约束 | 规则 | 允许的例外 |
|------|------|-----------|
| **零本地依赖** | 不引用本地文件（CSS/JS/图片/字体） | — |
| **CDN白名单** | 仅允许 cdnjs.cloudflare.com, cdn.jsdelivr.net, unpkg.com | 需在代码注释中标注CDN用途 |
| **图片内联** | 用SVG内联或Base64 data URI | — |
| **字体降级** | 用系统字体栈，不依赖外部字体 | CDN加载Google Fonts可接受但需降级 |
| **图标方案** | SVG内联或CSS绘制，不用图标字体文件 | Font Awesome CDN可接受但需降级 |
| **存储方案** | 仅localStorage/sessionStorage | 不用IndexedDB（过度工程） |

### Python CLI约束

| 约束 | 规则 | 允许的例外 |
|------|------|-----------|
| **零第三方依赖** | 仅用Python标准库 | — |
| **argparse** | 用argparse实现子命令 | 不用click/typer（第三方） |
| **输入方式** | 文件路径参数 + stdin管道 | — |
| **输出方式** | stdout + 可选--output参数写文件 | — |
| **编码处理** | 默认UTF-8，--encoding参数可覆盖 | — |

### Shell脚本约束

| 约束 | 规则 | 允许的例外 |
|------|------|-----------|
| **兼容性** | Bash 4+ / PowerShell 5.1+ | 方言差异用条件分支 |
| **系统命令** | 仅用coreutils及常见系统工具(curl/rsync等) | 明确标注依赖并含检测 |
| **安全设置** | Bash: `set -euo pipefail`; PS: `$ErrorActionPreference='Stop'` | — |
| **破坏性操作** | 默认`--dry-run`，需显式`--force` | 只读脚本可跳过 |
| **退出码** | 0成功，1一般错误，2参数错误 | — |
| **日志** | 含info/warn/error彩色日志函数，`--verbose`/`--quiet` | — |
| **帮助** | 含usage函数和`--help` | — |
| **幂等性** | 可重复执行不出错 | 破坏性操作需显式确认 |

### SQL脚本约束

| 约束 | 规则 | 允许的例外 |
|------|------|-----------|
| **标准优先** | 优先使用SQL标准语法 | 方言差异用注释标注(MySQL/PG/SQLite/MSSQL) |
| **注释** | 每条DDL/DML语句含注释说明意图 | — |
| **事务** | 含事务控制(BEGIN/COMMIT/ROLLBACK) | DDL按需独立事务 |
| **幂等性** | 含IF NOT EXISTS/IF EXISTS，可重复执行 | — |
| **验证** | 含验证查询(执行后SELECT确认) | — |
| **参数** | 含`-- @param`风格参数占位符 | — |
| **头部声明** | 声明目标数据库及版本 | — |
| **回滚** | 危险操作提供回滚脚本 | 只读查询可省略 |

---

## 组装流程

按本文件组件清单逐项填充时的通用流程：

```
1. 确定目标ID（如S2-13数独）
     ↓
2. 读取本文件中对应条目的必选组件清单
     ↓
3. 提取必选组件清单
     ↓
4. 按组装顺序搭建骨架
   HTML: HTML结构 → CSS样式 → 核心数据结构 → 算法逻辑 → 交互处理 → 渲染 → 测试
   Python: argparse → 核心逻辑 → 子命令 → 输入输出 → 错误处理 → 测试
   Shell: Shebang → 安全设置 → usage → 参数解析 → 日志 → 主逻辑 → 清理 → 验证
   SQL: 数据库声明 → DROP IF EXISTS → 事务 → DDL/DML → 注释 → COMMIT → 验证查询
     ↓
5. 可选组件按需添加
```

**关键原则**：

| 原则 | 说明 |
|------|------|
| **骨架先行** | 先搭HTML/CSS骨架（或Python/Shell/SQL骨架），再填充逻辑 |
| **数据结构优先** | 先定义核心数据结构（棋盘数组/卡片列表/表结构等），再写渲染/查询逻辑 |
| **最小可用** | 先实现核心玩法/功能，再逐步加花 |
| **本地存储** | 凡涉及进度/设置/分数，一律用localStorage持久化（HTML产物） |

---

## 集成联调检查清单

| # | 检查项 | 通过标准 |
|---|--------|---------|
| 1 | **功能完整性** | 核心功能100%可用，无阻断性Bug |
| 2 | **边界输入** | 空输入/超长输入/非法字符不崩溃 |
| 3 | **状态管理** | 开始→进行中→暂停→结束，状态转换无遗漏 |
| 4 | **数据持久化** | 刷新页面后进度/设置/分数保留（如设计要求） |
| 5 | **响应式** | 桌面1920×1080 + 移动375×667 均可用（HTML产物） |
| 6 | **键盘可操作** | Tab可聚焦，Enter/Space可触发，无鼠标也能用（HTML产物） |
| 7 | **性能** | 无明显卡顿（requestAnimationFrame保持60fps / 无大循环阻塞） |
| 8 | **浏览器兼容** | Chrome + Firefox + Safari 最新版正常（HTML产物） |
| 9 | **移动端触摸** | 游戏类必须支持触摸操作（如适用） |
| 10 | **零依赖验证** | 断网状态下双击.html可正常运行 / Python仅stdlib / Shell仅coreutils / SQL标准语法 |

---

## 质量等级

| 等级 | 标准 | 适用场景 |
|------|------|---------|
| **L1 能跑** | 核心功能可用，无崩溃 | 快速原型/内部验证 |
| **L2 好用** | L1 + 边界处理 + 键盘操作 + 响应式 | 个人项目/演示 |
| **L3 精品** | L2 + 移动端适配 + 本地存储 + 动画流畅 + 暗色模式 | 分享/作品集 |
| **L4 发布级** | L3 + 完整文档 + 浏览器全兼容 + 无障碍 + 性能优化 | 正式发布/教学 |

**交付物清单**：

```
✅ 单一.html/.py/.sh/.sql文件
✅ 双击可运行（零配置）
✅ 文件命名：kebab-case（如sudoku.html, csv-tool.py, deploy.sh, create-tables.sql）
✅ 页面标题（<title>）清晰（HTML产物）
✅ 语言标注（lang="zh-CN"）（HTML产物）
✅ viewport meta标签（HTML产物）
```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)