diff --git a/docs/50_Step记录/STEP-042_Android粒子Validation测试界面紧凑化_v1.md b/docs/50_Step记录/STEP-042_Android粒子Validation测试界面紧凑化_v1.md new file mode 100644 index 000000000..e5b51e362 --- /dev/null +++ b/docs/50_Step记录/STEP-042_Android粒子Validation测试界面紧凑化_v1.md @@ -0,0 +1,23 @@ +# STEP-042 Android 粒子 Validation 测试界面紧凑化 + +- 状态:`完成` +- 前置:40-02 为 `IMPLEMENTED / WAITING FOR ANDROID VALIDATION`。 +- 目标:只缩小 `Particle Core Layer Validation` 的控制区,扩大 MapView/粒子观察区;不改变任一粒子业务或按钮 action。 +- 实现提交:`f4d519ca789c0488d6b9d8259427ac070b15eb63`(`ui: compact particle validation controls`)。 + +## 已实现 + +- 底部控制区从 7 个默认高度行收为 4 行,每行 34dp;状态行 36dp,外侧 padding 4dp,总高度约 180dp。 +- 全部 16 个现有 button ID 与 Activity click binding 保留,按 Field/时间片、Mix/Runtime、Enable/Mask、地理场景重新分组。 +- 状态文字改为单行紧凑表达:mask、ACTIVE/STATIC/DISABLED、Field/T0/T1 与 mix;不读取或新增 Core 状态。 +- MapView 继续全屏布局,控制区压缩直接将空间归还给地图/粒子显示。 + +## 检查与边界 + +- 16 个 XML button ID 与现有 Kotlin binding 静态对应检查:通过。 +- Java 17 标准 XML parser、16 个 button ID/binding 核对与 `git diff --check`:通过;未运行 Android Gradle/ADB/设备。 +- 禁止修改项均未触及:C++ Core、shader、GPU Field、simulation、trail、composite、mask、ABI 与 Gradle 均未修改。 + +## 当前结果与下一步 + +状态应为 `IMPLEMENTED / WAITING FOR ANDROID UI VALIDATION`。用户需以横屏 Android OpenGL APK 验收 UI-1 至 UI-5;通过前不得标记 PASS。 diff --git a/docs/报告/40-02A_Android粒子Validation测试界面紧凑化_Codex完成报告_v1.md b/docs/报告/40-02A_Android粒子Validation测试界面紧凑化_Codex完成报告_v1.md new file mode 100644 index 000000000..b4d0a74c3 --- /dev/null +++ b/docs/报告/40-02A_Android粒子Validation测试界面紧凑化_Codex完成报告_v1.md @@ -0,0 +1,41 @@ +# 40-02A Android 粒子 Validation 测试界面紧凑化 Codex 完成报告 v1 + +## 结论 + +代码阶段完成,当前状态为 `IMPLEMENTED / WAITING FOR ANDROID UI VALIDATION`。 + +- 实际开始 HEAD:`00b3510ddb0ee6439f3a2392dcbd391cd5f2c7e0`(`docs: record 40-02 implementation`)。 +- 实际完成实现 HEAD:`f4d519ca789c0488d6b9d8259427ac070b15eb63`(`ui: compact particle validation controls`);本报告作为紧随其后的文档收尾提交。 + +## 修改 + +- `ParticleCoreLayerValidationActivity.kt`:只将长状态说明替换为单行紧凑状态,显示 mask、运行状态、EAST/NORTH 或 T0/T1 与 mix;所有 action/callback 未改。 +- `activity_particle_core_layer_validation.xml`:底部控制区由 7 行收为 4 行。状态行 36dp,控制行 34dp,padding 从 12dp 降为 4dp;MapView 继续全屏作为底层主观察区。 +- `styles_particle_validation.xml`:集中定义 32dp minimum-height、11sp、零 padding 的紧凑按钮样式。 + +原布局约为 7 个默认 48dp 按钮行加 12dp padding,容易超过 350dp;新控制区约为 36dp + 4×34dp + 8dp padding,即约 180dp。横屏中额外空间全部回到 MapView/粒子区域。 + +## 保留功能 + +UNIFORM EAST、UNIFORM NORTH、T0 EAST/T1 NORTH、ADVANCE B→C、MIX 0/50/100、ACTIVE、STATIC、DISABLE、ENABLE、GLOBAL、OCEAN A、OCEAN B、DATELINE、WORLD WRAP 均保留原 XML ID 和 Kotlin click binding。 + +未修改任何粒子 Core、shader、GPU Field、timeMix、Simulation、Trail、Composite、Mask、Camera/transform、ABI 或 Gradle 文件。 + +## 检查与验证 + +- 16 个现有 button ID 与 Kotlin `R.id` binding 的静态逐项核对:通过。 +- `git diff --check`:通过。 +- Java 17 标准 XML parser:通过。 +- 按任务限制未运行 Android Gradle、APK、ADB、VM 或实机。 + +## 用户手工验收 + +```bash +./gradlew :MapLibreAndroidTestApp:assembleOpenglDebug --console=plain +adb -s 192.168.1.146 install -r platform/android/MapLibreAndroidTestApp/build/outputs/apk/opengl/debug/MapLibreAndroidTestApp-opengl-debug.apk +adb -s 192.168.1.146 shell am start -n org.maplibre.android.testapp/.activity.particle.ParticleCoreLayerValidationActivity +``` + +横屏检查 UI-1 至 UI-5:地图明显扩大;控制区缩小且所有 16 项按钮均可见、可点、不重叠、不裁切;逐项点击后确认原 40-02 行为不变。 + +已知限制:未做 Android 设备布局测量,最终安全区、系统导航栏和实际文字裁切需由用户验收。确认前不能判 `CLOSED / PASS`。 diff --git a/粒子开发记录.md b/粒子开发记录.md index e3a2a4bd4..b1d5390e8 100644 --- a/粒子开发记录.md +++ b/粒子开发记录.md @@ -231,3 +231,10 @@ - Android Test App 增加 T0 EAST/T1 NORTH、MIX 0/50/100 与 ADVANCE B→C 入口,原 ACTIVE/STATIC、GLOBAL/OCEAN、Camera、wrap/antimeridian 入口保留。 - Linux OpenGL 受影响 Core/source-test object、shader generator、C++ format 和 diff check 已通过;未执行 Android Gradle、ADB 或设备操作。40-02 当前只能标记 `IMPLEMENTED / WAITING FOR ANDROID VALIDATION`,T1–T10 手工 Android OpenGL 验收后才能判 PASS。 - 实现提交为 `4675a8a29dd6fc7b684bfb64913a8c9075ad8583`(`feat: add GPU particle time interpolation`);文档收尾提交另行记录,均只面向 40-02。 + +## 2026-09-02 — 40-02A Android Validation 测试界面紧凑化(代码阶段) + +- 仅调整 Android Test App 的 `Particle Core Layer Validation` UI:底部控制区从 7 个默认大按钮行压缩为 4 行,状态行 36dp、控制行 34dp、padding 4dp,MapView 保持全屏并获得更多粒子观察区域。 +- EAST/NORTH、T0/T1、ADVANCE、MIX、ACTIVE/STATIC、DISABLE/ENABLE、GLOBAL/OCEAN、DATELINE/WORLD WRAP 的 16 个既有 ID/click binding 均保留;状态改为单行 mask/runtime/field/mix 表达,不改变 40-02 业务语义。 +- 未修改 C++ Core、shader、GPU、simulation、trail、composite、mask、Gradle 或 ABI。静态 ID/binding 核对与 diff check 通过;未运行 Android Gradle、ADB 或设备。状态为 `IMPLEMENTED / WAITING FOR ANDROID UI VALIDATION`。 +- 实现提交为 `f4d519ca789c0488d6b9d8259427ac070b15eb63`(`ui: compact particle validation controls`);文档收尾提交另行记录。