13 Commits
Author SHA1 Message Date
chinboy a8cdfc0f58 feat(TokenSystem)!: 支持 Control Design Token 继承 2026-09-07 22:38:43 +08:00
chinboy 3819024582 fix(Windowing): align Windows composition fallbacks for live resize 2026-08-23 13:34:31 +08:00
chinboy 9593bf1537 fix(AOT): bound linked registration analysis and static unit planning 2026-08-17 15:18:29 +08:00
chinboy 348784815b refactor(AOT)!: default registration units to package granularity 2026-08-16 11:10:55 +08:00
chinboy e58de99730 refactor(AOT)!: declare package registration entries in source 2026-08-16 11:10:55 +08:00
chinboy b586d905ec refactor(Build): flatten infrastructure layout 2026-08-16 11:08:01 +08:00
chinboy 5f5848dd01 refactor(Build): finalize infrastructure directory layout 2026-08-16 11:05:11 +08:00
chinboy a6fc404ba6 docs(Typography): add font package authoring guide
新增 `docs/guides/typography/`,补上字体包的操作路径。此前 `architecture/systems/typography/`
只描述字体子系统的架构与契约,要新做一个包得自己去读 `AtomUI.Fonts.AlibabaSans` 和
`AtomUI.Fonts.AlibabaPuHuiTi` 的源码反推步骤。按文档分类规范,"怎么完成任务"属于 Guide。

教程从"注册和生效是两件事"开篇,而非从建项目开始。注册链路与生效链路互不相干,只在 Avalonia
解析 `FontFamily` 字符串时汇合,因此只注册 `FontCollection` 不会改变任何界面外观 —— 这是做字体
包最费时间的坑,放在写代码之前说。其余章节依次为建项目、确认字族名、`FontCollection`、两个注册
扩展、`WithDefaultFontFamily` 激活、验证排查、分发许可与交付清单。

两处内容经实测修正,未照现有两个包的表象推断:

- `fc-scan` 输出为一行逗号分隔,且只有第一项可用。实扫 PuHuiTi 得
  `Alibaba PuHuiTi 3.0,阿里巴巴普惠体 3.0,Alibaba PuHuiTi 3.0 55 Regular,...`,本地化名与子族
  全名写进代码均不生效。同一命令解释了字重归组:AlibabaSans 六个面首项均为 `Alibaba Sans`。
  文中给出真实输出而非文字描述。
- `FontManager.Current.SystemFonts` 全仓库无调用点,该排查片段已对 Avalonia 12.1.1 单独编译
  验证后收录。

记录三处读现有包看不出的行为,均经源码核对:

- 主题配置显式声明 `FontFamily` Token 时 `WithDefaultFontFamily` 完全失效。
  `ThemeManager.AddDefaultFont` 在该 key 已存在时提前返回,是有意的优先级设计,但表现为"调用已
  执行而界面未变",故列入排查清单。
- 字符串格式错误抛异常,字族缺失只静默回退,两种失败模式的可观测性不同。
- `AtomUI.Controls` 引用 `AtomUI.Fonts.AlibabaSans` 但不调用 `AddFontCollection`。引用只保证资源
  随构建产出,注册是应用的责任,库不应代应用决定。

`AlibabaSans` 的注册扩展位于全局命名空间,按历史遗留记录而非范例,并指出可观察后果:Desktop
Gallery 无 `using` 即可调用,Browser Gallery 为另一个包必须显式 `using`。新包应带命名空间。

另标注两个现存包均未附字体许可文件 —— 将字体编译进程序集即构成再分发。此处仅在文档中点明,未
改动包内容,补充许可属授权决定而非文档变更。

同步接入 Guide 导航,并从 typography 架构 overview 与 font-packages 建立反向链接。
2026-08-10 16:53:18 +08:00
chinboy 9f6ec36645 docs: rename directory entry files to overview.md
统一文档目录的入口文件名为 `overview.md`,取代原先的 `index.md`。单 Control 目录本来就用
`overview.md`,此前只有目录级入口用 `index.md`,两套命名并存;现在全库一致。

改名覆盖 42 个入口文件:`docs/` 根、一级分类目录、Architecture 分组与跨模块系统目录、Module
目录、Control 平台与分类目录、Guide 与 Reference 子目录。`docs/AI/generated/index.md` 是手工
维护的导航页,一并改名。

生成产物 `docs/AI/generated/llms/**/index-cn.md` 保持原名,它属于 LLMs Generator 的输出契约。

同步更新 28 个正式文档与 `AGENTS.md` 中的入站链接,以及两处目录树示意图。改名后全部相对链接
可解析,LLMs Generator `verify` 通过(78 控件 / 159 文件),单 Control 四件套文件名契约未变。

新增 `docs/engineering/contributing/documentation-structure-guidelines.md` 承载入口命名、文档
拆分标准、事实所有权和链接规范。此前该规则只写在带日期的设计过程记录里,不适合作为长期来源。
`docs/superpowers/specs/2026-08-10-documentation-information-architecture-design.md` 保留原文
并加取代说明,其余结论继续有效。
2026-08-10 14:24:36 +08:00
chinboy cafec81a6f docs: organize AI outputs and prune redundant module pages 2026-08-10 11:05:37 +08:00
chinboy 0bc3447ebb docs: reorganize module engineering and Gallery domains 2026-08-10 09:32:07 +08:00
chinboy bc482f94d1 docs(Controls): reorganize shared infrastructure documentation 2026-08-10 09:12:36 +08:00
chinboy 83ff8e94ed docs(Theme): separate architecture guides and reference 2026-08-10 08:59:22 +08:00