chinboy
|
a7259a9284
|
fix(Motion): 统一内容开合动画并修复手风琴闪烁与抖动
|
2026-09-10 16:11:58 +08:00 |
|
chinboy
|
943c9cdeba
|
fix(ImageLoading,Avatar): 兼容重复 SVG ID 并修复文字居中
|
2026-09-10 12:15:29 +08:00 |
|
chinboy
|
5b465d0efe
|
refactor(ImageLoading)!: 重构图片源、缓存与预览切换管线
|
2026-09-07 23:10:02 +08:00 |
|
chinboy
|
a8cdfc0f58
|
feat(TokenSystem)!: 支持 Control Design Token 继承
|
2026-09-07 22:38:43 +08:00 |
|
chinboy
|
7a66123a13
|
fix(AOT): 修复跨项目与预编译程序集的注册闭包缺失(#453)
|
2026-09-05 08:52:21 +08:00 |
|
chinboy
|
58293126c4
|
chore(release): prepare AtomUI 6.1.7
|
2026-09-02 12:31:17 +08:00 |
|
chinboy
|
30abb1553c
|
build(Repository): migrate managed outputs to .artifacts
|
2026-08-28 08:19:08 +08:00 |
|
chinboy
|
89b0447df5
|
fix(Build,Input,ImageLoading): stabilize shadow copies and control tests
|
2026-08-27 21:23:00 +08:00 |
|
chinboy
|
13fe840cc9
|
feat(Masonry): add stable and reflow layout strategies
|
2026-08-27 08:14:48 +08:00 |
|
chinboy
|
4d5a6cd8a9
|
fix(Masonry): prevent image decode and layout feedback loops
|
2026-08-26 16:34:58 +08:00 |
|
chinboy
|
38ef578034
|
feat(ImageLoading): support secure network SVG and harden lifecycle
|
2026-08-25 19:22:28 +08:00 |
|
chinboy
|
d58243b157
|
feat(ImageLoading): enhance image loading options with local read concurrency and improve event dispatching
|
2026-08-25 14:07:57 +08:00 |
|
chinboy
|
829edb980d
|
feat(ImageLoading)!: 引入统一图片加载管线并迁移相关控件
|
2026-08-24 20:43:22 +08:00 |
|
chinboy
|
adedd65f99
|
fix(i18n): hide language pack files from consumer project trees
|
2026-08-23 17:14:40 +08:00 |
|
chinboy
|
3819024582
|
fix(Windowing): align Windows composition fallbacks for live resize
|
2026-08-23 13:34:31 +08:00 |
|
chinboy
|
9d918e500f
|
docs(Windowing): record live-resize frame lag platform defect
|
2026-08-23 10:15:53 +08:00 |
|
chinboy
|
4929c7ca77
|
build(MSBuild): load build tasks from content-keyed shadow copies
|
2026-08-22 23:19:06 +08:00 |
|
chinboy
|
ab35476297
|
refactor(Popup): streamline documentation and remove obsolete TestApp references
|
2026-08-21 20:02:22 +08:00 |
|
CHINBOY
|
924a6d4876
|
build(MSBuild): run custom tasks in isolated task hosts
|
2026-08-21 19:30:15 +08:00 |
|
CHINBOY
|
271bce3f75
|
fix(Dialog): align popup tests with routed input and Window layers
Conflicts:
docs/controls/desktop/feedback/modal/changelog.md
|
2026-08-21 18:59:27 +08:00 |
|
CHINBOY
|
96b7f8981c
|
fix(Popup): centralize content-owned surface default
|
2026-08-21 12:11:24 +08:00 |
|
CHINBOY
|
61b950712a
|
docs(Popup): define default surface ownership
Conflicts:
docs/controls/desktop/feedback/modal/changelog.md
|
2026-08-21 12:08:00 +08:00 |
|
CHINBOY
|
f581c8dc01
|
fix(Dialog,Drawer): keep popup content in owning Window layers
|
2026-08-21 08:59:42 +08:00 |
|
CHINBOY
|
215f2552bb
|
fix(build): canonicalize linked-registration Sidecar inputs
|
2026-08-20 16:06:42 +08:00 |
|
chinboy
|
79319f93fc
|
fix(build): include AtomUI.Generator.props in package for localization support
|
2026-08-18 22:34:35 +08:00 |
|
chinboy
|
79584a7f8b
|
fix(build): update build scripts to ensure prerequisites are built before packaging
|
2026-08-18 22:15:08 +08:00 |
|
chinboy
|
a74cfcac43
|
fix(Packaging): include Extras in centralized release manifest
|
2026-08-18 16:43:11 +08:00 |
|
chinboy
|
0d3d9727c6
|
fix(AOT): restore sidecar delivery and narrow linked fallbacks
|
2026-08-17 23:07:14 +08:00 |
|
chinboy
|
9593bf1537
|
fix(AOT): bound linked registration analysis and static unit planning
|
2026-08-17 15:18:29 +08:00 |
|
chinboy
|
e957075dba
|
fix(Build): skip theme asset task without AXAML inputs
|
2026-08-16 15:50:25 +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
|
55622bfa4e
|
refactor(Localization)!: remove contract version encoding
|
2026-08-16 11:10:54 +08:00 |
|
chinboy
|
ca55fc175c
|
fix(Build): centralize generated artifact exclusions
|
2026-08-16 11:08:01 +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
|
b11be513e2
|
build(Localization): infer language contracts and trim manifest metadata
|
2026-08-16 10:51:25 +08:00 |
|
chinboy
|
b3f34cbe61
|
fix(Window): prevent native title bar flash on Wayland startup
|
2026-08-15 15:40:28 +08:00 |
|
chinboy
|
e80be2d802
|
feat(AOT): add compile-time registration for trimmed apps
|
2026-08-13 23:05:43 +08:00 |
|
chinboy
|
9dc3d80324
|
docs(Mobile): integrate mobile documentation navigation
|
2026-08-11 11:25:12 +08:00 |
|
chinboy
|
9917774993
|
docs(iOS): split platform guide and validation evidence
|
2026-08-11 11:25:12 +08:00 |
|
chinboy
|
6e81c13225
|
docs(Mobile): define mobile package and adapter boundaries
|
2026-08-11 11:25:11 +08:00 |
|
chinboy
|
957e7de590
|
docs(Mobile): add mobile runtime system architecture
|
2026-08-11 11:25: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
|
4391e14155
|
docs(Typography): define font subsystem architecture
新增 `docs/architecture/systems/typography/`,记录字体子系统的当前架构。此前字体只有
`docs/modules/fonts/overview.md` 一页概览,跨模块的契约、派生算法和边界没有正式所有者。
字体跨 `AtomUI.Core`、两个 `AtomUI.Fonts.*` 包、`AtomUI.Controls` 和消费控件,按文档分类规范
属于 `architecture/systems/`。核心结论是它由两条互不相干的轴组成:字体资源注册进 Avalonia
`FontManager`,与主题编译字号行高 Token,两者只在解析 `FontFamily` 字符串时汇合,没有任何代码
把它们对账。
按职责拆成六篇:overview 定位与两轴架构;font-packages 讲 `FontCollection` 与注册入口;
font-family-resolution 讲回退链、覆盖路径与注入时序;tokens-and-derivation 讲 23 个 Token 的
分级与 `e^(i/5)` 阶梯算法;consumption 讲 AXAML 与 C# 消费面和相对行高换算;verification 讲
AOT、兼容性、验证要求与已知不一致。
记录三处已确认的实现问题,均经源码核对:
- Compact 算法不压缩字号。`CalculateFontMapTokenValues` 以 `FontSize` 而非 `FontSizeSM` 为基数,
且第 1 档强制等于基数使重算幂等,因此 Compact 与 Default 的字体 Token 完全相同。上游 antd
compact 取 `fontSizeSM`,`FontSize = 14` 时应得 12 而非 14。共享派生函数里还留着上游那句
`// Smaller size font-size as base` 注释,位置已使其不再成立。
- 默认字体族首项 `fonts:AlibabaSans` 是前向引用。`AtomUI.Core` 不依赖字体包,`AtomUI.Controls`
的项目引用也不含 `AddFontCollection`;未注册时 Avalonia 静默回退,全程无诊断信号。
- 相对行高到绝对行高的换算在五个控件中各写一遍,无共享 helper,且必须同时监听行高与字号两个
属性才不会在字号变化后失配。
同步在 `docs/overview.md`、Architecture 与 systems 导航、主题系统导航和 Fonts 模块接入入口。
|
2026-08-10 14:25:44 +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
|
3f5cc5b56f
|
docs: standardize navigation releases and generated output
|
2026-08-10 09:57:22 +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
|
a43ea82e4b
|
docs(Localization): separate system module and reference docs
|
2026-08-10 09:02:52 +08:00 |
|