XFESystem C# 开发预览验收 V6(2026-10-14)
分支 codex/csharp-system,解决方案 XFESystem.slnx。本记录验证 C# 裸机迁移当前阶段,完整系统重构尚未完成。验收配置:BrowserPreview6.WebsiteMarkdownAndCSharp。
| 检查 | 结果 |
|---|---|
| 宿主单元/协议检查 | 702 项通过 |
| 独立宿主文档浏览器 | 通过;完整网站资源属于宿主验收 |
| 完整来宾启动和基线图形交互 | 13 组通过 |
| 完整来宾 HTTP、中文、JS、正文与失败恢复 | 10 组通过 |
| 完整来宾窗口、视觉与性能检查 | 28 组通过 |
| TCG 对照窗口检查 | 28 组;UI-only,不计作完整 HTTP/基线验收 |
| 独立 net10.0 DLL | 来宾 PE/IL、Console/ANSI/真实 XFEConsole 执行成功 |
| 原生分辨率与界面倍率 | 3840×2160,200% |
| 本轮 C# / Monaco 内存配置 | 1 GiB;512 MiB 完整编辑未通过,未计作达标 |
| 清理与完整性 | 验收 QEMU 退出 0,镜像各次前后 SHA256 一致 |
| NativeAOT 已知限制 | 100 项分析警告,未宣称无警告 |
内核 SHA256:bbb09ba1633773867dd990c9b8500e38e8662e0e1135c0faef6454febfdd6c39。
系统镜像 SHA256:c8ed90d08222dec50344f1c7aa00f251cf2c69a0a8cc960342859dd706617998。
托管示例 SHA256:18c82206daf11926a6a1f9a49207c6db140cf4cfe88fcda4fd053188e8cd68da。
WHPX 完整验收与 TCG UI-only 对照使用同一个 ELF 和逐字节相同的镜像。 宿主与来宾源码逐项核对,第二轮同时检查文件清单;唯一允许改变的是不参与编译的本报告后处理器,其最终哈希单列。串口、截图、受控 HTTP nonce 和详细结果见 JSON 的 Receipts。
绘制性能与刷新边界
绘制目标为 240 Hz。EDID 声明、驱动确认值、绘制目标与实际提交速度分别记录。稳态中位数和区间来自完整活动时间段;整窗速度另含尾部空闲,不代替稳态数据。
| 加速器 / 活动 | 稳态提交 FPS 中位数(区间) | 平均复制像素/帧 | 最近绘制 ms | 含空闲整窗 FPS |
|---|---|---|---|---|
| WHPX / 鼠标移动 | 234.76 (234.75–234.76) | 2291 | 0.011 | 176.33 |
| WHPX / 文档滚动 | 232.15 (230.52–233.78) | 76800 | 0.629 | 174.01 |
| WHPX / 窗口拖动 | 215.91 (208.16–223.66) | 1995936 | 2.550 | 162.17 |
| WHPX / 窗口缩放 | 230.16 (227.40–232.91) | 687573 | 1.527 | 172.57 |
| TCG / 鼠标移动 | 233.61 (233.48–233.74) | 2291 | 0.155 | 179.03 |
| TCG / 文档滚动 | 94.83 (94.48–95.17) | 76800 | 8.797 | 74.90 |
| TCG / 窗口拖动 | 44.20 (43.27–45.13) | 2002609 | 21.393 | 33.82 |
| TCG / 窗口缩放 | 47.99 (46.74–49.25) | 705277 | 20.642 | 37.50 |
以上为来宾渲染提交速度,不能据此判断物理屏幕扫描率。VSync 为 0,未保证最高刷新率同步输出;WHPX/TCG、QEMU 显示设备、GTK 与计时校准均可能影响可见结果。最近一次绘制耗时不是整段平均帧时间,复制像素也不是实际总线带宽。
实现与资产来源
内核及桌面使用 C# NativeAOT,复用固定 Cosmos 3.0.94 运行时、GC 与 HAL,没有使用 Linux/Windows 来宾内核。复用本项目 boot/uefi 的小型 Rust EFI 显示初始化助手后进入 Limine,助手 SHA256:347867c9676b4c9c6f5daddaeca7a1d532efa4d702b3df28155fee5326d946e6。 JSON 记录其实际源码、构建记录与产物哈希。
内置 Imagegen 生成9个透明原图,提示词、原图/Atlas哈希已核对;Atlas SHA256:9dc6aca9fb6adad070cf805c79553ec2846193dc000d31d1aa00066c374f1387。 每个原图的精确提示词和哈希保留在 GeneratedIcons 与资产目录。编译仅作确定性采样和 RGBA 打包,原始 PNG 未修改。
窗口支持拖动、双击最大化/还原、右下角调整大小、任务栏及开始菜单;Win 与 Alt+Tab 通过实际 make/break 输入验证。宿主系统仍可能截获未被虚拟机捕获的组合键。
本轮系统设置提供 Light/Dark、5个主题色及自定义 #RRGGBB。深色沿用 #09121B 背景、#102538 面板和 #285171 蓝色标题,终端默认 #75C9F5 / #0C1321。右上角只保留最小化与关闭;按钮、任务栏、文件列表、设置选项有悬停和按下反馈。窗口/线条在原生像素上抗锯齿,光标使用真实背景上的 alpha 光晕。配置写入 X:\System\Settings\Appearance.json,当前只保留于本次 RAM 会话。QEMU 默认最大化普通窗口并适配完整桌面;这会重采样宿主视口,来宾 framebuffer 仍为4K。-NativePixels 显式恢复1:1,窗口放不下时可裁切。PlanOnly证据不替代最终可见窗口确认。
本轮移除系统顶部栏,Settings 位于桌面及任务栏;最大化使用顶部空间。最小化/关闭悬停在180ms内平滑旋转,中途离开连续反向;原始PPM捕获了真实中间和反向帧。窗口拖动和缩放分别进行密集输入性能采样,settle后与Win+D完整重绘同状态帧比较,差异像素为0;Drag实际MotionReuses与MotionPixels大于0。交互auto核对同镜像TCG记录后使用TCG,因为本机历史WHPX+GTK在固件阶段超时而headless验收正常。显式whpx可选,其headless证明不算GTK启动证明。
本轮自研 CSS 布局、外部经典脚本和 DOM 事件在同镜像裸机来宾通过 12 组验收。官方 Monaco 0.52.2 已实际绘制 JavaScript 着色文字,鼠标/键盘输入后真实 getValue() 改变;截图像素、网络资源及模型前后值见 BrowserNative。宿主生产管线兼容探针另列,未借宿主浏览器代跑。没有完整 CSS/Web 平台、Worker、TypeScript 语言服务或原生 HTTPS。
C# 使用网站原 highlight.js、自定义 csharp.js 及从 code-style.css 派生的相同调色板提供 Monaco TokensProvider。真实模型、逐 span 色值、键盘编辑及编辑后原生着色帧另有独立验证。网站本身没有 Monaco;此适配器属于系统新增实现。
本轮 Markdown F5 预览已改为自研 Web 布局和原始网站 CSS/JS,实际原生来宾通过 4 组文档/着色/滚轮/行号按钮检查。 78 份来源快照逐项记录 SHA256,未改写原 CSS/JS。同尺寸、同设备倍率的 QEMU 原像素与网站文章组件 Chromium 参考图已对照,ExactPixelMatch=False,平均通道绝对误差=8.566190326633166。原始图、并排图和差分图见 WebsiteComparison。字体当前实际回退为 Lato/Cascadia Mono,Web 中文使用 Noto Sans SC 派生轮廓;完整 SVG、Web 字体、CSS 与栅格细节仍存在差异;本轮没有通过用户要求的完全一致验收。文档观察到的功能缺口:['The fixture diagram did not produce a Mermaid SVG']。
仍未完成的能力
程序集仅支持受限 XFESystem.Net10.ConsoleIL.v1,没有完整 CoreCLR、JIT 或 .NET Framework 4.8。文件为 RAM live,关机后消失;应用与内核共享地址空间。网页管线仍为有限子集,原生 HTTPS 尚未移植并明确拒绝;不会跳过证书验证。Markdown 已在真实来宾使用网站文章组件和脚本;DOM 生成不等于数学、SVG 与所有网站像素均已兼容,具体差异见上述实测。
上游异常展开尚缺完整 finally 语义。已验证的显式恢复路径不证明通用资源回收完成;NativeAOT/trimming 警告涉及未全面覆盖的动态/反射路径,当前验收不推广到任意程序集和浏览器功能。
实体 USB 输入、多显示器、原生 GPU/VSync、其他架构、完整账号及持久化仍需移植。未更新专用 U 盘,旧发行目录和镜像保留。