Files
MapLibreParticleLab/docs/报告/STEP-000_环境初始化_完成报告_v1.md
OpenAI Codex ea5b8f9d7f
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
chore: freeze MapLibreParticleLab step 0 baseline
2026-08-28 16:38:16 +08:00

2.4 KiB
Raw Permalink Blame History

STEP-000 环境初始化完成报告 v1

结论

MapLibreParticleLab Linux / Android 主开发环境已完成建立,可以进入粒子系统开发阶段。

主开发环境

  • Ubuntu 24.04 LTS
  • x86_64
  • 4 CPU 线程
  • 约 8 GB RAM
  • 默认编译并行度:3

Git

  • 正式开发分支:particle/main
  • upstream:MapLibre 官方 GitHub
  • origin:用户 Gitea
  • upstream 只用于读取官方更新
  • git rerere 用于长期 Fork 冲突复用

MapLibre 基线

  • Android:android-v13.4.1
  • iOS:ios-v6.28.0
  • Android/iOS 使用共同 MapLibre Native core 基线
  • 实际 commit 以根目录 PARTICLE_BASELINE.md 为准

Linux Native 验证

已通过:

  • CMake linux-opengl configure
  • Linux OpenGL backend
  • mbgl-render
  • mbgl-render-test-runner

Android OpenGL

已成功生成:

platform/android/MapLibreAndroid/build/outputs/aar/MapLibreAndroid-opengl-debug.aar

包含:

  • arm64-v8a/libmaplibre.so
  • armeabi-v7a/libmaplibre.so
  • x86/libmaplibre.so
  • x86_64/libmaplibre.so

结论:PASS。

Android Vulkan

已成功生成:

platform/android/MapLibreAndroid/build/outputs/aar/MapLibreAndroid-vulkan-debug.aar

包含:

  • arm64-v8a
  • armeabi-v7a
  • x86
  • x86_64

四种 ABI 的 libmaplibre.so。

Debug AAR 同时包含对应的 Khronos Vulkan Validation Layer。

结论:PASS。

Android SDK

已确认:

  • ANDROID_HOME=/root/Android/Sdk
  • Android Platform Tools 可用
  • NDK 28.2.13676358 可用
  • platform/android/local.properties 已配置
  • render-test/android/local.properties 已配置

已修正的问题

Linux preset 构建目录

实际 CMake preset 输出:

build-linux-opengl

构建工具已统一使用该目录,不再错误引用 build。

Android SDK 定位

Gradle 工程同时使用 ANDROID_HOME 和本机 local.properties,避免新 shell 或 Codex 环境找不到 SDK。

Codex 开发规范

已建立:

  • AGENTS.md
  • 中文构建规范
  • 中文 Codex 协作规范
  • Step 阶段记录规范
  • 文档目录与命名规范
  • Git/upstream 同步规范
  • 粒子总体架构原则
  • docs/报告/ 固定完成报告目录

STEP-000 状态

完成并冻结。

下一阶段:

STEP-001:MapLibre Native 粒子接入点只读调查。

STEP-001 暂不实现正式 RasterParticleLayer,先调查 Style / Source / Tile / RenderLayer / gfx / Shader / OpenGL / Vulkan / Metal 的最小接入点。