2.4.5 材质模板 — 实际验证记录
2026-10-04 包名迁移验证
当前发行物已使用 polaris.sdk.ui。Java 8 / 21 目标分别完成 11 组逻辑测试,各 637 条断言;99 个公开类在两目标间一致,且与改名前 SDK 对比仅包名变化。21 个示例均编译通过;Windows DLL 与 Linux SO 各有 15 个匹配新包名的 JNI 导出。验证脚本和结果位于 tests/verify-namespace.ps1 与 tests/results/package-migration/。
运行环境为 Windows、本机 JDK 27、NVIDIA GeForce RTX 2060。两个目标均完成真实 JNI 加载、OpenGL 绘制和 framebuffer 读取;并非分别在 Java 8 / 21 虚拟机上测试。Linux 原生库已交叉编译,未在 Linux 上运行验证。以下章节保留原 2.4.5 发布时的历史记录,其中“未修改”“未进行 Windows 实机测试”仅指当时的材质模板更新,不代表本次包名迁移。
本次实现范围
新增 MaterialPreset 枚举和设置面板里的 Morden、LiquidGlass、Normal 模板按钮,按请求精确写入八个值。模板/旧预设行响应式换行,preferredHeight 与实际布局共用尺寸计算。增加完整 MaterialPresets 示例与相关 API 文档。
原有 GLSL、native 源码和二进制、绘制协议、字体缓存、动画与六个应用场景源码都没有修改;原文件哈希由 tests/baseline-2.4.4.json 核对。旧有 Java 文件除设置面板外,只有 Main、Gallery、DesktopWindow 中的版本标识更新。
执行环境
OpenJDK 21.0.11,Linux x64,Mesa 25.0.7-2 / llvmpipe / LLVM 19.1.7。实际窗口为 Xvfb / OpenGL 3.3 Compatibility,离屏宿主测试采用已有 EGL / OpenGL 3.3 Core 路径。
同一源码分别以 --release 8 / --release 21 编译,class major 52 / 65;两个目标的公开 Java API 逐项核对。Java 8 目标在 OpenJDK 21 中运行,不将这个结果描述为 Java 8 VM 实机验证。未进行 Windows 实机或硬件显卡性能测试。
本次实际完成的检查
| 测试 | 断言数 | 范围 |
|---|---|---|
| MaterialPresetTest | 62 | 三组各八项精确值、标签原样、深浅色、16 个编辑器同步、focused numeric 覆盖、继续手调、恢复预设、不同宽度/gap 布局 |
| MaterialPresetWindowTest | 16 | 真实鼠标点击三模板、模型同步、实际 framebuffer 像素差异、主题/页面切换、窗口缩放及正常释放 |
| run-logic.sh | 120 | 原控件基础状态、输入、导航和事件回归 |
| run-stepper.sh | 46 | 横向加减、数字编辑与间距 |
| run-clip-fix.sh | 46 | 布局与真实 GPU 圆角内容裁剪 |
| run-material-settings.sh | 75 | 41 模型、7 GPU、27 真实窗口:原滑杆/输入、模糊、网格、参数保留 |
| run-edge-settings.sh | 31 | 20 模型、11 真实窗口:高光/色散控制及像素响应 |
| run-scenes.sh | 227 | 六场景原有状态与不同宽度下的布局回归 |
合计 623 项断言。断言数不是完整业务流程数,不代表全部控件在所有平台穷举通过。窗口测试为实际鼠标/键盘事件;像素截图来自真实 OpenGL framebuffer,不是静态演示图。
对应日志位于 tests/results/2.4.5/。旧版本报告在 docs/TEST-REPORT-2.4.4.md,旧日志仍作为历史记录保留,不把旧结果加入上面的当前计数。
特别核对
Normal 的参数为 sigma=0、refraction=0、dispersion=0、opacity=1、shine=1.5、blur=0、tint=1、selectedTint=1;没有擅自把高光归零。
LiquidGlass 的 sigma=1.5 是浮点值,不截断成 1,也不被开关的默认 sigma 覆盖。Morden 的拼写保持原样。
模板选择不会改网格/动画开关、不会重置场景、不会更换主题配色。控件继续使用原来的 tint、动画与贝塞尔裁剪实现。模板应用后的输入框和滑杆仍可单独调整。
产物验证
双目标 library/demo/source/Javadoc JAR、21 个完整示例源文件、中文 HTML/Markdown、Java/GLSL/C 源码与离线构建脚本已同步。所有示例重新用两版最终 library JAR 编译。Javadoc 从真实源码生成,移除 JDK 工具可能附带的字体二进制。
最终 ZIP 重新解压后构建两目标,再使用最终 demo JAR 启动;新 MaterialPresets 示例通过最终库 JAR 启动。日志和结构校验结果放在同目录;SHA256SUMS.txt 提供八个 JAR 的哈希。
未覆盖
没有真实 Java 8 VM、Windows 实机、macOS/ARM 或独立显卡性能测试。Maven/MSVC 等未执行路径没有借本次离线 JDK 构建冒称通过。Normal 仍使用同一着色器并按请求保留高光,不是新增另一套无玻璃绘制后端。