From 23dde4de5c1efa44b9d479b9639b26b7a1417059 Mon Sep 17 00:00:00 2001 From: Yang Wu <1425326620@qq.com> Date: Sat, 5 Sep 2026 03:23:05 +0800 Subject: [PATCH 1/2] docs: audit desktop and frontend references Refs #3522. Generated-by: OpenAI Codex --- docs/astryx-alignment-inventory.md | 20 +++++-- docs/astryx-full-surface-audit.md | 22 +++++-- ...d-architecture-astryx-review-2026-08-09.md | 44 ++++++++++---- docs/frontend-css-governance.md | 48 +++++++++++----- docs/frontend-css-governance.zh-CN.md | 57 +++++++++++-------- docs/settings-astryx-deep-review.zh-CN.md | 17 +++++- 6 files changed, 145 insertions(+), 63 deletions(-) diff --git a/docs/astryx-alignment-inventory.md b/docs/astryx-alignment-inventory.md index 264191655b..8d305d90ad 100644 --- a/docs/astryx-alignment-inventory.md +++ b/docs/astryx-alignment-inventory.md @@ -1,3 +1,13 @@ +--- +doc_id: frontend.astryx-alignment-inventory +title: "Astryx alignment inventory" +language: en +source_language: en +implementation_status: historical +document_status: historical +translation_status: source-only +last_verified: 2026-09-05 +--- -> **Superseded for file-level coverage:** see [astryx-surface-file-inventory.md](./astryx-surface-file-inventory.md) (one row per product surface file). This document remains the family-level wiki map and fix log from the first alignment pass. +> **Historical family-level fix log.** File-level coverage and current severities are generated in [astryx-surface-file-inventory.md](./astryx-surface-file-inventory.md). This document records the first alignment pass; its status cells and remaining-polish list are not a current backlog. On 2026-09-05, the generated check reported 249 files, 0 blockers, 0 reimplementations, 1 polish item, and 248 aligned files. # Astryx alignment inventory -Maps [Astryx wiki](https://github.com/facebook/astryx/wiki) conventions onto -Maka product surfaces. Severity: **blocker** (raw control when an Astryx twin +This pass mapped [Astryx wiki](https://github.com/facebook/astryx/wiki) conventions onto +Maka product surfaces. At the time, severity meant **blocker** (raw control when an Astryx twin exists / broken hierarchy) · **reimplementation** (a public `@maka/ui` export shadows a shipped Astryx component — a review signal, not proof) · **polish** (off-scale px, density). @@ -93,7 +103,9 @@ shadows a shipped Astryx component — a review signal, not proof) · **polish** - Plan execution expand → Astryx `Collapsible`. - Workbar tool picker → Astryx `List` + `ListItem`; visible descriptions and native row interaction. -## Remaining polish (non-blocker) +## Remaining polish recorded by the first pass (historical) - Quote chips / prompt-rail ticks stay product-shaped hit targets. - Workbar tab strip stays custom for dnd-kit + `role=tab`. - Nested button prohibition on SideNavItem endContent (documented intentional). + +Run `npm run astryx:surface-inventory` for the current file universe and severity result. diff --git a/docs/astryx-full-surface-audit.md b/docs/astryx-full-surface-audit.md index 9ea0fe70ed..a4f6540125 100644 --- a/docs/astryx-full-surface-audit.md +++ b/docs/astryx-full-surface-audit.md @@ -1,3 +1,13 @@ +--- +doc_id: frontend.astryx-full-surface-audit-2026-08-09 +title: "Astryx full surface audit" +language: en +source_language: en +implementation_status: historical +document_status: historical +translation_status: source-only +last_verified: 2026-09-05 +--- -# Maka 设置页深度 Review——以 Astryx 设计语言为基准 +# Maka 设置页 Astryx 深度审计(历史记录) -> 2026-08-03,基于 `settings/astryx-refactor` 分支(已 rebase 到最新 main)。 -> 审计方式:Storybook 全页截图(中/英 × 亮/暗)+ Astryx 官方 `settings` / `settings-dialog` 模板与 `astryx docs` 原文精读。 +> **生命周期:历史。** 下文记录的是 2026-08-03、`#1972` 落地前的设置页问题与重构目标,不是当前缺陷清单。该方案已经由 `refactor(desktop): rebuild Settings on the Astryx open-group idiom (#1972)` 落地。当前实现以 `settings/settings-section.tsx`、`settings/settings-rows.tsx` 和 `styles/settings/rows.css` 为准;全量 surface 覆盖以生成的 [astryx-surface-file-inventory.md](./astryx-surface-file-inventory.md) 为准。 +> +> 原审计基于 `settings/astryx-refactor` 分支,使用 Storybook 全页截图(中/英 × 亮/暗)、Astryx 官方 `settings` / `settings-dialog` 模板和 `astryx docs` 原文。2026-09-05 复核确认:`SettingsSection` 的开放行组、`SettingsRow` / `SettingsField` / `SettingsActions` 三种行语法,以及以 `StatusDot` + 文本为主的状态表达均已进入当前实现;页面数量、按钮数量和 CSS 行数等下文数字只描述当时快照。 ## 一、Astryx 官方设置语言到底是什么 From 9b176466c826db760cb67c05c6580f49d2e7a7ee Mon Sep 17 00:00:00 2001 From: Yang Wu <1425326620@qq.com> Date: Sun, 6 Sep 2026 01:51:42 +0800 Subject: [PATCH 2/2] docs: document missing !important overrides --- docs/frontend-css-governance.md | 2 +- docs/frontend-css-governance.zh-CN.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/frontend-css-governance.md b/docs/frontend-css-governance.md index 05e01dad76..eb9d529a3e 100644 --- a/docs/frontend-css-governance.md +++ b/docs/frontend-css-governance.md @@ -61,7 +61,7 @@ Keep layer ownership at the closest existing seam instead of adding a higher-pri ## 3. `!important` - Default exceptions are accessibility helpers such as `.maka-visually-hidden`, reduced-motion and e2e-fixture overrides, and the centralized native-cursor policy. -- Narrow compatibility and product overrides remain in `reference-shell.css`, `styles/settings/usage.css`, and `packages/ui/src/styles.css`. They are explicit debt or bounded component fixes, not precedent for another override. +- Narrow compatibility and product overrides remain in `reference-shell.css`, `styles/settings/usage.css`, `styles/shell-layout.css`, `styles/sidebar.css`, and `packages/ui/src/styles.css`. The shell layout override keeps SideNav width following its animated wrapper; sidebar overrides reconcile SideNav spacing and borders with unlayered StyleX rules. They are explicit debt or bounded component fixes, not precedent for another override. - Every new use outside the default exceptions needs an adjacent comment that names the competing rule, explains why the normal component or layer seam cannot express the fix, and states when the override can be removed. `Justified:` is the conventional marker. - Prefer fixing the primitive API or semantic class when it can express the behavior directly. diff --git a/docs/frontend-css-governance.zh-CN.md b/docs/frontend-css-governance.zh-CN.md index 014e97aecf..40d6a08c9c 100644 --- a/docs/frontend-css-governance.zh-CN.md +++ b/docs/frontend-css-governance.zh-CN.md @@ -61,7 +61,7 @@ last_verified: 2026-09-05 ## 3. `!important` 使用规则 - 默认例外包括无障碍辅助规则(例如 `.maka-visually-hidden`)、reduced-motion / e2e-fixture 覆盖,以及集中管理的原生 cursor 策略。 -- `reference-shell.css`、`styles/settings/usage.css` 与 `packages/ui/src/styles.css` 中仍有少量兼容或产品覆盖。它们是显式债务或有边界的组件修复,不能作为继续增加覆盖的先例。 +- `reference-shell.css`、`styles/settings/usage.css`、`styles/shell-layout.css`、`styles/sidebar.css` 与 `packages/ui/src/styles.css` 中仍有少量兼容或产品覆盖。shell layout 覆盖让 SideNav 宽度跟随执行动画的外层容器;sidebar 覆盖用于协调 SideNav 的间距、边框与未分层的 StyleX 规则。它们是显式债务或有边界的组件修复,不能作为继续增加覆盖的先例。 - 新增的非默认用法必须紧邻说明注释:指出与哪条规则冲突、为什么常规组件或 layer 职责无法表达,以及何时可以删除。约定使用 `Justified:` 作为标记。 - 如果 primitive API 或语义类可以直接表达,优先在该职责层解决,不要继续叠更多 `!important`。