# XFESystem C# 终端模型 `TerminalBuffer` 是图形终端使用的纯 C# 文本模型,目标为 `net10.0`,不调用宿主窗口、文件或网络。`TerminalTextWriter` 把 `TextWriter` 输出串行写入模型;渲染器使用 `Snapshot()` 的独立单元格副本。 ```csharp var terminal = new TerminalBuffer(100, 30); using var writer = new TerminalTextWriter(terminal); writer.WriteLine("\u001b[38;2;117;201;245mXFESystem\u001b[0m"); var snapshot = writer.Snapshot(); var cell = snapshot.GetCell(0, 0); // cell.Text == "X"; cell.Style.Foreground.Hex == "#75C9F5" ``` 目前支持 16 色、256 色、24 位 RGB 前景/背景,SGR 样式与独立重置;CR/LF/BS/Tab;光标定位与移动、保存恢复、清行清屏、插入删除字符/行、滚动区域、自动换行与备用屏幕。转义和 UTF-16 代理对可以在任意写入边界拆分。中文等宽字符占两格,组合符附着于前一字符;复杂 Emoji 字素序列尚未实现完整 Unicode 字素分割。 默认主题前景为 `#75C9F5`,背景为 `#0C1321`。调色板采用 xterm 16 色、6×6×6 色立方和灰阶;`.NET ConsoleColor` 的枚举顺序与 ANSI 调色板顺序不同,`TerminalColor.FromConsoleColor` 显式转换二者。 OSC/DCS 内容只被丢弃,不执行标题、超链接、剪贴板、文件或设备操作。CSI 参数长度、屏幕单元格及历史行数有界;传输结束调用 `Complete()` 丢弃未完成转义并替换残缺代理项。 此模型不会自动接管 `Console.ForegroundColor` 等运行时 PAL 调用。裸机运行时需要把该 API 的颜色状态连接到输出/渲染器;`ConsoleDemoScenario.RunSystemConsoleColors()` 用于单独验证真实 PAL。 测试: ```powershell dotnet test Tests/XFESystem.Console.Tests/XFESystem.Console.Tests.csproj dotnet run --project Samples/XFESystem.ConsoleDemo -- --Verify build/CSharp/ConsoleDemo/HostVerification.json ``` 宿主测试通过不代表任意 `.NET .dll` 已能被 XFESystem 装载。独立 CLR 装载、JIT、进程隔离和所有 BCL API 需要各自验收。