File tree Expand file tree Collapse file tree
app/src/components/session-detail Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2828 * ② 每段加 `data-seg-id`(`useRevealChoreography` 的逐段锚点 = `[data-seg-id]`);
2929 * ③ 段正文 `<Text>` 追加 `lowConfidenceClass(seg.confidence)` —— 这是 R11.3 /
3030 * R12.4 点名要落地的**低置信墨度起伏**(环境层第 ③ 件)的**生产过程调用点**:
31- * 它与显影**共用同一个元素**,所以两者必须**互不覆盖** —— 那条 CSS `animation` 动
32- * `opacity`,显影的 GSAP 只动 `transform`(见 `useRevealChoreography.ts` 的文件头)。
31+ * 它与显影**落在同一段落、但不是同一个元素**(显影动段落行 `<div>`,本类名在行内正文
32+ * `<span>` 上 —— `transform` 对行内元素无效,见 `useRevealChoreography.ts` 文件头),
33+ * 所以两者**互不覆盖**:那条 CSS `animation` 动 `opacity`,显影的 GSAP 只动 `transform`。
3334 * ④ `data-reveal-epoch` 把「持有的世代号」暴露到 DOM(R8.5:结构锚点优先于时间判据)。
3435 * ⚠️ 因此本件新增一条 import 边:`components/structuredBlocks.ts`(它顶层 `import katex`
3536 * + `katex.min.css`)⇒ **KaTeX 会成为会话详情惰性 chunk 的依赖**(首屏静态闭包不含本件,
Original file line number Diff line number Diff line change 1919 *
2020 * 🔴 **与 R11.3 共存(本件最重要的一条边界)**:低置信段落的墨度由 `Text.css` 的
2121 * `.ed-text--low-confidence`(CSS `animation` 动 **`opacity`**)独占 ⇒ 本件**只动 `transform`**,
22- * **一个 `opacity` 都不写**(两个动效共用同一个元素,谁都不许覆盖谁)。「显影」的可见通道因此是
23- * **位移**(`y: +8px → 0` 的逐段升起),墨度通道留给环境层。
22+ * **一个 `opacity` 都不写**(两个动效谁都不许覆盖谁)。⚠️ **两条落点是「同段不同元素」而不是同一个
23+ * 元素**(与计划 `:1995` 的措辞不同,理由见 `task-28-report.md`):本件动**段落行**(`[data-seg-id]`
24+ * 的 `<div>`),R11.3 的类名在行内的正文 `<Text>`(`<span>`,`display: inline`)—— 而 **`transform`
25+ * 对行内元素无效**(CSS Transforms L1 的 transformable element 不含 `display:inline`)⇒ 把显影挂在
26+ * 正文上会是一条**看不见的动画**。改挂段落行后:不同元素 **且** 不同属性 ⇒「互不覆盖」比计划更强。
27+ * 「显影」的可见通道因此是**位移**(`y: +8px → 0` 的逐段升起),墨度通道留给环境层。
2428 *
2529 * 🔴 **起始态被持有**(R5 通则①):`revealEpoch` 是 React **state**(`replay()` 递增);每次世代变化
2630 * 都**先把起始态物化进 DOM** 再从它播到终态 ⇒ 「重播 / 折叠往返」可反向(M3 变异体钉这一点)。
You can’t perform that action at this time.
0 commit comments