POLARISUI / DOCUMENTATION / 2.4.5

禁止商用。所有使用 PolarisUI 的应用都必须公开完整源码。查看许可条款

2.4.1 范围说明

本页内容

本次增加的是单通道 SDF 字体,不是 MSDF。四角三次贝塞尔使用 GPU 有界数值最近点搜索;全局 HIGH 是四子样本覆盖,不是硬件 MSAA 或整屏 AA。自定义 Painter 需实现新增扩展点才能获得这些能力。

Java 8 和 Java 21 目标共用 API 与源码。实际测试虚拟机是 JDK 21,不将 class 版本检查称为真实 JDK 8 VM 运行验证。Windows native 仅编译与结构检查,未做 Windows 实机测试。

下面原有高级能力范围仍适用:

当前版本的边界

这是完整目录覆盖、具备基础交互的预览版图形库,不是已经替代 Swing/JavaFX/Qt 全部行为的成熟桌面框架。

平台

发布 native 为 Windows x64 / Linux x64。所有代码以 Java 8 API/字节码为目标,但实际运行测试使用 OpenJDK 21。Windows DLL 已交叉编译、链接、核对 JNI 导出,尚未在 Windows 实机验证。没有 ARM、macOS 或 32 位发布文件。

Linux 预编译 .so 在当前环境依赖 glibc 2.34+。重建 native 可适配目标系统,但本次不宣称已验证旧发行版。常规窗口要求完整桌面 Java、X11/XWayland 和 GLX;宿主自行提供的 context 模式另有 EGL 测试。

图形

仅桌面 OpenGL 3.3+。输入是完整的、不透明且已 resolve 的 SDR framebuffer。中间纹理使用 RGBA8;不实现 HDR 色调映射、线性空间正确混合、透明层预乘修正、任意旋转/透视 UI 或任意路径裁剪。2.4.1 新增的是最多 32 层圆角/四角三次贝塞尔内容裁剪,具体见 CLIPPING-FIX.md。

当前原生后端每进程单实例。绘制上下文不能在调用期间跨线程迁移。未实现 GPU instancing、大型批量几何合并、原生多窗口 context 共享或离屏控件纹理缓存。

玻璃物理只做屏幕空间视觉近似,没有准确介质厚度、折射率或完整光线追踪。圆角、圆环、线段及边缘计算是 SDF;文字使用原生 DPI 灰度覆盖或单通道 SDF 字形图集,不是 MSDF;两种路径的取舍见 FONTS.md。

控件与交互

输入框可编辑、选中、撤销和使用剪贴板;没有自动软换行富文本、语法着色、完整 Unicode 双向布局/复杂连字、逐词语言分析或完善的辅助技术桥接。IME 代码路径已经提供,但没有 Windows 原生中文输入法实机端到端验证。

表格为字符串行列、单行选择、排序和对话框编辑单元格;没有电子表格公式、合并单元格、固定列、多单元格选区、列拖动/调整宽度、大型异步数据模型。列表/树/网格也以单选为基础。

菜单有子菜单,但目前打开子菜单会替换父菜单,不是同时显示多列的级联菜单。没有系统菜单栏或系统全局快捷键注册。KeyBindingField 只捕获/保存组合键。

Avatar 绘制姓名缩写,不读取照片。GridView 是文本瓦片;IconButton 用字符/简单图形表达图标,不提供图片解码/纹理资源管理器或 SVG 解析器。

文件/目录选择器是本库绘制的只读本地窗口:异步列出目录,上限 2000 项,支持父目录、根目录、路径输入和选择结果。没有保存文件、覆盖确认、创建/删除/重命名、缩略图、搜索整个磁盘或文件类型过滤规则。个别路径合法性检查仍调用文件系统 API,网络挂载的所有操作不能保证零阻塞。

Theme 是 Ui 全局样式参数,没有 CSS 风格层叠、主题动画、每个控件完整可视状态样式表或视觉设计器。布局提供四种常见形式,而非通用约束求解器。

安全和数据

密码框隐藏显示并阻止复制/剪切,不等于加密存储;其值仍是 Java String。库不是验证、授权、账号或文件权限系统。

示例不联网、不上传、不收集遥测。选中的本地文件只返回 Path,并不自动读取内容。业务保存、远程请求等由调用者明确编写。

测试解释

120 逻辑检查、32 真实窗口交互检查、16 GPU/宿主集成检查,以及八页实际渲染,证明这些被测路径在记录环境中工作。不能据此认定所有驱动、输入法、平台或大规模数据下都没有问题。

测试使用 Mesa llvmpipe 软件 OpenGL,不是硬件显卡性能基准。实现把 SDF、模糊等算法交给着色器,不代表本次执行时使用了物理 GPU。

2.1 仍然有效的限制

新增动效不代表完整桌面无障碍桥接,也不自动读取各系统的减少动画配置;调用方可设置 Theme.reducedMotion。字体是改进的系统字形图集,不是 MSDF,不引入完整的复杂脚本 shaping。没有宣称 Apple / LiquidBounce 原生代码级一致。Windows DLL 与 Java 8 VM 的实际运行范围仍以 TEST-REPORT 为准。

2.4.1 本次重新运行的检查和平台范围以根目录 TEST-REPORT.md 为准,文中较早的数量是历史版本记录。

2.4.3 光学边界

色散不是偏移三张完整控件图像,也不是生成彩虹边框。它使用清晰背景的 RGB 通道差,去除在当前 SDR 采样值空间中的加权亮度分量,再限定色度贡献到颜色范围内;这不是线性光空间的精确光谱传播。纯色背景没有相邻色差,因此没有可观察的色散,这是预期结果。

默认 .85 逻辑像素是每侧通道偏移,DPI 翻倍时物理偏移相应改变。高光保留 d=0 轮廓,不是保证所有背景、颜色和字号下都具有相同视觉强度。新增与回归验证均见当前 TEST-REPORT。

依据 SDK 2.4.5 随包文档 docs/LIMITATIONS.md 整理。历史版本说明保留原记录;品牌为 PolarisUI,当前 API 包名为 polaris.sdk.ui。