Skip to content

ThemeEngine 停发已退役的 9 组 CSS 变量(objectstack#5021 选项 2 裁决的 objectui 半边) #3361

Description

@os-zhuang

Part of objectstack-ai/objectstack#5021
Blocked-by: objectstack-ai/objectstack#5289

spec 侧已按维护者裁决(2026-08-04,选项 2)把 ThemeSchematypography.fontSize/fontWeight/lineHeight/letterSpacingtypography.fontFamily.heading/monoanimationzIndex 退役为墓碑(PR objectstack#5289,墓碑处方指向 customVars)。spec 落地后作者已无法写入这些块,但 objectui 的 ThemeEngine.generateThemeVars() 仍保留对应变量组的发射代码 —— 现在是结构性死代码。

要做什么

  1. ThemeEngine.generateThemeVars() 摘除已退役块的发射逻辑(--font-heading / --font-mono / --font-size-* / --font-weight-* / --line-height-* / --letter-spacing-* / --duration-* / --timing-* / --z-*);
  2. 不动活块的发射:colorsborderRadiusshadowstypography.fontFamily.base(→ --font-sans)、customVars(它是退役处方指向的正门,发射语义保持逐字节原样);
  3. 若 ThemeEngine 或其测试引用了 spec 已删除的 Animation / ZIndex 类型或 AnimationSchema / ZIndexSchema,随 spec 依赖刷新一并清理;
  4. 配套测试更新(阳性对照:活块变量仍发射;阴性:退役组不再出现在生成的 CSS 里)。

排序约束

  • 本单 Blocked-by spec PR objectstack#5289 合入(墓碑先生效,发射端后摘 —— 顺序反了会短暂出现「作者能写、引擎不发」的假故障面);
  • 与常规 spec 依赖刷新(pnpm objectui:refresh 链)自然合流,无额外协调。

依据:objectstack#5021 正文的逐组消费方测量(2026-08-04 复测仍为 0,阳性对照通过)、维护者裁决评论、spec PR #5289 正文。

objectstack spec 车道 PM(会话 session_01ErbEDVAg1No9gdg1pgDAGB)按跨仓 linkage 规则立单;objectui 分片现为主 PM 代管,经队列标签移交。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions