返回提交历史
Modified
README.md
+2
-0
Added
assets/branding/README.md
+16
-0
Added
assets/branding/export-icons.ps1
+58
-0
Added
assets/branding/png/xfesystem-128.png
+0
-0
Added
assets/branding/png/xfesystem-16.png
+0
-0
Added
assets/branding/png/xfesystem-24.png
+0
-0
Added
assets/branding/png/xfesystem-256.png
+0
-0
Added
assets/branding/png/xfesystem-32.png
+0
-0
Added
assets/branding/png/xfesystem-48.png
+0
-0
Added
assets/branding/png/xfesystem-512.png
+0
-0
Added
assets/branding/png/xfesystem-64.png
+0
-0
Added
assets/branding/prompt.txt
+1
-0
Added
assets/branding/xfesystem-icon.png
+0
-0
Added
assets/branding/xfesystem.ico
+0
-0
XFEstudio/XFESystem
Add XFESystem icon and branding assets
7a87cf0
代码差异
14 个文件
+77
-0
@@ -1,5 +1,7 @@
1
1
# XFESystem
2
2
3
<img src="assets/branding/xfesystem-icon.png" alt="XFESystem icon" width="128">
4
3
5
XFESystem 是使用 Rust 和少量汇编编写的独立命令行操作系统。内核、用户地址空间、系统调用、VirtIO 驱动和 XFE ABI 均由本项目实现;引导使用 Limine,网络协议使用 smoltcp,用户态 HTTPS 使用 Mbed TLS。
4
6
5
7
`v0.1.0` 已完成限定 QEMU 平台的双架构首版验收:74 项宿主检查通过,x86_64 与 ARM64 各通过 21 组真实来宾验收,覆盖进程隔离、抢占、内存回收、文件持久化、账号权限、网络、HTTPS 和程序导入。结果及限制见 [验收报告](docs/validation.md)。这是实验性系统,支持范围以本文平台配置和明确边界为准。
@@ -0,0 +1,16 @@
1
# XFESystem 图标
2
3
图标以相互交叠的几何 X 表现模块与系统层次,采用透明背景。
4
5
- `xfesystem-icon.png`:内置图像生成工具输出的原始 PNG。
6
- `xfesystem.ico`:Windows 图标,包含 16、24、32、48、64、128、256 像素尺寸。
7
- `png/`:上述尺寸及 512 像素 PNG,保留透明通道。
8
- `prompt.txt`:生成时使用的完整提示词。
9
10
仅进行尺寸导出及 ICO 封装,没有重新绘制原图。Windows 下可重建导出文件:
11
12
```powershell
13
powershell -NoProfile -ExecutionPolicy Bypass -File assets/branding/export-icons.ps1 -Replace
14
```
15
16
当前在项目 README 中引用图标;本次未重新打包已有系统发行镜像。
@@ -0,0 +1,58 @@
1
param([switch]$Replace)
2
$ErrorActionPreference = 'Stop'
3
Add-Type -AssemblyName System.Drawing
4
$source = Join-Path $PSScriptRoot 'xfesystem-icon.png'
5
$pngDirectory = Join-Path $PSScriptRoot 'png'
6
$sizes = @(16, 24, 32, 48, 64, 128, 256, 512)
7
$ico = Join-Path $PSScriptRoot 'xfesystem.ico'
8
$destinations = @($ico) + @($sizes | ForEach-Object { Join-Path $pngDirectory "xfesystem-$_.png" })
9
if (!$Replace) {
10
foreach ($destination in $destinations) {
11
if (Test-Path -LiteralPath $destination) { throw "Export exists: $destination. Use -Replace to regenerate exports." }
12
}
13
}
14
New-Item -ItemType Directory -Path $pngDirectory -Force | Out-Null
15
$image = [Drawing.Bitmap]::new($source)
16
try {
17
foreach ($size in $sizes) {
18
$bitmap = [Drawing.Bitmap]::new($size, $size, [Drawing.Imaging.PixelFormat]::Format32bppArgb)
19
try {
20
$graphics = [Drawing.Graphics]::FromImage($bitmap)
21
try {
22
$graphics.Clear([Drawing.Color]::Transparent)
23
$graphics.CompositingMode = [Drawing.Drawing2D.CompositingMode]::SourceCopy
24
$graphics.InterpolationMode = [Drawing.Drawing2D.InterpolationMode]::HighQualityBicubic
25
$graphics.PixelOffsetMode = [Drawing.Drawing2D.PixelOffsetMode]::HighQuality
26
$graphics.DrawImage($image, [Drawing.Rectangle]::new(0, 0, $size, $size))
27
} finally { $graphics.Dispose() }
28
$bitmap.Save((Join-Path $pngDirectory "xfesystem-$size.png"), [Drawing.Imaging.ImageFormat]::Png)
29
} finally { $bitmap.Dispose() }
30
}
31
} finally { $image.Dispose() }
32
33
# Windows ICO container, with lossless PNG payloads including their alpha.
34
$icoSizes = @($sizes | Where-Object { $_ -le 256 })
35
$payloads = @($icoSizes | ForEach-Object { ,([IO.File]::ReadAllBytes((Join-Path $pngDirectory "xfesystem-$_.png"))) })
36
$stream = [IO.File]::Open($ico, [IO.FileMode]::Create, [IO.FileAccess]::Write)
37
$writer = [IO.BinaryWriter]::new($stream)
38
try {
39
$writer.Write([uint16]0)
40
$writer.Write([uint16]1)
41
$writer.Write([uint16]$icoSizes.Count)
42
$offset = 6 + 16 * $icoSizes.Count
43
for ($index = 0; $index -lt $icoSizes.Count; $index++) {
44
$size = $icoSizes[$index]
45
$dimension = if ($size -eq 256) { 0 } else { $size }
46
$writer.Write([byte]$dimension)
47
$writer.Write([byte]$dimension)
48
$writer.Write([byte]0)
49
$writer.Write([byte]0)
50
$writer.Write([uint16]1)
51
$writer.Write([uint16]32)
52
$writer.Write([uint32]$payloads[$index].Length)
53
$writer.Write([uint32]$offset)
54
$offset += $payloads[$index].Length
55
}
56
foreach ($payload in $payloads) { $writer.Write([byte[]]$payload) }
57
} finally { $writer.Dispose(); $stream.Dispose() }
58
Write-Host "PNG sizes: $($sizes -join ', '); Windows icon: $ico"
二进制文件已变更,无法进行逐行预览。
二进制文件已变更,无法进行逐行预览。
二进制文件已变更,无法进行逐行预览。
二进制文件已变更,无法进行逐行预览。
二进制文件已变更,无法进行逐行预览。
二进制文件已变更,无法进行逐行预览。
二进制文件已变更,无法进行逐行预览。
二进制文件已变更,无法进行逐行预览。
@@ -0,0 +1 @@
1
Use case: logo-brand. Asset type: final operating-system app icon for XFESystem, square 1024 x 1024 composition. Create one original, polished, distinctive icon: a bold geometric X built from interlocking modular bands, subtly suggesting the layered kernel and multiple architectures of an independent operating system. Contemporary precision, confident balanced silhouette, restrained luminous accents and dark tonal depth, excellent contrast and recognition when reduced to small desktop sizes. Front-facing centered symbol with generous even safety margins. A clean coherent mark, premium finish, restrained dimensionality, crisp edges, no fine circuit traces or tiny decorative elements. True transparent background outside the mark. No letters or words besides the X-like symbol; no captions, watermark, mockup, sample grid, presentation sheet, or existing company's logo. Output a single finished icon.
二进制文件已变更,无法进行逐行预览。
二进制文件已变更,无法进行逐行预览。