File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 177177> - ⚠️ ** 本批的措辞纪律(收口复检)** :` charRate ` ** 不得** 被称为「真实语速」(它是** 字符率近似** ,规格未定义语速函数);` aligned === false ` ** 不得** 被描述为「未对齐」(是「无基准、** 不能保证** 」);「落了 seam」** ≠** 「已交付」;「判据绿」** ≠** 「体验已验证」。
178178> - ** 未编造弱判据** :上列九项 + 两条** 本批一律只登记** ,未为它们新造判据(唯一例外 = 真实构建产物的 ` vendor-gsap ` 三件套与 ` engine.guard ` 的闭包交集,那是** 已有工具可算** 的硬判据,不是为本清单新造的)。
179179
180+ > 🔻 ** 批 8 T16 就地加注 · 「jsdom 不做样式级联」这句理由的** 措辞收窄** (2026-09-13;** 上面原文一字未改** )** :批 6/7 的台账与下游引用里凡出现「jsdom ** 不做样式级联** 」,** 一律按本注读** —— 实测 ** jsdom 做级联** (类规则 / ID 选择器 / 子选择器 / 继承 / ` !important ` ** 全部正确生效** )。规范层从此固定为** 两类** :
181+ > - ✅ ** 可得(判据只能落在这里)** :** 内联与 ` <style> ` 类规则的声明值** (含 ID / 子选择器 / 继承 / ` !important ` )· ** 自定义属性原值** (可继承)· ** CSSOM ` insertRule ` ** · ** ` rAF ` 真回调** 。
182+ > - 🔴 ** 不可得(只能登记,不许编造弱判据)** :① ** 任何几何 / 排版** (` getBoundingClientRect ` / ` offset* ` / ` client* ` / ` scroll* ` 全 0;` elementFromPoint ` 与 ` Range ` 的两个 ` *Rects ` 方法** 不存在** )② ** ` var() ` 不解析** (回字面量)· ** 简写 → 长写展开不一致** (` padding-top ` 展开、` transition-duration ` 读成 ` 0s ` )⇒ ** 不可依赖** ③ ** 伪元素 / 伪类** 不命中 ④ ** ` matchMedia ` / ` ResizeObserver ` / ` IntersectionObserver ` / canvas 2D / ` document.fonts ` 全缺席** (` matchMedia ` 由** 用例级桩** 代偿:` app/src/test/motionHarness.ts ` )。
183+ > ⇒ 🔴 ** 结论不变、理由收窄** :本文件「不可用判据」清单与「观感类判据一律不做」的依据 = ** 上列 ①–④** ,** 不是** 「jsdom 不做级联」—— 旧措辞会让人** 低估** jsdom(误以为连类规则都读不到)。🔴 ** 本注只写纪律与形态** :jsdom 能力表的** 当次实测读数** 进批次台账 / 报告,** 不入 ` docs/standards/** ` ** (§11.1 体例);同句的另两处收窄 = ` app/src/test/motionHarness.ts ` (代码注释)与批 7 计划 ` :2560 ` (就地加注)。
184+
180185### 两条 API 陷阱
181186
182187- ` tl.to() ` 返回 ** Timeline 本身** ,不是 Tween ⇒ 「旧 tween 冻结」判据要拿句柄,必须用 ` tl.to(...).getChildren() ` 或直接用 ` gsap.to(...) ` (否则 ` totalTime() ` 永远为真 = 假绿)。
Original file line number Diff line number Diff line change @@ -2563,6 +2563,9 @@ surfaceBaseline.ts:49 → * 阴影 **24 → 24 处 / 24 文件(…)**
25632563| 9 | **`v0.22` / 规格的渲染观感** | 无渲染器 | `docs-check` 只判链接/文件名/索引 ⇒ **内容正确性靠人工评审** |
25642564| 10 | **真实构建的懒侧 katex 去向** | 🔴 **需真实构建**(取锁 + `npm run build`)⇒ 若 T17 未跑 ⇒ **写「未判定」**(C6.4 逐字) | 若跑了 ⇒ **族前缀 + 逐块字节闭合核算**(C9.6 第 2 条) |
25652565
2566+ > 🔻 **批 8 T16 就地加注 · 上表第 6 条的**理由句**不准确**(2026-09-13;**上表原文一字未改**)**:`jsdom 不做样式级联(getComputedStyle 拿不到生效值)` 这句经批 8 侦察 A 实测(jsdom 30.0.1 · `.superpowers/sdd/2026-09-13-frontend-redesign-batch8/recon-A-visual-verification.md` §3.1 / §3.3)**为假** —— jsdom **做**级联:类规则 / ID 规则 / 子选择器 / 继承 / `!important` **全部正确生效**。真正拿不到的是:① **任何几何 / 排版**(`getBoundingClientRect` / `offset*` / `client*` / `scroll*` 全 0;`elementFromPoint` 与 `Range` 的两个 `*Rects` 方法不存在)② **`var()` 不解析**(回字面量)· **简写 → 长写不展开**(`transition` 整体读得到,`transition-duration` 读成 `0s`)③ **伪元素 / 伪类**不命中 ④ `matchMedia` / `ResizeObserver` / `IntersectionObserver` / canvas 2D / `document.fonts` 全缺席。
2567+ > ⇒ **第 6 条的结论不变**(`Surface` 逐处迁移的**层叠观感**仍不可判),**变的是理由**:判据只能落在**源码文本 + 类名 + DOM 属性**上,是因为**几何全 0 + `var()` 不解析 + 简写不展开 + 伪元素不命中 + 环境 API 缺席**,**不是**因为 jsdom 不做级联。同句的另两处在批 8 T16 一并收窄:`docs/standards/motion.md`(规范层加注)与 `app/src/test/motionHarness.ts:50-53`(代码注释就地改写)。
2568+
25662569### 二、本批未做(**做得了,本批不做**;逐条带去向)
25672570
25682571| # | 项 | 为什么本批不做 | 去向 |
You can’t perform that action at this time.
0 commit comments